(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024014258
(43)【公開日】2024-02-01
(54)【発明の名称】データ転送遮断回路及びデータ転送遮断方法
(51)【国際特許分類】
H04L 25/02 20060101AFI20240125BHJP
【FI】
H04L25/02 R
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022116952
(22)【出願日】2022-07-22
(71)【出願人】
【識別番号】000226057
【氏名又は名称】日亜化学工業株式会社
(74)【代理人】
【識別番号】110003225
【氏名又は名称】弁理士法人豊栖特許事務所
(72)【発明者】
【氏名】松本 誠
【テーマコード(参考)】
5K029
【Fターム(参考)】
5K029AA06
5K029BB03
5K029HH29
5K029JJ10
5K029LL14
5K029LL16
(57)【要約】
【課題】素子間のタイミング仕様のばらつきによらず、コマンドの監視を確実に行えるようにする。
【解決手段】データ転送遮断回路100は、制御IC10と、メモリ部20とを備える。制御IC10は、予め監視対象の監視コマンドを記録するためのコマンド記録部12と、一時記憶部14に保持された入力コマンドを、コマンド記録部12に記録された監視コマンドと比較する比較器16と、入力コマンドを遮断可能な遮断器30を備える。比較器16は、一時記憶部14に保持された入力コマンドが、コマンド記録部12に記録された監視コマンドと一致すると判定した場合に、遮断器30を動作させて入力コマンドのメモリ部20への転送を遮断するよう構成している。コマンド記録部12は、監視対象の監視コマンドとして、当該監視コマンドそのものと、当該監視コマンドを構成するビットを、1ビットずらしたシフト監視コマンドを記録している。
【選択図】
図1
【特許請求の範囲】
【請求項1】
外部から入力される入力コマンドを入力する入力端子を備える制御ICと、
前記制御ICからデータ転送経路を介してメモリアクセス可能なメモリ部と
を備えるデータ転送遮断回路であって、
前記制御ICは、
予め監視対象の監視コマンドを記録するためのコマンド記録部と、
前記入力端子から入力された前記入力コマンドを、前記メモリ部側に送出するデータ転送経路から分岐されて接続された、前記入力コマンドを一時的に保持する一時記憶部と、
前記一時記憶部に保持された前記入力コマンドを、前記コマンド記録部に記録された前記監視コマンドと比較する比較器と、
前記データ転送経路上に配置され、前記比較器の制御によってデータ転送経路で転送される前記入力コマンドを遮断可能な遮断器と、
を備え、
前記比較器は、前記一時記憶部に保持された前記入力コマンドが、前記コマンド記録部に記録された前記監視コマンドと一致すると判定した場合に、前記遮断器を動作させて入力コマンドの前記メモリ部への転送を遮断するよう構成しており、
前記コマンド記録部に、監視対象の監視コマンドとして、
当該監視コマンドそのものと、
当該監視コマンドを構成するビットを、1ビットずらしたシフト監視コマンドと、
を記録してなるデータ転送遮断回路。
【請求項2】
請求項1に記載のデータ転送遮断回路であって、
前記入力端子から入力される前記入力コマンドが、前記制御IC又は前記メモリ部で規定されている所定のセットアップ時間又はホールド時間よりも短いタイミングで入力されてなるデータ転送遮断回路。
【請求項3】
請求項2に記載のデータ転送遮断回路であって、
前記シフト監視コマンドが、前記監視対象の監視コマンドを右に1ビット分ビットシフトさせたものであるデータ転送遮断回路。
【請求項4】
請求項3に記載のデータ転送遮断回路であって、
前記シフト監視コマンドが、前記監視対象の監視コマンドの先頭に1を付加したものであるデータ転送遮断回路。
【請求項5】
請求項4に記載のデータ転送遮断回路であって、
前記比較器は、前記一時記憶部に保持された前記入力コマンドが、前記コマンド記録部に記録された前記シフト監視コマンドと、先頭の6ビット以上が一致すると判定した場合に、前記遮断器を動作させて前記入力コマンドの前記メモリ部への転送を遮断するよう構成してなるデータ転送遮断回路。
【請求項6】
請求項3に記載のデータ転送遮断回路であって、
前記シフト監視コマンドが、前記監視対象の監視コマンドの先頭に0を付加したものであるデータ転送遮断回路。
【請求項7】
請求項2に記載のデータ転送遮断回路であって、
前記シフト監視コマンドが、
左に1ビット分ビットシフトさせて、かつ
末尾に0又は1を付加したものであるデータ転送遮断回路。
【請求項8】
請求項1~7のいずれか一項に記載のデータ転送遮断回路であって、
前記制御IC及び前記メモリ部が、画素で構成された表示装置の表示を制御するものであるデータ転送遮断回路。
【請求項9】
外部から入力コマンドを制御ICに入力し、前記制御ICからメモリ部にメモリアクセスされる回路において、前記入力コマンドを監視し、特定の監視コマンドを検出するとデータ転送を遮断するデータ転送遮断方法であって、
前記入力コマンドに対する監視対象の監視コマンドとして、
当該監視コマンドそのものと、
当該監視コマンドを構成するビットを、1ビットずらしたシフト監視コマンドと、
を、前記制御ICのコマンド記録部に記録する工程と、
前記制御ICに入力された前記入力コマンドを、前記メモリ部側に送出するデータ転送経路から分岐されて接続された一時記憶部に、一時的に保持する工程と、
前記一時記憶部に保持された前記入力コマンドを、前記コマンド記録部に記録された前記監視コマンドと比較器で比較する工程と、
前記比較器は、前記一時記憶部に保持された前記入力コマンドが、前記コマンド記録部に記録された前記監視コマンドと一致すると判定した場合に、前記データ転送経路上に配置された遮断器を動作させて、当該入力コマンドの前記メモリ部への転送を遮断する工程と、
を含むデータ転送遮断方法。
【請求項10】
請求項9に記載のデータ転送遮断方法であって、
前記入力コマンドが、前記制御IC又は前記メモリ部で規定されている所定のセットアップ時間又はホールド時間よりも短いタイミングで入力されてなるデータ転送遮断方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ転送遮断回路及びデータ転送遮断方法に関する。
【背景技術】
【0002】
鉄道表示板や道路表示板等の電気機器を構成するデータ転送システムは、動作対象の電気機器と、この電気機器で実行される表示や出力などの動作を規定するデータを取得して制御ICに送出するデータソース部と、データソース部からデータを取得して電気機器を制御する制御ICと、制御ICと接続されたメモリ部とで構成される。制御ICとメモリ部とは、SPIインターフェース等の規格化されたインターフェースで接続されており、SPI通信などによりデータの授受を行う。
【0003】
このような制御ICとメモリ部と備えるメモリアクセス回路においては、従来、特定の場合にはメモリ部へのアクセスを遮断できるよう、
図27に示すように制御IC910側でコマンドを監視していた。具体的には、メモリアクセス回路900の制御IC910がメモリ部920に送出するコマンドを監視して、遮断するべき定義と一致した場合には、メモリ部920へのアクセスを遮断する安全装置が提案されている(特許文献1)。
【0004】
しかしながら、コマンドを受取るタイミングが、所定の条件を満たさない場合には、制御IC910が遮断するべきコマンドをメモリ920にスルーしてしまうことが起こり得ることを、本願発明者は見出した。具体的には、制御IC910やメモリ920は、その動作を保証するため、セットアップ時間やホールド時間等のタイミングを仕様書で規定している。ここでセットアップ時間とは、制御IC910やメモリ920等を動作させるタイミングを規定する動作クロックのエッジに対して、入力されるデータが予め確定されている必要がある時間である。
図28のタイミングチャートに示すように、動作クロックのエッジに対して時間的にどれだけ早い時点で(図において左側)、データが確定している必要があることを規定する。またホールド時間とは、動作クロックのエッジに対して、入力されるデータが保持されている必要がある時間であり、
図28においては動作クロックのエッジよりも時間的に遅れて(図において右側)、データが保持されている必要があることを規定する。このようなセットアップ時間やホールド時間等のタイミング仕様は、使用する制御IC910やメモリ920等の半導体素子によって決まる固有の値である。
【0005】
しかしながら、このような制御ICやメモリ部等の半導体素子は個体差があるため、タイミング仕様も素子毎に異なる。この結果として、入力されるデータのタイミングによっては、信号の遅延等が発生し、本来制御ICで遮断したいコマンドが遮断されずにメモリ部側に送信されてしまう事態が起こり得ることが、本発明者の試験により判明した。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
本開示の目的の一つは、素子間の個体差に起因するタイミング仕様のばらつきによらず、コマンドの監視を確実に行えるようにしたデータ転送遮断回路及びデータ転送遮断方法を提供することにある。
【課題を解決するための手段】
【0008】
本発明の一形態に係るデータ転送遮断回路は、外部から入力される入力コマンドを入力する入力端子を備える制御ICと、前記制御ICからデータ転送経路を介してメモリアクセス可能なメモリ部とを備えるデータ転送遮断回路であって、前記制御ICは、予め監視対象の監視コマンドを記録するためのコマンド記録部と、前記入力端子から入力された前記入力コマンドを、前記メモリ部側に送出するデータ転送経路から分岐されて接続された、前記入力コマンドを一時的に保持する一時記憶部と、前記一時記憶部に保持された前記入力コマンドを、前記コマンド記録部に記録された前記監視コマンドと比較する比較器と、前記データ転送経路上に配置され、前記比較器の制御によってデータ転送経路で転送される前記入力コマンドを遮断可能な遮断器と、を備え、前記比較器は、前記一時記憶部に保持された前記入力コマンドが、前記コマンド記録部に記録された前記監視コマンドと一致すると判定した場合に、前記遮断器を動作させて前記入力コマンドの前記メモリ部への転送を遮断するよう構成しており、前記コマンド記録部に、監視対象の監視コマンドとして、当該監視コマンドそのものと、当該監視コマンドを構成するビットを、1ビットずらしたシフト監視コマンドと、を記録している。
【0009】
本発明の他の形態に係るデータ転送遮断方法は、外部から入力コマンドを制御ICに入力し、前記制御ICからメモリ部にメモリアクセスされる回路において、前記入力コマンドを監視し、特定の監視コマンドを検出するとデータ転送を遮断するデータ転送遮断方法であって、入力コマンドに対する監視対象の監視コマンドとして、当該監視コマンドそのものと、当該監視コマンドを構成するビットを、1ビットずらしたシフト監視コマンドと、を、前記制御ICのコマンド記録部に記録する工程と、前記制御ICに入力された前記入力コマンドを、前記メモリ部側に送出するデータ転送経路から分岐されて接続された一時記憶部に、一時的に保持する工程と、前記一時記憶部に保持された前記入力コマンドを、前記コマンド記録部に記録された前記監視コマンドと比較器で比較する工程と、前記比較器は、前記一時記憶部に保持された前記入力コマンドが、前記コマンド記録部に記録された前記監視コマンドと一致すると判定した場合に、前記データ転送経路上に配置された遮断器を動作させて、当該入力コマンドの前記メモリ部への転送を遮断する工程とを含む。
【発明の効果】
【0010】
上記形態に係るデータ転送遮断回路やデータ転送遮断方法によれば、制御ICがメモリ部と同じ入力コマンドを読み取れない場合でも、遮断しておくべきコマンドを予め考慮したシフト監視コマンドを、本来の監視コマンドに加えてコマンド記録部で記録していることから、遮断するべきコマンドを確実に遮断することが可能となるデータ転送遮断回路を実現できる。
【図面の簡単な説明】
【0011】
【
図1】一実施形態に係るデータ転送遮断回路を示すブロック図である。
【
図3】メモリアクセス回路に対するチップセレクト信号、データ入力信号、クロック信号のタイミングを示すタイミングチャートである。
【
図4】所定のタイミングで8ビットのコマンドが制御ICに入力される場合の、チップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図5】所定のタイミングで8ビットのコマンドがメモリに入力される場合の、チップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図6】8ビット目で遮断しようとする例を示すタイミングチャートである。
【
図7】遮断信号をSCK信号で生成する様子を示すタイミングチャートである。
【
図8】8ビットのコマンドが所定のタイミング以外で制御ICに入力される場合の、チップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図9】8ビットのコマンドが所定のタイミング以外でメモリに入力される場合の、チップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図10】
図1のデータ転送遮断回路に対する制御IC入力のチップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図11】
図1のデータ転送遮断回路に対するメモリ入力のチップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図12】8ビットの非遮断コマンドが所定のタイミングで制御ICに入力される場合の、チップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図13】8ビットの非遮断コマンドが所定のタイミングでメモリ部に入力される場合の、チップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図14】8ビットの遮断コマンドが所定のタイミングで制御ICに入力される場合の、チップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図15】8ビットの遮断コマンドが所定のタイミングでメモリ部に入力される場合の、チップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図16】8ビットの遮断コマンドが所定のタイミング以外で制御ICに入力される場合の、チップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図17】8ビットの遮断コマンドが所定のタイミング以外でメモリ部に入力される場合の、チップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図18】
図1のデータ転送遮断回路に対する制御IC入力のチップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図19】
図1のデータ転送遮断回路に対するメモリ入力のチップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図20】変形例に係るデータ転送遮断回路に対する制御IC入力のチップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図21】変形例に係るデータ転送遮断回路に対するメモリ入力のチップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図22】実施形態2に係るデータ転送遮断回路に対する制御IC入力のチップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図23】実施形態2に係るデータ転送遮断回路に対するメモリ入力のチップセレクト信号、データ入力信号、SPIクロック信号のタイミングを示すタイミングチャートである。
【
図24】実施例1、比較例1の各通信装置の制御ICの入力波形を示すイメージ図である。
【
図25】実施例1に係る通信装置のメモリ部の入力波形を示すイメージ図である。
【
図26】比較例1に係る通信装置のメモリ部の入力波形を示すイメージ図である。
【
図27】メモリアクセス回路の一例を示す模式図である。
【
図28】セットアップ時間とホールド時間を示すタイミングチャートである。
【発明を実施するための形態】
【0012】
以下、図面に基づいて本発明をさらに詳細に説明する。なお、以下の説明では、必要に応じて特定の方向や位置を示す用語(例えば、「上」、「下」、及びそれらの用語を含む別の用語)を用いるが、それらの用語の使用は図面を参照した発明の理解を容易にするためであって、それらの用語の意味によって本発明の技術的範囲が制限されるものではない。また、複数の図面に表れる同一符号の部分は同一もしくは同等の部分又は部材を示す。
【0013】
さらに以下に示す実施形態は、本発明の技術思想の具体例を示すものであって、本発明を以下に限定するものではない。また、以下に記載されている構成部品の寸法、材質、形状、その相対的配置等は、特定的な記載がない限り、本発明の範囲をそれのみに限定する趣旨ではなく、例示することを意図したものである。また、一の実施の形態、実施例において説明する内容は、他の実施の形態、実施例にも適用可能である。また、図面が示す部材の大きさや位置関係等は、説明を明確にするため、誇張していることがある。
[実施形態1]
【0014】
実施形態1に係るデータ転送遮断回路100のブロック図を
図1に示す。この図に示すデータ転送遮断回路100は、制御IC10と、メモリ部20とを備える。制御IC10とメモリ部20は、通信インターフェースを介して接続される。制御IC10は通信インターフェースのデータ転送経路11を介してメモリ部20にメモリアクセス可能としている。メモリ部20は、FLASH(登録商標)メモリやROM等の半導体メモリが利用できる。
【0015】
通信インターフェースは、SPIインターフェース(Serial Peripheral Interface)が好適に利用できる。SPIインターフェースで、制御IC10を通してメモリ部20にアクセスできるように配線される。これら制御IC10とメモリ部20は、例えばプリント配線基板に配置されて、データ転送遮断回路100を構成する。またデータ転送遮断回路100は、画素で構成された表示装置の表示を制御するものに利用できる。例えば、鉄道やバスなどの公共交通機関の駅などで使用される表示板やディスプレイにおいて、制御IC10とメモリ部20を含むデータ転送遮断回路として適用できる。
(制御IC10)
【0016】
制御IC10は、入力端子17と、出力端子18と、コマンド記録部12と、一時記憶部14と、比較器16と、遮断器30を備える。このような制御IC10はプログラマブルICであり、FPGAやマイコン等が利用できる。
【0017】
入力端子17は、外部から入力される入力コマンドを入力するための端子である。入力端子17から入力される信号には、データ入力信号SI、チップセレクト信号、SPIクロック信号SCK等が挙げられる。なお
図1においては、作図の関係上、入力端子17を1のみ示しているが、実際には複数の端子で構成されている。ここでは、入力端子17は、データ入力端子、チップセレクト信号、SPIクロック端子を備えている。
【0018】
出力端子18は、外部から入力される入力コマンドや、制御IC10が生成した信号を出力するための端子である。出力端子18には、データ出力信号、チップセレクト信号、SPIクロック信号SCK等が含まれる。なおこれら入力端子17や出力端子18はSPI信号を使用したが、それに限らずI2C信号を使用してもよい。
【0019】
一時記憶部14は、入力端子17から入力された入力コマンドを一時的に保持する部材である。一時記憶部14は、入力端子17と接続されている。入力端子17から入力されたデータをメモリ部20側に送出するデータ転送経路11の途中で分岐されて、一時記憶部14に接続されている。この一時記憶部14は、フリップフロップ等で構成される。一時記憶部14であるレジスタで、制御IC10は外部から入力端子17を通じて入力されるコマンドを取込む。
(比較器16)
【0020】
比較器16は、一時記憶部14に保持された入力コマンドを、コマンド記録部12に記録された監視コマンドと比較するための部材である。
(選択信号19)
【0021】
選択信号19は、比較器16が遮断器30を動作させる遮断信号である。これにより、入力コマンドが監視コマンドと一致すると比較器16が判定すると、選択信号19でもって遮断器30を動作させ、入力コマンドのメモリ部20への転送を遮断することが可能となる。
(遮断器30)
【0022】
遮断器30は、データ転送経路11の途中に開閉自在に配置されて、このデータ転送経路11で転送される入力コマンドを選択的に遮断するための部材である。このような遮断器30は、制御IC10に組み込まれた論理回路やその他の制御回路により構成できる。その他の制御回路として、物理的にデータ転送経路11を遮断するリレーやスイッチ、あるいはトライステートバッファ等のディスクリート素子などが利用できる。
【0023】
遮断器30の一例を
図2に示す。この図に示す遮断器30は、OR回路31と2つのAND回路である第一AND回路32と第二AND回路33で構成されている。遮断器30に対し、比較器16から遮断信号が入力されると、データ転送経路11が遮断される。ここでは遮断信号がHIGHのとき、遮断器30による遮断が実行されるようにしている。遮断信号は、OR回路31と第一AND回路32、第二AND回路33にそれぞれ入力される。OR回路31では、遮断信号とチップセレクト信号XCSのOR入力となっている。またOR回路31の出力は、遮断時にHIGH固定となる。
【0024】
また第一AND回路32の入力側には、遮断信号の反転入力とデータ入力信号SIのORが入力される。また第一AND回路32の出力側は、遮断時にLOW固定となる。
【0025】
さらに第二AND回路33の入力側には、遮断信号の反転入力とSPIクロック信号SCKのORが入力される。また第二AND回路33の出力側も、遮断時にLOW固定となる。
【0026】
遮断器30の開閉は、比較器16で制御される。比較器16は、一時記憶部14に保持された入力コマンドが、コマンド記録部12に記録された監視コマンドと一致すると判定した場合に、遮断器30を動作させて入力コマンドのメモリ部20への転送を遮断する。
(コマンド記録部12)
【0027】
コマンド記録部12は、予め規定された監視対象の監視コマンドを記録するための部材である。コマンド記録部12は、定義された監視コマンドを保持しており、必要に応じて参照される。このようなコマンド記録部12は、フリップフロップ等の記憶素子で構成される。コマンド記録部12に記録される監視対象の監視コマンドとして、メモリ部20の全消去コマンド、一部(領域)消去コマンド、スリープコマンド(省電力)等が挙げられる。メモリ部20の全消去コマンドは、一般にユーザ側では不要のコマンドであるが、フラッシュメモリの仕様として準備されている。
(シフト監視コマンド)
【0028】
ここではコマンド記録部12に、監視コマンドそのもののみならず、監視コマンドを構成するビットを1ビットずらしたシフト監視コマンドを付加している。このようにすることで、制御IC10がメモリ部20と同じ入力コマンドを読み取れない場合でも、遮断しておくべきコマンドを予め考慮したシフト監視コマンドを、本来の監視コマンドに加えてコマンド記録部12で記録することで、正しく監視コマンドを監視できる。
【0029】
入力信号のビット数は、4ビットや8ビットなど、任意の値が利用できる。4ビットの場合は、コマンドの先頭の2ビット以上を制御IC10が受領した段階で、遮断信号の要否を判定できるようにすることが好ましい。また8ビットの場合は、コマンドの先頭の6ビットを制御IC10が受領した段階で、遮断信号の要否を判定できるようにすることが好ましい。このようにすることで、遮断信号の生成の遅れにより、メモリ部20で監視コマンドが実行されてしまう事態を効果的に阻止できる。
【0030】
例えば比較器16は、一時記憶部14に保持された入力コマンドが、コマンド記録部12に記録されたシフト監視コマンドと、先頭の6ビット以上が一致すると判定した場合に、遮断器30を動作させて入力コマンドのメモリ部20への転送を遮断するよう構成してもよい。これにより、比較器16による入力コマンドの監視と並行してメモリ部20に入力コマンドを転送しても、メモリ部20で入力コマンドが全ビット取り込まれて実行される前に、メモリ部20への入力コマンド転送を遮断して、コマンド監視の実効性を維持できる。
【0031】
制御IC10は、比較器16によってコマンド記録部12に記録された定義とコマンドを比較し、両者が一致した場合にメモリへのアクセスを遮断する。特に、入力端子17から入力される入力コマンドが、制御IC10やメモリ部20で規定されているセットアップ時間又はホールド時間よりも短いタイミングで入力される場合に、有効となる。つまり制御IC10やメモリ部20の動作が保証された規定のタイミングよりも短いタイミングで動作させながらも、本来の監視コマンドと共にシフト監視コマンドも監視することで、遮断するべきコマンドを確実に遮断することが可能となるデータ転送遮断回路100を実現できる。
【0032】
従来、メモリへのアクセスを遮断するためコマンドを監視していたが、使用する機器や部材の個体差に起因するばらつきにより、タイミング仕様を満たさない場合には、遮断すべき監視コマンドを遮断することができないケースが発生することを、本発明者は見出した。例えば
図27に示すメモリアクセス回路において、制御IC910がメモリ920のコマンドを監視して、遮断するべき定義と一致した場合にメモリ920へのアクセスを遮断する場合を考える。このメモリアクセス回路のチップセレクト信号XCS、データ入力信号SI、SPIクロック信号SCKを、
図3のタイミングチャートに示す。ここで、遮断すべき監視コマンドを4ビットの0110bとする。なお末尾のbは2進数表記を示す。また16進数など、他の表記としてもよいことはいうまでもない。そして、この監視コマンドに相当する0110bが入力されたと仮定すると、本来であれば
図3のSPIクロック信号SCKに従い、0110bが
図27のメモリアクセス回路に順次入力され、制御IC910が監視コマンドと合致すると判別して、メモリ920への送出を禁止することが期待される。
【0033】
しかしながら、メモリアクセス回路がタイミング仕様のスペックを満たさない場合に、認識されるコマンドに狂いが生じることがある。例えば監視コマンドに相当するデータ0110bが入力されても、SI-SCK入力のタイミングによっては、制御IC910側で入力された信号を処理するセットアップ時間が小さい結果、データを取り込めずに、本来1であるビットが認識されず0となってしまうことがある。この結果、制御IC910が認識するコマンド0011bと、メモリ920が認識するコマンド0110bに違いが生じて、制御IC910は遮断するべきコマンド0110bをメモリ920にスルーしてしまう事態が生じ得る。そして、一方でメモリ920では、0110bと認識される事態が起こり得る。
【0034】
この様子を、8ビットのコマンドで
図4、
図5のタイミングチャートに基づいて説明する。ここでは、遮断するべきコマンドを11000111bとする。まず、正常にコマンドが通信された場合は、
図4に示すようにコマンドの通信は制御IC910へ1→1→0→0・・・→1→1の順に、1ビット毎に通信される。一方、メモリ920側では、
図5に示すように制御IC910が6発のSCKで110001bを受取った時点で遮断し、メモリ920には8ビットのデータが入力されず無効なコマンドとなる。
【0035】
ここで、遮断したいコマンドの場合は、8ビット目まで通信してから制御すると、誤って遮断したいコマンドをスルーしてしまう可能性がある。すなわち
図6、
図7に示すように遮断信号のタイミングが遅れる場合があるため、8ビット目で遮断しても間に合わない可能性がある。遮断信号は
図7に示すようにSCKで生成されるため、立上りに対して時間が遅れる。またひげ状のパルス(グリッチ、ハザード等とも呼ばれる)が生成される恐れもある。このため、リスク回避の観点から、6ビット目で判断する。
【0036】
一方で、所定のタイミングでコマンドが通信されなかった場合のタイミングチャートを
図8、
図9に示す。
図8、
図9に示すように、所定のタイミングで通信されないことによって、制御IC910とメモリ920とで、コマンドの認識にズレが生じる。本来であれば遮断したいコマンドである11000111bがメモリ920にスルーされてしまい、遮断されない事態となる。ここではセットアップ時間がタイミング仕様の最小値よりも小さい結果、
図8に示すように制御IC910側ではコマンド11100011bを1発目のSCKから認識できている一方で、
図9に示すようにメモリ920側では、1発目のSCKを認識できずに遮断するべきコマンド11000111bを実行してしまう。
【0037】
このように、本来遮断したい信号、例えばメモリの全消去コマンドが誤ってメモリに送信されてしまうと、メモリの内部がクリアされてしまい、メモリに制御ICのプログラムデータが納められている場合などは、動作自体できなくなる事態が起こり得る。
【0038】
制御ICのスペックシートには、セットアップ時間やホールド時間等のタイミング仕様の記載がある。このタイミング仕様は、すべてのICが確実に動作する値であって、それよりも小さい値であっても動作する場合がある。一方で、所定のタイミング、すなわちタイミング仕様で規定されたセットアップ時間やホールド時間よりも短い間隔で入力信号が入ると、コマンドの取込みが1ビットずれた状態となることもあり得る。例えば
図10の制御IC10の入力タイミングチャートに示すように、遮断するべき監視コマンドが0110bの場合、制御IC10が1発目のSCKからコマンドを認識できると、コマンドは1011bとなり、遮断できずにメモリ部にスルーしてしまう。なお
図10の例では、XCS-SCKでタイミング違反が起きた場合を示している。
【0039】
そこで本実施形態においては、メモリ部20へのアクセスを遮断するべき監視コマンドに対して、定義を1ビットずらしたシフト監視コマンドを用意する。これによって、タイミング仕様のスペックを満たさない入力であった場合でも、メモリ部20へのアクセスを遮断できるようになる。例えば遮断するべき監視コマンドが0110の場合に、シフト監視コマンドとして1011bを追加することで、
図11のメモリ部20入力のタイミングチャートに示すように、メモリ部20へのアクセスを遮断できるようになる。この例では、監視コマンドを4ビットとしているため、入力信号の3ビット目で遮断するか否かの判断を行っている。
【0040】
シフト監視コマンドは、監視対象の監視コマンドを右に、すなわち時間的に遅い方に1ビット分、ビットシフトさせたものとできる。この構成により、制御IC10やメモリ部20が所定のタイミングよりも短いタイミングで入力されたコマンドに反応できない場合でも、これに対応させたシフト監視コマンドを付加することで遮断するべきコマンドを確実に遮断することができる。
【0041】
またシフト監視コマンドは、監視対象の監視コマンドの先頭に1を付加したものとしてもよい。これにより、所定のタイミングよりも短いタイミングで入力された場合でも、遮断するべきコマンドを確実に遮断することができる。
【0042】
さらにシフト監視コマンドは、監視対象の監視コマンドの先頭に0を付加したものとしてもよい。これにより、所定のタイミングよりも短いタイミングで入力された場合でも、遮断するべきコマンドを確実に遮断することができる。
【0043】
一方でシフト監視コマンドを、左に1ビット分ビットシフトさせて、かつ末尾に0又は1を付加したものとすることもできる。このような構成により、所定のタイミングよりも短いタイミングで入力された場合でも、遮断するべきコマンドを確実に遮断することができる。なお、将来使う必要が生じたコマンドやメモリに使いたいコマンドが増える場合も想定されるため、遮断するべきコマンドは必要最低限とすることが好ましい。
(8ビットコマンドの例)
【0044】
この様子を、遮断するべきコマンドを11000111bとした8ビットのコマンドで行う例を、
図12~
図17のタイミングチャートに基づいて説明する。ここでは監視コマンド11000111bに基づいて、シフト監視コマンド11100011bを定義し、コマンド記録部12に追加する。シフト監視コマンドは、監視コマンドを1ビットずらして、一番左のビットに1もしくは0を追加したコマンドである。まず、正常に通信が行われる場合を、
図12~
図15のタイミングチャートに基づいて説明する。
(所定のタイミングで通信下の非遮断コマンドの場合)
【0045】
遮断コマンドでないコマンド(ここでは非遮断コマンド00000110b)が所定のタイミングで通信された場合は、
図12の制御IC10側入力、
図13のメモリ部20側入力のタイミングチャートに示すように、制御ICがメモリへコマンドをそのままスルーする。
(正常通信下の遮断コマンドの場合)
【0046】
一方、遮断コマンドが所定のタイミングで通信された場合、
図14の制御IC10側入力、
図15のメモリ部20側入力のタイミングチャートに示すように、制御IC10がコマンドを遮断する。上述の通り監視コマンドとして11000111bが定義されているところ、ここでは
図15に示すように、制御IC10が6発のSCKで110001bを受取った時点で遮断する。この結果、メモリ部20には8ビットのデータが入力されず、無効なコマンドとなる。
(所定のタイミングよりも短いタイミング常通信下の遮断コマンドの場合)
【0047】
また、所定のタイミングで通信されなかった場合に、遮断コマンドが送信されると、
図16の制御IC10側入力、
図17のメモリ部20側入力のタイミングチャートに示すように、制御IC10がコマンドを遮断する。上述の通りシフト監視コマンドとして新たに11100011bが定義されているところ、ここでは
図16に示すように、制御IC10側がシフト遮断コマンドを認識しているので、
図17に示すように、制御IC10が6発目のSCKで111000bを受取った時点で遮断される。この結果、メモリ部20には8ビットのデータが入力されず、無効なコマンドとなる。
(データ転送遮断方法)
【0048】
ここで、外部から入力コマンドを制御IC10に入力し、制御IC10からメモリ部20にメモリアクセスされる回路において、入力コマンドを監視し、特定の監視コマンドを検出するとデータ転送を遮断するデータ転送遮断方法について説明する。まず設定段階として、入力コマンドに対する監視対象の監視コマンドを設定する。具体的には、監視コマンドそのものと、この監視コマンドを構成するビットを、1ビットずらしたシフト監視コマンドとを定義し、これらを制御IC10のコマンド記録部12に記録する。
【0049】
次に運用段階として、制御IC10に入力された入力コマンドを、メモリ部20側に送出するデータ転送経路11から分岐されて接続された一時記憶部14に、一時的に保持する。そして一時記憶部14に保持された入力コマンドを、コマンド記録部12に記録された監視コマンドと比較器16で比較する。ここで比較器16は、一時記憶部14に保持された入力コマンドが、コマンド記録部12に記録された監視コマンドと一致すると判定した場合に、データ転送経路11上に配置された遮断器30を動作させて、当該入力コマンドのメモリ部20への転送を遮断する。これにより、制御IC10がメモリ部20と同じ入力コマンドを読み取れない場合でも、遮断しておくべきコマンドを予め考慮したシフト監視コマンドを、本来の監視コマンドに加えてコマンド記録部12で記録していることから、遮断するべきコマンドを確実に遮断することができる。
【0050】
入力コマンドは、制御IC10又はメモリ部20で規定されている所定のセットアップ時間又はホールド時間よりも短いタイミングで入力されている場合がある。このような場合であっても、制御IC10の動作が保証された規定のタイミングよりも短いタイミングで動作させながら、本来の監視コマンドと共にシフト監視コマンドも監視することで、遮断するべきコマンドを確実に遮断することが可能となるデータ転送遮断回路100を実現できる。
【0051】
制御IC10は、SPI信号をメモリ部20に転送しながら、並行してコマンドを一時記憶部14に取込む。このようにメモリ部20への転送と制御IC10での取り込みが同時に行われるため、制御IC10によるコマンドの読み込みが終わった後では、メモリ部20へのコマンド転送の遮断が間に合わない可能性がある。このため、監視コマンドのすべてのビットが一致した段階で、転送禁止の判定を行うのでなく、監視コマンドを構成するビットの内、一部が一致した段階で、転送を禁止するように構成することが好ましい。
【0052】
例えばコマンドが4ビットであれば2ビット目、又は3ビット目の取込みで遮断することが好ましい。
【0053】
実施形態1における監視コマンドの定義は、
図18、
図19に示すように、遮断したいコマンドを1ビット後ろ(右)にずらし、後ろ(右)にずらした結果として先頭に1を付加したものである。すなわち、遮断するべき監視コマンドが0110bの場合において、
図18に示すように制御IC10入力のセットアップ時間が小さくても、最初のクロック信号SCKの立ち上がりのタイミングで制御IC10が反応し、遮断するべき監視コマンド0110bが検出されない状態となる。そこで実施形態1において、遮断するべき監視コマンド0110bに対して、シフト監視コマンドとして1011bを追加し、さらに3発目のクロック信号SCKで遮断するよう構成することで、
図19に示すように、意図通りにメモリ部20へのアクセスを遮断できるようになる。この結果、入力されるSPI信号が所定のタイミングより小さいことにより、制御IC10は反応できているのに、メモリ部20が反応できない状況においても、所望のコマンド監視制御を正しく動作させることができる。なお、
図18、
図19の例では、入力信号はノーマリーハイ(SIのデフォルト状態がHレベル)としている。
【0054】
図18、
図19に示すように、XCS信号とSCK信号のセットアップ時間が小さいことにより、制御IC10は反応できて1発目のSCK信号のタイミングからデータ入力SIを取込めるものの、メモリ部20は反応できず、2発目のSCK信号から初めてSIを取込む場合がある。この場合において、遮断するべきコマンドと同じ0110bのみを監視コマンドとしてしまうと、メモリ部20に遮断するべきコマンドをスルーしてしまう事態が起こり得る。これに対して、本実施形態1に係るデータ転送遮断回路100では、追加で1011bをシフト監視コマンドとして追加することで、このような事態が生じないように、メモリ部20のアクセスを遮断できる。
[変形例]
【0055】
また監視コマンドは、
図20、
図21のタイミングチャートに示すように、遮断したいコマンドを1ビット後ろ(右)にずらし、後ろ(右)にずらした結果として先頭に0を付加したものとしてもよい。これにより、入力されるSPI信号が所定のタイミングより小さいことにより、制御IC10は反応できないものの、メモリ部20が反応できる状況であっても、遮断すべきコマンドのスルーを回避できる。ここでは、入力信号はノーマリーロウ(SIのデフォルト状態がLレベル)とした。例えば遮断するべきコマンドを0110bとする場合に、監視コマンドを0110bのみとする場合は、
図20の制御IC10入力のタイミングチャートに示すようにセットアップ時間がタイミング仕様よりも短い場合等に、コマンドを読み取れずに0011bと判断されて、スルーしてしまう事態が起こり得る。
【0056】
これに対し、本実施形態に係るデータ転送遮断回路100においては、遮断するべきコマンド0110bに対し、上述の通りシフト監視コマンドとして0011bを追加することで、
図21のメモリ部20入力のタイミングチャートに示すように、3発目のSCK信号で遮断が可能となる。
このように、SI-SCKのセットアップ時間が小さいことにより、仮に制御IC10は反応できずに1つ前の状態のSIを取込む一方で、メモリ部20は反応できて今の状態のSIを取込む場合がある場合でも、
図21のように定義を0011とするシフト監視コマンドを追加しておけばメモリ部20へのアクセスを遮断できるようになる。
[実施形態2]
【0057】
実施形態2に係るデータ転送遮断回路では、シフト監視コマンドとして、
図22、
図23のタイミングチャートに示すように、遮断したいコマンドを1ビット前(左)にずらし、前(左)にずらすと共に、最後に0(または1)を付加する。これにより、入力されるSPI信号が所定のタイミングより小さいことにより、制御IC10が反応できない一方、メモリ部20は反応できる状況でも、正しくコマンドの監視制御を実現できる。ここでは入力信号はノーマリーロウ(SIのデフォルト状態がLレベル)とした。
【0058】
具体的には、XCS-SCKのセットアップ時間が小さいことにより、制御IC10は1発目のSCKでは反応できず、2発目のSCKからSIを取込む一方、メモリ部20は反応でき、1発目のSCKからSIを取込む場合がある。この場合において、
図22の制御IC10入力のタイミングチャートに示すように、監視コマンドを0110bとした場合は、メモリ部20に遮断するべきコマンドをスルーしてしまう。これに対し、シフト監視コマンドとして1100bを追加しておけば、
図23のメモリ部20側入力のタイミングチャートに示すように2発目のSCK信号でメモリ部20へのアクセスを遮断できる。
[実施例1、比較例1]
【0059】
次に実施例1に係る通信装置を試作し、本実施形態に係るデータ転送遮断回路の有効性を確認した。ここでは、制御IC10とメモリ部20に、それぞれFPGAとFLASH(登録商標)メモリを使用した。メモリ部20に対して遮断したいコマンドは、全消去コマンドであるC7hとした。したがって、制御IC10の遮断するべき監視コマンドはC7hであり、シフト監視コマンドはE3hと定義した。ここで定義E3h(11100011b)は、遮断するべき監視コマンドC7h(11000111b)を後ろ(右)に1ビットずらしたものである。また、後ろにずらした結果として先頭に1を付加している。
【0060】
なお、比較例1に係る通信装置として、遮断するべきコマンドとして、監視コマンドC7hのみを定義した以外は、実施例1に係る通信装置と同じとした。ここでは、テクトロニクス&フルーク社製オシロスコープ型番MDO3054を用いて、制御IC10とメモリ部20への入力波形を取得し、さらにXCS-SCKのセットアップ時間を自動測定した。また実施例1、比較例1の各通信装置に対して、XCS-SCKのセットアップ時間を、タイミング仕様の最小10nsより小さい時間で制御IC10に入力した。この結果、実施例1、比較例1の各通信装置の制御IC10はいずれも、SCKの1発目から反応でき、コマンドE3h(11100011b)を認識した。ここで、実施例1、比較例1の各通信装置の制御IC10の入力波形を、
図24に示す。この図において、オシロスコープのCh2はXCSを、Ch4はSIを、Ch3はSCKを、それぞれ示している。
【0061】
また実施例1に係る通信装置のシフト監視コマンドはE3h(11100011b)であるため、メモリ部20への信号を遮断した。ここで、実施例1に係る通信装置のメモリ部20の入力波形を、
図25に示す。この図においても、オシロスコープのCh1はメモリ部20入力のXCSを、Ch4はSIを、Ch3はSCKを、それぞれ示している。この図に示すように、シフト監視コマンドの6ビットが一致しており、SCKの6発目以降を遮断できていることが確認できる。
【0062】
一方で、比較例1に係る通信装置の監視コマンドはC7h(11000111b)であるため、メモリ部20へ信号をスルーしてしまい、メモリ部20の内容が全消去されてしまった。ここで、比較例1に係る通信装置のメモリ部20の入力波形を、
図26に示す。この図においても、オシロスコープのCh1はメモリ部20入力のXCSを、Ch4はSIを、Ch3はSCKを、それぞれ示している。この図に示すように、メモリ部20はXCS-SCKのセットアップ時間がタイミング仕様の最小10nsに満たないため最初のSCKに反応できず、次のSCKからSIを取込む結果、遮断するべきコマンドC7h(11000111b)を認識してしまい、メモリ部20の内容が全消去されてしまった。
【0063】
以上の結果から、実施例1に係る通信装置は頑強なSPI遮断回路を有していると評価できる。
【0064】
本発明は、以下のような態様で実施することもできる。
【0065】
[項1]
外部から入力される入力コマンドを入力する入力端子を備える制御ICと、
前記制御ICからデータ転送経路を介してメモリアクセス可能なメモリ部と
を備えるデータ転送遮断回路であって、
前記制御ICは、
予め監視対象の監視コマンドを記録するためのコマンド記録部と、
前記入力端子から入力された前記入力コマンドを、前記メモリ部側に送出するデータ転送経路から分岐されて接続された、前記入力コマンドを一時的に保持する一時記憶部と、
前記一時記憶部に保持された前記入力コマンドを、前記コマンド記録部に記録された前記監視コマンドと比較する比較器と、
前記データ転送経路上に配置され、前記比較器の制御によって前記データ転送経路で転送される前記入力コマンドを遮断可能な遮断器と、
を備え、
前記比較器は、前記一時記憶部に保持された前記入力コマンドが、前記コマンド記録部に記録された前記監視コマンドと一致すると判定した場合に、前記遮断器を動作させて入力コマンドの前記メモリ部への転送を遮断するよう構成しており、
前記コマンド記録部に、監視対象の監視コマンドとして、
当該監視コマンドそのものと、
当該監視コマンドを構成するビットを、1ビットずらしたシフト監視コマンドと、
を記録してなるデータ転送遮断回路。
【0066】
[項2]
項1に記載のデータ転送遮断回路であって、
前記入力端子から入力される前記入力コマンドが、前記制御IC又は前記メモリ部で規定されている所定のセットアップ時間又はホールド時間よりも短いタイミングで入力されてなるデータ転送遮断回路。
【0067】
[項3]
項1又は2に記載のデータ転送遮断回路であって、
前記シフト監視コマンドが、前記監視対象の監視コマンドを右に1ビット分ビットシフトさせたものであるデータ転送遮断回路。
【0068】
[項4]
項1~3のいずれか一項に記載のデータ転送遮断回路であって、
前記シフト監視コマンドが、前記監視対象の監視コマンドの先頭に1を付加したものであるデータ転送遮断回路。
【0069】
[項5]
項1~4のいずれか一項に記載のデータ転送遮断回路であって、
前記比較器は、前記一時記憶部に保持された前記入力コマンドが、前記コマンド記録部に記録された前記シフト監視コマンドと、先頭の6ビット以上が一致すると判定した場合に、前記遮断器を動作させて前記入力コマンドの前記メモリ部への転送を遮断するよう構成してなるデータ転送遮断回路。
【0070】
[項6]
項1~3のいずれか一項に記載のデータ転送遮断回路であって、
前記シフト監視コマンドが、前記監視対象の監視コマンドの先頭に0を付加したものであるデータ転送遮断回路。
【0071】
[項7]
項1又は2に記載のデータ転送遮断回路であって、
前記シフト監視コマンドが、
左に1ビット分ビットシフトさせて、かつ
末尾に0又は1を付加したものであるデータ転送遮断回路。
【0072】
[項8]
項1~7のいずれか一項に記載のデータ転送遮断回路であって、
前記制御IC及び前記メモリ部が、画素で構成された表示装置の表示を制御するものであるデータ転送遮断回路。
【0073】
[項9]
外部から入力コマンドを制御ICに入力し、前記制御ICからメモリ部にメモリアクセスされる回路において、前記入力コマンドを監視し、特定の監視コマンドを検出するとデータ転送を遮断するデータ転送遮断方法であって、
前記入力コマンドに対する監視対象の監視コマンドとして、
当該監視コマンドそのものと、
当該監視コマンドを構成するビットを、1ビットずらしたシフト監視コマンドと、
を、前記制御ICのコマンド記録部に記録する工程と、
前記制御ICに入力された前記入力コマンドを、前記メモリ部側に送出するデータ転送経路から分岐されて接続された一時記憶部に、一時的に保持する工程と、
前記一時記憶部に保持された前記入力コマンドを、前記コマンド記録部に記録された前記監視コマンドと比較器で比較する工程と、
前記比較器は、前記一時記憶部に保持された前記入力コマンドが、前記コマンド記録部に記録された前記監視コマンドと一致すると判定した場合に、前記データ転送経路上に配置された遮断器を動作させて、当該入力コマンドの前記メモリ部への転送を遮断する工程と、
を含むデータ転送遮断方法。
【0074】
[項10]
項9に記載のデータ転送遮断方法であって、
前記入力コマンドが、前記制御IC又は前記メモリ部で規定されている所定のセットアップ時間又はホールド時間よりも短いタイミングで入力されてなるデータ転送遮断方法。
【産業上の利用可能性】
【0075】
本発明のデータ転送遮断回路及びデータ転送遮断方法は、画素で構成された表示装置に組み込んで利用できる。例えば、鉄道の駅や飛行機の空港、バスのバス停などで使用される表示板やディスプレイにおけるデータ転送遮断に適用できる。
【符号の説明】
【0076】
100…データ転送遮断回路
10…制御IC
11…データ転送経路
12…コマンド記録部
14…一時記憶部
16…比較器
17…入力端子
18…出力端子
19…選択信号
20…メモリ部
30…遮断器
31…OR回路
32…第一AND回路
33…第二AND回路
900…メモリアクセス回路
910…制御IC
920…メモリ部