(57)【要約】【課題】複数のユニットにそれぞれ搭載された互いに容量の異なる複数のメモリに対するアクセスを単一のＣＰＵで行うこと。【解決手段】紙幣リサイクル装置１は、ユニットＵ１，Ｕ２’，Ｕ３，Ｕ４−１〜Ｕ４−４と、メモリｍ１，ｍ２’，ｍ３〜ｍ７と、単一のＣＰＵ２１と、ＦＰＧＡ２５とを有する。メモリｍ１，ｍ３〜ｍ７は、ユニットＵ１，Ｕ３，Ｕ４−１〜Ｕ４−４のそれぞれに搭載され、メモリｍ２’はユニットＵ２’に搭載される。メモリｍ１，ｍ３〜ｍ７の容量は１ｋバイトであり、メモリｍ２’の容量は１Ｍバイトである。ＣＰＵ２１は、メモリｍ１，ｍ２’，ｍ３〜ｍ７に対してＩ２Ｃバス２３を介してアクセスを行う。ＦＰＧＡ２５は、ＣＰＵ２１によるメモリｍ２’へのアクセス時に、ＣＰＵ２１から出力された１ｋメモリ用アドレスを１Ｍメモリ用アドレスに変換する。【選択図】図７
2016118979.tif 000002
【特許請求の範囲】
【請求項１】
複数のユニットと、
前記複数のユニットのそれぞれに搭載された複数のメモリであって、第一の容量の第一メモリと、前記第一の容量と異なる第二の容量の第二メモリとを含む前記複数のメモリと、
前記複数のメモリに対してＩ２Ｃバスを介してアクセスを行う単一のＣＰＵと、
前記単一のＣＰＵによる前記第二メモリへのアクセス時に、前記単一のＣＰＵから前記Ｉ２Ｃバスへ出力された第一アドレスであって、第一のフォーマットを採る前記第一アドレスを、前記第二の容量に関連付けられた第二のフォーマットを採る第二アドレスに変換する変換器と、
を具備する媒体取扱装置。
【請求項２】
前記第一アドレスは、前記第一の容量に関連付けられた第一のビット数を有する第一ワードアドレスを含み、
前記第二アドレスは、前記第二の容量に関連付けられた第二のビット数を有する第二ワードアドレスを含み、
前記変換器は、前記第一ワードアドレスを前記第二ワードアドレスに変換する、
請求項１に記載の媒体取扱装置。
【請求項３】
前記第一アドレスは、前記第一の容量に関連付けられた第一のビット数を有する第一スレーブアドレスを含み、
前記第二アドレスは、前記第二の容量に関連付けられた第二のビット数を有する第二スレーブアドレスを含み、
前記変換器は、前記第一スレーブアドレスを前記第二スレーブアドレスに変換する、
請求項１に記載の媒体取扱装置。
【請求項４】
前記変換器は、前記複数のユニットのうち前記第二メモリが搭載されたユニットに搭載される、
請求項１に記載の媒体取扱装置。
【請求項５】
前記第一アドレスは、デバイスコードを含み、
前記単一のＣＰＵは、前記デバイスコードを、前記第一の容量に関連付けられた第一デバイスコード、または、前記第二の容量に関連付けられた第二デバイスコードに設定し、
前記変換器は、
前記デバイスコードが前記第一デバイスコードであるときは、前記第一の容量に関連付けられた第一のビット数を有する第一ワードアドレスを含む前記第一アドレスを、前記第二の容量に関連付けられた第二のビット数を有する第二ワードアドレスを含む前記第二アドレスに変換するワードアドレス変換を行い、
前記デバイスコードが前記第二デバイスコードであるときは、前記ワードアドレス変換を行わない、
請求項１に記載の媒体取扱装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、媒体取扱装置に関する。
【背景技術】
【０００２】
紙幣等の媒体を取り扱う媒体取扱装置の一つとして、例えば、紙幣リサイクル装置がある。紙幣リサイクル装置は、紙幣入出金口から投入された紙幣の金種、記番号及び真贋等を鑑別する紙幣鑑別機、金種別に紙幣を収納する複数のカセット、及び、入金された紙幣を一時的に集積するプール部等を備える。例えば、紙幣リサイクル装置は、入金時には、紙幣鑑別機での鑑別後の紙幣を一旦プール部に集積し、入金された紙幣に偽札が含まれていない場合は、プール部に集積した紙幣を金種に応じたカセットに収納する一方で、入金された紙幣に偽札が含まれている場合は、プール部に集積した紙幣を紙幣入出金口に返却する。また、例えば、紙幣リサイクル装置は、出金時には、顧客に指定された出金額に応じて各カセットから紙幣を取り出して一旦プール部に集積後、集積した紙幣を紙幣入出金口から出金する。このようにして、紙幣リサイクル装置では、入金された紙幣が、出金用の紙幣としてリサイクルされる。
【０００３】
紙幣リサイクル装置には、メンテナンスや故障時の修理を容易にするために、複数のユニットに分割された構造を為すものがある。例えば、紙幣リサイクル装置は、紙幣入出金口を含む「紙幣入出金ユニット」、紙幣鑑別機を含む「鑑別ユニット」、プール部を含む「プールユニット」、及び、カセットを含む「カセットユニット」等にユニット化されている。
【０００４】
また、ユニット化された紙幣リサイクル装置には、各ユニット毎にメモリを搭載し、各ユニットの製造情報や稼働実績等のデータを記録できるようになっているものがある。また、各ユニット毎にメモリを搭載する紙幣リサイクル装置には、複数のユニットを単一のＣＰＵ（Central  Processing  Unit）で制御するものがある。
【０００５】
また、ＣＰＵによるメモリのアクセス制御には、シリアル通信が用いられることが多く、例えば、Ｉ２Ｃ（Inter-Integrated  Circuit，I-squared-C）規格またはＳＰＩ（Serial  Peripheral  Interface）規格のシリアル通信が用いられる。
【０００６】
Ｉ２Ｃ規格において、メモリへのアクセスを行うためのアドレスは、「デバイスアドレス」と「ワードアドレス」とから形成される。また、「デバイスアドレス」は、「デバイスコード」と「Ｒ／Ｗ要求」とを含む。「デバイスアドレス」は、メモリの容量に応じて、「スレーブアドレス」及び「ページアドレス」の双方または一方を含む。デバイスアドレスは８ビット、デバイスコードは４ビット、Ｒ／Ｗ要求は１ビットである。Ｒ／Ｗ要求は、ライト要求の場合は「０」に設定され、リード要求の場合は「１」に設定される。８ビットのデバイスアドレスのうち、３ビットがスレーブアドレスとページアドレスとによって使用可能である。
【０００７】
Ｉ２Ｃ規格において、メモリ容量と、スレーブアドレス、ページアドレス及びワードアドレスの各アドレスのビット数との対応関係は図１に示すようになっている。図１は、Ｉ２Ｃ規格における各アドレスのビット数を示す図である。Ｉ２Ｃ規格において、制御対象がシリアルＥＥＰＲＯＭ（Electrically  Erasable  Programmable  Read-Only  Memory）である場合は、デバイスコードは一律に「１０１０」に設定される。これに対し、例えば、制御対象のメモリの容量が１ｋバイトである場合は、スレーブアドレスが３ビット、ページアドレスが０ビット、ワードアドレスが８ビットで形成される一方で、制御対象のメモリの容量が１Ｍバイトである場合は、スレーブアドレスが２ビット、ページアドレスが１ビット、ワードアドレスが１６ビットで形成される。このように、スレーブアドレス、ページアドレス及びワードアドレスの各アドレスのビット数（つまり、アドレスのフォーマット）は、メモリの容量に関連付けられている。以下では、容量が１ｋバイトのメモリを「１ｋメモリ」と呼び、容量が１Ｍバイトのメモリを「１Ｍメモリ」と呼ぶことがある。
【０００８】
また、Ｉ２Ｃ規格の通信シーケンスは以下のようになっている。図２及び図３は、Ｉ２Ｃ規格の通信シーケンスの一例を示す図である。図２には、制御対象が１ｋメモリである場合の通信シーケンスを示し、図３には、制御対象が１Ｍメモリである場合の通信シーケンスを示す。ＣＰＵがマスタ側で、メモリがスレーブ側となる。
【０００９】
すなわち、図２に示すように、制御対象が１ｋメモリである場合、まずＣＰＵが、１ビットのスタートコンディション（ＳＴ）に続けて８ビットのデバイスアドレスを出力する。８ビットのデバイスアドレスは、制御対象がシリアルＥＥＰＲＯＭであることを示す「１０１０」の４ビットのデバイスコードと、アクセス対象のメモリを指定する３ビットのスレーブアドレスと、１ビットのＲ／Ｗ要求とから形成される。次いで、ＣＰＵは、デバイスアドレスに対するＡＣＫビットを受信すると、メモリ上のアドレスを指定する８ビットのワードアドレスを出力する。次いで、ＣＰＵは、ワードアドレスに対するＡＣＫビットを受信すると、８ビットのデータを出力する。そして、ＣＰＵは、データに対するＡＣＫビットを受信すると、ストップコンディション（ＳＰ）を出力する。この一連のシーケンスにより、３ビットのスレーブアドレスで指定された１ｋメモリにおいて、８ビットのワードアドレスで指定された領域で、８ビットのデータのライトまたはリードが行われる。以下では、４ビットの特定のデバイスコード（例えば「１０１０」）と、３ビットのスレーブアドレスと、１ビットのＲ／Ｗ要求と、８ビットのワードアドレスとから形成されるアドレス、つまり、１ｋメモリに対して正しくアクセスするためのアドレスを「１ｋメモリ用アドレス」と呼ぶことがある。
【００１０】
また、図３に示すように、制御対象が１Ｍメモリである場合、まずＣＰＵが、１ビットのスタートコンディション（ＳＴ）に続けて８ビットのデバイスアドレスを出力する。８ビットのデバイスアドレスは、制御対象がメモリであることを示す「１０１０」の４ビットのデバイスコードと、アクセス対象のメモリを指定する２ビットのスレーブアドレスと、１ビットのページアドレスと、１ビットのＲ／Ｗ要求とから形成される。次いで、ＣＰＵは、デバイスアドレスに対するＡＣＫビットを受信すると、メモリ上のアドレスを指定する１６ビットのワードアドレスのうちの前半８ビット（以下では「前半ワードアドレス」と呼ぶことがある）を出力する。次いで、ＣＰＵは、前半ワードアドレスに対するＡＣＫビットを受信すると、１６ビットのワードアドレスのうちの後半８ビット（以下では「後半ワードアドレス」と呼ぶことがある）を出力する。次いで、ＣＰＵは、後半ワードアドレスに対するＡＣＫビットを受信すると、８ビットのデータを出力する。そして、ＣＰＵは、データに対するＡＣＫビットを受信すると、ストップコンディション（ＳＰ）を出力する。この一連のシーケンスにより、２ビットのスレーブアドレスで指定された１Ｍメモリにおいて、１６ビットのワードアドレスで指定された領域で、８ビットのデータのライトまたはリードが行われる。以下では、４ビットの特定のデバイスコード（例えば「１０１０」）と、２ビットのスレーブアドレスと、１ビットのページアドレスと、１ビットのＲ／Ｗ要求と、１６ビットのワードアドレスとから形成されるアドレス、つまり、１Ｍメモリに対して正しくアクセスするためのアドレスを「１Ｍメモリ用アドレス」と呼ぶことがある。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２０１０−０６１３７１号公報
【特許文献２】特開２００９−２０５４１１号公報
【特許文献３】特開２００２−２３６６１１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上記のように、Ｉ２Ｃ規格ではメモリの容量毎にスレーブアドレス、ページアドレス及びワードアドレスの各アドレスのビット数が異なる。例えば、１ｋメモリに対して正しくアクセスするには、スレーブアドレスが３ビット、ページアドレスが０ビット、ワードアドレスが８ビットであるのに対し、１Ｍメモリに対して正しくアクセスするには、スレーブアドレスが２ビット、ページアドレスが１ビット、ワードアドレスが１６ビットである。つまり、１ｋメモリに正しくアクセスするには１ｋメモリ用アドレスが必要であり、１Ｍメモリに正しくアクセスするには１Ｍメモリ用アドレスが必要である。よって例えば、１Ｍメモリに１ｋメモリ用アドレスでアクセスすると、ワードアドレスのビット数の相違等から、１Ｍメモリにおいて、データをライトまたはリードするアドレスが誤認識されてしまう。
【００１３】
このため、ユニット化された紙幣リサイクル装置において、ユニット毎のメンテナンス、または、ユニット毎の修理や交換に伴って各ユニットに搭載されたメモリの容量がユニット間で異なるものになってしまう場合には、従来は、ある特定の容量のメモリにアクセスするプロクラムを単一のＣＰＵで実行することでは、複数のメモリに正しくアクセスすることが困難になっていた。例えば、紙幣リサイクル装置内に１ｋメモリを搭載する旧ユニットと１Ｍメモリを搭載する新ユニットとが混在すると、従来は、搭載されたメモリを識別できるプログラムに変更するか、または、１ｋメモリ用アドレスを形成するプログラムを実行するＣＰＵと、１Ｍメモリ用アドレスを形成するプログラムを実行するＣＰＵとの２つのＣＰＵを搭載する必要があった。換言すれば、従来は、ユニット化された紙幣リサイクル装置では、単一のＣＰＵの場合、プログラムの変更なしには、１ｋメモリを搭載する複数の旧ユニットの一部を、１Ｍメモリを搭載する新ユニットに交換することが困難であった。よって、従来は、新仕様の紙幣リサイクル装置と旧仕様の紙幣リサイクルとの間でユニットを共通化したとしても、両者の間でメモリの容量が異なっていた場合には、プログラムの変更なしには、単一のＣＰＵのままでユニット単位の交換を行うことが困難になる状況が生じていた。このため、メンテナンスや故障時の修理等に備えて、新仕様のユニットと旧仕様のユニットの双方を準備しておく必要があった。
【００１４】
開示の技術は、上記に鑑みてなされたものであって、複数のユニットにそれぞれ搭載された互いに容量の異なる複数のメモリに対するアクセスを単一のＣＰＵで行うことを目的とする。
【課題を解決するための手段】
【００１５】
開示の態様では、媒体取扱装置は、複数のユニットと、複数のメモリと、単一のＣＰＵと、変換器とを有する。前記複数のメモリは、前記複数のユニットのそれぞれに搭載され、かつ、第一の容量の第一メモリと、前記第一の容量と異なる第二の容量の第二メモリとを含む。前記単一のＣＰＵは、前記複数のメモリに対してＩ２Ｃバスを介してアクセスを行う。前記変換器は、前記単一のＣＰＵによる前記第二メモリへのアクセス時に、前記単一のＣＰＵから前記Ｉ２Ｃバスへ出力された第一アドレスであって、第一のフォーマットを採る前記第一アドレスを、前記第二の容量に関連付けられた第二のフォーマットを採る第二アドレスに変換する。
【発明の効果】
【００１６】
開示の態様によれば、複数のユニットにそれぞれ搭載された互いに容量の異なる複数のメモリに対するアクセスを単一のＣＰＵで行うことができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、Ｉ２Ｃ規格における各アドレスのビット数を示す図である。
【図２】図２は、Ｉ２Ｃ規格の通信シーケンスの一例を示す図である。
【図３】図３は、Ｉ２Ｃ規格の通信シーケンスの一例を示す図である。
【図４】図４は、実施例１の紙幣リサイクル装置の外観を示す図である。
【図５】図５は、実施例１の紙幣リサイクル装置の構造の一例を示す図である。
【図６】図６は、実施例１の紙幣リサイクル装置の構成の一例を示す図である。
【図７】図７は、実施例１の紙幣リサイクル装置の構成の一例を示す図である。
【図８】図８は、実施例１の１ｋメモリ用アドレスの一例を示す図である。
【図９】図９は、実施例１の１Ｍメモリ用アドレスの一例を示す図である。
【図１０】図１０は、実施例１のＦＰＧＡの処理の説明に供するフローチャートである。
【図１１】図１１は、実施例２のデバイスコードの一例を示す図である。
【図１２】図１２は、実施例２の特別アドレスの一例を示す図である。
【図１３】図１３は、実施例２の特別アドレスの一例を示す図である。
【図１４】図１４は、実施例２の１Ｍメモリ用アドレスの一例を示す図である。
【図１５】図１５は、実施例２の１Ｍメモリ用アドレスの一例を示す図である。
【図１６】図１６は、実施例２のＦＰＧＡの処理の説明に供するフローチャートである。
【発明を実施するための形態】
【００１８】
以下に、本願の開示する媒体取扱装置の実施例を図面に基づいて説明する。以下では、媒体取扱装置の一例として、紙幣を媒体とする紙幣リサイクル装置について説明する。しかし、以下の実施例により本願の開示する媒体取扱装置が限定されるものではなく、媒体取扱装置には、例えば、紙を媒体として印刷を行うプリンタ等も含まれる。プリンタも、給紙ユニット、印刷ユニット、排紙ユニット等にユニット化される場合がある。なお、各実施例において同一の機能を有する構成には同一の符号を付し、重複する説明を省略する。
【００１９】
［実施例１］
＜紙幣リサイクル装置の構成＞
図４は、実施例１の紙幣リサイクル装置の外観を示す図である。図４において、紙幣リサイクル装置１は、紙幣入出金口１１を有する。
【００２０】
図５は、実施例１の紙幣リサイクル装置の構造の一例を示す図である。図５は、側面断面図である。図５において、紙幣リサイクル装置１は、ユニットＵ１，Ｕ２，Ｕ３，Ｕ４−１〜Ｕ４−４の各ユニットにユニット化されている。ユニットＵ１は、紙幣入出金口１１を有する紙幣入出金ユニットである。ユニットＵ２は、プール部１２を有するプールユニットである。ユニットＵ３は、紙幣鑑別機１３を有する鑑別ユニットである。ユニットＵ４−１〜Ｕ４−４の各ユニットは、カセット１４−１〜１４−４の各カセットを有するカセットユニットである。例えば、カセット１４−１には一万円札が、カセット１４−２には五千円札が、カセット１４−３には二千円札が、カセット１４−４には千円札がそれぞれ収納される。
【００２１】
紙幣リサイクル装置１では、紙幣入出金口１１に入金された紙幣は搬送路１５を通って紙幣鑑別機１３に運ばれて鑑別された後、プール部１２に一旦集積される。紙幣鑑別機１３での鑑別の結果、入金された紙幣に偽札が含まれていない場合は、プール部１２に集積された紙幣はプール部１２から搬送路１５を通って運ばれて、金種に応じてカセット１４−１〜１４−４の何れかのカセットに収納される。一方で、入金された紙幣に偽札が含まれている場合は、プール部１２に集積された紙幣は搬送路１５を通って紙幣入出金口１１に返却される。
【００２２】
また、紙幣リサイクル装置１では、出金時には、顧客に指定された出金額に応じて各カセット１４−１〜１４−４から紙幣が取り出され、取り出された紙幣が搬送路１５を通ってプール部１２に一旦集積される。そして、出金額に応じた紙幣がすべてプール部１２に集積されると、集積された紙幣は搬送路１５を通って紙幣入出金口１１から出金される。
【００２３】
図６は、実施例１の紙幣リサイクル装置の構成の一例を示す図である。図６は、ユニット交換前の構成を示すブロック図である。図６において、紙幣リサイクル装置１は、ユニットＵ１，Ｕ２，Ｕ３，Ｕ４−１〜Ｕ４−４と、ＣＰＵ２１と、メモリ２２と、Ｉ２Ｃバス２３と、制御ライン２４とを有する。ＣＰＵ２１は、紙幣リサイクル装置１に搭載される単一のＣＰＵである。
【００２４】
ユニット交換前には、ユニットＵ１，Ｕ２，Ｕ３，Ｕ４−１〜Ｕ４−４の各ユニットにメモリｍ１〜ｍ７の各メモリが搭載されている。メモリｍ１〜ｍ７の容量はすべて同一で、例えば１ｋバイトである。つまり、ユニット交換前は、メモリｍ１〜ｍ７のすべてが１ｋメモリである。
【００２５】
メモリ２２にはプログラムＰＧＭ１が記憶されており、プログラムＰＧＭ１がＣＰＵ２１で実行されることにより、ユニットＵ１，Ｕ２，Ｕ３，Ｕ４−１〜Ｕ４−４の制御、及び、メモリｍ１〜ｍ７に対するデータのライト及びリードが行われる。ＣＰＵ２１からユニットＵ１，Ｕ２，Ｕ３，Ｕ４−１〜Ｕ４−４に対する制御は制御ライン２４を介して行われる。また、ＣＰＵ２１からメモリｍ１〜ｍ７に対するアクセスはＩ２Ｃバス２３を介して行われる。
【００２６】
ＣＰＵ２１は、メモリｍ１〜ｍ７の何れかへのアクセス時に、プログラムＰＧＭ１に従って、データのライトまたはリードのためのアドレスを形成してＩ２Ｃバス２３へ出力する。ＣＰＵ２１からＩ２Ｃバス２３へ出力されるアドレスは、図２に示すように、８ビットのデバイスアドレスと、８ビットのワードアドレスとから形成される。また、８ビットのデバイスアドレスは、「１０１０」の４ビットのデバイスコードと、３ビットのスレーブアドレスと、１ビットのＲ／Ｗ要求とから形成される。つまり、ＣＰＵ２１からＩ２Ｃバス２３へ出力されるアドレスは１ｋメモリ用アドレスである。また、プログラムＰＧＭ１は、１ｋメモリ用のプログラムである。
【００２７】
図７は、実施例１の紙幣リサイクル装置の構成の一例を示す図である。図７は、ユニット交換後の構成を示すブロック図である。図６のユニットＵ２が、図７では、ユニットＵ２’に交換されている。ユニットＵ２’は、ユニットＵ２と同様に、プールユニットである。但し、ユニットＵ２が１ｋメモリであるメモリｍ２を搭載していたのに対し、ユニットＵ２’は１Ｍメモリであるメモリｍ２’を搭載している。さらに、ユニットＵ２’は、ＦＰＧＡ（Field-Programmable  Gate  Array）２５を搭載している。
【００２８】
ここで、図７に示すように、１ｋメモリであるメモリｍ１，ｍ３〜ｍ７の各々には、３ビットのスレーブアドレスＳＡ１，ＳＡ３〜ＳＡ７が設定されている。例えば、メモリｍ１には「０００」のスレーブアドレスが設定され、メモリｍ３には「０１０」のスレーブアドレスが設定されている。また、メモリｍ１，ｍ３〜ｍ７は１ｋメモリであるため、メモリｍ１，ｍ３〜ｍ７の各々へアクセスするためのワードアドレスＷＡ１，ＷＡ３〜ＷＡ７は８ビットである。
【００２９】
これに対し、１Ｍメモリであるメモリｍ２’には、２ビットのスレーブアドレスＳＡ２’が設定されている。例えば、メモリｍ２’には「００」のスレーブアドレスが設定されている。また、メモリｍ２’は１Ｍメモリであるため、メモリｍ２’へアクセスするためのワードアドレスＷＡ２’は１６ビットである。
【００３０】
また、交換前のユニットＵ２に搭載されていたメモリｍ２は１ｋメモリであったため、３ビットのスレーブアドレスＳＡ２が設定されていた。例えば、メモリｍ２には「００１」のスレーブアドレスが設定されていた。さらに、メモリｍ２は１ｋメモリであったため、メモリｍ２へアクセスするためのワードアドレスＷＡ２は８ビットだった。
【００３１】
さらに、プログラムＰＧＭ１は１ｋメモリ用のプログラムであるため、ＣＰＵ２１によるメモリｍ２’へのアクセス時にも、ＣＰＵ２１からＩ２Ｃバス２３へ１ｋメモリ用アドレスが出力される。しかし、メモリｍ２’は１Ｍメモリであるため、１ｋメモリ用アドレスでは正しくアクセスすることが困難である。
【００３２】
そこで、ＦＰＧＡ２５は、ＣＰＵ２１によるメモリｍ２’へのアクセス時に、ＣＰＵ２１からＩ２Ｃバス２３へ出力された１ｋメモリ用アドレスを、図１に示す対応関係に従って、１Ｍメモリ用アドレスに変換する。例えば、ＦＰＧＡ２５は、図８に示す１ｋメモリ用アドレスを、図１に示す対応関係に従って、図９に示す１Ｍメモリ用アドレスに変換する。図８は、実施例１の１ｋメモリ用アドレスの一例を示す図であり、図９は、実施例１の１Ｍメモリ用アドレスの一例を示す図である。
【００３３】
すなわち、図８に示すように、ＣＰＵ２１によるメモリｍ２’へのアクセス時には、ＣＰＵ２１からＩ２Ｃバス２３へ出力される１ｋメモリ用アドレスは、８ビットのデバイスアドレスと、８ビットのワードアドレスとから形成される。８ビットのデバイスアドレスは、「１０１０」の４ビットのデバイスコードと、「００１」の３ビットのスレーブアドレスと、１ビットのＲ／Ｗ要求とから形成される。
【００３４】
ＦＰＧＡ２５には、交換前のユニットＵ２に搭載されていたメモリｍ２に設定されていたスレーブアドレスと同一の「００１」の３ビットのスレーブアドレスが予め設定されている。また、交換後のユニットＵ２’に搭載されているメモリｍ２’には、「００」の２ビットのスレーブアドレスが予め設定されている。そこで、図８に示す１ｋメモリ用アドレスを受信したＦＰＧＡ２５は、８ビットのデバイスアドレス内の「００１」の３ビットのスレーブアドレス（図８）を、「００」の２ビットのスレーブアドレスと、１ビットのダミービット（例えば値が「０」のビット）とに変換する（図９）。図９において、ダミービットはページアドレスに相当する。これにより、１ｋメモリ用のデバイスアドレスは、１Ｍメモリ用のデバイスアドレスに変換される。
【００３５】
また、ＦＰＧＡ２５は、１ｋメモリ用アドレスにおける８ビットのデバイスアドレスと８ビットのワードアドレスとの間に、「００００００００」の８ビットのダミーアドレスを１Ｍメモリ用アドレスの前半ワードアドレスとして加える（図９）。これにより、１ｋメモリ用アドレスにおける８ビットのワードアドレス（図８）は、１Ｍメモリ用アドレスの後半ワードアドレスとなる（図９）。つまり、１ｋメモリ用の８ビットのワードアドレスは、１Ｍメモリ用の１６ビットのワードアドレスに変換される。
【００３６】
よって、ＦＰＧＡ２５によるこのようなアドレス変換によって、プログラムＰＧＭ１が１ｋメモリ用のプログラムであっても、ＣＰＵ２１は、１Ｍメモリであるメモリｍ２’にアクセスすることが可能になる。つまり、プログラムＰＧＭ１を１Ｍメモリ用に変更することなく、ＣＰＵ２１はメモリｍ２’へアクセスすることができる。また、プログラムＰＧＭ１は１ｋメモリ用のままであるので、メモリｍ１，ｍ３〜ｍ７に対しては、ユニットＵ２からユニットＵ２’への交換前と同様に、１ｋメモリ用アドレスを用いてＣＰＵ２１からアクセスすることができる。
【００３７】
また、ＦＰＧＡ２５により１ｋメモリ用アドレスが１Ｍメモリ用アドレスに変換されるため、ＣＰＵ２１からＩ２Ｃバス２３へ出力されるアドレスは、１ｋメモリ用アドレスだけでよい。つまり、プログラムＰＧＭ１を変更する必要がなく、かつ、ＣＰＵ２１の他に、１Ｍメモリ用アドレスを形成するＣＰＵを別途設ける必要もない。よって、紙幣リサイクル装置１においては、プログラムＰＭＧ１の変更なしに、単一のＣＰＵ２１のままで、１ｋメモリを搭載する複数の旧ユニットＵ１〜Ｕ３，Ｕ４−１〜Ｕ４−４のうちの一部のユニットＵ２を、１Ｍメモリを搭載する新ユニットＵ２’に交換することが可能になる。
【００３８】
つまり、紙幣リサイクル装置１がＦＰＧＡ２５を有することにより、複数のユニットにそれぞれ搭載された互いに容量の異なる複数のメモリに対するアクセスを、プログラムの変更なしに、単一のＣＰＵで行うことが可能になる。
【００３９】
また、ＦＰＧＡ２５は、１Ｍメモリであるメモリｍ２’とともにユニットＵ２’に搭載されるため、ユニットＵ２をユニットＵ２’に交換するだけで、ＣＰＵ２１からメモリｍ２’へのアクセスが可能になる。よって、互いにメモリ容量が異なる複数のユニットを容易に搭載できるとともに、ユニット毎のメモリ容量の変更を容易に行うことができる。
【００４０】
また、１Ｍメモリ用アドレスにおけるスレーブアドレスは２ビットであるため、１Ｍメモリ用アドレスをそのまま用いたのでは、最大で４つのスレーブしかＣＰＵ２１に接続できず、よって、５つ以上のメモリをＣＰＵ２１に接続することはできない。これに対し、実施例１では、３ビットのスレーブアドレスを設定されたＦＰＧＡ２５が、３ビットのスレーブアドレスを２ビットのスレーブアドレスに変換するため、最大で８つのスレーブをＣＰＵ２１に接続でき、よって、ユニット交換後も、ユニット交換前と同様に、７つのメモリをＣＰＵ２１に接続することができる。
【００４１】
＜ＦＰＧＡの処理＞
図１０は、実施例１のＦＰＧＡの処理の説明に供するフローチャートである。図１０には、一例として、１ｋメモリ用アドレスを１Ｍメモリ用アドレスに変換する場合を示す。但し、図１０では、デバイスアドレスを認識する処理は省略し、認識後の処理を示す。
【００４２】
ＦＰＧＡ２５は、デバイスコードを認識するとともに、スレーブアドレスがＦＰＧＡ２５を選択するものであることを認識した後に、３ビットのスレーブアドレスを２ビットのスレーブアドレスに変換する（ステップＳ１１）。
【００４３】
次いで、ＦＰＧＡ２５は、変換後の２ビットのスレーブアドレスの直後に１ビットのダミービットをページアドレスとして追加する（ステップＳ１２）。よって、ステップＳ１１，Ｓ１２の処理により、１ｋメモリ用アドレスにおける３ビットのスレーブアドレスが、１Ｍメモリ用アドレスにおける２ビットのスレーブアドレスと、１ビットのページアドレスとに変換される。
【００４４】
次いで、ＦＰＧＡ２５は、８ビットのワードアドレスの直前に、８ビットのダミーアドレスを、１６ビットのワードアドレスにおける前半ワードアドレスとして追加する（ステップＳ１３）。これにより、１ｋメモリ用アドレスにおける８ビットのワードアドレスが、１Ｍメモリ用アドレスにおける１６ビットのワードアドレスに変換される。
【００４５】
このように、ＦＰＧＡ２５は、アドレス変換を行う変換器として機能する。
【００４６】
［実施例２］
１ｋメモリであるメモリｍ２を搭載するユニットＵ２から、１Ｍメモリであるメモリｍ２’とＦＰＧＡ２５とを搭載するユニットＵ２’への交換後、紙幣リサイクル装置１のメンテナンス等に伴って、将来的に、残りのユニットＵ１，Ｕ３，Ｕ４−１〜Ｕ４−４のすべてが、１ＭメモリとＦＰＧＡ２５とを搭載するユニットに交換される場合が想定される。この場合には、１Ｍメモリを有効に利用するために、１ｋメモリ用のプログラムを、１Ｍメモリに関連付けられた１６ビットのワードアドレスを形成するプログラムに変更するのが好ましい。
【００４７】
しかし、この場合に、ＦＰＧＡ２５が実施例１に記載したようなアドレス変換を一律に行っていたのでは、誤った変換を行ってしまうことになり、１Ｍメモリへの正しいアクセスが困難になってしまう。また、プログラムを、単に１Ｍメモリのアクセス用のものに変更しただけでは、１Ｍメモリ用アドレスにおけるスレーブアドレスは２ビットであるため、メモリを４つまでしか搭載できず、所望の機能を満足することが困難になる。
【００４８】
そこで、実施例２では、以下のようにして、１Ｍメモリの新たなアクセス仕様の下で、ＣＰＵ２１から出力されるアドレスに応じたアドレス変換をＦＰＧＡ２５が行う。
【００４９】
＜デバイスコードの設定＞
実施例２では、デバイスコードは、メモリの容量に応じて設定される。図１１は、実施例２のデバイスコードの一例を示す図である。例えば、１ｋメモリに対しては、従来通り、メモリに共通のデバイスコードである「１０１０」を関連付ける。これに対し、１Ｍメモリに対しては、「１１０」に１ビットのページアドレス「Ｐ０」を付加した４ビットのデバイスコードを関連付ける。
【００５０】
よって、ＣＰＵ２１によって実行されるプログラムが１ｋメモリ用のプログラムである場合は、ＣＰＵ２１によってデバイスコードが「１０１０」に設定され、「１０１０」のデバイスコードを含む１ｋメモリ用アドレスがＣＰＵ２１から出力される。一方で、ＣＰＵ２１によって実行されるプログラムが１Ｍメモリ用のプログラムである場合は、ＣＰＵ２１によってデバイスコードが「１１０」と「Ｐ０」とに設定され、「１１０」と「Ｐ０」とから形成されるデバイスコードを含むアドレスがＣＰＵ２１から出力される。以下では、「１１０」と「Ｐ０」とから形成されるデバイスコードを「特別デバイスコード」と呼び、特別デバイスコードを含むアドレスを「特別アドレス」と呼ぶことがある。
【００５１】
＜ＦＰＧＡの処理＞
図１２及び図１３は、実施例２の特別アドレスの一例を示す図である。図１２に示すように、特別アドレスは、８ビットのデバイスアドレスと、１６ビットのワードアドレスとから形成される。また、８ビットのデバイスアドレスは、４ビットの特別デバイスコードと、３ビットのスレーブアドレスと、１ビットのＲ／Ｗ要求とから形成される。例えば、ＣＰＵ２１がメモリｍ２’にアクセスする場合は、図１３に示すように、スレーブアドレスに「００１」が設定される。
【００５２】
これに対し、ＦＰＧＡ２５は、図１２に示す特別アドレスがＣＰＵ２１から出力されたと判断した場合に、特別アドレスを図１４に示す１Ｍメモリ用アドレスに変換する。すなわち、ＦＰＧＡ２５は、特別デバイスコードをメモリに共通のデバイスコードである「１０１０」に変換し、３ビットのスレーブアドレスを、２ビットのスレーブアドレスと、１ビットのページアドレス「Ｐ０」とに変換する。よって例えば、メモリｍ２’とともにユニットＵ２’に搭載されたＦＰＧＡ２５は、図１３に示す特別アドレスを図１５に示す１Ｍメモリ用アドレスに変換する。図１４及び図１５は、実施例２の１Ｍメモリ用アドレスの一例を示す図である。
【００５３】
ここで、ＦＰＧＡ２５は、ＣＰＵ２１から出力されたアドレスが、１ｋメモリ用アドレスであるか、特別アドレスであるかをデバイスコードに基づいて判断する。
【００５４】
すなわち、ＦＰＧＡ２５は、デバイスコードの上位３ビットが「１０１」である場合は、ＣＰＵ２１から出力されたアドレスが１ｋメモリ用アドレスであると判断し、実施例１に記載のようにして、１ｋメモリ用アドレスを１Ｍメモリ用アドレスに変換する。よってこの場合には、８ビットのワードアドレスが１６ビットのワードアドレスに変換される。
【００５５】
一方で、ＦＰＧＡ２５は、デバイスコードの上位３ビットが「１１０」である場合は、ＣＰＵ２１から出力されたアドレスが特別アドレスであると判断し、実施例２に記載のようにして、特別アドレスを１Ｍメモリ用アドレスに変換する。特別アドレスに含まれるワードアドレスも１Ｍメモリ用アドレスに含まれるワードアドレスも共に１６ビットであるため、特別アドレスから１Ｍメモリ用アドレスへの変換時には、ワードアドレスの変換は行われない。
【００５６】
＜ＦＰＧＡの処理＞
図１６は、実施例２のＦＰＧＡの処理の説明に供するフローチャートである。
【００５７】
まず、ＦＰＧＡ２５は、上記のようにして、ＣＰＵ２１から出力されたアドレスが、１ｋメモリ用アドレスであるか、特別アドレスであるかをデバイスコードに基づいて判断するとともに、スレーブアドレスがＦＰＧＡ２５を選択するものであるか否かを判断する。つまり、ＦＰＧＡ２５は、アドレス種別を判断する（ステップＳ２１）。
【００５８】
ＦＰＧＡ２５は、ＣＰＵ２１から出力されたアドレスが１ｋメモリ用アドレスであると判断した場合は、実施例１のフローチャート（図１０）に従ってアドレス変換を行う（ステップＳ２２）。よって、ステップＳ２２では、８ビットのワードアドレスが１６ビットのワードアドレスに変換される。
【００５９】
一方で、ＦＰＧＡ２５は、ＣＰＵ２１から出力されたアドレスが特別アドレスであると判断した場合は、特別アドレスに含まれる３ビットのスレーブアドレスを、２ビットのスレーブアドレスに変換する（ステップＳ２３）。
【００６０】
次いで、ＦＰＧＡ２５は、特別アドレスに含まれる１ビットのページアドレス「Ｐ０」をコピーして、変換後の２ビットのスレーブアドレスの直後に付加する（ステップＳ２４）。
【００６１】
そして、ＦＰＧＡ２５は、特別アドレスに含まれるデバイスコード、つまり、特別デバイスコードを、メモリに共通のデバイスコード「１０１０」に変換する（ステップＳ２５）。
【００６２】
以上のように、実施例１及び実施例２では、紙幣リサイクル装置１は、ユニットＵ１，Ｕ２’，Ｕ３，Ｕ４−１〜Ｕ４−４と、メモリｍ１，ｍ２’，ｍ３〜ｍ７と、単一のＣＰＵ２１と、ＦＰＧＡ２５とを有する。メモリｍ１，ｍ３〜ｍ７は、ユニットＵ１，Ｕ３，Ｕ４−１〜Ｕ４−４のそれぞれに搭載され、メモリｍ２’はユニットＵ２’に搭載される。メモリｍ１，ｍ３〜ｍ７の容量は１ｋバイトであり、メモリｍ２’の容量は１Ｍバイトである。ＣＰＵ２１は、メモリｍ１，ｍ２’，ｍ３〜ｍ７に対してＩ２Ｃバス２３を介してアクセスを行う。ＦＰＧＡ２５は、ＣＰＵ２１によるメモリｍ２’へのアクセス時に、ＣＰＵ２１から出力された１ｋメモリ用アドレスまたは特別アドレスを、１Ｍメモリ用アドレスに変換する。１ｋメモリ用アドレス及び特別アドレスは、所定のフォーマットを採る。また、１Ｍメモリ用アドレスは、メモリｍ２’の容量である１Ｍバイトに関連付けられたフォーマットを採る。
【００６３】
こうすることで、複数のユニットにそれぞれ搭載された互いに容量の異なる複数のメモリに対するアクセスを単一のＣＰＵで行うことが可能になる。
【００６４】
また、実施例１では、１ｋメモリ用アドレスは、メモリｍ１，ｍ３〜ｍ７の容量である１ｋバイトに関連付けられた８ビットのワードアドレスを含む。１Ｍメモリ用アドレスは、メモリｍ２’の容量である１Ｍバイトに関連付けられた１６ビットのワードアドレスを含む。ＦＰＧＡ２５は、８ビットのワードアドレスを１６ビットのワードアドレスに変換する。
【００６５】
こうすることで、プログラムの変更なしに、単一のＣＰＵのままで、１ｋメモリを搭載する複数の旧ユニットのうちの一部のユニットを、１Ｍメモリを搭載する新ユニットに交換することが可能になる。
【００６６】
また、実施例１では、１ｋメモリ用アドレスは、メモリｍ１，ｍ３〜ｍ７の容量である１ｋバイトに関連付けられた３ビットのスレーブアドレスを含む。１Ｍメモリ用アドレスは、メモリｍ２’の容量である１Ｍバイトに関連付けられた２ビットのスレーブアドレスを含む。ＦＰＧＡ２５は、３ビットのスレーブアドレスを２ビットのスレーブアドレスに変換する。
【００６７】
こうすることで、ユニット交換後も、ユニット交換前と同数のメモリをＣＰＵに接続することができる。
【００６８】
また、実施例１では、ＦＰＧＡ２５は、１Ｍメモリが搭載されたユニットＵ２’に搭載される。
【００６９】
こうすることで、ユニット毎のメモリ容量の変更を容易に行うことができる。
【００７０】
また、実施例２では、ＣＰＵ２１は、メモリｍ１，ｍ３〜ｍ７の容量である１ｋバイトに関連付けられた第一デバイスコードを含む１ｋメモリ用アドレス、または、メモリｍ２’の容量である１Ｍバイトに関連付けられた第二デバイスコードを含む特別アドレスを出力する。ＦＰＧＡ２５は、ＣＰＵ２１から出力されたアドレスに含まれるデバイスコードが第一デバイスコードであるときは、１Ｋバイトに関連付けられた８ビットのワードアドレスを、１Ｍバイトに関連付けられた１６ビットのワードアドレスに変換するワードアドレス変換を行う。一方で、ＦＰＧＡ２５は、ＣＰＵ２１から出力されたアドレスに含まれるデバイスコードが第二デバイスコードであるときは、ワードアドレス変換を行わない。
【００７１】
こうすることで、１ｋメモリにも１Ｍメモリにも対応可能なように、プログラムＰＧＭ１を予め変更しておくことで、交換後のユニットに搭載されているＦＰＧＡは、ＣＰＵから出力されたアドレスに応じてワードアドレス変換の有無を切り替えることができる。このため、ＣＰＵが実行するプログラムが１ｋメモリ用のワードアドレスを形成するか、１Ｍメモリ用のワードアドレスを形成するかに関わらず、同一のＦＰＧＡで１Ｍメモリに正しくアクセスすることができる。よって、１ｋメモリ用のプログラムが１Ｍメモリ用のプログラムに変更された場合でも、ＦＰＧＡの交換または取り外しは不要となるため、メンテナンス作業の省力化、及び、交換ユニットの共通化を図ることができる。
【００７２】
また、実施例１では、既存のユニットのハードウェア及びプログラムを変更することなく、そのまま流用し、交換後のユニットに１Ｍメモリを自由に搭載することが可能となる。
【００７３】
また、実施例２では、既存のユニットのハードウェアをそのまま流用し、プログラムの変更のみで、交換後のユニットに１ｋメモリでも１Ｍメモリでも自由に搭載することが可能となる。
【００７４】
なお、本発明は上述した実施形態そのままに限定されるものではなく、実施段階でのその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素を適宜組み合わせても良い。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。このような、発明の趣旨を逸脱しない範囲内において種々の変形や応用は、もちろん可能である。
【符号の説明】
【００７５】
１  紙幣リサイクル装置
１１  紙幣入出金口
１２  プール部
１３  紙幣鑑別機
１４−１〜１４−４  カセット
１５  搬送路
２１  ＣＰＵ
２２  メモリ
２３  Ｉ２Ｃバス
２４  制御ライン
２５  ＦＰＧＡ
ｍ１〜ｍ７  １ｋメモリ
ｍ２’１Ｍメモリ
Ｕ１  紙幣入出金ユニット
Ｕ２，Ｕ２’  プールユニット
Ｕ３  鑑別ユニット
Ｕ４−１〜Ｕ４−４  カセットユニット
【図１】
2016118979.tif 000003
【図２】
2016118979.tif 000004
【図３】
2016118979.tif 000005
【図４】
2016118979.tif 000006
【図５】
2016118979.tif 000007
【図６】
2016118979.tif 000008
【図７】
2016118979.tif 000009
【図８】
2016118979.tif 000010
【図９】
2016118979.tif 000011
【図１０】
2016118979.tif 000012
【図１１】
2016118979.tif 000013
【図１２】
2016118979.tif 000014
【図１３】
2016118979.tif 000015
【図１４】
2016118979.tif 000016
【図１５】
2016118979.tif 000017
【図１６】
2016118979.tif 000018