JP4725541B2 - データ転送制御装置及び電子機器 - Google Patents

データ転送制御装置及び電子機器 Download PDF

Info

Publication number
JP4725541B2
JP4725541B2 JP2007069414A JP2007069414A JP4725541B2 JP 4725541 B2 JP4725541 B2 JP 4725541B2 JP 2007069414 A JP2007069414 A JP 2007069414A JP 2007069414 A JP2007069414 A JP 2007069414A JP 4725541 B2 JP4725541 B2 JP 4725541B2
Authority
JP
Japan
Prior art keywords
data
packet
bit
bits
control 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.)
Expired - Fee Related
Application number
JP2007069414A
Other languages
English (en)
Other versions
JP2007179572A (ja
Inventor
裕康 本田
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007069414A priority Critical patent/JP4725541B2/ja
Publication of JP2007179572A publication Critical patent/JP2007179572A/ja
Application granted granted Critical
Publication of JP4725541B2 publication Critical patent/JP4725541B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Transfer Systems (AREA)

Description

本発明は、データ転送制御装置及び電子機器に関する。
近年、EMIノイズの低減などを目的としたインターフェースとしてLVDS(Low Voltage Differential Signaling)などの高速シリアル転送のインターフェースが脚光を浴びている。この高速シリアル転送では、トランスミッタ回路がシリアル化されたデータを差動信号(Differential Signals)により送信し、レシーバ回路が差動信号を差動増幅することでデータ転送を実現する。
一般的な携帯電話は、電話番号入力や文字入力のためのボタンが設けられる第1の機器部分と、メインLCD(Liquid Crystal Display)やサブLCDやカメラ(CCD)が設けられる第2の機器部分と、第1、第2の機器部分を接続するヒンジなどの接続部分により構成される。従って、第1の機器部分に設けられる第1の基板と、第2の機器部分に設けられる第2の基板との間のデータ転送を、差動信号を用いたシリアル転送により行えば、接続部分を通る配線の本数を減らすことができ、好都合である。
ところで、CCDやCMOSなどのカメラ(撮像デバイス)から出力されるカメラデータには、種々のフォーマットがある。具体的にはYUV422、YUV420、RGB888、RGB565、RGB444、RAW6、RAW7、RAW8、RAW10、RAW12、JPEG8などのフォーマットがある。ここでYUV422及びYUV420は8ビットのデータ(1つのデータ単位が8ビットのデータ)として入力され、RGB888は24ビット、RGB565は16ビット、RGB444は12ビットのデータとして入力される。またRAW6、RAW7、RAW8、RAW10、RAW12は、各々、6、7、8、10、12ビットのデータとして入力され、JPEG8は8ビットのデータとして入力される。従って、カメラデータをパケット化して、カメラが設けられている第2の機器部分から、ホストデバイスが設けられている第1の機器部分へとシリアル転送する場合には、これらの多様なフォーマットをサポートできることが望ましい。
ところが、このような多様なフォーマットのカメラデータをパケット化する場合に、冗長データのビット数が多くなってしまうと、シリアルバスでのデータ転送量が大きくなってしまう。一方、冗長データのビット数を0にして上述の多様なフォーマットに対応しようとすると、回路規模の増大化などの問題を招く。
特開2001−222249号公報
本発明は、以上のような技術的課題に鑑みてなされたものであり、その目的とするところは、回路の大規模化を抑えながらも多様なフォーマットのデータの効率的なシリアル転送を実現できるデータ転送制御装置及びこれを含む電子機器を提供することにある。
本発明は、データ転送を制御するデータ転送制御装置であって、1つのデータ単位がKビット(Kは2以上の整数)となるデータがインターフェースバスを介して入力されるインターフェース回路と、シリアルバスを介して送信するパケットの生成を行うリンクコントローラとを含み、前記リンクコントローラは、Kビットの前記データに対してLビット(Lは0以上の整数)のダミーデータを付加することで得られる(K+L)ビットのデータが、M個(Mは1以上の整数)ずつ集まった(N×I)バイト(N、Iは1以上の整数)のパック化データを生成するデータフォーマッタと、前記シリアルバスを介して送信するパケットとして、前記パック化データがデータフィールドに挿入されるパケットを生成するパケット生成回路とを含み、前記データフォーマッタは、前記Kに応じて前記L及びMが可変に設定される前記パック化データを生成するデータ転送制御装置に関係する。
本発明によれば、Kビットのデータに対してLビットのダミーデータを付加することで得られる(K+L)ビットのデータが、M個ずつ集まった(N×I)バイトのデータであって、Kに応じてL及びMが可変に設定されるパック化データが生成される。そしてこのパック化データが、シリアルバスを介して送信されるパケットのデータフィールドに挿入(設定)される。このようにKに応じてパック化データのLを可変に設定することで、シリアルバスでのデータ転送量を低減することが可能になる。またKに応じてパック化データのMを可変に設定することで、回路の大規模化を抑えることが可能になる。従って本発明によれば、回路規模を抑えながらも、多様なフォーマットのデータの効率的なシリアル転送を実現できるようになる。
また本発明では、前記データフォーマッタは、K=6、I=1である場合にはL=0、M=4、N=3となり、或いはK=7、I=1である場合にはL=1、M=2、N=2となり、或いはK=8、I=1である場合にはL=0、M=2、N=2となり、或いはK=10、I=1である場合にはL=2、M=2、N=3となり、或いはK=12、I=1である場合にはL=0、M=2、N=3となり、或いはK=16、I=1である場合にはL=0、M=1、N=2となり、或いはK=24、I=1である場合にはL=0、M=1、N=3となるパック化データを生成するようにしてもよい。なおこれら以外のフォーマットを採用してもよい。
また本発明では、前記データフォーマッタは、K=6、I=2である場合にはL=0、M=8、N=3となり、或いはK=7、I=2である場合にはL=1、M=4、N=2となり、或いはK=8、I=2である場合にはL=0、M=4、N=2となり、或いはK=10、I=2である場合にはL=1、M=3、N=2となり、或いはK=12、I=2である場合にはL=0、M=4、N=3となり、或いはK=16、I=2である場合にはL=0、M=2、N=2となり、或いはK=24、I=2である場合にはL=0、M=2、N=3となるパック化データを生成するようにしてもよい。なおこれら以外のフォーマットを採用してもよい。
また本発明では、N×8×I=(K+L)×Mであってもよい。但し、例外的にN×8×I=(K+L)×Mとならない場合があってもよい。
また本発明では、前記パケット生成回路は、前記シリアルバスを介して送信するパケットのヘッダに、前記M、Nを設定するための設定情報を挿入するようにしてもよい。
このようにすれば、パケットの受信側が行うパック化データのフォーマット変換を容易化できる。
また本発明では、前記M、Nを設定するための設定情報を記憶する内部レジスタを含み、前記データフォーマッタは、前記設定情報に基づいて、前記ダミーデータを挿入するようにしてもよい。
このようにすれば、ダミーデータの挿入処理を簡素化できる。なお、データフォーマッタは、ビットカウンタでのカウント値やバイトカウンタでのカウント値に基づいて、ダミーデータの挿入位置等を判断できる。
また本発明は、上記のいずれかに記載のデータ転送制御装置と、前記インターフェースバスを介して前記データ転送制御装置に接続される1又は複数のデバイスとを含む電子機器に関係する。
また本発明は、データ転送を制御するデータ転送制御装置であって、システムバスを介して接続されるホストデバイスとの間でのインターフェース処理を行うインターフェース回路と、シリアルバスを介して受信したパケットの解析を行い、1つのデータ単位がKビット(Kは2以上の整数)となるデータを前記インターフェース回路に出力するリンクコントローラとを含み、前記シリアルバスを介して受信したパケットのデータフィールドには、Kビットの前記データに対してLビット(Lは0以上の整数)のダミーデータを付加することで得られる(K+L)ビットのデータが、M個(Mは1以上の整数)ずつ集まった(N×I)バイト(N、Iは1以上の整数)のデータであって、前記Kに応じて前記L及びMが可変に設定されるパック化データが挿入され、前記リンクコントローラは、前記パック化データからKビットの前記データを抽出して前記インターフェース回路に出力するデータフォーマッタを含むデータ転送制御装置に関係する。
本発明によれば、Kビットのデータに対してLビットのダミーデータを付加することで得られる(K+L)ビットのデータが、M個ずつ集まった(N×I)バイトのデータであって、Kに応じてL及びMが可変に設定されるパック化データが、シリアルバスを介して受信したパケットのデータフィールドに挿入される。そしてデータフォーマッタは、パケットのデータフィールドに挿入されたこのパック化データから、Kビットのデータを抽出してインターフェース回路に出力する。このようにKに応じてパック化データのLが可変に設定されることで、シリアルバスでのデータ転送量を低減することが可能になる。またKに応じてパック化データのMが可変に設定されることで、回路の大規模化を抑えることが可能になる。従って本発明によれば、回路規模を抑えながらも、多様なフォーマットのデータの効率的なシリアル転送を実現できるようになる。
また本発明では、パケットに挿入される前記パック化データは、K=6、 I=1である場合にはL=0、M=4、N=3となり、或いはK=7、 I=1である場合にはL=1、M=2、N=2となり、或いはK=8、 I=1である場合にはL=0、M=2、N=2となり、或いはK=10、I=1である場合にはL=2、M=2、N=3となり、或いはK=12、I=1である場合にはL=0、M=2、N=3となり、或いはK=16、I=1である場合にはL=0、M=1、N=2となり、或いはK=24、I=1である場合にはL=0、M=1、N=3となるデータであってもよい。なおこれら以外のフォーマットを採用してもよい。
また本発明では、パケットに挿入される前記パック化データは、K=6、 I=2である場合にはL=0、M=8、N=3となり、或いはK=7、 I=2である場合にはL=1、M=4、N=2となり、或いはK=8、 I=2である場合にはL=0、M=4、N=2となり、或いはK=10、I=2である場合にはL=1、M=3、N=2となり、或いはK=12、I=2である場合にはL=0、M=4、N=3となり、或いはK=16、I=2である場合にはL=0、M=2、N=2となり、或いはK=24、I=2である場合にはL=0、M=2、N=3となるデータであってもよい。なおこれら以外のフォーマットを採用してもよい。
また本発明では、N×8×I=(K+L)×Mであってもよい。但し、例外的にN×8×I=(K+L)×Mとならない場合があってもよい。
また本発明では、前記シリアルバスを介して受信したパケットのヘッダには、前記M、Nを設定するための設定情報が挿入され、前記リンクコントローラは、受信したパケットのヘッダを解析し、前記設定情報をパケットのヘッダから抽出するパケット解析回路を含み、前記データフォーマッタは、前記設定情報に基づいて、前記パック化データからKビットの前記データを抽出するようにしてもよい。
このようにすれば、パック化データからKビットのデータを抽出する処理を容易化できる。
また本発明では、前記シリアルバスを介して受信したパケットのヘッダには、前記M、Nを設定するための設定情報が挿入され、前記リンクコントローラは、受信したパケットのヘッダを解析し、前記設定情報をパケットのヘッダから抽出するパケット解析回路を含み、前記データフォーマッタは、前記設定情報に基づいて、前記ダミーデータを削除するようにしてもよい。
このようにすれば、ダミーデータの削除処理を簡素化できる。なお、データフォーマッタは、ビットカウンタでのカウント値やバイトカウンタでのカウント値に基づいて、ダミーデータの削除位置等を判断できる。
また本発明は、上記のいずれかに記載のデータ転送制御装置と、前記システムバスを介して前記データ転送制御装置に接続される前記ホストデバイスとを含む電子機器に関係する。
以下、本発明の好適な実施の形態について詳細に説明する。なお以下に説明する本実施形態は特許請求の範囲に記載された本発明の内容を不当に限定するものではなく、本実施形態で説明される構成の全てが本発明の解決手段として必須であるとは限らない。
1.システム構成
図1に本実施形態のデータ転送制御装置(データ転送制御回路)及びそのシステム構成例を示す。本実施形態では図1のホスト側、ターゲット側のデータ転送制御装置10、30を用いることで、いわゆるシステムバス、インターフェースバス間のブリッジ機能を実現している。
なおデータ転送制御装置10、30は図1の構成に限定されず、図1の回路ブロックの一部を省略したり、回路ブロック間の接続形態を変更したり、図1とは異なる回路ブロックを追加してもよい。例えばホスト側データ転送制御装置10においてトランシーバ20の構成を省略したり、ターゲット側データ転送制御装置30においてトランシーバ40の構成を省略してもよい。またデータ転送制御装置30と表示ドライバ6又はカメラ8(撮像デバイス、カメラデバイス)は2チップ(半導体チップ)で構成してもよいが、1チップで構成することもできる。ホストデバイス5(システムデバイス)とデータ転送制御装置10についても同様に1チップで構成することもできる。
ホスト(TX)側データ転送制御装置10とターゲット(RX)側データ転送制御装置30は、差動信号(differential signals)のシリアルバスを介してパケット転送を行う。より具体的には、シリアルバスの差動信号線(differential signal lines)を電流駆動又は電圧駆動することによりパケットの送受信を行う。
ホスト側データ転送制御装置10は、ホストデバイス5(CPU、ベースバンドエンジン、表示コントローラ等)との間のインターフェース処理を行うインターフェース回路92を含む。このインターフェース回路92はシステムバス(ホストバス)を介してホストデバイス5に接続される。システムバスは、RGBインターフェースバスとして用いたり、MPU(Micro Processor Unit)インターフェースバスとして用いたり、シリアルインターフェースバスとして用いたり、カメラインターフェースバスとして用いることができる。RGBインターフェースバスとして用いる場合には、システムバスは、水平同期信号、垂直同期信号、クロック信号、データ信号などの信号線を含むことができる。MPUインターフェースバスとして用いる場合には、システムバスは、データ信号、リード信号、ライト信号、アドレス0信号(コマンド/パラメータ識別信号)、チップセレクト信号などの信号線を含むことができる。シリアルインターフェースバスとして用いる場合には、システムバスは、シリアルインターフェース用のチップセレクト信号、リード/ライト信号、アドレス0信号、データ信号、クロック信号などの信号線を含むことができる。カメラインターフェースバスとして用いる場合には、システムバスは、カメラインターフェース用の水平同期信号、垂直同期信号、クロック信号、データ信号などの信号線を含むことができる。
ホスト側データ転送制御装置10は、リンク層の処理を行うリンクコントローラ90(リンク層回路)を含む。このリンクコントローラ90は、シリアルバス(LVDS)を介してターゲット側データ転送制御装置30に転送されるパケット(リクエストパケット、ストリームパケット等)を生成し、生成したパケットを送信する処理を行う。具体的には、送信トランザクションを起動して、生成したパケットの送信をトランシーバ20に指示する。
ホスト側データ転送制御装置10は、物理層の処理等を行うトランシーバ20(PHY)を含む。このトランシーバ20は、リンクコントローラ90により指示されたパケットを、シリアルバスを介してターゲット側データ転送制御装置30に送信する。またトランシーバ20はターゲット側データ転送制御装置30からのパケットの受信も行う。この場合にはリンクコントローラ90が、受信したパケットを解析して、リンク層(トランザクション層)の処理を行う。
ターゲット側データ転送制御装置30は、物理層の処理等を行うトランシーバ40(PHY)を含む。このトランシーバ40は、シリアルバスを介してホスト側データ転送制御装置10からのパケットを受信する。またトランシーバ40はホスト側データ転送制御装置10へのパケットの送信も行う。この場合にはリンクコントローラ100が、送信するパケットを生成し、生成したパケットの送信を指示する。
ターゲット側データ転送制御装置30はリンクコントローラ100(リンク層回路)を含む。このリンクコントローラ100は、ホスト側データ転送制御装置10からのパケットの受信処理を行い、受信したパケットを解析するリンク層(トランザクション層)の処理を行う。
ターゲット側データ転送制御装置30は、表示パネル7(LCD等)を駆動する表示ドライバ6や、カメラ8(広義には1又は複数のデバイス)との間のインターフェース処理を行うインターフェース回路110を含む。このインターフェース回路110は、各種のインターフェース信号を生成し、インターフェースバスを介して表示ドライバ7等に出力する。またインターフェースバスを介してカメラ8から各種のインターフェース信号を受ける。このインターフェース回路110は、RGBインターフェース回路、MPUインターフェース回路、シリアルインターフェース回路、或いはカメラインターフェース回路(広義には第1〜第Nのインターフェース回路)などを含むことができる。
ホスト側(ホストデバイス5)のシステムバスがRGBインターフェースバスとして用いられる場合には、ターゲット側(表示ドライバ6)のインターフェースバスもRGBインターフェースバスとして用いられる。そしてインターフェース回路110(RGBインターフェース回路)は、RGB用のインターフェース信号を生成して表示ドライバ6(広義にはデバイス)に出力する。またホスト側のシステムバスがMPUインターフェースバスとして用いられる場合には、ターゲット側のインターフェースバスもMPUインターフェースバスとして用いられる。そしてインターフェース回路110(MPUインターフェース回路)は、MPU用のインターフェース信号を生成して表示ドライバ6に出力する。またホスト側のシステムバスがカメラインターフェースバスとして用いられる場合には、ターゲット側のインターフェースバスもカメラインターフェースバスとして用いられる。そしてターゲット側のインターフェース回路110(カメラインターフェース回路)はカメラ8からインターフェース信号を受ける。一方、ホスト側のインターフェース回路92(カメラインターフェース回路)は、カメラインターフェース信号を生成してホストデバイス5に出力する。なおシステムバスとインターフェースバスのインターフェース形式を異ならせてもよい。
以上のようなインターフェース回路92、110を設けることで、本実施形態ではホスト側のシステムバスとターゲット側のインターフェースバスとの間のバスブリッジ機能を実現している。
即ちシステムバスがRGBインターフェースバスとして用いられる場合には、ホストデバイス5が出力したRGBインターフェース信号を、差動信号のシリアルバスを介したパケット転送によりターゲット側に伝える。そしてターゲット側のインターフェース回路110が、ホスト側からのRGBインターフェース信号に応じたRGBインターフェース信号を表示ドライバ6に出力する。またシステムバスがMPUインターフェースバスとして用いられる場合には、ホストデバイス5が出力したMPUインターフェース信号を、差動信号のシリアルバスを介したパケット転送によりターゲット側に伝える。そしてターゲット側のインターフェース回路110が、ホスト側からのMPUインターフェース信号に応じたMPUインターフェース信号を表示ドライバ6に出力する。
またシステムバスがカメラインターフェースバスとして用いられる場合には、カメラ8が出力したカメラインターフェース信号(データ信号、垂直同期信号、水平同期信号)を、差動信号のシリアルバスを介したパケット転送によりターゲット側がホスト側に伝える。そしてホスト側のインターフェース回路92が、ターゲット側からのカメラインターフェース信号に応じたカメラインターフェース信号をホストデバイス5に出力する。
なお図1では、ホストデバイス5が接続されるデータ転送制御装置10がホスト側(TX)となり、カメラ8が接続されるデータ転送制御装置30がターゲット側(RX)になっているが、本実施形態はこれに限定されない。例えば図2に示すように、カメラ8が接続されるデータ転送制御装置10をホスト側(TX)にして、ホストデバイス5が接続されるデータ転送制御装置30をターゲット側(RX)にしてもよい。
即ち本実施形態ではホスト側のデータ転送制御装置がクロック生成回路(PLL回路)を有しており、生成されたクロックをターゲット側のデータ転送制御装置に出力する。そして図1の場合には、ホスト側のデータ転送制御装置10は、クロック生成回路により生成した差動のクロック信号CLK+/−をターゲット側のデータ転送制御装置30に出力する。するとターゲット側のデータ転送制御装置30は、このCLK+/−に基づいて差動のストローブ信号STB+/−を生成する。そしてターゲット側のデータ転送制御装置30は、STB+/−のエッジ(立ち上がりエッジ又は立ち下がりエッジ)に同期して、差動のデータ信号DTI+/−(カメラデータ)を、ホスト側のデータ転送制御装置10に出力する。
一方、図2の場合には、ホスト側のデータ転送制御装置30は、クロック生成回路により差動のクロック信号CLK+/−を生成する。そしてホスト側のデータ転送制御装置30は、CLK+/−のエッジに同期して差動のデータ信号DTO+/−(カメラデータ)を、ターゲット側のデータ転送制御装置10に出力する。
なお差動信号であるDTO+/−、CLK+/−、DTI+/−、STB+/−を用いたシリアル転送手法については、後述する図13で詳細に説明する。
2.カメラデータのフォーマット変換
CCDやCMOSなどのカメラから出力されるカメラデータには、YUV422、YUV420、RGB888、RGB565、RGB444、RAW6、RAW7、RAW8、RAW10、RAW12、JPEG8などの種々のフォーマットがある。そしてこれらのフォーマットでは、入力データのデータ単位のビット数が、6、7、8、10、12、16、24ビット(広義にはKビット)というように異なっている。
ところが、シリアルバスを介して転送されるパケットは、バイト単位又はワード単位(広義にはIバイト単位)のデータで構成される。従って、カメラデータをパケット化してシリアル転送するためには、6、7、8、10、12、16又は24ビットのカメラデータをバイト単位又はワード単位(Iバイト単位)のデータにフォーマット変換する必要がある。
このようなフォーマット変換を実現する第1、第2の比較例の手法を図3(A)(B)、図4(A)(B)に示す。図3(A)〜図4(B)は、フォーマット変換の対象となるデータ(カメラデータ)が10ビット(RAW10)である場合の例である。そして図3(A)(B)はこの10ビット単位のデータをバイト単位のデータに変換する場合の例であり、図4(A)(B)は、10ビット単位のデータを2バイト単位(ワード単位)のデータに変換する場合の例である。
なお図3(A)等において、(101)は、1個目のデータ(10ビットデータ)の1ビット目を意味し、(102)は、1個目のデータの2ビット目を意味する。また(201)は、2個目のデータの1ビット目を意味し、(202)は、2個目のデータの2ビット目を意味する。従って、(101)〜(110)は1個目のデータの1〜10ビットを表し、(201)〜(210)は2個目のデータの1〜10ビットを表すことになる。(301)〜(310)、(301)〜(410)等も同様である。
第1の比較例では、図3(A)、図4(A)に示すように、冗長データが挿入されるアンパックド(unpacked)のフォーマット変換を行っている。即ち図3(A)では(101
)〜(108)が1個目のバイトデータに設定され、(109)、(110)と6ビットの冗長データ(×)が2個目のバイトデータに設定される。また(201)〜(208)が3個目のバイトデータに設定され、(209)、(210)と6ビットの冗長データが4個目のバイトデータに設定される。
このように第1の比較例では、2個のバイトデータを転送する毎に6ビットの冗長データを転送する必要がある。従ってVGA画面のデータを転送する毎に、640×480×6/8/1024=225Kバイトの冗長データを転送しなければならなくなる。このため、シリアルバスのデータ転送量(トラフィック量)が過大になり、データ転送が非効率化する。
一方、第2の比較例では図3(B)、図4(B)に示すように、冗長データが全く挿入されないパックド(packed)のフォーマット変換を行っている。この第2の比較例では、冗長データが挿入されないため、第1の比較例に比べるとシリアルバスのデータ転送量を低減できる。しかしながら、この第2の比較例では、データフォーマッタ(デコード回路)やカウンタの回路規模が大きくなり、データ転送制御装置の大規模化や処理の繁雑化の問題を招く。特に、前述した多様なフォーマットの全てをサポートしようとすると、データ転送制御装置の大規模化や処理の繁雑化の問題は更に深刻になる。
3.データ転送制御装置の構成例
以上のような問題を解決する本実施形態のデータ転送制御装置の構成例を図5、図6に示す。なお図5、図6の回路ブロックの一部を省略したり、回路ブロック間の接続形態を変更したり、図5、図6とは異なる他の回路ブロックを追加してもよい。
図5はターゲット側(図2の場合はホスト側)のデータ転送制御装置30の構成例である。図5において、インターフェース回路110はカメラ8(広義にはデバイス)との間のインターフェース処理を行う。そしてインターフェース回路110には、1つのデータ単位がKビットとなるデータがインターフェースバスを介して入力される。なお、Kは2(或いは6)以上の整数である。
具体的にはインターフェース回路110には、1つのデータ単位のビット数が6、7、8、10、12、16又は24ビット(以下、適宜、6〜24ビットと表記する)となるカメラデータCMDATが入力される。また垂直同期信号、水平同期信号に相当するCMVREF、CMHREFや、CMDATを取り込むためのクロック信号CMCLKINが入力される。
図7(A)(B)にカメラデータが8ビットのYUVフォーマットである場合のCMDAT、CMVREF、CMHREF、CMCLKINの信号波形例を示す。図7(A)に示すように、CMVREFがアクティブ(ハイレベル)になった後、CMHREFがアクティブになる毎に1ライン分のCMDATがインターフェース回路110に入力される。また図7(B)に示すようにCMDATはCMCLKINの例えば立ち上がりエッジによりサンプリングできる。インターフェース回路110はこのようにサンプリングされて取り込まれたデータ(カメラデータ)をリンクコントローラ100に出力する。なお図7(C)(D)はカメラデータがJPEGフォーマットである場合の信号波形例である。
リンクコントローラ100は、データフォーマッタ300、ビットカウンタ310、バイトカウンタ312、パケット生成回路320、パケットバッファ330、内部レジスタ350を含む。なおこれらの一部を省略した構成としてもよい。
データフォーマッタ300はデータのフォーマット変換を行う。例えばインターフェース回路110から順次入力されるKビット(6〜24ビット)のデータを受けて、フォーマット変換を行い、パック化データ(packed data)を生成する。そして生成されたパッ
ク化データを例えば8ビット又は16ビット(広義にはIバイト)単位でパケット生成回路320に出力する。
より具体的にはデータフォーマッタ300は、Kビットのデータ(Kビット単位のデータ)に対してLビットのダミーデータを付加することで得られる(K+L)ビットのデータが、M個ずつ集まった(N×I)バイトのパック化データを生成する。なおLは0以上の整数であり、Mは1以上の整数であり、Nは1(或いは2)以上の整数である。またIは1以上の整数である。
この場合に本実施形態ではデータフォーマッタ300は、Kに応じてL及びMが可変に設定される(Kに応じてL及びMが変化する)パック化データを生成する。またデータフォーマッタ300は、内部レジスタ350に記憶されるPCS、PW(M、N)の設定情報に基づき決められるビット位置にダミーデータを挿入する処理を行う。
図8、図9に、データフォーマッタ300により生成されるパック化データの例を示す。図8は、生成されたパック化データを1バイト(8ビット)毎に出力する場合の例であり、図9は2バイト(16ビット)毎に出力する場合の例である。
図8、図9において、DATAは、Kビット単位で入力されるデータ(カメラデータ)を表す。PWはパック幅(パック化データのサイズ)である。このパック幅PWはN×Iバイトと表すことができ、図8ではPWはNバイトになり、図9ではPWはN×2バイト(Nワード)になる。またPCSはパック内データ個数(パック化データ内におけるKビットデータの個数)であり、PCS=Mと表すことができる。なお図8、図9におけるダミーデータ(冗長データ)のビット数(個数)はLと表すことができる。
図8では、入力データ(カメラデータ)がK=6、7、8、10、12、16、24ビットである場合に、各々、A1、A2、A3、A4、A5、A6、A7に示すようなパック化データが生成される。図9では、入力データがK=6、7、8、10、12、16、24ビットである場合に、各々、B1、B2、B3、B4、B5、B6、B7に示すようなパック化データが生成される。そして図8、図9では、入力データのビット数Kに応じて、ダミーデータのビット数Lと、パック内データ個数PCSに相当するM(或いはパック幅PWに相当するN)が可変に変化している。なお図8、図9の詳細については後述する。
データフォーマッタ300は、データバッファ302、ダミーデータ挿入回路304を含む。データバッファ302には、Kビット(8〜24ビット)単位のデータが入力され、8ビット又は16ビット単位でパック化データを出力する。ダミーデータ挿入回路304は、冗長データであるダミーデータの挿入処理を行う。具体的には内部レジスタ350に記憶されるPCS、PW(M、N)の設定情報に基づき、ダミーデータのビット位置(データバッファ302上のビット位置)を決定(設定)し、そのビット位置にダミーデータ(0又は1のデータ)を挿入するための処理を行う。
ビットカウンタ310(ピクセルカウンタ)はデータのビット数のカウント処理を行う。バイトカウンタ312はデータのバイト数のカウント処理を行う。そしてデータフォーマッタ300(ダミーデータ挿入回路304)は、ビットカウンタ310からのビット数のカウント値や、バイトカウンタ312からのバイト数のカウント値や、内部レジスタ350に記憶されるPCS、PW(M、N)の設定情報などに基づきデコード処理を行い、ダミーデータを挿入するビット位置を決める。
パケット生成回路320は、シリアルバスを介して送信するパケットの生成を行う。具体的には、送信するパケットのヘッダを生成し、ヘッダとデータを結合してパケットを組み立てる。そして生成されたパケットはパケットバッファ330に書き込まれて、トランシーバ40に転送される。この場合に、パケットのヘッダの生成はヘッダ生成回路322により行われる。
そして本実施形態では図10(A)に示すように、パケット生成回路320は、シリアルバスを介して送信するパケットとして、データフォーマッタ300により生成されたパック化データがデータフィールドに挿入(設定)されるパケットを生成する。図10(A)は、入力データのビット数がK=10であり図8のA4に示すパック化データがデータフィールドに挿入された場合の例である。
なおパケットのデータフィールドには、1個のパック化データだけを挿入してもよいし、複数個のパック化データを挿入してもよい。また図10(A)は、パケットのデータ幅が1バイトの場合の例を示しているが、パケットのデータ幅は2バイト以上(Iバイト)であってもよい。パケットのデータ幅を1バイトにする場合には、データフォーマッタ300からパケット生成回路320に対して、パック化データを1バイト(8ビット)単位で出力すればよい。この場合には図8のA1〜A7に示すようなパック化データを用いることになる。一方、パケットのデータ幅を2バイトにする場合には、データフォーマッタ300からパケット生成回路320に対して、パック化データを2バイト(16ビット)単位で出力すればよい。この場合には図9のB1〜B7に示すようなパック化データを用いることになる。
また図10(B)に示すように、パケット生成回路320が、パケットのヘッダに、PCS、PW(M、N)を設定するための設定情報を挿入するようにしてもよい。具体的には、パケットのヘッダにパック内データ個数PCSのフィールドと、パック幅PWのフィールドを設ける。そしてこれらのPCSフィールド、PWフィールドに、PCSの設定情報とPWの設定情報を挿入する。例えば図8のA1の場合には、PCS=4、PW=24の設定情報を、PCSフィールド、PWフィールドに挿入する。A2の場合には、PCS=2、PW=16の設定情報を、PCSフィールド、PWフィールドに挿入する。
なおパケットのヘッダに挿入する上述の設定情報は、パック内データ個数PCSやパック幅PWの値そのものである必要はなく、少なくともM、Nを設定(特定)できる情報であればよい。例えばPWの値そのものではなく、N(或いはN×I)の値を設定情報として用いてもよい。或いは、Nの代わりにLを設定情報として用い、MとLによってNを特定するようにしてもよい。
パケットバッファ330は、シリアルバスを介して送信するパケットが書き込まれる送信用のパケットバッファである。即ちシリアルバスを介して送信するパケットは、パケット生成回路320により生成されてパケットバッファ330に書き込まれ、トランシーバ40に転送される。このパケットバッファ330は、例えばFIFO(First In First Out)やRAMにより構成できる。なおパケットバッファ330をリングバッファ構造とすることも可能である。また受信用のパケットバッファをリンクコントローラ100内に更に設けてもよい。
内部レジスタ350は各種の制御レジスタやステータスレジスタを含む。この内部レジスタ350は、PCS、PW(M、N)を設定するための設定情報を記憶する。具体的には、内部レジスタ350はPCSレジスタ352とPWレジスタ354を含み、これらの各レジスタに、PCS、PWの設定情報が記憶される。データフォーマッタ300は、これらのPCS、PWに基づきダミーデータの挿入ビット位置を決定する。またパケット生成回路320は、これらのPCS、PWをパケットのPCS、PWフィールドに挿入する。なお、PCS、PW(M、N)の設定情報は、シリアルバスを介して相手デバイス(ホストデバイス)から自デバイスに転送して、内部レジスタ350に書き込むことができる。
図6はホスト側(図2の場合にはターゲット側)のデータ転送制御装置10の構成例である。図6に示すように、データ転送制御装置10が含むリンクコントローラ90は、データフォーマッタ200、ビットカウンタ210、バイトカウンタ212、パケットバッファ230、パケット解析回路240、内部レジスタ250を含む。なおこれらの一部を省略する構成としてもよい。
パケットバッファ230は、シリアルバスを介して受信したパケットが書き込まれる受信用のパケットバッファである。即ちシリアルバスを介してトランシーバ20が受信したパケットは、パケットバッファ230に書き込まれる。そして、書き込まれたパケットのデータフィールドに設定されたパック化データ(図10(A)(B)参照)は、データフォーマッタ200に出力される。この場合に、パック化データは例えば8ビット又は16ビット(Iバイト)単位でデータフォーマッタ200に出力される。
パケットバッファ230は、例えばFIFOやRAMにより構成できる。なおパケットバッファ230をリングバッファ構造とすることも可能である。またパケットバッファ230をダブルバッファ構成にしたり、送信用のパケットバッファをリンクコントローラ90内に更に設けてもよい。
パケット解析回路240は、シリアルバスを介して受信したパケットの解析を行う。具体的には受信したパケットのヘッダとデータを分離して、ヘッダを抽出する。このヘッダの抽出は、ヘッダ抽出回路242により行われる。
例えばパケット解析回路240は、ヘッダのパケットタイプフィールドを解析して、受信したパケットのタイプ(リクエストパケット、レスポンスパケット、アクノリッジパケット)等を判断する。またヘッダの同期信号コードフィールドを解析して、受信したパケットが、同期信号(垂直同期信号、水平同期信号)の生成をインターフェース回路92に指示する同期信号コードを含んでいるか否かを判断する。
例えば図5において、カメラ8が垂直同期信号CMVREFを出力した場合には、垂直同期信号の生成を指示する同期信号コードを含むパケットを、パケット生成回路320が生成する。またカメラ8が水平同期信号CMHREFを出力した場合には、水平同期信号の生成を指示する同期信号コードを含むパケットを生成する。そして生成されたパケットはシリアルバスを介して転送される。パケット解析回路240は、転送されて来たパケットを解析し、垂直同期信号のコードを検出すると、インターフェース回路92に対して、垂直同期信号SCMVREFの生成・出力を指示する。また水平同期信号のコードを検出すると、水平同期信号SCMHREFの生成・出力を指示する。このようにしてインターフェースバスとシステムバスとの間のバスブリッジ機能が実現される。
またパケット解析回路240は、受信したパケットのヘッダを解析し、PCS、PW(M、N)の設定情報を抽出する。具体的には図10(B)に示すようにPCSフィールド、PWフィールドにPCS、PWが設定されている場合に、これらのPCS、PWの情報を抽出する。
内部レジスタ250は各種の制御レジスタやステータスレジスタを含む。この内部レジスタ250は、パケット解析回路240により抽出されたPCS、PW(M、N)の設定情報を記憶する。具体的には、内部レジスタ250が含むPCSレジスタ252、PWレジスタ254が、PCS、PWの情報を記憶する。
図10(A)(B)に示すように、シリアルバスを介して受信したパケットのデータフィールドにはパック化データが挿入されている。このパック化データは、Kビットのデータに対してLビットのダミーデータを付加することで得られる(K+L)ビットのデータが、M個ずつ集まった(N×I)バイトのデータである。そして、Kに応じてL及びM(或いはN)が可変に設定されるデータである。
そしてデータフォーマッタ200(リンクコントローラ90)は、このパック化データからKビット(6〜24ビット)のデータ(カメラデータ)を抽出してインターフェース回路92に出力する。またデータフォーマッタ200は、内部レジスタ250に記憶されるPCS、PW(M、N)の設定情報に基づき決められるビット位置から、ダミーデータを削除する処理を行う。
例えば図8のA1に示すパック化データがデータフィールドに挿入されていた場合は、データフォーマッタ200は、K=6ビットのデータ(11)〜(16)、(21)〜(26)、(31)〜(36)、(41)〜(46)をパック化データから抽出して、インターフェース回路92に順次出力する。同様に、図8のA2、A3、A4、A5、A6、A7に示すパック化データが挿入されていた場合は、各々、K=7、8、10、12、16、24ビットのデータを抽出して、インターフェース回路92に順次出力する。また図9のB1、B2、B3、B4、B5、B6、B7に示すパック化データが挿入されていた場合は、各々、K=6、7、8、10、12、16、24ビットのデータを抽出して、インターフェース回路92に順次出力する。
データフォーマッタ200は、データバッファ202、ダミーデータ削除回路204を含む。データバッファ202には、8ビット又は16ビット単位でパック化データが入力され、Kビット(8〜24ビット)単位のデータを出力する。ダミーデータ削除回路204は、冗長データであるダミーデータの削除処理を行う。具体的には内部レジスタ250に記憶されるPCS、PW(M、N)の設定情報に基づき、ダミーデータのビット位置(データバッファ202上のビット位置)を決定(設定)し、そのビット位置からダミーデータ(0又は1のデータ)を削除するための処理を行う。
ビットカウンタ210はデータのビット数のカウント処理を行う。バイトカウンタ212はデータのバイト数のカウント処理を行う。そしてデータフォーマッタ200(ダミーデータ削除回路204)は、ビットカウンタ210からのビット数のカウント値や、バイトカウンタ212からのバイト数のカウント値や、内部レジスタ250に記憶されるPCS、PW(M、N)の設定情報に基づきデコード処理を行い、ダミーデータを削除するビット位置を決める。
インターフェース回路92は、データフォーマッタ200からのKビット(6〜24ビット)のデータ(カメラデータ)を受ける。そしてこのデータをSCMDATとしてホストデバイス5に出力する。そしてこの際に、図7(A)〜(D)と同様な波形の垂直同期信号SCMVREF、水平同期信号SCMHREF、クロック信号SCMCLKINをホストデバイス5に出力する。このようにすることで、カメラ8から出力されたCMDAT、CMVREF、CMHREF等の再生処理が可能になる。
4.フォーマット変換手法
次に本実施形態のフォーマット変換手法について詳細に説明する。例えば図8のA1では、入力されるカメラデータのフォーマットがRAW6であり、K=6ビットのデータ(11)〜(16)、(21)〜(26)、(31)〜(36)、(41)〜(46)が入力される。なお(11)は1個目のデータ(6ビットデータ)の1ビット目を意味し、(12)は1個目のデータの2ビット目を意味する。また(21)は2個目のデータの1ビット目を意味し、(22)は2個目のデータの2ビット目を意味する。また(×)はダミーデータ(冗長データ)を意味する。
そして図8のA1のようにビット数K=6である場合には、パック幅PW=24、パック内データ個数PCS=4に設定される。またダミーデータのビット数L=0になる。従ってこの場合には、6ビット(K+Lビット)のデータがPCS=4個(M個)集まった、PW=24ビット(N=3)のパック化データが生成される。
また図8のA2ではカメラデータのフォーマットがRAW7であり、K=7ビットのデータ(11)〜(17)、(21)〜(27)が入力される。そしてこのようにK=7である場合には、PW=16、PCS=2に設定される。またダミーデータのビット数L=1になる。従ってこの場合には、8ビット(K+Lビット)のデータがPCS=2個(M個)集まった、PW=16ビット(N=2)のパック化データが生成される。
なお図8のA2の場合には、バイトカウンタのカウント値=1でありビットカウンタのカウント値=8である場合と、バイトカウンタのカウント値=2でありビットカウンタのカウント値=8である場合に、ダミーデータを挿入すればよい。
また図8のA3では、カメラデータのフォーマットがYUV422、YUV420、RAW8又はJPEG8であり、K=8ビットのデータ(11)〜(18)、(21)〜(28)が入力される。そしてこのようにK=8である場合には、PW=16、PCS=2に設定される。またダミーデータのビット数L=0になる。従ってこの場合には、8ビット(K+Lビット)のデータがPCS=2個(M個)集まった、PW=16ビット(N=2)のパック化データが生成される。
なお図8のA3の場合には、バイトカウンタのカウント値=2でありビットカウンタのカウント値=3、4である場合と、バイトカウンタのカウント値=3でありビットカウンタのカウント値=7、8である場合に、ダミーデータを挿入すればよい。
また図8のA4ではカメラデータのフォーマットがRAW10であり、K=10ビットのデータ(101)〜(110)、(201)〜(210)が入力される。そしてこのようにK=10である場合には、PW=24、PCS=2に設定される。またダミーデータのビット数L=2になる。従ってこの場合には、12ビット(K+Lビット)のデータがPCS=2個(M個)集まった、PW=24ビット(N=3バイト)のパック化データが生成される。図8のA5〜A7、図9のB1〜B7の場合も同様にしてパック化データが生成される。
図3(A)、図4(A)に示す第1の比較例では冗長データのビット数が多い。このためシリアルバスでのデータ転送量が大きくなってしまうという問題点がある。一方、図3(B)、図4(B)の第2の比較例では冗長データは無いが、全てのフォーマットのカメラデータをサポートしようとすると、データフォーマッタやカウンタが大規模化するという問題点がある。
これに対して本実施形態の手法では、冗長データは存在するが、そのビット数は第1の比較例に比べて十分に少ない。従ってシリアルバスでのデータ転送量がそれほど大きくならず、データ転送を効率化できる。また、図8、図9に示すように全てのフォーマットのカメラデータをサポートしようとした場合にも、データフォーマッタやカウンタの回路規模が、第2の比較例に比べるとそれほど大きくはならない。
次に図11(A)〜図12(C)を用いて、第1、第2の比較例に対する本実施形態の手法の優位点について説明する。図11(A)〜(C)は、図8のパック化データが設定されるパケットの幅(バス幅)が8ビット(I=1)である場合の例であり、図12(A)〜(C)は、図9のパック化データが設定されるパケットの幅が16ビット(I=2)である場合の例である。
そして図11(A)〜図12(C)において、Nはパック化データのバイト数又はワード数であり、Lは冗長データ(ダミーデータ)のビット数である。またKは入力データのビット数であり、Mはパック化データ内にある(K+L)ビットデータの個数である。
フォーマット変換を行うためには、図11(A)〜図12(C)のN、M、Kのそれぞれをカウントするカウンタ(バイトカウンタ、ビットカウンタ等)が必要になる。ここでKについては、第1、第2の比較例及び本実施形態で条件は同じである。従って、N、Mをカウントするカウンタや、カウンタからのカウント値をマルチプレクスしてデコードする回路等が、回路規模を左右する。従って回路規模の削減のためには、N×Mをなるべく少なくする必要がある。なおN/Mの組み合わせの数が回路の個数に相当する。
一方、シリアルバスのデータ転送量を減らすためには、冗長データのビット数であるLを少なくする必要がある。
従って、データ転送量の低減化と回路の小規模化を両立するためには、N×Mの最小化と、Lの最小化を両立できることが望まれる。
この点、図11(A)、図12(A)の第1の比較例では、M=1に固定されている。従ってN×M(回路規模)については小さくできる。例えばN×Mの合計を計算すると、図11(A)では12ポイントになり、図12(A)では8ポイントになる。
しかしながらこの第1の比較例では、冗長データのビット数L(データ転送量)が大きくなってしまう。例えばLの合計を計算すると、図11(A)では13ビットになり、図12(A)では45ビットになり、非常に大きくなってしまう。
また図11(B)、図12(B)の第2の比較例では、L=1に固定されている。従ってL(データ転送量)については小さくできる。例えばLの合計を計算すると、図11(B)、図12(B)では共に0ビットになる。
しかしながらこの第2の比較例では、NやMが大きいため、N×M(回路規模)が大きくなってしまう。例えばN×Mの合計を計算すると、図11(B)では100ポイントになり、図12(B)では197ポイントになり、非常に大きくなってしまう。
これに対して図11(C)、図12(C)の本実施形態の手法では、Kに応じてL、Mを可変に設定している。即ちKに応じてL、Mを適正な値に変化させている。
より具体的には、I=1となる図11(C)では、
(1)K=6である場合には、L=0、M=4、N=3
(2)K=7である場合には、L=1、M=2、N=2
(3)K=8である場合には、L=0、M=2、N=2
(4)K=10である場合にはL=2、M=2、N=3
(5)K=12である場合にはL=0、M=2、N=3
(6)K=16である場合にはL=0、M=1、N=2、或いは
(7)K=24である場合にはL=0、M=1、N=3となるように、
パック化データが生成されている。
またI=2となる図12(C)では、
(11)K=6、 I=2である場合にはL=0、M=8、N=3
(12)K=7、 I=2である場合にはL=1、M=4、N=2
(13)K=8、 I=2である場合にはL=0、M=4、N=2
(14)K=10、I=2である場合にはL=1、M=3、N=2
(15)K=12、I=2である場合にはL=0、M=4、N=3
(16)K=16、I=2である場合にはL=0、M=2、N=2、或いは
(17)K=24、I=2である場合にはL=0、M=2、N=3となるように、
パック化データが生成されている。
この場合に本実施形態の手法では、N×8×I=(K+L)×Mの式が成立する。例えばI=1となる図11(C)では、N×8=(K+L)×Mの式が成立する。またI=2となる図12(C)では、N×8×2=(K+L)×Mの式が成立する。但し図12(C)のK=10の場合(上述の(14)の場合)だけは例外である。
なお上述の(1)〜(7)、(11)〜(17)の全てを満たさなくても、(1)〜(7)、(11)〜(17)の一部だけを満たすようにパック化データを生成してもよい。即ちYUV422、YUV420、RGB888、RGB565、RGB444、RAW6、RAW7、RAW8、RAW10、RAW12、JPEG8の一部のフォーマットだけをサポートできるようにしてもよい。
以上の本実施形態の手法によれば、図11(C)、図12(C)から明らかなように、N×M(回路規模)を第2の比較例に比べて小さくできる。例えばN×Mの合計を計算すると、図11(C)では37ポイントになり、図12(C)では68ポイントになる。従って、N×Mの合計が100、197ポイントになる第2の比較例に比べて、回路規模を十分に小さくできる。
また本実施形態の手法では、冗長データのビット数が第1の比較例に比べて少ないため、L(データ転送量)も小さくできる。例えばLの合計を計算すると、図11(C)では3ビットになり、図12(C)では2ビットになる。従って、Lの合計が13、45ビットになる第1の比較例に比べて、データ転送量を十分に小さくできる。
このように本実施形態の手法によれば、N×Mの最小化とLの最小化を両立できる。従って、回路規模をそれほど大きくすることなく、多様なフォーマットのデータの効率的なシリアル転送を実現できるという効果がある。
5.差動信号によるデータ転送方式
次に図13を用いて本実施形態のシリアル転送手法について説明する。図13においてDTO+、DTO−はホスト側(データ転送制御装置10)がターゲット側(データ転送制御装置30)に出力するデータ(OUTデータ)である。CLK+、CLK−は、ホスト側がターゲット側に供給するクロックである。ホスト側はCLK+/−のエッジ(例えば立ち上がりエッジ。立ち下がりエッジでもよい)に同期してDTO+/−を出力する。従ってターゲット側は、CLK+/−を用いてDTO+/−をサンプリングして取り込むことができる。更に図13では、ターゲット側はホスト側から供給されたクロックCLK+/−に基づいて動作する。即ちCLK+/−はターゲット側のシステムクロックになる。このためPLL(Phase Locked Loop)回路12は(広義にはクロック生成回路)はホスト側に設けられ、ターゲット側には設けられていない。
DTI+、DTI−はターゲット側がホスト側に出力するデータ(INデータ)である。STB+、STB−は、ターゲット側がホスト側に供給するストローブ(広義にはクロック)である。ターゲット側はホスト側から供給されたCLK+/−に基づいてSTB+/−を生成して出力する。そしてターゲット側はSTB+/−のエッジ(例えば立ち上がりエッジ。立ち下がりエッジでもよい)に同期してDTI+/−を出力する。従ってホスト側は、STB+/−を用いてDTI+/−をサンプリングして取り込むことができる。
DTO+/−、CLK+/−、DTI+/−、STB+/−の各々は、トランスミッタ回路(ドライバ回路)がこれらの各々に対応する差動信号線(Differential Signal Lines)を例えば電流駆動(又は電圧駆動)することにより送信される。なお、より高速な転送を実現するためには、DTO+/−、DTI+/−の各差動信号線を2ペア以上設ければよい。
ホスト側のトランシーバ20は、OUT転送用(広義にはデータ転送用)、クロック転送用のトランスミッタ回路22、24や、IN転送用(広義にはデータ転送用)、ストローブ転送用(広義にはクロック転送用)のレシーバ回路26、28を含む。ターゲット側のトランシーバ40は、OUT転送用、クロック転送用のレシーバ回路42、44や、IN転送用、ストローブ転送用のトランスミッタ回路46、48を含む。なおこれらの回路ブロックの一部を含まない構成としてもよい。
OUT転送用、クロック転送用のトランスミッタ回路22、24は、各々、DTO+/−、CLK+/−の差動信号線を電流駆動することでDTO+/−、CLK+/−を送信する。OUT転送用、クロック転送用のレシーバ回路42、44は、各々、DTO+/−、CLK+/−の差動信号線に流れる電流に基づいて電流・電圧変換を行い、電流・電圧変換により得られた差動電圧信号(第1、第2の電圧信号)の比較処理(差動増幅処理)を行うことで、DTO+/−、CLK+/−を受信する。
IN転送用、クロック転送用のトランスミッタ回路46、48は、各々、DTI+/−、STB+/−の差動信号線を電流駆動することでDTI+/−、STB+/−を送信する。IN転送用、ストローブ転送用のレシーバ回路26、28は、各々、DTI+/−、STB+/−の差動信号線に流れる電流に基づいて電流・電圧変換を行い、電流・電圧変換により得られた差動電圧信号(第1、第2の電圧信号)の比較処理(差動増幅処理)を行うことで、DTI+/−、STB+/−を受信する。
6.電子機器
図14に本実施形態の電子機器の構成例を示す。この電子機器は本実施形態で説明したデータ転送制御装置502、512、514、520、530を含む。またベースバンドエンジン500(広義には通信デバイス)、アプリケーションエンジン510(広義にはプロセッサ)、カメラ540(広義には撮像デバイス)、或いはLCD550(広義には表示デバイス)を含む。なおこれらの一部を省略する構成としてもよい。この構成によればカメラ機能とLCD(Liquid Crystal Display)の表示機能を有する携帯電話などを実現できる。但し本実施形態の電子機器は携帯電話には限定されず、デジタルカメラ、PDA、電子手帳、電子辞書、或いは携帯型情報端末など種々の電子機器に適用できる。
図14に示すようにベースバンドエンジン500に設けられたホスト側のデータ転送制御装置502と、アプリケーションエンジン510(グラフィックエンジン)に設けられたターゲット側のデータ転送制御装置512との間で、本実施形態で説明したシリアル転送が行われる。またアプリケーションエンジン510に設けられたホスト側のデータ転送制御装置514と、カメラインターフェース回路522を含むデータ転送制御装置520や、LCDインターフェース回路532を含むデータ転送制御装置530との間でも、本実施形態で説明したシリアル転送が行われる。なおベースバンドエンジン500とアプリケーションエンジン510を同一のハードウェア(CPU等)で実現してもよい。
図14の構成によれば、従来の電子機器に比べて、EMIノイズを低減できる。またデータ転送制御装置の小規模化、省電力化を実現することで、電子機器の更なる省電力化を図れる。また電子機器が携帯電話である場合には、携帯電話の接続部分(ヒンジ部分)に通る信号線をシリアル信号線にすることが可能になり、実装の容易化を図れる。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(デバイス、Iバイト等)と共に記載された用語(カメラ・表示ドライバ、8・16ビット等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。
またデータ転送制御装置や電子機器の構成や動作も本実施形態で説明した構成や動作に限定に限定されず、種々の変形実施が可能である。またフォーマット変換手法も図8、図12(C)等で説明したものに限定されない。例えばKも6、7、8、10、12、16、24に限定されず、Iも1、2には限定されない。またカメラデータ以外のフォーマット変換に本発明の手法を用いることも可能である。
本実施形態のデータ転送制御装置及びそのシステム構成例。 本実施形態のデータ転送制御装置及びそのシステム構成例。 図3(A)(B)は比較例の手法の説明図。 図4(A)(B)は比較例の手法の説明図。 本実施形態のデータ転送制御装置の構成例。 本実施形態のデータ転送制御装置の構成例。 図7(A)〜(D)は、カメラインターフェース信号の波形例。 本実施形態のフォーマット変換手法の説明図。 本実施形態のフォーマット変換手法の説明図。 図10(A)(B)は本実施形態で使用されるパケットの説明図。 図11(A)(B)(C)は本実施形態の優位点を説明する図。 図12(A)(B)(C)は本実施形態の優位点を説明する図。 本実施形態のシリアル転送の説明図。 電子機器の構成例。
符号の説明
5 ホストデバイス、6 表示ドライバ、7 表示パネル、8 カメラ、
10 データ転送制御装置(ホスト側)、20 トランシーバ、
30 データ転送制御装置(ターゲット側)、40 トランシーバ、
90、100 リンクコントローラ、92、110 インターフェース回路、
200 データフォーマッタ、202 データバッファ、
204 ダミーデータ削除回路、210 ビットカウンタ、212 バイトカウンタ、
230 パケットバッファ、240 パケット解析回路、242 ヘッダ抽出回路、
250 内部レジスタ、252 PCSレジスタ、254 PWレジスタ、
300 データフォーマッタ、302 データバッファ、
304 ダミーデータ挿入回路、310 ビットカウンタ、312 バイトカウンタ、
320 パケット生成回路、322 ヘッダ生成回路、330 パケットバッファ、
350 内部レジスタ、352 PCSレジスタ、354 PWレジスタ

Claims (6)

  1. データ転送を制御するデータ転送制御装置であって、
    システムバスを介して接続されるホストデバイスとの間でのインターフェース処理を行うインターフェース回路と、
    シリアルバスを介して受信したパケットの解析を行い、1つのデータ単位がKビット(Kは2以上の整数)であり前記Kがそのデータフォーマットにより異なるデータを前記インターフェース回路に出力するリンクコントローラとを含み、
    前記シリアルバスを介して受信したパケットのデータフィールドには、
    Kビットの前記データに対してLビット(Lは0以上の整数)のダミーデータを付加することで得られる(K+L)ビットのデータが、M個(Mは1以上の整数)ずつ集まった(N×I)バイト(N、Iは1以上の整数)のデータであって、前記Kに応じて前記L及びMが可変に設定されるパック化データが挿入され、
    前記リンクコントローラは、
    前記パック化データからKビットの前記データを抽出して前記インターフェース回路に出力するデータフォーマッタと、
    前記M、Nを設定するための設定情報を記憶する内部レジスタと、
    データのビット数のカウント処理を行うビットカウンタと、
    データのバイト数のカウント処理を行うバイトカウンタとを含み、
    前記データフォーマッタは、
    前記ビットカウンタからのビット数のカウント値と前記バイトカウンタからのバイト数のカウント値と前記内部レジスタの前記設定情報とに基づいてデコード処理を行って、前記ダミーデータを削除するビット位置を決定し、決定された前記ビット位置から前記ダミーデータを削除するための処理を行い、
    パケットに挿入される前記パック化データは、
    K=6、 I=1である場合にはL=0、M=4、N=3となり、或いは
    K=7、 I=1である場合にはL=1、M=2、N=2となり、或いは
    K=8、 I=1である場合にはL=0、M=2、N=2となり、或いは
    K=10、I=1である場合にはL=2、M=2、N=3となり、或いは
    K=12、I=1である場合にはL=0、M=2、N=3となり、或いは
    K=16、I=1である場合にはL=0、M=1、N=2となり、或いは
    K=24、I=1である場合にはL=0、M=1、N=3となるデータであることを特徴とするデータ転送制御装置。
  2. データ転送を制御するデータ転送制御装置であって、
    システムバスを介して接続されるホストデバイスとの間でのインターフェース処理を行うインターフェース回路と、
    シリアルバスを介して受信したパケットの解析を行い、1つのデータ単位がKビット(Kは2以上の整数)であり前記Kがそのデータフォーマットにより異なるデータを前記インターフェース回路に出力するリンクコントローラとを含み、
    前記シリアルバスを介して受信したパケットのデータフィールドには、
    Kビットの前記データに対してLビット(Lは0以上の整数)のダミーデータを付加することで得られる(K+L)ビットのデータが、M個(Mは1以上の整数)ずつ集まった(N×I)バイト(N、Iは1以上の整数)のデータであって、前記Kに応じて前記L及びMが可変に設定されるパック化データ(但しK=10の場合には(K+L)ビットのデータが2個とKビットのデータが1個ずつ集まったパック化データ)が挿入され、
    前記リンクコントローラは、
    前記パック化データからKビットの前記データを抽出して前記インターフェース回路に出力するデータフォーマッタと、
    前記M、Nを設定するための設定情報を記憶する内部レジスタと、
    データのビット数のカウント処理を行うビットカウンタと、
    データのバイト数のカウント処理を行うバイトカウンタとを含み、
    前記データフォーマッタは、
    前記ビットカウンタからのビット数のカウント値と前記バイトカウンタからのバイト数のカウント値と前記内部レジスタの前記設定情報とに基づいてデコード処理を行って、前記ダミーデータを削除するビット位置を決定し、決定された前記ビット位置から前記ダミーデータを削除するための処理を行い、
    パケットに挿入される前記パック化データは、
    K=6、 I=2である場合にはL=0、M=8、N=3となり、或いは
    K=7、 I=2である場合にはL=1、M=4、N=2となり、或いは
    K=8、 I=2である場合にはL=0、M=4、N=2となり、或いは
    K=10、I=2である場合にはL=1、M=3、N=2となり、或いは
    K=12、I=2である場合にはL=0、M=4、N=3となり、或いは
    K=16、I=2である場合にはL=0、M=2、N=2となり、或いは
    K=24、I=2である場合にはL=0、M=2、N=3となるデータであることを特徴とするデータ転送制御装置。
  3. 請求項1又は2において、
    N×8×I=(K+L)×Mであることを特徴とするデータ転送制御装置。
  4. 請求項1乃至のいずれかにおいて、
    前記シリアルバスを介して受信したパケットのヘッダには、前記M、Nを設定するための設定情報が挿入され、
    前記リンクコントローラは、
    受信したパケットのヘッダを解析し、前記設定情報をパケットのヘッダから抽出するパケット解析回路を含み、
    前記データフォーマッタは、
    前記設定情報に基づいて、前記パック化データからKビットの前記データを抽出することを特徴とするデータ転送制御装置。
  5. 請求項1乃至のいずれかにおいて、
    前記シリアルバスを介して受信したパケットのヘッダには、前記M、Nを設定するための設定情報が挿入され、
    前記リンクコントローラは、
    受信したパケットのヘッダを解析し、前記設定情報をパケットのヘッダから抽出するパケット解析回路を含み、
    前記データフォーマッタは、
    前記設定情報に基づいて、前記ダミーデータを削除することを特徴とするデータ転送制御装置。
  6. 請求項1乃至のいずれかに記載のデータ転送制御装置と、
    前記システムバスを介して前記データ転送制御装置に接続される前記ホストデバイスとを含むことを特徴とする電子機器。
JP2007069414A 2007-03-16 2007-03-16 データ転送制御装置及び電子機器 Expired - Fee Related JP4725541B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007069414A JP4725541B2 (ja) 2007-03-16 2007-03-16 データ転送制御装置及び電子機器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007069414A JP4725541B2 (ja) 2007-03-16 2007-03-16 データ転送制御装置及び電子機器

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005086187A Division JP4207912B2 (ja) 2005-03-24 2005-03-24 データ転送制御装置及び電子機器

Publications (2)

Publication Number Publication Date
JP2007179572A JP2007179572A (ja) 2007-07-12
JP4725541B2 true JP4725541B2 (ja) 2011-07-13

Family

ID=38304637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007069414A Expired - Fee Related JP4725541B2 (ja) 2007-03-16 2007-03-16 データ転送制御装置及び電子機器

Country Status (1)

Country Link
JP (1) JP4725541B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222249A (ja) * 1999-11-29 2001-08-17 Seiko Epson Corp Ram内蔵ドライバ並びにそれを用いた表示ユニットおよび電子機器
JP2004139431A (ja) * 2002-10-18 2004-05-13 Seiko Epson Corp データ転送制御方法、データ転送制御装置及び表示装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222249A (ja) * 1999-11-29 2001-08-17 Seiko Epson Corp Ram内蔵ドライバ並びにそれを用いた表示ユニットおよび電子機器
JP2004139431A (ja) * 2002-10-18 2004-05-13 Seiko Epson Corp データ転送制御方法、データ転送制御装置及び表示装置

Also Published As

Publication number Publication date
JP2007179572A (ja) 2007-07-12

Similar Documents

Publication Publication Date Title
JP4207912B2 (ja) データ転送制御装置及び電子機器
US7600061B2 (en) Data transfer control device and electronic instrument
JP3786120B2 (ja) データ転送制御装置及び電子機器
JP4428272B2 (ja) 表示ドライバ及び電子機器
US7617347B2 (en) Data transfer control device and electronic instrument
US7475171B2 (en) Data transfer control device including a switch circuit that switches write destination of received packets
JP3835459B2 (ja) データ転送制御装置及び電子機器
US7630375B2 (en) Data transfer control device and electronic instrument having reduced power consumption
US20080263241A1 (en) Data transfer control device and electronic instrument
JP4924560B2 (ja) データ転送制御装置及び電子機器
JP4725541B2 (ja) データ転送制御装置及び電子機器
JP2007183668A (ja) 表示ドライバ及び電子機器
JP4661810B2 (ja) データ転送制御装置及び電子機器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110207

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110328

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees