JP3065492U - コマンド処理装置 - Google Patents

コマンド処理装置

Info

Publication number
JP3065492U
JP3065492U JP1999004973U JP497399U JP3065492U JP 3065492 U JP3065492 U JP 3065492U JP 1999004973 U JP1999004973 U JP 1999004973U JP 497399 U JP497399 U JP 497399U JP 3065492 U JP3065492 U JP 3065492U
Authority
JP
Japan
Prior art keywords
command
data
bit
byte
checksum
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP1999004973U
Other languages
English (en)
Inventor
忠久 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Funai Electric Co Ltd
Original Assignee
Funai Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Funai Electric Co Ltd filed Critical Funai Electric Co Ltd
Priority to JP1999004973U priority Critical patent/JP3065492U/ja
Application granted granted Critical
Publication of JP3065492U publication Critical patent/JP3065492U/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 【課題】 チェックサムだけでは正しく判別できない不
正なコマンドを判別可能とする。 【解決手段】 CPU3は、ASIC2のバッファ8に
格納された8バイトのコマンドデータを読み出してまず
チェックサムを計算し、8バイト目のチェックサムと一
致するかどうかを判断する。そして、チェックサムが一
致すると判断した場合には、ROM又はRAMから読み
出したビットチェック用パラメータと、バッファ8から
読み出したコマンドのパラメータ領域(3ビット目から
7ビット目まで)のデータとの、対応するビットごとの
論理積をとり、いずれかのビットで値0にならないビッ
トがあるかどうかを全ビットについて判断する。そし
て、いずれかのビットで値0にならないビットがあった
場合には、そのビットを含むバイトが不正であるので、
そのコマンドを無効として処理する。

Description

【考案の詳細な説明】
【0001】
【考案の属する技術分野】
本考案は、上位機器から送られてくるコマンドを処理する例えばプリンタなど のコマンド処理装置に関するものである。
【0002】
【従来の技術】
プリンタにおいては、その上位機器であるコンピュータから、印字データとと もにプリンタに所定の動作を指令するための種々のコマンドが送られてくる。 図1は、このようなプリンタとコンピュータとからなるシステムの概略構成図 を示している。
【0003】 図において、1は上位機器であるパーソナルコンピュータ(以下、CPと略記 する)、2はプリンタ側に設けられたデータ記憶素子等を含むASIC(Applic ation Specific Integrated Circuit)、3はプリンタ側に設けられた中央演算処 理装置(以下、CPUと略記する)である。
【0004】 CPU3は、プリンタの各部の動作を制御するものであり、ASIC2とはデ ータバス5及びアドレスバス6によって接続されている。また、7はASIC2 からCPU3に対して割り込みをかける割り込み信号ラインである。ASIC2 はパラレルポート4によってPC1と接続されている。
【0005】 ASIC2の内部には、レジスタで構成されるバッファ8が設けられており、 PC1からパラレルポート4を介してプリンタに送られるデータは、一旦このバ ッファ8に格納される。格納されたデータは、データバス5を介してCPU3に 読み出される。
【0006】 このようなシステムにおいて、バッファ8は例えば8バイトのレジスタであり 、PC1から8バイトのデータ列を受信して1バイト単位で格納するようになっ ている。図2は、8バイトからなるコマンドのデータ構造の一例を示している。 このコマンドは、先頭バイトにヘッダ、2バイト目にコマンドの種類を現す制御 コードを有しており、3バイト目から7バイト目までが制御内容を示すデータ( パラメータ領域)となっている。また、最後の8バイト目は後述するチェックサ ムとなっている。
【0007】 このコマンドがバッファ8に格納されると、CPU3によって読み出されてチ ェックサムが計算され、その結果に基づいて正常なデータであるかどうかが判別 される。すなわち、2バイト目から7バイト目までのデータの合計(低位2桁) によるチェックサムと、8バイト目のチェックサムとが一致するかどうかをみて 、一致していれば正常なデータと判別し、一致していなければ正常でないデータ と判別する。このようなチェックサムの照合によってデータの正否を判別するプ リンタは、例えば特開平1−241478号公報に開示されている。
【0008】
【考案が解決しようとする課題】
しかしながら、このようなチェックサムによる判別だけでは、例えばパラメー タ領域のデータ(3バイト目から7バイト目までの制御内容を示すデータ)が入 れ替わっていたような場合には、チェックサムは一致するため、そのデータが正 常なデータとして判別されてしまうといった問題があった。 本考案はこのような問題点を解決すべく創案されたものであって、その目的は 、チェックサムだけでは正しく判別できない不正なコマンドも、不正なコマンド として正しく判別できるようにしたコマンド処理装置を提供することにある。
【0009】
【課題を解決するための手段】
上記課題を解決するため、本考案のコマンド処理装置は、受信したコマンドの データ列を所定ビット単位でバッファに格納するとともに、この格納したコマン ドのデータについて良否判別を行う良否判別手段を備え、この良否判別手段での 良否判別後にコマンドの処理を行うコマンド処理装置において、良否判別手段は 、コマンドのデータ列に対応する並びのビットチェック用パラメータを具備し、 このビットチェック用パラメータと受信したコマンドのデータとの比較によって コマンドの良否を判別することを特徴とする。すなわち、受信したコマンドのデ ータを、予め用意しているビットチェック用パラメータと、対応するビット単位 で比較することにより、受信したコマンドのデータ例がバイト単位で入れ替わっ ていたような場合でも、そのコマンドを不正なコマンドとして正しく判別するこ とができる。なお、ここで「所定ビット単位」とは、例えば1バイト(8ビット )のことをいう。また、本考案のコマンド処理装置は、上記構成において、ビッ トチェック用パラメータは、コマンドの制御内容を現すパラメータ領域のデータ 列に対応している。
【0010】 また、本考案のコマンド処理装置は、上記構成において、ビットチェック用パ ラメータは、コマンドの未使用ビットに対応するビットを1、何らかのデータが ある使用ビットに対応するビットを0に設定したデータ列であり、良否判別手段 は、このビットチェック用パラメータとコマンドのデータとの対応するビットご との論理積をとることによってコマンドの良否を判別することを特徴とする。つ まり、ビットごとに論理積をとった結果は、コマンドのデータが正しい場合には 全て0の値となり、コマンドのデータに正しくないデータ、つまり未使用である はずのビットに1が入っている場合には、そのビットの論理積が1となる。従っ て、良否判別手段では、論理積をとった結果、すべての値が0となれば正常なコ マンド、1つでも1になれば不正なコマンドであると判別することができる。
【0011】 また、本考案のコマンド処理装置は、上記構成において、良否判別手段は、バ ッファに格納されたデータについてチェックサムの一致、不一致を判別するチェ ックサム判別部を併せて具備することを特徴とする。つまり、チェックサムでの 判別も行うことで、コマンドのより正確な良否判別が可能となる。 また、本考案のコマンド処理装置は、上記構成において、良否判別手段は、チ ェックサム判別部によってチェックサムの不一致が判別されたときには、ビット チェック用パラメータによる判別を行わないことを特徴とする。これにより、重 複した無駄なチェックを回避することができる。
【0012】
【考案の実施の形態】
以下、本考案の実施の形態について、図面を参照して説明する。 ここでは、図1のシステムに本考案を適用した場合について説明する。なお、 本実施の形態においては、図1に示すハードウェア構成に基本的な変更はなく、 またPC1から送られてくるコマンドのデータ構造も図2に示したものと同じで ある。従って、ここではハードウェア構成やコマンドのデータ構造についての詳 細な説明は省略する。
【0013】 ただし、本実施の形態では、コマンドの良否を判別するために、コマンドのデ ータ列に対応する並びのビットチェック用パラメータを、そのコマンドの種類に 応じた数だけ予め具備している。このビットチェック用パラメータは、例えばC PU3に付随して設けられている図示しないROM又はRAMに格納されている 。すなわち、コマンドの良否判別手段は、ROM又はRAMを含めたCPU3に よって実現されている。
【0014】 図3(a)は、PC1からプリンタに送られてきた任意のコマンドがASIC 2のバッファ8に格納された状態を示している。この例では、先頭の1バイト目 のヘッダに「1B」、2バイト目に「30」、3バイト目から7バイト目までの パラメータ領域のうち、その3バイト目に「84」、4バイト目に「10」、5 バイト目に「02」、6バイト目と7バイト目に「00」、8バイト目のチェッ クサムに「C4」のデータが格納されている。ただし、各データは16進数で表 されている。2バイト目の制御コードが30であるこのコマンドは、3バイト目 から7バイト目までのパラメータ領域のうち、3バイト目から5バイト目までが 有効なデータ、6バイト目と7バイト目は意味の無いデータとなっている。
【0015】 ここで示したコマンドは、3バイト目の「84」が不正なデータであって、本 来のデータは、図3(b)に示すように「80」又は「00」(ただし、図3( c)では「80」としている)である。つまり、コマンドの3バイト目の内容は 、「ビット7:スイッチ、ビット6〜ビット0:未使用」となっており、ビット 7が1のとき16進数ではデータ「80」となり、ビット7が0のとき16進数 ではデータ「00」となる。
【0016】 そのため、この正しいコマンドの並びに対応するように作成されたビットチェ ック用パラメータは、図3(c)に示すようなデータ列となる。このビットチェ ック用パラメータは、コマンドのパラメータ領域である3バイト目から7バイト 目に対応した5バイトのデータ列となっている。すなわち、コマンドの3バイト 目「80」に対応する1バイト目に「7F」、コマンドの4バイト目「10」に 対応する2バイト目に「00」、コマンドの5バイト目「02」に対応する3バ イト目に「00」、コマンドの6バイト目「00」に対応する4バイト目に「F F」、コマンドの7バイト目「00」に対応する5バイト目に「FF」のデータ が格納されている。
【0017】 つまり、ビットチェック用パラメータは、コマンドのパラメータ領域の未使用 ビットを1、何らかのデータがあるビットを0としたデータ列となっている。 例えば、正しいコマンドの3バイト目のデータである「80」は、2進数では 「10000000」であり、これに対応するビットチェック用パラメータの1 バイト目のデータ「7F」は、2進数では「01111111」である。また、 正しいコマンドの6バイト目のデータである「00」は、2進数では「0000 0000」であり、これに対応するビットチェック用パラメータの4バイト目の データ「FF」は、2進数では「11111111」である。
【0018】 その結果、ビットチェック用パラメータと、これに対応するコマンドのパラメ ータ領域のデータとを、対応するビットごとに論理積をとれば、図5(a)に示 すように、コマンドが正しい場合、全ての値が0となる。一方、図5(b)に示 すように、コマンドが正しくない場合には、いずれかのビットで値が1となるの で、このような論理積後の値を判別することで、コマンドの良否を判別すること ができる。ここで、図5(b)は、図3(a)に示す不正なコマンドと図3(c )に示すビットチェック用パラメータとの論理積をとった結果であり、コマンド の3バイト目の論理積が「04」、すなわち「00000100」となり、2ビ ット目が1になっている。つまり、コマンドの3バイト目が不正なデータである ことが分かる。
【0019】 本考案を適用したプリンタではコマンドは10数個あるので、このようなビッ トチェック用パラメータもこれに対応した数だけROM又はRAMに予め格納さ れている。 次に、上記の図3(a)に示すコマンドがASIC2のバッファ8に格納され た場合のコマンド処理について、図4に示すフローチャート及び図5に示す説明 図を参照して説明する。
【0020】 CPU3は、このバックファ8に格納された図3(a)に示す8バイトのデー タを読み出してまずチェックサムを計算し(ステップS1)、8バイト目のチェ ックサムと一致するかどうかを判断する(ステップS2)。ただし、チェックサ ムの計算や照合の方法は従来と同じである。その結果、チェックサムが一致しな ければ(ステップS2でNoと判断されると)、そのコマンドを無効として処理 する(ステップS9)。この場合には、3バイト目のデータが不正なデータであ るにも係わらずチェックサムは一致する(ステップS2でYesと判断される) 。
【0021】 CPU3は、チェックサムが一致すると判断すると、次に、読み出したデータ の2バイト目のデータからコマンドの種類を判別し(ステップS3)、その種類 に応じた図3(b)に示すビットチェック用パラメータを、図示しないROM又 はRAMから読み出す(ステップS4)。そして、この読み出したビットチェッ ク用パラメータと、バッファ8から読み出したコマンドのパラメータ領域(3ビ ット目から7ビット目まで)のデータとの、対応するビットごとの論理積をとる (ステップS5)。
【0022】 そして、論理積をとった結果、いずれかのビットで値0にならないビットがあ るかどうかを全ビットについて判断し(ステップS7,S8)、いずれかのビッ トで値0にならないビットがあった場合(ステップS6でNoと判断された場合 )には、そのビットを含むバイトが不正であるので、ステップS9へと動作を進 め、そのコマンドを無効として処理する。この場合には、図4(b)に示すよう に、コマンドの3バイト目が不正であるので、ステップS6でNoと判断される 。
【0023】 因みに、論理積をとった結果、全てのビットで値0になった場合(ステップS 7及びステップS8で共にYesと判断された場合)には、このコマンドは正常 なコマンドであると判断する(ステップS8)。 このように、チェックサムだけでなく、ビットチェック用パラメータを併用し てコマンドの良否を判別すれば、チェックサムでは分からない不正なコマンドも 判別可能となり、より精度の高いチェックが可能となる。
【0024】
【考案の効果】
本考案のコマンド処理装置によれば、コマンドのデータ列に対応する並びのビ ットチェック用パラメータを具備し、このビットチェック用パラメータと受信し たコマンドのデータとの比較によってコマンドの良否を判別するように構成した ので、例えば受信したコマンドのデータ例がバイト単位で入れ替わっていたよう な場合でも、そのコマンドを不正なコマンドとして正しく判別することができる 。
【0025】 また、本考案のコマンド処理装置によれば、ビットチェック用パラメータは、 コマンドの未使用ビットに対応するビットを1、何らかのデータがある使用ビッ トに対応するビットを0に設定したデータ列であり、このビットチェック用パラ メータとコマンドのデータとの対応するビットごとの論理積をとることによって コマンドの良否を判別するように構成したので、論理積をとった結果、すべての 値が0であれば正常なコマンド、1つでも1になれば不正なコマンドであると判 別することができる。
【0026】 また、本考案のコマンド処理装置によれば、バッファに格納されたデータにつ いてチェックサムの一致、不一致を判別するチェックサム判別部を併せて具備す ることにより、チェックサムでの判別も併せて行うことで、コマンドのより正確 な良否判別が可能となる。 また、本考案のコマンド処理装置によれば、チェックサム判別部によってチェ ックサムの不一致が判別されたときには、ビットチェック用パラメータによる判 別を行わないように構成したので、重複した無駄なチェックを回避することがで きる。
【図面の簡単な説明】
【図1】プリンタとコンピュータとからなるシステムの
概略構成図である。
【図2】コマンドのデータ構造を示す説明図である。
【図3】(a)はバッファに格納された不正なコマンド
のデータ例、(b)はバッファに格納された正しいコマ
ンドのデータ例、(c)は対応するビットチェック用パ
ラメータの例を示す説明図である。
【図4】本考案のコマンド処理装置の動作を示すフロー
チャートである。
【図5】(a)は正しいコマンドとビットチェック用パ
ラメータとの論理積後の値を示す説明図、(b)は不正
なコマンドとビットチェック用パラメータとの論理積後
の値を示す説明図である。
【符号の説明】
1 パーソナルコンピュータ(PC) 2 ASIC 3 中央演算処理装置(CPU) 8 バッファ

Claims (5)

    【実用新案登録請求の範囲】
  1. 【請求項1】 受信したコマンドのデータ列を所定ビッ
    ト単位でバッファに格納するとともに、この格納したコ
    マンドのデータについて良否判別を行う良否判別手段を
    備え、この良否判別手段での良否判別後にコマンドの処
    理を行うコマンド処理装置において、 前記良否判別手段は、コマンドのデータ列に対応する並
    びのビットチェック用パラメータを具備し、このビット
    チェック用パラメータと受信したコマンドのデータとの
    比較によってコマンドの良否を判別することを特徴とす
    るコマンド処理装置。
  2. 【請求項2】 前記ビットチェック用パラメータは、前
    記コマンドの制御内容を現すパラメータ領域のデータ列
    に対応していることを特徴とする請求項1に記載のコマ
    ンド処理装置。
  3. 【請求項3】 前記ビットチェック用パラメータは、コ
    マンドの未使用ビットに対応するビットを1、何らかの
    データがある使用ビットに対応するビットを0に設定し
    たデータ列であり、前記良否判別手段は、このビットチ
    ェック用パラメータとコマンドのデータとの対応するビ
    ットごとの論理積をとることによってコマンドの良否を
    判別することを特徴とする請求項1又は2に記載のコマ
    ンド処理装置。
  4. 【請求項4】 前記良否判別手段は、前記バッファに格
    納されたデータについてチェックサムの一致、不一致を
    判別するチェックサム判別部を併せて具備することを特
    徴とする請求項1、2又は3に記載のコマンド処理装
    置。
  5. 【請求項5】 前記良否判別手段は、チェックサム判別
    部によってチェックサムの不一致が判別されたときに
    は、前記ビットチェック用パラメータによる判別を行わ
    ないことを特徴とする請求項4に記載のコマンド処理装
    置。
JP1999004973U 1999-07-06 1999-07-06 コマンド処理装置 Expired - Lifetime JP3065492U (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1999004973U JP3065492U (ja) 1999-07-06 1999-07-06 コマンド処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1999004973U JP3065492U (ja) 1999-07-06 1999-07-06 コマンド処理装置

Publications (1)

Publication Number Publication Date
JP3065492U true JP3065492U (ja) 2000-02-02

Family

ID=43199099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1999004973U Expired - Lifetime JP3065492U (ja) 1999-07-06 1999-07-06 コマンド処理装置

Country Status (1)

Country Link
JP (1) JP3065492U (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016059792A (ja) * 2015-06-22 2016-04-25 山佐株式会社 遊技機用制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016059792A (ja) * 2015-06-22 2016-04-25 山佐株式会社 遊技機用制御装置

Similar Documents

Publication Publication Date Title
US7877647B2 (en) Correcting a target address in parallel with determining whether the target address was received in error
JPH1040122A (ja) 計算機
JP3065492U (ja) コマンド処理装置
US4924465A (en) Memory with function test of error detection/correction device
US6920593B2 (en) Logical verification apparatus and method for memory control circuit
EP3955112A1 (en) Method and apparatus for memory error detection
JPH05274467A (ja) データ入力装置
EP1764700A1 (en) System for elevator electronic safety device
CN116094531B (zh) Sent信号接收系统、芯片
JP2858816B2 (ja) Eepromの初期設定方式
JP3305667B2 (ja) ファームウェアデータの書込み方法
JP2000235506A (ja) コマンド処理装置および処理方法
JPS5839326A (ja) プログラムロ−ド方式
JP2907114B2 (ja) Eepromの1ビット誤り訂正方法とその装置
CN1051095A (zh) 个人计算机存储单元奇偶错误指示器
JP2704062B2 (ja) 情報処理装置
JPH06274468A (ja) コンピュ−タの異常検出方法
JPH09202011A (ja) 簡易二重化チェック機能を備えたイメージ展開処理装置
JPH1139897A (ja) デジタル記憶手段の記憶データ検査方法
JPS59177799A (ja) 読出専用メモリのチエツク方式
JPH10333992A (ja) フラッシュメモリ書き込みデータ及びフラッシュメモリ搭載機器
JP2000347948A (ja) メモリチェック方式
JPH0348346A (ja) メモリチェック装置
JPH058652U (ja) エラー検出訂正回路を有するメモリ装置
JPS626324A (ja) デ−タ検出装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term