JP5061272B2 - Serial data transmitter / receiver - Google Patents

Serial data transmitter / receiver Download PDF

Info

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
Application number
JP2005318902A
Other languages
Japanese (ja)
Other versions
JP2007128189A (en
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.)
SSD Co Ltd
Original Assignee
SSD Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SSD Co Ltd filed Critical SSD Co Ltd
Priority to JP2005318902A priority Critical patent/JP5061272B2/en
Priority to PCT/JP2006/316787 priority patent/WO2007023975A1/en
Priority to US12/064,179 priority patent/US20090259789A1/en
Publication of JP2007128189A publication Critical patent/JP2007128189A/en
Application granted granted Critical
Publication of JP5061272B2 publication Critical patent/JP5061272B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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 Document 1 introduces a computer system including an input / output controller having a serial port.

David A.Patterson/John L.Hennessy著,成田光彰訳,「コンピュータの構成と設計(下)」,第2版,日経BP社,1999年5月17日,p.639,640David A. Patterson / John L. Hennessy, Mitsuaki Narita, “Computer Configuration and Design (2)”, 2nd edition, Nikkei Business Publications, May 17, 1999, p. 639,640

ところが、非特許文献1には、入出力コントローラによる具体的な送受信の手順については開示がない。   However, Non-Patent Document 1 does not disclose a specific transmission / reception procedure by the input / output controller.

そこで、本発明は、他の機能ユニットとの間で送受信データのやり取りを効率的に行うことができ、しかも、他の機能ユニットの処理軽減に貢献でき、かつ、共有資源を効率的に使用できるシリアルデータ送受信装置及びその関連技術を提供することを目的とする。   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 multimedia processor 1 according to the embodiment of the present invention. As shown in FIG. 1, this multimedia processor includes an external memory interface 3, a DMAC (direct memory access controller) 4, a central processing unit (hereinafter referred to as “CPU”) 5, a CPU local RAM 7, and a rendering processing unit. (Hereinafter referred to as “RPU”) 9, color palette RAM 11, sound processing unit (hereinafter referred to as “SPU”) 13, SPU local RAM 15, geometry engine (hereinafter referred to as “GE”) 17, Y Sorting unit (hereinafter referred to as “YSU”) 19, external interface block 21, main RAM access arbiter 23, main RAM 25, I / O bus 27, video DAC (digital to analog con) Erter) 29, audio DAC block 31, and A / D converter (hereinafter, referred to as "ADC".) 33 comprises a. When it is not necessary to distinguish between the main RAM 25 and the external memory 50, they are referred to as “memory MEM”.

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 DMAC 4, and can directly fetch the program code from the external memory 50 and directly access the external memory 50 without going through the DMAC 4.

I/Oバス27は、CPU5をバスマスタとするシステム制御用のバスであり、バススレイブである各機能ユニット(外部メモリインタフェース3、DMAC4、RPU9、SPU13、GE17、YSU19、及び外部インタフェースブロック21)の制御レジスタ及びローカルRAM7,11,15へのアクセスに用いられる。このようにして、これらの機能ユニットは、I/Oバス27を通じて、CPU5により制御される。   The I / O bus 27 is a bus for system control using the CPU 5 as a bus master, and is a functional unit (external memory interface 3, DMAC 4, RPU 9, SPU 13, GE 17, YSU 19, and external interface block 21) that is a bus slave. It is used to access the control registers and local RAMs 7, 11 and 15. In this way, these functional units are controlled by the CPU 5 through the I / O bus 27.

CPUローカルRAM7は、CPU5専用のRAMであり、サブルーチンコールや割り込み時におけるデータの退避などを行うためのスタック領域、及びCPU5のみが扱う変数の格納領域等として使用される。   The CPU local RAM 7 is a RAM dedicated to the CPU 5, and is used as a stack area for saving data at the time of a subroutine call or interruption, a storage area for variables handled only by the CPU 5, and the like.

RPU9は、ポリゴン及びスプライトから構成される三次元イメージをリアルタイムに生成する。具体的には、RPU9は、YSU19によるソート済みの、ポリゴン構造体配列の各構造体インスタンス及びスプライト構造体配列の各構造体インスタンスを、メインRAM25から読み出し、所定の処理を実行して、スクリーン(表示領域)のスキャンに合わせて水平ラインごとにイメージを生成する。生成されたイメージは、コンポジットビデオ信号波形を示すデータストリームに変換され、ビデオDAC29に出力される。また、RPU9は、DMAC4に対して、ポリゴン及びスプライトのテクスチャパターンデータの取り込みのためのDMA転送要求を行う機能を有する。   The RPU 9 generates a three-dimensional image composed of polygons and sprites in real time. Specifically, the RPU 9 reads each structure instance of the polygon structure array and each structure instance of the sprite structure array sorted by the YSU 19 from the main RAM 25, executes a predetermined process, and executes a screen ( An image is generated for each horizontal line according to the scanning of the display area. The generated image is converted into a data stream indicating a composite video signal waveform and output to the video DAC 29. Further, the RPU 9 has a function of making a DMA transfer request to the DMAC 4 for taking in texture pattern data of polygons and sprites.

テクスチャパターンデータとは、ポリゴンまたはスプライトに貼り付けられる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 color palette RAM 11. Hereinafter, the pixels of the texture pattern data are referred to as “texels”, and are used separately from “pixels” that indicate the pixels constituting the image displayed on the screen. Therefore, the texture pattern data is a set of texel data.

ポリゴン構造体配列は、多角形状のグラフィック要素であるポリゴンのための構造体配列であり、スプライト構造体配列は、スクリーンに平行な矩形のグラフィック要素であるスプライトのための構造体配列である。ポリゴン構造体配列の要素を、「ポリゴン構造体インスタンス」と呼び、スプライト構造体配列の要素を、「スプライト構造体インスタンス」と呼ぶ。ただし、両者を区別して説明する必要がないときは、単に「構造体インスタンス」と呼ぶこともある。   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 video DAC 29 converts the data stream input from the RPU 9 into an analog composite video signal, and outputs it from a video signal output terminal (not shown) to a television monitor or the like (not shown).

カラーパレットRAM11は、本実施の形態では512色すなわち512エントリのカラーパレットからなる。RPU9は、テクスチャパターンデータに含まれるテクセルデータをカラーパレットのエントリを指定するインデックスの一部として、カラーパレットRAM11を参照し、テクスチャパターンデータを、カラーデータ(RGBのカラーコンポーネント)に変換する。   In the present embodiment, the color palette RAM 11 is composed of a color palette of 512 colors, that is, 512 entries. The RPU 9 refers to the color palette RAM 11 using the texel data included in the texture pattern data as part of an index for designating the entry of the color palette, and converts the texture pattern data into color data (RGB color components).

SPU13は、PCM(pulse code modulation)波形データ(以下、「ウェーブデータ」と呼ぶ。)、アンプリチュードデータ、及びメインボリュームデータを生成する。具体的には、SPU13は、最大64チャンネル分のウェーブデータを生成して時分割多重化するとともに、最大64チャンネル分のエンベロープデータを生成してチャンネルボリュームデータと乗算し、アンプリチュードデータを時分割多重化する。そして、SPU13は、メインボリュームデータ、時分割多重化されたウェーブデータ、及び時分割多重化されたアンプリチュードデータを、オーディオDACブロック31に出力する。また、SPU13は、DMAC4に対して、ウェーブデータ及びエンベロープデータの取り込みのためのDMA転送要求を行う機能を有する。   The SPU 13 generates PCM (pulse code modulation) waveform data (hereinafter referred to as “wave data”), amplitude data, and main volume data. Specifically, the SPU 13 generates wave data for a maximum of 64 channels and time-division multiplexes, generates envelope data for a maximum of 64 channels and multiplies the channel volume data, and time-divisions the amplitude data. Multiplex. Then, the SPU 13 outputs main volume data, time-division multiplexed wave data, and time-division multiplexed amplitude data to the audio DAC block 31. Further, the SPU 13 has a function of making a DMA transfer request for taking in wave data and envelope data to the DMAC 4.

オーディオDACブロック31は、SPU13から入力されたウェーブデータ、アンプリチュードデータ、及びメインボリュームデータをそれぞれアナログ信号に変換し、結果をアナログ乗算して、アナログオーディオ信号を生成する。このアナログオーディオ信号は、オーディオ信号出力端子(図示せず)からテレビジョンモニタ等(図示せず)のオーディオ入力端子(図示せず)に出力される。   The audio DAC block 31 converts the wave data, amplitude data, and main volume data input from the SPU 13 into analog signals, and multiplies the results to generate analog audio signals. This analog audio signal is output from an audio signal output terminal (not shown) to an audio input terminal (not shown) of a television monitor or the like (not shown).

SPUローカルRAM15は、SPU13がウェーブ再生及びエンベロープ生成を行う際に用いるパラメータ(例えば、ウェーブデータやエンベロープデータの格納アドレスやピッチ情報など)を格納する。   The SPU local RAM 15 stores parameters used when the SPU 13 performs wave reproduction and envelope generation (for example, storage addresses and pitch information of wave data and envelope data).

GE17は、三次元イメージを表示するための幾何演算を実行する。具体的には、GE17は、行列積、ベクトルアフィン変換、ベクトル直交変換、透視投影変換、頂点明度/ポリゴン明度計算(ベクトル内積)、及びポリゴン裏面カリング処理(ベクトル外積)などの演算を実行する。   The GE 17 executes a geometric operation for displaying a three-dimensional image. Specifically, the GE 17 performs operations such as matrix product, vector affine transformation, vector orthogonal transformation, perspective projection transformation, vertex lightness / polygon lightness calculation (vector inner product), and polygon back surface culling processing (vector outer product).

YSU19は、メインRAM25に格納されているポリゴン構造体配列の各構造体インスタンス及びスプライト構造体配列の各構造体インスタンスを、ソートルール1〜4に従ってソートする。この場合、ポリゴン構造体配列とスプライト構造体配列とで、別個にソートが行われる。   The YSU 19 sorts each structure instance of the polygon structure array and each structure instance of the sprite structure array stored in the main RAM 25 according to the sorting rules 1 to 4. In this case, the polygon structure array and the sprite structure array are separately sorted.

以下、YSU19によるソートルール1〜4について説明するが、その前に座標系について説明する。テレビジョンモニタ等のディスプレイ装置(図示せず)への実際の表示に用いられる二次元座標系をスクリーン座標系と呼ぶ。本実施の形態では、スクリーン座標系は、水平方向2048ピクセル×垂直方向1024ピクセルの2次元ピクセル配列から構成される。座標原点は左上にあり、右方向がX軸の正、下方向がY軸の正に相当する。ただし、実際に表示される領域は、スクリーン座標系の全空間ではなく一部の空間である。この表示領域をスクリーンと呼ぶことにする。   Hereinafter, the sorting rules 1 to 4 by the YSU 19 will be described, but before that, the coordinate system will be described. A two-dimensional coordinate system used for actual display on a display device (not shown) such as a television monitor is called a screen coordinate system. In this embodiment, the screen coordinate system is composed of a two-dimensional pixel array of 2048 pixels in the horizontal direction and 1024 pixels in the vertical direction. The coordinate origin is at the upper left, the right direction corresponds to the positive X axis, and the lower direction corresponds to the positive Y axis. However, the area actually displayed is not the entire space of the screen coordinate system but a part of the space. This display area is called a screen.

ソートルール1は、最小Y座標が小さい順に、各ポリゴン構造体インスタンスを並べ替えることである。最小Y座標とは、ポリゴンの全頂点のY座標のうち、最も小さいY座標のことである。Y座標はスクリーンの垂直座標であり、下向きが正方向である。ソートルール2は、最小Y座標が同じである複数のポリゴンについては、デプス値が大きい順に、各ポリゴン構造体インスタンスを並べることである。   Sort rule 1 is to rearrange the polygon structure instances in ascending order of the minimum Y coordinate. The minimum Y coordinate is the smallest Y coordinate among the Y coordinates of all the vertices of the polygon. The Y coordinate is the vertical coordinate of the screen, and the downward direction is the positive direction. Sort rule 2 is to arrange the polygon structure instances in descending order of the depth value for a plurality of polygons having the same minimum Y coordinate.

ただし、YSU19は、スクリーンの先頭ラインに表示されるピクセルを持つ複数のポリゴンについては、最小Y座標が異なっている場合でも、それらが同一であるとみなして、ソートルール1ではなく、ソートルール2に従って、各ポリゴン構造体インスタンスの並べ替えを行う。つまり、スクリーンの先頭ラインに表示されるピクセルを持つポリゴンが複数存在する場合は、最小Y座標が同一であるとみなして、デプス値が大きい順に並べ替えられる。これがソートルール3である。   However, the YSU 19 regards a plurality of polygons having pixels displayed on the first line of the screen as being the same even if the minimum Y coordinate is different, so that the sorting rule 2 is not the sorting rule 1. According to the above, the polygon structure instances are rearranged. That is, when there are a plurality of polygons having pixels displayed on the top line of the screen, the minimum Y coordinate is regarded as the same, and they are rearranged in descending order of the depth value. This is the sort rule 3.

インタレーススキャンの場合でも、ソートルール1〜3が適用される。ただし、奇数フィールドを表示するためのソートでは、奇数ラインに表示されるポリゴンの最小Y座標及び/又はその奇数ラインの1つ前の偶数ラインに表示されるポリゴンの最小Y座標が同一であるとみなして、ソートルール2によるソートを行う。ただし、先頭の奇数ラインは除く。なぜなら、その1つ前の偶数ラインが存在しないからである。一方、偶数フィールドを表示するためのソートでは、偶数ラインに表示されるポリゴンの最小Y座標及び/又はその偶数ラインの1つ前の奇数ラインに表示されるポリゴンの最小Y座標が同一であるとみなして、ソートルール2によるソートを行う。これがソートルール4である。   Sort rules 1 to 3 are applied even in the case of interlaced scanning. However, in the sorting for displaying the odd field, the minimum Y coordinate of the polygon displayed on the odd line and / or the minimum Y coordinate of the polygon displayed on the even line immediately before the odd line are the same. As a result, the sorting by the sorting rule 2 is performed. However, the first odd line is excluded. This is because there is no previous even line. On the other hand, in the sorting for displaying the even field, the minimum Y coordinate of the polygon displayed on the even line and / or the minimum Y coordinate of the polygon displayed on the odd line immediately before the even line are the same. As a result, the sorting by the sorting rule 2 is performed. This is sort rule 4.

スプライトに関するソートルール1〜4は、それぞれポリゴンに関するソートルール1〜4と同様である。   Sort rules 1 to 4 for sprites are the same as sort rules 1 to 4 for polygons, respectively.

外部メモリインタフェース3は、外部バス51を介して、外部メモリ50からのデータの読み出し、及び外部メモリ50へのデータの書き込みを司る。この場合、外部メモリインタフェース3は、図示しないEBI優先順位テーブルに従って、CPU5及びDMAC4からの外部バスアクセス要求要因(外部バス51へのアクセスを要求する要因)を調停して、いずれか1つの外部バスアクセス要求要因を選択する。そして、選択した外部バスアクセス要求要因に対して外部バス51へのアクセスを許可する。EBI優先順位テーブルは、CPU5からの複数種類の外部バスアクセス要求要因及びDMAC4からの外部バスアクセス要求要因の優先順位を定めたテーブルである。   The external memory interface 3 is responsible for reading data from the external memory 50 and writing data to the external memory 50 via the external bus 51. In this case, the external memory interface 3 arbitrates external bus access request factors (factors requesting access to the external bus 51) from the CPU 5 and the DMAC 4 in accordance with an EBI priority table (not shown), and any one of the external buses Select the access request factor. Then, access to the external bus 51 is permitted for the selected external bus access request factor. The EBI priority table is a table that defines priorities of a plurality of types of external bus access request factors from the CPU 5 and external bus access request factors from the DMAC 4.

外部バスアクセス要求要因として、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 DMAC 4.

DMAC4は、メインRAM25と、外部バス51に接続された外部メモリ50と、の間でDMA転送を行う。この場合、DMAC4は、図示しないDMA優先順位テーブルに従って、CPU5、RPU9、及びSPU13からのDMA転送要求要因(DMA転送を要求する要因)を調停して、いずれか1つのDMA転送要求要因を選択する。そして、外部メモリインタフェース3に対して、DMA要求を行う。DMA優先順位テーブルは、CPU5、RPU9、及びSPU13からのDMA要求要因の優先順位を定めたテーブルである。   The DMAC 4 performs DMA transfer between the main RAM 25 and the external memory 50 connected to the external bus 51. In this case, the DMAC 4 arbitrates DMA transfer request factors (factors that request DMA transfer) from the CPU 5, RPU 9, and SPU 13 according to a DMA priority table (not shown), and selects any one DMA transfer request factor. . Then, a DMA request is made to the external memory interface 3. The DMA priority table is a table that defines the priority of DMA request factors from the CPU 5, RPU 9, and SPU 13.

SPU13のDMA要求要因として、(1)ウェーブデータをウェーブバッファに転送すること、(2)エンベロープデータをエンベロープバッファに転送すること、がある。ウェーブバッファ及びエンベロープバッファは、それぞれメインRAM25上に設定されるウェーブデータ及びエンベロープデータのテンポラリ格納領域である。なお、SPU13の2つのDMA要求要因間の調停は、SPU13内のハードウェア(図示せず)で行われ、DMAC4は関知しない。   The DMA request factors of the SPU 13 include (1) transferring wave data to the wave buffer and (2) transferring envelope data to the envelope buffer. The wave buffer and envelope buffer are temporary storage areas for wave data and envelope data set on the main RAM 25, respectively. The arbitration between the two DMA request factors of the SPU 13 is performed by hardware (not shown) in the SPU 13, and the DMAC 4 is not concerned.

RPU9のDMA要求要因として、テクスチャパターンデータをテクスチャバッファに転送すること、がある。テクスチャバッファは、メインRAM25上に設定されるテクスチャパターンデータのテンポラリ格納領域である。   As a DMA request factor of the RPU 9, there is transferring the texture pattern data to the texture buffer. The texture buffer is a temporary storage area for texture pattern data set on the main RAM 25.

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 DMAC 4 is not concerned.

本発明の特徴の1つである外部インタフェースブロック21は、周辺装置54とのインタフェースであり、24チャンネルのプログラマブルなデジタル入出力ポートを含む。以下、これらの入出力ポートを総称して、「PIO」と呼ぶ。また、各PIOを区別するときは、それぞれをPIO0〜PIO23と表記する。24チャンネルのPIOの各々は、4チャンネル分のマウスインタフェース機能、4チャンネル分のライトガンインタフェース機能、2チャンネル分の汎用タイマ/カウンタ、1チャンネル分の調歩同期式シリアルインタフェース機能、および1チャンネル分の汎用パラレル/シリアル変換ポート機能のうち1または複数に内部接続されている。   The external interface block 21, which is one of the features of the present invention, is an interface with the peripheral device 54 and includes a 24-channel programmable digital input / output port. Hereinafter, these input / output ports are collectively referred to as “PIO”. Moreover, when distinguishing each PIO, each is described as PIO0-PIO23. Each 24-channel PIO has a mouse interface function for 4 channels, a light gun interface function for 4 channels, a general-purpose timer / counter for 2 channels, an asynchronous serial interface function for 1 channel, and a channel for 1 channel. Internally connected to one or more of the general-purpose parallel / serial conversion port functions.

ADC33は、4チャンネルのアナログ入力ポートに接続され、これらを介して、アナログ入力装置52から入力されたアナログ信号をデジタル信号に変換する。例えば、マイク音声等のアナログ入力信号をサンプリングしてデジタルデータに変換する。   The ADC 33 is connected to 4-channel analog input ports, and converts the analog signal input from the analog input device 52 into a digital signal via these. For example, an analog input signal such as a microphone sound is sampled and converted into digital data.

メインRAMアクセスアービタ23は、機能ユニット(CPU5、RPU9、GE17、YSU19、DMAC4、及び外部インタフェースブロック21(汎用パラレル/シリアル変換ポート)からのメインRAM25へのアクセス要求を調停して、いずれかの機能ユニットにアクセス許可を出す。   The main RAM access arbiter 23 arbitrates an access request to the main RAM 25 from the functional units (CPU 5, RPU 9, GE 17, YSU 19, DMAC 4, and external interface block 21 (general-purpose parallel / serial conversion port), and has any function. Grant access to the unit.

メインRAM25は、CPU5のワーク領域、変数格納領域、および仮想記憶管理領域等として利用される。また、メインRAM25は、CPU5が他の機能ユニットに受け渡すデータの格納領域、RPU9及びSPU13が外部メモリ50からDMAによって取得したデータの格納領域、GE17及びYSU19の入力データ及び出力データの格納領域等としても使用される。また、本発明の特徴である外部インタフェースブロック内の汎用パラレル/シリアル変換ポート91(後述)の送受信データの格納領域としても使用される。   The main RAM 25 is used as a work area, a variable storage area, a virtual storage management area, and the like for the CPU 5. Further, the main RAM 25 is a storage area for data that the CPU 5 delivers to other functional units, a storage area for data that the RPU 9 and SPU 13 have acquired from the external memory 50 by DMA, a storage area for input data and output data for the GE 17 and YSU 19, etc. Also used as Further, it is also used as a transmission / reception data storage area of a general-purpose parallel / serial conversion port 91 (described later) in the external interface block, which is a feature of the present invention.

外部バス51は、外部メモリ50にアクセスするためのバスである。CPU5およびDMAC4から、外部メモリインタフェース3を介してアクセスされる。外部バス51のアドレスバスは、30ビットから成り、最大で1Gバイト(=8Gビット)の外部メモリ50を接続することができる。外部バス51のデータバスは、16ビットから成り、8ビット又は16ビットのデータバス幅を持つ外部メモリ50を接続できる。異なるデータバス幅を持つ外部メモリを同時に接続可能であり、アクセスする外部メモリによってデータバス幅を自動的に切り替える機能が備えられる。   The external bus 51 is a bus for accessing the external memory 50. It is accessed from the CPU 5 and the DMAC 4 via the external memory interface 3. The address bus of the external bus 51 is composed of 30 bits, and an external memory 50 having a maximum of 1 Gbyte (= 8 Gbit) can be connected thereto. The data bus of the external bus 51 is composed of 16 bits, and can connect an external memory 50 having a data bus width of 8 bits or 16 bits. External memories having different data bus widths can be connected at the same time, and a function of automatically switching the data bus width according to the external memory to be accessed is provided.

図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 external interface block 21 of FIG. Referring to FIG. 2, external interface block 21 includes PIO setting unit 55, mouse interfaces 60 to 63, light gun interfaces 70 to 73, general-purpose timer / counter 80, asynchronous serial interface 90, and general-purpose parallel / serial conversion. Port 91 is included.

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 PIO setting unit 55 is a functional block that performs various settings of PIO 0 to PIO 23 that are ports of input / output signals between the peripheral device 54 and the multimedia processor 1. Specifically, the PIO setting unit 55 sets the use as an input port / use as an output port, the presence / absence of an internal pull-up resistor, and the presence / absence of an internal pull-down resistor for each PIO. The PIO setting unit 55 sets connection / disconnection between each PIO and each function 60 to 63, 70 to 73, 80, 90, and 91. These settings are performed by the CPU 5 rewriting the value of a control register (not shown) in the PIO setting unit 55 through the I / O bus 27.

マウスインタフェース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 / O bus 27. Further, the count value of this counter can be rewritten by the CPU 5 through the I / O bus 27.

ライトガンインタフェース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 light gun interface 70 to 73 detects a rise (transition from low level to high level) in the signal input from the corresponding PIO, the value of the horizontal counter in the RPU 9 is latched, and at the same time, the rise is detected. The light gun interfaces 70 to 73 generate interrupt request signals IRQ0 to IRQ3 for the CPU 5.

CPU5は、ライトガンインタフェース70〜73から要求された割り込み処理の中で、RPU9内の垂直カウンタの現在値をリードするとともに、ラッチされた水平カウンタの値をリードすることにより、入力信号に立ち上がりが検出された時の垂直カウンタ及び水平カウンタの値を知ることができる。つまり、CPU5は、CRT画面のどの位置をライトガン等のデバイスが指し示しているかを知ることができる。   The CPU 5 reads the current value of the vertical counter in the RPU 9 and reads the value of the latched horizontal counter in the interrupt processing requested from the light gun interfaces 70 to 73, so that the input signal rises. The values of the vertical counter and the horizontal counter when detected can be known. That is, the CPU 5 can know which position on the CRT screen is pointed to by a device such as a light gun.

この場合、立ち上がりでなく立ち下がり(ハイレベルからロウレベルへの遷移)での水平カウントのラッチ及び割り込み要求信号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 / O bus 27 in the light gun interfaces 70 to 73. This is done by accessing a register (not shown).

汎用タイマ/カウンタ80は、様々な用途で使用可能なプログラマブルな2チャンネルのタイマ/カウンタを含む。タイマ/カウンタの各々は、マルチメディアプロセッサ1内部のシステムクロックで駆動される場合はタイマとして、入力ポートとして設定されたPIO(例えばPIO6)からの入力信号で駆動される場合はカウンタとして機能する。   The general purpose timer / counter 80 includes a programmable two-channel timer / counter that can be used in various applications. Each of the timers / counters functions as a timer when driven by a system clock inside the multimedia processor 1, and functions as a counter when driven by an input signal from a PIO (for example, PIO6) set as an input port.

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 / O bus 27 in the control register (see FIG. (Not shown).

調歩同期式シリアルインタフェース90は、全二重調歩同期式のシリアルデータ通信を行うシリアルインタフェースである。「全二重」とは、データの送信と受信とを同時に行うことのできる方式を指し、「調歩同期」とは、同期のためのクロック信号等を特に用いずに、スタートビット及びストップビットを用いて受信データの同期を取る方式を指す。調歩同期式シリアルインタフェース90の通信方式は、パーソナルコンピュータのシリアル入出力ポート等に用いられているUART(Universal Asynchronous Receiver Transmitter)と互換性がある。   The asynchronous serial interface 90 is a serial interface that performs full-duplex asynchronous serial data communication. “Full duplex” refers to a method capable of simultaneously transmitting and receiving data, and “start-stop synchronization” refers to a start bit and a stop bit without using a clock signal for synchronization. Used to indicate a method for synchronizing received data. The communication method of the asynchronous serial interface 90 is compatible with a UART (Universal Asynchronous Receiver Transmitter) used for a serial input / output port of a personal computer.

外部への送信データは、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 serial interface 90 by the CPU 5 through the I / O bus 27. The transmission data written in the transmission buffer is converted from parallel data into a serial data string by the asynchronous serial interface 90, and is output bit by bit from the PIO (eg, PIO2) set as the output port.

一方、入力ポートとして設定された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 serial interface 90, and an asynchronous serial interface. The data is written in a reception buffer (not shown) in 90. The reception data written in the reception buffer is read out by the CPU 5 through the I / O bus 27.

また、調歩同期式シリアルインタフェース90は、送信バッファに格納された全データの送信が完了した際、あるいは受信バッファに受信データがフルに格納された際に、CPU5に割り込み要求信号IRQ5を発生することが可能である。送信バッファへのデータの書込み、受信バッファからのデータの読出し、通信ボーレート(baudrate)の設定、および割り込み要求信号IRQ5発生のイネーブル/ディセーブルの設定は、CPU5が、I/Oバスを通じて、調歩同期式シリアルインタフェース90内の制御レジスタ(図示せず)にアクセスすることによって行われる。なお、通信ボーレートは、データ変調回数/秒で表され、実質的には、bps(bit per second)に相当する。   The asynchronous serial interface 90 generates an interrupt request signal IRQ5 to the CPU 5 when transmission of all data stored in the transmission buffer is completed or when reception data is fully stored in the reception buffer. Is possible. Writing data to the transmission buffer, reading data from the reception buffer, setting the communication baud rate, and enabling / disabling the generation of the interrupt request signal IRQ5 are performed by the CPU 5 in an asynchronous manner via the I / O bus. This is done by accessing a control register (not shown) in the serial interface 90. The communication baud rate is represented by the number of data modulations / second, and substantially corresponds to bps (bit per second).

汎用パラレル/シリアル変換ポート91は、半二重のシリアルデータ通信を行うシリアルインタフェースである。「半二重」とは、データの送信と受信とが同時には行われず、送信または受信のどちらかに切り換えながら通信が行われる方式を指す。   The general-purpose parallel / serial conversion port 91 is a serial interface that performs half-duplex serial data communication. “Half-duplex” refers to a scheme in which data transmission and reception are not performed simultaneously, and communication is performed while switching between transmission and reception.

メインRAM25上に構成された送受信バッファSRBから読み出された送信データは、汎用パラレル/シリアル変換ポート91によって、パラレルデータからシリアルデータ列に変換され、出力ポートとして設定されたPIO(例えばPIO5)から1ビットずつ出力される。   Transmission data read from the transmission / reception buffer SRB configured on the main RAM 25 is converted from parallel data into a serial data string by the general-purpose parallel / serial conversion port 91, and from a PIO (for example, PIO5) set as an output port. One bit is output at a time.

一方、入力ポートとして設定された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 / serial conversion port 91, and a transmission / reception buffer SRB on the main RAM 25 is converted. Is written to.

以上のように、メインRAM25上の送受信バッファSRBは、送信および受信の両方に用いられるため、送受信を同時に行うことはできない。送受信バッファSRBへの送信データの書込み、および送受信バッファSRBからの受信データの読出しは、CPU5が直接メインRAM25にアクセスすることで行われる。   As described above, since the transmission / reception buffer SRB on the main RAM 25 is used for both transmission and reception, transmission / reception cannot be performed simultaneously. Writing of transmission data to the transmission / reception buffer SRB and reading of reception data from the transmission / reception buffer SRB are performed by the CPU 5 directly accessing the main RAM 25.

汎用パラレル/シリアル変換ポート91は、送受信バッファSRBからの既定のバイト数のデータ送信が完了した際、あるいは送受信バッファSRBに既定バイト数の受信データが格納された際に、CPU5に割り込み要求信号IRQ6を発生することが可能である。送信または受信の設定、送受信バッファSRB領域の設定、通信ボーレートの設定、および割り込み要求信号IRQ6発生のイネーブル/ディセーブルの設定は、CPU5が、I/Oバスを通じて、汎用パラレル/シリアル変換ポート91内の制御レジスタ(後述の図7参照)にアクセスすることによって行われる。   The general-purpose parallel / serial conversion port 91 sends an interrupt request signal IRQ6 to the CPU 5 when data transmission of a predetermined number of bytes from the transmission / reception buffer SRB is completed or when reception data of a predetermined number of bytes is stored in the transmission / reception buffer SRB. Can be generated. The transmission / reception setting, transmission / reception buffer SRB area setting, communication baud rate setting, and interrupt request signal IRQ6 generation enable / disable setting are performed by the CPU 5 in the general-purpose parallel / serial conversion port 91 via the I / O bus. This is done by accessing the control register (see FIG. 7 described later).

上記のように、汎用パラレル/シリアル変換ポート91は、メインRAM25上に構成された送受信バッファSRBに対してアクセスする機能を有する。メインRAM25へのアクセスを行う際、汎用パラレル/シリアル変換ポート91は、メインRAMアクセスアービタ23にアクセス要求を発行する。メインRAMアクセスアービタ23からメインRAM25へのアクセスが許可されると、汎用パラレル/シリアル変換ポート91は、実際にメインRAM25からのリードデータの受領、あるいはメインRAM25へのライトデータの送出を行う。   As described above, the general-purpose parallel / serial conversion port 91 has a function of accessing the transmission / reception buffer SRB configured on the main RAM 25. When accessing the main RAM 25, the general-purpose parallel / serial conversion port 91 issues an access request to the main RAM access arbiter 23. When access from the main RAM access arbiter 23 to the main RAM 25 is permitted, the general-purpose parallel / serial conversion port 91 actually receives read data from the main RAM 25 or sends write data to the main RAM 25.

なお、図2において、PIO設定部55と周辺装置54との間の入出力信号PIO[23:0]は、それぞれ、同名のPIOを介した入出力信号である。   In FIG. 2, input / output signals PIO [23: 0] between the PIO setting unit 55 and the peripheral device 54 are input / output signals via the PIO of the same name.

図3は、図2の汎用パラレル/シリアル変換ポート91の内部構成を示すブロック図である。図3を参照して、汎用パラレル/シリアル変換ポート91は、コントローラ900、送受信シフトレジスタ902、及び送受信バッファレジスタ904を含む。   FIG. 3 is a block diagram showing an internal configuration of the general-purpose parallel / serial conversion port 91 of FIG. Referring to FIG. 3, general-purpose parallel / serial conversion port 91 includes a controller 900, a transmission / reception shift register 902, and a transmission / reception buffer register 904.

コントローラ900は、I/Oバス27を通じてCPU5から制御レジスタ(後述の図7参照)に書き込まれた設定値に従い、送受信シフトレジスタ902および送受信バッファレジスタ904を制御し、データの送受信を司る。具体的には次の通りである。   The controller 900 controls the transmission / reception shift register 902 and the transmission / reception buffer register 904 according to the setting value written from the CPU 5 to the control register (see FIG. 7 described later) through the I / O bus 27, and controls the transmission / reception of data. Specifically, it is as follows.

コントローラ900は、送受信バッファレジスタ904に格納されたデータをメインRAM25上の送受信バッファSRBに書き込むために、あるいはメインRAM25上の送受信バッファSRBから読み出したデータを送受信バッファレジスタ904に格納するために、メインRAMアクセスアービタ23へのアクセス要求の発行、およびアクセス許可の受領を行う。   The controller 900 stores the data stored in the transmission / reception buffer register 904 in the transmission / reception buffer SRB on the main RAM 25 or stores the data read from the transmission / reception buffer SRB on the main RAM 25 in the transmission / reception buffer register 904. An access request is issued to the RAM access arbiter 23 and access permission is received.

また、コントローラ900は、データの送受信が行われる際、制御レジスタ(後述の図7参照)に設定された通信ボーレートに従い、シリアルデータクロックSDCKを生成し、PIO設定部55に出力する。PIO設定部55は、コントローラ900から出力されるシリアルデータクロックSDCKをPIO(例えばPIO3)から周辺装置54に出力する。   In addition, when data is transmitted and received, the controller 900 generates a serial data clock SDCK according to a communication baud rate set in a control register (see FIG. 7 described later), and outputs the serial data clock SDCK to the PIO setting unit 55. The PIO setting unit 55 outputs the serial data clock SDCK output from the controller 900 from the PIO (for example, PIO3) to the peripheral device 54.

さらに、コントローラ900は、既定のバイト数の送信が完了した際、あるいは既定のバイト数の受信が完了した際に、CPU5に対する割り込み要求信号IRQ6を発行する機能を有する。但し、割り込み要求信号IRQ6発生のイネーブル/ディセーブルは、I/Oバス27を通じてCPU5から制御レジスタ(後述の図7参照)に設定される。   Further, the controller 900 has a function of issuing an interrupt request signal IRQ6 to the CPU 5 when transmission of the predetermined number of bytes is completed or when reception of the predetermined number of bytes is completed. However, enabling / disabling of generation of the interrupt request signal IRQ6 is set from the CPU 5 to the control register (see FIG. 7 described later) through the I / O bus 27.

送受信バッファレジスタ904は、64ビットの大きさを持つレジスタであり、コントローラ900からの制御に従って動作する。具体的には次の通りである。   The transmission / reception buffer register 904 is a register having a 64-bit size, and operates according to control from the controller 900. Specifically, it is as follows.

データ送信時は、送受信バッファレジスタ904は、メインRAMアクセスアービタ23から受領した64ビットのデータを一時的に格納し、送受信シフトレジスタ902からのデータ送信が完了したタイミングで、格納したデータを送受信シフトレジスタ902に転送する。送受信シフトレジスタ902への入力データは、パラレルデータである。   At the time of data transmission, the transmission / reception buffer register 904 temporarily stores the 64-bit data received from the main RAM access arbiter 23, and transmits / receives the stored data at the timing when the data transmission from the transmission / reception shift register 902 is completed. Transfer to register 902. Input data to the transmission / reception shift register 902 is parallel data.

一方、データ受信時は、送受信バッファレジスタ904は、送受信シフトレジスタ902から転送される64ビット分の受信データを一時的に格納し、メインRAM25への書き込みが許可されたタイミングで格納したデータをメインRAMアクセスアービタ23に出力する。送受信バッファレジスタ904への入力データは、パラレルデータである。   On the other hand, at the time of data reception, the transmission / reception buffer register 904 temporarily stores the 64-bit reception data transferred from the transmission / reception shift register 902 and stores the data stored at the timing when writing to the main RAM 25 is permitted. The data is output to the RAM access arbiter 23. Input data to the transmission / reception buffer register 904 is parallel data.

送受信シフトレジスタ902は、64ビットの大きさを持つシフトレジスタであり、コントローラ900からの制御に従って動作する。具体的には次の通りである。   The transmission / reception shift register 902 is a shift register having a size of 64 bits and operates according to control from the controller 900. Specifically, it is as follows.

データ送信時は、送受信シフトレジスタ902は、送受信バッファレジスタ904から受領した64ビットのデータをシリアルデータクロックSDCKに同期して1ビットずつ出力する。つまり、送受信シフトレジスタ902は、64ビットのパラレルデータをシリアルデータ列SDSに変換して出力する。   At the time of data transmission, the transmission / reception shift register 902 outputs 64-bit data received from the transmission / reception buffer register 904 bit by bit in synchronization with the serial data clock SDCK. That is, the transmission / reception shift register 902 converts 64-bit parallel data into a serial data string SDS and outputs it.

一方、データ受信時は、送受信シフトレジスタ902は、受信したシリアルデータ列SDRをシリアルデータクロックSDCKに同期してサンプリングして1ビットずつ格納し、64ビット分の受信データが揃ったタイミングで送受信バッファレジスタ904に送出する。つまり、送受信シフトレジスタ902は、受信したシリアルデータ列SDRを64ビットのパラレルデータに変換して出力する。   On the other hand, at the time of data reception, the transmission / reception shift register 902 samples the received serial data string SDR in synchronization with the serial data clock SDCK, stores it one bit at a time, and transmits / receives the buffer at the timing when the reception data for 64 bits is prepared. Send to register 904. That is, the transmission / reception shift register 902 converts the received serial data string SDR into 64-bit parallel data and outputs it.

送信データ(送信シリアルデータ)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 PIO setting unit 55, and reception data (reception serial data) SDR is input from the PIO (for example, PIO4) through the PIO setting unit 55.

図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 / serial conversion port 91 of FIG. As shown in FIG. 4A, the general-purpose parallel / serial conversion port 91 samples the received serial data SDR in synchronization with the serial data clock SDCK in FIG. The sampled data SDR is not stored in the transmission / reception shift register 902 during a period (before time t0) when reception enable is not set in the control register (see FIG. 7 described later). That is, as shown in FIG. 4C, the reception data SDR before time t0 set to reception enable is not treated as valid reception data VDR.

ただし、受信イネーブルに設定されても、受信シリアルデータSDRが即座に有効な受信データVDRとして送受信シフトレジスタ902に格納されるとは限らない。受信イネーブルに設定後、受信シリアルデータSDRに信号レベルの変化(ハイレベルからロウレベル、またはロウレベルからハイレベル)が検出された時点から、有効な受信データVDRとして送受信シフトレジスタ902へのデータ入力が開始される。   However, even if reception enable is set, reception serial data SDR is not always stored in transmission / reception shift register 902 as valid reception data VDR. After receiving enable is set, data input to the transmission / reception shift register 902 is started as valid received data VDR from the time when a signal level change (high level to low level or low level to high level) is detected in the received serial data SDR. Is done.

この場合、実際には、受信シリアルデータ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 / serial conversion port 91 can generate an interrupt request signal IRQ6 to the CPU 5 when reception of valid data VDR of the number of received bytes RB set in a control register (see FIG. 7 described later) is completed. is there. However, since the data reception continues even after the interrupt request signal IRQ6 to the CPU 5 is generated, the CPU 5 needs to read the received data from the transmission / reception buffer SRB before the reception data overflows the transmission / reception buffer SRB of the main RAM 25. Further, since the CPU 5 can read the current number of received bytes through the I / O bus 27, when generation of the interrupt request signal IRQ6 is disabled, the current number of received bytes is monitored. Therefore, it is necessary to read data from the transmission / reception buffer SRB so that buffer overrun due to writing of reception data on the transmission / reception buffer SRB does not occur.

図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 / serial conversion port 91 of FIG. As shown in FIG. 5B, the general-purpose parallel / serial conversion port 91 transmits the transmission serial data SDS in synchronization with the serial data clock SDCK in FIG. Data transmission from a PIO (for example, PIO5) as an output port is not performed during a period (before time t) in which transmission enable is not set in a control register 91 (see FIG. 7 described later). That is, as shown in FIG. 5B, transmission data before time t set to enable transmission holds the same level (value).

送信イネーブルに設定された時刻t以後、送受信シフトレジスタ902に格納された値が1ビットずつ出力ポートとしてのPIO(例えばPIO5)から出力される。設定された送信バイト数SBの出力が完了すると、データ送信は自動的に(指示を受けることなく)停止する。また、CPU5への割り込み要求信号IRQ6の発生がイネーブルに設定されている場合、送信完了のタイミングでCPU5に対する割り込み要求信号IRQ6が出力される。   After the time t when transmission is enabled, the value stored in the transmission / reception shift register 902 is output bit by bit from a PIO (eg, PIO5) as an output port. When the output of the set number of transmission bytes SB is completed, data transmission is automatically stopped (without receiving an instruction). When generation of the interrupt request signal IRQ6 to the CPU 5 is set to enable, the interrupt request signal IRQ6 for the CPU 5 is output at the transmission completion timing.

図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 / serial conversion port 91 configured on the main RAM 25 of FIG. As shown in FIG. 6, the transmission / reception buffer SRB configured on the main RAM 25 is arranged in the physical address space of the main RAM 25. The start address SAD and the end address EAD of the transmission / reception buffer SRB are set in a control register (see FIG. 7 described later) in the general-purpose parallel / serial conversion port 91. The values of the start address SAD and the end address EAD are indicated by physical addresses of the main RAM 25. The setting is performed by the CPU 5 through the I / O bus 27.

この送受信バッファ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 / O bus 27.

図7は、図2の汎用パラレル/シリアル変換ポート91に関連する制御レジスタの説明図である。汎用パラレル/シリアル変換ポート91は、図7に示す制御レジスタを備える。なお、各制御レジスタは、図中対応するI/Oバスアドレスに配置される。   FIG. 7 is an explanatory diagram of a control register related to the general-purpose parallel / serial conversion port 91 of FIG. The general-purpose parallel / serial conversion port 91 includes a control register shown in FIG. Each control register is arranged at a corresponding I / O bus address in the figure.

図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 / serial conversion port 91. This corresponds to setting the communication baud rate. The control register SIOInterruptClear in FIG. 7B clears the interrupt factor of the general-purpose parallel / serial conversion port 91 by writing “1” in bit 0. That is, when “1” is written to bit 0 of the control register SIOInterruptClear while the interrupt request signal IRQ6 is asserted, the interrupt request signal IRQ6 is negated.

図7(c)の制御レジスタSIOInterruptEnableは、ビット0に「1」を設定することにより、汎用パラレル/シリアル変換ポート91の送信完了割り込み又は汎用パラレル/シリアル変換ポート91の既定バイト数受信完了割り込みを許可する。   The control register SIOInterruptEnable in FIG. 7C sets a bit 0 to “1” to generate a transmission completion interrupt for the general-purpose parallel / serial conversion port 91 or a reception completion interrupt for a predetermined number of bytes for the general-purpose parallel / serial conversion port 91. to approve.

図7(d)の制御レジスタSIOStatusは、ビット0が、既定バイト数受信完了割り込み発生の有無を示し、ビット1が「0」のときは、汎用パラレル/シリアル変換ポート91が送信又は受信を行っていないことを示し、ビット1が「1」のときは、送信又は受信を実行中であることを示す。ビット2は、データ送信が未完了か完了かを示す。   In the control register SIOSstatus of FIG. 7D, bit 0 indicates whether or not a predetermined number of bytes reception completion interrupt has occurred. When bit 1 is “0”, the general-purpose parallel / serial conversion port 91 performs transmission or reception. When bit 1 is “1”, transmission or reception is being executed. Bit 2 indicates whether data transmission is incomplete or complete.

図7(e)の制御レジスタSIOControlは、ビット0が、データ転送の方向(受信モード/送信モード)を示し、ビット1が、データ送受信のイネーブル/ディセーブルを示す。図7(f)の制御レジスタSIOBufferTopAddressは、送受信データを格納する送受信バッファSRBの始端アドレスSADを設定する。図7(g)の制御レジスタSIOBufferEndAddressは、送受信データを格納する送受信バッファSRBの終端アドレスEADを設定する。   In the control register SIOControl of FIG. 7E, bit 0 indicates the direction of data transfer (reception mode / transmission mode), and bit 1 indicates enable / disable of data transmission / reception. The control register SIOBBufferTopAddress in FIG. 7F sets the start address SAD of the transmission / reception buffer SRB for storing transmission / reception data. The control register SIOBbufferEndAddress in FIG. 7G sets the termination address EAD of the transmission / reception buffer SRB for storing transmission / reception data.

図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 main RAM 25 shared with other functional units such as the CPU 5, and the general-purpose parallel / serial conversion port 91 configures the CPU 5. Since it is possible to directly access the main RAM 25 without intervention, it is easy to transmit and receive a large size, and the CPU 5 simply accesses the main RAM 25 in order to acquire reception data or set transmission data. Therefore, the transmission / reception data can be efficiently exchanged with the CPU 5. Further, when serial data is not transmitted / received, it is possible for another functional unit to divert and use the area of the transmission / reception buffer SRB for other purposes. Furthermore, since reception data is stored in the transmission / reception buffer SRB 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 is stored in the main RAM 25. Therefore, the received data can be efficiently processed by the CPU 5.

また、本実施の形態では、図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 / serial conversion port 91 automatically stops data transmission without receiving an instruction when transmission of a predetermined amount of data is completed. For this reason, the illegal data stored on the transmission / reception buffer SRB is not erroneously transmitted.

さらに、本実施の形態では、送受信バッファ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 main RAM 25. As described above, since the position and size of the area of the transmission / reception buffer SRB can be freely set, a necessary and sufficient amount of area is secured for the transmission / reception buffer SRB, and other functional units use other areas. As a whole system, the main RAM 25 can be used efficiently.

さらに、本実施の形態では、ポインタ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の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the multimedia processor 1 by embodiment of this invention. 図1の外部インタフェースブロック21の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the external interface block 21 of FIG. 図2の汎用パラレル/シリアル変換ポート91の内部構成を示すブロック図である。FIG. 3 is a block diagram showing an internal configuration of a general-purpose parallel / serial conversion port 91 in FIG. 2. 図2の汎用パラレル/シリアル変換ポート91で行われるデータ受信処理のタイミングチャートである。3 is a timing chart of data reception processing performed by the general-purpose parallel / serial conversion port 91 of FIG. 図2の汎用パラレル/シリアル変換ポート91で行われるデータ送信処理のタイミングチャートである。3 is a timing chart of data transmission processing performed at the general-purpose parallel / serial conversion port 91 in FIG. 2. 図1のメインRAM25上に構成される、汎用パラレル/シリアル変換ポート91のための送受信バッファSRBの説明図である。FIG. 2 is an explanatory diagram of a transmission / reception buffer SRB for a general-purpose parallel / serial conversion port 91 configured on the main RAM 25 of FIG. 1. 図2の汎用パラレル/シリアル変換ポート91に関連する制御レジスタの説明図である。FIG. 3 is an explanatory diagram of a control register related to the general-purpose parallel / serial conversion port 91 of FIG. 2.

符号の説明Explanation of symbols

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 SYMBOLS 1 ... Multimedia processor, 3 ... External memory interface, 4 ... DMAC, 5 ... CPU, 7 ... CPU local RAM, 9 ... RPU, 11 ... Color palette RAM, 13 ... SPU, 15 ... SPU local RAM, 17 ... GE, 19 ... YSU, 21 ... external interface block, 23 ... main RAM access arbiter, 25 ... main RAM, 27 ... I / O bus, 29 ... video DAC, 31 ... audio DAC block, 51 ... external bus, 50 ... external memory, 55: PIO setting unit, 91: serial conversion port, 900: controller, 902: transmission / reception shift register, 904: transmission / reception buffer register.

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 .
前記シリアル/パラレル変換手段は、受信開始の設定後の最初の受信データの変化点を検出した際、その変化前の1ビットを含めて有効な受信データとして前記送受信バッファアクセス手段に出力する、請求項1記載のシリアルデータ送受信装置。   When the serial / parallel conversion means detects the change point of the first received data after setting the reception start, it outputs to the transmission / reception buffer access means as valid received data including one bit before the change. Item 2. The serial data transmitting / receiving apparatus according to Item 1. 前記パラレル/シリアル変換手段は、既定のデータ量の送信が完了すると、指示を受けることなくデータ送信を停止する、請求項1又は2記載のシリアルデータ送受信装置。   3. The serial data transmission / reception apparatus according to claim 1, wherein the parallel / serial conversion unit stops data transmission without receiving an instruction when transmission of a predetermined amount of data is completed. 前記送受信バッファの領域の始端アドレス及び終端アドレスは、前記シリアルデータ送受信装置の外部の機能ユニットによって、前記共有メモリのアドレスにて設定される、請求項1から3記載のシリアルデータ送受信装置。   4. The serial data transmission / reception apparatus according to claim 1, wherein a start address and an end address of the transmission / reception buffer area are set by an address of the shared memory by an external functional unit of the serial data transmission / reception apparatus. 前記送受信バッファの領域の前記始端アドレス及び前記終端アドレスは、前記外部の機能ユニットにより任意の値に設定可能である、請求項4記載のシリアルデータ送受信装置。   5. The serial data transmitting / receiving apparatus according to claim 4, wherein the start address and the end address of the transmission / reception buffer area can be set to arbitrary values by the external functional unit. 前記送受信バッファアクセス手段は、前記送受信バッファからの送信データの読出し位置、または前記送受信バッファへの受信データの書き込み位置を指し示すポインタを備え、
前記ポインタの値はデータの送信または受信が行われる毎にインクリメントされ、前記ポインタの値が前記終端アドレスに一致すると前記始端アドレスに再設定される、請求項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.
JP2005318902A 2005-08-22 2005-11-01 Serial data transmitter / receiver Expired - Fee Related JP5061272B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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