JP2001045095A - データ通信方式 - Google Patents

データ通信方式

Info

Publication number
JP2001045095A
JP2001045095A JP21169799A JP21169799A JP2001045095A JP 2001045095 A JP2001045095 A JP 2001045095A JP 21169799 A JP21169799 A JP 21169799A JP 21169799 A JP21169799 A JP 21169799A JP 2001045095 A JP2001045095 A JP 2001045095A
Authority
JP
Japan
Prior art keywords
data
packet
parity
cpu
received
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.)
Pending
Application number
JP21169799A
Other languages
English (en)
Inventor
Keisuke Endo
圭介 遠藤
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.)
Alpine Electronics Inc
Original Assignee
Alpine Electronics Inc
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 Alpine Electronics Inc filed Critical Alpine Electronics Inc
Priority to JP21169799A priority Critical patent/JP2001045095A/ja
Publication of JP2001045095A publication Critical patent/JP2001045095A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 パケットの終了を確実に検出することがで
き、データの通信速度を上げることができるデータ通信
方式を提供すること。 【解決手段】 ナビゲーション装置2は、パケットを送
信する際にパケットの先頭1バイト目のデータについて
は奇数パリティに設定し、2バイト目以降のデータにつ
いては偶数パリティに設定してパリティビットを付加し
てパケットの送信を行う。オーディオ装置4は、ナビゲ
ーション装置2から受信したパケットの各データについ
て1バイト毎にパリティチェックを行い、パリティチェ
ック結果を含むステータス情報と1バイトの受信データ
列とをRAM44に格納する。複数のパケットが誤って
1つのパケットとして受信された場合にも、CPU40
は、RAM44に格納されたステータス情報に基づきパ
リティエラーとなっているデータを調べることで、各パ
ケットの先頭1バイト目のデータを検出することができ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の装置やプロ
セッサ等の間で非同期にデータの送受信を行うデータ通
信方式に関する。
【0002】
【従来の技術および発明が解決しようとする課題】非同
期通信を利用したデータ通信では、送信側は送信したい
データの前後にデータ送信元のアドレスやエラー検出用
データ等を付加したパケットを送信し、受信側でパケッ
トの終了を判定してデータ受信を完了するのが一般的で
あった。例えば、ある一定時間を越えてデータが送信さ
れない場合にこの時間を検出してパケットが終了したも
のと判断するものがある。一定時間を検出する方法とし
ては、例えばパケットに含まれるデータ列に対応した信
号の立ち上がりあるいは立ち下がりに同期してリセット
動作を行うタイマを用い、このタイマがタイムオーバー
になったときにパケットの終了を検出する。受信装置の
マイコン等はタイマがタイムオーバーになったときに出
力される割り込み信号を検出したときにパケットの終了
を認識するため、それまではパケットの終了を知るため
にパケット内の特定箇所のデータを調べる等の処理が不
要であって、処理の負担が軽くなる。
【0003】ところで、この方法では、データの通信速
度を上げようとしてパケットの間隔を短くしすぎるとパ
ケットの終了を検出できないという問題があった。した
がって、パケットの終了を確実に判断するためには、か
なり長いパケット間隔を設定する必要があり、データの
通信速度を上げることができないという問題があった。
【0004】本発明は、このような点に鑑みて創作され
たものであり、その目的は、パケットの終了を確実に検
出することができ、データの通信速度を上げることがで
きるデータ通信方式を提供することにある。
【0005】
【課題を解決するための手段】上述した課題を解決する
ために、本発明のデータ通信方式は、パケットに含まれ
る複数のデータについて、先頭のデータのパリティとそ
れ以外のデータのパリティとが異なるように設定してパ
ケットの送信を行っている。したがって、受信側におい
ては、複数のパケットを1つのパケットと誤って判断し
た場合であっても、パリティエラーの有無に応じて各パ
ケットの先頭位置、すなわち各パケットの終了を確実に
検出することができる。また、パケットの終了を検出す
るために複数のパケットの送出間隔を長く設定する必要
がなくなるため、データの通信速度を上げることができ
る。
【0006】また、上述した送信処理手段から送信され
たデータを通信路を介して受信したときに、パリティチ
ェック手段によって受信データのパリティチェックを行
い、このチェック結果に基づいて受信パケットの先頭位
置および終了位置の少なくとも一方を検出することが望
ましい。上述したように各パケットの先頭データのパリ
ティのみが異なる内容で設定されているため、受信側で
は複数のパケットを誤って1つのパケットとして受信し
た場合であっても、パリティチェックを行うだけで容易
に各パケットを分離することができ、パケットの再送の
手間等を低減することができる。
【0007】また、上述した送信処理手段および受信処
理手段は、ダイレクト・メモリ・アクセスによって送受
信動作を行うことが望ましい。ダイレクト・メモリ・ア
クセスによってデータの送受信を行うことにより、パケ
ットの送受信におけるCPU等の負担を軽減することが
できる。また、受信側においては、パケットを構成する
各データの受信動作を行った後に、パリティチェックの
結果に基づいて、CPU等による処理をまとめて行うこ
とができるため、さらにCPU等の負担を軽減すること
ができる。
【0008】
【発明の実施の形態】以下、本発明を適用した一実施形
態のデータ通信システムについて、図面を参照しながら
説明する。
【0009】〔第1の実施形態〕図1は、第1の実施形
態のデータ通信システムの全体構成を示す図である。図
1に示す本実施形態のデータ通信システムは、音声認識
装置1、ナビゲーション装置2、CDチェンジャ3、オ
ーディオ装置4を含んでおり、これらがバス5を介して
接続されている。
【0010】音声認識装置1は、利用者の発声による操
作音声に対して音声認識処理を行うものであり、認識結
果がバス5を介してデータ通信によってナビゲーション
装置2やオーディオ装置4等の他の装置に送られる。ナ
ビゲーション装置2は、自車位置を検出して自車位置周
辺の地図を表示したり、利用者によって選択された目的
地までの経路探索および経路誘導等を行うものである。
【0011】CDチェンジャ3は、複数枚のCDが装填
されており、利用者によって選択されたCDの記録面に
記録された信号を読みとり、音楽等の再生を行うもので
ある。オーディオ装置4は、車室内のダッシュボードに
収容された1つの筐体内に含まれるオールインワンタイ
プのオーディオ機器であり、例えばラジオチューナやカ
セットテープデッキの他に各種の操作キーを有する操作
盤を含んでいる。この操作盤を用いて行われる各種の操
作指示は、オーディオ装置4自身に含まれるラジオチュ
ーナやカセットテープデッキに対して行われるものの他
に、CDチェンジャ3や音声認識装置1等に対して行わ
れるものもある。オーディオ装置4以外の他の装置に対
する操作が行われると、その操作状態に応じた操作信号
がバス5を介したデータ通信によって他の装置に送られ
る。
【0012】次に、ナビゲーション装置2とオーディオ
装置4との間で相互にデータ通信を行う場合について詳
細に説明する。例えば、ナビゲーション装置2によって
音声案内を行う際にオーディオ装置4に対して音声割り
込み要求を送信する場合について説明する。図2は、ナ
ビゲーション装置2およびオーディオ装置4の詳細構成
を示す図である。
【0013】図2に示すナビゲーション装置2は、CP
U20、ROM22、RAM24、DMAコントローラ
(DMAC)26、送信処理部28を含んで構成されて
いる。
【0014】CPU20は、自車位置周辺の地図画像の
表示処理や経路探索処理、経路誘導処理等の所定のナビ
ゲーション動作を行うためにナビゲーション装置2の全
体を制御するものである。CPU20は、経路誘導時に
おける音声案内を行う際には、音声割り込みを要求する
データを生成し、このデータに対してデータ通信に必要
な各種データを付加してパケットを生成してRAM24
に格納する。
【0015】次に、CPU20によって生成されるパケ
ットのデータ構造について説明する。図3は、CPU2
0によって生成されるパケットのデータ構造を示す図で
ある。図3に示すように、CPU20によって生成され
るパケットは、先頭から順に通信タイプ(TYPE)、
送信先アドレス(DA)、送信元アドレス(SA)、デ
ータ長(LEN)、送信データ(DATA)、エラー検
出用データ(ERR)を含んで構成されている。
【0016】図3に示す通信タイプは、このパケットを
用いた通信の種類を規定したものである。例えば、通常
の1対1通信、同報通信、高速通信指示、レスポンス等
が指定される。また、送信先アドレスには、このパケッ
トの送信先となる装置に対応したアドレスが格納されて
いる。また、送信元アドレスには、このパケットの送信
元となる装置のアドレスが格納されている。本実施形態
では、オーディオ装置4に対応したアドレスが送信先ア
ドレスに格納され、ナビゲーション装置2に対応したア
ドレスが送信元アドレスに格納される。データ長は、送
信対象となっている送信データの長さをバイト単位で表
したものである。送信データは、送信対象となっている
データが格納されており、本実施形態では音声割り込み
要求を示すデータがこれに対応している。エラー検出用
データは、データ通信時に通信タイプから送信データま
での各データの内容にエラーが生じた場合にこれを受信
側で検出するために付加されるものであり、例えば、チ
ェックサムデータやCRC(Cyclic Redundancy Check
code)データ等が格納される。
【0017】ROM22は、CPU20が所定のナビゲ
ーション動作を行うために必要な各種プログラム等を格
納するものである。RAM24は、CPU20が所定の
ナビゲーション動作を行う際に必要な各種データを一時
的に格納するものであり、作業領域としても使用され
る。
【0018】DMAC26は、CPU20からDMA
(Direct Memory Access)転送指示が与えられた場合
に、転送対象となるパケットのデータをRAM24から
読み出して送信処理部28に入力する。具体的には、C
PU20から与えられるDMA転送指示には、転送対象
パケットのRAM24での先頭アドレスと転送対象パケ
ットのバイト数が含まれており、DMAC26は、DM
A転送指示によって指定されたRAM24のアドレスか
ら1バイト単位でデータを読み出して送信処理部28に
入力する。指定されたパケットに含まれる全データの転
送が終了すると、DMAC26は、DMA転送終了を示
す割り込み信号をCPU20に向けて出力する。
【0019】送信処理部28は、CPU20から出力さ
れたパケットのデータ、またはRAM24からDMAC
26によってDMA転送されたパケットのデータを、オ
ーディオ装置4等が接続されたバス5に送出するもので
あり、制御部60、送信レジスタ62、バッファ64を
含んで構成されている。
【0020】制御部60は、1バイト単位で入力される
送信対象パケットのデータをバイト単位で順次シリアル
データに変換し、その前後にスタートビット、ストップ
ビット、パリティを付加して送信レジスタ62に出力す
る。送信レジスタ62に格納されたデータは、バッファ
64およびバス5を介してオーディオ装置4に向けて送
信される。
【0021】図4は、スタートビット、ストップビッ
ト、パリティについて説明する図である。図4に示すよ
うに、本実施形態では、1バイトのデータd0〜d7の
先頭部分にスタートビットsが付加され、データ列の末
尾にパリティp、ストップビットtが付加される。
【0022】ところで、本実施形態の制御部60は、送
信対象パケットの先頭1バイト目のデータを送信する場
合に限り奇数パリティに設定し、2バイト目以降を送信
する場合には偶数パリティに設定している。このパリテ
ィ設定は、CPU20から与えられる指示にしたがって
行われる。パリティ設定動作を含めたパケット送信動作
の詳細については後述する。
【0023】図2に示すオーディオ装置4は、CPU4
0、ROM42、RAM44、DMAC46、受信処理
部48を含んで構成されている。CPU40は、オーデ
ィオ装置4の各種の機能を実現するためにオーディオ装
置4の全体を制御するものである。ROM42は、CP
U40がオーディオ装置4の各種機能を実現する際に必
要な各種プログラム等を格納するものである。また、R
AM44は、CPU40がオーディオ装置4の各種機能
を実現する際に必要な各種データを一時的に格納するも
のであり、上述したナビゲーション装置2から送信され
てバス5を介して受信処理部48で受信したパケットの
データもRAM44に一時的に格納される。DMAC4
6は、CPU40からDMA転送指示が与えられた場合
に、転送対象となるデータを受信処理部48からRAM
44に向けて転送する。
【0024】受信処理部48は、ナビゲーション装置2
からバス5を介して送信されたパケットを受信するもの
であり、制御部80、バッファ82、受信レジスタ8
4、パケット終了検出部86を含んで構成されている。
【0025】制御部80は、バッファ82を介して受信
レジスタ84に入力されるシリアルデータに対して、ス
タートビットとストップビットにより区切られたデータ
が受信レジスタ84に入力される毎にこのデータのパリ
ティチェックを行う。なお、本明細書においては、パリ
ティチェックを行った後に抽出される1バイトのデータ
(図4に示したd0〜d7に対応するデータ)を、「受
信データ列」と称して説明を行う。制御部80は、パリ
ティチェックにおいて受信データ列が偶数パリティにな
っているか否かを調べる。
【0026】また、制御部80は、パリティチェック結
果を含む1バイト分のステータス情報を生成し、上述し
た受信データ列に付加する。受信データ列およびステー
タス情報は、RAM44内の所定領域に格納される。こ
の受信データ列およびステータス情報をRAM44に格
納する処理は、CPU40によって行われる場合と、D
MAC46によって行われる場合とがある。
【0027】パケット終了検出部86は、ナビゲーショ
ン装置2あるいは他の装置からバス5を介して送信され
てくるパケットがバッファ82を介してシリアルデータ
の形態で入力されており、このパケットの終了を検出す
るものである。具体的には、パケット終了検出部86
は、予め設定しておいた一定時間が経過してもシリアル
データが入力されない場合に、CPU40に向けてパケ
ット終了である旨を示す割り込み信号(パケット終了信
号)を出力する。
【0028】図5は、上述したパケット終了検出部86
の詳細構成を示す図である。図5に示すように、パケッ
ト終了検出部86は、ダイオード90、抵抗92、コン
デンサ94、バッファ96を含んで構成されている。抵
抗92の一方端には、シリアルデータのハイレベルに対
応する電圧、例えば+5Vの電圧が印加されている。ま
た、抵抗92の他方端はコンデンサ94の一方端と接続
されており、コンデンサ94の他方端は接地されてい
る。また、ダイオード90のアノード端子は抵抗92と
コンデンサ94の接続点と接続されており、カソード端
子には、バス5を介して受信するパケットに対応するシ
リアルデータが入力される。また、バッファ96の入力
端は、抵抗92とコンデンサ94の接続点に接続されて
いる。バッファ96の出力は、パケット終了検出部86
の出力としてCPU40に入力される。
【0029】上述した制御部60がパリティ設定手段
に、送信処理部28およびDMAC26が送信処理手段
に、受信処理部48およびDMAC46が受信処理手段
に、制御部80がパリティチェック手段に、CPU40
およびRAM44がパケット分離手段にそれぞれ対応す
る。
【0030】次に、パケット終了検出部86の動作につ
いて説明する。図6は、パケット終了検出部86の動作
を説明する図である。図6(a)は、パケット終了検出
部86に入力されているパケット(シリアルデータ)の
一例を示し、図6(b)および図6(c)は、コンデン
サ94の両端に現れる電圧波形の一例を示している。
【0031】図5に示したパケット終了検出部86で
は、入力されるシリアルデータがハイレベルとなってい
る場合に、抵抗92を流れる電流によりコンデンサ94
に電荷が蓄積され、コンデンサ94の両端電圧が徐々に
上昇する。また、入力されるシリアルデータがローレベ
ルになると、コンデンサ94に蓄積された電荷がダイオ
ード90を介して放電されるため、瞬時にしてコンデン
サ94の両端電圧がほぼ0Vまで低下する。ところで、
入力されるシリアルデータがハイレベルに変化したとき
に、コンデンサ94の両端電圧が所定値に達してバッフ
ァ96の出力がハイレベルに変化するまでの時間tは、
抵抗92の抵抗値Rとコンデンサ94の静電容量Cとを
組み合わせた時定数によって定まり、この時定数を変更
することによりある範囲で任意に設定することができ
る。例えば、図6(a)に示すように、1つのパケット
の終了を検出するための時間をTとすると、上述した時
間tをこの時間T以上に設定することにより、CPU4
0は、バッファ96から出力されるパケット終了信号を
検出したときにパケットの終了判断を行うことができ
る。
【0032】ところで、通常、抵抗やコンデンサ等の部
品は素子定数にばらつきがあるため、本実施形態のパケ
ット終了検出部86がパケット終了信号を出力するまで
の時間tにもばらつきがある。このため、パケットの終
了を検出するために必要な時間Tよりもパケット終了信
号が出力されるまでの時間tの方が長くなると、図6
(c)に示すようにパケット1の終了を検出することが
できなくなり、複数のパケット(図6(c)の例では2
つのパケット1、2)が誤って1つのパケットとして受
信されてしまう場合もあり得る。
【0033】しかし、本実施形態のデータ通信システム
では、パケットの先頭の受信データ列のみが奇数パリテ
ィに、それ以外の受信データ列が偶数パリティに設定さ
れているため、パケットの各受信データ列に対して偶数
パリティに対応するパリティチェックを行った際に、1
つのパケット内に先頭の受信データ以外にパリティエラ
ーとなる受信データ列が存在する場合には、本来であれ
ば2つ以上のパケットとして別々に受信処理を行うべき
ところを1つのパケットとして誤って受信したことが容
易にわかるようになっている。
【0034】本実施形態のデータ通信システムは上述し
た構成を有しており、次にこれらの装置間で行われるデ
ータ通信動作を説明する。初めに、ナビゲーション装置
2におけるデータ送信動作について説明する。
【0035】図7は、ナビゲーション装置2がオーディ
オ装置4に対してパケットを送信する際の動作手順を示
す流れ図である。初めに、CPU20は、送信対象とな
るパケットがRAM24内にあるか否かを判定する(ス
テップ100)。送信対象となるパケットがRAM24
内に存在する場合には、ステップ100において肯定判
断がなされ、次にCPU20は、DMAC26に対して
DMA転送動作を停止するよう指示し(ステップ10
1)、制御部60に対してパリティ設定を奇数パリティ
にするように指示する(ステップ102)。送信対象と
なるパケットがない場合には、ステップ100において
否定判断がなされ、CPU20は、送信対象パケットが
あるか否かの判定を繰り返す。
【0036】次に、CPU20は、送信対象パケットの
先頭1バイト目をRAM24から読み出して送信処理部
28に出力する。送信処理部28は、CPU20から受
け取ったデータに対して所定のデータ処理を施し、オー
ディオ装置4に向けて送信する(ステップ103)。具
体的には、CPU20から出力されたデータは、送信処
理部28内の制御部60によってシリアルデータに変換
され、スタートビット、ストップビット、パリティ(奇
数パリティ)が付加された後に送信レジスタ62に出力
され、バッファ64を介してバス5に送出される。
【0037】また、CPU20は、パケットの先頭1バ
イト目の送信が終了したか否かを判定し(ステップ10
4)、送信が終了していない場合にはこの判定動作を繰
り返す。また、送信が終了した場合には、CPU20
は、制御部60に対してパリティ設定を偶数パリティに
変更するよう指示する(ステップ105)。
【0038】次に、CPU20は、DMAC26に対し
てDMA転送指示を与える(ステップ106)。DMA
C26は、CPU20から与えられたDMA転送指示に
したがって、RAM24に格納されたデータ(送信対象
パケットの2バイト目以降に対応するデータ)を読み出
し、これを送信処理部28に向けて転送する。送信処理
部28は、DMAC26によってRAM24から転送さ
れてくるデータに対して所定のデータ処理を施し、オー
ディオ装置4に向けて送信する(ステップ107)。具
体的には、送信処理部28に入力されたデータは、制御
部60によって順にシリアルデータに変換され、スター
トビット、ストップビット、パリティ(偶数パリティ)
が付加された後に送信レジスタ62に出力され、バッフ
ァ64を介してバス5に送出される。
【0039】次に、CPU20は、DMAC26からD
MA転送動作の終了を示す割り込み信号が出力されたか
否かを調べることにより、パケットの送信処理が終了し
たか否かを判定する(ステップ108)。パケットの送
信処理が終了した場合には、ステップ100に戻り、送
信対象パケットがあるか否かの判定以降の動作が繰り返
される。また、パケットの送信処理が終了していない場
合には、パケット送信が終了したか否かの判定が繰り返
される。
【0040】このように、本実施形態のナビゲーション
装置2は、パケットを送信する際に、パケットの先頭1
バイト目に対しては奇数パリティに設定してパリティを
付加し、パケットの2バイト目以降に対しては偶数パリ
ティに設定してパリティを付加してパケット送信を行っ
ている。したがって、ナビゲーション装置2から送信さ
れるパケットは、常に先頭1バイト目のみが奇数パリテ
ィで2バイト目以降が偶数パリティとなっている。
【0041】次に、オーディオ装置4におけるパケット
受信動作について説明する。ナビゲーション装置2から
送信されたパケットは、バッファ82を介して受信レジ
スタ84に格納される。制御部80は、スタートビット
とストップビットにより区切られたデータが受信レジス
タ84に入力される毎に、このデータをパラレルデータ
に変換してパリティチェックを行い、1バイト単位の受
信データ列を抽出するとともにパリティチェック結果を
含む1バイトのステータス情報を生成する。受信データ
列およびステータス情報は、DMAC46によってRA
M44に設定された「受信バッファ領域」に一時的に格
納される。
【0042】次に、パケット終了が検出された後に、C
PU40がRAM44内の受信バッファ領域に格納され
たデータに基づいてパケットを再構成する際の動作手順
について説明する。図8は、CPU40が受信パケット
を再構成する際の動作手順を示す流れ図である。また、
図9は、RAM44内の受信バッファ領域に格納されて
いるデータの一例を示す図であり、ナビゲーション装置
2から送信されたパケット1およびパケット2が誤って
1つのパケットとして受信された場合の例を示してい
る。図9において、各データに付加された“H”は16
進数であることを示している。また、“H”の後に
“*”が付加されているものはステータス情報であるこ
とを示しており、例えば“3CH*”は、データ列“3
CH”に対応するステータス情報であることを示してい
る。
【0043】CPU40は、パケット終了による割り込
み信号(パケット終了信号)またはDMA転送終了によ
る割り込み信号が入力されたか否かを判定する(ステッ
プ200)。割り込み信号が入力されると、ステップ2
00において肯定判断がなされ、次にCPU40は、D
MAC46に対してDMA転送動作を停止するよう指示
する(ステップ201)。割り込み信号が入力されてい
ない場合には、ステップ200において否定判断がなさ
れ、割り込み信号が入力されたか否かの判定を繰り返
す。
【0044】次に、CPU40は、DMAC46がDM
A転送動作を停止する直前にデータを格納したアドレス
(以後、これを「DMA転送アドレス」と称する)をD
MAC46から取得する(ステップ202)。図9に示
した例では、ステータス情報である“1CH*”が格納
されているアドレスがDMA転送アドレスとなる。
【0045】次に、CPU40は、ステップ202にお
いて取得したDMA転送アドレスの値からRAM44内
の受信バッファ領域の先頭アドレスの値を減算した結果
に1を加算することにより、受信バッファ領域に格納さ
れたデータのバイト数を求める(ステップ203)。図
9に示した例では、受信バッファ領域に格納されたデー
タのバイト数は26バイトとなる。
【0046】次に、CPU40は、データ読み出し先の
アドレスを表す変数として「読み出しアドレス」を設定
し、初期値としてRAM44内の受信バッファ領域の先
頭アドレスを設定する(ステップ204)。また、CP
U40は、処理が終了したデータのバイト数を表す変数
として「処理終了バイト数」を設定し、初期値として0
を設定する(ステップ205)。
【0047】次に、CPU40は、ステップ204で設
定した変数である「読み出しアドレス」に基づいてRA
M44内の受信バッファ領域から受信データ列およびス
テータス情報を読み出し(ステップ206)、ステータ
ス情報を調べることにより読み出した受信データ列がパ
リティエラーであるか否かを判定する(ステップ20
7)。読み出した受信データ列がパリティエラーである
と判定された場合には、ステップ207において肯定判
断がなされ、CPU40は、ステップ205において設
定した変数である「処理終了バイト数」に格納された値
を調べ、この値をRAM44内に設定された「パケット
先頭アドレスバッファ領域」に格納し(ステップ20
8)、ステップ206で読み出した受信データ列をRA
M44内に設定された「データバッファ領域」に格納す
る(ステップ209)。また、ステップ206において
読み出した受信データ列がパリティエラーでない場合に
は、ステップ207において否定判断がなされ、この場
合には、ステップ209の処理、すなわちステップ20
6で読み出した受信データ列をデータバッファ領域に格
納する処理のみを行う。
【0048】次に、CPU40は、変数「読み出しアド
レス」に格納する値に2を加算し(ステップ210)、
変数「処理終了バイト数」に格納する値に1を加算する
(ステップ211)。その後、CPU40は、変数「処
理終了バイト数」に格納された値を2倍した値が、ステ
ップ203で調べたバイト数(受信バッファ領域に格納
された受信データのバイト数)と等しいか否かを調べる
ことにより、未処理の処理対象データがまだあるか否か
を判定する(ステップ212)。変数「処理終了バイト
数」に格納された値を2倍した値が、ステップ203で
調べたバイト数と等しくない場合にはステップ212に
おいて肯定判断がなされ、CPU40は、ステップ20
6に戻り、受信データ列およびステータス情報の読み出
し動作以降の処理を繰り返す。また、変数「処理終了バ
イト数」に格納された値を2倍した値が、ステップ20
3で調べたバイト数と等しい場合には処理対象となる未
処理のデータが残っていないということであるので、C
PU40はパケットの再構成動作を終了して、再びステ
ップ200に戻って割り込み信号待ちの状態になる。
【0049】図10は、再構成されたパケットの一例を
示す図であり、上述した図8に示した処理を図9に示し
たパケットに対して行った結果を示している。図10に
示すように、RAM44内に設定されたデータバッファ
領域の先頭アドレスが“00H”であるとすると、パケ
ット1に対応する受信データ列がアドレス“00H”〜
“06H”までの領域に格納され、パケット2に対応す
る受信データ列がアドレス“07H”〜“0CH”まで
の領域に格納されている。また、RAM44内のパケッ
ト先頭アドレスバッファ領域には、パリティエラーが検
出された受信データ列が格納されているアドレスが格納
されている。したがって、CPU40は、RAM44内
のパケット先頭アドレスバッファ領域に格納されたデー
タを調べることによって、RAM44内のデータバッフ
ァ領域に格納されたデータ列において、アドレス“00
H”に格納された受信データ列とアドレス“07H”に
格納された受信データ列のそれぞれがパケットの先頭で
あることが分かり、2つのパケットを簡単に分離するこ
とができる。
【0050】このように、本実施形態のデータ通信シス
テムでは、ナビゲーション装置2とオーディオ装置4の
間でパケットの送受信を行う際に、送信側であるナビゲ
ーション装置2は、送信対象となるパケットの先頭1バ
イト目のデータについては奇数パリティのパリティビッ
トを付加し、2バイト目以降に対しては偶数パリティの
パリティビットを付加している。受信側であるオーディ
オ装置4は、複数のパケットを誤って1つのパケットと
して受信した場合にも、受信したパケットに対して1バ
イト毎にパリティチェックを行ってパリティエラーであ
る受信データ列を検出することにより、容易にパケット
の先頭位置、すなわち各パケットの終了を確実に検出す
ることができ、複数のパケットが1つのパケットとして
受信された場合であっても本来の複数のパケットに容易
に分離することができる。したがって、パケットの切れ
目を誤って受信した場合であっても、パケットの再送を
行う必要がなく、通信速度を上げることができる。ま
た、複数のパケットを誤って1つのパケットとして受信
した場合であってもその後の処理で元の複数のパケット
に分離することができることから、パケットの終了を検
出するために設定していた一定の時間Tを短く設定する
ことができるため、送受信されるパケットが多い場合の
通信速度を大幅に上げることができる。
【0051】なお、上述した実施形態(後述する第2の
実施形態についても同様)では、ナビゲーション装置2
からオーディオ装置4に対してパケットを送信する場合
を例に取って説明したが、反対にオーディオ装置4から
ナビゲーション装置2にパケットを送信する場合や、そ
の他の装置間でパケットを送受信する場合にも本発明を
適用することができる。また、上述した実施形態(後述
する第2の実施形態についても同様)において、送信側
であるナビゲーション装置2は、送信対象となるパケッ
トの先頭1バイト目に対しては奇数パリティに設定して
パリティビットを付加し、2バイト目以降に対しては偶
数パリティに設定してパリティビットを付加していた
が、この奇数/偶数パリティの設定は反対にしてもよ
い。この場合には、受信側であるオーディオ装置4は、
受信パケットに対するパリティチェックの際に、常に奇
数パリティに設定してパリティチェックを行うようにす
ればよい。
【0052】〔第2の実施形態〕ところで、上述した第
1の実施形態では、受信パケットに含まれる各受信デー
タ列は、パリティエラーの有無に関わらずDMAC46
の制御によってRAM44に転送される場合を説明した
が、受信処理部48内の制御部80の仕様によっては、
パリティエラーが発生した際に処理が中断され、このエ
ラーをクリアしない間はDMAC46による受信データ
列の転送動作を行うことができない場合も考えられる。
第2の実施形態では、このような場合の動作を説明す
る。
【0053】図11は、各受信データ列にパリティエラ
ーが発生した際のCPU40の動作手順を示す流れ図で
ある。CPU40は、パリティエラーの発生による割り
込み信号が入力されたか否かを判定する(ステップ30
0)。パケットの先頭の受信データ列が受信レジスタ8
4に格納されると、制御部80による偶数パリティのパ
リティチェックにおいてパリティエラーが発生するた
め、制御部80においてパリティエラーフラグがセット
されるとともに、パリティエラーに対応する割り込み信
号がCPU40に送られ、ステップ300において肯定
判断が行われる。
【0054】次に、CPU40は、受信処理部48内の
制御部80のパリティエラーフラグをクリアした後(ス
テップ301)、その時点で受信レジスタ84に格納さ
れている受信データ列を制御部80を介して読み出し、
RAM44内に設定された「パケット先頭データバッフ
ァ領域」に格納する(ステップ302)。
【0055】また、CPU40は、DMAC46がDM
A転送動作を停止する直前にデータを格納した「DMA
転送アドレス」をDMAC46から取得する(ステップ
303)。
【0056】次に、CPU40は、パケットの先頭の受
信データ列の次に受信される2番目の受信データ列が、
一旦RAM44内の受信バッファ領域に格納された後に
転送されるデータバッファ領域のアドレスをパケット先
頭アドレスバッファ領域に格納する(ステップ30
4)。
【0057】図12は、CPU40によって行われる受
信パケットの再構成の動作手順を示す図である。図12
に示した動作手順は、基本的には図8に示した動作手順
に含まれるステップ207および208の処理を削除し
たものである。
【0058】CPU40は、パケット終了による割り込
み信号またはDMA転送終了による割り込み信号が入力
されたか否かを判定する(ステップ400)。割り込み
信号が入力されると、ステップ400において肯定判断
がなされ、次にCPU40は、DMAC46に対してD
MA転送動作を停止するよう指示する(ステップ40
1)。割り込み信号が入力されていない場合には、ステ
ップ400において否定判断がなされ、割り込み信号が
入力されたか否かの判定を繰り返す。
【0059】次に、CPU40は、DMAC46がDM
A転送動作を停止する直前にデータを格納したアドレス
(「DMA転送アドレス」)をDMAC46から取得す
る(ステップ402)。また、CPU40は、ステップ
402において取得したDMA転送アドレスの値からR
AM44内の受信バッファ領域の先頭アドレスの値を減
算した結果に1を加算することにより、受信バッファ領
域に格納されたデータのバイト数を求める(ステップ4
03)。
【0060】次に、CPU40は、データ読み出し先の
アドレスを表す変数として「読み出しアドレス」を設定
し、初期値としてRAM44内の受信バッファ領域の先
頭アドレスを設定する(ステップ404)。また、CP
U40は、処理が終了したデータのバイト数を表す変数
として「処理終了バイト数」を設定し、初期値として0
を設定する(ステップ405)。
【0061】次に、CPU40は、ステップ404で設
定した変数である「読み出しアドレス」に基づいてRA
M44内の受信バッファ領域から受信データ列を読み出
し(ステップ406)、この読み出した受信データ列を
RAM44内に設定された「データバッファ領域」に格
納する(ステップ407)。次に、CPU40は、変数
「読み出しアドレス」に格納する値に2を加算し(ステ
ップ408)、変数「処理終了バイト数」に格納する値
に1を加算する(ステップ409)。その後、CPU4
0は、変数「処理終了バイト数」に格納された値を2倍
した値が、ステップ403で調べたバイト数(受信バッ
ファ領域に格納された受信データのバイト数)と等しい
か否かを調べることにより、未処理の処理対象データが
まだあるか否かを判定する(ステップ410)。変数
「処理終了バイト数」に格納された値を2倍した値が、
ステップ403で調べたバイト数と等しくない場合には
ステップ410において否定判断がなされ、CPU40
は、ステップ406に戻り、受信データ列の読み出し動
作以降の処理を繰り返す。また、変数「処理終了バイト
数」に格納された値を2倍した値が、ステップ403で
調べたバイト数と等しい場合には処理対象となる未処理
のデータが残っていないということであるので、CPU
40はパケットの再構成動作を終了して、再びステップ
400に戻って割り込み信号待ちの状態になる。
【0062】図13は、第2の実施形態において再構成
されたパケットの一例を示す図である。図13に示すよ
うに、受信処理部48においてパケット1が受信された
場合に、先頭1バイト目のデータ“3CH”がパリティ
エラーになると、制御部80からCPU40に対して割
り込み信号が入力され、処理が中断する。このとき、C
PU40は、この先頭の受信データ列“3CH”をデー
タバッファ領域とは別のパケット先頭データバッファ領
域に格納するとともに、2番目の受信データ列が格納さ
れるデータバッファ領域のアドレス“00H”をパケッ
ト先頭アドレスバッファ領域に格納する。以後、2番目
の受信データ列については、第1の実施形態の場合と同
様にデータバッファ領域への転送が行われる。但し、本
実施形態では、本来のパケットの先頭の受信データ列に
おいてパリティエラーとなってDMA転送動作が中断さ
れるため、本来のパケットのそれぞれに対応するデータ
の転送動作が別々に行われることになる。
【0063】また、パケット1とパケット2が分離され
ずに受信された場合に、パケット2の先頭1バイト目の
データ“1EH”はパリティエラーとなっているので、
上述した図11に示した処理が行われて、この受信デー
タ列“1EH”はRAM44内のパケット先頭データバ
ッファ領域において先に格納されたデータ“3CH”の
次に格納される。また、パケット2の2バイト目以降の
データは、RAM44内の受信バッファ領域に一旦格納
された後に図12に示した処理が行われ、図13に示す
ようにデータバッファ領域において先に格納されたパケ
ット1のデータの次に格納される。
【0064】したがって、CPU40は、RAM44内
のパケット先頭アドレスバッファ領域に格納されたデー
タを調べることによって、RAM44内のデータバッフ
ァ領域に格納された各データ列において、アドレス“0
0H”に格納された受信データ列とアドレス“06H”
に格納された受信データ列のそれぞれがパケットの先頭
から2バイト目であることが分かるので2つのパケット
を簡単に分離することができる。また、分離されたそれ
ぞれのパケットに対して、パケット先頭データバッファ
領域に格納された先頭1バイト目のデータを加えること
によって、パケット1およびパケット2を復元すること
ができる。
【0065】
【発明の効果】上述したように、本発明によれば、パケ
ットに含まれる複数のデータについて、先頭のデータの
パリティとそれ以外のデータのパリティとが異なるよう
に設定してパケットの送信を行っており、受信側におい
て複数のパケットを1つのパケットと誤って判断した場
合であっても、パリティエラーの有無に応じて各パケッ
トの先頭位置、すなわち各パケットの終了を確実に検出
することができる。また、パケットの終了を検出するた
めに複数のパケットの送出間隔を長く設定する必要がな
くなるため、データの通信速度を上げることができる。
【図面の簡単な説明】
【図1】第1の実施形態のデータ通信システムの全体構
成を示す図である。
【図2】ナビゲーション装置およびオーディオ装置の詳
細構成を示す図である。
【図3】パケットのデータ構造を示す図である。
【図4】スタートビット、ストップビット、パリティに
ついて説明する図である。
【図5】パケット終了検出部の詳細構成を示す図であ
る。
【図6】パケット終了検出部の動作を説明する図であ
る。
【図7】ナビゲーション装置がオーディオ装置に対して
パケットを送信する際の動作手順を示す流れ図である。
【図8】パケットを再構成する際の動作手順を示す流れ
図である。
【図9】受信バッファ領域に格納されているデータの一
例を示す図である。
【図10】再構成されたパケットの一例を示す図であ
る。
【図11】第2の実施形態において、各受信データ列に
パリティエラーが発生した際のCPUの動作手順を示す
流れ図である。
【図12】CPUによって制御部内のパリティエラーフ
ラグがクリアされた後に行われる受信パケットの再構成
の動作手順を示す図である。
【図13】第2の実施形態において再構成されたパケッ
トの一例を示す図である。
【符号の説明】
2 ナビゲーション装置 4 オーディオ装置 20、40 CPU 22、42 ROM 24、44 RAM 26、46 DMAC(DMAコントローラ) 28 送信処理部 48 受信処理部 60、80 制御部 62 送信レジスタ 64、82 バッファ 84 受信レジスタ 86 パケット終了検出部
フロントページの続き Fターム(参考) 5B001 AA01 AA04 AA14 AB01 AD06 AE02 5K030 GA01 HA08 KA12 LA01 LA19 LD02 5K034 DD01 DD02 EE11 HH01 HH02 MM01 9A001 BB04 EE01 FF05 LL05

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 パリティビットが付加された所定のビッ
    ト長のデータを複数含んで構成されるパケットの送信を
    行うデータ通信方式において、 前記パケットに含まれる複数の前記データについて、先
    頭の前記データに対応するパリティビットを奇数パリテ
    ィおよび偶数パリティのいずれか一方に設定し、他の前
    記データに対応するパリティビットを奇数パリティおよ
    び偶数パリティのいずれか他方に設定するパリティ設定
    手段と、 前記パリティ設定手段によって設定されたパリティビッ
    トが付加された複数の前記データからなる前記パケット
    を送信する送信処理手段と、 を備えることを特徴とするデータ通信方式。
  2. 【請求項2】 請求項1において、 前記送信処理手段から送信されたデータを通信路を介し
    て受信する受信処理手段と、 前記受信処理手段によって受信したデータのパリティチ
    ェックを行うパリティチェック手段と、 前記パリティチェック手段によるチェック結果に基づい
    て、受信した前記パケットの先頭位置および終了位置の
    少なくとも一方を検出するパケット分離手段と、 を備えることを特徴とするデータ通信方式。
  3. 【請求項3】 請求項2において、 前記送信処理手段および前記受信処理手段は、ダイレク
    ト・メモリ・アクセスによって送受信動作を行うことを
    特徴とするデータ通信方式。
JP21169799A 1999-07-27 1999-07-27 データ通信方式 Pending JP2001045095A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21169799A JP2001045095A (ja) 1999-07-27 1999-07-27 データ通信方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21169799A JP2001045095A (ja) 1999-07-27 1999-07-27 データ通信方式

Publications (1)

Publication Number Publication Date
JP2001045095A true JP2001045095A (ja) 2001-02-16

Family

ID=16610103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21169799A Pending JP2001045095A (ja) 1999-07-27 1999-07-27 データ通信方式

Country Status (1)

Country Link
JP (1) JP2001045095A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257662B2 (en) 2003-07-02 2007-08-14 Fujitsu Limited Status reporting apparatus and status reporting method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257662B2 (en) 2003-07-02 2007-08-14 Fujitsu Limited Status reporting apparatus and status reporting method

Similar Documents

Publication Publication Date Title
US8094566B2 (en) Test apparatus and test method
EP1811710A2 (en) Apparatus and method for processing bursts in a wireless communication system
US6185622B1 (en) Electronic apparatus, communication speed information collection method, communication method between electronic apparatus and recording medium
JPH11503280A (ja) ウインドウ比較器
US4750176A (en) Single-channel communication bus system and station for use in such system
EP0972250B1 (en) Apparatus and method for applying crc to arinc 429 periodic data
EP1035682A1 (en) Method and bus interface employing a memory in an integrated circuit for linking a bus with an application device
US6742146B2 (en) Techniques for providing data within a data storage system
US6445718B1 (en) Serial interface circuit
JP2001045095A (ja) データ通信方式
EP1997261A1 (en) Method, module and apparatus for receiving data packet frames
JP2989669B2 (ja) メモリを制御する方法およびデバイス
JP3623677B2 (ja) データ通信方式
JP3785291B2 (ja) データ通信方式
US6134623A (en) Method and system for taking advantage of a pre-stage of data between a host processor and a memory system
JP2000183864A (ja) デ―タ通信方式
JP2581705B2 (ja) 直列デ−タ転送システム
JP2001034372A (ja) データ通信方式
US5426735A (en) Data communication device capable of adding data identification code to each data byte
KR100453827B1 (ko) 프로세서간 통신 장치 및 방법
JP2001057582A (ja) データ通信方式
JPH04278742A (ja) 受信データの誤り検出方法
KR100577148B1 (ko) 이더넷 컨트롤러의 어드레스검출장치 및 검출방법
RU2055392C1 (ru) Устройство последовательно-параллельного обмена
CN116112581A (zh) 一种串口通信大数据分包传输与处理方法、设备及介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041124

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050322