JP5061272B2 - Serial data transmitter / receiver - Google Patents
Serial data transmitter / receiver Download PDFInfo
- Publication number
- JP5061272B2 JP5061272B2 JP2005318902A JP2005318902A JP5061272B2 JP 5061272 B2 JP5061272 B2 JP 5061272B2 JP 2005318902 A JP2005318902 A JP 2005318902A JP 2005318902 A JP2005318902 A JP 2005318902A JP 5061272 B2 JP5061272 B2 JP 5061272B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- transmission
- reception
- serial
- reception buffer
- 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
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Description
本発明は、シリアルデータの送受信を行うシリアルデータ送受信装置及びその関連技術に関する。 The present invention relates to a serial data transmission / reception apparatus that transmits / receives serial data and a related technology.
非特許文献1には、シリアルポートを持った入出力コントローラを備えるコンピュータシステムが紹介されている。
Non-Patent
ところが、非特許文献1には、入出力コントローラによる具体的な送受信の手順については開示がない。
However, Non-Patent
そこで、本発明は、他の機能ユニットとの間で送受信データのやり取りを効率的に行うことができ、しかも、他の機能ユニットの処理軽減に貢献でき、かつ、共有資源を効率的に使用できるシリアルデータ送受信装置及びその関連技術を提供することを目的とする。 Therefore, the present invention can efficiently exchange transmission / reception data with other functional units, can contribute to the reduction of processing of other functional units, and can efficiently use shared resources. It is an object of the present invention to provide a serial data transmission / reception device and related technology.
本発明の観点によれば、シリアルデータ送受信装置は、シリアルデータの送受信を行うシリアルデータ送受信装置であって、受信したシリアルデータをパラレルデータに変換するシリアル/パラレル変換手段と、パラレルデータをシリアルデータに変換して送信するパラレル/シリアル変換手段と、前記シリアルデータ送受信装置と他の機能ユニットとで共有される、前記シリアルデータ送受信装置の外部に設けられた共有メモリ上に構成される送受信バッファに受信データを書き込み、かつ、前記送受信バッファから送信データを読み込む送受信バッファアクセス手段と、を備え、前記シリアル/パラレル変換手段は、受信データを監視し、受信開始の設定後の最初の受信データの変化点から受信データを有効な受信データとして前記送受信バッファアクセス手段に送出し、前記パラレル/シリアル変換手段は、送信開始の設定後から前記送受信バッファアクセス手段から受領した送信データを有効な送信データとして送信する。 According to an aspect of the present invention, a serial data transmission / reception device is a serial data transmission / reception device that transmits / receives serial data, serial / parallel conversion means for converting received serial data into parallel data, and parallel data into serial data. A parallel / serial conversion means for converting and transmitting to a transmission / reception buffer configured on a shared memory provided outside the serial data transmission / reception device and shared by the serial data transmission / reception device and another functional unit A transmission / reception buffer access means for writing the reception data and reading the transmission data from the transmission / reception buffer, wherein the serial / parallel conversion means monitors the reception data and changes the first reception data after setting the reception start The received data from the point as valid received data. Sent to the buffer access means, the parallel / serial conversion means transmits the transmission data received from the transceiver buffer access means after setting the start of the transmission as a valid transmission data.
この構成によれば、シリアルデータ送受信用のバッファ、つまり、送受信バッファが、他の機能ユニットとの共有メモリ上に構成され、シリアルデータ送受信装置が、他の機能ユニット(例えばCPU等)を介さずに直接共有メモリへアクセスを行うことが可能であるので、大きなサイズの送受信を行いやすく、他の機能ユニットが受信データを取得したり送信データを設定したりするためには、単に共有メモリにアクセスを行えばよいため、送受信データを他の機能ユニット(例えばCPU等)とやり取りすることが効率的に行える。また、シリアルデータの送受信を行わない場合には、送受信バッファの領域を他の機能ユニットが他の用途に転用して用いることが可能である。さらに、受信開始の設定後、最初の受信データの変化点から送受信バッファへの受信データの格納が行われるため、最初の有効な受信データ前の無駄な受信データが共有メモリに格納されることがないため、他の機能ユニット(例えばCPU等)による受信データの処理を効率的に行うことが可能である。 According to this configuration, a serial data transmission / reception buffer, that is, a transmission / reception buffer is configured on a shared memory with other functional units, and the serial data transmission / reception device does not pass through other functional units (for example, a CPU). Since it is possible to access the shared memory directly, it is easy to send and receive large sizes, and in order for other functional units to acquire received data or set transmit data, simply access the shared memory. Therefore, it is possible to efficiently exchange transmission / reception data with other functional units (for example, a CPU). When serial data transmission / reception is not performed, the transmission / reception buffer area can be used by another functional unit for other purposes. Furthermore, since reception data is stored in the transmission / reception buffer from the change point of the first reception data after the start of reception is set, useless reception data before the first valid reception data may be stored in the shared memory. Therefore, it is possible to efficiently process received data by other functional units (for example, a CPU).
このシリアルデータ送受信装置において、前記シリアル/パラレル変換手段は、受信開始の設定後の最初の受信データの変化点を検出した際、その変化前の1ビットを含めて有効な受信データとして前記送受信バッファアクセス手段に出力する。 In this serial data transmission / reception apparatus, when the serial / parallel conversion means detects the change point of the first reception data after setting the reception start, the transmission / reception buffer as valid reception data including 1 bit before the change is received. Output to access means.
この構成によれば、最初の受信データの変化点における変化前の1ビットも送受信バッファに格納されるため、他の機能ユニット(例えばCPU等)によるパケットのスタートビットの検出処理などを、より高い精度で行うことができる。 According to this configuration, since the 1 bit before the change at the change point of the first received data is also stored in the transmission / reception buffer, the detection processing of the start bit of the packet by other functional units (for example, CPU, etc.) is higher. Can be done with precision.
このシリアルデータ送受信装置において、前記パラレル/シリアル変換手段は、既定のデータ量の送信が完了すると、指示を受けることなくデータ送信を停止する。 In this serial data transmission / reception apparatus, the parallel / serial conversion means stops data transmission without receiving an instruction when transmission of a predetermined amount of data is completed.
この構成によれば、予め設定されたデータ量の送信が完了すると自動的に送信が停止するため、送受信バッファ上に格納された不当なデータが誤って送信されてしまうことがない。 According to this configuration, when transmission of a preset amount of data is completed, the transmission is automatically stopped, so that invalid data stored in the transmission / reception buffer is not erroneously transmitted.
上記シリアルデータ送受信装置において、前記送受信バッファの領域の始端アドレス及び終端アドレスは、前記シリアルデータ送受信装置の外部の機能ユニットによって、前記共有メモリのアドレスにて設定される。 In the serial data transmission / reception device, the start and end addresses of the transmission / reception buffer area are set by the function unit outside the serial data transmission / reception device at the address of the shared memory.
この構成によれば、共有メモリ上における送受信バッファの領域の位置及びサイズを自由に設定できるため、必要十分な量の領域を送受信バッファ用に確保し、それ以外の領域を他の機能ユニットが使用することで、システム全体として効率的に共有メモリを使用することが可能になる。 According to this configuration, since the position and size of the transmission / reception buffer area on the shared memory can be set freely, a necessary and sufficient amount of area is reserved for the transmission / reception buffer, and other functional units use the other areas. By doing so, it becomes possible to efficiently use the shared memory as the entire system.
このシリアルデータ送受信装置において、前記送受信バッファの領域の前記始端アドレス及び前記終端アドレスは、前記外部の機能ユニットにより任意の値に設定可能である。 In this serial data transmitter / receiver, the start address and the end address of the transmission / reception buffer area can be set to arbitrary values by the external functional unit.
このシリアルデータ送受信装置において、前記送受信バッファアクセス手段は、前記送受信バッファからの送信データの読出し位置、または前記送受信バッファへの受信データの書き込み位置を指し示すポインタを備え、前記ポインタの値はデータの送信または受信が行われる毎にインクリメントされ、前記ポインタの値が前記終端アドレスに一致すると前記始端アドレスに再設定される。 In this serial data transmission / reception device, the transmission / reception buffer access means includes a pointer indicating a reading position of transmission data from the transmission / reception buffer or a writing position of reception data to the transmission / reception buffer, and the value of the pointer is a value of data transmission Alternatively, it is incremented every time reception is performed, and is reset to the start address when the value of the pointer matches the end address.
この構成によれば、共有メモリの一部、この場合は、送受信バッファをリングバッファとして使用することが可能になる。 According to this configuration, a part of the shared memory, in this case, the transmission / reception buffer can be used as a ring buffer.
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。また、信号のどのビットかを示す必要があるときは、信号名の後に、[a:b]あるいは[a]を付する。[a:b]は、その信号の第a番目のビットから第b番目のビットを意味し、[a]は、その信号の第a番目のビットを意味する。「0b」は2進数を、「0x」は16進数を意味する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals, and the description thereof is incorporated. When it is necessary to indicate which bit of the signal, [a: b] or [a] is added after the signal name. [A: b] means the a-th bit to the b-th bit of the signal, and [a] means the a-th bit of the signal. “0b” means a binary number, and “0x” means a hexadecimal number.
図1は、本発明の実施の形態によるマルチメディアプロセッサ1の内部構成を示すブロック図である。図1に示すように、このマルチメディアプロセッサは、外部メモリインタフェース3、DMAC(direct memory access controller)4、中央演算処理装置(以下、「CPU」と呼ぶ。)5、CPUローカルRAM7、レンダリングプロセッシングユニット(以下、「RPU」と呼ぶ。)9、カラーパレットRAM11、サウンドプロセシングユニット(以下、「SPU」と呼ぶ。)13、SPUローカルRAM15、ジオメトリエンジン(以下、「GE」と呼ぶ。)17、Yソーティングユニット(以下、「YSU」と呼ぶ。)19、外部インタフェースブロック21、メインRAMアクセスアービタ23、メインRAM25、I/Oバス27、ビデオDAC(digital to analog converter)29、オーディオDACブロック31、及びA/Dコンバータ(以下、「ADC」と呼ぶ。)33を具備する。メインRAM25及び外部メモリ50を区別して説明する必要がないときは、「メモリMEM」と表記する。
FIG. 1 is a block diagram showing an internal configuration of a
CPU5は、メモリMEMに格納されたプログラムを実行して、各種演算やシステム全体の制御を行う。また、CPU5は、DMAC4にプログラム及びデータの転送要求を行うこともできるし、DMAC4を介さずに、外部メモリ50から直接プログラムコードをフェッチし、外部メモリ50に直接データアクセスを行うこともできる。
The CPU 5 executes programs stored in the memory MEM to perform various calculations and control of the entire system. Further, the CPU 5 can make a program and data transfer request to the
I/Oバス27は、CPU5をバスマスタとするシステム制御用のバスであり、バススレイブである各機能ユニット(外部メモリインタフェース3、DMAC4、RPU9、SPU13、GE17、YSU19、及び外部インタフェースブロック21)の制御レジスタ及びローカルRAM7,11,15へのアクセスに用いられる。このようにして、これらの機能ユニットは、I/Oバス27を通じて、CPU5により制御される。
The I /
CPUローカルRAM7は、CPU5専用のRAMであり、サブルーチンコールや割り込み時におけるデータの退避などを行うためのスタック領域、及びCPU5のみが扱う変数の格納領域等として使用される。
The CPU
RPU9は、ポリゴン及びスプライトから構成される三次元イメージをリアルタイムに生成する。具体的には、RPU9は、YSU19によるソート済みの、ポリゴン構造体配列の各構造体インスタンス及びスプライト構造体配列の各構造体インスタンスを、メインRAM25から読み出し、所定の処理を実行して、スクリーン(表示領域)のスキャンに合わせて水平ラインごとにイメージを生成する。生成されたイメージは、コンポジットビデオ信号波形を示すデータストリームに変換され、ビデオDAC29に出力される。また、RPU9は、DMAC4に対して、ポリゴン及びスプライトのテクスチャパターンデータの取り込みのためのDMA転送要求を行う機能を有する。
The
テクスチャパターンデータとは、ポリゴンまたはスプライトに貼り付けられる2次元の画素配列データであり、各画素データは、カラーパレットRAM11のエントリを指定するための情報の一部である。以降、テクスチャパターンデータの画素を「テクセル」と呼称し、スクリーンに表示されるイメージを構成する画素を指す「ピクセル」とは区別して使用する。従って、テクスチャパターンデータは、テクセルデータの集合である。
The texture pattern data is two-dimensional pixel array data that is pasted on a polygon or sprite. Each pixel data is a part of information for designating an entry in the
ポリゴン構造体配列は、多角形状のグラフィック要素であるポリゴンのための構造体配列であり、スプライト構造体配列は、スクリーンに平行な矩形のグラフィック要素であるスプライトのための構造体配列である。ポリゴン構造体配列の要素を、「ポリゴン構造体インスタンス」と呼び、スプライト構造体配列の要素を、「スプライト構造体インスタンス」と呼ぶ。ただし、両者を区別して説明する必要がないときは、単に「構造体インスタンス」と呼ぶこともある。 The polygon structure array is a structure array for polygons that are polygonal graphic elements, and the sprite structure array is a structure array for sprites that are rectangular graphic elements parallel to the screen. The elements of the polygon structure array are called “polygon structure instances”, and the elements of the sprite structure array are called “sprite structure instances”. However, when it is not necessary to distinguish between the two, they may be simply referred to as “structure instances”.
ポリゴン構造体配列に格納された各ポリゴン構造体インスタンスは、ポリゴンごとの表示情報(スクリーンにおける頂点座標、テクスチャマッピングモードでのテクスチャパターンに関する情報及びグーローシェーディングモードでのカラーデータ(RGBのカラーコンポーネント)を含む。)であり、1つのポリゴン構造体インスタンスに1つのポリゴンが対応している。スプライト構造体配列に格納された各スプライト構造体インスタンスは、スプライトごとの表示情報(スクリーンにおける座標及びテクスチャパターンに関する情報を含む。)であり、1つのスプライト構造体インスタンスに1つのスプライトが対応している。 Each polygon structure instance stored in the polygon structure array contains display information for each polygon (vertex coordinates on the screen, information on texture patterns in texture mapping mode, and color data in Gouraud shading mode (RGB color components)) In other words, one polygon corresponds to one polygon structure instance. Each sprite structure instance stored in the sprite structure array is display information for each sprite (including information on coordinates and texture patterns on the screen), and one sprite structure instance corresponds to one sprite structure instance. Yes.
ビデオDAC29は、アナログのビデオ信号を生成するためのデジタル/アナログ変換器である。ビデオDAC29は、RPU9から入力されたデータストリームをアナログのコンポジットビデオ信号に変換し、ビデオ信号出力端子(図示せず)からテレビジョンモニタ等(図示せず)に出力する。
The video DAC 29 is a digital / analog converter for generating an analog video signal. The
カラーパレットRAM11は、本実施の形態では512色すなわち512エントリのカラーパレットからなる。RPU9は、テクスチャパターンデータに含まれるテクセルデータをカラーパレットのエントリを指定するインデックスの一部として、カラーパレットRAM11を参照し、テクスチャパターンデータを、カラーデータ(RGBのカラーコンポーネント)に変換する。
In the present embodiment, the
SPU13は、PCM(pulse code modulation)波形データ(以下、「ウェーブデータ」と呼ぶ。)、アンプリチュードデータ、及びメインボリュームデータを生成する。具体的には、SPU13は、最大64チャンネル分のウェーブデータを生成して時分割多重化するとともに、最大64チャンネル分のエンベロープデータを生成してチャンネルボリュームデータと乗算し、アンプリチュードデータを時分割多重化する。そして、SPU13は、メインボリュームデータ、時分割多重化されたウェーブデータ、及び時分割多重化されたアンプリチュードデータを、オーディオDACブロック31に出力する。また、SPU13は、DMAC4に対して、ウェーブデータ及びエンベロープデータの取り込みのためのDMA転送要求を行う機能を有する。
The
オーディオDACブロック31は、SPU13から入力されたウェーブデータ、アンプリチュードデータ、及びメインボリュームデータをそれぞれアナログ信号に変換し、結果をアナログ乗算して、アナログオーディオ信号を生成する。このアナログオーディオ信号は、オーディオ信号出力端子(図示せず)からテレビジョンモニタ等(図示せず)のオーディオ入力端子(図示せず)に出力される。
The
SPUローカルRAM15は、SPU13がウェーブ再生及びエンベロープ生成を行う際に用いるパラメータ(例えば、ウェーブデータやエンベロープデータの格納アドレスやピッチ情報など)を格納する。
The SPU
GE17は、三次元イメージを表示するための幾何演算を実行する。具体的には、GE17は、行列積、ベクトルアフィン変換、ベクトル直交変換、透視投影変換、頂点明度/ポリゴン明度計算(ベクトル内積)、及びポリゴン裏面カリング処理(ベクトル外積)などの演算を実行する。
The
YSU19は、メインRAM25に格納されているポリゴン構造体配列の各構造体インスタンス及びスプライト構造体配列の各構造体インスタンスを、ソートルール1〜4に従ってソートする。この場合、ポリゴン構造体配列とスプライト構造体配列とで、別個にソートが行われる。
The
以下、YSU19によるソートルール1〜4について説明するが、その前に座標系について説明する。テレビジョンモニタ等のディスプレイ装置(図示せず)への実際の表示に用いられる二次元座標系をスクリーン座標系と呼ぶ。本実施の形態では、スクリーン座標系は、水平方向2048ピクセル×垂直方向1024ピクセルの2次元ピクセル配列から構成される。座標原点は左上にあり、右方向がX軸の正、下方向がY軸の正に相当する。ただし、実際に表示される領域は、スクリーン座標系の全空間ではなく一部の空間である。この表示領域をスクリーンと呼ぶことにする。
Hereinafter, the sorting
ソートルール1は、最小Y座標が小さい順に、各ポリゴン構造体インスタンスを並べ替えることである。最小Y座標とは、ポリゴンの全頂点のY座標のうち、最も小さいY座標のことである。Y座標はスクリーンの垂直座標であり、下向きが正方向である。ソートルール2は、最小Y座標が同じである複数のポリゴンについては、デプス値が大きい順に、各ポリゴン構造体インスタンスを並べることである。
Sort
ただし、YSU19は、スクリーンの先頭ラインに表示されるピクセルを持つ複数のポリゴンについては、最小Y座標が異なっている場合でも、それらが同一であるとみなして、ソートルール1ではなく、ソートルール2に従って、各ポリゴン構造体インスタンスの並べ替えを行う。つまり、スクリーンの先頭ラインに表示されるピクセルを持つポリゴンが複数存在する場合は、最小Y座標が同一であるとみなして、デプス値が大きい順に並べ替えられる。これがソートルール3である。
However, the
インタレーススキャンの場合でも、ソートルール1〜3が適用される。ただし、奇数フィールドを表示するためのソートでは、奇数ラインに表示されるポリゴンの最小Y座標及び/又はその奇数ラインの1つ前の偶数ラインに表示されるポリゴンの最小Y座標が同一であるとみなして、ソートルール2によるソートを行う。ただし、先頭の奇数ラインは除く。なぜなら、その1つ前の偶数ラインが存在しないからである。一方、偶数フィールドを表示するためのソートでは、偶数ラインに表示されるポリゴンの最小Y座標及び/又はその偶数ラインの1つ前の奇数ラインに表示されるポリゴンの最小Y座標が同一であるとみなして、ソートルール2によるソートを行う。これがソートルール4である。
Sort
スプライトに関するソートルール1〜4は、それぞれポリゴンに関するソートルール1〜4と同様である。
Sort
外部メモリインタフェース3は、外部バス51を介して、外部メモリ50からのデータの読み出し、及び外部メモリ50へのデータの書き込みを司る。この場合、外部メモリインタフェース3は、図示しないEBI優先順位テーブルに従って、CPU5及びDMAC4からの外部バスアクセス要求要因(外部バス51へのアクセスを要求する要因)を調停して、いずれか1つの外部バスアクセス要求要因を選択する。そして、選択した外部バスアクセス要求要因に対して外部バス51へのアクセスを許可する。EBI優先順位テーブルは、CPU5からの複数種類の外部バスアクセス要求要因及びDMAC4からの外部バスアクセス要求要因の優先順位を定めたテーブルである。
The
外部バスアクセス要求要因として、CPUに含まれる図示しないIPL(initial program loader)によるブロック転送要求、CPU5によるデータアクセス要求、CPU5による命令フェッチ要求、及びDMAC4によるDMA要求がある。
As external bus access request factors, there are a block transfer request by an IPL (initial program loader) (not shown) included in the CPU, a data access request by the CPU 5, an instruction fetch request by the CPU 5, and a DMA request by the
DMAC4は、メインRAM25と、外部バス51に接続された外部メモリ50と、の間でDMA転送を行う。この場合、DMAC4は、図示しないDMA優先順位テーブルに従って、CPU5、RPU9、及びSPU13からのDMA転送要求要因(DMA転送を要求する要因)を調停して、いずれか1つのDMA転送要求要因を選択する。そして、外部メモリインタフェース3に対して、DMA要求を行う。DMA優先順位テーブルは、CPU5、RPU9、及びSPU13からのDMA要求要因の優先順位を定めたテーブルである。
The
SPU13のDMA要求要因として、(1)ウェーブデータをウェーブバッファに転送すること、(2)エンベロープデータをエンベロープバッファに転送すること、がある。ウェーブバッファ及びエンベロープバッファは、それぞれメインRAM25上に設定されるウェーブデータ及びエンベロープデータのテンポラリ格納領域である。なお、SPU13の2つのDMA要求要因間の調停は、SPU13内のハードウェア(図示せず)で行われ、DMAC4は関知しない。
The DMA request factors of the
RPU9のDMA要求要因として、テクスチャパターンデータをテクスチャバッファに転送すること、がある。テクスチャバッファは、メインRAM25上に設定されるテクスチャパターンデータのテンポラリ格納領域である。
As a DMA request factor of the
CPU5のDMA要求要因として、(1)仮想記憶管理においてページミスが発生した場合のページ転送、(2)アプリケーションプログラム等が要求するデータ転送、がある。なお、CPU5内で複数のDMA転送要求が同時に発生した場合は、その調停はCPU5で実行されるソフトウェアにて行われ、DMAC4は関知しない。
The DMA request factors of the CPU 5 include (1) page transfer when a page miss occurs in virtual storage management, and (2) data transfer requested by an application program or the like. When a plurality of DMA transfer requests are generated simultaneously in the CPU 5, the arbitration is performed by software executed by the CPU 5, and the
本発明の特徴の1つである外部インタフェースブロック21は、周辺装置54とのインタフェースであり、24チャンネルのプログラマブルなデジタル入出力ポートを含む。以下、これらの入出力ポートを総称して、「PIO」と呼ぶ。また、各PIOを区別するときは、それぞれをPIO0〜PIO23と表記する。24チャンネルのPIOの各々は、4チャンネル分のマウスインタフェース機能、4チャンネル分のライトガンインタフェース機能、2チャンネル分の汎用タイマ/カウンタ、1チャンネル分の調歩同期式シリアルインタフェース機能、および1チャンネル分の汎用パラレル/シリアル変換ポート機能のうち1または複数に内部接続されている。
The
ADC33は、4チャンネルのアナログ入力ポートに接続され、これらを介して、アナログ入力装置52から入力されたアナログ信号をデジタル信号に変換する。例えば、マイク音声等のアナログ入力信号をサンプリングしてデジタルデータに変換する。
The
メインRAMアクセスアービタ23は、機能ユニット(CPU5、RPU9、GE17、YSU19、DMAC4、及び外部インタフェースブロック21(汎用パラレル/シリアル変換ポート)からのメインRAM25へのアクセス要求を調停して、いずれかの機能ユニットにアクセス許可を出す。
The main
メインRAM25は、CPU5のワーク領域、変数格納領域、および仮想記憶管理領域等として利用される。また、メインRAM25は、CPU5が他の機能ユニットに受け渡すデータの格納領域、RPU9及びSPU13が外部メモリ50からDMAによって取得したデータの格納領域、GE17及びYSU19の入力データ及び出力データの格納領域等としても使用される。また、本発明の特徴である外部インタフェースブロック内の汎用パラレル/シリアル変換ポート91(後述)の送受信データの格納領域としても使用される。
The
外部バス51は、外部メモリ50にアクセスするためのバスである。CPU5およびDMAC4から、外部メモリインタフェース3を介してアクセスされる。外部バス51のアドレスバスは、30ビットから成り、最大で1Gバイト(=8Gビット)の外部メモリ50を接続することができる。外部バス51のデータバスは、16ビットから成り、8ビット又は16ビットのデータバス幅を持つ外部メモリ50を接続できる。異なるデータバス幅を持つ外部メモリを同時に接続可能であり、アクセスする外部メモリによってデータバス幅を自動的に切り替える機能が備えられる。
The
図2は、図1の外部インタフェースブロック21の内部構成を示すブロック図である。図2を参照して、外部インタフェースブロック21は、PIO設定部55、マウスインタフェース60〜63、ライトガンインタフェース70〜73、汎用タイマ/カウンタ80、調歩同期式シリアルインタフェース90、及び汎用パラレル/シリアル変換ポート91を含む。
FIG. 2 is a block diagram showing an internal configuration of the
PIO設定部55は、周辺装置54とマルチメディアプロセッサ1との間の入出力信号のポートであるPIO0〜PIO23の各種設定を行う機能ブロックである。具体的には、PIO設定部55は、入力ポートとして使用/出力ポートとして使用、内部プルアップ抵抗の有無、及び内部プルダウン抵抗の有無をPIO毎に設定する。また、PIO設定部55は、各PIOと各機能60〜63,70〜73,80,90及び91との接続/非接続の設定を行う。これらの設定は、I/Oバス27を通じて、CPU5が、PIO設定部55内の制御レジスタ(図示せず)の値を書き換えることにより行われる。
The
マウスインタフェース60〜63の各々は、マウスやトラックボールなどのポインティングデバイスとの接続に用いられる機能ブロックである。4チャンネル分のマウスインタフェース60〜63が備えられており、最大4つのマウス等のデバイスを接続することが可能である。 Each of the mouse interfaces 60 to 63 is a functional block used for connection with a pointing device such as a mouse or a trackball. Mouse interfaces 60 to 63 for four channels are provided, and a maximum of four devices such as a mouse can be connected.
マウスインタフェース60〜63の各々は、入力ポートとして設定された対応する4つのPIOと接続され、4つのPIOのうち、2つはX軸用であり、他の2つはY軸用である。そして、X軸用及びY軸用のそれぞれに、90度位相のずれた2本のロータリーエンコーダ信号が入力される。マウスインタフェース60〜63の各々は、ロータリーエンコーダ信号の位相の変化を検出してX座標及びY座標のそれぞれのカウンタをインクリメント/デクリメントする。このカウンタのカウント値は、I/Oバス27を通じて、CPU5により読み出される。また、このカウンタのカウント値をCPU5がI/Oバス27を通じて書き換えることも可能である。
Each of the mouse interfaces 60 to 63 is connected to corresponding four PIOs set as input ports, and two of the four PIOs are for the X axis and the other two are for the Y axis. Then, two rotary encoder signals that are 90 degrees out of phase are input to the X-axis and Y-axis, respectively. Each of the mouse interfaces 60 to 63 detects a change in the phase of the rotary encoder signal and increments / decrements the respective counters of the X coordinate and the Y coordinate. The count value of this counter is read by the CPU 5 through the I /
ライトガンインタフェース70〜73の各々は、ライトペンやライトガンなどの、CRT(ブラウン管)に対するポインティングデバイスとの接続に用いられる機能ブロックである。4チャンネル分のライトガンインタフェース70〜73が備えられており、最大4つのライトガン等のデバイスを接続することが可能である。 Each of the light gun interfaces 70 to 73 is a functional block used for connecting a pointing device to a CRT (CRT) such as a light pen or a light gun. Light gun interfaces 70 to 73 for four channels are provided, and up to four devices such as light guns can be connected.
ライトガンインタフェースの70〜73の各々は、入力ポートとして設定された対応する1つのPIOと接続される。そして、ライトガンインタフェースの70〜73が、対応するPIOから入力される信号に立ち上がり(ロウレベルからハイレベルへの遷移)を検出すると、RPU9内の水平カウンタの値がラッチされ、同時に、立ち上がりを検出したライトガンインタフェースの70〜73は、CPU5に対する割り込み要求信号IRQ0〜IRQ3を発生する。
Each of the light gun interfaces 70 to 73 is connected to a corresponding one PIO set as an input port. When the
CPU5は、ライトガンインタフェース70〜73から要求された割り込み処理の中で、RPU9内の垂直カウンタの現在値をリードするとともに、ラッチされた水平カウンタの値をリードすることにより、入力信号に立ち上がりが検出された時の垂直カウンタ及び水平カウンタの値を知ることができる。つまり、CPU5は、CRT画面のどの位置をライトガン等のデバイスが指し示しているかを知ることができる。
The CPU 5 reads the current value of the vertical counter in the
この場合、立ち上がりでなく立ち下がり(ハイレベルからロウレベルへの遷移)での水平カウントのラッチ及び割り込み要求信号IRQ0〜IRQ3の発生を行うように変更することが可能である。立ち上がり/立ち下がりの設定、割り込み要求信号IRQ0〜IRQ3発生のイネーブル/ディセーブルの設定、及び水平カウンタの値の読み込みは、CPU5が、I/Oバス27を通じて、ライトガンインタフェース70〜73内の制御レジスタ(図示せず)にアクセスすることによって行われる。
In this case, the horizontal count can be latched and the interrupt request signals IRQ0 to IRQ3 can be generated not at the rising edge but at the falling edge (transition from the high level to the low level). Setting of rising / falling, enabling / disabling generation of interrupt request signals IRQ0 to IRQ3, and reading of the value of the horizontal counter are controlled by the CPU 5 through the I /
汎用タイマ/カウンタ80は、様々な用途で使用可能なプログラマブルな2チャンネルのタイマ/カウンタを含む。タイマ/カウンタの各々は、マルチメディアプロセッサ1内部のシステムクロックで駆動される場合はタイマとして、入力ポートとして設定されたPIO(例えばPIO6)からの入力信号で駆動される場合はカウンタとして機能する。
The general purpose timer /
2チャンネルのタイマ/カウンタのそれぞれに対し個別の設定を行うことが可能である。このタイマ/カウンタのカウント値が既定の値に達すると、CPU5に対する割り込み要求信号IRQ4を発生させることが可能である。 Individual settings can be made for each of the two-channel timer / counter. When the count value of the timer / counter reaches a predetermined value, an interrupt request signal IRQ4 for the CPU 5 can be generated.
タイマまたはカウンタとしての設定、既定のカウント値の設定、及び割り込み要求信号IRQ4発生のイネーブル/ディセーブルの設定は、CPU5が、I/Oバス27を通じて、汎用タイマ/カウンタ80内の制御レジスタ(図示せず)にアクセスすることによって行われる。
The setting as a timer or counter, the setting of a predetermined count value, and the setting of enabling / disabling generation of the interrupt request signal IRQ4 are performed by the CPU 5 via the I /
調歩同期式シリアルインタフェース90は、全二重調歩同期式のシリアルデータ通信を行うシリアルインタフェースである。「全二重」とは、データの送信と受信とを同時に行うことのできる方式を指し、「調歩同期」とは、同期のためのクロック信号等を特に用いずに、スタートビット及びストップビットを用いて受信データの同期を取る方式を指す。調歩同期式シリアルインタフェース90の通信方式は、パーソナルコンピュータのシリアル入出力ポート等に用いられているUART(Universal Asynchronous Receiver Transmitter)と互換性がある。
The asynchronous
外部への送信データは、I/Oバス27を通じCPU5によって調歩同期式シリアルインタフェース90内の送信バッファ(図示せず)に書き込まれる。送信バッファに書き込まれた送信データは、調歩同期式シリアルインタフェース90によって、パラレルデータからシリアルデータ列に変換され、出力ポートとして設定されたPIO(例えばPIO2)から1ビットずつ出力される。
Data to be transmitted to the outside is written into a transmission buffer (not shown) in the asynchronous
一方、入力ポートとして設定されたPIO(例えばPIO1)から1ビットずつ入力された外部からの受信データは、調歩同期式シリアルインタフェース90によって、シリアルデータ列からパラレルデータに変換され、調歩同期式シリアルインタフェース90内の受信バッファ(図示せず)に書き込まれる。受信バッファに書き込まれた受信データは、I/Oバス27を通じCPU5によって読み出される。
On the other hand, externally received data input bit by bit from a PIO set as an input port (for example, PIO1) is converted from a serial data string to parallel data by an asynchronous
また、調歩同期式シリアルインタフェース90は、送信バッファに格納された全データの送信が完了した際、あるいは受信バッファに受信データがフルに格納された際に、CPU5に割り込み要求信号IRQ5を発生することが可能である。送信バッファへのデータの書込み、受信バッファからのデータの読出し、通信ボーレート(baudrate)の設定、および割り込み要求信号IRQ5発生のイネーブル/ディセーブルの設定は、CPU5が、I/Oバスを通じて、調歩同期式シリアルインタフェース90内の制御レジスタ(図示せず)にアクセスすることによって行われる。なお、通信ボーレートは、データ変調回数/秒で表され、実質的には、bps(bit per second)に相当する。
The asynchronous
汎用パラレル/シリアル変換ポート91は、半二重のシリアルデータ通信を行うシリアルインタフェースである。「半二重」とは、データの送信と受信とが同時には行われず、送信または受信のどちらかに切り換えながら通信が行われる方式を指す。
The general-purpose parallel /
メインRAM25上に構成された送受信バッファSRBから読み出された送信データは、汎用パラレル/シリアル変換ポート91によって、パラレルデータからシリアルデータ列に変換され、出力ポートとして設定されたPIO(例えばPIO5)から1ビットずつ出力される。
Transmission data read from the transmission / reception buffer SRB configured on the
一方、入力ポートとして設定されたPIO(例えばPIO4)から1ビットずつ入力された受信データは、汎用パラレル/シリアル変換ポート91によって、シリアルデータ列からパラレルデータに変換され、メインRAM25上の送受信バッファSRBに書き込まれる。
On the other hand, received data input bit by bit from a PIO set as an input port (for example, PIO4) is converted from a serial data string to parallel data by a general-purpose parallel /
以上のように、メインRAM25上の送受信バッファSRBは、送信および受信の両方に用いられるため、送受信を同時に行うことはできない。送受信バッファSRBへの送信データの書込み、および送受信バッファSRBからの受信データの読出しは、CPU5が直接メインRAM25にアクセスすることで行われる。
As described above, since the transmission / reception buffer SRB on the
汎用パラレル/シリアル変換ポート91は、送受信バッファSRBからの既定のバイト数のデータ送信が完了した際、あるいは送受信バッファSRBに既定バイト数の受信データが格納された際に、CPU5に割り込み要求信号IRQ6を発生することが可能である。送信または受信の設定、送受信バッファSRB領域の設定、通信ボーレートの設定、および割り込み要求信号IRQ6発生のイネーブル/ディセーブルの設定は、CPU5が、I/Oバスを通じて、汎用パラレル/シリアル変換ポート91内の制御レジスタ(後述の図7参照)にアクセスすることによって行われる。
The general-purpose parallel /
上記のように、汎用パラレル/シリアル変換ポート91は、メインRAM25上に構成された送受信バッファSRBに対してアクセスする機能を有する。メインRAM25へのアクセスを行う際、汎用パラレル/シリアル変換ポート91は、メインRAMアクセスアービタ23にアクセス要求を発行する。メインRAMアクセスアービタ23からメインRAM25へのアクセスが許可されると、汎用パラレル/シリアル変換ポート91は、実際にメインRAM25からのリードデータの受領、あるいはメインRAM25へのライトデータの送出を行う。
As described above, the general-purpose parallel /
なお、図2において、PIO設定部55と周辺装置54との間の入出力信号PIO[23:0]は、それぞれ、同名のPIOを介した入出力信号である。
In FIG. 2, input / output signals PIO [23: 0] between the
図3は、図2の汎用パラレル/シリアル変換ポート91の内部構成を示すブロック図である。図3を参照して、汎用パラレル/シリアル変換ポート91は、コントローラ900、送受信シフトレジスタ902、及び送受信バッファレジスタ904を含む。
FIG. 3 is a block diagram showing an internal configuration of the general-purpose parallel /
コントローラ900は、I/Oバス27を通じてCPU5から制御レジスタ(後述の図7参照)に書き込まれた設定値に従い、送受信シフトレジスタ902および送受信バッファレジスタ904を制御し、データの送受信を司る。具体的には次の通りである。
The
コントローラ900は、送受信バッファレジスタ904に格納されたデータをメインRAM25上の送受信バッファSRBに書き込むために、あるいはメインRAM25上の送受信バッファSRBから読み出したデータを送受信バッファレジスタ904に格納するために、メインRAMアクセスアービタ23へのアクセス要求の発行、およびアクセス許可の受領を行う。
The
また、コントローラ900は、データの送受信が行われる際、制御レジスタ(後述の図7参照)に設定された通信ボーレートに従い、シリアルデータクロックSDCKを生成し、PIO設定部55に出力する。PIO設定部55は、コントローラ900から出力されるシリアルデータクロックSDCKをPIO(例えばPIO3)から周辺装置54に出力する。
In addition, when data is transmitted and received, the
さらに、コントローラ900は、既定のバイト数の送信が完了した際、あるいは既定のバイト数の受信が完了した際に、CPU5に対する割り込み要求信号IRQ6を発行する機能を有する。但し、割り込み要求信号IRQ6発生のイネーブル/ディセーブルは、I/Oバス27を通じてCPU5から制御レジスタ(後述の図7参照)に設定される。
Further, the
送受信バッファレジスタ904は、64ビットの大きさを持つレジスタであり、コントローラ900からの制御に従って動作する。具体的には次の通りである。
The transmission /
データ送信時は、送受信バッファレジスタ904は、メインRAMアクセスアービタ23から受領した64ビットのデータを一時的に格納し、送受信シフトレジスタ902からのデータ送信が完了したタイミングで、格納したデータを送受信シフトレジスタ902に転送する。送受信シフトレジスタ902への入力データは、パラレルデータである。
At the time of data transmission, the transmission /
一方、データ受信時は、送受信バッファレジスタ904は、送受信シフトレジスタ902から転送される64ビット分の受信データを一時的に格納し、メインRAM25への書き込みが許可されたタイミングで格納したデータをメインRAMアクセスアービタ23に出力する。送受信バッファレジスタ904への入力データは、パラレルデータである。
On the other hand, at the time of data reception, the transmission /
送受信シフトレジスタ902は、64ビットの大きさを持つシフトレジスタであり、コントローラ900からの制御に従って動作する。具体的には次の通りである。
The transmission /
データ送信時は、送受信シフトレジスタ902は、送受信バッファレジスタ904から受領した64ビットのデータをシリアルデータクロックSDCKに同期して1ビットずつ出力する。つまり、送受信シフトレジスタ902は、64ビットのパラレルデータをシリアルデータ列SDSに変換して出力する。
At the time of data transmission, the transmission /
一方、データ受信時は、送受信シフトレジスタ902は、受信したシリアルデータ列SDRをシリアルデータクロックSDCKに同期してサンプリングして1ビットずつ格納し、64ビット分の受信データが揃ったタイミングで送受信バッファレジスタ904に送出する。つまり、送受信シフトレジスタ902は、受信したシリアルデータ列SDRを64ビットのパラレルデータに変換して出力する。
On the other hand, at the time of data reception, the transmission /
送信データ(送信シリアルデータ)SDSは、PIO設定部55を通じてPIO(例えばPIO5)から出力され、受信データ(受信シリアルデータ)SDRは、PIO設定部55を通じてPIO(例えばPIO4)から入力される。
Transmission data (transmission serial data) SDS is output from the PIO (for example, PIO5) through the
図4は、図2の汎用パラレル/シリアル変換ポート91で行われるデータ受信処理のタイミングチャートである。図4(a)に示すように、汎用パラレル/シリアル変換ポート91は、受信シリアルデータSDRを、図4(b)のシリアルデータクロックSDCKに同期してサンプリングするが、汎用パラレル/シリアル変換ポート91内の制御レジスタ(後述の図7参照)に受信イネーブルの設定がされていない期間(時刻t0以前)では、サンプリングされたデータSDRは、送受信シフトレジスタ902に格納されない。つまり、図4(c)に示すように、受信イネーブルに設定される時刻t0以前の受信データSDRは、有効な受信データVDRとして扱われない。
FIG. 4 is a timing chart of data reception processing performed by the general-purpose parallel /
ただし、受信イネーブルに設定されても、受信シリアルデータSDRが即座に有効な受信データVDRとして送受信シフトレジスタ902に格納されるとは限らない。受信イネーブルに設定後、受信シリアルデータSDRに信号レベルの変化(ハイレベルからロウレベル、またはロウレベルからハイレベル)が検出された時点から、有効な受信データVDRとして送受信シフトレジスタ902へのデータ入力が開始される。
However, even if reception enable is set, reception serial data SDR is not always stored in transmission /
この場合、実際には、受信シリアルデータSDRに信号レベルの変化が検出された際の変化前の1ビットを含む受信シリアルデータSDRが、有効な受信データVDRとして扱われる。図4(a)では、時刻t1で受信シリアルデータSDRのハイレベルからロウレベルへの信号レベルの変化が検出されているが、変化前のハイレベル(つまり「1」)の1ビットも、有効な受信データVDRとして扱われる。 In this case, actually, the reception serial data SDR including one bit before the change when the signal level change is detected in the reception serial data SDR is handled as valid reception data VDR. In FIG. 4A, the change in the signal level from the high level to the low level of the received serial data SDR is detected at time t1, but one bit of the high level (that is, “1”) before the change is also effective. Treated as received data VDR.
汎用パラレル/シリアル変換ポート91は、予め制御レジスタ(後述の図7参照)に設定された受信バイト数RBの有効データVDRの受信が完了すると、CPU5に割り込み要求信号IRQ6を発生することが可能である。但し、CPU5への割り込み要求信号IRQ6発生後もデータ受信は継続されるため、CPU5は、受信データがメインRAM25の送受信バッファSRBをオーバーフローする前に、送受信バッファSRBから受信データを読み出す必要がある。また、CPU5は、I/Oバス27を通じて現在の受信バイト数を読み出すことができるため、割り込み要求信号IRQ6の発生がディセーブルに設定されている場合には、現在の受信バイト数を監視しながら、送受信バッファSRB上での受信データの書込みによるバッファのオーバーランが発生しないように送受信バッファSRBからデータを読み出す必要がある。
The general-purpose parallel /
図5は、図2の汎用パラレル/シリアル変換ポート91で行われるデータ送信処理のタイミングチャートである。図5(b)に示すように、汎用パラレル/シリアル変換ポート91は、送信シリアルデータSDSの送出を、図5(a)のシリアルデータクロックSDCKに同期して行うが、汎用パラレル/シリアル変換ポート91内の制御レジスタ(後述の図7参照)に送信イネーブルの設定がされていない期間(時刻t以前)では、出力ポートとしてのPIO(例えばPIO5)からのデータ送信は行われない。つまり、図5(b)に示すように、送信イネーブルに設定される時刻t以前の送信データは、同じレベル(値)を保持している。
FIG. 5 is a timing chart of data transmission processing performed in the general-purpose parallel /
送信イネーブルに設定された時刻t以後、送受信シフトレジスタ902に格納された値が1ビットずつ出力ポートとしてのPIO(例えばPIO5)から出力される。設定された送信バイト数SBの出力が完了すると、データ送信は自動的に(指示を受けることなく)停止する。また、CPU5への割り込み要求信号IRQ6の発生がイネーブルに設定されている場合、送信完了のタイミングでCPU5に対する割り込み要求信号IRQ6が出力される。
After the time t when transmission is enabled, the value stored in the transmission /
図6は、図1のメインRAM25上に構成される、汎用パラレル/シリアル変換ポート91のための送受信バッファSRBの説明図である。図6に示すように、メインRAM25上に構成される上記した送受信バッファSRBは、メインRAM25の物理アドレス空間に配置される。送受信バッファSRBの始端アドレスSADおよび終端アドレスEADは、汎用パラレル/シリアル変換ポート91内の制御レジスタ(後述の図7参照)に設定される。始端アドレスSADおよび終端アドレスEADの値は、メインRAM25の物理アドレスで示される。設定は、I/Oバス27を通じて、CPU5によって行われる。
FIG. 6 is an explanatory diagram of the transmission / reception buffer SRB for the general-purpose parallel /
この送受信バッファSRBは、リングバッファとして扱われる。つまり、現在のリード位置/ライト位置を示すリードアドレス/ライトアドレスの値は順次インクリメントされ、終端アドレスEADに一致すると始端アドレスSADに再設定される。CPU5は、I/Oバス27を通じて、ポインタRWPが指し示すリードアドレス/ライトアドレスの現在値を読み出すことができる。
This transmission / reception buffer SRB is treated as a ring buffer. That is, the value of the read address / write address indicating the current read position / write position is sequentially incremented and reset to the start address SAD when it matches the end address EAD. The CPU 5 can read the current value of the read address / write address indicated by the pointer RWP through the I /
図7は、図2の汎用パラレル/シリアル変換ポート91に関連する制御レジスタの説明図である。汎用パラレル/シリアル変換ポート91は、図7に示す制御レジスタを備える。なお、各制御レジスタは、図中対応するI/Oバスアドレスに配置される。
FIG. 7 is an explanatory diagram of a control register related to the general-purpose parallel /
図7(a)の制御レジスタSIOBaudrateは、汎用パラレル/シリアル変換ポート91で送受信に使用するシリアルデータクロックSDCKを作成するためのボーレートジェネレータ(図示せず)のカウンタの加算データを設定する。これは通信ボーレートの設定に相当する。図7(b)の制御レジスタSIOInterruptClearは、ビット0に「1」を書き込むことにより、汎用パラレル/シリアル変換ポート91の割り込み要因をクリアする。すなわち、割り込み要求信号IRQ6がアサートされている状態で、制御レジスタSIOInterruptClearのビット0に「1」を書き込むと、割り込み要求信号IRQ6がネゲートされる。
The control register SIOBaudrate in FIG. 7A sets addition data of a counter of a baud rate generator (not shown) for creating a serial data clock SDCK used for transmission / reception by the general-purpose parallel /
図7(c)の制御レジスタSIOInterruptEnableは、ビット0に「1」を設定することにより、汎用パラレル/シリアル変換ポート91の送信完了割り込み又は汎用パラレル/シリアル変換ポート91の既定バイト数受信完了割り込みを許可する。
The control register SIOInterruptEnable in FIG. 7C sets a
図7(d)の制御レジスタSIOStatusは、ビット0が、既定バイト数受信完了割り込み発生の有無を示し、ビット1が「0」のときは、汎用パラレル/シリアル変換ポート91が送信又は受信を行っていないことを示し、ビット1が「1」のときは、送信又は受信を実行中であることを示す。ビット2は、データ送信が未完了か完了かを示す。
In the control register SIOSstatus of FIG. 7D,
図7(e)の制御レジスタSIOControlは、ビット0が、データ転送の方向(受信モード/送信モード)を示し、ビット1が、データ送受信のイネーブル/ディセーブルを示す。図7(f)の制御レジスタSIOBufferTopAddressは、送受信データを格納する送受信バッファSRBの始端アドレスSADを設定する。図7(g)の制御レジスタSIOBufferEndAddressは、送受信データを格納する送受信バッファSRBの終端アドレスEADを設定する。
In the control register SIOControl of FIG. 7E,
図7(h)の制御レジスタSIOByteCountは、送信時には、送信データのバイト数を設定し、受信時には、何バイト受信する度に割り込みを発生させるか、そのバイト数を設定する。図7(i)の制御レジスタSIOCurrentBufferAddressは、現在の送受信バッファSRBのポインタRWPが指し示すリードアドレスあるいはライトアドレスを示す。 The control register SIOByteCount in FIG. 7 (h) sets the number of bytes of transmission data at the time of transmission, and sets the number of bytes at which an interrupt is generated each time it is received. The control register SIOCurrentBufferAddress in FIG. 7 (i) indicates the read address or write address indicated by the pointer RWP of the current transmission / reception buffer SRB.
さて、以上のように、シリアルデータ送受信用のバッファ、つまり、送受信バッファSRBが、CPU5等の他の機能ユニットと共有されるメインRAM25上に構成され、汎用パラレル/シリアル変換ポート91が、CPU5を介さずに直接メインRAM25へアクセスを行うことが可能であるので、大きなサイズの送受信を行いやすく、CPU5が受信データを取得したり送信データを設定したりするためには、単にメインRAM25にアクセスを行えばよいため、送受信データをCPU5とやり取りすることが効率的に行える。また、シリアルデータの送受信を行わない場合には、送受信バッファSRBの領域を他の機能ユニットが他の用途に転用して用いることが可能である。さらに、受信開始の設定後、最初の受信データの変化点から送受信バッファSRBへの受信データの格納が行われるため、最初の有効な受信データ前の無駄な受信データがメインRAM25に格納されることがないため、CPU5による受信データの処理を効率的に行うことが可能である。
As described above, the serial data transmission / reception buffer, that is, the transmission / reception buffer SRB is configured on the
また、本実施の形態では、図4に示すように、最初の受信データSDRの変化点における変化前の1ビットも送受信バッファSRBに格納されるため、CPU5によるパケットのスタートビットの検出処理などを、より高い精度で行うことができる。 Further, in the present embodiment, as shown in FIG. 4, since 1 bit before the change at the change point of the first received data SDR is also stored in the transmission / reception buffer SRB, the CPU 5 performs the process of detecting the start bit of the packet and the like. Can be done with higher accuracy.
さらに、本実施の形態では、汎用パラレル/シリアル変換ポート91は、既定のデータ量の送信が完了すると、指示を受けることなく自動的にデータ送信を停止する。このため、送受信バッファSRB上に格納された不当なデータが誤って送信されてしまうことがない。
Furthermore, in this embodiment, the general-purpose parallel /
さらに、本実施の形態では、送受信バッファSRBの領域の始端アドレスSAD及び終端アドレスEADは、CPU5によって、メインRAM25の物理アドレスにて任意の値に設定される。このように、送受信バッファSRBの領域の位置及びサイズを自由に設定できるため、必要十分な量の領域を送受信バッファSRB用に確保し、それ以外の領域を他の機能ユニットが使用することで、システム全体として効率的にメインRAM25を使用することが可能になる。
Furthermore, in the present embodiment, the start address SAD and the end address EAD of the area of the transmission / reception buffer SRB are set to arbitrary values by the CPU 5 with the physical address of the
さらに、本実施の形態では、ポインタRWPの値はデータの送信または受信が行われる毎にインクリメントされ、ポインタRWPの値が終端アドレスEADに一致すると始端アドレスSADに再設定される。このようにして、送受信バッファSRBをリングバッファとして使用している。 Furthermore, in the present embodiment, the value of the pointer RWP is incremented every time data is transmitted or received, and is reset to the start address SAD when the value of the pointer RWP matches the end address EAD. In this way, the transmission / reception buffer SRB is used as a ring buffer.
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能である。 In addition, this invention is not restricted to said embodiment, It is possible to implement in a various aspect in the range which does not deviate from the summary.
1…マルチメディアプロセッサ、3…外部メモリインタフェース、4…DMAC、5…CPU、7…CPUローカルRAM、9…RPU、11…カラーパレットRAM、13…SPU、15…SPUローカルRAM、17…GE、19…YSU、21…外部インタフェースブロック、23…メインRAMアクセスアービタ、25…メインRAM、27…I/Oバス、29…ビデオDAC、31…オーディオDACブロック、51…外部バス、50…外部メモリ、55…PIO設定部、91…シリアル変換ポート、900…コントローラ、902…送受信シフトレジスタ、904…送受信バッファレジスタ。
DESCRIPTION OF
Claims (6)
受信したシリアルデータをパラレルデータに変換するシリアル/パラレル変換手段と、
パラレルデータをシリアルデータに変換して送信するパラレル/シリアル変換手段と、
前記シリアルデータ送受信装置の外部に設けられた共有メモリ上に構成される送受信バッファに受信データを書き込み、かつ、前記送受信バッファに格納された送信データを読み込む送受信バッファアクセス手段と、を備え、
前記シリアル/パラレル変換手段は、受信データを監視し、受信開始の設定後の最初の受信データの変化点から受信データを有効な受信データとして前記送受信バッファアクセス手段に送出し、
前記パラレル/シリアル変換手段は、送信開始の設定後から前記送受信バッファアクセス手段から受領した送信データを有効な送信データとして送信し、
前記送受信バッファが構成される前記共有メモリは、前記シリアルデータ送受信装置と他の機能ユニットとで共有され、
前記送受信バッファは、送信及び受信の両方で用いられる、シリアルデータ送受信装置。 A serial data transmitting / receiving device that transmits and receives serial data in half duplex ,
Serial / parallel conversion means for converting received serial data into parallel data;
Parallel / serial conversion means for converting parallel data into serial data and transmitting the data;
Transmission / reception buffer access means for writing reception data to a transmission / reception buffer configured on a shared memory provided outside the serial data transmission / reception device, and reading transmission data stored in the transmission / reception buffer,
The serial / parallel conversion means monitors the received data, and sends the received data as valid received data from the change point of the first received data after setting of the reception start to the transmission / reception buffer access means,
The parallel / serial conversion means transmits the transmission data received from the transceiver buffer access means after setting the start of the transmission as valid transmission data,
The shared memory in which the transmission / reception buffer is configured is shared by the serial data transmission / reception device and other functional units,
The transmission / reception buffer is a serial data transmission / reception device used for both transmission and reception .
前記ポインタの値はデータの送信または受信が行われる毎にインクリメントされ、前記ポインタの値が前記終端アドレスに一致すると前記始端アドレスに再設定される、請求項4又は5記載のシリアルデータ送受信装置。 The transmission / reception buffer access means includes a pointer that indicates a reading position of transmission data from the transmission / reception buffer or a writing position of reception data to the transmission / reception buffer,
6. The serial data transmitting / receiving apparatus according to claim 4, wherein the value of the pointer is incremented every time data is transmitted or received, and is reset to the start address when the pointer value matches the end address.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005318902A JP5061272B2 (en) | 2005-11-01 | 2005-11-01 | Serial data transmitter / receiver |
PCT/JP2006/316787 WO2007023975A1 (en) | 2005-08-22 | 2006-08-21 | Multi-processor, direct memory access controller, and serial data transmitting/receiving apparatus |
US12/064,179 US20090259789A1 (en) | 2005-08-22 | 2006-08-21 | Multi-processor, direct memory access controller, and serial data transmitting/receiving apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005318902A JP5061272B2 (en) | 2005-11-01 | 2005-11-01 | Serial data transmitter / receiver |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007128189A JP2007128189A (en) | 2007-05-24 |
JP5061272B2 true JP5061272B2 (en) | 2012-10-31 |
Family
ID=38150810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005318902A Expired - Fee Related JP5061272B2 (en) | 2005-08-22 | 2005-11-01 | Serial data transmitter / receiver |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5061272B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0581185A (en) * | 1991-09-25 | 1993-04-02 | Nec Corp | Inter-cpu communication system |
JPH06177941A (en) * | 1992-12-09 | 1994-06-24 | Nec Ic Microcomput Syst Ltd | Home bus controller |
JPH06243067A (en) * | 1993-02-19 | 1994-09-02 | Fuji Xerox Co Ltd | Data transfer device |
JP3839068B2 (en) * | 1994-05-10 | 2006-11-01 | 株式会社ルネサステクノロジ | Semiconductor integrated circuit device |
JPH1198200A (en) * | 1997-09-19 | 1999-04-09 | Matsushita Electric Ind Co Ltd | Start-stop synchronization type serial data transmission and reception method, transmitter, receiver and transmitter-receiver |
JP2004266335A (en) * | 2003-01-31 | 2004-09-24 | Toyota Industries Corp | Start-stop synchronization-type serial communication circuit and semiconductor integrated circuit having the same circuit |
-
2005
- 2005-11-01 JP JP2005318902A patent/JP5061272B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007128189A (en) | 2007-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6347344B1 (en) | Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor | |
US20090259789A1 (en) | Multi-processor, direct memory access controller, and serial data transmitting/receiving apparatus | |
TW460781B (en) | A data cache system | |
US6608625B1 (en) | Three dimensional graphic processor | |
US7185126B2 (en) | Universal serial bus hub with shared transaction translator memory | |
WO2000022538A1 (en) | A data streamer | |
JP3350043B2 (en) | Graphic processing apparatus and graphic processing method | |
KR20150091663A (en) | System comprising multi channel memory and operating method for the same | |
CN107967225B (en) | Data transmission method and device, computer readable storage medium and terminal equipment | |
JP2012089158A (en) | Graphics processing system provided with function extension type memory controller | |
JPH0792654B2 (en) | Video data frame transmission method and apparatus | |
EP3159802B1 (en) | Sharing method and device for pcie i/o device and interconnection system | |
CN112131176B (en) | FPGA (field programmable Gate array) quick local reconstruction method based on PCIE (peripheral component interface express) | |
AU2011203640B2 (en) | User interface unit for fetching only active regions of a frame | |
JPS62248030A (en) | Apparatus for distributing display memory between updating process and display process in programmable manner for raster scan video controller | |
EP1625506B1 (en) | Usb host controller with memory for transfer descriptors | |
US6795075B1 (en) | Graphic processor having multiple geometric operation units and method of processing data thereby | |
JP5061272B2 (en) | Serial data transmitter / receiver | |
JP3467382B2 (en) | High speed processor | |
US20040078502A1 (en) | Virtual I/O device coupled to memory controller | |
US8151015B2 (en) | Systems and methods for effecting DMA data transfers | |
EP4220431A1 (en) | Data processing method and related apparatus | |
JP2007066142A (en) | Direct memory access controller | |
JP2007058276A (en) | Multiprocessor | |
JP2006113906A (en) | Bus monitoring device and controller with bus monitoring device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100728 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100915 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101012 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120131 |
|
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: 20150817 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |