(57)【要約】【課題】ＳＤメモリカードやマルチメディアカード（ＭＭＣ）などのメモリカードとの通信装置および通信方法においては、データ転送中に急遽データ転送を停止したい場合に、安全にデータ転送が停止できない課題を有していた。【解決手段】メモリカードには誤り検出コード生成回路が搭載されており、データ転送を停止するときは、通信データとその誤り検出コードとの相関を崩すようにすることで、メモリカードにて、当該データを無効とするように作用させる。結果として意図しないデータ書き込みを排除して、安全にデータ転送を停止することができる。【選択図】図１
2005303489.tif 000002
【特許請求の範囲】
【請求項１】
入力データから誤り検出コードを生成する誤り検出コード生成部と、
前記入力データと前記誤り検出コードのいずれかを選択して出力するセレクタと、
前記セレクタの選択制御信号を生成する選択制御部と、
データ転送終了要求信号と前記セレクタの出力を入力として、データ転送終了要求信号が終了要求を示していないときは前記セレクタの出力信号を出力し、データ転送終了要求信号が終了要求を示しているときは前記セレクタの出力信号とは異なる信号を出力する偽コード生成部と、
を備えた通信装置。
【請求項２】
入力データから誤り検出コードを生成する誤り検出コード生成部と、
データ転送終了要求信号と前記誤り検出コードを入力として、データ転送終了要求信号が終了要求を示していないときは前記誤り検出コードを出力し、データ転送終了要求信号が終了要求を示しているときは前記誤り検出コードとは異なる信号を出力する偽コード生成部と、
前記入力データと前記偽コード生成部の出力のいずれかを選択して出力するセレクタと、前記セレクタの選択制御信号を生成する選択制御部と、
を備えた通信装置。
【請求項３】
入力データから誤り検出コードを生成する誤り検出コード生成部と、
データ転送終了要求信号と前記入力データを入力として、データ転送終了要求信号が終了要求を示していないときは前記入力データを出力し、データ転送終了要求信号が終了要求を示しているときは前記入力データとは異なる信号を出力する偽コード生成部と、
前記偽コード生成部の出力と前記誤り検出コードのいずれかを選択して出力するセレクタと、
前記セレクタの選択制御信号を生成する選択制御部と、
を備えた通信装置。
【請求項４】
書き込み予定のデータの誤り検出コードを算出する第一のステップと、
第一のステップに引き続いて、書き込み予定のデータを通信先に出力する第二のステップと、
第二のステップに引き続いて、データ転送の終了要求が発生しているか否かを判断する第三のステップと、
第三のステップにおいてデータ転送の終了要求が発生していないときは第一のステップで算出した誤り検出コードを通信先に出力する第四のステップと、
第三のステップにおいてデータ転送の終了要求が発生しているときは第一のステップで算出した誤り検出コードとは異なるデータを通信先に出力する第五のステップと、
を備えた通信方法。
【請求項５】
書き込み予定のデータの誤り検出コードを算出する第一のステップと、
第一のステップに引き続いて、書き込み予定のデータを通信先に出力するも、途中でデータ転送の終了要求が発生した場合は書き込み予定データとは異なるデータを通信先に出力する第二のステップと、
第二のステップに引き続いて第一のステップで算出した誤り検出コードを通信先に出力する第三のステップと、
を備えた通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置および通信方法に関するものである。
【背景技術】
【０００２】
近年、様々な携帯機器が急速に浸透しており、それらの携帯機器には一般に他の機器とのデータのやりとりを可能にするために、何らかの着脱可能な外部記憶装置が用いられている場合が大多数である。最近ではＳＤメモリカードやマルチメディアカード（ＭＭＣ）など多種多様な記録メディアが登場している。
【０００３】
これら記録メディアには、通信経路へのノイズ混入による誤データ通信を防止するため、通信データに誤り検出コードを付加した通信プロトコルをもつものが多く、たとえばＭＭＣやＳＤメモリカードにおいては、図７に示すように、誤り検出コードとして１６ビットのＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｏｄｅｓ）を通信データの最後尾に付加するように規格化されている。ＭＭＣやＳＤメモリカードで用いる１６ビットのＣＲＣは、図２に示す回路で実現される。図２において、フリップフロップの初期値は“０”である。ＣＲＣ算出回路５の入力データ６は一部ＸＯＲ演算されて一クロックごと順次にフリップフロップに保存される。所定量のデータ転送が完了したときの各フリップフロップの値がＣＲＣ値であり、信号７として出力する（非特許文献１）。
【０００４】
一方、ＭＭＣやＳＤメモリカードなどの記録メディア内には通信装置と同様の誤り検出コード生成回路が搭載されている。これら記録メディアにおいてはデータを受け付けながら内蔵の誤り検出コード生成回路で独自にＣＲＣを計算し、受信するＣＲＣと比較する。双方が同一であれば受信データが正しいものとして受信データの書き込み処理を行い、双方が異なれば受信データは不正なものとして受信データをリジェクトする。
【０００５】
したがって、従来の通信装置においては、図８に示すように、入力データ１０からＣＲＣ１１を生成する誤り検出コード生成部１２と、入力データ１０とＣＲＣ１１とのいずれかを選択して出力データ１３を生成するセレクタ１４と、セレクタ１４の選択制御信号を生成する選択制御部１５とを備えた通信装置で構成する。
【０００６】
図８に示す構成では、まず選択制御部１５で出力データ量を計数しながらセレクタ１４を入力データ１０側にしてデータ出力を行う。同時に誤り検出コード生成部では入力データ１０からＣＲＣ１１を生成する。選択制御部１５は所定のデータ量を出力しおえたと判断したらセレクタ１４をＣＲＣ１１側にする。そしてＣＲＣを出力する。
【０００７】
また、従来のデータ通信方法においては、図９に示すように、書き込み予定データのＣＲＣを算出するステップ（ステップ５０）と、書き込み予定データを通信先に出力するステップ（ステップ５１）と、ステップ５０で算出したＣＲＣを通信先に出力するステップ（ステップ５２）からなる。
【０００８】
図９に示すデータ通信方法は、書き込みデータに引き続いてそのＣＲＣを通信先に出力する処理である。
【０００９】
さて、記録メディアとのデータ転送を停止する場合、たとえばＭＭＣとのデータ通信においては、通信装置はデータ転送終了コマンド（ＣＭＤ１２）をＭＭＣに発行する。ＭＭＣはコマンドやデータをクロックの立ち上りで取り込むように規定されている。コマンドはコマンドインデックス，引数，ＣＲＣの順での４８ビットの列から成る。コマンドは１ビットを１クロックで転送するので、コマンド発行のためには４８クロックが必要である。
【００１０】
従来の通信装置および通信方法においては、データ転送を終了する場合、データとＣＲＣを転送したあとでデータ転送終了コマンド（ＣＭＤ１２）を発行して終了している（非特許文献２）。
【非特許文献１】岡田浩人、他４名、”マルチメディアカード＆ＳＤカードインターフェースの設計事例”、ＴＥＣＨＩ  ＰＣカード／メモリカードの徹底研究、ＣＱ出版社、ｐ．２３１−２５６
【非特許文献２】岡田浩人、他１名、”マルチメディアカード＆ＳＤカードの概要”、ＴＥＣＨＩ  ＰＣカード／メモリカードの徹底研究、ＣＱ出版社、ｐ．２１６−２３０
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、図８に示す従来の通信装置や図９に示す従来の通信方法においては、データ送信中に転送を急遽停止したい場合にきちんとデータ送信を停止できない問題がある。たとえばＭＭＣでは、転送終了コマンド（ＣＭＤ１２）受信中である４８クロック間にもデータを受け付けるので、意図しない書き込みが発生してしまう可能性がある。
【００１２】
本発明は、このような従来の課題を解決するものであり、データ通信を安全に停止するための通信装置および通信方法の提供を目的としている。
【課題を解決するための手段】
【００１３】
前記目的を達成するために、本特許第一の発明である通信装置は、入力データから誤り検出コードを生成する誤り検出コード生成部と、前記入力データと前記誤り検出コードのいずれかを選択して出力するセレクタと、前記セレクタの選択制御信号を生成する選択制御部と、データ転送終了要求信号と前記セレクタの出力を入力として、データ転送終了要求信号が終了要求を示していないときは前記セレクタの出力信号を出力し、データ転送終了要求信号が終了要求を示しているときは前記セレクタの出力信号とは異なる信号を出力する偽コード生成部を備えた通信装置である。
【００１４】
また、前記目的を達成するために、本特許第二の発明である通信装置は、入力データから誤り検出コードを生成する誤り検出コード生成部と、データ転送終了要求信号と前記誤り検出コードを入力として、データ転送終了要求信号が終了要求を示していないときは前記誤り検出コードを出力し、データ転送終了要求信号が終了要求を示しているときは前記誤り検出コードとは異なる信号を出力する偽コード生成部と、前記入力データと前記偽コード生成部の出力のいずれかを選択して出力するセレクタと、前記セレクタの選択制御信号を生成する選択制御部を備えた通信装置である。
【００１５】
また、前記目的を達成するために、本特許第三の発明である通信装置は、入力データから誤り検出コードを生成する誤り検出コード生成部と、データ転送終了要求信号と前記入力データを入力として、データ転送終了要求信号が終了要求を示していないときは前記入力データを出力し、データ転送終了要求信号が終了要求を示しているときは前記入力データとは異なる信号を出力する偽コード生成部と、前記偽コード生成部の出力と前記誤り検出コードのいずれかを選択して出力するセレクタと、前記セレクタの選択制御信号を生成する選択制御部を備えた通信装置である。
【００１６】
また、前記目的を達成するために、本特許第四の発明である通信方法は、書き込み予定のデータの誤り検出コードを算出する第一のステップと、第一のステップに引き続いて、書き込み予定のデータを通信先に出力する第二のステップと、第二のステップに引き続いて、データ転送の終了要求が発生しているか否かを判断する第三のステップと、第三のステップにおいてデータ転送の終了要求が発生していないときは第一のステップで算出した誤り検出コードを通信先に出力する第四のステップと、第三のステップにおいてデータ転送の終了要求が発生しているときは第一のステップで算出した誤り検出コードとは異なるデータを通信先に出力する第五のステップからなるデータ通信方法である。
【００１７】
また、前記目的を達成するために、本特許第五の発明である通信方法は、書き込み予定のデータの誤り検出コードを算出する第一のステップと、第一のステップに引き続いて、書き込み予定のデータを通信先に出力するも、途中でデータ転送の終了要求が発生した場合は書き込み予定データとは異なるデータを通信先に出力する第二のステップと、第二のステップに引き続いて第一のステップで算出した誤り検出コードを通信先に出力する第三のステップからなるデータ通信方法である。
【発明の効果】
【００１８】
本特許第一の発明である通信装置では、データ転送を終了する場合には、データ転送終了要求信号の制御にて本来送出すべきものとは異なるデータと本来送出すべきものとは異なる誤り検出コードを送信する装置であり、通信先では受信データとその誤り検出コードとの間で不整合があるので当該データを無効とし、これにより結果としてデータ転送を安全に停止することができる。
【００１９】
また、本特許第二の発明である通信装置では、データ転送を終了する場合には、データ転送終了要求信号の制御にて本来送出すべきデータと本来送出すべきものとは異なる誤り検出コードを送信する装置であり、通信先では受信データとその誤り検出コードとの間で不整合があるので当該データを無効とし、これにより結果としてデータ転送を安全に停止することができる。
【００２０】
また、本特許第三の発明である通信装置では、データ転送を終了する場合には、データ転送終了要求信号の制御にて本来送出すべきものとは異なるデータと本来送出すべき誤り検出コードを送信する装置であり、通信先では受信データとその誤り検出コードとの間で不整合があるので当該データを無効とし、これにより結果としてデータ転送を安全に停止することができる。
【００２１】
また、本特許第四の発明である通信方法では、データ転送を終了する場合（データ転送終了要求が発生した場合）に、本来送出すべきデータと本来送出すべきものとは異なる誤り検出コードを送信する方法であり、通信先では受信データとその誤り検出コードとの間で不整合があるので当該データを無効とし、これにより結果としてデータ転送を安全に停止することができる。
【００２２】
また、本特許第五の発明である通信方法では、データ転送を終了する場合（データ転送終了要求が発生した場合）に本来送出すべきものとは異なるデータと本来送出すべき誤り検出コードを送信する方法であり、通信先では受信データとその誤り検出コードとの間で不整合があるので当該データを無効とし、これにより結果としてデータ転送を安全に停止することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態について、図面を参照しながら説明する。本実施の形態におけるデータ通信は、通信先として、図７に示す通信プロトコルをもつＭＭＣまたはＳＤメモリカードを対象にする。つまり、予め１バイト〜２０４８バイトの範囲で規定されたデータにつづいて１６ビットのＣＲＣを転送するプロトコルである。以下の説明では、５１２バイトすなわち４０９６ビットのデータと１６ビットのＣＲＣを転送する場合について述べる。なお、ＳＤメモリカードには１ｂｉｔ転送モードと４ｂｉｔ転送モードがあるが、ここでは１ｂｉｔ転送モードでの通信を想定する。
【００２４】
（実施の形態１）
図１は、本特許の第一の発明を適用した通信装置について示している。すなわち、入力データ１００からＣＲＣ１０１を生成する誤り検出コード生成部１０２と、入力データ１００とＣＲＣ１０１のいずれかを選択して信号１０３を出力するセレクタ１０４と、セレクタ１０４の選択制御信号１０５を生成する選択制御部１０６と、データ転送終了要求信号１０７と信号１０３を入力として、データ転送終了要求信号１０７が終了要求を示していないときは信号１０３を出力し、データ転送終了要求信号１０７が終了要求を示しているときは信号１０３とは異なる信号を出力する偽コード生成部１０８を備えた通信装置である。ＭＭＣ（ＳＤメモリカード）へ書き込むデータ１０９は偽コード生成部１０８の出力である。
【００２５】
選択制御部１０６内にはデータ転送のビット数を計数するカウンタを含んでおり、その初期値は”０”である。送信先へデータを１ビット送出するたびにカウンタがインクリメントされ、カウンタが”０”〜”４０９５”であるときは選択制御信号１０５を”０”とし、カウンタが”４０９６”〜”４１１２”であるときは選択制御信号１０５を”１”とする。選択制御部１０６内のカウンタ値が”４１１２”となったときに、データ転送が完了したものとする。
【００２６】
セレクタ１０４は、選択制御信号１０５の値が”０”のときは入力データ１００側を選択し、選択制御信号１０５の値が”１”のときはＣＲＣ１０１側を選択する。
【００２７】
偽コード生成部１０８は、信号１０３を反転して信号１２０を出力するインバータ１２１とセレクタ１２２で構成する。セレクタ１２２の出力が、ＭＭＣ（ＳＤメモリカード）へ書き込むデータ１０９である。セレクタ１２２は、データ転送終了要求信号１０７が”０”のときは信号１０３側を選択し、データ転送終了要求信号１０７が”１”のときは信号１２０側を選択する。
【００２８】
誤り検出コード生成部１０２は、図２に示す１６ビットのＣＲＣ演算回路と同じものである。
【００２９】
以上のように構成された通信装置について、以下、その動作を説明する。
【００３０】
（ケース１−１：データ通信中にデータ転送終了要求信号１０７の極性がつねに”０”の場合）
まず、選択制御部１０６内のカウンタの初期値は”０”であるので、選択制御信号１０５の極性は”０”であり、セレクタ１０４は入力データ１００を選択している。
【００３１】
データ転送終了要求信号１０７の初期状態は”０”であるので、セレクタ１２２は信号１０３側を選択している。つまり、データ１０９は入力データ１００の値そのものとなっている。
【００３２】
データ１０９を１ビット出力するたびに選択制御部１０６内のカウンタはインクリメントされる。同時に誤り検出コード生成部１０２ではＣＲＣを算出する。
【００３３】
選択制御部１０６内のカウンタ値が”４０９６”となったとき、セレクタ１０４はＣＲＣ１０１を選択する。つまりＭＭＣ（ＳＤメモリカード）へ書き込むデータ１０９はＣＲＣ１０１となる。
【００３４】
選択制御部１０６内のカウンタ値が”４１１２”となったら、データ転送は終了となる。
【００３５】
以上のデータ転送において、ＭＭＣ（ＳＤメモリカード）へ書き込むデータ１０９は入力データ１００とそれに対応するＣＲＣ１０１となる。このときＭＭＣ（ＳＤメモリカード）には正しくデータを書き込むことができる。
【００３６】
（ケース１−２：データ通信途中でデータ転送終了要求信号１０７の極性が”０”から”１”へ変化する場合）
まず、選択制御部１０６内のカウンタの初期値は”０”であるので、選択制御信号１０５の極性は”０”であり、セレクタ１０４は入力データ１００を選択している。
【００３７】
データ転送終了要求信号１０７の初期状態は”０”であるので、セレクタ１２２は信号１０３側を選択している。つまり、データ１０９は入力データ１００の値そのものとなっている。
【００３８】
データ１０９を１ビット出力するたびに選択制御部１０６内のカウンタはインクリメントされる。同時に誤り検出コード生成部１０２ではＣＲＣを算出する。
【００３９】
途中、通信中にデータ転送を停止する必要が生じた場合、データ転送終了要求信号１０７の極性が”１”となる。これによりセレクタ１２２は信号１２０を選択し、ＭＭＣ（ＳＤメモリカード）へ書き込むデータ１０９は入力データ１００の反転信号となる。このときも誤り検出コード生成部１０２では引き続いて入力データ１００のＣＲＣを計算する。
【００４０】
選択制御部１０６内のカウンタ値が”４０９６”となったとき、セレクタ１０４はＣＲＣ１０１を選択する。つまりＭＭＣ（ＳＤメモリカード）へ書き込むデータ１０９はＣＲＣ１０１の反転信号となる。
【００４１】
選択制御部１０６内のカウンタ値が”４１１２”となったら、データ転送は終了となる。
【００４２】
以上のデータ転送において、ＭＭＣ（ＳＤメモリカード）へ書き込むデータ１０９はデータとＣＲＣとの整合性がとれていない。そのため、ＭＭＣ（ＳＤメモリカード）では当該データを不正なものとしてリジェクトし、結果として意図しないデータ書き込みを排除して、安全にデータ転送を終了することができる。
【００４３】
（実施の形態２）
図３は、本特許の第二の発明を適用した通信装置について示している。すなわち、入力データ２００からＣＲＣ２０１を生成する誤り検出コード生成部２０２と、データ転送終了要求信号２０３とＣＲＣ２０１を入力として、データ転送終了要求信号２０３が終了要求を示していないときはＣＲＣ２０１を信号２０４として出力し、データ転送終了要求信号２０３が終了要求を示しているときはＣＲＣ２０１とは異なる信号を信号２０４として出力する偽コード生成部２０５と、入力データ２００と信号２０４のいずれかを選択して信号２０６を出力するセレクタ２０７と、セレクタ２０７の選択制御信号２０８を生成する選択制御部２０９を備えた通信装置である。ＭＭＣ（ＳＤメモリカード）へ書き込むデータは信号２０６である。
【００４４】
選択制御部２０９は、（実施の形態１）で説明した選択制御部１０６と同じ動作を行う。
【００４５】
セレクタ２０７は、選択制御信号２０８の値が”０”のときは入力データ２００側を選択し、選択制御信号２０８の値が”１”のときは信号２０４側を選択する。
【００４６】
偽コード生成部２０５は、ＣＲＣ２０１を反転して信号２２０を出力するインバータ２２１とセレクタ２２２で構成する。セレクタ２２２の出力が信号２０４である。セレクタ２２２は、データ転送終了要求信号２０３が”０”のときはＣＲＣ２０１側を選択し、データ転送終了要求信号２０３が”１”のときは信号２２０側を選択する。
【００４７】
誤り検出コード生成部２０２は、図２に示す１６ビットのＣＲＣ演算回路と同じである。
【００４８】
以上のように構成された通信装置について、以下、その動作を説明する。
【００４９】
（ケース２−１：データ通信中にデータ転送終了要求信号２０３の極性がつねに”０”の場合）
まず、選択制御部２０９内のカウンタの初期値は”０”であるので、選択制御信号２０８の極性は”０”であり、セレクタ２０７は入力データ２００を選択している。つまり、データ２０６は入力データ２００の値そのものとなっている。
【００５０】
データ転送終了要求信号２０３の初期状態は”０”であるので、セレクタ２２２はＣＲＣ２０１側を選択している。つまり、データ２０４はＣＲＣ２０１の値そのものとなっている。
【００５１】
データ２０６を１ビット出力するたびに選択制御部２０９内のカウンタはインクリメントされる。同時に誤り検出コード生成部２０２ではＣＲＣを算出する。
【００５２】
選択制御部２０９内のカウンタ値が”４０９６”となったとき、セレクタ２０７は信号２０４を選択する。つまりＭＭＣ（ＳＤメモリカード）へ書き込むデータ２０６はＣＲＣ２０１となる。
【００５３】
選択制御部２０９内のカウンタ値が”４１１２”となったら、データ転送は終了となる。
【００５４】
以上のデータ転送において、ＭＭＣ（ＳＤメモリカード）へ書き込むデータ２０６は入力データ２００とそれに対応するＣＲＣ２０１となる。このときＭＭＣ（ＳＤメモリカード）には正しくデータを書き込むことができる。
【００５５】
（ケース２−２：データ通信途中でデータ転送終了要求信号２０３の極性が”０”から”１”へ変化する場合）
まず、選択制御部２０９内のカウンタの初期値は”０”であるので、選択制御信号２０８の極性は”０”であり、セレクタ２０７は入力データ２００を選択している。
【００５６】
データ転送終了要求信号２０３の初期状態は”０”であるので、セレクタ２２２はＣＲＣ２０１側を選択している。
【００５７】
データ２０６を１ビット出力するたびに選択制御部２０９内のカウンタはインクリメントされる。同時に誤り検出コード生成部２０２ではＣＲＣを算出する。
【００５８】
途中、通信中にデータ転送を停止する必要が生じた場合、データ転送終了要求信号２０３の極性が”１”となる。これによりセレクタ２２２は信号２２０を選択する。選択制御信号２０８は”０”であるので、データ転送終了要求信号２０３の極性が変化しても、書き込みデータ２０６は入力データ２００のままである。
【００５９】
選択制御部２０９内のカウンタ値が”４０９６”となったとき、セレクタ２０７は信号２０４を選択する。つまりＭＭＣ（ＳＤメモリカード）へ書き込むデータ２０６はＣＲＣ２０１の反転信号２２０となる。
【００６０】
選択制御部２０９内のカウンタ値が”４１１２”となったら、データ転送は終了となる。
【００６１】
以上のデータ転送において、ＭＭＣ（ＳＤメモリカード）へ書き込むデータ２０６はデータとＣＲＣとの整合性がとれていない。そのため、ＭＭＣ（ＳＤメモリカード）では当該データを不正なものとしてリジェクトし、結果として意図しないデータ書き込みを排除して、安全にデータ転送を終了することができる。
【００６２】
（実施の形態３）
図４は、本特許の第三の発明を適用した通信装置について示している。すなわち、入力データ３００からＣＲＣ３０１を生成する誤り検出コード生成部３０２と、データ転送終了要求信号３０３と入力データ３００を入力として、データ転送終了要求信号３０３が終了要求を示していないときは入力データ３００を信号３０４として出力し、データ転送終了要求信号３０３が終了要求を示しているときはＣＲＣ３０１とは異なる信号を信号３０４として出力する偽コード生成部３０５と、信号３０４とＣＲＣ３０１のいずれかを選択して信号３０６を出力するセレクタ３０７と、セレクタ３０７の選択制御信号３０８を生成する選択制御部３０９を備えた通信装置である。ＭＭＣ（ＳＤメモリカード）へ書き込むデータは信号３０６である。
【００６３】
選択制御部３０９は、（実施の形態１）で説明した選択制御部１０６と同じ動作を行う。
【００６４】
セレクタ３０７は選択制御信号３０８の値が”０”のときは信号３０４側を選択し、選択制御信号３０８の値が”１”のときはＣＲＣ３０１側を選択する。
【００６５】
偽コード生成部３０５は、入力データ３００を反転して信号３２０を出力するインバータ３２１とセレクタ３２２で構成する。セレクタ３２２の出力が信号３０４である。セレクタ３２２は、データ転送終了要求信号３０３が”０”のときは入力データ３００側を選択し、データ転送終了要求信号３０３が”１”のときは信号３２０側を選択する。
【００６６】
誤り検出コード生成部３０２は図２に示す１６ビットのＣＲＣ演算回路と同じものである。
【００６７】
以上のように構成された通信装置について、以下、その動作を説明する。
【００６８】
（ケース３−１：データ通信中にデータ転送終了要求信号３０３の極性がつねに”０”の場合）
まず、選択制御部３０９内のカウンタの初期値は”０”であるので、選択制御信号３０８の極性は”０”であり、セレクタ３０７は入力データ３０４を選択している。データ転送終了要求信号３０３の初期状態は”０”であるので、セレクタ３２２は入力データ３００側を選択している。つまり、信号３０４は入力データ３００の値そのものとなっている。
【００６９】
データ３０６を１ビット出力するたびに選択制御部３０９内のカウンタがインクリメントされる。同時に誤り検出コード生成部３０２ではＣＲＣを算出する。
【００７０】
選択制御部３０９内のカウンタ値が”４０９６”となったとき、セレクタ３０７はＣＲＣ３０１を選択する。つまりＭＭＣ（ＳＤメモリカード）へ書き込むデータ３０６はＣＲＣ３０１となる。
【００７１】
選択制御部３０９内のカウンタ値が”４１１２”となったら、データ転送は終了となる。
【００７２】
以上のデータ転送において、ＭＭＣ（ＳＤメモリカード）へ書き込むデータ３０６は入力データ３００とそれに対応するＣＲＣ３０１となる。このときＭＭＣ（ＳＤメモリカード）には正しくデータを書き込むことができる。
【００７３】
（ケース３−２：データ通信途中でデータ転送終了要求信号３０３の極性が”０”から”１”へ変化する場合）
まず、選択制御部３０９内のカウンタの初期値”０”であるので、選択制御信号３０８の極性は”０”であり、セレクタ３０７は信号３０４を選択している。また、データ転送終了要求信号３０３の初期状態は”０”であるので、セレクタ３２２は入力データ３００側を選択している。
【００７４】
データ３０６を１ビット出力するたびに選択制御部３０９内のカウンタはインクリメントされる。同時に誤り検出コード生成部３０２ではＣＲＣを算出する。
【００７５】
途中、通信中にデータ転送を停止する必要が生じた場合、データ転送終了要求信号３０３の極性が”１”となる。これによりセレクタ３２２は信号３２０を選択する。つまり、ＭＭＣ（ＳＤメモリカード）へ書き込むデータ３０６は入力データ３００を反転したものになる。
【００７６】
選択制御部３０９内のカウンタ値が”４０９６”となったとき、セレクタ３０７はＣＲＣ３０１を選択する。つまりＭＭＣ（ＳＤメモリカード）へ書き込むデータ３０６はＣＲＣ３０１となる。
【００７７】
選択制御部３０９内のカウンタ値が”４１１２”となったら、データ転送は終了となる。
【００７８】
以上のデータ転送において、ＭＭＣ（ＳＤメモリカード）へ書き込むデータ３０６はデータ途中で反転されるので、データとＣＲＣとの整合性がとれていない。そのため、ＭＭＣ（ＳＤメモリカード）では当該データを不正なものとしてリジェクトし、結果として意図しないデータ書き込みを排除して、安全にデータ転送を終了することができる。
【００７９】
（実施の形態４）
図５は、本特許の第四の発明を適用した通信方法について示している。すなわち、書き込み予定のデータのＣＲＣを算出するステップ４００と、ステップ４００に引き続いて、書き込み予定のデータをＭＭＣ（ＳＤメモリカード）に出力するステップ４０１と、ステップ４０１に引き続いて、データ転送の終了要求が発生しているか否かを判断するステップ４０２と、ステップ４０２においてデータ転送の終了要求が発生していないときはステップ４００で算出したＣＲＣをＭＭＣ（ＳＤメモリカード）に出力するステップ４０３と、ステップ４０２においてデータ転送の終了要求が発生しているときはステップ４００で算出したＣＲＣとは異なるデータをＭＭＣ（ＳＤメモリカード）に出力するステップ４０４からなるデータ通信方法である。
【００８０】
以上のように構成された本実施例のデータ通信方法について、以下、その動作を説明する。
【００８１】
（ケース４−１：データ通信中にデータ転送の終了要求が発生しない場合）
まずステップ４００にて書き込み予定データのＣＲＣを算出する。次にステップ４０１にて書き込み予定のデータをＭＭＣ（ＳＤメモリカード）へ出力する。次にステップ４０２ではデータ転送の終了要求が発生しているか否かを判断する。ここではデータ通信中にデータ転送の終了要求が発生していないためにステップ４０３へ遷移する。次にステップ４０３ではステップ４００で算出したＣＲＣをＭＭＣ（ＳＤメモリカード）へ出力する。以上でデータ転送を完了する。
【００８２】
つまり、このデータ転送方法では、ステップ４０１で書き込んだデータに対応したＣＲＣをステップ４０３で書き込んでいるので、ＭＭＣ（ＳＤメモリカード）に対して正しくデータを書き込むことができる。
【００８３】
（ケース４−２：データ通信中にデータ転送の終了要求が発生した場合）
まずステップ４００にて書き込み予定データのＣＲＣを算出する。次にステップ４０１にて書き込み予定のデータをＭＭＣ（ＳＤメモリカード）へ出力する。次にステップ４０２ではデータ転送の終了要求が発生しているか否かを判断する。ここではデータ転送の終了要求が発生しているためにステップ４０４へ遷移する。次にステップ４０４ではステップ４００で算出したＣＲＣとは異なるデータをＭＭＣ（ＳＤメモリカード）へ出力する。以上でデータ転送を完了する。
【００８４】
つまり、このデータ転送方法では、ステップ４０１で書き込んだデータと対応しないＣＲＣをステップ４０４で書き込んでいるので、ＭＭＣ（ＳＤメモリカード）においては受信データとＣＲＣとの整合性がとれずに当該データを不正なものとしてリジェクトする。結果として意図しないデータ書き込みを排除して、安全にデータ転送を終了することができる。
【００８５】
（実施の形態５）
図６は、本特許の第五の発明を適用した通信方法について示している。すなわち、書き込み予定のデータのＣＲＣを算出するステップ５００と、ステップ５００に引き続いて、書き込み予定のデータをＭＭＣ（ＳＤメモリカード）に出力するも、途中でデータ転送の終了要求が発生した場合は書き込み予定データとは異なるデータをＭＭＣ（ＳＤメモリカード）に出力するステップ５０１と、ステップ５０１に引き続いて、ステップ５００で算出したＣＲＣをＭＭＣ（ＳＤメモリカード）へ出力するステップ５０２からなるデータ通信方法である。
【００８６】
以上のように構成された本実施例のデータ通信方法について、以下、その動作を説明する。
【００８７】
（ケース５−１：データ通信中にデータ転送の終了要求が発生しない場合）
まずステップ５００にて書き込み予定データのＣＲＣを算出する。次にステップ５０１では、データ通信中にデータ転送の終了要求が発生していないために、書き込み予定のデータをＭＭＣ（ＳＤメモリカード）へ出力する。次にステップ５０２ではステップ５００で算出したＣＲＣを出力する。以上でデータ転送を完了する。
【００８８】
つまり、このデータ転送方法では、ステップ５０１で書き込んだデータに対応したＣＲＣをステップ５０２で書き込んでいるので、ＭＭＣ（ＳＤメモリカード）に対して正しくデータを書き込むことができる。
【００８９】
（ケース５−２：データ通信中にデータ転送の終了要求が発生した場合）
まずステップ５００にて書き込み予定データのＣＲＣを算出する。次にステップ５０１にてデータ転送の終了要求が発生するまでは書き込み予定のデータを送信先へ出力する。途中でデータ転送の終了要求が発生したら、書き込み予定のデータとは異なるデータをＭＭＣ（ＳＤメモリカード）へ出力する。次にステップ５０２ではステップ５００で算出したＣＲＣをＭＭＣ（ＳＤメモリカード）へ出力する。以上でデータ転送を完了する。
【００９０】
つまり、このデータ転送方法では、ステップ５０１で書き込むデータが途中から本来のデータと異なっているので、ＭＭＣ（ＳＤメモリカード）においてはデータとＣＲＣとの整合性がとれずに当該データを不正なものとしてリジェクトする。結果として意図しないデータ書き込みを排除して、安全にデータ転送を終了することができる。
【００９１】
以上、本発明の実施の形態では、ＭＭＣまたはＳＤメモリカードを対象とした通信装置ならびに通信方法について説明したが、メモリースティックなど誤り検出コードを伴う通信プロトコルをもつ通信装置に対しては本特許で開示した通信装置ならびに通信方法が有効であることは、明白である。
【００９２】
また、本発明の実施の形態では、誤り検出コードとして１６ビットのＣＲＣを用いたが、誤り検出コードであれば何を用いても本特許を逸脱したものとはならない。
【００９３】
また、本発明の実施の形態では、通信装置における偽コード生成部をインバータとセレクタにて構成したが、入力データと異なるデータを出力する構成であれば、その内部は問わない。
【００９４】
また、本発明の実施の形態では、ＳＤメモリカードを１ｂｉｔ転送モードで使用する例を説明したが、本特許はＳＤメモリカードを４ｂｉｔ転送モードにて動作させた場合でも適用が可能であることは明白である。
【産業上の利用可能性】
【００９５】
本発明にかかる通信装置と通信方法は、データ転送終了要求時に当該データを通信先にとって無効とすることで、データ転送を安全に停止させる装置および方法を提供することができるため、記録メディアとパソコン間のデータをやり取りする記憶装置用アダプタ等に有用である。
【図面の簡単な説明】
【００９６】
【図１】本特許第一の発明である通信装置のブロック構成例を示す図
【図２】ＣＲＣコードを生成する回路ブロック例を示す図
【図３】本特許第二の発明である通信装置のブロック構成例を示す図
【図４】本特許第三の発明である通信装置のブロック構成例を示す図
【図５】本特許第四の発明である通信方法のフローチャート
【図６】本特許第五の発明である通信方法のフローチャート
【図７】ＭＭＣまたはＳＤメモリカードの通信データの内訳を示す図
【図８】従来の通信装置のブロック構成を示す図
【図９】従来の通信方法のフローチャート
【符号の説明】
【００９７】
１００    入力データ
１０２    誤り検出コード生成部
１０４    セレクタ
１０６    入力データと誤り検出コード（ＣＲＣ）の選択制御信号を生成する選択制御部
１０７    データ転送終了要求信号
１０８    偽コード生成部
１０９    通信先へ書き込むデータ
２００    入力データ
２０２    誤り検出コード生成部
２０３    データ転送終了要求信号
２０５    偽コード生成部
２０６    通信先へ書き込むデータ
２０７    セレクタ
２０９    入力データと偽コード生成部の選択制御信号を生成する選択制御部
３００    入力データ
３０２    誤り検出コード生成部
３０３    データ転送終了要求信号
３０５    偽コード生成部
３０６    通信先へ書き込むデータ
３０７    セレクタ
４００    書き込み予定データの誤り検出コード（ＣＲＣ）を算出するステップ
４０１    データを出力するステップ
４０２    データ転送の終了要求を判断するステップ
４０３    ステップ４００で算出した誤り検出コード（ＣＲＣ）を出力するステップ
４０４    ステップ４００で算出した誤り検出コード（ＣＲＣ）とは異なるデータを出力するステップ
５００    書き込み予定データの誤り検出コード（ＣＲＣ）を算出するステップ
５０１    書き込み予定のデータを出力するも、途中でデータ転送の終了要求が発生した場合は書き込み予定データと異なるデータを出力するステップ
５０２    ステップ５００で算出した誤り検出コード（ＣＲＣ）を出力するステップ
【図１】
2005303489.tif 000003
【図２】
2005303489.tif 000004
【図３】
2005303489.tif 000005
【図４】
2005303489.tif 000006
【図５】
2005303489.tif 000007
【図６】
2005303489.tif 000008
【図７】
2005303489.tif 000009
【図８】
2005303489.tif 000010
【図９】
2005303489.tif 000011