(57)【特許請求の範囲】
【請求項１】
外部装置からのシリアル通信によるデータを受信してサンプリングする受信部を備えたシリアル通信装置において、
プログラムを解釈して実行する演算処理部と、
上記受信部を制御する制御部と、
上記制御部による通信速度の設定値に基づいた周波数のサンプリング用クロック信号を発生させる信号発生部と、
受信データに対してサンプリングポイントを設定するための設定部とを備え、
プログラムに記述される上記サンプリングポイントの設定値を変更した場合に、上記演算処理部によるプログラムの実行結果に応じて上記設定部における設定状態が変更されて、上記サンプリング用クロック信号の位相がずれるように制御される
ことを特徴とするシリアル通信装置。
【請求項２】
請求項１に記載したシリアル通信装置において、
上記サンプリング用クロック信号の基準となる基準クロック信号を発生するクロック信号発生回路と、
上記クロック信号発生回路によって発生されるクロック信号を計数するカウンタと、
上記設定部を構成するサンプリングポイント設定用レジスタと、
上記カウンタの出力値と上記サンプリングポイント設定用レジスタの設定値とを比較して両者が一致するときにサンプリング用クロック信号を出力する比較器を備えている
ことを特徴とするシリアル通信装置。
【請求項３】
請求項１に記載したシリアル通信装置において、
上記受信部が調歩同期式シリアルインターフェースを用いてデータを受信するとともに、受信データをサンプリングしてパラレルデータに変換する
ことを特徴とするシリアル通信装置。
【請求項４】
請求項２に記載したシリアル通信装置において、
上記受信部が調歩同期式シリアルインターフェースを用いてデータを受信するとともに、受信データをサンプリングしてパラレルデータに変換する
ことを特徴とするシリアル通信装置。
【請求項５】
外部装置からのシリアル通信によるデータを受信してサンプリングする受信部と、当該受信部からのデータを処理する信号処理部とを備えた信号処理装置において、
プログラムを解釈して実行する演算処理部と、
上記受信部を制御する制御部と、
上記制御部による通信速度の設定値に基づいた周波数のサンプリング用クロック信号を発生させる信号発生部と、
受信データに対してサンプリングポイントを設定するための設定部とを備え、
プログラムに記述される上記サンプリングポイントの設定値を変更した場合に、上記演算処理部によるプログラムの実行結果に応じて上記設定部における設定状態が変更されて、上記サンプリング用クロック信号の位相が制御され、当該サンプリング用クロック信号に従ってサンプリングされたデータが上記信号処理部に送出されるようにした
ことを特徴とする信号処理装置。
【請求項６】
請求項５に記載した信号処理装置において、
上記サンプリング用クロック信号の基準となる基準クロック信号を発生するクロック信号発生回路と、
上記クロック信号発生回路によって発生されるクロック信号を計数するカウンタと、
上記設定部を構成するサンプリングポイント設定用レジスタと、
上記カウンタの出力値と上記サンプリングポイント設定用レジスタの設定値とを比較して両者が一致するときにサンプリング用クロック信号を出力する比較器を備えている
ことを特徴とする信号処理装置。
【請求項７】
請求項５に記載した信号処理装置において、
上記受信部が調歩同期式シリアルインターフェースを用いてデータを受信するとともに、受信データをサンプリングしてパラレルデータに変換する
ことを特徴とする信号処理装置。
【請求項８】
請求項６に記載した信号処理装置において、
上記受信部が調歩同期式シリアルインターフェースを用いてデータを受信するとともに、受信データをサンプリングしてパラレルデータに変換する
ことを特徴とする信号処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、シリアル受信データのサンプリング処理において、データに対するサンプリング位置（サンプリングポイント）をプログラム設定によって自在に制御できるようにする技術に関する。
【０００２】
【従来の技術】
ホストコンピュータとＤＳＰ（ディジタル・シグナル・プロセッサ）との間の通信手段として、標準的に調歩同期式（ＵＡＲＴ：Ｕniversal  ＡsynchronousＲeceiver  Ｔransmitter）シリアルインターフェースが用いられている。
【０００３】
例えば、ＤＳＰは、シリアルデータを含むフレームの先頭にスタートビットとして１ビットの”Ｌ”（ロー）レベル信号を受信することでサンプリング処理を開始し、サンプリング用クロック信号（サンプリングパルス）の前縁においてフレームの各ビットについてサンプリングを行う。そのために受信データのサンプリング制御回路が設けられており、当該回路がハードワイヤードロジックで設計されているためデータに対するサンプリングポイントは常に固定されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、従来の装置では、例えば、ホストコンピュータとのデータ通信において、その通信速度には誤差を伴うことがあり（所謂エラーレート）、これに起因して適正なサンプリングポイントがずれてしまうという問題がある。
【０００５】
図８は、その状況について説明するためのタイミングチャート図であり、記号の意味は下記に示す通りである。
【０００６】
・「ＲＸＤ」＝シリアル受信データ
・「ＳＭＰ＿ＣＫ」＝サンプリング用クロック信号。
【０００７】
受信データＲＸＤは、スタートビットを先頭にしてビット０乃至ビット７からなるデータ部と、誤り検出用のパリティビット、ストップビットが時系列に従って順番に配置された信号である。
【０００８】
しかし、シリアルインターフェースで生成されるクロック信号ＳＭＰ＿ＣＫのレート（サンプリングレート）に対して受信データＲＸＤのレートには速度誤差が含まれている場合があるため、例えば、図示するようにサンプリングのタイミングが徐々にずれていく。その結果、図８では、データのビット７に対するサンプリングを飛ばしてパリティビットを受信してしまい、これが受信エラーの原因となる。
【０００９】
そこで、本発明は、シリアルインターフェースによる受信データに対するサンプリングポイントをプログラム設定により自在に設定できるようにして受信エラーの頻度を低減することを課題とする。
【００１０】
【課題を解決するための手段】
本発明は上記した課題を解決するために、シリアル通信データを受信してサンプリングする受信部と、プログラムを解釈して実行する演算処理部と、受信部を制御する制御部と、制御部による通信速度の設定値に基づいた周波数のサンプリング用クロック信号を発生させる信号発生部と、受信データに対してサンプリングポイントを設定するための設定部とを備え、プログラムに記述されるサンプリングポイントの設定値を変更した場合に、演算処理部によるプログラムの実行結果に応じて設定部における設定状態を変更することで、サンプリング用クロック信号の位相をずらす制御を可能にしたものである。
【００１１】
従って、本発明によれば、受信データに対するサンプリング用クロック信号の位相をプログラムによる設定で自在に変更することができるので、エラーレートに起因する受信エラーの発生頻度を低減することができる。
【００１２】
【発明の実施の形態】
本発明は、外部装置からのシリアル通信によるデータを受信してサンプリングする受信部を備えたシリアル通信装置及びこれを用いた信号処理装置において、受信データに対するサンプリングポイントを規定しあるいは設定する回路をプログラムにより制御することで当該サンプリングポイントを自由に変更できるようにしたものである。尚、外部装置としてはコンピュータが挙げられるが、これに限らずシリアル通信が可能な各種のデータ処理装置に適用でき、また、信号処理装置についても画像信号処理装置や音声信号処理装置、変復調装置（モデム）等、各種の処理装置への適用が可能である。
【００１３】
図１は、本発明を、カメラ信号処理用のディジタル・シグナル・プロセッサ装置に適用した構成例を示したものである。尚、信号処理装置１においてディジタル信号処理部（以下、「ＤＳＰ」と略記する。）２に接続される外部装置としてはホストコンピュータ３を想定している。
【００１４】
図示するように、ＤＳＰ２は、下記に示す構成要素を具備する（括弧内の数字は符号を示す。）。
【００１５】
・演算処理部（４）
・カメラ信号処理部（５）
・シリアルインターフェース部（６）
・汎用周辺回路部（７）。
【００１６】
尚、これらは、いずれも内部バス８を介して結ばれている。
【００１７】
演算処理部４はプログラムを解釈して実行するものであり、図にはＣＰＵ（中央処理装置）９や汎用周辺回路部７を示しているが、処理に必要なメモリやコントローラ等が含まれる。
【００１８】
カメラ信号処理部５は、シリアルインターフェース部６内の受信部からのデータを処理する信号処理部である。つまり、撮像手段（図示せず。）の出力する撮像信号の信号処理、例えば、サンプリングや波形整形、アナログ／ディジタル変換等の処理を担当している。尚、撮像手段については、例えば、ＣＣＤ（電荷結合素子）型の固体撮像素子（エリアイメージセンサやラインイメージセンサ等）が挙げられるが、これに限らず、ＭＯＳ（金属酸化物半導体）型あるいはＣＭＯＳ型等の固体撮像素子、あるいは撮像管等の使用が可能である。
【００１９】
シリアルインターフェース部６は、ホストコンピュータ３との間でデータのやり取りを行うものであり、例えば、パーソナルコンピュータを使用する場合には、ＲＳ−２３２Ｃ（ＥＩＡ標準規格）が用いられ、ＤＳＰ２での演算に使用するパラメータ等についての通信を行う。
【００２０】
図２はシリアルインターフェース部の構成例を示したものである。
【００２１】
ＤＳＰ２に内蔵されたシリアルインターフェース部６は、シリアルデータをサンプリングしてパラレルデータに変換するＵＡＲＴ受信部１０と、これとは逆にパラレルデータをシリアルデータに変換して出力するＵＡＲＴ送信部１１を備えている。尚、図中に示す「ＲＸＤ」は受信データを示し、「ＴＸＤ」は送信データを示しており、また、「Ｓ／Ｐ」はシリアル／パラレル変換を意味し、「Ｐ／Ｓ」はパラレル／シリアル変換を意味する。
【００２２】
ＵＡＲＴ受信部１０やＵＡＲＴ送信部１１には図示しないデータ処理ブロックからのデータを一時的に格納するためのＦＩＦＯ（Ｆirst Ｉn Ｆirst Ｏut:先入れ先出しバッファ）部がそれぞれ設けられている。つまり、受信用ＦＩＦＯ部１２がＵＡＲＴ受信部１０に対して設けられ、送信用ＦＩＦＯ部１３がＵＡＲＴ送信部１１に対して設けられている。
【００２３】
そして、送受信部（ＵＡＲＴ受信部１０とＵＡＲＴ送信部１１）を制御する制御部１４と、設定した通信速度に対応したクロック信号を生成するための信号発生部（クロックジェネレータ）１５が設けられており、該信号発生部は制御部１４の支配下に置かれ、その出力するクロック信号はサンプリング用クロック信号として送受信部に送出される。
【００２４】
本構成において、通信速度の設定値については、予めＣＰＵ９を介したプログラムの解釈及び実行により制御部１４に対して設定される。制御部１４はこの設定値に基づいた周波数のクロック信号（ボーレートに対応したクロック）を生成するように信号発生部１５を制御する。つまり、信号発生部１５は、演算処理部４からの指令を制御部１４が受けた場合に、制御部１４からの指示に応じて、通信速度の設定値に基づいた周波数のサンプリング用クロック信号を発生させる役割をもっている。
【００２５】
図３は信号発生部（クロックジェネレータ）の構成例を示したものであり、下記の構成要素を具備する（括弧内の数字は符号を示す。）。
【００２６】
・クロック信号発生回路（１６）
・カウンタ（１７）
・サンプリングポイントの設定部（１８）
・比較器（１９）。
【００２７】
クロック信号発生回路１６は、スタートビットの立ち下がり検出信号や、通信速度の設定用信号（制御部１４からの信号であり、通信速度設定値を示す。）を受けて基準クロック信号を発生する。尚、この信号はサンプリング用クロック信号の基準となる信号であり、通信ビットレートの数倍（１６倍）に相当する周波数のクロック信号である。
【００２８】
ＵＡＲＴ受信部１０において受信フレームの先頭を示すスタートビットの立ち下がりを検出すると、上記の基準クロック信号が生成され、これがカウンタ１７に送られて計数処理がなされる。そして、カウンタ１７の出力（例えば、アップカウンタを用いた場合にはカウントアップされた分周出力）は比較器１９に送られる。
【００２９】
設定部１８は、プログラマブルなサンプリング制御を実現する部分であり、受信データに対してサンプリングポイントを可変設定するために設けられている。つまり、プログラムに記述されるサンプリングポイントの設定値を変更した場合に、演算処理部４によるプログラムの実行結果に応じて設定部１８における設定状態が変更されるようになっており、そのために設定部１８としてはサンプリングポイント設定用レジスタ１８ａが設けられている。尚、設定部１８についてはレジスタに限らず、例えば、設定値を参照電圧として切り換える電圧切換回路等を用いても良い。
【００３０】
サンプリングポイント設定用レジスタ１８ａに設定された値は比較器１９に送られ、ここでカウンタ１７の出力値と比較される。つまり、両者の値が等しくなったときに比較器１９が出力する信号がサンプリング用クロック信号（つまり、実際に受信データをサンプリングする際のクロック信号）となる。このように設定部１８の値を変更することで、サンプリング用クロック信号の位相制御、即ち、サンプリングのタイミングを時間軸方向に沿ってずらすことができる構成となっている。
【００３１】
この設定用レジスタ１８ａへの設定値についてその初期値としては、ビット長の中央位置でサンプリングを行える値、例えば、上記した１６倍の基準クロック信号を用いる場合において「７」にしておく。そして、図８で説明したように、エラーレートを含む受信データをサンプリングする際のサンプリングポイントの位置ずれの問題に対処するには、プログラム上での設定値を変更して、演算処理部４（のＣＰＵ９）を介して設定部１８の内容、つまり、サンプリングポイント設定用レジスタ１８ａの保持データを変更してサンプリングのタイミングを変えることにより受信エラーを回避できる。例えば、設定値を「７」から「６」に変更すると、その差「１」に相当する時間だけタイミングが早まる。尚、この１単位分の時間が上記基準クロック信号の１周期分に相当する。
【００３２】
図４及び図５は、その様子を示すタイミングチャート図である。尚、図４は受信データ「ＲＸＤ」の１フレーム分と、これに対するサンプリング用クロック信号「ＳＭＰ＿ＣＫ」を示しており、これはサンプリングポイントに係る初期設定値「７」に対応するものとされ、同図に１点鎖線の丸枠Ａで示すように、ビット７で受信エラーが生じる状況を示している。また、図５は図４の丸枠Ａの部分を拡大して示しており、初期設定値「７」でのサンプリング用クロック信号「ＳＭＰ＿ＣＫ７」と、設定値「６」でのサンプリング用クロック信号「ＳＭＰ＿ＣＫ６」とを併せて示している。尚、「ＣＫ０」は基準クロック信号を示しており、そのカウント位置を「０」乃至「１５」の数字で示している。
【００３３】
本例では、受信データ「ＲＸＤ」が、設定された通信速度に対してこれよりも速い方向に誤差をもっているので、初期設定値「７」でのクロック信号ＳＭＰ＿ＣＫ７では、フレームの終わり（ビット７）でクロックずれが生じて受信エラーが発生する（ビット７をサンプリングできない）。
【００３４】
そこで、レジスタ１８ａの設定値「７」より小さい値「６」に設定することでサンプリングポイントをずらしたクロック信号ＳＭＰ＿ＣＫ６（位相を早めた信号）を用いると、図示するように当該クロック信号の前縁においてビット７の情報を正常にサンプリングして受信することができる。
【００３５】
尚、通信速度の設定値よりも遅い方向に誤差をもつ受信データについては、レジスタ１８ａの設定値を大きくすれば良い。
【００３６】
図６及び図７は、その様子を示すタイミングチャート図である。尚、図７は図６の１点鎖線で示す丸枠Ｂ内を拡大して示したものであり、図中に示す信号「ＳＭＰ＿ＣＫ８」が設定値「８」でのサンプリング用クロック信号を示すことを除いて、図示された記号の意味は既述の通りである。
【００３７】
この例に示す受信データ「ＲＸＤ」は、設定された通信速度に対してこれよりも遅い方向に誤差をもっているので、初期設定値「７」でのクロック信号ＳＭＰ＿ＣＫ７では、ビット７についてクロックずれが生じて受信エラーが発生する（本来ビット７をサンプリングすべきであるのに、サンプリング用クロックの前縁がビット６にかかってしまうので、正常なデータを受信できずにパリティチェックにひっかかってしまう。）。
【００３８】
そこで、レジスタ１８ａの設定値「７」より大きい値「８」に設定することでサンプリングポイントをずらしたクロック信号ＳＭＰ＿ＣＫ８（位相を遅くした信号）を用いると、図示するように当該クロック信号の前縁においてビット７の情報を正常にサンプリングして受信することができる。
【００３９】
以上のように、プログラム上の設定値を変更することで設定内容を変えることのできるサンプリングポイント設定用レジスタを設け、例えば、上記したように当該レジスタの設定値を小さく（又は大きく）することでサンプリング用クロック信号の位相を早くする（又は遅くする）ことができるので、受信エラーを惹き起こす原因である通信速度誤差に対処できる。
【００４０】
尚、上記の説明では、受信データ自身に通信速度誤差が含まれるものとしたが、サンプリング用クロック信号自身に誤差が含まれているために受信エラーが発生する場合にも本発明を適用できる。即ち、受信データには誤差が含まれていないか、あるいは多少の誤差はあるが受信に支障を来すほどではない場合であっても、サンプリング用クロック信号についてサンプリングレートや周波数の揺らぎ等に問題がある場合には、やはり、受信エラーの原因になる。そこで、このような場合にも、サンプリングポイント設定用レジスタへの設定値を変更することでサンプリング用クロック信号の位相を制御することが好ましい。
【００４１】
これによって、通信エラーの発生頻度を低減することができるだけでなく、特定の周波数をもったクロック生成のための専用回路（発振回路）を必要としない分、コストダウンを実現できるという利点が得られる。例えば、ＵＡＲＴの通信速度については、一般に良く使用される値があって、この通信速度に対応するクロック信号を生成するためには、特定の周波数をもった専用の発振回路が必要である。しかしながら、このような専用回路を設けることはハードウェア構成としては余分なことであり（つまり、既存の信号を利用してクロック信号を生成できるならその方が良い。）、また、周波数の異なるクロック信号がいくつも存在することに起因する弊害（例えば、干渉による誤動作の誘発等）についてもなるべくなら避けた方が良い。そこで、既存の周波数の信号を利用してこれを分周することにより、ＵＡＲＴ通信のためのクロック信号を生成することが望ましいことになるが、この場合、通信速度の値によっては、やむを得ず誤差を含むサンプリング用クロック信号が生成される場合がある。従って、このようなクロック信号を使用する場合において、プログラムにより設定可能なサンプリング用クロック信号の位相制御を用いることで、受信エラーを惹き起こす原因が当該クロック信号自身にあったとしても、充分に対処できる。
【００４２】
【発明の効果】
以上に記載したところから明らかなように、請求項１に係る発明によれば、受信データに対するサンプリング用クロック信号の位相をプログラムの記述による設定で自在に変更することができるので、受信データ又はサンプリング用クロック信号に含まれる誤差に起因する受信エラーの発生頻度を低減できる。
【００４３】
請求項２や請求項６に係る発明によれば、サンプリングポイント設定用レジスタを設け、その設定内容とカウンタの出力とを比較することにより、サンプリング用クロック信号に対する位相制御を簡単な構成で実現できる。
【００４４】
請求項３、請求項４、請求項７、請求項８に係る発明によれば、調歩同期式シリアルインターフェースを用いたデータ受信時において、サンプリングによるパラレルデータ変換をエラーなく行うことができる。
【００４５】
請求項５に係る発明によれば、受信データ又はサンプリング用クロック信号に含まれる速度誤差に起因する受信エラーの発生頻度を低減できるので、信号処理の能率化や迅速化に寄与することができる。
【図面の簡単な説明】
【図１】本発明に係る信号処理装置の構成例を示すブロック図である。
【図２】シリアルインターフェース部の構成例を示すブロック図である。
【図３】信号発生部の構成例を示すブロック図である。
【図４】図５とともに通信速度の設定値よりも速い方向に誤差をもつ受信データに対するサンプリングについて説明するための図であり、本図は受信データ及び初期設定値でのサンプリング用クロック信号を示したタイミングチャート図である。
【図５】図４の１点鎖線枠Ａ内を拡大して要部を示すタイミングチャート図であり、設定値を初期値から変更した場合のサンプリング用クロック信号を対比的に示したタイミングチャート図である。
【図６】図７とともに通信速度の設定値よりも遅い方向に誤差をもつ受信データに対するサンプリングについて説明するための図であり、本図は受信データ及び初期設定値でのサンプリング用クロック信号を示したタイミングチャート図である。
【図７】図６の１点鎖線枠Ｂ内を拡大して要部を示すタイミングチャート図であり、設定値を初期値から変更した場合のサンプリング用クロック信号を対比的に示したタイミングチャート図である。
【図８】従来の問題点について説明するためのタイミングチャート図である。
【符号の説明】
１…信号処理装置、２…信号処理部、３…外部装置（ホストコンピュータ）、４…演算処理部、１０…受信部、１４…制御部、１５…信号発生部、１６…クロック信号発生回路、１７…カウンタ、１８…設定部、１８ａ…サンプリングポイント設定用レジスタ、１９…比較器
【図１】
0004352297.tif 000002
【図２】
0004352297.tif 000003
【図３】
0004352297.tif 000004
【図４】
0004352297.tif 000005
【図５】
0004352297.tif 000006
【図６】
0004352297.tif 000007
【図７】
0004352297.tif 000008
【図８】
0004352297.tif 000009