(57)【特許請求の範囲】
【請求項１】
ＢＡＳＩＣ言語で記述された通信制御プログラムを実行するＢＡＳＩＣインタプリタを備えた通信制御装置において、
上記ＢＡＳＩＣインタプリタは、複数の算出パターンのＦＣＳ値を算出するファームウエアを備え、
このＦＣＳ値を算出するＢＡＳＩＣ命令のフォーマットに上記複数の算出パターンのいずれかを指定可能とし、
上記通信制御プログラムに上記ＦＣＳ値を算出するＢＡＳＩＣ命令が含まれる場合、上記ＢＡＳＩＣインタプリタは、上記ファームウエアを実行することによりＢＡＳＩＣ命令で指定された算出パターンに該当するＦＣＳ値を算出すること
を特徴とする通信制御装置。
【請求項２】
上記算出パターンとして、
水平パリティ方式，ＣＲＣ１６方式，ＣＲＣ−ＣＣＩＴＴ方式およびＳＵＭ方式のうちいずれか１つのものを含むこと
を特徴とする請求項１記載の通信制御装置。
【請求項３】
上記ＦＣＳ値を算出するＢＡＳＩＣ命令のフォーマットは、
上記ＦＣＳ値を算出したい対象となるデータが格納されているアドレスを指定する変数と上記算出パターンを指定する算出パターンＮｏを含んで構成させること
を特徴とする請求項１記載の通信制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信の送受信データに添付されるＦＣＳ（Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ）  値を算出するＢＡＳＩＣ命令を有するＢＡＳＩＣインタプリタを搭載した通信制御装置に関する。
【０００２】
【従来の技術】
一般に、送信局側の通信制御装置は、通信データの伝送誤りを検出させるためのＦＣＳ値を有する通信データを受信局側の通信制御装置に送信し、一方、受信局側の通信制御装置は、送信局側の通信制御装置から受けた通信データのＦＣＳ値に基づき通信データの伝送誤りをチェックして、受信した通信データの誤りビットを修正したり、通信データの再送を送信局側の通信制御装置に依頼するようになっている。
【０００３】
前述した送信局側の通信データの送信や、受信局の通信データの受信は、通信制御プログラムにより制御されているが、その通信制御プログラムとして、従来からＢＡＳＩＣ言語で記述したプログラムが使用されている。
【０００４】
そして、このＢＡＳＩＣ言語で記述した通信制御プログラムを実行する言語処理プログラムとしてＢＡＳＩインタプリタが使用されている。
【０００５】
なお、ＦＣＳ値として、従来から水平パリティ方式，ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ  ：巡回冗長検査）方式，ＳＵＭ方式（群係数チェック方式）等のものがある。
【０００６】
因みに、ＦＣＳ値を算出するプログラムの一例をあげると、図５に示すようなものがある。この図５に示したプログラムは、敢えて詳細説明をしないが、水平パリティ方式におけるＦＣＳ値を算出するプログラムである。
【０００７】
【発明が解決しようとする課題】
しかしながら、前述したように送信局および受信局で使用されるＢＡＳＩＣ言語で記述された通信制御プログラムには、通信データに付加するＦＣＳ値として水平パリティ方式，ＣＲＣ方式，ＳＵＭ方式等があるため、これらの方式に応じて、通信制御プログラムをＢＡＳＩＣ言語で記述しなければならず、そのプログラミングに多くの時間が取られるという問題点があった。
【０００８】
また、通信制御プログラムがＢＡＳＩＣ言語の場合では、ＢＡＳＩＣインタプリタがＦＣＳ値の解釈・算出に時間がかかりすぎ、本来の通信データの伝送効率が低下するという問題点があった。
【０００９】
特に、ＦＣＳ値の解釈・算出を、例えばＣＲＣ方式で行う場合には、通信制御プログラムの記述が極端に複雑になるので、プログラム内容も複雑になりプログラムサイズもその分大きくなってくる。
【００１０】
そこで、本発明は上述の問題点に鑑み、プログラミングにおいて時間が取られないとともに、通信効率が低下せず、しかも、記述が簡単な通信制御プログラムを稼動させるＢＡＳＩＣインタプリタを搭載した通信制御装置を提供することを目的とする。
【００１１】
上記目的を達成するために、請求項１記載の発明は、ＢＡＳＩＣ言語で記述された通信制御プログラムを実行するＢＡＳＩＣインタプリタを備えた通信制御装置において、上記ＢＡＳＩＣインタプリタは、複数の算出パターンのＦＣＳ値を算出するファームウエアを備え、このＦＣＳ値を算出するＢＡＳＩＣ命令のフォーマットに上記複数の算出パターンのいずれかを指定可能とし、上記通信制御プログラムに上記ＦＣＳ値を算出するＢＡＳＩＣ命令が含まれる場合、上記ＢＡＳＩＣインタプリタは、上記ファームウエアを実行することによりＢＡＳＩＣ命令で指定された算出パターンに該当するＦＣＳ値を算出するようにする。
【００１２】
請求項２記載の発明は、請求項１記載の発明において、上記算出パターンとして、水平パリティ方式，ＣＲＣ１６方式，ＣＲＣ−ＣＣＩＴＴ方式およびＳＵＭ方式のうちいずれか１つのものを含むようにする。
【００１３】
請求項３記載の発明は、請求項１記載の発明において、上記ＦＣＳ値を算出するＢＡＳＩＣ命令のフォーマットは、上記ＦＣＳ値を算出したい対象となるデータが格納されているアドレスを指定する変数と上記算出パターンを指定する算出パターンＮｏを含んで構成させるようにする。
【００１４】
本発明では、ＢＡＳＩＣインタプリタには、ＦＣＳ値を算出するファームウエアを備えているため、プログラマがＦＣＳ値を算出するためのプログラムの作成を容易にすることができる。
【００１５】
また、ＦＣＳ値を算出するファームウエアを指定するＢＡＳＩＣ命令に基づき、ＢＡＳＩＣインタプリタが、ＦＣＳ値を算出するため、ＦＣＳ値の解釈・算出に時間をとられず、伝送効率を高めることができる。
【００１６】
【発明の実施の形態】
以下、本発明に係る通信制御装置を図面に基づき説明する。
【００１７】
図１は本発明に係る通信制御装置の一実施形態の構成を示すブロック図である。
【００１８】
この実施形態の通信制御装置は、ＭＰＵ１１と、ＲＡＭ１２と、ＲＯＭ１３と、他の通信制御装置に対する通信データをインタフェースする伝送Ｉ／Ｆ１４とを備えており、これらがデータバス，アドレスバス等のシステムバス２０に接続されて構成されている。
【００１９】
ＭＰＵ１１は、ＲＯＭ１３に格納されている後述するシステムソフトを実行するようになっている。
【００２０】
ＲＡＭ１２は、ユーザが作成したＢＡＳＩＣ言語で作成された通信制御プログラムと、ＦＣＳ値を算出する文字列データを文字列変数として格納するとともに、ワーク領域および送受信バッファとして使用されるものである。
【００２１】
ＲＯＭ１３は、ＢＡＳＩＣインタプリタとリアルタイムＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）  とからなるシステムソフトウエア（プログラム）を格納するものである。
【００２２】
ＢＡＳＩＣインタプリタは、ＲＡＭ１２中に格納されているＢＡＳＩＣ言語で記述された通信制御プログラムの命令を１つずつ取り出し、それを解釈・実行するとともに、図２に示すような“０”から“９”パターンＮｏに該当するＦＣＳ値を算出するファームウエアを有しているものである。
【００２３】
ここで、この図２に示した算出パターンＮｏとＦＣＳ値を算出するタイプ（以下、単にＦＣＳタイプという）について説明する。
【００２４】
▲１▼算出パターンＮｏが“０”の場合のＦＣＳタイプは、水平パリティ方式のタイプのものであって、１ｂｙｔｅのデータ群を１つのブロックとみなし、その１ｂｙｔｅデータの水平方向のパリティビットの固まりをＦＣＳ値とするとともに、算出されたＨｅｘ（１６進数）データでなるＦＣＳ値がそのまま使用されるものである。
【００２５】
▲２▼算出パターンＮｏが“１”の場合のＦＣＳタイプは、“０”の場合のものと同様、水平パリティ方式のタイプのものであるが、算出されたＨｅｘ（１６進数）データでなるＦＣＳ値を１文字ずつＡＳＣＩＩコードに変換して使用されるものである。
【００２６】
▲３▼算出パターンＮｏが“２”の場合のＦＣＳタイプは、ＣＲＣ１６方式のタイプのものであって、送信データのビット列を１つのデータ値とみなし、そのデータの後に１６ビットの１を補い、その値を、予め定めた１７ビットの数で割算し、その余り値（１６ビット）をＦＣＳ値とするとともに、算出されたＨｅｘ（１６進数）データでなるＦＣＳ値がそのまま使用されるものである。なお、予め定めた１７ビットの数とは、次の生成多項式Ｐの係数の組みである。
Ｐ：  Ｘ１６＋Ｘ１２＋Ｘ２  ＋１−＞０ｘ１１００５
【００２７】
▲４▼算出パターンＮｏが“３”の場合のＦＣＳタイプは、“２”の場合のものと同様ＣＲＣ１６方式のタイプのものであるが、算出されたＨｅｘ（１６進数）データでなるＦＣＳ値を１文字ずつＡＳＣＩＩコードに変換して使用されるものである。
【００２８】
▲５▼算出パターンＮｏが“４”の場合のＦＣＳタイプは、ＣＲＣ−ＣＣＩＴＴ方式のタイプのものであって、送信データのビット列を１つのデータ値とみなし、そのデータの後に１６ビットの０を補い、その値を、予め定めた１７ビットの数で割算し、その余り値（１６ビット）をＦＣＳ値とするとともに、算出されたＨｅｘ（１６進数）データでなるＦＣＳ値がそのまま使用されるものである。なお、予め定めた１７ビットの数とは、次の生成多項式Ｐの係数の組みである。
Ｐ：  Ｘ１６＋Ｘ１２＋Ｘ５  ＋１  −＞０ｘ１１０２１
【００２９】
▲６▼算出パターンＮｏが“５”の場合のＦＣＳタイプは、“４”の場合のものと同様ＣＲＣ−ＣＣＩＴＴ方式のタイプのものであるが、算出されたＨｅｘ（１６進数）データでなるＦＣＳ値を１文字ずつＡＳＣＩＩコードに変換して使用されるものである。
【００３０】
▲７▼算出パターンＮｏが“６”の場合のＦＣＳタイプは、１ｂｙｔｅ  ＳＵＭ方式のタイプものであって、送信データを１ｂｙｔｅ単位で足算（ＳＵＭ）した値をＦＣＳ値とするとともに、算出されたＨｅｘ（１６進数）データでなるＦＣＳ値がそのまま使用されるものである。
【００３１】
▲８▼算出パターンＮｏが“７”の場合のＦＣＳタイプは、“６”の場合のものと同様１ｂｙｔｅ  ＳＵＭ方式のタイプのものであるが、算出されたＨｅｘデータでなるＦＣＳ値を１文字ずつＡＳＣＩＩコードに変換して使用されるものである。
【００３２】
▲９▼算出パターンＮｏが“８”の場合のＦＣＳタイプは、２ｂｙｔｅ  ＳＵＭ方式のタイプものであって、送信データを２ｂｙｔｅ単位で足算（ＳＵＭ）した値をＦＣＳ値とするとともに、算出されたＨｅｘ（１６進数）データでなるＦＣＳ値がそのまま使用されるものである。
【００３３】
ａ算出パターンＮｏが“９”の場合のＦＣＳタイプは、“８”の場合のものと同様２ｂｙｔｅ  ＳＵＭ方式のタイプのものであるが、算出されたＨｅｘデータでなるＦＣＳ値を１文字ずつＡＳＣＩＩコードに変換して使用されるものである。
【００３４】
また、ＢＡＳＩＣインタプリタは、キーボード等の入力装置により、上述した算出パターンＮｏのいずれかが入力されると、例えば、図３中のステップ２０に示すようなＢＡＳＩＣ命令を形成し、このＢＡＳＩＣ命令を実行するようになっている。
【００３５】
このＢＡＳＩＣインタプリタが実行するＢＡＳＩＣ命令は、ＲＡＭ１２のＤＡ＄のアドレスに格納されている送信データに、ＦＣＳ命令（関数）で形成されたＦＣＳ値を付加し、このデータをＲＡＭ１２のＡＮＳ＄のアドレスに格納させることを示している。
【００３６】
ここで、ＦＣＳ命令は、次のようなフォーマットで構成されている。
フォーマット：ＦＣＳ（＜文字列変数名＞,＜算出パターンＮｏ＞）
ここで、ＦＣＳは、ＦＣＳ値を算出するためのＢＡＳＩＣ命令であることを示す関数名を示しており、＜文字列変数名＞（図３中のステップ２０ではＤＡ＄である）は、ＦＣＳ値を算出したい対象となるデータが格納されているアドレスを指定する変数を示しており、＜算出パターンＮｏ＞（図３中のステップ２０では１である）は、ＦＣＳ値を算出するために図２に示した算出パターンＮｏを示している。
【００３７】
リアルタイムＯＳは、データの送受信を効率よく実行するための制御するものである。
【００３８】
この実施形態の通信制御装置では、ＲＯＭ１３に格納されているＢＡＳＩＣインタプリタには、ＦＣＳ値を算出するファームウエアを備えているため、ＢＡＳＩＣプログラムトータルのサイズを大幅に短縮することができ、従って、プログラマがＦＣＳ値を算出するためのプログラムの作成を容易にすることができる。
【００３９】
例えば、図５において説明した従来の水平パリティ方式のプログラムの中のＦＣＳ値を算出する部分、すなわち、行番号が１００から１８０の命令が、図３に示した行番号が２０のＢＡＳＩＣ命令のみで置き換えることができる。
【００４０】
また、ＦＣＳ値を算出するファームウエアを指定するＢＡＳＩＣ命令に基づき、ＢＡＳＩＣインタプリタが、ＦＣＳ値を算出するため、ＦＣＳ値の解釈・算出に時間をとられず、伝送効率を高めることができる。
【００４１】
さらに、送信データが複数パターンある場合でも、共通サブルーチンを使用する必要がないため、例えば図４に示すように、ステップ行１００において行っている文字列変数間の代入（図４（ａ）参照）、すなわち、共通サブルーチンが使用するワークエリアに送信データを格納させるという処理が不要となる。
【００４２】
【発明の効果】
以上本発明によれば、ＢＡＳＩＣインタプリタには、ＦＣＳ値を算出するファームウエアを備えているため、プログラマがＦＣＳ値を算出するためのプログラムの作成を容易にすることができる。
【００４３】
また、ＦＣＳ値を算出するファームウエアを指定するＢＡＳＩＣ命令に基づき、ＢＡＳＩＣインタプリタが、ＦＣＳ値を算出するため、ＦＣＳ値の解釈・算出に時間をとられず、伝送効率を高めることができる。
【図面の簡単な説明】
【図１】本発明に係る通信制御装置の一実施形態の構成を示すブロック図。
【図２】図１中のＢＡＳＩＣインタプリタにファ−ムウェアとして有する算出パターンの内容を説明する説明図。
【図３】図１中のＢＡＳＩＣインタプリタが実行するＦＣＳ値算出プログラム。
【図４】プログラム作成においてステップ数削減を説明するための説明図。
【図５】従来の通信制御装置のＢＡＳＩＣインタプリタが実行するＦＣＳ値算出プログラム。
【符号の説明】
１１  ＭＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  伝送Ｉ／Ｆ
【図１】
0003629910.tif 000002
【図２】
0003629910.tif 000003
【図３】
0003629910.tif 000004
【図４】
0003629910.tif 000005
【図５】
0003629910.tif 000006