JP6456649B2 - Electronic device apparatus and serial communication speed adjustment method - Google Patents
Electronic device apparatus and serial communication speed adjustment method Download PDFInfo
- Publication number
- JP6456649B2 JP6456649B2 JP2014208978A JP2014208978A JP6456649B2 JP 6456649 B2 JP6456649 B2 JP 6456649B2 JP 2014208978 A JP2014208978 A JP 2014208978A JP 2014208978 A JP2014208978 A JP 2014208978A JP 6456649 B2 JP6456649 B2 JP 6456649B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- inversion
- serial communication
- unit
- host device
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims description 124
- 238000000034 method Methods 0.000 title claims description 34
- 238000004458 analytical method Methods 0.000 claims description 53
- 239000000872 buffer Substances 0.000 claims description 33
- 238000005259 measurement Methods 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 22
- 238000012937 correction Methods 0.000 claims description 9
- 239000013078 crystal Substances 0.000 description 11
- 230000004044 response Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000004397 blinking Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000005674 electromagnetic induction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/282—Cycle stealing DMA
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Description
本発明は、電子機器装置、及びシリアル通信速度調整方法に関する。 The present invention relates to an electronic apparatus device and a serial communication speed adjustment method.
従来、ATM(Automated Teller Machine)、入室管理システム、在庫管理システム等において、カード状媒体の挿入や排出、データの読み出しや書き込み等に用いられるカードリーダが存在する。
たとえば、特許文献1には、このようなカード状媒体用のカードリーダの例が記載されている。
Conventionally, in ATM (Automated Teller Machine), room entry management system, inventory management system, etc., there are card readers used for insertion and ejection of card-like media, data reading and writing, and the like.
For example,
ここで、特許文献1に記載されたようなカードリーダが上位装置とシリアル通信を行うためには、上位装置とカードリーダ間で同一のボーレートで通信を行う必要がある。一般的に、カードリーダ側では、外部接続の水晶振動子と回路を使った精度の高いクロック信号を用い、カードリーダ側のボーレートの精度を補うように構成されている。
Here, in order for a card reader as described in
しかしながら、外部接続の水晶振動子を使用せず、CPU等の制御部に内蔵されるクロックで上位装置とシリアル通信を行った場合、うまく通信できない可能性があった。これは、制御部に内蔵されるクロック信号は温度変化等による変動が大きいためであった。 However, when an externally connected crystal resonator is not used and serial communication is performed with a host device using a clock incorporated in a control unit such as a CPU, communication may not be performed successfully. This is because the clock signal built in the control unit is largely fluctuated due to a temperature change or the like.
本発明は、このような状況に鑑みてなされたものであり、水晶振動子等を使った精度の高いクロック信号を使用しなくても上位装置との間で確実にシリアル通信可能な電子機器装置及びシリアル通信速度調整方法を提供することを目的とする。 The present invention has been made in view of such a situation, and an electronic apparatus device capable of reliably performing serial communication with a host device without using a highly accurate clock signal using a crystal resonator or the like. It is another object of the present invention to provide a serial communication speed adjustment method.
本発明の電子機器装置は、上位装置とシリアル通信可能に接続されており、前記シリアル通信により前記上位装置からコマンドを受信し、当該コマンドに対応した処理を実行する電子機器装置であって、前記シリアル通信により受信したデータの保存のタイミングに必要なクロック信号を生成するクロック生成部と、前記コマンドに含まれる特定コードに対応した反転間隔を、前記クロック生成部により生成された前記クロック信号で計測する反転間隔計測部と、該反転間隔計測部により計測された反転間隔に対応するよう、前記上位装置との通信速度を調整する通信速度調整部と、前記反転ビットの間隔により前記通信速度を調整した後、前記コマンドを解析して前記通信速度を更に補正するコマンド解析実行部とを備えることを特徴とする。
このように構成することで、水晶振動子等を使った精度の高いクロック信号を使用しなくても上位装置との間で確実にシリアル通信することが可能となる。
The electronic device of the present invention is connected to a host device so as to be capable of serial communication, receives a command from the host device through the serial communication, and executes processing corresponding to the command, A clock generation unit that generates a clock signal necessary for timing of storing data received by serial communication, and an inversion interval corresponding to a specific code included in the command is measured by the clock signal generated by the clock generation unit An inversion interval measuring unit that adjusts the communication speed with the host device so as to correspond to the inversion interval measured by the inversion interval measuring unit, and the communication speed is adjusted by the interval between the inversion bits. after, to anda command analyzing unit for further correcting the transmission rate by analyzing the command .
With this configuration, it is possible to reliably perform serial communication with a host device without using a highly accurate clock signal using a crystal resonator or the like.
本発明の電子機器装置は、前記シリアル通信により受信したデータをDMA(ダイレクト・メモリ・アクセス)で保存するバッファを備え、前記反転間隔計測部は、前記バッファに保存されたデータのビット列から前記特定コードに対応した反転間隔を計測し、前記コマンド解析実行部は、前記コマンドのデータ全体に相当する前記DMAのデータから、前記シリアル通信の1ビット分の変調周期に相当する前記クロック信号のカウント値を算出し、算出された値を、次コマンド受信時の補正値とすることを特徴とする。
このように構成することで、負荷をかけずに高速でデータ転送ができ、確実に受信データを取得でき、シリアル通信の速度を高精度に調整可能となる。
The electronic device of the present invention includes a buffer that stores data received by the serial communication by DMA (Direct Memory Access), and the inversion interval measurement unit is configured to identify the specific data from a bit string of the data stored in the buffer. The inversion interval corresponding to the code is measured, and the command analysis execution unit calculates the count value of the clock signal corresponding to the modulation period for one bit of the serial communication from the DMA data corresponding to the entire command data. And the calculated value is used as a correction value when the next command is received .
With this configuration, data can be transferred at high speed without applying a load, received data can be reliably acquired, and the serial communication speed can be adjusted with high accuracy.
本発明の電子機器装置は、前記特定コードは、スタートビットを含む第一の反転ビット列の長さと、その後の第二の反転ビット列の長さとが特定の比となるよう設定され、前記反転間隔計測部は、前記特定の比となる反転ビットの列として前記第一の反転ビット列及び前記第二の反転ビット列を特定し、特定された前記第一の反転ビット列及び前記第二の反転ビット列の前記クロック信号のカウント値を算出して前記反転間隔を計測することを特徴とする。
このように構成することで、シリアル通信の受信データから容易に特定コードを検出できる。
In the electronic device according to the present invention, the specific code is set so that a length of a first inverted bit string including a start bit and a length of a second inverted bit string after that is a specific ratio, and the inversion interval measurement The unit specifies the first inverted bit string and the second inverted bit string as the inverted bit string having the specific ratio, and the clock of the specified first inverted bit string and the second inverted bit string is specified. The inversion interval is measured by calculating a count value of the signal.
With this configuration, the specific code can be easily detected from the serial communication reception data.
本発明の電子機器装置は、前記上位装置からの前記コマンドを受信し、読み取り又は書き込みするカード状媒体に対して、前記コマンドに対応する特定の処理を実行するカードリーダであることを特徴とする。
このように構成することで、特定の処理を安全に行うことができる。
The electronic device of the present invention is a card reader that receives the command from the host device and executes a specific process corresponding to the command on a card-like medium to be read or written. .
With this configuration, specific processing can be performed safely.
本発明の電子機器装置は、前記反転間隔計測部は、前記上位装置から前記コマンドを受信する度に、前記反転間隔を計測することを特徴とする。
このように構成することで、前回のコマンドの受信から時間が経過しクロック等が変動していても、確実に速度を調整してコマンドを受信することが可能となる。
The electronic device apparatus according to the present invention is characterized in that the inversion interval measuring unit measures the inversion interval every time the command is received from the host device.
With this configuration, even if time has elapsed since the previous command was received and the clock or the like has fluctuated, it is possible to reliably adjust the speed and receive the command.
本発明のシリアル通信速度調整方法は、上位装置とシリアル通信可能に接続されており、前記シリアル通信により前記上位装置からコマンドを受信し、当該コマンドに対応した処理を実行する電子機器装置により実行されるシリアル通信速度調整方法であって、前記コマンドに含まれる特定コードに対応した反転間隔を、内蔵されたクロック生成部により生成されたクロック信号で計測し、計測された反転間隔に対応するよう、前記上位装置との通信速度を調整し、前記反転ビットの間隔により前記通信速度を調整した後、前記コマンドを解析して前記通信速度を更に補正することを特徴とする。
このように構成することで、水晶振動子等を使った精度の高いクロック信号を使用しなくても上位装置との間で確実にシリアル通信することが可能となる。
The serial communication speed adjustment method of the present invention is connected to a host device so that serial communication is possible, and is executed by an electronic device that receives a command from the host device through the serial communication and executes processing corresponding to the command. A serial communication speed adjustment method, wherein an inversion interval corresponding to a specific code included in the command is measured with a clock signal generated by a built-in clock generation unit, and corresponds to the measured inversion interval. The communication speed with the host device is adjusted, the communication speed is adjusted according to the interval of the inverted bits, and then the command is analyzed to further correct the communication speed .
With this configuration, it is possible to reliably perform serial communication with a host device without using a highly accurate clock signal using a crystal resonator or the like.
本発明によれば、シリアル通信のコマンドに含まれる特定コードに対応した反転間隔を内蔵のクロック信号で計測することで、水晶振動子等を使った精度の高いクロック信号を使用しなくても上位装置との間で確実にシリアル通信可能となる電子機器装置及びシリアル通信速度調整方法を提供することができる。 According to the present invention, an inversion interval corresponding to a specific code included in a serial communication command is measured with a built-in clock signal, so that a high-order clock signal using a crystal resonator or the like is not used. It is possible to provide an electronic device device and a serial communication speed adjustment method that can reliably perform serial communication with the device.
<実施の形態>
〔カード制御システムXの構成〕
図1を参照して、本発明の実施の形態に係るカード制御システムXの構成について説明する。本実施形態のカード制御システムXは、ATM、入室管理システム、在庫管理システム、入出車管理システム等(以下、「ATM等」という。)のカード状媒体3を利用するシステムである。
本実施形態のカード制御システムXは、カードリーダ1、上位装置2、カード状媒体3を含んで構成される。
<Embodiment>
[Configuration of Card Control System X]
With reference to FIG. 1, the structure of the card | curd control system X which concerns on embodiment of this invention is demonstrated. The card control system X of the present embodiment is a system that uses a card-like medium 3 such as an ATM, an entry management system, an inventory management system, an entry / exit management system (hereinafter referred to as “ATM etc.”).
The card control system X of the present embodiment includes a
カードリーダ1は、ATM等に内蔵されたカードリーダ装置である。カードリーダ1は、上位装置2と、例えば、調歩同期方式で半二重通信方式のシリアル通信で送受信が可能なように接続されている。これにより、カード状媒体3がカードリーダ1に挿入されると、カードリーダ1は、シリアル通信により上位装置2からコマンドを受信し、カード状媒体3に対して、当該コマンドに対応した特定の処理を実行する。
The
上位装置2は、ATM等の本体である。上位装置2は、カードリーダ1の電源の供給を制御する。また、上位装置2は、カードリーダ1に対してシリアル通信により各種コマンドを送信し、このコマンドの実行結果を受信する。
The
カード状媒体3は、磁気カードやICカードやRFID(Radio Frequency Identification)カード等の一時的でない記録媒体である。カード状媒体3は、クレジットカード、プリペイドカード、又はキャッシュカード等の金銭的な価値を示す価値情報、ID(Identification)コードのような固有情報等が記録されている。 The card-like medium 3 is a non-temporary recording medium such as a magnetic card, IC card, or RFID (Radio Frequency Identification) card. The card-like medium 3 is recorded with value information indicating a monetary value such as a credit card, prepaid card, or cash card, and unique information such as an ID (Identification) code.
また、カードリーダ1は、制御部10、主記憶部20、補助記憶部30、及びカード読取書込部40を含んでいる。
The
制御部10は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)等の制御演算手段である。
制御部10は、後述するように、クロック生成回路を内蔵しており、生成されたクロックを用いて、上位装置2との間でシリアル通信が可能である。
The
As will be described later, the
主記憶部20は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)やMRAM(Magnetoresistive Random Access Memory)等の記録媒体である。
主記憶部20には、後述するように、各種バッファが確保され、当該バッファにデータが保存される。
The
As will be described later, various buffers are secured in the
補助記憶部30は、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)等の不揮発性の記録媒体である。
補助記憶部30には、カードリーダ1のファームウェア等の制御プログラムと各種データ等とが保存される。
The
The
カード読取書込部40は、カード状媒体3を読み取り又は書き込むための磁気ヘッドや電磁誘導コイルやIC接続インターフェイスやRFID用アンテナ、カード状媒体3を挿入や排出するための駆動機構やセンサ、状態表示するためのLED(Light Emitting Diode)や液晶等の表示部が備えられている。また、カード読取書込部40に、カードリーダ1の初期設定や各種指示を行うためのディップスイッチやジャンパピンやスイッチ等の入力部が含まれていてもよい。
The card reading /
なお、制御部10、主記憶部20、及び補助記憶部30は、一体的に構成されたマイコン(Micro Controller)等であってもよい。
Note that the
より詳細に説明すると、制御部10は、クロック生成部100、反転間隔計測部110、通信速度調整部120、DMA部130(ダイレクト・メモリ・アクセス、Direct Memory Access)、及びコマンド解析実行部140を含んでいる。
また、主記憶部20は、DMAバッファ200(Buffer)、及びコマンドデータバッファ210の領域が確保される。
また、補助記憶部30は、ボーレート設定データ310を記憶する。
More specifically, the
In the
In addition, the
クロック生成部100は、受信したデータの保存のタイミングに必要なクロック信号を生成する。クロック生成部100は、オンチップ・オシレータ等の発振回路から構成されるため、外部の水晶発振子等を接続する必要はない。また、クロック生成部100から生成されるクロック信号は、各部に必要なタイミングに合わせて特定の割合で分周されている。また、クロック生成部100により生成されるクロック信号の速度は、制御部10の温度や供給される電圧等により、既定の速度から特定の幅で変動してもよい。また、クロック生成部100は、制御部10の各種制御に必要なクロック信号を供給することも可能である。また、クロック生成部100により生成されたクロック信号により、各種タイミング計測用のソフトウェアタイマー等を設定することも可能である。
The
反転間隔計測部110は、コマンドに含まれる特定コードに対応した反転ビットの間隔(以下、「反転間隔」という。)を、クロック生成部100により生成されたクロック信号により計測する。ここで、本実施形態においては、以下、シリアル通信の受信信号について、H(High)レベルである「1」のビットを「非反転ビット」、L(Low)レベルである「0」のビットを「反転ビット」と称する。また、以下において、反転間隔は、上位機器2からのシリアル通信の受信データの1ビット分に相当する変調周期に対応した、クロック生成部100により生成されたクロック信号のカウント値である。
具体的に説明すると、反転間隔計測部110は、主記憶部20に記憶されたDMAバッファ200のDMAデータ500のビット列から、特定コードに対応する反転ビットのビット列を検索する。反転間隔計測部110は、この反転ビットのビット列の長さ、すなわちクロック信号のカウント値を算出し、これを用いて反転間隔を求める。
The inversion
Specifically, the inversion
より具体的に説明すると、反転間隔計測部110は、特定コードに対応する第一の反転ビット列及び第二の反転ビット列を特定し、特定された第一の反転ビット列及び第二の反転ビット列についてクロック信号のカウント値を算出して反転間隔を計測する。ここで、本実施形態において、特定コードは、コマンドにおけるテキスト開始用の符号である。このテキスト開始用の符号には、スタートビットを含む第一の反転ビット列の長さと、その後の第二の反転ビット列の長さとが特定の比となるビット列が含まれる。このため、反転間隔計測部110は、DMAバッファ200に保存されたDMAデータ500から、連続する反転ビットの長さがこの特定の比であるようなビット列を特定コードとして検索し、検索された特定コードの第一の反転ビット列及び第二の反転ビット列のクロック信号のカウント値を算出し、反転間隔を計測する。本実施形態において、反転間隔計測部110は、特定コードの1ビット分となる1クロック信号を単位として、反転間隔を算出する。
More specifically, the inversion
また、反転間隔計測部110は、上位装置2からコマンドを受信する毎に、反転間隔を計測する。反転間隔計測部110は、例えば、上位装置2によりカードリーダ1に電源を供給された直後のコマンドの受信時、待機状態からの復帰時のコマンドの受信時等に、毎回、反転間隔を計測する。
The inversion
通信速度調整部120は、カードリーダ1から上位装置2への通信速度を上位装置2の通信速度に一致させるために、反転間隔計測部110により計測された反転間隔に基づいて、カードリーダ1から上位装置2への通信ボーレート(通信速度)を調整する。
具体的に説明すると、通信速度調整部120は、反転間隔計測部110により算出された反転間隔を、ボーレートに対応する値として、補助記憶部30のボーレート設定データ310に保存する。この保存されたボーレートに対応するクロック信号のカウント値は、反転間隔に対応して通信速度を調整した値となる。
The communication
More specifically, the communication
DMA部130は、DMAの制御を行う内蔵のDMAコントローラである。DMA部130は、上位装置2からの転送開始信号により、DMA機能を用いてシリアル信号の受信ライン(RxD)の周期データを受信し、受信されたデータを、直接、DMAデータ500として専用のDMAバッファ200に保存する。
なお、制御部10は、後述するように、DMA部130を備えないような構成であってもよい。また、制御部10とは別に、DMAコントローラを別途備えるような構成であってもよい。
The
The
コマンド解析実行部140は、コマンドを解析し、解析されたコマンドに対応する特定の処理を実行する。コマンド解析実行部140は、通信速度調整部120により調整された速度で、DMAバッファ200のDMAデータ500からコマンドを解析する。このコマンドは、カードリーダ1の初期化、ステータス(状態情報)の取得や表示、カード状媒体3の挿入や排出、カード状媒体3のデータの読み込みや書き出し、ファームウェアの更新等の特定の処理の指示が含まれるデータである。また、コマンドデータ510には、カードリーダ1のファームウェアのプログラムやデータ等が含まれていてもよい。
コマンド解析実行部140は、コマンドの実行の結果を、シリアル信号の送信ライン(TxD)により、上位装置2に送信する。
The command
The command
DMAバッファ200は、DMA部130により受信されたDMAデータ500が保存される専用のバッファである。このDMAデータ500は、クロック生成部100で生成されたクロック信号に基づいたサンプリング速度でサンプリングされたビット列となる。また、このDMAデータ500のサンプリング速度は、シリアル通信のボーレートを調整するために必要な速度であり、例えば、上位装置2と通信可能なシリアル通信の規定のボーレートの数倍以上の速度である。
なお、DMAデータ500は、クロック信号により作成されたリアルタイムタイマによる、特定の周期で取得されたビット列であってもよい。
The
The
コマンドデータバッファ210は、DMAデータ500から解析されたコマンドデータ510を保存するためのバッファである。
コマンドデータ510は、コマンド解析実行部140によりDMAバッファ200に保存されたDMAデータ500から、ボーレート設定データ310に設定されたボーレートに対応する値であるクロック信号のカウント値をサンプリング間隔として用いて読み出されたデータである。
The
The
ボーレート設定データ310は、シリアル通信のボーレートに関するデータである。ボーレート設定データ310には、上位装置2のボーレートに対応して算出されたクロック信号のカウント値が含まれている。このクロック信号のカウント値は、RS−232C等のシリアル通信で規定されたボーレートに対応する値、又は反転間隔に対応して通信速度を調整した値、次コマンド受信時の補正値等である。
The baud rate setting data 310 is data related to the baud rate of serial communication. The baud rate setting data 310 includes the count value of the clock signal calculated corresponding to the baud rate of the higher-
また、ボーレート設定データ310には、電源投入直後に上位装置2から送信された最初のコマンド(以下、「初回コマンド」という。)を受信する際のボーレートのデフォルト値を含んでいる。たとえば、このボーレートのデフォルト値は、ファームウェアにより設定され、又は入力部のディップスイッチやジャンパピンの組み合わせ等を読み込んで設定される。このボーレートのデフォルト値は、工場出荷時の初期値として、例えば、9,600bps〜115.2Kbpsのような、RS−232Cで規定された特定値が設定される。
Further, the baud rate setting data 310 includes a default value of the baud rate when receiving the first command (hereinafter referred to as “first command”) transmitted from the
なお、反転間隔計測部110、通信速度調整部120、及びコマンド解析実行部140は、補助記憶部30については、記憶された制御プログラム(図示せず)を主記憶部20に展開し、制御部10が実行することで、各部の機能を実現することが可能である。また、その他の各部は、回路のハードウェアとして実現される。
The inversion
〔カードリーダ1によるコマンド受信実行処理〕
次に、図2〜図4により、本発明の実施の形態に係るコマンド実行処理について説明する。
本実施形態のコマンド受信実行処理では、上位装置2からのコマンド受信を開始し、シリアル通信の速度を調整し、ボーレートの補正をしてコマンドの実行結果を応答する。ここで、上述したように、上位装置2とカードリーダ1は、シリアル送受信にて接続されている。カードリーダ1は、上位装置2から送信された受信データから反転間隔を測定し、カードリーダ1自身が上位装置2に対してデータを送信する際のボーレートを上位装置2と同じになるよう設定する。また、この補正は、上位装置2からのシリアル通信のコマンドの受信毎に実行する。その後、カードリーダ1は、受信したコマンドに対応した特定の処理を開始し、通信速度の最終的な補正を行って、コマンドの実行結果を上位機器2に応答する。
[Command reception execution processing by the card reader 1]
Next, a command execution process according to the embodiment of the present invention will be described with reference to FIGS.
In the command reception execution process of this embodiment, command reception from the
本実施形態のコマンド受信実行処理は、主に制御部10が、記憶媒体に記憶された制御プログラム(図示せず)を、各部と協働し、ハードウェア資源を用いて実行する。これにより、本実施形態のシリアル通信速度調整方法、及びシリアル通信速度調整プログラムの処理を実現することができる。
以下で、図2のフローチャートにより、本実施形態のコマンド受信実行処理の詳細をステップ毎に説明する。
In the command reception execution processing of this embodiment, the
The details of the command reception execution process of this embodiment will be described step by step with reference to the flowchart of FIG.
(ステップS101)
まず、DMA部130が、シリアル通信スタート処理を行う。
DMA部130は、上位装置2よりシリアル通信でデータが送信されると、RxD信号の反転間隔を、DMA機能を用いてDMAバッファ200へDMAデータ500として保存する。
(Step S101)
First, the
When data is transmitted from the
(ステップS102)
次に、コマンド解析実行部140が、解析されたコマンドデータ510に整合性があったか否かを判定する。
(Step S102)
Next, the command
まず、コマンド解析実行部140は、このDMAバッファ200のDMAデータ500を、コマンドに変換し、コマンドデータバッファ210に保存する。コマンド解析実行部140は、この際、補助記憶部30からボーレート設定データ310を読み出す。コマンド解析実行部140は、ボーレート設定データ310に設定されたクロック信号のカウント値をサンプリング間隔としてDMAデータ500を読み出し、コマンドデータ510に変換する。この際に、クロック信号のカウント値として、電源投入直後の初回コマンド受信時には、特定のデフォルト値に対応した値を算出して使用する。また、コマンド解析実行部140は、二回目以降には、後述するステップS110でボーレート設定データ310にセットされた値をカウント値として使用する。つまり、二回目以降、コマンド解析実行部140は、直前のコマンドの受信の際に補正された値、後述する「次コマンド受信時の補正値」をカウント値として使用する。
First, the command
この上で、コマンド解析実行部140は、コマンドデータバッファ210に保存されたコマンドデータ510について、パリティチェック、電文途切れのチェック、CRC(Cyclic Redundancy Check)等により、データの整合性を検査する。
コマンド解析実行部140は、コマンドデータ510の整合性があった場合に、Yesと判定する。コマンド解析実行部140は、それ以外の場合には、Noと判定する。
Yesの場合、コマンド解析実行部140は、処理をステップS108に進める。
Noの場合、コマンド解析実行部140は、処理をステップS103に進める。
Then, the command
The command
In the case of Yes, the command
In No, the command
(ステップS103)
コマンドデータ510に整合性がなかった場合、コマンド解析実行部140が、初回コマンドであったか否かを判定する。コマンド解析実行部140は、解析されたコマンドデータ510が、初回コマンドであった場合に、Yesと判定する。コマンド解析実行部140は、それ以外の場合、つまり、二回目以降のコマンドであった場合は、Noと判定する。
Yesの場合、コマンド解析実行部140は、処理をステップS104に進める。
Noの場合、コマンド解析実行部140は、処理をステップS107に進める。
(Step S103)
If the
In the case of Yes, the command
In No, command
(ステップS104)
初回コマンドであった場合、反転間隔計測部110が、反転間隔計測処理を行う。
反転間隔計測部110は、DMAバッファ200に保存されたDMAデータ500から特定コードに体操した反転間隔を計測する。
(Step S104)
If it is the first command, the inversion
The inversion
図3(a)は、この特定コードとして、例えば、コマンドのテキスト開始符号である「STX」のコードである「0xF2」のビット列を使用する例を示している。シリアル通信のデータは、1ビットのスタートビット、8ビットのデータビット、1ビットのストップビット、1ビットのパリティビットを単位とする、計10ビットを単位で伝送される。この際に、スタートビットは、必ず「0」、ストップビットは必ず「1」となる。また、データビットであるB0〜B7は、最下位ビット(LSB)から最上位ビット(MSB)に向けて順に伝送される。 FIG. 3A shows an example in which a bit string “0xF2” that is a code of “STX” that is a text start code of a command is used as the specific code. Serial communication data is transmitted in units of a total of 10 bits, with 1 start bit, 8 data bits, 1 stop bit, and 1 parity bit as units. At this time, the start bit is always “0” and the stop bit is always “1”. Data bits B0 to B7 are sequentially transmitted from the least significant bit (LSB) to the most significant bit (MSB).
このため、特定コードが「0xF2」の場合、第一の反転ビット列である「00」、非反転ビット列「1」、その後の第二の反転ビット列である「00」、その後の非反転ビット列「1111」、ストップビットの「1」、最後にパリティビットが送信される。よって、この例の場合、第一の反転ビット列の長さT0と、その後の第二の反転ビット列の長さT2とが等しくなる、つまり、1:1の特定の比となる。 For this reason, when the specific code is “0xF2”, the first inverted bit string “00”, the non-inverted bit string “1”, the subsequent second inverted bit string “00”, and the subsequent non-inverted bit string “1111” ", Stop bit" 1 ", and finally a parity bit. Therefore, in this example, the length T0 of the first inverted bit string is equal to the length T2 of the second inverted bit string thereafter, that is, a specific ratio of 1: 1.
図3(b)は、DMAバッファ200に保存されたDMAデータ500において、T0:T2=1:1のデータの例である。反転間隔計測部110は、このように、T0:T1=1:1となる箇所のビット列を検索して、第一の反転ビット列と第二の反転ビット列として特定する。反転間隔計測部110は、特定された第一の反転ビット列と第二の反転ビット列から、特定コードの1ビット分となるクロック信号のカウント値である反転間隔を算出する。図3(b)の例の場合、反転間隔計測部110は、反転間隔=(T0の長さ+T2の長さ)/4、として算出する。この例では、T0の長さ=6、T2の長さ=6であるので、反転間隔=3(周期)と算出する。
FIG. 3B shows an example of T0: T2 = 1: 1 data in the
なお、反転間隔計測部110は、反転間隔の算出の際に、T1の長さも用いてもよい。この場合、反転間隔計測部110は、反転間隔=(T0の長さ×2+T1の長さ+T2の長さ×2)/5、のような式で算出することが可能である。また、DMAバッファ200に保存されたDMAデータ500は、実際には、誤差が少なくなる程度に細かくサンプリングされていてもよい。
The inversion
(ステップS105)
次に、通信速度調整部120が、通信速度調整処理を行う。
通信速度調整部120は、反転間隔計測部110により計測された反転間隔に対応するよう、上位装置2との通信速度を調整する。具体的には、通信速度調整部120は、計測された反転間隔を、補助記憶部30のボーレート設定データ310に保存する。これにより、上位装置2との通信速度を調整することが可能になる。
上述の図3(b)の例においては、通信速度調整部120は、反転間隔が3(周期)であるので、これをボーレート設定データ310に、通信速度が調整された値として設定する。
(Step S105)
Next, the communication
The communication
In the example of FIG. 3B described above, the communication
このように構成することで、通信速度調整部120は、9,600bpsや38,400bps、115,200bps、といった固定値のボーレートを設定する必要がなくなる。また、温度変動等でクロック信号の速度の変動が起こっても、上位装置2と同じボーレートが保たれ、シリアル通信が可能な状態を維持できる。
With this configuration, the communication
(ステップS106)
次に、コマンド解析実行部140が、データ復調ができるか否かを判定する。
コマンド解析実行部140は、調整された通信速度で、DMAバッファ200に保存されたDMAデータ500から、コマンドデータ510への復調を試みる。つまり、コマンド解析実行部140は、DMAバッファ200に保存されたDMAデータ500を、ボーレート設定データ310に設定されたクロック信号のカウント値の間隔でサンプリングし直して、改めてコマンドデータ510に変換する。
(Step S106)
Next, the command
The command
コマンド解析実行部140は、変換されたコマンドデータ510について、上述のステップS102と同様に整合性を検査する。上述の図3(b)の例では、コマンド解析実行部140が、DMAデータ500を3(周期)で読み出して、コマンドデータ510に変換した場合の整合性を検査する。コマンド解析実行部140は、整合性があった場合には、Yesと判定する。コマンド解析実行部140は、整合性がなかった場合には、Noと判定する。
Yesの場合、コマンド解析実行部140は、処理をステップS108に進める。
Noの場合、コマンド解析実行部140は、復調できなかったとして、処理をステップS101に戻して、上位装置2からの再度のコマンド送信を待つ。
The command
In the case of Yes, the command
In the case of No, the command
(ステップS107)
二回目以降のコマンドであった場合、コマンド解析実行部140が、NAK応答処理を行う。
カードリーダ1の電源供給又は待機状態からの初回のコマンドではなく、二回目以降のコマンドである場合は、機器の故障、ノイズの混入、及び不正操作等による通信エラーの可能性がある。
このため、コマンド解析実行部140は、否定応答符号の「NAK」のコードである「0x15」等を、送信ラインのTxDにより上位装置2へ応答する。
その後、コマンド解析実行部140は、処理をステップS101に戻す。
(Step S107)
In the case of the second and subsequent commands, the command
If the command is not the first command from the power supply or standby state of the
For this reason, the command
Thereafter, the command
(ステップS108)
ここで、コマンドデータ510に整合性があった場合、コマンド解析実行部140が、ACK応答処理を行う。
図4によると、カードリーダ1のコマンド解析実行部140は、上位装置2に対して、肯定応答符号の「ACK」のコードである「0x06」等を、TxDにより上位装置2へ応答する。
(Step S108)
If the
According to FIG. 4, the command
(ステップS109)
次に、コマンド解析実行部140が、コマンド対応処理を行う。
コマンド解析実行部140は、コマンドデータバッファ210に保存されたコマンドデータ510を解釈し、コマンドに対応する特定の処理を実行開始する。たとえば、コマンド解析実行部140は、カード読取書込部40に対してカード状媒体3の挿入、排出、読み込み、若しくは書き込み等の指示を行う。また、例えば、コマンド解析実行部140は、カードリーダ1自体の状態読み出し、若しくはファームウェア更新等の処理を実行する。
(Step S109)
Next, the command
The command
(ステップS110)
次に、コマンド解析実行部140が、通信速度補正処理を行う。
コマンド解析実行部140は、コマンドを受信した際にDMA部130により記憶されたDMAバッファ200に保存されたDMAデータ500により、通信速度を補正する。コマンド解析実行部140は、コマンドデータ510として解釈された全てのDMAデータ500に対応するクロック信号のカウント値(長さ)を、コマンドデータ510の全ビット数で割り、コマンドデータ510の1ビット分に対応するクロック信号のカウント値を算出する。つまり、コマンド解析実行部140は、コマンドデータ510全体に相当するDMAデータ500から、シリアル通信の1ビット分の変調周期に相当するクロック信号のカウント値を算出する。コマンド解析実行部140は、この算出された値を、次コマンド受信時の補正値として、ボーレート設定データ310に設定する。
(Step S110)
Next, the command
The command
このように構成し、一旦、反転間隔により通信速度を調整した後、コマンドを解析して更に補正することで、より高精度に上位装置2との間の通信速度を調整することが可能となる。これにより、上位装置2から、制御部10が熱等の変動が少ない時間で次回のコマンドが送信された際に、より解析しやすくなる可能性を高めることができる。よって、コマンドに対する特定の処理の実行までの待ち時間等を減らす効果が期待できる。
With this configuration, once the communication speed is adjusted by the inversion interval, the command is analyzed and further corrected, so that the communication speed with the
(ステップS111)
次に、コマンド解析実行部140が、コマンド結果応答処理を行う。
図4によると、コマンド解析実行部140は、コマンドの実行が終了した後、上述の算出された平均値で補正されたボーレートにより、コマンドの実行結果の応答(レスポンス)を上位装置2へ送信する。
(Step S111)
Next, the command
According to FIG. 4, after the command execution is completed, the command
これに対して、上位装置2が、ACKの応答をカードリーダ1に対して応答する。
その後、コマンド解析実行部140は、処理をステップS101に戻し、再び上位装置2からコマンドが送信されるまで待機状態になる。
なお、カードリーダ1の待機状態が特定の時間より長く続いた場合、上位装置2は、カードリーダ1への電源供給を停止してもよい。
以上により、本発明の実施の形態に係るコマンド受信実行処理の説明を終了する。
In response to this, the
Thereafter, the command
Note that when the standby state of the
This is the end of the description of the command reception execution process according to the embodiment of the present invention.
〔本実施形態の主な効果〕
以上のように構成することで、以下のような効果を得ることができる。
本発明の実施の形態に係るカードリーダ1は、上位装置2とシリアル通信で接続されており、シリアル通信により上位装置からコマンドを受信し、当該コマンドに対応した処理を実行する電子機器装置であって、シリアル通信により受信したデータの保存のタイミングに必要なクロック信号を生成するクロック生成部100と、コマンドに含まれる特定コードに対応した反転間隔を、クロック生成部100により生成されたクロック信号で計測する反転間隔計測部110と、反転間隔計測部110により計測された反転間隔に対応するよう、上位装置との通信速度を調整する通信速度調整部120とを備えることを特徴とする。
[Main effects of this embodiment]
With the configuration described above, the following effects can be obtained.
A
つまり、本実施形態のカードリーダ1は、上位装置2からのシリアル信号ライン(RxD信号)の受信データから、カードリーダ1自身の制御部10のクロック信号により、ボーレートに対応する値を算出する。
このように構成することで、制御部10の温度変化等によるカードリーダ1の制御部10のクロック信号の変動が生じても、上位装置2との間で確実にシリアル通信することができる。この結果、カードリーダ1及び上位装置2において、回路構成上、精度の高いクロック信号を発生する、外部の水晶発信子を含む回路を使用しないことが可能となる。また、外部の水晶発信子を含む回路よりも、内蔵クロックの精度が高くない安価な制御部10を用いることも可能となる。よって、システム全体のコスト削減効果を期待できる。
That is, the
With this configuration, even if the clock signal of the
また、カードリーダ1は、規定のボーレートで通信する必要がなく、上位装置2からのDMAデータ500に基づいてボーレートを設定し通信することが可能になる。つまり、上位装置2からのDMAデータ500に基づいて、カードリーダ1のシリアル通信のボーレートを設定可能な仕組みを実現することができる。これにより、上位装置2がRS−232C規格等の規定のボーレートを使用していなかったり、ボーレートがコマンド送信の度に変更されることがあったりするような構成でも、確実にシリアル通信を行うことができる。
Further, the
また、外部接続の水晶振動子は、コストが高いという問題があった。本実施形態のカードリーダ1は、外部接続の水晶振動子を使用しないため製造コストを低減することができる。
In addition, the externally connected crystal resonator has a problem of high cost. Since the
なお、カードリーダ1は、通常、上位装置2に内蔵されており、金銭的な価値を扱うカード状媒体3の処理を行う。よって、上位装置2とのシリアル通信において速度を調整した上で、上位装置2との処理を実行することで、カードリーダ1と上位装置2との間のデータ通信を解読されにくくすることができる。このため、結果として、カード状媒体3のカード情報のスキミングやハッキング等の可能性を減らすことができ、セキュリティを向上させられる。
The
また、本発明の実施の形態に係るカードリーダ1は、シリアル通信のコマンドをDMA(ダイレクト・メモリ・アクセス)で保存するバッファを備え、反転間隔計測部110は、DMAバッファ200に保存されたDMAデータ500のビット列から特定コードに対応した反転間隔を計測することを特徴とする。
The
このように構成することで、上位装置2が115,200bps等の高速なボーレートで送信してきた場合でも、制御部10に負荷をかけずに高速でデータ転送ができ、確実にシリアル通信のDMAデータ500を取得できる。また、制御部10が動作するクロックの速度に制限がなく、通信速度の調整を行うことが可能になる。また、制御部10が直接DMAデータ500を取得するのと比べて、DMAデータ500をサンプリングする際の誤差が少なくなるため、より確実にクロック信号の周期を算出可能となり、高精度な速度の調整や補正が可能となる。
With this configuration, even when the
また、本発明の実施の形態に係るカードリーダ1は、特定コードが、スタートビットを含む第一の反転ビット列の長さと、その後の第二の反転ビット列の長さとが特定の比となるよう設定され、反転間隔計測部110は、特定の比となる反転ビットの列として第一の反転ビット列及び第二の反転ビット列を特定し、特定された第一の反転ビット列及び第二の反転ビット列のクロック信号のカウント値を算出して反転間隔を計測することを特徴とする。
このように構成することで、シリアル通信のDMAデータ500から容易に特定コードを検出でき、確実に反転間隔を計測し、通信速度を調整することができる。
In the
With this configuration, the specific code can be easily detected from the serial
また、本発明の実施の形態に係るカードリーダ1は、上位装置2からのコマンドを受信し、読み取り又は書き込みするカード状媒体3に対して、コマンドに対応する特定の処理を実行することを特徴とする。
このように構成することで、上位装置2からのコマンドをカードリーダ1が確実に受信して、カード状媒体3に対する特定の処理を確実に行うことができる。
The
With this configuration, the
また、本発明の実施の形態に係るカードリーダ1は、反転間隔計測部110が、上位装置2からコマンドを受信する度に、反転間隔を計測することを特徴とする。
このように構成することで、コマンド受信の度に速度を調整するため、前回のコマンド受信から時間が経過して制御部10のクロック等が変動していても、確実に上位装置2からのコマンドデータ510を受信することが可能となる。カードリーダ1にカード状媒体3が挿入されて特定の処理が実行され、次に他のカード状媒体3が挿入されるまで、通常は、数分〜数時間、時間が経過する。このため、毎回、反転間隔を計測することで、より確実に通信速度を調整できる。
The
With this configuration, the speed is adjusted each time a command is received. Therefore, even if the clock of the
〔他の実施の形態〕
なお、上述の実施形態においては、カード制御システムXにおいて、上位装置2との間の受信データにより、カードリーダ1と上位装置2との間のシリアル通信のボーレートの調整について説明した。
しかしながら、カードリーダ1は、制御部10のクロック生成部100のクロック信号を用いたソフトウェアタイマーを生成し、定期的なセンサ状態の監視やLED点滅制御などの用途に使用している。このため、上位装置2からの通信速度が既に設定されている場合、調整されたボーレート設定データ310に基づいて、ソフトウェアタイマーの時間を補正することが可能である。
これにより、制御部10のクロック信号の変動等にかかわらずソフトウェアタイマーの時間を補正でき、センサ状態の監視やLED点滅制御等の動作が確実になる。
[Other Embodiments]
In the above-described embodiment, the adjustment of the baud rate of the serial communication between the
However, the
As a result, the time of the software timer can be corrected regardless of fluctuations in the clock signal of the
また、上述の実施形態においては、上位装置2からカードリーダ1へのシリアル信号ライン(RxD信号)からのDMAデータ500の取得に、制御部10に内蔵されたDMA部130の機能を用いる例について説明した。
しかしながら、例えば、クロック速度が25MHz程度の制御部10を用いても、ボーレート38,400bps程度の速度であれば、このDMAを使用せずに、PIO(Programmed I/O)でDMAデータ500を取得することが十分に可能である。このため、例えば、ボーレートの上限が38,400bpsまでの通信仕様のカードリーダ1であれば、DMA機能を用いずにボーレートの自動補正をしてもよい。
これにより、DMA機能のない制御部10を使用可能となり、コストを削減できる。
Further, in the above-described embodiment, an example in which the function of the
However, for example, even if the
As a result, the
また、上述の実施形態においては、通信速度を調整するための反転間隔としてコマンドデータ510の1ビット分に対応するクロック信号のカウント値を算出して使用した。
しかしながら、このように、クロック信号のカウント値を直接用いずに、ボーレートの設定を行うことも可能である。たとえば、クロック信号のカウント値から、規定のボーレートと、この規定のボーレートからのずれを算出して、これを上位機器2との通信速度の調整に用いてもよい。
In the above-described embodiment, the count value of the clock signal corresponding to one bit of the
However, it is possible to set the baud rate without directly using the count value of the clock signal. For example, a prescribed baud rate and a deviation from this prescribed baud rate may be calculated from the count value of the clock signal, and this may be used for adjusting the communication speed with the
この場合、通信速度調整部120は、9,600bpsや38,400bps、115,200bpsといったRS−232Cのシリアル通信の固定値のボーレートと一番近い値を選択し、これとの「ずれ」の値をオフセット値として算出する。たとえば、DMAデータ500のサンプリングの既定のビットレート(bps)が338kbpsで、1ビット分の反転間隔となるクロック信号のカウント値が「3」であった場合、反転間隔の時間は約8.68μsとなるため、ボーレートを115,200bpsと算出する。通信速度調整部120は、主記憶部20に選択されたボーレートとオフセット値とを保存し、これらを用いて、上位装置2との通信速度を調整する。
In this case, the communication
このように構成することで、上位装置2やカードリーダ1に設定されたボーレートとのずれを容易に算出できる。このため、上述のソフトウェアタイマーの設定や、他の各部のタイミング調整を行いやすくなる。
With this configuration, it is possible to easily calculate a deviation from the baud rate set in the
また、上述の実施の形態では、カード制御システムXについて、シリアル通信の速度調整を行う例について説明した。
これに対して、上位装置2とのシリアル通信を実行する電子機器であれば、本実施形態の速度調整方法と同様に速度調整を行うことが可能である。また、RS−232C以外の特定コードを使用するシリアル通信にも適用することが可能である。
このように構成することで、各種電子機器のシリアル通信の調整に係る処理時間やコストを削減することができる。
In the above-described embodiment, an example in which the speed of serial communication is adjusted for the card control system X has been described.
In contrast, any electronic device that performs serial communication with the
With this configuration, it is possible to reduce processing time and cost related to adjustment of serial communication of various electronic devices.
また、上述の実施の形態では、第一の反転ビット列の長さと、その後の第二の反転ビット列の長さとが1:1になる特定コードを使用する例について記載した。しかしながら、特定コードとして、これらの長さが1:n(任意倍)となるような特定コードを使用してもよい。また、特定コードとして、特定のパターンとなるようなデータを使用し、このパターンを検出するようにしてもよい。
このように構成することで、シリアル通信の信号の特性に合わせて確実な通信時間の調整が可能となる。
In the above-described embodiment, an example in which the specific code in which the length of the first inverted bit string and the length of the second inverted bit string thereafter is 1: 1 is described. However, a specific code whose length is 1: n (arbitrary multiple) may be used as the specific code. Further, as the specific code, data that has a specific pattern may be used to detect this pattern.
With this configuration, it is possible to reliably adjust the communication time according to the characteristics of the serial communication signal.
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。 Note that the configuration and operation of the above-described embodiment are examples, and it is needless to say that the configuration and operation can be appropriately changed and executed without departing from the gist of the present invention.
1 カードリーダ
2 上位装置
3 カード状媒体
10 制御部
20 主記憶部
30 補助記憶部
40 カード読取書込部
100 クロック生成部
110 反転間隔計測部
120 通信速度調整部
130 DMA部
140 コマンド解析実行部
200 DMAバッファ
210 コマンドデータバッファ
310 ボーレート設定データ
500 DMAデータ
510 コマンドデータ
X カード制御システム
DESCRIPTION OF
Claims (6)
前記シリアル通信により前記上位装置からコマンドを受信し、当該コマンドに対応した処理を実行する電子機器装置であって、
前記シリアル通信により受信したデータの保存のタイミングに必要なクロック信号を生成するクロック生成部と、
前記コマンドに含まれる特定コードに対応した反転ビットの間隔を、前記クロック生成部により生成された前記クロック信号で計測する反転間隔計測部と、
該反転間隔計測部により計測された反転ビットの間隔に対応するよう、前記上位装置との通信速度を調整する通信速度調整部と、
前記反転ビットの間隔により前記通信速度を調整した後、前記コマンドを解析して前記通信速度を更に補正するコマンド解析実行部とを備える
ことを特徴とする電子機器装置。 It is connected to the host device so that serial communication is possible.
An electronic device device that receives a command from the host device through the serial communication and executes processing corresponding to the command,
A clock generation unit that generates a clock signal necessary for the timing of storage of data received by the serial communication;
An inversion interval measurement unit that measures an interval of inversion bits corresponding to a specific code included in the command, using the clock signal generated by the clock generation unit;
A communication speed adjusting unit that adjusts the communication speed with the host device so as to correspond to the interval between the inverted bits measured by the inversion interval measuring unit ;
An electronic device apparatus comprising: a command analysis execution unit that analyzes the command and further corrects the communication speed after adjusting the communication speed according to the interval of the inverted bits .
前記反転間隔計測部は、前記バッファに保存されたデータのビット列から前記特定コードに対応した反転ビットの間隔を計測し、
前記コマンド解析実行部は、前記コマンドのデータ全体に相当する前記DMAのデータから、前記シリアル通信の1ビット分の変調周期に相当する前記クロック信号のカウント値を算出し、算出された値を、次コマンド受信時の補正値とする
ことを特徴とする請求項1に記載の電子機器装置。 A buffer for storing data received by the serial communication by DMA (Direct Memory Access);
The inversion interval measurement unit measures an interval between inversion bits corresponding to the specific code from a bit string of data stored in the buffer ,
The command analysis execution unit calculates a count value of the clock signal corresponding to a modulation period for one bit of the serial communication from the DMA data corresponding to the entire data of the command, and calculates the calculated value, The electronic device apparatus according to claim 1, wherein the correction value is set when the next command is received .
前記反転間隔計測部は、前記特定の比となる反転ビットの列として前記第一の反転ビット列及び前記第二の反転ビット列を特定し、特定された前記第一の反転ビット列及び前記第二の反転ビット列の前記クロック信号のカウント値を算出して前記反転ビットの間隔を計測する
ことを特徴とする請求項1又は2に記載の電子機器装置。 The specific code is set so that the length of the first inverted bit string including the start bit and the length of the second inverted bit string after that is a specific ratio,
The inversion interval measurement unit specifies the first inversion bit string and the second inversion bit string as an inversion bit string having the specific ratio, and specifies the specified first inversion bit string and the second inversion bit string. The electronic device apparatus according to claim 1, wherein a count value of the clock signal of a bit string is calculated and an interval between the inverted bits is measured.
ことを特徴とする請求項1乃至3のいずれか1項に記載の電子機器装置。 4. The card reader according to claim 1, wherein the card reader receives the command from the host device and executes a specific process corresponding to the command on a card-like medium to be read or written. The electronic device apparatus according to 1.
ことを特徴とする請求項4に記載の電子機器装置。 The electronic device apparatus according to claim 4, wherein the inversion interval measurement unit measures the inversion bit interval each time the command is received from the host device.
前記シリアル通信により前記上位装置からコマンドを受信し、当該コマンドに対応した処理を実行する電子機器装置により実行されるシリアル通信速度調整方法であって、
前記コマンドに含まれる特定コードに対応した反転ビットの間隔を、内蔵されたクロック生成部により生成されたクロック信号で計測し、
計測された反転ビットの間隔に対応するよう、前記上位装置との通信速度を調整し、
前記反転ビットの間隔により前記通信速度を調整した後、前記コマンドを解析して前記通信速度を更に補正する
ことを特徴とするシリアル通信速度調整方法。 It is connected to the host device so that serial communication is possible.
A serial communication speed adjustment method executed by an electronic device that receives a command from the host device through the serial communication and executes processing corresponding to the command,
Measure the interval of the inverted bits corresponding to the specific code included in the command with the clock signal generated by the built-in clock generator,
Adjust the communication speed with the host device so as to correspond to the measured inverted bit interval ,
A serial communication speed adjustment method, wherein the communication speed is further adjusted by analyzing the command after adjusting the communication speed according to the interval of the inverted bits .
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014208978A JP6456649B2 (en) | 2014-10-10 | 2014-10-10 | Electronic device apparatus and serial communication speed adjustment method |
CN201510652463.0A CN105512062B (en) | 2014-10-10 | 2015-10-10 | Electronic apparatus and serial communication speed adjustment method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014208978A JP6456649B2 (en) | 2014-10-10 | 2014-10-10 | Electronic device apparatus and serial communication speed adjustment method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016082298A JP2016082298A (en) | 2016-05-16 |
JP6456649B2 true JP6456649B2 (en) | 2019-01-23 |
Family
ID=55720060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014208978A Active JP6456649B2 (en) | 2014-10-10 | 2014-10-10 | Electronic device apparatus and serial communication speed adjustment method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6456649B2 (en) |
CN (1) | CN105512062B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112655172B (en) * | 2018-09-27 | 2024-04-09 | 日本电产株式会社 | Signal receiving and transmitting method |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04117841A (en) * | 1990-09-07 | 1992-04-17 | Furukawa Electric Co Ltd:The | Communication speed detection method in start-stop synchronizing communication system |
JPH05174201A (en) * | 1991-07-05 | 1993-07-13 | Toppan Printing Co Ltd | Ic card reader/writer |
JP3602233B2 (en) * | 1995-11-30 | 2004-12-15 | パナソニック コミュニケーションズ株式会社 | AT command analyzer |
JPH11154941A (en) * | 1997-11-20 | 1999-06-08 | Keyence Corp | Communication equipment, communication system and communication method |
GB0226872D0 (en) * | 2002-11-18 | 2002-12-24 | British Telecomm | Video transmission |
CN101741424B (en) * | 2009-12-24 | 2013-08-28 | 航天恒星科技有限公司 | Method for rapidly capturing multi-mode high dynamic spread spectrum signal |
CN102467477B (en) * | 2010-11-12 | 2014-10-15 | 施耐德电器工业公司 | Baud rate self-adapting Modbus relay and Baud rate self-adapting system and method |
JP5896602B2 (en) * | 2011-01-06 | 2016-03-30 | ミツミ電機株式会社 | Communication circuit and sampling adjustment method |
WO2012101808A1 (en) * | 2011-01-27 | 2012-08-02 | 三菱電機株式会社 | Communication interface device |
-
2014
- 2014-10-10 JP JP2014208978A patent/JP6456649B2/en active Active
-
2015
- 2015-10-10 CN CN201510652463.0A patent/CN105512062B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN105512062B (en) | 2019-04-23 |
CN105512062A (en) | 2016-04-20 |
JP2016082298A (en) | 2016-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7418297B2 (en) | Frame length modulation and pulse position modulation system | |
TW536636B (en) | Method, system and apparatus for calibrating a pulse position modulation (PPM) decoder to a PPM signal | |
US7911322B2 (en) | Information processing apparatus and method, and non-contact IC card device | |
TWI332632B (en) | Radio frequency identification tags capable of embedding receiver signal strength indications | |
US8458483B1 (en) | Techniques for message-passing using shared memory of an RF tag | |
US7957473B2 (en) | Data transmission apparatus enabling communication without being interfered by environmental noise | |
JP6456649B2 (en) | Electronic device apparatus and serial communication speed adjustment method | |
JP2002042085A (en) | Card system, and ic card and card reader/writer for use therein | |
WO2016180645A1 (en) | Rfid transponder, rfid transponder arrangement and method for communication between an rfid transponder and a reading device | |
JP2010102609A (en) | Information processor, information processing method, program and information processing system | |
US9319883B2 (en) | Card device | |
US8363737B2 (en) | Wireless data transmission between a base station and a transponder via inductive coupling | |
WO2011002030A1 (en) | Portable electronic device and control method for portable electronic device | |
CN101382990B (en) | System and method for making reader-writer support baud rate under clocking frequency of random card | |
JP6819377B2 (en) | RFID data management equipment, RFID data management methods, and RFID data management programs | |
JP6217344B2 (en) | Method and apparatus for controlling access to shared memory | |
US20080143479A1 (en) | Digital Device Being Worked with Exterior Power Supply and Control Method Thereof | |
KR20120056591A (en) | Radio frequency identification tag with automatic frequency adjusting function | |
JP4357327B2 (en) | Non-contact IC card system | |
JP2949249B2 (en) | Communication device | |
JP2018010484A (en) | Electronic circuit, RFID system, and data acquisition method of RFID system | |
JP4763406B2 (en) | IC tag semiconductor device, IC tag system, and IC tag control method | |
JPH05174201A (en) | Ic card reader/writer | |
US20050219038A1 (en) | Method and system for contactless data transmission | |
JPH09212601A (en) | Communication control method in non-contact ic card system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170905 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180820 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180828 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181024 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20181211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181219 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6456649 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |