JP6596240B2 - 通信装置 - Google Patents

通信装置 Download PDF

Info

Publication number
JP6596240B2
JP6596240B2 JP2015115691A JP2015115691A JP6596240B2 JP 6596240 B2 JP6596240 B2 JP 6596240B2 JP 2015115691 A JP2015115691 A JP 2015115691A JP 2015115691 A JP2015115691 A JP 2015115691A JP 6596240 B2 JP6596240 B2 JP 6596240B2
Authority
JP
Japan
Prior art keywords
data
unit
block
code
communication
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
Application number
JP2015115691A
Other languages
English (en)
Other versions
JP2017005415A (ja
Inventor
伸夫 長坂
英和 金井
Original Assignee
株式会社Fuji
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 株式会社Fuji filed Critical 株式会社Fuji
Priority to JP2015115691A priority Critical patent/JP6596240B2/ja
Publication of JP2017005415A publication Critical patent/JP2017005415A/ja
Application granted granted Critical
Publication of JP6596240B2 publication Critical patent/JP6596240B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

本発明は、伝送するデータの変換を行う通信装置に関するものである。
例えば、通信装置のデータ処理において、ハイレベルとローレベルの2種類の電圧信号を伝送する場合に、一定のクロック周期の間にハイレベルの信号が連続すると、連続した後にローレベルに反転すると信号の反転レベルが所望のレベルまで到達しない場合がある。その結果、信号のレベルが反転のレベルに到達する前に各処理部においてデータの取り込みが行われてしまいビット値を誤って認識してしまうことによって、通信品質が低下する。そのため、従来、送受信される伝送データのDCバランスを取り、信号レベルのデューティ比を一定に保持することによって、通信品質を維持する通信システムがある(例えば、特許文献1など)。
特許文献1に開示される通信装置は、伝送データのDCバランスを保持するために符号化処理、例えば、8B/10B変換を実行している。また、この通信装置では、伝送データの誤りの検出及び訂正のための誤り訂正符号として、例えば、リード・ソロモン符号を使用している。
特開2013−255054号公報
しかしながら、上記した通信装置では、伝送データを8B/10B変換した後に、変換後のデータに対してリード・ソロモン符号による符号化を実行している。このため、符号化後のデータは、DCバランスが保持されていなかったり、受信側においてCDR(Clock Data Recovery)によるクロックの分離ができなくなるなどの問題がある。結果として、通信品質が低下する虞がある。
本発明は、上記の課題に鑑みてなされたものであり、8B/10B変換とリード・ソロモン符号による符号化との両立が図れる通信装置を提供することを目的とする。
上記課題を鑑みてなされた本願に開示される技術に係る通信装置は、送信データを8ビットごとの複数のブロックに分割するコマンド生成部と、コマンド生成部により分割した複数のブロックのうち、少なくとも2つのブロックの各々のデータに対し、1つのブロックを1シンボルとしたリード・ソロモン符号による符号化を実施する符号化部と、符号化部により符号化したデータに対し8B/10B変換を実施するデータ変換部と、を備え、コマンド生成部は、複数のブロックのうち、少なくとも1つのブロックがK符号を示しているか否かを示すフラグを、当該ブロックとは別のブロックに含まれるビットに割り当てる処理を実行し、符号化部は、少なくとも2つのブロックの各々のデータに対し、同一設定のリード・ソロモン符号による符号化処理を実施し同期を取ってデータ変換部に出力することを特徴とする。
本発明では、8B/10B変換とリード・ソロモン符号による符号化との両立が図れる通信装置を提供することが可能となる。
本発明の実施形態に係る電子部品実装装置のブロック図である。 装置本体部及び可動部の通信に係わる部分の構成を示すブロック図である。 多重通信プロトコル(装置本体部から可動部への送信)を示す図である。 多重通信プロトコル(装置本体部から可動部への送信)を示す図である。 多重通信プロトコル(可動部から装置本体部への送信)を示す図である。 多重通信プロトコル(可動部から装置本体部への送信)を示す図である。 従来の多重通信プロトコル(装置本体部から可動部への送信)のブロックBLOCKCに係わる部分を示す図である。 従来の多重通信プロトコル(可動部から装置本体部への送信)のブロックBLOCKCに係わる部分を示す図である。 K符号によるコマンド一覧表(本発明及び従来方法の比較)を示す図である。
以下、本発明の実施形態について図面を参照して説明する。初めに、本願の通信装置を適用する装置の一例として電子部品実装装置(以下、「装着装置」と略する場合がある)について説明する。図1は、装着装置10に適用される多重通信装置の構成を示す模式図である。図1に示すように、装着装置10は、当該装着装置10を設置する場所に固定的に設ける装置本体部10Aと、装置本体部10Aに対して相対的に移動する可動部10Bとを備える。本実施例の装着装置10は、図1に示す装置制御部21の制御に基づいて、装着装置10内に収容される搬送装置(図示略)にて搬送される回路基板に対して、可動部10Bの装着ヘッド(図示略)により電子部品の装着作業を実施する装置である。
装置本体部10Aは、上記した装置制御部21の他に、3つのサーボアンプ23,24,25と、固定部側多重通信部27とを有する。装置制御部21は、位置決めコントローラボード31と、画像入力ボード33とを有する。位置決めコントローラボード31は、CPU、RAM等を備えたコンピュータを主体として構成されている。位置決めコントローラボード31は、産業用ネットワーク用ケーブル41(例えば、LANケーブル)を介して、サーボアンプ23,24,25の各々と接続されている。なお、ここでいう「産業用ネットワーク」とは、例えば、MECHATROLINK(登録商標)−III、EtherCAT(登録商標)等である。また、LANケーブルの規格としては、例えば、100base−txを採用できる。位置決めコントローラボード31は、産業用ネットワーク経由で可動部10Bが有するサーボモータ55A〜55Cの位置、速度、又はトルクの指令をサーボアンプ23,24,25の各々に行い、可動部10Bの装着ヘッドの位置決め制御を行う。また、画像入力ボード33は、後述する可動部10Bが備えるカメラ53のデータ(画像データなど)の送受信を制御するボードである。
サーボアンプ23〜25の各々は、可動部10Bに設けられた複数(本実施形態では3個)のサーボモータ55A〜55Cにより多軸に制御される装着ヘッド(図示略)に対し、各駆動軸に対応したサーボモータ55A〜55CをPID制御(ベクトル制御)するアンプである。サーボアンプ23,24,25は、例えば、パワーMOSFET、FPGA(Field Programmable Gate Array)などのプログラム可能なロジックデバイス、FPGAに内蔵されるCPUなどで構成され、可動部10Bに設けられサーボモータ55A〜55Cの各々に対応するエンコーダ57A〜57Cによる位置入力、電流センサの入力、PWM出力等を行う。
サーボアンプ23〜25の各々は、エンコーダケーブル43及びDIO用ケーブル45を介して固定部側多重通信部27と接続されている。固定部側多重通信部27は、サーボアンプ23〜25と、可動部10B側のエンコーダ57A〜57Cとの間で送受信されるエンコーダ信号を多重化して通信を行う。固定部側多重通信部27は、エンコーダケーブル43を介してエンコーダ信号をサーボアンプ23〜25と送受信する。
可動部10Bは、可動部側多重通信部51と、カメラ53と、3つのサーボモータ55A〜55Cと、エンコーダ57A〜57C、センサ類59A〜59Cとを備える。可動部側多重通信部51の光トランシーバ64は、光ファイバーケーブル61を介して固定部側多重通信部27の光トランシーバ63と接続されている。光トランシーバ63,64は、例えば、SFP+規格に準拠した光トランシーバである。また、光ファイバーケーブル61は、例えば、装着装置10の動作に対して安定的な通信を確保するために、耐屈曲性を有するケーブルであることが好ましい。
固定部側多重通信部27は、装置制御部21やサーボアンプ23等から入力された各種データを、例えば、入力ポートに対して割り当てた一定時間(タイムスロット)に応じて多重化する。固定部側多重通信部27により多重化されたデータは、光トランシーバ63により光信号に変換されて光ファイバーケーブル61に送出される。可動部10B側の光トランシーバ64は、光ファイバーケーブル61を通じて受光される光信号を電気信号に変換する。光トランシーバ64により変換された電気信号は、可動部側多重通信部51により各データに分離される。同様に、可動部側多重通信部51は、カメラ53やエンコーダ57A等から入力された各種データを多重化して固定部側多重通信部27へ送信する。
カメラ53は、例えば、搬送される回路基板上のマークを撮影するマークカメラや装着ヘッドの吸着ノズルが保持する電子部品を撮影するパーツカメラである。カメラ53は、例えば、装置制御部21から受信したトリガ信号に応じて撮影を実行する。カメラ53は、例えば、LVDS(Low Voltage Differential Signaling)技術を用いたCameraLink(登録商標)規格に準拠した画像伝送規格により画像データを、カメラリンクケーブル81を介して可動部側多重通信部51に出力する。可動部側多重通信部51は、入力した画像データを他のデータと多重化し、光ファイバーケーブル61を介して固定部側多重通信部27へ向けて送信する。固定部側多重通信部27は、可動部側多重通信部51から光ファイバーケーブル61を介して転送された多重化データからカメラ53の画像データを分離し、カメラリンクケーブル47を介して画像入力ボード33へ出力する。装置制御部21は、画像入力ボード33が入力した画像データに基づいて、回路基板上のマークの認識や吸着ノズルに保持された電子部品の位置の誤差等を検出する。
サーボモータ55A〜55Cは、例えば、可動部10Bが有する装着ヘッドをX軸方向及びY軸方向に移動させるスライダの駆動源、あるいは装着ヘッドをZ軸方向に移動させる駆動源として使用されるものである。サーボモータ55A〜55Cは、例えば、U相,V相,W相の各相のコイルを有する三相交流で駆動するモータである。エンコーダ57A〜57Cは、3つのサーボモータ55A〜55Cの各々に対応して設けられ、位置情報等のエンコーダ信号を生成する。エンコーダ57A〜57Cの各々は、エンコーダケーブル83を介して可動部側多重通信部51と接続されている。サーボアンプ23,24,25は、例えば、この順に、サーボモータ55A〜55C及びエンコーダ57A〜57Cに対応している。例えば、サーボモータ55Aは、電源線(図示略)を介して各相のコイルがサーボアンプ23に接続されている。サーボアンプ23は、多重通信部27,51間の多重通信を介してエンコーダ57Aから受信したエンコーダ信号に基づいて、サーボモータ55Aに供給する駆動電圧の位相等を変更するPID制御を実施する。
センサ類59A〜59Cは、サーボモータ55A〜55Cの各々に対応する。センサ類59A〜59Cは、例えば、サーボモータ55A〜55Cの各々の回転を停止させ、回転位置を固定してロック状態とするモータブレーキの動作を制御するためのリレーであり、例えば、リミットスイッチである。センサ類59A〜59Cは、DIO用ケーブル85を介して可動部側多重通信部51と接続されている。また、サーボアンプ23〜25は、センサ類59A〜59Cの各々に対応し、DIO用ケーブル45を介して固定部側多重通信部27に接続されている。サーボアンプ23は、装置制御部21の制御に基づいて、多重通信を介してセンサ類59A〜59CにDIO信号を送信し、センサ類59A〜59Cを制御してサーボモータ55A〜55Cのオーバーランを防止する処理等を行う。
次に、固定部側多重通信部27と可動部側多重通信部51との間における多重通信について説明する。なお、以下の説明では、固定部側多重通信部27から可動部側多重通信部51に向けた多重通信を中心について説明する。可動部側多重通信部51から固定部側多重通信部27へ向けた通信は、固定部側多重通信部27から可動部側多重通信部51へ向けた通信と同様の処理がなされるため、その説明を適宜省略する。
図2に示すように、固定部側多重通信部27は、コマンド生成部101と、符号化部103と、データ変換部105とを有している。同様に、可動部側多重通信部51は、コマンド認識部151と、復号化部153と、データ変換部155とを有する。これらのコマンド生成部101、符号化部103及びデータ変換部105は、例えば、固定部側多重通信部27が有するFPGA(Field Programmable Gate Array)などのプログラム可能なロジックデバイス上で構成される論理回路として構築される。同様に、コマンド認識部151等は、可動部側多重通信部51が有するFPGA上の論理回路として構築される。
コマンド生成部101は、装置制御部21やサーボアンプ23〜25から入力されるデータを多重化して符号化部103へ出力する。コマンド生成部101は、各装置から入力されたデータを、対応する8ビットごとのブロックBLOCKA〜BLOCKDに割り当てて符号化部103へ出力する。図3及び図4は、ブロックBLOCKA〜BLOCKDの各々のデータであり、後述するデータ変換部105による8B/10B変換前のデータを示している。
図3及び図4は多重化データのビット割り当ての一例であり、固定部側多重通信部27から可動部側多重通信部51に送信されるデータの構成を示している。図5及び図6は、可動部側多重通信部51から固定部側多重通信部27に送信されるデータであり、10B/8B変換後のデータを示している。例えば、図3のクロックカウンタ0の縦の1列は、多重化されて送信される1フレームのデータの構成を示している。本実施形態では、1フレームのデータは、後述する8B/10B変換前において、各ブロックBLOCKA〜BLOCKDを8ビットとする合計32ビット(4ブロック×8ビット)で構成されている。8B/10B変換後は、各ブロックBLOCKA〜BLOCKDは、10ビットに変換される。このため、光ファイバーケーブル61で伝送されるデータは、1フレームあたり40ビットで構成されている。光トランシーバ63,64間の通信は、例えば、1フレーム当りの周期が8nsec(周波数が125MHz)に設定され、5Gbps(40ビット×125MHz)の通信回線を構築する。
図3及び4は、40ビットのフレームデータを送信する1クロック(周波数が125MHz、1クロック当たり8nsec)ごとの各ビットに設定されるデータ(8B/10B変換前)を示している。フレームデータは、10クロック(clockカウンタ0〜9)を1サイクル(1周期)として、1クロックごとの各ビット位置にデータが設定される。図3及び図4に示す例では、図4に示す9クロック目のデータ送信が終了すると、図3の0クロック目のデータから再度送信が行われる。
図3及び図4に示すように、40ビットのフレームデータのうち、先頭ビットから2つのブロックBLOCKA,BLOCKDBには、可動部側多重通信部51のコマンド認識部151などが構築されるFPGAのバーションをアップするためのアップデータ等が設定される。また、ブロックBLOCKA,BLOCKBは、8B/10B変換において使用されるK符号に対応する制御コマンドが設定される。コマンド生成部101は、通信確立時などK符号による制御が必要な場合には、ブロックBLOCKA,BLOCKBにK符号を設定する。
ブロックBLOCKBの次のブロックBLOCKCには、図3及び図4に示すように、先頭ビットのビットBIT0からビットBIT3までの4ビットに、CameraLink(登録商標)規格に準拠した制御信号CC1〜CC4が設定される。例えば、装置制御部21は、制御信号CC1を使用して、カメラ53に対し撮像を指示する。また、装置制御部21は、例えば、複数のカメラ53を可動部10Bに設けた場合には、制御信号CC2〜CC4を使用して画像データを出力するカメラ53を切り替える制御を実行する。なお、制御信号CC1〜CC4は、光ファイバーケーブル61による多重通信の通信速度に比べて要求される通信速度が低速である。このため、コマンド生成部101は、例えば、2回に1回の送信において、制御信号CC1〜CC4に係わるデータを削除して(間引きして)他のデータの送信等に利用することで、伝送効率の向上を図ってもよい。
ブロックBLOCKCのビットBIT4には、後述するブロックBLOCKAに対するリード・ソロモン符号による符号化において、訂正能力を超えるバースト誤り等が発生したか否かを検出するためのパリティビットが設定されている。具体的には、例えば、リード・ソロモン符号による符号化の設定において、連続して2つのブロックBLOCKAの連続誤りを訂正可能な設定とする。この場合に、多重通信で3ブロック以上の連続誤りが発生すると受信側(可動部10B)では、データを訂正できない。そこで、ブロックBLOCKCのビットBIT4には、例えば、ブロックBLOCKAの8ビットに対応する偶数パリティを設定しておき、受信側で3ブロック以上の連続誤りを検出した場合に、異常停止や後述する画素データの補正などを実行する。また、ブロックBLOCKCのビットBIT5には、ビットBIT4と同様に、ブロックBLOCKBに対応するパリティビットが設定されている。
ブロックBLOCKCのビットBIT6には、ビットBIT0〜BIT3の制御信号CC1〜CC4のデータが設定されているか否かを示すビット値が設定される。また、ブロックBLOCKCのビットBIT7には、上記したブロックBLOCKA,BLOCKBにK符号を設定するか否かを示すビット値(ブロックK符号フラグ)が設定される。本実施形態では、K符号が設定されているか否かを示すビットBIT7は、ブロックBLOCKA及びブロックBLOCKBの両方に対応しており、兼用する構成となっている。このため、ビットBIT7に例えば、1ビットが設定された場合には、ブロックBLOCKA及びブロックBLOCKBの両方にK符号が設定されたことを示している。
次のブロックBLOCKDには、上記したブロックBLOCKA〜BLOCKCに設定したデータに比べて低遅延の通信が要求されるデータが設定されている。具体的には、ブロックBLOCKDのビットBIT0〜BIT2には、サーボアンプ23〜25からエンコーダ57A〜57Cに向けたエンコーダ信号が設定されている。ビットBIT0〜BIT2は、1サイクル(10クロック)のうち、4クロック(図示例ではclockカウンタ0〜3)がエンコーダ信号及びエンコーダ信号のデータの有無を示す情報(図中の「E1有無」等)が設定されている。データの有無を示す情報は、例えば、多重通信の40ビットのフレームデータのデータ転送レートに対して低速なエンコーダ信号が、ビットBIT0〜BIT2に設定されているか否かを示すための情報である。エンコーダ信号及びデータの有無を示す情報は、各サイクルで交互に設定されている。また、clockカウンタ4のビットBIT0〜BIT2には、エンコーダケーブル43等の断線を示すビット値が設定されている。clockカウンタ5のビットBIT0〜BIT2には、エンコーダ信号のCRC異常を示すビット値が設定されている。
また、ブロックBLOCKDのビットBIT3〜BIT5には、センサ類59A〜59Cを制御するDIO信号が設定されている。clockカウンタ0〜3のビットBIT3〜BIT5には、DIO信号の内容を示すビット値が設定されている。clockカウンタ4のビットBIT3〜BIT5には、DIO信号のパリティビットが設定されている。
また、ブロックBLOCKDのビットBIT6,BIT7には、UART(Universal Asynchronous Receiver Transmitter)通信による制御信号が設定される。この制御信号は、例えば、装置制御部21がカメラ53のゲインを調整するのに使用される。
次に、図5及び図6を参照して、可動部側多重通信部51から固定部側多重通信部27へ送信するデータの構成について説明するが、主に上記した図3及び図4と異なる点を説明する。図5及び図6に示すように、可動部側多重通信部51から固定部側多重通信部27へ送信するデータでは、ブロックBLOCKA,BLOCKBには、カメラ53で撮像した画素データ(画素1,画素2)が設定されている。
また、ブロックBLOCKCのビットBIT0〜BIT3には、1画素を10ビットとした場合の画素データが設定される。本実施形態の装置制御部21は、カメラ53を制御して画素値を8ビット又は10ビットに切り替え可能に構成されている。このため、コマンド生成部101は、装置制御部21によって画素値が10ビットに変更されると、ブロックBLOCKCのビットBIT0〜BIT3を、画素データ(画素1、画素2それぞれの2ビット分)の伝送に使用する。例えば、ブロックBLOCKCのビットBIT0,BIT1は、1画素を10ビットとした場合、ブロックBLOCKAの8ビットの画素データに対応する残りの2ビット分の画素データが設定される。ブロックBLOCKCのビットBIT4,BIT5には、画素1(ブロックBLOCKA)及び画素2(ブロックBLOCKB)の各々に対応するパリティビットが設定されている。ブロックBLOCKCのビットBIT6には、ブロックBLOCKA及びブロックBLOCKBに設定されるK符号に対応したパリティビットが設定されている。
図2に戻り、コマンド生成部101は、図3及び図4に示すデータ形式で各ビットにデータを割り当てた各ブロックBLOCKA〜BLOCKDを、符号化部103に出力する。符号化部103は、ブロックBLOCKA〜BLOCKCの各々に対応するRS符号化部111〜113と、ブロックBLOCKDに対応するハミング符号化部114とを有する。また、データ変換部105は、ブロックBLOCKA〜BLOCKDの各々に対応する8B10B符号化部121〜124を有する。
RS符号化部111は、コマンド生成部101から入力される8ビットのブロックBLOCKAを1シンボルとしてリード・ソロモン符号による符号化を行う。RS符号化部111は、訂正用のシンボルを含めた符号化後のデータを、8ビットずつデータ変換部105の8B10B符号化部121へ出力する。8B10B符号化部121は、RS符号化部111から入力される符号化後の8ビットのデータに対して8B/10B変換を実行する。8B/10B変換によって、ブロックBLOCKAに対応するデータは10ビットのDCバランスの取れたデータに変換される。
同様に、コマンド生成部101から出力されたブロックBLOCKBに対応するデータは、符号化部103のRS符号化部112によってリード・ソロモン符号により符号化され、8B10B符号化部122によって8B/10B変換される。
同様に、コマンド生成部101から出力されたブロックBLOCKCに対応するデータは、符号化部103のRS符号化部113によってリード・ソロモン符号により符号化され、8B10B符号化部123によって8B/10B変換される。また、コマンド生成部101は、ブロックBLOCKA及びブロックBLOCKBのデータとしてK符号を設定する場合には、設定した旨を示すK符号フラグKA(ブロックBLOCKB兼用)を、ブロックBLOCKCのビットBIT7(図3及び図4参照)に設定する。なお、RS符号化部111〜113を、例えば論理検証がなされたIPコアにより構成し製造コストの低減を図ってもよい。
RS符号化部111〜113は、リード・ソロモン符号による符号化における条件(1シンボルを何ビットにするか、誤り検出可能なビット数はどれだけか、短縮化するシンボル数はどれだけかなど)が同一設定となっている。このため、RS符号化部111〜113は、8ビットのブロックBLOCKA〜BLOCKCの各々に対して同様の符号化処理を実現でき、互いに同期を取りながらデータ変換部105へ出力することが可能となる。コマンド生成部101から同期を取って出力されたブロックBLOCKA〜BLOCKCのデータは、同一のフレームデータ内に多重化され、可動部側多重通信部51で受信されることとなる。
ブロックBLOCKDのデータは、上記したように低遅延の通信が要求されるため、符号化及び復号化の処理遅延の少ないハミング符号によって符号化を行う。符号化部103のハミング符号化部114は、コマンド生成部101から入力されるブロックBLOCKDに対応するデータに対し、例えば、ハミング符号の前方誤り訂正符号FEC(15,11)を付与する。これにより、確実性を確保しつつ、高速な誤りの確認処理を行なうことができる。図4に示すように、本実施形態のブロックBLOCKDには、clockカウンタ6〜9のビットに、短縮化符号の訂正符号FEC(15,11)が設定されている。
ハミング符号化部114は、符号化後のデータを、データ変換部105の8B10B符号化部124へ出力する。8B10B符号化部124は、ハミング符号化部114から入力される符号化後の8ビットのデータに対して8B/10B変換を実行する。
データ変換部105は、8B/10B変換後のブロックBLOCKA〜BLOCKDに対応する40ビットのデータを、光トランシーバ63を介して可動部側多重通信部51へ送信する。
可動部側多重通信部51のデータ変換部155は、ブロックBLOCKA〜BLOCKDの各々の順番に対応して8B/10B復号化部161,162,163,164を有する。8B/10B復号化部161〜164の各々は、各ブロックBLOCKA〜BLOCKDのデータを8ビットに変換して復号化部153へ出力する。
復号化部153は、送信側のRS符号化部111〜113に対応してRS復号化部171,172,173を有する。RS復号化部171〜173は、8B/10B復号化部161〜163によって8ビットに変換されたデータに対し、リード・ソロモン符号による復号化を実行し、必要であれば誤り訂正を実行する。RS復号化部171〜173は、復号化後の各ブロックBLOCKA〜BLOCKCのデータをコマンド認識部151へ出力する。
また、復号化部153は、送信側のハミング符号化部114に対応してハミング復号化部174を有する。ハミング復号化部174は、8B/10B復号化部164によって8ビットに変換されたデータに対し、ハミング符号による復号化を実行し、必要であれば誤り訂正を実行する。ハミング復号化部174は、復号化後の各ブロックBLOCKDのデータをコマンド認識部151へ出力する。
コマンド認識部151は、復号化部153から入力された多重化されたデータを分離し、対応する各装置(カメラ53など)に出力する。また、コマンド認識部151は、復号化部153から入力されるデータに基づいて、ブロックBLOCKAにK符号が設定されているか否か、受信したデータに誤りがあったか否か等を判定することが可能となる。また、コマンド認識部151は、例えば、後述するK符号の番号に対応する制御コマンドを実行する。
以上、詳細に説明した実施形態によれば以下の効果を奏する。
<効果1>コマンド生成部101は、サーボアンプ23等から入力された各種データを多重化し、8ビットごとの4つのブロックBLOCKA〜BLOCKDに分割して符号化部103に出力する。符号化部103は、分割された4つのブロックBLOCKA〜BLOCKDのうち、3つのブロックBLOCKA〜BLOCKCに対して、8ビットを1シンボルとしたリード・ソロモン符号による符号化を実行する。データ変換部105は、符号化されたブロックBLOCKA〜BLOCKCのデータに対して、8B/10B変換を実行する。また、コマンド生成部101は、ブロックBLOCKA及びブロックBLOCKBにK符号を設定したか否かを示す「ブロックK符号フラグ」を、当該ブロックBLOCKA,BLOCKBとは別のブロックBLOCKCにビット割り当てする(図3参照)。そして、符号化部103が有するRS符号化部111〜113は、3つのブロックBLOCKA〜BLOCKCに対して、同一設定のリード・ソロモン符号による符号化処理を実行し、同期を取って符号化後のデータをデータ変換部105に出力する。
このような構成では、リード・ソロモン符号による符号化の後に8B/10B変換を実行するため、多重通信におけるDCバランスの確保及びCDRによるクロックの分離が可能となる。また、リード・ソロモン符号による誤り訂正や8B/10B変換による高速シリアル通信が可能となるため、例えば、CameraLink(登録商標)規格のような再送制御を実行しないリアルタイム性の高い通信規格を、画像データを伝送する通信規格として採用することも可能となる。
ここで、従来方法による多重通信プロトコルについて説明する。図7及び図8は、従来方法による多重通信プロトコルを示している。なお、以下の説明では、上記実施形態と同様の構成については同一符号を付し、その説明を適宜省略する。また、図8に示す可動部10Bから装置本体部10Aへの多重通信プロトコルは、図7に示す装置本体部10Aから可動部10Bへの多重通信プロトコルと同様の構成となっているため、その説明を適宜省略する。
図7及び図8に示す従来方法では、上記実施形態の図3〜図6と比較してブロックBLOCKCのデータ形式のみが異なるため、ブロックBLOCKCのみを示している。従来方法では、例えば、図7に示す装置本体部10Aから可動部10Bへの通信では、ブロックBLOCKA,BLOCKBにK符号を設定して使用せず、ブロックBLOCKCの8ビットのうち、ビットBIT0〜BIT4の5ビットを制御コマンドの送信に使用している。
図7に示す従来方法のブロックBLOCKCのうち、ビットBIT0〜BIT3には、制御コマンドの番号が設定されている。また、ビットBIT4には、その制御コマンドが異常を示すコマンドであるか否かを示すビット値(異常発生フラグ)が設定されている。この場合、例えば、制御コマンドの番号を示す4ビット(16種類)と、異常を示す1ビットを組み合わせて、最大で32種類(=16×2)の制御コマンドを設定することが可能となる。同様に、図8に示す従来方法の多重通信プロトコルでは、ブロックBLOCKCのうち、ビットBIT0〜BIT3には、制御コマンドの番号が設定されている。
これに対し、図3〜図6に示す本実施形態の多重通信プロトコルでは、ブロックBLOCKCにK符号か否かの1ビット(ブロックK符号フラグ)を設定することで、ブロックBLOCKAのK符号(12種類)と、ブロックBLOCKBのK符号(12種類)とを組み合わせて、最大で144種類(=12×12)の制御コマンドを設定することが可能となる。
また、制御コマンドのためだけに使用するビット数を比較すると、従来方法では、ブロックBLOCKC内の5ビットが必要である。一方、図3〜図6に示す本実施形態の多重通信プロトコルでは、ブロックBLOCKA,BLOCKBは、他のデータ通信(画素データ等)と兼用して使用するため、実質的にはブロックBLOCKCの1ビット(ブロックK符号フラグ)のみが必要となる。このため、単純に比較すると、差分の4ビットを他の通信に使用することが可能となる。つまり、本願の多重通信プロトコルでは、伝送効率の向上を図ることが可能となる。
例えば、本実施形態では、従来方法で制御コマンドの番号として使用していたブロックBLOCKCの4ビット(ビットBIT0〜BIT3)に、1画素の画素値を10ビットとした場合の画素データが設定されている(図5参照)。このため、本実施形態の多重通信では、伝送効率を向上させて、1画素が10ビットの画素データを伝送することが可能となる。従来方法では16ビット(ブロックBLOCKA,BLOCKB)のみで画素データを伝送していた。これに対し、本実施形態では、従来と同じ1クロック(8nsec)の多重化データの伝送において、ブロックBLOCKA,BLOCKBの16ビットにブロックBLOCKCの4ビットを追加した20ビットの画素データの伝送が可能となる。このため、1.25倍(20÷16)の伝送効率の改善を図ることが可能となっている。
図9は、K符号を用いて設定した制御コマンドの一覧(本発明及び従来方法の比較)を示している。例えば、従来方法では、図9の最も左側の2列で示すコマンド番号1〜9(異常番号が「0」)と、異常番号0〜15を表現することが可能となる。図9の最も左側の2列で示すコマンド番号1〜9(異常番号が「0」)の制御コマンドは、図7に示すブロックBLOCKCのビットBIT4に設定される異常発生フラグを「0」とし、ビットBIT0〜BIT3の各ビット値でコマンド番号を表した場合に対応している。また、図9に示す異常番号0〜15は、図7に示すビットBIT4の異常発生フラグを「1」とし、ビットBIT0〜ビットBIT3の各ビット値でコマンド番号(異常番号)を表した場合に対応している。なお、図9の最も左側のコマンド番号が「0」の制御コマンドは、通信確立時に必要なコマンドであり、従来の方法では使用していなかったコマンドである。
一方、本願の多重通信プロトコルでは、図9の右から2列目の「K符号番号」で示すように、ブロックBLOCKA及びブロックBLOCKBの各々に設定したK符号の番号を組み合わせることによって、従来方法で設定した制御コマンドの全てをサポートするだけでなく、それ以上の数の制御コマンドを設定することが可能となっている。
<効果2>さらに、本実施形態の多重通信では、多重通信の確立前と確立後において、K符号の番号を、異なる内容の制御コマンドに設定することが可能となる。例えば、コマンド生成部101は、K符号を用いて可動部10B側のコマンド認識部151と多重通信の通信確立を実施する。そして、コマンド生成部101は、例えば、通信確立を検出した場合、通信確立時に使用していたK符号の番号を、通信確立後に送信する画像データ等の通信を制御する制御コマンドの番号として使用する。図9の左から5列目の「動作モード」の列には、通信確立前に使用するものか、確立後(図中では「運転モード」)に使用するものかが示されている。
光トランシーバ63,64は、例えば、1フレームが40ビットの高速通信を実施するが、通信を確立する際には40ビットの先頭ビットを検出する必要がある。このため、多重通信部27,51は、K符号を通信確立時のビットアライメントとして使用する。図9の左から3列目の本発明のNO0〜8は、通信確立等に使用する制御コマンドに対応している。右から2列目のK符号番号に示すように、これらの通信確立等に使用する制御コマンドは、ブロックBLOCKA,BLOCKBの各々に設定したK符号の番号の組み合わせによって設定されている。
一方、図9の左から3列目の本発明のNO9〜33は、通信確率後に使用する各種の制御コマンドに対応している。例えば、NO12は、1画素の画素値を8ビットに切り替える制御コマンドである。また、例えば、NO3の通信確立(確立OK)は、通信確立の確認や応答に使用する制御コマンドであり、一度、通信確立を検出すると、使用する必要がなくなる制御コマンドである。このため、このような通信確立時にのみ必要な制御コマンドに設定していたK符号の番号(例えば、「5」と「0」の組み合わせ)を、通信確立後に必要となる制御コマンド(例えば、画素値を8BITモードへ切り替えの制御コマンド)に割り当てて使用することも可能である。これにより、通信の確立の前後において、より多くの制御コマンドを使用することが可能となる。
<効果3>上記したように本実施形態のコマンド生成部101は、ブロックBLOCKA,BLOCKBの各々に割り当てたK符号の番号を組み合わせることで、従来方法に比べて極めて多くの制御コマンドを使用することが可能となっている(図9の右から2列目の「K符号番号」参照)。
<効果4>コマンド生成部101は、ブロックBLOCKA,BLOCKBに対するリード・ソロモン符号による符号化において、訂正能力を超えるバースト誤りが発生したか否かを検出するためのパリティビットを、別のブロックBLOCKCのビットBIT4,BIT5に設定している(図3参照)。これにより、受信側のコマンド認識部151は、例えば、設計段階において予め設定したリード・ソロモン符号による訂正能力を超えて連続した誤りを検出した場合に、異常停止等を実施することが可能となる。
<効果5>また、上記実施形態のコマンド認識部151は、ブロックBLOCKCのビットBIT4,BIT5のパリティビットに基づいて誤りを検出した場合に、画素データの補正処理を実行することが可能となる。例えば、コマンド認識部151は、パリティビットに基づいて複数の画素データの誤りを検出した場合に、画像データの水平ラインにおいて、誤りを検出した画素に対して左右方向で隣り合う2つの画素の画素値の平均値を、誤りを検出した画素の画素値として補正する。これにより、受信側で適宜補正を実行することで、CameraLink(登録商標)規格のような再送制御をしないリアルタイム性の高い通信規格を、画像データを伝送する通信規格として採用することも可能となる。
<効果6>本実施形態の符号化部103は、3つのブロックBLOCKA〜BLOCKCに対してはリード・ソロモン符号による符号化を実行し、残りのブロックBLOCKDに対しはハミング符号による符号化を実行している。本実施形態の電子部品実装装置10のように産業用に使用される装置では、固定部と可動部との間で伝送するデータの中に、例えば、画素データのように伝送の遅延がある程度許容されるものと、エンコーダ信号のように低遅延が要求されるものとが混在する。これに対し、本実施形態の装着装置10では、許容される遅延に応じて使用する誤り訂正符号を使い分けている。例えば、リード・ソロモン符号を画素データに使用し、復号化等における処理遅延の少ないハミング符号をエンコーダ信号に使用することで、データの種類に応じて適切な多重通信を実施することが可能となっている。
尚、本発明は上記実施形態に限定されるものでなく、その趣旨を逸脱しない範囲で様々な変更が可能である。
例えば、上記実施形態では、本願における通信装置として多重通信の通信装置を採用したが、本願は多重通信の通信装置に限らない。例えば、本願における通信装置として、上記したブロックBLOCKA〜BLOCKDの各データを、それぞれの通信ケーブルで伝送する通信装置を採用してもよい。
また、GbELANケーブル10Cは、例えば、光ファイバーケーブルやUSB(Universal Serial Bus)3.0の通信規格に準拠したUSBケーブルでもよい。また、多重通信部27と、可動部側多重通信部51とは、有線に限らず、無線通信を行ってもよい。
また、上記実施形態では本願における通信装置を備える装置として装着装置10を例について説明したが、本願はこれに限定されるものではなく、例えば、作業用ロボットや回路基板に半田を印刷するスクリーン印刷装置などの他の装置に適用することができる。
10 電子部品実装装置、101 コマンド生成部、103 符号化部、105 データ変換部、151 コマンド認識部、BLOCKA〜BLOCKD ブロック。

Claims (6)

  1. 送信データを8ビットごとの複数のブロックに分割するコマンド生成部と、
    前記コマンド生成部により分割した複数のブロックのうち、少なくとも2つのブロックの各々のデータに対し、1つのブロックを1シンボルとしたリード・ソロモン符号による符号化を実施する符号化部と、
    前記符号化部により符号化したデータに対し8B/10B変換を実施するデータ変換部と、を備え、
    前記コマンド生成部は、前記複数のブロックのうち、少なくとも1つのブロックがK符号を示しているか否かを示すフラグを、当該ブロックとは別のブロックに含まれるビットに割り当てる処理を実行し、
    前記符号化部は、前記少なくとも2つのブロックの各々のデータに対し、同一設定のリード・ソロモン符号による符号化処理を実施し同期を取って前記データ変換部に出力することを特徴とする通信装置。
  2. 前記コマンド生成部は、前記K符号を用いて受信側と通信確立を実施し、受信側との通信確立を検出した場合、前記K符号を、通信確立後に送信する前記送信データに係る制御における制御コマンドに割り当てることを特徴とする請求項1に記載の通信装置。
  3. 前記コマンド生成部は、前記複数のブロックの各々に割り当てた前記K符号を組み合わせたデータを、1つの前記制御コマンドに割り当てて処理することを特徴とする請求項2に記載の通信装置。
  4. 前記コマンド生成部は、前記リード・ソロモン符号による符号化を実施するブロックの誤りを検出するためのパリティビットを、当該リード・ソロモン符号による符号化を実施するブロックとは別のブロックに含まれるビットに割り当てる処理を実行することを特徴とする請求項1乃至請求項3のいずれかに記載の通信装置。
  5. 前記送信データを受信するコマンド認識部を備え、
    前記コマンド認識部は、前記パリティビットに基づいて誤りを検出し、且つ誤りを検出した前記送信データが画素データである場合に、周辺画素の画素データに基づいて誤りを検出した画素データを補正することを特徴とする請求項4に記載の通信装置。
  6. 前記符号化部は、前記コマンド生成部により分割した8ビットのブロックのうち、少なくとも1つのブロックに対し、ハミング符号による符号化を行い、
    前記リード・ソロモン符号により符号化したブロックと、前記ハミング符号により符号化したブロックとを多重化して1つの伝送路で送信する多重化部を備えることを特徴とする請求項1乃至請求項5のいずれかに記載の通信装置。
JP2015115691A 2015-06-08 2015-06-08 通信装置 Active JP6596240B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015115691A JP6596240B2 (ja) 2015-06-08 2015-06-08 通信装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015115691A JP6596240B2 (ja) 2015-06-08 2015-06-08 通信装置

Publications (2)

Publication Number Publication Date
JP2017005415A JP2017005415A (ja) 2017-01-05
JP6596240B2 true JP6596240B2 (ja) 2019-10-23

Family

ID=57752926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015115691A Active JP6596240B2 (ja) 2015-06-08 2015-06-08 通信装置

Country Status (1)

Country Link
JP (1) JP6596240B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024052959A1 (ja) * 2022-09-05 2024-03-14 株式会社Fuji 画像符号化装置および画像処理システム並びに部品実装機

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2715900B2 (ja) * 1994-03-30 1998-02-18 日本電気株式会社 並列データ伝送装置
JP3747839B2 (ja) * 2001-11-21 2006-02-22 日本電気株式会社 符号変換システム及びその変換方法並びに変換プログラム
JP2010288014A (ja) * 2009-06-10 2010-12-24 Kyocera Mita Corp 画像転送装置、画像読取装置、及び画像形成装置
WO2014136178A1 (ja) * 2013-03-04 2014-09-12 富士機械製造株式会社 データベース、データベースの構築方法、通信装置及び電子部品装着装置
EP3057254B1 (en) * 2013-10-11 2020-03-25 FUJI Corporation Multiplexing communication system and substrate processing machine
JP6199985B2 (ja) * 2013-10-31 2017-09-20 富士機械製造株式会社 電子部品装着装置用延長装置及び電子部品装着装置

Also Published As

Publication number Publication date
JP2017005415A (ja) 2017-01-05

Similar Documents

Publication Publication Date Title
JP6319749B2 (ja) 対基板作業機
JP6169715B2 (ja) 多重化通信システム及び作業用ロボット
JP2013251899A (ja) 2つの主加入者機器と、少なくとも1つの副加入者機器とを有するフィールドバスネットワーク
JP6466732B2 (ja) 多重化通信装置
US10348833B2 (en) Multiplex communication system and work machine
JP6596240B2 (ja) 通信装置
US8910008B2 (en) Transmitting/receiving system, method, and computer readable medium
US20160309983A1 (en) Endoscope system
JP2013143747A (ja) 画像転送装置及びプログラム
WO2018150544A1 (ja) 多重通信システム及び作業用ロボット
CN107078855B (zh) 分组数据发送装置以及分组数据发送方法
JP6596239B2 (ja) 多重化通信装置
JP6199985B2 (ja) 電子部品装着装置用延長装置及び電子部品装着装置
JP2017120960A (ja) 通信経路異常監視装置
US20140289571A1 (en) Synchronous serial interface circuit and motion control function module
JP2017169080A (ja) 多重化通信システム及び作業機
US10616012B2 (en) Transmitting device, receiving device, and communication system
JP6267709B2 (ja) 実装機用多重化通信システム及び実装機
JP6095768B2 (ja) データベース、データベースの構築方法、通信装置及び電子部品装着装置
JP2015001960A (ja) 情報伝送システム
JP2007116734A (ja) 信号伝送方法及び信号伝送装置
KR20160118668A (ko) 송수신 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190312

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: 20190910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190930

R150 Certificate of patent or registration of utility model

Ref document number: 6596240

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250