JP2007036850A - 文字認識回路 - Google Patents

文字認識回路 Download PDF

Info

Publication number
JP2007036850A
JP2007036850A JP2005219215A JP2005219215A JP2007036850A JP 2007036850 A JP2007036850 A JP 2007036850A JP 2005219215 A JP2005219215 A JP 2005219215A JP 2005219215 A JP2005219215 A JP 2005219215A JP 2007036850 A JP2007036850 A JP 2007036850A
Authority
JP
Japan
Prior art keywords
character
circuit
format
signal
recognition circuit
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.)
Withdrawn
Application number
JP2005219215A
Other languages
English (en)
Inventor
Haruki Yamaya
春喜 山家
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry 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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2005219215A priority Critical patent/JP2007036850A/ja
Publication of JP2007036850A publication Critical patent/JP2007036850A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Communication Control (AREA)

Abstract

【課題】調歩同期方式のATコマンドに基づいて、通信速度およびキャラクタフォーマットを認識する文字認識回路を提供。
【解決手段】文字認識回路10は、受信したシリアル入力信号108が示すATコマンドをAT文字解析する回路であって、キャラクタ検出回路22にてシリアル入力信号108から第1のキャラクタおよび第2のキャラクタを検出し、キャラクタ識別回路24にて、第1のキャラクタが文字「A」または「a」であることを識別し、かつ第2のキャラクタが文字「T」、「t」および「/」であることを識別して、さらに第1のキャラクタおよび第2のキャラクタの組み合わせを識別して、この識別結果に応じてキャラクタフォーマット選択回路26でキャラクタフォーマットを選択して汎用非同期送受信回路42に設定するものである。
【選択図】図1

Description

本発明は、パーソナル・コンピュータなどのデータ端末装置から送られてアナログ・モデムなどのデータ回線終端装置で受信される調歩同期方式のATコマンドに基づいて、通信速度およびキャラクタフォーマットを認識する文字認識回路に関するものである。
従来から、アナログ・モデムやターミナルアダプタなどのデータ回線終端装置(Data Circuit terminating Equipment:DCE)は、パーソナルコンピュータなどのデータ端末装置(Data Terminal Equipment:DTE)と、RS232CやITU-T勧告V.24に記載されたインタフェースで接続され、このDTEとデータ通信を行うときには、ITU-T勧告のV.25terに記載されるようなATコマンド方式を用いて、調歩同期方式によって、このDCEを制御することができる。
このような従来のDCEは、調歩同期方式で送られたATコマンドを、汎用非同期送受信回路(Universal Asynchronous Receiver Transmitter:UART)と呼ばれる調歩同期方式のシリアルデータ送受信回路で受信して、受信したATコマンドに応じた通信制御を行うことができる。
また、このDCEは、DTEからのATコマンドを解析する文字認識回路を備えて、DTEにおける調歩同期方式の通信速度およびキャラクタフォーマットを識別し、UARTにおける通信速度およびキャラクタフォーマットを、DTEにおけるものと一致させることにより、ATコマンドを受信することができる。
たとえば、特許文献1に記載のATコマンド受信回路は、UARTと接続されて、ATコマンドの先頭部分である「AT」または「at」の2文字を受信するもので、最初のスタートビットの区間の時間を計測して調歩同期方式の通信速度を検出する。また、ATコマンド受信回路は、この通信速度を用いて受信した先頭文字が「A」または「a」であるときに、先頭文字が「A」ならば受信した次の文字が「T」であるか、または先頭文字が「a」ならば受信した次の文字が「t」であるかを確認する。この確認の結果、連続して受信した2文字が「AT」または「at」であるとき、ATコマンド受信回路は、これらの文字のASCIIコードの組み合わせに応じて調歩同期方式のキャラクタフォーマットを検出し、2文字目の受信終了時点で、UARTに対して通信速度およびキャラクタフォーマットを設定して、3文字目以降の受信をUARTで行うことにより、CPUの処理を低減させている。
さらに、ATコマンド受信回路は、文字「A」または「a」の入力待ちから、文字「AT」または「at」の解析終了までの期間と、ATコマンド入力の終了を示すキャリッジリターン「cr」の検出以降においては、UARTへの受信クロックを停止させることで消費電流を節約している。
特開2000-278356号
しかしながら、特許文献1に記載のATコマンド受信回路では、文字「AT」または「at」の組み合わせのみを検出するために、その他の組み合わせ、たとえば、直前に実行させたATコマンドの再実行を要求する場合のコマンドを示す文字「A/」または「a/」を検出することはできない。
また、従来から、DTEは、ATコマンド入力時に、DCEが正常に受信していることを確認するために、DCEに対して、ATコマンド入力時に受信した文字をDTEに返す機能(エコーバック)を要求(たとえばATE1コマンド)することがある。このとき、従来のDCEにおけるCPUは、UARTに対して受信した文字を書き込む必要があるが、このCPUは、文字「AT」または「at」の2文字の組み合わせが検出されるまで、その結果を知ることができないため、先頭文字の受信時点でのエコーバックをすることができない。
さらに、従来のDCEは、ATコマンド入力の終了を示すキャリッジリターン「cr」を検出すると、UARTへの受信クロックを停止させるため、DTEが実行中のATコマンドを中止させる目的で入力する1文字(エニーキーキャンセル)を受信することができず、またATコマンドの実行によりデータ通信が可能になった段階においてDTEとのデータの送受信ができなくなる。
本発明はこのような従来技術の欠点を解消し、文字の組み合わせに限定されずにATコマンドを解析して、シリアル通信速度およびキャラクタフォーマットの識別および設定を行う文字認識回路を提供することを目的とする。
本発明は上述の課題を解決するために、調歩同期方式で送信されたシリアルデータを受信して汎用非同期送受信回路に出力する文字認識回路は、このシリアルデータを受信し、このシリアルデータからキャラクタを検出して検出キャラクタを出力するキャラクタ検出手段と、この検出キャラクタがATコマンドを示すか否かを判定するキャラクタ識別手段と、このキャラクタ識別手段の識別結果であるキャラクタの組み合わせに応じて、キャラクタフォーマットを選択し、選択したこのキャラクタフォーマットをこの汎用非同期送受信回路に設定するキャラクタフォーマット選択手段とを含み、このキャラクタ識別手段は、この検出キャラクタがATコマンドの第1のキャラクタであるか否かを識別する第1の識別手段と、この検出キャラクタがATコマンドの第2のキャラクタであるか否かを識別する第2の識別手段とを含み、第1の識別手段の結果、この検出キャラクタを文字「A」または「a」であると識別した場合には、この検出キャラクタを第1のキャラクタとして保持し、第2の識別手段の結果、この検出キャラクタを文字「A」または「a」であると識別した場合には、この検出キャラクタを第1のキャラクタとして保持し、文字「T」、「t」または「/」であると識別した場合には、この検出キャラクタを第2のキャラクタとして保持して第1のキャラクタおよび第2のキャラクタをキャラクタフォーマット選択手段へと出力し、このキャラクタフォーマット選択手段は、第1のキャラクタおよび第2のキャラクタの組み合わせに応じて、このキャラクタフォーマットを選択することを特徴とする。
本発明の文字認識回路によれば、上位アプリケーションからの命令によって、ATコマンドの解析として、入力された文字列の確認を行いながら、シリアル通信速度およびキャラクタフォーマットを識別し、かつUARTへ自動的に設定することにより、UARTがATコマンドを受信する際に、DTEが要求しているシリアル通信速度およびキャラクタフォーマットに一致させることができる。
このとき、本発明の文字認識回路では、動作していないときにクロックを停止させて電流の消費を低減することができる。
また、本発明の文字認識回路では、認識した文字のエコーバックを自動的に行うことでCPUの負荷を低減することができ、割込信号によって動作終了および解析結果を上位アプリケーションに通知するため、上位アプリケーションは、AT文字解析の開始命令から動作終了の割り込みが発生するまでの期間は、ATコマンド解析を意識する必要がなく、他の処理を行うことができる。
また、本発明の文字認識回路では、動作終了の割り込みが発生した時点が、シリアル入力信号がマスクされてから、少なくとも1キャラクタ分以上の時間が経過しているため、上位アプリケーションが、動作終了の割り込み発生のタイミングから1キャラクタ分の時間内に、UARTにおけるATコマンド解析時の受信データを読み出して破棄することにより、UARTでは、3文字目以降のATコマンドを受信する際に、間違ったキャラクタなどの無効データの混入を防止することもできる。
また、本発明の文字認識回路では、シリアル入力信号におけるノイズおよびグリッジを除去することにより、誤認識や誤判定が防止できるため、シリアル通信速度およびキャラクタフォーマットの識別をより正確に行うことができる。
次に添付図面を参照して、本発明による文字認識回路の実施例を詳細に説明する。たとえば、本発明の文字認識回路10は、図1に示すように、CPUインタフェース回路12と接続する制御回路14に制御されて、スタートビット期間測定回路16およびボーレート選択回路18で通信速度を決定し、この通信速度を用いて内部クロック発生回路20で内部クロックを発生させ、この内部クロックに従ってキャラクタ検出回路22でATコマンドにおけるキャラクタを検出してキャラクタ識別回路24でこのキャラクタを識別し、この識別結果に応じてキャラクタフォーマット選択回路26で送受信データのキャラクタフォーマットを選択する回路である。なお、本発明の理解に直接関係のない部分は、図示を省略し、冗長な説明を避ける。
また、文字認識回路10は、マスタークロック信号112の入力を切り替えるゲート回路28、およびシリアル入力信号108の出力を切り替えるマスク回路30を有する。
本実施例において、文字認識回路10は、図1に示すように、汎用非同期送受信回路(Universal Asynchronous Receiver Transmitter:UART)42と接続して、アナログ・モデムやターミナルアダプタなどのデータ回線終端装置(Data Circuit terminating Equipment:DCE)40に搭載されるものである。
DCE 40は、パーソナルコンピュータなどのデータ端末装置(Data Terminal Equipment:DTE)と、RS232CやITU-T勧告V.24に記載されたインタフェースで接続されて、たとえばRS232Cを介して調歩同期方式のシリアル入力信号108を入力するものである。本回路10は、DCE 40自体からこのシリアル入力信号108を入力して、シリアル入力信号108により供給されるATコマンドを解析するもので、その結果、ATコマンドに基づいて得たキャラクタフォーマットをUART 42に設定することにより、UART 42が、このキャラクタフォーマットに基づいてシリアルデータを送受信可能となる。
また、本回路10は、DCE 40自体が用いるリセット信号106およびマスタークロック信号112を入力するとよい。
本実施例において、CPUインタフェース回路12は、DCE 40のCPUとCPUバス信号102により接続して制御信号をやり取りし、CPUから入力する制御信号120を制御回路14に供給し、他方、制御回路14からの指示に応じてCPUに割込信号104を出力する。
CPUインタフェース回路12は、たとえば、DCE 40としてアナログ・モデム装置が適用されている場合、モデム制御プログラムなどの上位アプリケーションによってDCE 40のCPUから供給される命令を、CPUバス信号102を介して受ける。
制御回路14は、本回路10全体の動作を制御、統括する制御機能部である。本実施例の制御回路14は、DCE 40自体から供給されるリセット信号106に応じて本回路10を初期化し、上位アプリケーションによりDCE 40のCPUからCPUインタフェース回路12を介して供給される制御信号120によって命令を受けて、たとえば、AT文字解析の開始命令を受けて本回路10の動作を開始する。また、制御回路14は、AT文字解析の開始命令として、エコーバック有無情報などの他の情報を含む命令を入力するとよく、上位アプリケーションが把握しているキャラクタフォーマットを含んでもよい。
また、制御回路14は、割り込みを発生させることができ、たとえば、本回路10のAT文字解析の終了を示す割込信号を、制御信号120によって出力し、CPUインタフェース回路12を介してDCE 40のCPUに供給することができる。
本実施例の制御回路14は、スタートビット期間測定回路16、ボーレート選択回路18、内部クロック発生回路20、キャラクタ検出回路22、キャラクタ識別回路24、キャラクタフォーマット選択回路26、ゲート回路28およびマスク回路30と接続して制御することができ、それぞれを制御信号122、124、126、128、130、132、134、および136によって制御する。
スタートビット期間測定回路16は、DCE 40自体からシリアル入力信号108を入力して、シリアル入力信号108により供給されるATコマンドのスタートビット期間を検出し、さらにゲート回路28からのサンプリングクロック信号154のクロック数をこのスタートビット期間において測定して、その測定結果を測定カウント信号138によってボーレート選択回路18に出力するものである。
本実施例のスタートビット期間測定回路16は、制御回路14からスタートビット検出開始を指示する制御信号122を受けてスタートビットの検出を開始し、たとえばシリアル入力信号108のレベルを監視してスタートビットを検出することによりスタートビット期間を検出するもので、また、測定結果が得られたときに測定終了を制御信号122によって制御回路14に通知する。
ボーレート選択回路18は、スタートビット期間測定回路16からの測定カウント信号138に応じてボーレートを選択し、その選択結果に応じた内部クロック設定値を示すボーレート信号140を内部クロック発生回路20に出力するものである。また、ボーレート選択回路18は、ボーレート選択が終了したときに、ボーレート選択終了を制御信号124によって制御回路14に通知する。
たとえば、ボーレート選択回路18は、測定カウント信号138が示すクロック数に基づいて、適したボーレート、すなわちシリアル通信速度を選択し、この速度に対応する内部クロック設定値を検出する。また、ボーレート選択回路18は、内部クロック設定値だけでなくシリアル通信速度を含むボーレート信号140を出力してもよい。
本実施例のボーレート選択回路18は、クロック数、シリアル通信速度および内部クロック設定値の対応関係をあらかじめ設定して記憶し、図2に示すように、これらの対応関係を格納したリストをメモリまたはレジスタに保持するとよい。ボーレート選択回路18は、クロック数に基づいてこのリストを参照することにより、シリアル通信速度を選択し、内部クロック設定値を検出することができる。
ボーレート選択回路18は、図2に示すリストでは、内部クロック設定値として、シリアル通信速度を所定の内部クロック定数倍して設定した周波数を保持し、たとえば、シリアル通信速度を16倍した値を設定している。図2に示すリストでは、マスタークロック信号112が3.6864MHzであるとき、たとえば、スタートビット期間内のクロック数が1〜24クロックの範囲内の場合、対応するシリアル通信速度を230400bpsとし、内部クロックの設定周波数を3.6864MHzとして設定している。また、ボーレート選択回路18は、図2に示すように、内部クロック分周比を内部クロック設定値としてもよい。
また、ボーレート選択回路18は、シリアル通信速度に対応するDLM値およびDLL値を図2に示すリストに保持してよく、書き込みを指示する制御信号124を制御回路14から受けて、選択されたシリアル通信速度に応じたDLM値およびDLL値をこのリストから得てボーレート設定信号142によってUART 42に出力して設定してもよい。
内部クロック発生回路20は、ボーレート選択回路18からのボーレート信号140に応じて、ゲート回路28からのサンプリングクロック信号154に基づいた内部クロック信号144を発生させるものである。また、内部クロック発生回路20は、内部クロックの発生を開始したときに、この内部クロックの発生開始を制御信号126によって制御回路14に通知する。
たとえば、内部クロック発生回路20は、ボーレート信号140が示す内部クロック設定値に従って、サンプリングクロック信号154を逓倍または分周して、内部クロックを発生させてよい。
キャラクタ検出回路22は、DCE 40自体からシリアル入力信号108を入力し、内部クロック発生回路20からの内部クロック信号144を用いて、シリアル入力信号108により供給されるATコマンドにおけるキャラクタを検出し、その検出結果をキャラクタ信号146によってキャラクタ識別回路24に供給する。また、キャラクタ検出回路22は、制御回路14からキャラクタ検出開始を指示する制御信号128を受けてキャラクタ検出を開始する。
ところで、シリアル入力信号108におけるATコマンドでは、図4および図5に示すように、シリアル通信速度に応じた周期で各ビットデータが示され、すなわち、この周期は、内部クロック信号144の内部クロック定数分に、たとえば16クロック分になっている。本実施例のキャラクタ検出回路22は、各ビットデータを、その周期の中間に当たるタイミング、すなわち内部クロック信号144が内部クロック定数の半数分経過したタイミング、たとえば第8クロック目で読み出すことができる。
本実施例において、キャラクタ検出回路22は、シリアル入力信号108のATコマンドから、先頭および2番目の文字、すなわち第1および第2キャラクタを検出する。また、本実施例のキャラクタ検出回路22は、制御信号128が第1キャラクタの検出開始を指示する場合、第1キャラクタの検出を開始し、第2キャラクタの検出開始を指示する場合、第2キャラクタの検出を開始する。
たとえば、キャラクタ検出回路22は、第1キャラクタを検出する場合、シリアル入力信号108のATコマンドに対して、図4に示すように、bit0〜bit7の各区間の中間に当たる内部クロック信号144のタイミングでビットデータを読み出して、bit0〜bit7の8ビット分のビットデータを得て第1キャラクタ値を取得する。キャラクタ検出回路22は、これら8ビット分のビットデータに基づくASCIIコードを第1キャラクタとしてキャラクタ信号146を生成してよい。
このキャラクタ検出回路22は、第1キャラクタにおけるスタートビット期間の終了と実質的に同時に、第1キャラクタの検出開始を指示する制御信号128を受け、また、内部クロック発生回路20からの最初の内部クロック信号144を受けることができる。また、キャラクタ検出回路22は、第1キャラクタにおけるスタートビット期間の終了時点から遅れて、この最初の内部クロック信号144を受けてもよい。キャラクタ検出回路22は、この最初の内部クロック信号144の受信タイミングに拘らず、bit0の区間の中間に当たる内部クロック信号144のタイミングで、第1キャラクタのbit0のビットデータを読み出すように、読み出しタイミングを調整するとよい。キャラクタ検出回路22は、たとえば、このbit0の読み出しタイミングを基準にしてシリアル通信速度に応じた周期ごとに、第1キャラクタのbit1〜bit7の読み出しタイミングを計るものでよい。
また、キャラクタ検出回路22は、第1キャラクタのbit7の次のビット区間の中間に当たる内部クロック信号144のタイミングで、ビットデータを読み出し、第1キャラクタのSTOPビット値を取得する。キャラクタ検出回路22は、このSTOPビット値の取得時点で、キャラクタ信号146によりキャラクタ識別回路24に第1キャラクタ値とSTOPビット値を通知する。またキャラクタ検出回路22は、制御信号128によって、制御回路14に対して第1キャラクタの受信終了を通知する。
また、たとえば、キャラクタ検出回路22は、第2キャラクタを検出する場合、第1キャラクタの検出と同様にして、シリアル入力信号108のATコマンドに対して、図4に示すように、bit0〜bit7の各区間の中間に当たる内部クロック信号144のタイミングで、bit0〜bit7の8ビット分のビットデータを読み出して第2キャラクタ値を取得する。キャラクタ検出回路22は、これら8ビット分のビットデータに基づくASCIIコードを第2キャラクタとしてキャラクタ信号146を生成してよい。
このキャラクタ検出回路22では、図5に示すように、シリアル入力信号108が「H」レベルから「L」レベルに変化してから、シリアル通信速度に応じた周期、すなわち内部クロック信号144が内部クロック定数分だけ経過した時点、すなわち第2キャラクタにおけるスタートビット期間が終了した時点を、第2キャラクタのbit0の区間の開始時点とする。キャラクタ検出回路22は、この第2キャラクタのbit0の区間の開始時点の後、内部クロック定数の半数分の内部クロック信号144のタイミングで、bit0のビットデータを読み出すことができる。また、キャラクタ検出回路22は、たとえば、第1キャラクタの検出と同様にして、このbit0の読み出しタイミングを基準にして、シリアル通信速度に応じた周期ごとに、第2キャラクタのbit1〜bit7の読み出しタイミングを計るものでよい。
また、キャラクタ検出回路22は、第1キャラクタ検出時と同様にして、第2キャラクタのbit7の次のビット区間の中間に当たる内部クロック信号144のタイミングで、ビットデータを読み出し、第2キャラクタのSTOPビット値を取得する。キャラクタ検出回路22は、このSTOPビット値の取得時点で、キャラクタ信号146によりキャラクタ識別回路24に第2キャラクタ値とSTOPビット値を通知する。またキャラクタ検出回路22は、制御信号128によって、制御回路14に対して第2キャラクタの受信終了を通知する。
キャラクタ識別回路24は、キャラクタ検出回路22から供給されるキャラクタ信号146のキャラクタ値およびSTOPビット値を識別して、そのキャラクタがATコマンドを示すか否かを判定するものである。
本実施例のキャラクタ識別回路24は、キャラクタ検出回路22からのキャラクタ信号146が示す、第1キャラクタ値のASCIIコードが41hまたはC1hで、かつSTOPビット値が「1」の場合、第1キャラクタを「A」と識別し、第1キャラクタ値のASCIIコードが61hまたはE1hで、かつSTOPビット値が「1」の場合、第1キャラクタを「a」と識別して、この識別結果の第1キャラクタをメモリなどに保持する。また、キャラクタ識別回路24は、この識別結果が「A」または「a」以外の場合、制御信号130によって制御回路14に第1キャラクタの受信の失敗を通知し、識別結果が「A」または「a」の場合、制御信号130によって制御回路14に第1キャラクタの受信の成功を通知する。
また、キャラクタ識別回路24は、エコーバックを指示する制御信号130を制御回路14から受けるとき、保持している第1キャラクタをエコーバック信号150によってUART 42のTHRレジスタに書き込むとよい。
また、キャラクタ識別回路24は、キャラクタ検出回路22からのからのキャラクタ信号146が示す、第2キャラクタ値のASCIIコードが41hまたはC1hで、かつSTOPビット値が「1」の場合、第2キャラクタを「A」と識別し、第2キャラクタ値のASCIIコードが61hまたはE1hで、かつSTOPビット値が「1」の場合、第2キャラクタを「a」と識別し、第2キャラクタ値のASCIIコードが54hまたはD4hで、かつSTOPビット値が「1」の場合、第2キャラクタを「T」と識別し、第2キャラクタ値のASCIIコードが74hまたはF4hで、かつSTOPビット値が「1」の場合、第2キャラクタを「t」と識別し、第2キャラクタ値のASCIIコードが2FhまたはAFhで、かつSTOPビット値が「1」の場合、第2キャラクタを「/」と識別して、この識別結果の第2キャラクタをメモリなどに保持する。
また、キャラクタ識別回路24は、この識別結果が「A」または「a」の場合、保持している第2キャラクタを第1キャラクタとしてメモリに保持し、制御信号130によって、制御回路14に第2キャラクタの受信において「A」または「a」が受信されたことを通知する。
キャラクタ識別回路24は、この識別結果が「A」または「a」以外であって、「T」、「t」または「/」以外の場合、制御信号130によって、制御回路14に第2キャラクタの受信が失敗したことを通知する。
キャラクタ識別回路24は、この識別結果が「T」、「t」または「/」である場合、制御信号130によって、第2キャラクタ受信の終了を制御回路14に通知し、さらに、保持している第1キャラクタおよび第2キャラクタを識別キャラクタ信号148によってキャラクタフォーマット選択回路26に通知する。
キャラクタフォーマット選択回路26は、キャラクタフォーマットの取得を指示する制御信号132を制御回路14から受けて、UART 42のLCRレジスタからキャラクタフォーマット設定信号152を介してキャラクタフォーマットを取得し、そのキャラクタフォーマットを保持する。
また、キャラクタフォーマット選択回路26は、標準のキャラクタフォーマットの設定を指示する制御信号132を制御回路14から受けて、エラーとならない標準のキャラクタフォーマットを、キャラクタフォーマット設定信号152を介してUART 42のLCRレジスタに書き込んで設定する。このとき、キャラクタフォーマット選択回路26は、図3に示すようなキャラクタフォーマット「DATA=8bit, Parity=Non, Stop=1bit」をLCRレジスタに設定してよい。
また、キャラクタフォーマット選択回路26は、キャラクタ識別回路24から供給される識別キャラクタ信号148に応じて、識別キャラクタ信号148が示すキャラクタを判定し、本実施例では、第1キャラクタおよび第2キャラクタの組み合わせ結果を判定して、この組み合わせの成功または失敗を制御信号132によって制御回路14に通知する。
本実施例のキャラクタフォーマット選択回路26は、図3に示すように、第1キャラクタおよび第2キャラクタの組み合わせを識別結果ならびにキャラクタフォーマットと対応させてあらかじめ格納したリストをメモリまたはレジスタに保持してよく、この組み合わせに基づいて図3に示すリストを参照して識別結果を検出し、キャラクタフォーマットを選択することができる。本実施例において、キャラクタフォーマット選択回路26は、図3に示すように、データ長、パリティ種別およびSTOPビット長で識別可能なキャラクタフォーマットを格納して、このキャラクタフォーマットを本回路10で使用することができる。また、この図3に示すリストでは、第1キャラクタおよび第2キャラクタの組み合わせを、ASCIIコードによっても区別して格納してよい。
たとえば、キャラクタフォーマット選択回路26は、この組み合わせが「At」または「aT」の場合、図3に示すリストからキャラクタフォーマットを選択することができず、組み合わせが失敗したことを制御信号132によって制御回路14に通知する。
また、キャラクタフォーマット選択回路26は、この組み合わせが、「AT」、「at」または「A/」の場合、図3に示すリストから対応するキャラクタフォーマットを選択する。
また、キャラクタフォーマット選択回路26は、この組み合わせが、「a/」の場合、ASCIIコードの組み合わせをも判定する。この選択回路26は、ASCIIコードの組み合わせが、「61h」および「2Fh」、または「E1h」および「AFh」以外の場合には、図3に示すリストからキャラクタフォーマットを選択することができず、組み合わせが失敗したことを制御信号132によって制御回路14に通知する。他方、この選択回路26は、ASCIIコードの組み合わせが、「61h」および「2Fh」、または「E1h」および「AFh」の場合には、図3に示すように、それまで選択されていたキャラクタフォーマット、すなわち当該選択回路26が保持していたキャラクタフォーマットを再選択する。
さらに、キャラクタフォーマット選択回路26は、選択されたキャラクタフォーマットを、キャラクタフォーマット設定信号152によってUART 42のLCRレジスタヘ設定し、その後、第1キャラクタおよび第2キャラクタと、選択されたキャラクタフォーマットと、UART 42への設定終了とを制御信号132によって制御回路14に通知する。
ゲート回路28は、制御回路14からの制御信号134に応じて、マスタークロック信号112を透過してサンプリングクロック信号154としてスタートビット期間測定回路16および内部クロック発生回路20に出力し、または、透過せずにサンプリングクロック信号154の出力を停止するものである。
マスク回路30は、制御回路14からの制御信号136に応じて、シリアル入力信号108を透過してマスク出力信号156としてUART 42に出力し、または、シリアル入力信号108をマスクしてマスク出力信号156の出力を停止するものである。たとえば、マスク回路30は、シリアル入力信号108をマスクする場合、「1」状態のマスク出力信号156を出力するとよい。
UART 42は、調歩同期方式のシリアルデータ送受信回路であり、通信速度およびキャラクタフォーマットを、DCE 40と接続するDTEにおける調歩同期方式の通信速度およびキャラクタフォーマットと一致させて動作することにより、DCE 40のATコマンドの受信を可能とする。
本実施例のUART 42は、クロック入力CLKにはマスタークロック信号112を入力し、シリアルデータ入力SINにはマスク出力信号156を入力し、シリアルデータ出力SOUTからはシリアル出力信号110を出力する。
さらに、UART 42は、キャラクタフォーマットを格納するLCR(Line Control Register)レジスタ、シリアル通信速度を格納するDLM(Divisor Latch:MS)レジスタおよびDLL(Divisor Latch:LS)レジスタ、およびシリアルデータを格納するTHR(Transmitter Holding Register)レジスタを有し、キャラクタフォーマット設定信号152によってLCRレジスタの書き込みおよび読み出しを可能とし、ボーレート設定信号142によってDLMレジスタおよびDLLレジスタの書き込みを可能とし、さらにエコーバック信号150によってTHRレジスタの書き込みを可能にする。
次に、本実施例における文字認識回路10について、シリアル入力信号に応じた内部クロックを発生させる動作を図6のフローチャートを参照しながら説明する。
文字認識回路10では、まずリセット信号106がDCE 40自体から供給されて、制御回路14に入力する。
このとき、制御回路14では、リセット信号106に応じて、本回路10の動作状態が初期化されて、クロック停止状態(ステップS202)になる。
クロック停止状態の制御回路14では、クロック停止を指示する制御信号134が、ゲート回路28に供給されて、ゲート回路28において、マスタークロック信号112が透過されずにサンプリングクロック信号154の出力が停止される。
また、クロック停止状態の制御回路14では、シリアル入力の透過を指示する制御信号136が、マスク回路30に供給されて、マスク回路30において、シリアル入力信号108が透過されて、マスク出力信号156がUART 42のシリアルデータ入力SINに出力される。これにより、UART 42では、通常の動作が実行可能となる。
次に、制御回路14では、開始命令待機状態(ステップS204)となり、上位アプリケーションによりDCE 40のCPUからCPUインタフェース回路12を介して供給される制御信号120が、AT文字解析の開始命令を示すか否かを判定する。この制御信号120による開始命令は、エコーバック有無情報などの他の情報を含む命令でよく、上位アプリケーションが把握しているキャラクタフォーマットを含んでもよい。
開始命令待機状態の制御回路14では、制御信号120がAT文字解析の開始命令を示す場合、クロック開始状態(ステップS206)に進み、示さない場合、この開始命令が入力するまで待機する。
クロック開始状態の制御回路14では、まず、クロックの透過を指示する制御信号134が、ゲート回路28に供給されて、ゲート回路28において、マスタークロック信号112が透過されて、スタートビット期間測定回路16および内部クロック発生回路20へのサンプリングクロック信号154の供給が開始される。
次に、制御回路14では、シリアル入力の停止を指示する制御信号136が、マスク回路30に供給されて、マスク回路30において、シリアル入力信号108が透過されずにマスク出力信号156の出力が停止される。このとき、マスク回路30では、「1」状態のマスク出力信号156が、UART 42のシリアルデータ入力SINに出力されてよく、これにより、UART 42では、「入力なし」と判断される。
さらに、クロック開始状態の制御回路14では、キャラクタフォーマットの取得を指示する制御信号132が、キャラクタフォーマット選択回路26に供給される。このとき、キャラクタフォーマット選択回路26では、キャラクタフォーマットの取得を指示するキャラクタフォーマット設定信号152がUART 42に供給され、UART 42のLCRレジスタからキャラクタフォーマット設定信号152を介してキャラクタフォーマットが取得されて保持される。また、キャラクタフォーマット選択回路26では、キャラクタフォーマットを保持したことを示す制御信号132が、制御回路14に供給されてもよい。
また、クロック開始状態の制御回路14では、上位アプリケーションが把握しているキャラクタフォーマットを示す制御信号132が、キャラクタフォーマット選択回路26に供給されて、キャラクタフォーマット選択回路26でそのキャラクタフォーマットが取得されて保持されてもよい。
次に、制御回路14では、たとえば、キャラクタフォーマットを保持したことを示す制御信号132がキャラクタフォーマット選択回路26から供給されたときに、スタートビット検出状態(ステップS208)となる。スタートビット検出状態の制御回路14では、スタートビット検出の開始を指示する制御信号122が、スタートビット期間測定回路16に供給される。
このとき、スタートビット期間測定回路16では、スタートビットの検出が開始され、DCE 40自体から入力されるシリアル入力信号108が監視されて、「H」レベルか「L」レベルかが判定される。ここで、シリアル入力信号108が、「H」レベルから「L」レベルへ変化したとき、これが第1の変化として検出される。
スタートビット期間測定回路16では、第1の変化が検出されると、スタートビット期間測定状態(ステップS210)に進むが、検出されない場合、図6に示すように、ステップFに進んで、第1の変化が検出されるまでスタートビット検出状態が続く。
スタートビット期間測定状態におけるスタートビット期間測定回路16では、第1の変化の後に再度シリアル入力信号108が「H」レベルへ変化したとき、これが第2の変化として検出される。
本実施例のスタートビット期間測定回路16では、第1の変化から第2の変化までの間、すなわち第1の変化の後でシリアル入力信号108が「L」レベルである期間をスタートビット期間とし、この期間内のサンプリングクロック信号154がカウントされ、スタートビット期間内のクロック数が測定される。
また、スタートビット期間測定状態において、第1の変化の後に再度シリアル入力信号108が「H」レベルへ変化したとき、ボーレート選択状態(ステップS212)となって、スタートビット期間内のクロック数を示す測定カウント信号138が、ボーレート選択回路18に供給され、このとき、スタートビット期間の測定終了を示す制御信号122が制御回路14に通知される。
また、ボーレート選択状態では、ボーレート選択回路18において、測定カウント信号138が示すクロック数に応じた内部クロック設定値が選択される。このとき、ボーレート選択回路18では、このクロック数に基づいて図2に示すようなリストを参照して、シリアル通信速度および内部クロック設定値が選択されてよい。この内部クロック設定値は、ボーレート信号140によって内部クロック発生回路20に供給され、このとき、ボーレート選択終了を示す制御信号124が制御回路14に通知される。
次に、内部クロック発生回路20では、ボーレート選択回路18からのボーレート信号140が示す内部クロック設定値に従って、内部クロック信号144が発生してキャラクタ検出回路22に供給され、このとき、内部クロックの発生開始を示す制御信号126が制御回路14に通知される。
このようにして、内部クロックの発生が開始すると、図6に示すように、ステップAに移行する。次に、ステップAの後、第1キャラクタを受信する動作を図7のフローチャートを参照しながら説明する。
ここでは、まず、制御回路14において、内部クロックの発生開始を示す制御信号126に応じて、第1キャラクタ受信状態(ステップS220)となり、第1キャラクタの検出開始を指示する制御信号128が、キャラクタ検出回路22に供給されて第1キャラクタの検出が開始される。
キャラクタ検出回路22では、内部クロック発生回路20からの内部クロック信号144に応じて、DCE 40自体からのシリアル入力信号108から、ステップS210のスタートビット期間測定状態で検出したスタートビット期間の後のビットデータが読み出され、図4に示すように、第1キャラクタ値としてbit0〜bit7の8ビット分のビットデータが読み出される。このとき、本実施例におけるキャラクタ検出回路22では、各ビットデータの期間の中間に当たる内部クロック信号144に応じて、各ビットデータが読み出されるとよい。
さらに、キャラクタ検出回路22では、第1キャラクタのbit7ビットデータが読み出された後、STOPビットが読み出されて、第1キャラクタ値およびSTOPビット値を示すキャラクタ信号146がキャラクタ識別回路24に供給され、このとき、第1キャラクタの受信終了を示す制御信号128が制御回路14に通知される。
次に、キャラクタ識別回路24では、第1キャラクタ識別状態(ステップS222)となり、キャラクタ信号146が示す第1キャラクタ値のASCIIコードが判定される。このとき、このASCIIコードが41hまたはC1hで、かつキャラクタ信号146が示すSTOPビット値が「1」の場合、第1キャラクタは「A」と識別され、ASCIIコードが61hまたはE1hで、かつSTOPビット値が「1」の場合、第1キャラクタは「a」と識別されて、第1キャラクタ値がキャラクタ識別回路24に保持される。
さらに、キャラクタ識別回路24では、第1キャラクタ判定状態(ステップS224)に進み、第1キャラクタ識別状態での識別結果が「A」または「a」であるかが判定される。このとき、本実施例のキャラクタ識別回路24において、第1キャラクタ値が「A」または「a」でない場合、第1キャラクタの受信の失敗を示す制御信号130が制御回路14に通知され、ステップFに移行して図6に示すスタートビット検出状態に移行する。他方、第1キャラクタ値が「A」または「a」である場合、第1キャラクタの受信の成功を示す制御信号130が制御回路14に通知され、制御回路14では、ボーレート設定状態(ステップS226)となる。
このボーレート設定状態において、制御回路14では、ステップS212のボーレート選択状態で選択したシリアル通信速度が、ボーレート選択回路18から制御信号124によって供給される。また、このとき、制御回路14では、書き込みを指示する制御信号124がボーレート選択回路18に供給され、ボーレート選択回路18では、このシリアル通信速度に応じたDLM値およびDLL値が、ボーレート設定信号142によってUART 42に出力され、DLMレジスタおよびDLLレジスタに書き込まれる。
さらに、制御回路14において、標準のキャラクタフォーマットの設定を指示する制御信号132がキャラクタフォーマット選択回路26に供給され、キャラクタフォーマット選択回路26では、エラーとならない標準のキャラクタフォーマットが、キャラクタフォーマット設定信号152によってUART 42に出力され、LCRレジスタに書き込まれる。
次に、制御回路14では、エコーバック判定状態(ステップS228)となり、CPUインタフェース回路12から供給される制御信号120による開始命令が、エコーバック有無情報を含むか否かが判定される。
ここで、制御回路14では、エコーバックありと判定される場合、第1キャラクタ書き込み状態(ステップS230)となり、書き込みを指示する制御信号130がキャラクタ識別回路24に供給され、キャラクタ識別回路24では、保持している第1キャラクタが、エコーバック信号150によってUART 42に供給されてTHRレジスタに書き込まれる。これにより、UART 42では、シリアルデータ出力SOUTから第1キャラクタに相当する出力が開始され、シリアル出力信号110が出力されて、DCE 40自体へのエコーバックとなる。このようにして書き込みが終了すると、図7に示すように、ステップBに移行する。
また、第1キャラクタ書き込み状態の制御回路14では、エコーバックなしと判定される場合、第1キャラクタの書き込みは行われずに、図7に示すように、ステップBに移行する。
次に、ステップBの後、第2キャラクタを受信する動作を図8のフローチャートを参照しながら説明する。
ここでは、まず、制御回路14において、第1キャラクタの受信終了を示す制御信号128に応じて、第2キャラクタ受信状態(ステップS240)となり、第2キャラクタの検出開始を指示する制御信号128が、キャラクタ検出回路22に供給されて第2キャラクタの検出が開始される。
キャラクタ検出回路22では、内部クロック発生回路20からの内部クロック信号144に応じて、DCE 40自体からのシリアル入力信号108から、第2キャラクタのスタートビット期間の後のビットデータが読み出され、ステップS220の第1キャラクタ受信状態と同様にして、図5に示すように、第2キャラクタ値としてbit0〜bit7の8ビット分のビットデータ、およびSTOPビットが読み出される。
さらに、キャラクタ検出回路22では、第2キャラクタ値およびSTOPビット値を示すキャラクタ信号146がキャラクタ識別回路24に供給され、このとき、第2キャラクタの受信終了を示す制御信号128が制御回路14に通知される。
次に、キャラクタ識別回路24では、第2キャラクタ識別状態(ステップS242)となり、キャラクタ信号146が示す第2キャラクタ値のASCIIコードが判定される。このとき、このASCIIコードが41hまたはC1hで、かつキャラクタ信号146が示すSTOPビット値が「1」の場合、第2キャラクタは「A」と識別され、ASCIIコードが61hまたはE1hで、かつSTOPビット値が「1」の場合、第2キャラクタは「a」と識別され、ASCIIコードが54hまたはD4hで、かつSTOPビット値が「1」の場合、第2キャラクタは「T」と識別され、ASCIIコードが74hまたはF4hで、かつSTOPビット値が「1」の場合、第2キャラクタは「t」と識別され、ASCIIコードが2FhまたはAFhで、かつSTOPビット値が「1」の場合、第2キャラクタは「/」と識別されて、第2キャラクタ値がキャラクタ識別回路24に保持される。
さらに、キャラクタ識別回路24では、第2キャラクタの第1判定状態(ステップS244)に進み、第2キャラクタ識別状態での識別結果が「A」または「a」であるかが判定される。このとき、本実施例のキャラクタ識別回路24において、第1キャラクタ値が「A」または「a」であると判定された場合、保持される第2キャラクタ値は、第1キャラクタ値としてキャラクタ識別回路24で保持され、第2キャラクタの受信において「A」または「a」が受信されたことが、制御信号130によって制御回路14に通知され、ステップGに移行して図7に示すステップS228のエコーバック判定状態に移行する。
他方、第2キャラクタの第1判定状態において、キャラクタ識別回路24にて、第2キャラクタ値が「A」または「a」でないと判定された場合、第2キャラクタの第2判定状態(ステップS246)に進む。
第2キャラクタの第2判定状態のキャラクタ識別回路24では、第2キャラクタ識別状態での識別結果が「T」、「t」または「/」であるかが判定される。このとき、本実施例のキャラクタ識別回路24において、第1キャラクタ値が「T」、「t」または「/」でないと判定された場合、第2キャラクタの受信が失敗したことを示す制御信号130が、制御回路14に通知され、ステップFに移行して図6に示すステップS208のスタートビット検出状態に移行する。
他方、第2キャラクタの第2判定状態において、キャラクタ識別回路24にて、第2キャラクタ値が「T」、「t」または「/」であると判定された場合、第2キャラクタ受信の終了を示す制御信号130が、制御回路14に通知され、また、保持している第1キャラクタ値および第2キャラクタ値が、識別キャラクタ信号148によってキャラクタフォーマット選択回路26に通知される。
このようにして、識別キャラクタ信号148が供給されると、図8に示すように、ステップCに移行する。次に、ステップCの後、キャラクタフォーマットを選択する動作を図9のフローチャートを参照しながら説明する。
ここでは、まず、キャラクタフォーマット選択回路26において、第1キャラクタ値および第2キャラクタ値を含む識別キャラクタ信号148に応じて、第1の組み合わせ判定状態(ステップS260)となり、第1キャラクタ値および第2キャラクタ値との組み合わせが判定される。
第1の組み合わせ判定状態において、第1キャラクタ値および第2キャラクタ値との組み合わせが、「At」または「aT」である場合、組み合わせが失敗したことを示す制御信号132が制御回路14に通知され、ステップFに移行して図6に示すスタートビット検出状態に移行する。他方、この組み合わせが、「a/」である場合、第2の組み合わせ判定状態(ステップS262)に進み、また、「AT」、「at」もしくは「A/」である場合、第1のキャラクタフォーマット選択状態(ステップS264)に進む。
第2の組み合わせ判定状態において、本実施例のキャラクタフォーマット選択回路26では、第1キャラクタ値および第2キャラクタ値のASCIIコードの組み合わせが判定される。ここで、ASCIIコードの組み合わせが、「61h」および「2Fh」、または「E1h」および「AFh」以外である場合、組み合わせが失敗したことを示す制御信号132が制御回路14に通知され、ステップFに移行して図6に示すスタートビット検出状態に移行する。他方、ASCIIコードの組み合わせが、「61h」および「2Fh」、または「E1h」および「AFh」である場合、第2のキャラクタフォーマット選択状態(ステップS266)に進む。
第1のキャラクタフォーマット選択状態において、本実施例のキャラクタフォーマット選択回路26では、第1キャラクタ値および第2キャラクタ値の組み合わせに基づいて、図3に示すようなキャラクタフォーマットのリストを参照して、該当するキャラクタフォーマットを選択し、キャラクタフォーマット設定状態(ステップS268)に進む。
第2のキャラクタフォーマット選択状態において、本実施例のキャラクタフォーマット選択回路26では、図3のキャラクタフォーマットのリストに示すように、当該選択回路26がそれまで保持していたキャラクタフォーマット、すなわち、UART 42のLCRレジスタに設定されていたキャラクタフォーマットを選択し、キャラクタフォーマット設定状態(ステップS268)に進む。
キャラクタフォーマット設定状態において、本実施例のキャラクタフォーマット選択回路26では、第1または第2のキャラクタフォーマット選択状態で選択されたキャラクタフォーマットが、キャラクタフォーマット設定信号152によってUART 42のLCRレジスタに設定される。その後、キャラクタフォーマット選択回路26では、第1キャラクタ値および第2キャラクタ値、設定されたキャラクタフォーマット、およびUART 42への設定終了を示す制御信号132が制御回路14に通知される。
このようにして、キャラクタフォーマットが設定されると、制御回路14では、エコーバック判定状態(ステップS270)となり、CPUインタフェース回路12から供給される制御信号120による開始命令が、エコーバック有無情報を含むか否かが判定される。
ここで、制御回路14では、エコーバックありと判定される場合、第2キャラクタ書き込み状態(ステップS272)となり、書き込みを指示する制御信号130がキャラクタ識別回路24に供給され、キャラクタ識別回路24では、保持している第2キャラクタが、エコーバック信号150によってUART 42に供給されてTHRレジスタに書き込まれる。これにより、UART 42では、シリアルデータ出力SOUTから第2キャラクタに相当する出力が開始され、シリアル出力信号110が出力されて、DCE 40自体へのエコーバックとなる。このようにして書き込みが終了すると、図9に示すように、終了状態(ステップS274)に進む。
また、第2キャラクタ書き込み状態の制御回路14では、エコーバックなしと判定される場合、第2キャラクタの書き込みは行われずに、図9に示すように、終了状態(ステップS274)に進む。
終了状態の制御回路14では、上位アプリケーションにAT文字解析の終了を通知する割り込みが発生し、この割り込みを指示する制御信号120がCPUインタフェース回路12に供給されて、この制御信号120に応じた割込信号104が、CPUインタフェース回路12からDCE 40のCPUへと供給され、AT文字解析の終了が通知される。このとき、制御回路14では、キャラクタフォーマット設定状態で得られた第1キャラクタ値および第2キャラクタ値、ならびに設定されたキャラクタフォーマットが、割り込みを指示する制御信号120によってCPUインタフェース回路12に供給され、さらに、CPUバス信号102によってCPUインタフェース回路12からCPUへと供給される。
このようにして、AT文字解析の終了が通知されると、図9に示すように、ステップEに移行して図6に示すステップS202のクロック停止状態に移行する。
このように、クロック停止状態に移行する場合、ゲート回路28が制御信号134によってクロック停止を指示されて、マスタークロック信号112が透過されずにサンプリングクロック信号154の出力が停止されるので、内部クロック発生回路20における内部クロック信号144の発生が停止する。
また、他の実施例として、文字認識回路300は、図10に示すように、DTEから調歩同期方式で送られてきたATコマンドに対して、動作クロックを用いてノイズおよびグリッジの除去を行うノイズ除去回路302を含み、第1文字のスタートビット幅の時間の測定と、第1文字および第2文字の受信とをより確実に行うことで、間違った通信速度の選択および間違ったキャラクタフォーマットの選択を防止することができるものである。
ノイズ除去回路302は、ゲート回路28から供給されるサンプリングクロック信号154を用いて、シリアル入力信号108からノイズおよびグリッジを除去してノイズ除去出力信号302を生成し、スタートビット期間測定回路16およびキャラクタ検出回路22に供給するものである。
ノイズ除去回路302は、複数のシフト回路を複数段カスケード接続するものでよく、本実施例では、図11に示すように、第1フリップフロップ304、第2フリップフロップ306および第3フリップフロップ308、ならびに第1NOR 310、第2NOR 312、第3NOR 314および第4NOR 316を含んで構成される。また、ノイズ除去回路302は、シリアル入力信号108を第1フリップフロップ304の入力Dに入力し、サンプリングクロック信号154を、第1フリップフロップ304、第2フリップフロップ306および第3フリップフロップ308のそれぞれのクロック入力CKに入力する。
ノイズ除去回路302において、第1フリップフロップ304の出力QAは、第2フリップフロップ306の入力D、第1NOR 310の一方の入力、および第2NOR 312の一方の入力に接続される。また、第2フリップフロップ306の出力QAは、第3フリップフロップ308の入力D、第1NOR 310の他方の入力、および第3NOR 314の一方の入力に接続される。また、第3フリップフロップ308の出力QAは、第2NOR 312の他方の入力、および第3NOR 314の他方の入力に接続される。
また、ノイズ除去回路302において、第1NOR 310の出力、第2NOR 312の出力および第3NOR 314の出力は、それぞれ、第4NOR 316に接続され、第4NOR 316の出力は、ノイズ除去出力信号302として出力される。
また、本実施例において、スタートビット期間測定回路16およびキャラクタ検出回路22は、ノイズ除去出力信号302を、上記実施例によるシリアル入力信号108のように用いて処理する。
次に、本実施例における文字認識回路300のノイズ除去回路302について、シリアル入力信号をノイズ除去する動作を図12のタイミングチャートを参照しながら説明する。
ノイズ除去回路302では、第1フリップフロップ304の入力Dに入力されるシリアル入力信号108が、第1フリップフロップ304、第2フリップフロップ306および第3フリップフロップ308において、順次、ゲート回路28から出力されるサンプリングクロック信号154によるシフト動作が施される。
このとき、第1フリップフロップ304では、シリアル入力信号108がサンプリングクロック信号154によりシフトされて、図12に示すような第1シフト出力322が出力QAから出力される。また、第2フリップフロップ306では、第1シフト出力322がサンプリングクロック信号154によりシフトされて、図12に示すような第2シフト出力324が出力QAから出力され、同様にして、第3フリップフロップ308では、第2シフト出力324がサンプリングクロック信号154によりシフトされて、図12に示すような第3シフト出力326が出力QAから出力される。
次に、第1フリップフロップ304、第2フリップフロップ306および第3フリップフロップ308のQA出力において、いずれか2つ以上のQA出力が「L」レベルであるとき、第1NOR 310、第2NOR 312または第3NOR 314の1つ以上が「H」レベルの出力となり、その結果、第4NOR 316の出力であるノイズ除去出力信号320が「L」レベルとなって出力される。
たとえば、図12に示すように時刻T330では、第1シフト出力322および第2シフト出力324が「L」レベルとなるので、ノイズ除去出力信号320が「L」レベルとなる。
また、第1フリップフロップ304、第2フリップフロップ306および第3フリップフロップ308のQA出力において、いずれか1つのQA出力が「L」レベルであるとき、またはいずれのQA出力も「L」レベルでないときには、第1NOR 310、第2NOR 312または第3NOR 314のすべてが「L」レベルの出力となり、その結果、第4NOR 316の出力であるノイズ除去出力信号320が「H」レベルとなって出力される。
たとえば、図12に示すように時刻T332では、第3シフト出力326のみが「L」レベルとなるので、ノイズ除去出力信号320が「H」レベルとなる。
このようにして、ノイズ除去回路302が動作することにより、シリアル入力信号108における、サンプリングクロック信号154のクロック間隔以下のノイズやグリッジを除去することができ、このノイズ除去回路302の動作は、サンプリングクロック信号154が停止するまで継続するとよい。
本実施例のノイズ除去回路302の動作は、図6に示すフローチャートにおいては、ステップS206のクロック開始状態になったときに、ゲート回路28でマスタークロック信号112が透過されると、ノイズ除去回路302へのサンプリングクロック信号154の供給が開始される。これにより、ノイズ除去回路302では、シリアル入力信号108のノイズ除去が開始される。
また、本実施例のノイズ除去回路302の動作は、図9に示すフローチャートにおいて、ステップS274の終了状態でAT文字解析の終了が通知され、ステップEに移行して図6に示すステップS202のクロック停止状態に移行した場合、このクロック停止状態では、ゲート回路28でマスタークロック信号112が透過されずにノイズ除去回路302へのサンプリングクロック信号154の供給が停止する。これにより、ノイズ除去回路302では、シリアル入力信号108のノイズ除去が停止する。
また、本実施例のノイズ除去回路302の動作は、図6ないし図9に示すフローチャートにおいて、他の各ステップは、上記実施例と同様にして実行されてよく、特に、スタートビット期間測定回路16およびキャラクタ検出回路22では、ノイズ除去出力信号320が、上記実施例によるシリアル入力信号108のように用いられて処理される。
また、ノイズ除去回路302では、サンプリングクロック信号154ではなくマスタークロック信号112を用いてシリアル入力信号108からノイズおよびグリッジを除去してノイズ除去出力信号302を生成してもよい。このとき、文字認識回路300のマスク回路30では、シリアル入力信号108ではなく、ノイズ除去回路302が出力するノイズ除去出力信号302を入力する。このように、ノイズ除去回路302を常に動作させることにより、文字認識回路300に接続するUART 42では、ノイズおよびグリッジを除去したマスク出力信号156を入力することができる。
本発明に係る文字認識回路の一実施例、およびその適用例を示すブロック図である。 図1に示す実施例の文字認識回路において、スタートビット期間、シリアル通信速度および内部クロック設定値の関係を示す図である。 図1に示す実施例の文字認識回路において、ATコマンドの受信文字列およびキャラクタフォーマットの関係を示す図である。 図1に示す実施例の文字認識回路において、第1キャラクタ受信時における動作を説明するタイミングチャートである。 図1に示す実施例の文字認識回路において、第2キャラクタ受信時における動作を説明するタイミングチャートである。 図1に示す実施例の文字認識回路の内部クロック発生の動作手順を説明するフローチャートである。 図1に示す実施例の文字認識回路の第1キャラクタ受信の動作手順を説明するフローチャートである。 図1に示す実施例の文字認識回路の第2キャラクタ受信の動作手順を説明するフローチャートである。 図1に示す実施例の文字認識回路のキャラクタフォーマット選択の動作手順を説明するフローチャートである。 本発明に係る文字認識回路の他の実施例、およびその適用例を示すブロック図である。 図10に示す実施例の文字認識回路におけるノイズ除去回路を示すブロック図である。 図11に示すノイズ除去回路における動作を説明するタイミングチャートである。
符号の説明
10 文字認識回路
12 CPUインタフェース回路
14 制御回路
16 スタートビット期間測定回路
18 ボーレート選択回路
20 内部クロック発生回路
22 キャラクタ受信回路
24 受信キャラクタ識別回路
26 キャラクタフォーマット選択回路
28 ゲート回路
30 マスク回路
40 データ回線終端装置
42 汎用非同期送受信回路

Claims (13)

  1. 調歩同期方式で送信されたシリアルデータを受信して汎用非同期送受信回路に出力する文字認識回路において、該回路は、
    前記シリアルデータを受信し、該シリアルデータからキャラクタを検出して検出キャラクタを出力するキャラクタ検出手段と、
    前記検出キャラクタがATコマンドを示すか否かを判定するキャラクタ識別手段と、
    該キャラクタ識別手段の識別結果であるキャラクタの組み合わせに応じて、キャラクタフォーマットを選択し、選択した前記キャラクタフォーマットを前記汎用非同期送受信回路に設定するキャラクタフォーマット選択手段とを含み、
    前記キャラクタ識別手段は、前記検出キャラクタがATコマンドの第1のキャラクタであるか否かを識別する第1の識別手段と、前記検出キャラクタがATコマンドの第2のキャラクタであるか否かを識別する第2の識別手段とを含み、
    第1の識別手段の結果、前記検出キャラクタを文字「A」または「a」であると識別した場合には、前記検出キャラクタを第1のキャラクタとして保持し、
    第2の識別手段の結果、前記検出キャラクタを文字「A」または「a」であると識別した場合には、前記検出キャラクタを第1のキャラクタとして保持し、文字「T」、「t」または「/」であると識別した場合には、前記検出キャラクタを第2のキャラクタとして保持して第1のキャラクタおよび第2のキャラクタをキャラクタフォーマット選択手段へと出力し、
    前記キャラクタフォーマット選択手段は、第1のキャラクタおよび第2のキャラクタの組み合わせに応じて、前記キャラクタフォーマットを選択することを特徴とする文字認識回路。
  2. 請求項1に記載の文字認識回路において、前記キャラクタフォーマット選択手段は、第1のキャラクタおよび第2のキャラクタの組み合わせが文字列「AT」、「at」または「A/」の場合、それぞれ対応する前記キャラクタフォーマットを選択することを特徴とする文字認識回路。
  3. 請求項1に記載の文字認識回路において、前記キャラクタフォーマット選択手段は、第1のキャラクタおよび第2のキャラクタの組み合わせが文字列「a/」の場合、第1のキャラクタおよび第2のキャラクタのASCIIコードの組み合わせを判定して、該ASCIIコードの組み合わせが「61h」および「2Fh」、または「E1h」および「AFh」の場合、それまで選択されていたキャラクタフォーマットを再選択することを特徴とする文字認識回路。
  4. 請求項1に記載の文字認識回路において、前記キャラクタフォーマット選択手段は、第1のキャラクタおよび第2のキャラクタの組み合わせに応じて、データ長、パリティ種別およびSTOPビット長で識別可能な前記キャラクタフォーマットを選択することを特徴とする文字認識回路。
  5. 請求項1に記載の文字認識回路において、前記キャラクタフォーマット選択手段は、第1のキャラクタおよび第2のキャラクタの組み合わせ、ならびに前記キャラクタフォーマットの対応関係をあらかじめ設定して記憶する第1の記憶手段を有し、第1のキャラクタおよび第2のキャラクタの組み合わせに基づいて第1の記憶手段を参照して前記キャラクタフォーマットを選択することを特徴とする文字認識回路。
  6. 請求項1に記載の文字認識回路において、該回路は、上位アプリケーションからのAT文字解析の開始命令を受信して、該開始命令に応じて各部を制御して前記シリアルデータのAT文字解析を開始し、該AT文字解析が終了するとAT文字解析の終了の割り込みを前記上位アプリケーションに対して通知し、
    前記開始命令を受信してから前記終了の割り込みを通知するまでの間、前記シリアルデータの前記汎用非同期送受信回路への出力をマスクするマスク手段と、
    前記開始命令を受信してから前記終了の割り込みを通知するまでの間に限り、マスタークロックを各部に供給するゲート手段とを含むことを特徴とする文字認識回路。
  7. 請求項6に記載の文字認識回路において、該回路は、前記開始命令を受信してから、第1の識別手段を実行し、前記キャラクタ識別手段が第1のキャラクタを保持した後、第2の識別手段を実行して、第2の識別手段の結果、前記検出キャラクタを文字「A」または「a」であると識別した場合、再度第2の識別手段を実行することを特徴とする文字認識回路。
  8. 請求項6に記載の文字認識回路において、前記キャラクタフォーマット選択手段は、該回路が前記開始命令を受信してから、前記キャラクタ検出手段が最初にキャラクタを検出する前に、前記汎用非同期送受信回路に設定されているキャラクタフォーマットを取得して保持することを特徴とする文字認識回路。
  9. 請求項6に記載の文字認識回路において、該回路は、上位アプリケーションから前記開始命令とともにエコーバック有無情報を受信して、該エコーバック有無情報を前記キャラクタ識別手段に供給し、
    前記キャラクタ識別手段は、前記エコーバック有無情報がエコーバックありを示す場合、保持している第1のキャラクタまたは第2のキャラクタを前記汎用非同期送受信回路に設定して、前記汎用非同期送受信回路がエコーバック可能となることを特徴とする文字認識回路。
  10. 請求項9に記載の文字認識回路において、前記キャラクタフォーマット選択手段は、前記キャラクタ識別手段が第1のキャラクタを保持したときに、エラーとならない標準キャラクタフォーマットを前記キャラクタフォーマットとして選択し、
    前記キャラクタ識別手段は、第1のキャラクタを保持したときに、前記エコーバック有無情報がエコーバックありを示す場合、保持している第1のキャラクタを前記汎用非同期送受信回路に設定し、
    前記キャラクタフォーマット選択手段は、前記キャラクタ識別手段が第2のキャラクタを保持したときに、第1のキャラクタおよび第2のキャラクタの組み合わせに応じて前記キャラクタフォーマットを選択し、
    前記キャラクタ識別手段は、第2のキャラクタを保持したときに、前記エコーバック有無情報がエコーバックありを示す場合、保持している第2のキャラクタを前記汎用非同期送受信回路に設定することを特徴とする文字認識回路。
  11. 請求項6に記載の文字認識回路において、該回路は、前記開始命令を受信してから最初のスタートビットを前記シリアルデータから検出してそのスタートビット期間を測定し、該スタートビット期間に応じたシリアル通信速度を選択して、該シリアル通信速度を前記汎用非同期送受信回路に設定する通信速度選択手段を含むことを特徴とする文字認識回路。
  12. 請求項11に記載の文字認識回路において、前記通信速度選択手段は、前記スタートビット期間および前記シリアル通信速度の対応関係をあらかじめ設定して記憶する第2の記憶手段を有し、前記スタートビット期間に基づいて第2の記憶手段を参照して前記シリアル通信速度を選択することを特徴とする文字認識回路。
  13. 請求項11に記載の文字認識回路において、該回路は、前記マスタークロックの周期で動作して、前記シリアルデータをシフトする複数のシフト回路を有して、該複数のシフト回路を複数段カスケード接続し、該複数のシフト回路の出力の内、多数値をノイズ除去出力とするノイズ除去手段を含み、
    前記通信速度選択手段は、前記ノイズ除去出力から前記最初のスタートビットを検出してそのスタートビット期間を測定し、
    前記キャラクタ検出手段は、前記ノイズ除去出力からキャラクタを検出して前記検出キャラクタを出力することを特徴とする文字認識回路。
JP2005219215A 2005-07-28 2005-07-28 文字認識回路 Withdrawn JP2007036850A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005219215A JP2007036850A (ja) 2005-07-28 2005-07-28 文字認識回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005219215A JP2007036850A (ja) 2005-07-28 2005-07-28 文字認識回路

Publications (1)

Publication Number Publication Date
JP2007036850A true JP2007036850A (ja) 2007-02-08

Family

ID=37795530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005219215A Withdrawn JP2007036850A (ja) 2005-07-28 2005-07-28 文字認識回路

Country Status (1)

Country Link
JP (1) JP2007036850A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008287387A (ja) * 2007-05-16 2008-11-27 Renesas Technology Corp 非接触電子装置
JP2009077126A (ja) * 2007-09-20 2009-04-09 Auto Network Gijutsu Kenkyusho:Kk 電子制御ユニット

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008287387A (ja) * 2007-05-16 2008-11-27 Renesas Technology Corp 非接触電子装置
JP2009077126A (ja) * 2007-09-20 2009-04-09 Auto Network Gijutsu Kenkyusho:Kk 電子制御ユニット

Similar Documents

Publication Publication Date Title
US6977960B2 (en) Self test circuit for evaluating a high-speed serial interface
JP2641999B2 (ja) データ・フォーマット検出回路
JP5238369B2 (ja) データ受信装置、データ受信方法及びデータ受信プログラム
US7321615B2 (en) At-command analyzing method
US6529548B1 (en) Device and method for detecting data communication property
JPH0869423A (ja) データ転送方法
US5889817A (en) Communication system with data comparison circuit
JP2007036850A (ja) 文字認識回路
US20050278608A1 (en) Communication system
JP2006079621A (ja) ベースバンドプロセッサと無線周波数集積モジュールとの間のデジタルプログラミングインターフェース
CN113626310B (zh) 一种开发调试系统、待测设备和调试方法
US8245089B2 (en) Transmission device, image data transmission system and transmission method
JP2007026196A (ja) Usbテストモニタ回路
JP2983959B1 (ja) シリアルインターフェイス、及びこれを用いたモデム装置
JPH07264263A (ja) シリアル通信インターフェース装置
JP3602233B2 (ja) Atコマンド解析装置
CN115657567B (zh) 一种单引脚传输控制信号的方法及控制系统
JP3329229B2 (ja) Atコマンド受信方式
KR100249171B1 (ko) 비동기식 데이터 송수신 장치의 에러 검출 방법
CN116915367B (zh) 数据检测方法、存储介质和电子设备
US20080285683A1 (en) Serial data receiving circuit
JP2776355B2 (ja) キーボードインタフェース回路
CN113645093A (zh) 一种待测设备、开发调试系统和通信方法
JP2006112346A (ja) 信号処理装置
KR19990017963U (ko) 내부처리통신 경로 테스트 장치 및 그 방법

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081007