JP2971849B2 - デジタル信号処理プロセッサーの非同期式直列データの送受信方法 - Google Patents
デジタル信号処理プロセッサーの非同期式直列データの送受信方法Info
- Publication number
- JP2971849B2 JP2971849B2 JP10095018A JP9501898A JP2971849B2 JP 2971849 B2 JP2971849 B2 JP 2971849B2 JP 10095018 A JP10095018 A JP 10095018A JP 9501898 A JP9501898 A JP 9501898A JP 2971849 B2 JP2971849 B2 JP 2971849B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- transmission
- bit
- serial
- serial port
- 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 - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Dc Digital Transmission (AREA)
Description
【0001】
【発明の属する技術分野】本発明は直列データ通信方法
に係り、特にデジタル信号処理プロセッサー(DSP)
の直列ポートを用いて非同期式でデータを送受信する方
法に関する。
に係り、特にデジタル信号処理プロセッサー(DSP)
の直列ポートを用いて非同期式でデータを送受信する方
法に関する。
【0002】
【従来の技術】TMS320C30DSP(Texas Inst
rument社のDigtal Signal Processor)はサーボコント
ローラ及び映像処理等に多用されるデジタルプロセシン
グをするデジタル専用プロセッサーである。一般にデジ
タルプロセッサーは計算を行って他プロセッサーと情報
を交換するために直列ポート(port)または並列ポート
を有している。前記TMS320C30DSPの場合は
同期型(synchronous)方式の直列通信ポート(serial
communication port)を有しているが、前記直列通信ポ
ートを使用して他のTMS320C30DSPと同期方
式で高速に直列通信を行う。
rument社のDigtal Signal Processor)はサーボコント
ローラ及び映像処理等に多用されるデジタルプロセシン
グをするデジタル専用プロセッサーである。一般にデジ
タルプロセッサーは計算を行って他プロセッサーと情報
を交換するために直列ポート(port)または並列ポート
を有している。前記TMS320C30DSPの場合は
同期型(synchronous)方式の直列通信ポート(serial
communication port)を有しているが、前記直列通信ポ
ートを使用して他のTMS320C30DSPと同期方
式で高速に直列通信を行う。
【0003】前記DSPは内蔵されている直列ポートを
用いて、パソコン(PC)やノートブックコンピュータ
等の一般の汎用システムとのデータ伝送ができれば非常
に便利であろう。例えば、前記DSPを採用したシステ
ムの運用プログラムをPCで作成してダウンローディン
グ(downloading)をしたり、前記システムの動作中に
観察の要望されるデータをロギング(logging)し続け
ることができる。実際にサーボシステムにおけるコント
ローラの出力値をロギングしてPCで分析すると最適の
コントローラの具現に多くの便利さを与える。また、ノ
ートブックコンピュータからシステムが特定動作を行う
ように動作命令を下して簡単にエミュレーションが行え
る。即ち、作業場所と装備に関係なくシステムの検査も
行える。
用いて、パソコン(PC)やノートブックコンピュータ
等の一般の汎用システムとのデータ伝送ができれば非常
に便利であろう。例えば、前記DSPを採用したシステ
ムの運用プログラムをPCで作成してダウンローディン
グ(downloading)をしたり、前記システムの動作中に
観察の要望されるデータをロギング(logging)し続け
ることができる。実際にサーボシステムにおけるコント
ローラの出力値をロギングしてPCで分析すると最適の
コントローラの具現に多くの便利さを与える。また、ノ
ートブックコンピュータからシステムが特定動作を行う
ように動作命令を下して簡単にエミュレーションが行え
る。即ち、作業場所と装備に関係なくシステムの検査も
行える。
【0004】しかし、前記DSPは内蔵されている直列
ポートを用いてPCやノートブックコンピュータ等の一
般汎用コンピュータシステムとの直列通信方法でデータ
伝送が出来ない。従って、汎用コンピュータシステムと
の直列通信を可能にするためには別の非同期式通信の具
現が必要である。ところが、前記非同期式通信は若干の
ハードウェア及びソフトウェアを追加すると可能であ
る。これは非同期データが実際のデータには含まれない
スタートビットから始まるという事実に基づいている。
即ち、前記スタートビットを用いてデータの受信が始ま
ることを認知し、その後に後続のビットを図1(B)に
示された受信タイマーカウンターレジスターの値に応じ
て読出す。同様に、データの送信時にも送信タイマーカ
ウンターレジスターを用いて1ビットずつ伝送すること
になる。
ポートを用いてPCやノートブックコンピュータ等の一
般汎用コンピュータシステムとの直列通信方法でデータ
伝送が出来ない。従って、汎用コンピュータシステムと
の直列通信を可能にするためには別の非同期式通信の具
現が必要である。ところが、前記非同期式通信は若干の
ハードウェア及びソフトウェアを追加すると可能であ
る。これは非同期データが実際のデータには含まれない
スタートビットから始まるという事実に基づいている。
即ち、前記スタートビットを用いてデータの受信が始ま
ることを認知し、その後に後続のビットを図1(B)に
示された受信タイマーカウンターレジスターの値に応じ
て読出す。同様に、データの送信時にも送信タイマーカ
ウンターレジスターを用いて1ビットずつ伝送すること
になる。
【0005】しかし、通信実験の結果、前記TMS32
0C30DSP内の送信/受信タイマーカウンターは直
列通信の遂行の可否に関係なくプロセッサーのクロック
パルスに同期されてカウントし続けるという事実が分か
った。これにより、スタートビットが送信または受信さ
れる時点で送信/受信タイマーカウンターの値が一定し
ていないので長期間の通信時には通信エラーが発生する
問題点がある。
0C30DSP内の送信/受信タイマーカウンターは直
列通信の遂行の可否に関係なくプロセッサーのクロック
パルスに同期されてカウントし続けるという事実が分か
った。これにより、スタートビットが送信または受信さ
れる時点で送信/受信タイマーカウンターの値が一定し
ていないので長期間の通信時には通信エラーが発生する
問題点がある。
【0006】
【発明が解決しようとする課題】本発明が解決しようと
する技術的課題は、直列ポートを通して伝送された非同
期式データの受信時、スタートビットを受信する度に受
信タイマーカウンターの値を再設定することによりデー
タ信号の1ビット当りパルス区間の中間地点でデータを
読出すようにして通信エラーを防止し、データの送信時
にはスタートビットの送信開始時点に送信タイマーカウ
ンターレジスター(以下、送信タイマーカウンターと称
する)を0に初期化することにより送信信号の1ビット
当りパルス区間を合わせて送信するDSPの直列ポート
を用いたデータ送信及び受信方法を提供することにあ
る。
する技術的課題は、直列ポートを通して伝送された非同
期式データの受信時、スタートビットを受信する度に受
信タイマーカウンターの値を再設定することによりデー
タ信号の1ビット当りパルス区間の中間地点でデータを
読出すようにして通信エラーを防止し、データの送信時
にはスタートビットの送信開始時点に送信タイマーカウ
ンターレジスター(以下、送信タイマーカウンターと称
する)を0に初期化することにより送信信号の1ビット
当りパルス区間を合わせて送信するDSPの直列ポート
を用いたデータ送信及び受信方法を提供することにあ
る。
【0007】
【課題を解決するための手段】前記技術的課題を達成す
るための本発明による、直列通信時伝送されるデータの
1ビットの時間区間が複数のクロックパルスで構成され
るパルス区間に示される時、前記1ビットのデータが幾
つかのクロックパルスに該当されるかを示すパルス区間
情報を貯蔵する受信タイマー周期レジスターと、前記ク
ロックパルスを受信タイマー周期レジスターに設定され
た値までカウントしてから再び0にクリアーされてカウ
ント動作を反復する受信タイマーカウンターを具備した
TMS320C30DSPで前記DSPに内蔵された直
列ポートを通して直列データを受信する方法は、前記伝
送されるデータがスタートビットなのかを検査する段階
と、前記伝送されたスタートビットがハイからローとな
ると、前記直列ポートをイネーブルさせる段階と、前記
直列ポートがイネーブルされると、前記受信タイマーカ
ウンターの初期値を前記受信タイマー周期レジスターに
設定された値の半分に設定する初期化段階と、前記受信
タイマーカウンターが前記初期化された値からカウント
し始めてその値が前記受信タイマー周期レジスターに設
定された値と同一になる度に伝送されるデータを1ビッ
トずつ受信するが、ストップビットが出るまで受信する
データ受信段階と、前記ストップビットが受信される
と、前記直列ポートをディスエーブルさせる段階とを含
むことが望ましい。
るための本発明による、直列通信時伝送されるデータの
1ビットの時間区間が複数のクロックパルスで構成され
るパルス区間に示される時、前記1ビットのデータが幾
つかのクロックパルスに該当されるかを示すパルス区間
情報を貯蔵する受信タイマー周期レジスターと、前記ク
ロックパルスを受信タイマー周期レジスターに設定され
た値までカウントしてから再び0にクリアーされてカウ
ント動作を反復する受信タイマーカウンターを具備した
TMS320C30DSPで前記DSPに内蔵された直
列ポートを通して直列データを受信する方法は、前記伝
送されるデータがスタートビットなのかを検査する段階
と、前記伝送されたスタートビットがハイからローとな
ると、前記直列ポートをイネーブルさせる段階と、前記
直列ポートがイネーブルされると、前記受信タイマーカ
ウンターの初期値を前記受信タイマー周期レジスターに
設定された値の半分に設定する初期化段階と、前記受信
タイマーカウンターが前記初期化された値からカウント
し始めてその値が前記受信タイマー周期レジスターに設
定された値と同一になる度に伝送されるデータを1ビッ
トずつ受信するが、ストップビットが出るまで受信する
データ受信段階と、前記ストップビットが受信される
と、前記直列ポートをディスエーブルさせる段階とを含
むことが望ましい。
【0008】前記他の技術的課題を達成するための本発
明による、直列通信時伝送されるデータの1ビット時間
区間が複数のクロックパルスで構成されるパルス区間に
示される時、前記1ビットのデータが幾つのクロックパ
ルスに該当されるかを示すパルス区間情報を貯蔵する送
信タイマー周期レジスターと、前記クロックパルスを送
信タイマー周期レジスターに設定された値までカウント
してから再び0にクリアーされてカウント動作を反復す
る送信タイマーカウンターとを具備したTMS320C
30DSPの直列ポートを通して直列データを送信する
方法は、送信しようとするデータの前と後にスタートビ
ットとストップビットを追加して非同期式のデータに作
るデータフレーム生成段階と、スタートビットの送信時
点で送信タイマーカウンターの値を0に初期化させる段
階と、前記初期化された値からカウントし始めて前記送
信タイマー周期レジスターに設定された値と同一になる
度に1ビットずつ送信するデータ送信段階と、前記伝送
データのストップビットを送信するまで前記データ送信
を反復する段階とを含むことが望ましい。
明による、直列通信時伝送されるデータの1ビット時間
区間が複数のクロックパルスで構成されるパルス区間に
示される時、前記1ビットのデータが幾つのクロックパ
ルスに該当されるかを示すパルス区間情報を貯蔵する送
信タイマー周期レジスターと、前記クロックパルスを送
信タイマー周期レジスターに設定された値までカウント
してから再び0にクリアーされてカウント動作を反復す
る送信タイマーカウンターとを具備したTMS320C
30DSPの直列ポートを通して直列データを送信する
方法は、送信しようとするデータの前と後にスタートビ
ットとストップビットを追加して非同期式のデータに作
るデータフレーム生成段階と、スタートビットの送信時
点で送信タイマーカウンターの値を0に初期化させる段
階と、前記初期化された値からカウントし始めて前記送
信タイマー周期レジスターに設定された値と同一になる
度に1ビットずつ送信するデータ送信段階と、前記伝送
データのストップビットを送信するまで前記データ送信
を反復する段階とを含むことが望ましい。
【0009】
【発明の実施の形態】以下、添付された図面に基づき本
発明を詳しく説明する。RS232C直列データは1ビ
ットのスタートビット、8ビットのデータビット、及び
1ビットのストップビットよりなる。もちろん、パリテ
ィ(parity)ビットなどの通信エラーの検査のための追
加ビットもあるが簡略に総10ビットで構成される場合
が多い。一般的な直列通信制御器はスタートビット及び
ストップビットを認識してデータを受ける。しかしDS
P直列通信ポートは単にデータビットが入力される度に
受信カウンター値に応じてデータを受信するようになっ
ている。
発明を詳しく説明する。RS232C直列データは1ビ
ットのスタートビット、8ビットのデータビット、及び
1ビットのストップビットよりなる。もちろん、パリテ
ィ(parity)ビットなどの通信エラーの検査のための追
加ビットもあるが簡略に総10ビットで構成される場合
が多い。一般的な直列通信制御器はスタートビット及び
ストップビットを認識してデータを受ける。しかしDS
P直列通信ポートは単にデータビットが入力される度に
受信カウンター値に応じてデータを受信するようになっ
ている。
【0010】ここで、前記スタートビットは使用者の必
要とする情報ではなく、データ受信の開始を知らせるビ
ットである。前記スタートビットを用いてデータの受信
が開始されたかのみが分かると非同期直列方式でもデー
タ受信が可能である。また、スタートビットは受信デー
タビットストリームの最初に到着されるのでこの検出は
難しくない。
要とする情報ではなく、データ受信の開始を知らせるビ
ットである。前記スタートビットを用いてデータの受信
が開始されたかのみが分かると非同期直列方式でもデー
タ受信が可能である。また、スタートビットは受信デー
タビットストリームの最初に到着されるのでこの検出は
難しくない。
【0011】図1(A)及び図1(B)はTMS320
C30DSPの直列通信ポートを用いた非同期式データ
の送受信に用いられるレジスターを示した図面である。
図1(A)は受信/送信タイマー周期レジスター(Rece
ive/Transmit Timer-PeriodRegister)を示したもので
あって、直列通信時伝送されるデータの1ビット時間区
間が複数のクロックパルスで構成されるパルス区間に示
される時、前記1ビットのデータが幾つのクロックパル
スに該当するかを示すパルス区間情報を貯蔵する。前記
受信/送信タイマー周期レジスターは直列通信の1ビッ
トパルス区間を設定するために32ビットの大きさを有
し、下位16ビット(ビット0〜ビット15)は送信1
ビットパルス区間を示し、上位16ビット(ビット16
〜ビット31)は受信1ビットのパルス区間を示す。
C30DSPの直列通信ポートを用いた非同期式データ
の送受信に用いられるレジスターを示した図面である。
図1(A)は受信/送信タイマー周期レジスター(Rece
ive/Transmit Timer-PeriodRegister)を示したもので
あって、直列通信時伝送されるデータの1ビット時間区
間が複数のクロックパルスで構成されるパルス区間に示
される時、前記1ビットのデータが幾つのクロックパル
スに該当するかを示すパルス区間情報を貯蔵する。前記
受信/送信タイマー周期レジスターは直列通信の1ビッ
トパルス区間を設定するために32ビットの大きさを有
し、下位16ビット(ビット0〜ビット15)は送信1
ビットパルス区間を示し、上位16ビット(ビット16
〜ビット31)は受信1ビットのパルス区間を示す。
【0012】図1(B)は受信/送信タイマーカウンタ
ーの出力を示す受信/送信タイマーカウンターレジスタ
ー(Timer Counter Register)を示したものであって、
前記クロックパルスを前記受信/送信タイマー周期レジ
スターに設定された値までカウントした後、再び0にク
リアーされてカウント動作を反復する受信/送信タイマ
ーカウンターの出力値を貯蔵する。前記受信/送信タイ
マーカウンターレジスターは32ビットレジスターであ
って、下位16ビット(ビット0−ビット15)は送信
タイマーカウンターのためのものであり、上位16ビッ
ト(ビット16−ビット31)は受信タイマーカウンタ
ーのためのものである。
ーの出力を示す受信/送信タイマーカウンターレジスタ
ー(Timer Counter Register)を示したものであって、
前記クロックパルスを前記受信/送信タイマー周期レジ
スターに設定された値までカウントした後、再び0にク
リアーされてカウント動作を反復する受信/送信タイマ
ーカウンターの出力値を貯蔵する。前記受信/送信タイ
マーカウンターレジスターは32ビットレジスターであ
って、下位16ビット(ビット0−ビット15)は送信
タイマーカウンターのためのものであり、上位16ビッ
ト(ビット16−ビット31)は受信タイマーカウンタ
ーのためのものである。
【0013】まず、前記レジスターを用いて非同期式で
直列データを受信する方法を説明する。図2は本発明に
よる直列データ受信時に受信タイマーカウンターの初期
出力値を設定してパルスの中間部分で安定にデータを受
信する概念を示した図面である。スタートビットがハイ
からローに落ちる時点で受信タイマーカウンターの値を
受信タイマー周期レジスターに設定された値の半分に設
定する。これは1ビットを示すパルス区間の中間地点か
らビット値を読出すためである。
直列データを受信する方法を説明する。図2は本発明に
よる直列データ受信時に受信タイマーカウンターの初期
出力値を設定してパルスの中間部分で安定にデータを受
信する概念を示した図面である。スタートビットがハイ
からローに落ちる時点で受信タイマーカウンターの値を
受信タイマー周期レジスターに設定された値の半分に設
定する。これは1ビットを示すパルス区間の中間地点か
らビット値を読出すためである。
【0014】図3はDSPの内蔵された直列ポートを通
して非同期式で直列データを受信する動作を示した流れ
図である。一般にDSPは受信レジスターを見てデータ
が受信されたかが分かる。従って、DSPはデータを受
信した後、そのデータが非同期データなのかが分かるた
めにスタートビットの受信の可否を検査する(300段
階)。前記入力されるデータのスタートビットの受信の
可否は直列データがハイからローとなる時感知すること
になる。検査の結果、スタートビットが受信されたと判
断されると、前記直列ポートをイネーブルさせる(31
0段階)。即ち、前記データストリーム信号をDSPの
インタラプト信号と連結させておくと、前記スタートビ
ットが感知されればインタラプトが発生することにな
る。すると、前記DSPは直列データが受信されると認
識して直列ポートをイネーブルさせる。
して非同期式で直列データを受信する動作を示した流れ
図である。一般にDSPは受信レジスターを見てデータ
が受信されたかが分かる。従って、DSPはデータを受
信した後、そのデータが非同期データなのかが分かるた
めにスタートビットの受信の可否を検査する(300段
階)。前記入力されるデータのスタートビットの受信の
可否は直列データがハイからローとなる時感知すること
になる。検査の結果、スタートビットが受信されたと判
断されると、前記直列ポートをイネーブルさせる(31
0段階)。即ち、前記データストリーム信号をDSPの
インタラプト信号と連結させておくと、前記スタートビ
ットが感知されればインタラプトが発生することにな
る。すると、前記DSPは直列データが受信されると認
識して直列ポートをイネーブルさせる。
【0015】それから前記直列ポートがイネーブルされ
ると、前記受信タイマーカウンターを初期化する(32
0段階)。これは前記TMS20C30DSPのカウン
ターが直列通信の動作の可否とは関係なくDSPのクロ
ックに動作されてカウントし続けるためであり、合わせ
てデータ1ビットを示すパルス区間の中間地点からビッ
ト値を読出させるためである。また、前記初期化は次の
通りに行われる。まず、前記受信/送信タイマー周期レ
ジスターの値を読出してsettという臨時変数レジスター
に貯蔵する。そして、前記settを右に16ビットシフト
するが、その理由は受信されるデータの1ビット当りパ
ルス区間値が前記受信/送信タイマー周期レジスターの
上位16ビットに該当するからである。それから前記se
ttを2つに分けて再び左に16ビットシフトして前記受
信タイマーカウンターの出力値を示すレジスターに貯蔵
する。前記段階を行なう理由はスタートビットの受信開
始時点から受信タイマーカウンター値を受信1ビット当
りパルス区間の1/2に設定するとその値からカウント
し始めて1ビットを示すパルス区間の中間地点を正確に
読出せるからである。
ると、前記受信タイマーカウンターを初期化する(32
0段階)。これは前記TMS20C30DSPのカウン
ターが直列通信の動作の可否とは関係なくDSPのクロ
ックに動作されてカウントし続けるためであり、合わせ
てデータ1ビットを示すパルス区間の中間地点からビッ
ト値を読出させるためである。また、前記初期化は次の
通りに行われる。まず、前記受信/送信タイマー周期レ
ジスターの値を読出してsettという臨時変数レジスター
に貯蔵する。そして、前記settを右に16ビットシフト
するが、その理由は受信されるデータの1ビット当りパ
ルス区間値が前記受信/送信タイマー周期レジスターの
上位16ビットに該当するからである。それから前記se
ttを2つに分けて再び左に16ビットシフトして前記受
信タイマーカウンターの出力値を示すレジスターに貯蔵
する。前記段階を行なう理由はスタートビットの受信開
始時点から受信タイマーカウンター値を受信1ビット当
りパルス区間の1/2に設定するとその値からカウント
し始めて1ビットを示すパルス区間の中間地点を正確に
読出せるからである。
【0016】一方、前記受信タイマーカウンターの初期
化過程(320段階)が終わると、前記カウンターはプ
ロセッサーのクロックパルスに同期されてカウントし続
ける(330段階)。そして増加されたカウンターの値
が受信タイマー周期レジスターに設定された1ビットパ
ルス区間の値と同一なのか検査する(340段階)。検
査結果その値が同一ならその時が1ビットを示したパル
ス区間の1/2となる時点に該当されるのでその瞬間に
1ビットずつ受信する(350段階)。また前記受信タ
イマーカウンターは0にクリアーされ、ストップビット
の受信の可否を検査し(360段階)、ストップビット
が受信されるまで前記330段階、340段階及び35
0段階を反復する。こうしてTMS320C30DSP
の同期式直列ポートを通して8ビットのデータが全て受
信され、ストップビットが受信されると、DSPの受信
インタラプトを生成させて前記直列ポートをディスエー
ブルさせることにより(370段階)、非同期式直列デ
ータの受信が終わる。
化過程(320段階)が終わると、前記カウンターはプ
ロセッサーのクロックパルスに同期されてカウントし続
ける(330段階)。そして増加されたカウンターの値
が受信タイマー周期レジスターに設定された1ビットパ
ルス区間の値と同一なのか検査する(340段階)。検
査結果その値が同一ならその時が1ビットを示したパル
ス区間の1/2となる時点に該当されるのでその瞬間に
1ビットずつ受信する(350段階)。また前記受信タ
イマーカウンターは0にクリアーされ、ストップビット
の受信の可否を検査し(360段階)、ストップビット
が受信されるまで前記330段階、340段階及び35
0段階を反復する。こうしてTMS320C30DSP
の同期式直列ポートを通して8ビットのデータが全て受
信され、ストップビットが受信されると、DSPの受信
インタラプトを生成させて前記直列ポートをディスエー
ブルさせることにより(370段階)、非同期式直列デ
ータの受信が終わる。
【0017】一方、前記レジスターを用いて非同期式で
直列データを送信する方法を説明する。前記DSPがリ
アルタイムでデータを送信するため、送信キュー(queu
e)を備え、送信したいデータを前記送信キューに書込
み、リアルタイムタイマーインタラプトを用いて送信キ
ューを検査する。検査結果、前記送信キューが空いてい
ないと送信インタラプトをイネーブルさせて前記送信キ
ューに書込まれているデータを読出して伝送する。も
し、送信キューが空いていると前記送信インタラプトを
ディスエーブルさせることによりインタラプトハンドシ
ェイク(handshake)を行う。
直列データを送信する方法を説明する。前記DSPがリ
アルタイムでデータを送信するため、送信キュー(queu
e)を備え、送信したいデータを前記送信キューに書込
み、リアルタイムタイマーインタラプトを用いて送信キ
ューを検査する。検査結果、前記送信キューが空いてい
ないと送信インタラプトをイネーブルさせて前記送信キ
ューに書込まれているデータを読出して伝送する。も
し、送信キューが空いていると前記送信インタラプトを
ディスエーブルさせることによりインタラプトハンドシ
ェイク(handshake)を行う。
【0018】リアルタイム処理システムがインタラプト
方式の送信を行うためにキューをよく管理しなければリ
アルタイムデータを相手に伝達できない。キューの基本
動作はヘッド(head)住所部分でデータを書込み、テー
ル(tail)住所部分でデータを読出すべきである。リア
ルタイムインタラプトを使用してキューに送信するデー
タを伝達すると送信インタラプトを通してキューのデー
タを全て送信した後、現在のテール住所から新たに送信
しただけの住所を引いて新たに指定すればよい。
方式の送信を行うためにキューをよく管理しなければリ
アルタイムデータを相手に伝達できない。キューの基本
動作はヘッド(head)住所部分でデータを書込み、テー
ル(tail)住所部分でデータを読出すべきである。リア
ルタイムインタラプトを使用してキューに送信するデー
タを伝達すると送信インタラプトを通してキューのデー
タを全て送信した後、現在のテール住所から新たに送信
しただけの住所を引いて新たに指定すればよい。
【0019】しかし、システムの運営中、キューにデー
タを書込む動作が多くなるとヘッド住所がテール住所を
越えてしまう現像が発生しうる。このような状況はキュ
ーが破壊されてデータ管理ができなくなって突飛なデー
タを送信することになる。このような現像を防止するた
めにキューを無駄に大きくすることも出来ない。これを
解決するため、一定の大きさのキューを二段(two stag
e)に備える。第1段キューではシステムで送信するデ
ータを貯蔵する。前記第1段キューを検査してデータが
あれば、これを第2段キューに移動させる。この際、第
1段キューの住所(tail pointer)を更新する。こうす
れば多くのデータ送信に因して発生される長い伝送時間
の間にキューが溢れる現像を防止しうる。これは第1段
キューが満ちた(full)場合、前記キューに貯蔵された
データを読取るのはメモリを読出す動作でキューを空け
るので待機するのに大きな負担がない。
タを書込む動作が多くなるとヘッド住所がテール住所を
越えてしまう現像が発生しうる。このような状況はキュ
ーが破壊されてデータ管理ができなくなって突飛なデー
タを送信することになる。このような現像を防止するた
めにキューを無駄に大きくすることも出来ない。これを
解決するため、一定の大きさのキューを二段(two stag
e)に備える。第1段キューではシステムで送信するデ
ータを貯蔵する。前記第1段キューを検査してデータが
あれば、これを第2段キューに移動させる。この際、第
1段キューの住所(tail pointer)を更新する。こうす
れば多くのデータ送信に因して発生される長い伝送時間
の間にキューが溢れる現像を防止しうる。これは第1段
キューが満ちた(full)場合、前記キューに貯蔵された
データを読取るのはメモリを読出す動作でキューを空け
るので待機するのに大きな負担がない。
【0020】そして、前記DSPがインタラプト方式で
直列通信制御器を使用してデータを送信する時に多くの
インタラプトが発生される。前記インタラプトが発生す
ると、これをサービスするためにはDSPに多くの負担
が加えられ、インタラプトをイネーブル、ディスエーブ
ルする過程で前記DSPの動作が縺れて誤動作が引起こ
される。これを解決するためには前記DSPの内部にD
MAモジュールを備える。前記DMAは直列ポートと連
動可能であり、メモリの送信バッファを割当てるとDM
Aで自動的に直列ポートに1つのデータを書込み、直列
ポートがデータを送信完了すると、他のデータを自動的
に書込ませてDSPの負荷を減らすことになる。
直列通信制御器を使用してデータを送信する時に多くの
インタラプトが発生される。前記インタラプトが発生す
ると、これをサービスするためにはDSPに多くの負担
が加えられ、インタラプトをイネーブル、ディスエーブ
ルする過程で前記DSPの動作が縺れて誤動作が引起こ
される。これを解決するためには前記DSPの内部にD
MAモジュールを備える。前記DMAは直列ポートと連
動可能であり、メモリの送信バッファを割当てるとDM
Aで自動的に直列ポートに1つのデータを書込み、直列
ポートがデータを送信完了すると、他のデータを自動的
に書込ませてDSPの負荷を減らすことになる。
【0021】図4は本発明による非同期通信方式におい
てデータの送信時に送信1ビットパルス区間を送信タイ
マー周期レジスターに設定された値で一定にするために
送信タイマーカウンターをクリアーする時点を示した図
面である。
てデータの送信時に送信1ビットパルス区間を送信タイ
マー周期レジスターに設定された値で一定にするために
送信タイマーカウンターをクリアーする時点を示した図
面である。
【0022】図5は前記DSPが直列ポートを通して非
同期式で直列データを送信する動作を示す流れ図であ
る。まず、非同期式の通信のために、前記キューにある
8ビットデータの始めと終りにスタートビットとストッ
プビットとを付け加えて送信データフレームを生成する
(500段階)。それから送信タイマーカウンターを初
期化する(510段階)。即ち、スタートビットの送信
時点で送信タイマーカウンターの値を0に初期化させ
る。前記送信タイマーカウンターが初期化されると、前
記カウンターはプロセッサーのクロックパルスに同期さ
れてカウントし続ける(520段階)。それで増加され
たカウンターの値が送信タイマー周期レジスターに設定
された1ビットパルス区間の値と同一なのかを検査し
(530段階)、その値が同一ならその瞬間に1ビット
ずつ送信することである(540段階)。また、送信タ
イマーカウンターは0にクリアーされ、ストップビット
の送信の可否を検査し(550段階)、ストップビット
が送信されるまで前記530段階、540段階及び55
0段階を繰返す。こうしてTMS320C30DSPの
同期式直列ポートを通した非同期式の直列データ送信が
終わる。
同期式で直列データを送信する動作を示す流れ図であ
る。まず、非同期式の通信のために、前記キューにある
8ビットデータの始めと終りにスタートビットとストッ
プビットとを付け加えて送信データフレームを生成する
(500段階)。それから送信タイマーカウンターを初
期化する(510段階)。即ち、スタートビットの送信
時点で送信タイマーカウンターの値を0に初期化させ
る。前記送信タイマーカウンターが初期化されると、前
記カウンターはプロセッサーのクロックパルスに同期さ
れてカウントし続ける(520段階)。それで増加され
たカウンターの値が送信タイマー周期レジスターに設定
された1ビットパルス区間の値と同一なのかを検査し
(530段階)、その値が同一ならその瞬間に1ビット
ずつ送信することである(540段階)。また、送信タ
イマーカウンターは0にクリアーされ、ストップビット
の送信の可否を検査し(550段階)、ストップビット
が送信されるまで前記530段階、540段階及び55
0段階を繰返す。こうしてTMS320C30DSPの
同期式直列ポートを通した非同期式の直列データ送信が
終わる。
【0023】一方、前記非同期式直列データの送受信方
法は簡単なハードウェアを追加させることにより非同期
式通信の国際標準に該当されるRS232CとRS42
2方式の両方に適用しうる。
法は簡単なハードウェアを追加させることにより非同期
式通信の国際標準に該当されるRS232CとRS42
2方式の両方に適用しうる。
【0024】
【発明の効果】前述したように、本発明によればTMS
320C30DSPの同期式直列ポートを通して非同期
式データを送受信しうる。そして、長時間に亙って通信
を行っても通信異常が発生されなく、信頼性の高い非同
期直列通信が可能である。
320C30DSPの同期式直列ポートを通して非同期
式データを送受信しうる。そして、長時間に亙って通信
を行っても通信異常が発生されなく、信頼性の高い非同
期直列通信が可能である。
【図1】 TMS320C30DSPの直列通信ポート
を用いた非同期式データの送受信に使用されるレジスタ
ーを示す図であり、図1(A)は受信/送信タイマー周
期レジスターを示し、図1(B)は受信/送信タイマー
カウンターの出力を示す受信/送信タイマーカウンター
レジスターを示す図である。
を用いた非同期式データの送受信に使用されるレジスタ
ーを示す図であり、図1(A)は受信/送信タイマー周
期レジスターを示し、図1(B)は受信/送信タイマー
カウンターの出力を示す受信/送信タイマーカウンター
レジスターを示す図である。
【図2】 本発明による直列データの受信時に受信タイ
マーカウンターの初期出力値を再設定してパルスの中間
部分で安定にデータを受信する概念を示した図である。
マーカウンターの初期出力値を再設定してパルスの中間
部分で安定にデータを受信する概念を示した図である。
【図3】 非同期データの受信動作を示した流れ図であ
る。
る。
【図4】 本発明による非同期通信方式においてデータ
の送信時に送信タイマーカウンターをクリアーする時点
を示した図である。
の送信時に送信タイマーカウンターをクリアーする時点
を示した図である。
【図5】 直列データの送信動作を示した流れ図であ
る。
る。
300 スタートビット受信検査段階 310 直列ポートイネーブル段階 320 受信タイマーカウンター初期化段階 350 データ受信段階 370 直列ポートディスエーブル段階 500 送信データフレーム生成段階 510 送信タイマーカウンター初期化段階 540 データ送信段階 550 データ送信反復段階
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) H04L 25/38 G06F 13/38 H04L 7/04
Claims (4)
- 【請求項1】 直列通信時伝送されるデータの1ビット
の時間区間が複数のクロックパルスで構成されるパルス
区間に示される時、前記1ビットのデータが幾つかのク
ロックパルスに該当されるかを示すパルス区間情報を貯
蔵する受信タイマー周期レジスターと、前記クロックパ
ルスを受信タイマー周期レジスターに設定された値まで
カウントしてから再び0にクリアーされてカウント動作
を反復する受信タイマーカウンターを具備したディジタ
ル信号処理器に内蔵された直列ポートを通して直列デー
タを受信する方法において、 前記伝送されるデータがスタートビットなのかを検査す
る段階と、 前記伝送されたスタートビットがハイからローとなる
と、前記直列ポートをイネーブルさせる段階と、 前記直列ポートがイネーブルされると、前記受信タイマ
ーカウンターの初期値を前記受信タイマー周期レジスタ
ーに設定された値の半分に設定する初期化段階と、 前記受信タイマーカウンターが前記初期化された値から
カウントし始めてその値が前記受信タイマー周期レジス
ターに設定された値と同一になる度に伝送されるデータ
を1ビットずつ受信するが、ストップビットが出るまで
受信するデータ受信段階と、 前記ストップビットが受信されると、前記直列ポートを
ディスエーブルさせる段階とを含み、 前記直列ポートイネーブル段階は、 前記伝送されたスタートビットがハイからローになる
と、インタラプトを発生させて前記直列ポートをイネー
ブルさせ、 前記直列ポートディスエーブル段階は、 前記ストップビットを受信すると、受信インタラプトを
発生させて前記直列ポートをディスエーブルさせること
を特徴とする DSPの直列ポートを通した非同期式直列
データの受信方法。 - 【請求項2】 直列通信時伝送されるデータの1ビット
時間区間が複数のクロックパルスで構成されるパルス区
間に示される時、前記1ビットのデータが幾つのクロッ
クパルスに該当されるかを示すパルス区間情報を貯蔵す
る送信タイマー周期レジスターと、前記クロックパルス
を送信タイマー周期レジスターに設定された値までカウ
ントしてから再び0にクリアーされてカウント動作を反
復する送信タイマーカウンターとを具備したディジタル
信号処理器の直列ポートを通して直列データを送信する
方法において、 送信しようとするデータの前と後にスタートビットとス
トップビットを追加して非同期式のデータに作るデータ
フレーム生成段階と、 スタートビットの送信時点で送信タイマーカウンターの
値を0に初期化させる段階と、 前記初期化された値からカウントし始めて前記送信タイ
マー周期レジスターに設定された値と同一になる度に1
ビットずつ送信するデータ送信段階と、 前記伝送データのストップビットを送信するまで前記デ
ータ送信を反復する段階とを含むことを特徴とするDS
Pの直列ポートを通した非同期式直列データの送信方
法。 - 【請求項3】 前記データフレームの生成段階に必要な
データは、 前記DSPが送信するデータを一時貯蔵する送信キュー
をさらに具備する時、まず送信キューに記録して貯蔵さ
れ、 前記送信キューにデータを貯蔵する方式は、 前記送信キューが空いているかを検査する段階と、 前記送信キューが空いていないと、送信インタラプトを
イネーブルしてデータを前記送信キューに伝送し、 前記送信キューが空いていると、送信インタラプトをデ
ィスエーブルしてデータ伝送を中止する段階よりなるこ
とを特徴とする請求項2に記載のDSPの直列ポートを
通した非同期式直列データの送信方法。 - 【請求項4】 前記送信キューは、 前記DSPが送信するデータを貯蔵する第1送信キュー
と、 前記第1送信キューのデータを貯蔵して前記データフレ
ーム生成段階に必要なデータを供給する第2送信キュー
よりなることを特徴とする請求項3に記載のDSPの直
列ポートを通した非同期式直列データの送信方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970012794A KR100230451B1 (ko) | 1997-04-08 | 1997-04-08 | 디지털 신호처리 프로세서의 비동기방식 직렬데이터 송수신 방법 |
KR199712794 | 1997-04-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10303993A JPH10303993A (ja) | 1998-11-13 |
JP2971849B2 true JP2971849B2 (ja) | 1999-11-08 |
Family
ID=19502139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10095018A Expired - Fee Related JP2971849B2 (ja) | 1997-04-08 | 1998-04-07 | デジタル信号処理プロセッサーの非同期式直列データの送受信方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6240151B1 (ja) |
JP (1) | JP2971849B2 (ja) |
KR (1) | KR100230451B1 (ja) |
CN (1) | CN1195797A (ja) |
RU (1) | RU2145729C1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW484101B (en) * | 1998-12-17 | 2002-04-21 | Hitachi Ltd | Semiconductor device and its manufacturing method |
KR100533864B1 (ko) * | 1999-03-09 | 2005-12-07 | 가부시키가이샤 산요붓산 | 탄구유기기(彈球遊技機)의 제어장치 |
US6393502B1 (en) * | 1999-08-31 | 2002-05-21 | Advanced Micro Devices, Inc. | System and method for initiating a serial data transfer between two clock domains |
JP4364041B2 (ja) * | 2004-04-01 | 2009-11-11 | Okiセミコンダクタ株式会社 | データ転送回路 |
US7929714B2 (en) * | 2004-08-11 | 2011-04-19 | Qualcomm Incorporated | Integrated audio codec with silicon audio transducer |
CN100338845C (zh) * | 2004-12-24 | 2007-09-19 | 上海协同科技股份有限公司 | 用串行同步通信总线进行内部通信的输入输出模块 |
KR100688516B1 (ko) * | 2005-01-11 | 2007-03-02 | 삼성전자주식회사 | 단일 라인을 이용한 직렬 데이터 통신 방법 및 그 장치 |
US8077625B1 (en) * | 2005-06-30 | 2011-12-13 | National Semiconductor Corporation | Apparatus and method for using a communication resource for performing a timing operation |
CN101140551B (zh) * | 2006-09-07 | 2010-06-16 | 中国科学院长春光学精密机械与物理研究所 | 一种实现数字信号处理器异步串行通讯的装置 |
US8761324B1 (en) * | 2009-07-10 | 2014-06-24 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for phase signaling |
GB2537856A (en) * | 2015-04-28 | 2016-11-02 | Nordic Semiconductor Asa | Communication between intergrated circuits |
CN105005511A (zh) * | 2015-06-30 | 2015-10-28 | 宁波东海仪表水道有限公司 | 一种串行通信数据校验方法 |
CN105871383B (zh) * | 2016-03-29 | 2020-02-11 | 上海斐讯数据通信技术有限公司 | 数据截止位提取电路、串并转换电路以及串行点灯电路 |
KR101921119B1 (ko) * | 2016-07-19 | 2018-12-06 | 주식회사 지엠케이 | 비동기 디지털 통신 모듈 |
CN113094305B (zh) * | 2021-04-02 | 2024-03-26 | 北京黑蚁兄弟科技有限公司 | 一种异步通信处理方法、装置和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6220451A (ja) | 1985-07-19 | 1987-01-29 | Nec Corp | 符号変換装置 |
JPS6281840A (ja) | 1985-10-04 | 1987-04-15 | Tsubakimoto Chain Co | 同期回路 |
JPS63238745A (ja) | 1987-03-26 | 1988-10-04 | Matsushita Electric Works Ltd | デ−タ伝送装置 |
EP0389696A1 (en) | 1989-03-29 | 1990-10-03 | International Business Machines Corporation | Serial data receiver |
JPH0385043A (ja) | 1989-08-29 | 1991-04-10 | Fujitsu Kiden Ltd | データ転送装置 |
JP3466738B2 (ja) * | 1994-11-21 | 2003-11-17 | ヤマハ株式会社 | 非同期シリアルデータ受信装置 |
-
1997
- 1997-04-08 KR KR1019970012794A patent/KR100230451B1/ko not_active IP Right Cessation
-
1998
- 1998-02-19 RU RU98103524A patent/RU2145729C1/ru active
- 1998-02-19 CN CN98104479A patent/CN1195797A/zh active Pending
- 1998-04-07 JP JP10095018A patent/JP2971849B2/ja not_active Expired - Fee Related
- 1998-04-08 US US09/056,763 patent/US6240151B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6240151B1 (en) | 2001-05-29 |
RU2145729C1 (ru) | 2000-02-20 |
KR100230451B1 (ko) | 1999-11-15 |
CN1195797A (zh) | 1998-10-14 |
JPH10303993A (ja) | 1998-11-13 |
KR19980076203A (ko) | 1998-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2971849B2 (ja) | デジタル信号処理プロセッサーの非同期式直列データの送受信方法 | |
US4016548A (en) | Communication multiplexer module | |
US20060255982A1 (en) | Embedding Event Information in the Timing Stream | |
US20060255972A1 (en) | Trace Receiver Data Compression | |
US20060255981A1 (en) | Paced Trace Transmission | |
US20060255985A1 (en) | Reissue an ID to a Data Log Even if the Same ID May Be Repeated | |
JP5236908B2 (ja) | エミュレーションシステム | |
WO2008007931A1 (en) | Memory device having data processing function | |
CN111352888A (zh) | 异步收发器的中断信号产生方法及装置 | |
US20190073291A1 (en) | Instruction generation based on selection or non-selection of a special command | |
CN115237349A (zh) | 数据读写控制方法、控制装置、计算机存储介质和电子设备 | |
CN111641708A (zh) | Dsp芯片传输数据的方法和装置 | |
US5091870A (en) | Apparatus for measuring the speed of transmission of digital characters | |
JP2523874B2 (ja) | 非同期式シリアルデ―タ伝送装置 | |
JP3478565B2 (ja) | パラレルインタフェース回路 | |
JPH03276383A (ja) | Icカードの通信システム | |
JPS5833764A (ja) | 時間監視方式 | |
JP2945865B2 (ja) | カード割り込み処理装置 | |
SU1686453A1 (ru) | Устройство дл сопр жени вычислительной машины с общей магистралью | |
RU2122233C1 (ru) | Устройство для контроля работы микроэвм | |
JP2945123B2 (ja) | 通信システム | |
SU1260970A2 (ru) | Устройство дл обмена данными между оперативной пам тью и периферийными устройствами | |
SU1283782A1 (ru) | Устройство дл сопр жени ЭВМ с внешними устройствами | |
CN114895746A (zh) | 一种系统时间的同步方法及装置、计算设备、存储介质 | |
CN115794699A (zh) | 基于spi通信的数据写入方法、电子终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080827 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |