JP2004247008A - 記録再生装置 - Google Patents
記録再生装置 Download PDFInfo
- Publication number
- JP2004247008A JP2004247008A JP2003038011A JP2003038011A JP2004247008A JP 2004247008 A JP2004247008 A JP 2004247008A JP 2003038011 A JP2003038011 A JP 2003038011A JP 2003038011 A JP2003038011 A JP 2003038011A JP 2004247008 A JP2004247008 A JP 2004247008A
- Authority
- JP
- Japan
- Prior art keywords
- data
- fifo
- transfer
- recording
- memory
- 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.)
- Granted
Links
Images
Landscapes
- Reverberation, Karaoke And Other Acoustics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
【解決手段】HDD5に蓄積されている曲データはメモリ2にバッファリングされ、DMAC61によりルーム1〜ルームnの各部屋に曲データを配信するためのFIFOバッファ63,73,…,93に転送されて同期した信号RD1〜RDnにより読み出される。FIFO制御部62は、FIFOバッファに蓄積されているデータ量が所定量以下のときにDMA転送要求を生成し、DMAC61は、1回のDMA転送で、複数のFIFOバッファに対する曲データをメモリ2から読み出して一括して転送する。FIFO制御部62は、ライトイネーブル信号WE1〜WEnによりデータバス10上のデータを対応するFIFOバッファに書き込む。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、ハードディスク装置などの記録媒体に蓄積されている音楽データを読み出して再生したり外部から入力されるオーディオ信号を取り込んで記録媒体に録音することのできる記録再生装置に関する。
【0002】
【従来の技術】
従来より、ハードディスク装置(HDD)などの記録媒体から音楽データ(曲データ)を読み出して複数の部屋で再生したり、外部から入力されるオーディオ信号を取り込んで記録媒体に録音したりすることが可能な複数のチャンネルを有する記録再生装置が知られている。
図9は、この種記録再生装置の構成例を示すブロック図である。
この図において、1はこの記録再生装置全体の制御を行う制御部(CPU)、2は制御プログラムなどを格納するROMとワークエリアやバッファ領域などとして使用されるRAMなどからなるメモリ、3はCPU1やDMAC61,…,91などからのデータバス10の使用要求を調停するバス調停器(バスアービター)、4はハードディスク装置5を接続するATAPI(AT Attachment Packet Interface)インターフェース回路、5は音楽データ(曲データ)が格納されているハードディスク装置である。
6〜9は、この記録再生装置に蓄積されている曲データの再生信号を複数の部屋(ルーム1〜ルームn)に出力するための各チャンネルに対応するオーディオ出力部である。各オーディオ出力部6〜9は、いずれも、同一の構成要素を有しており、データバス10に接続されたDMAコントローラ(DMAC:Direct Memory Access Controller)61,71,81,91、FIFO制御部62,72,82,92、FIFO(first−in first−out)バッファ(以下、単に「FIFO」とよぶ)63,73,83,93、DACインターフェース回路64,74,84,94及びDAC(デジタルアナログ変換器)65,75,85,95からなる。
また、11は、アナログデジタル変換器(ADC)111、ADCインターフェース回路112、録音用FIFOバッファ113、録音用FIFO制御部114及び録音用DMAC115を有するオーディオ入力部、10は、前記CPU1、メモリ2、ATAPIインターフェース回路4、オーディオ出力部6〜9、オーディオ入力部11などの間のデータ転送を行うためのデータバスである。
なお、図示していないが、操作指示などを入力するための入力装置、状態情報などを表示する表示装置も当然に設けられており、さらに、CD−R/RWドライブ装置、DVDドライブ装置などが設けられていてもよい。
【0003】
このように構成された記録再生装置において、HDD5中に蓄積されている曲データを再生するときは、まず、前記CPU1が、前記ATAPIインターフェース回路4を介して前記HDD5から再生する曲データを読み出し、前記メモリ2のバッファ領域に所定量書き込む(バッファリングする)。
図10は、前記メモリ2に設定されたバッファ領域のメモリマップを示す図である。この図に示す例では、バッファ領域は、再生されたオーディオ信号が供給される各部屋(ルーム1〜ルームn)対応に設定される。各バッファ領域にバッファリングされるデータ量(各バッファ領域に書き込まれるデータ量)は、前記HDD5のアクセス時間や、他の部屋に対するDMACの転送時間などを考慮して、FIFO63,…,93の容量に比較して十分大きく取っておく必要がある。
【0004】
バッファ領域に所定量のデータがバッファリングされると、CPU1は、前記メモリ2のバッファ領域から各ルーム対応のオーディオ出力部6〜9におけるFIFO63,…,93へのデータ転送を各DMACにより行わせるためにDMACのセッティング(DMA転送処理)を行う。
図11は、このDMA転送処理の流れを示すフローチャートである。
すなわち、CPU1は、各DMACに対して、今回のDMA転送処理で転送すべき曲データのメモリ2における先頭アドレスと転送バイト数をセットし(ステップS51、S52)、ステップS53で、当該DMACを起動する、すなわち、そのDMACを動作可能状態とする。これにより、そのDMACは、バスアービター3からバス使用許可を獲得したときに即時にデータ転送を行うことができるようになる。CPU1は、DMACによるデータの転送が終了し、DMAC転送終了割り込みがあるのを待つ(ステップS54)。
例えば、ルーム1で再生する場合は、まず、先頭アドレスを前記図10におけるAにセットし(S51)、転送バイト数を(B−A)にセットする(S52)。そして、DMACを起動し(S53)、DMA転送の終了を待つ(S54)。次回のDMA転送処理では、先頭アドレスをB点に、転送バイト数を(C−B)分にセットする。なお、後述するが、1回のDMA転送処理による転送バイト数は一定とするのが好都合である。
【0005】
FIFO制御部62,72,…,92は、対応するバッファ63,…,93に蓄積されているデータ量(FIFO残量)がある一定量以下になると転送要求信号(REQn)を生成するように設定されている。
図12は、FIFO63,73,…,93を示す図であり、図示するように、FIFOの記憶残量が所定値TH以下となったことを検出して、対応するFIFO制御部が転送要求信号(REQn)を生成してバスアービター3に出力する。
バスアービター3は前記転送要求信号(REQn)を受け付けると、すなわち、転送要求が発生したFIFOに対する転送を開始することができる状態となると、転送要求受付信号(ACKn)を当該転送要求信号(REQn)を生成したFIFO制御部及び対応するDMACに返す。
これにより、DMA転送が開始され、転送要求受付信号(ACKn)が返された後に前記データバス10に流れるデータは、転送要求信号(REQn)を発生したFIFOに対するデータであるため、転送要求受付信号(ACKn)を受け取ったFIFO制御部はそのデータをラッチしてそのFIFOに書き込む。
ここで、1回のDMA転送による転送バイト数は、図12における(full−TH)分としておくと好都合である。
また、前記バスアービター3における調停方法としては種々の方法があり、優先順位を固定する方法、優先順位を順に変更していく方法などがある。この例の場合は、後者が適当である。
【0006】
前記DACインターフェース回路64,74,84,94は、対応するFIFO63,…,93から所定のサンプリング周期(例えば、44.1kHz)で曲データを読み出し、DAC入力フォーマットに合わせて並列直列変換(PS変換)を行って、DAC65,75,85,95に出力し、DAC65,…,95から曲データが再生されることとなる。
【0007】
このように従来の記録再生装置においては、FIFO、DACインターフェース回路、DACを有する各チャンネルのオーディオ出力部毎に、DMACとFIFO制御部とが必要とされており、多くの構成部品を必要としていた。
また、数多くのFIFO制御部からの転送要求信号(REQn)を処理することが必要となるため、バスアービター3の構成・処理も複雑なものとなっていた。
【0008】
また、このような問題点を解消するために、DMACの使用個数を減少させるようにした装置も提案されている(特許文献1を参照されたい)。
この特許文献1で提案されている方法によれば、DMACの使用個数を減少させることができるが、FIFOの使用残量が一定量以下になるとCPUに割り込みが掛かり、その時点でDMACの転送処理が開始されるので、FIFO制御部が転送要求を出してから実際にデータの転送が開始されるまでにタイムラグが発生するという問題点があった。
【0009】
【特許文献1】
特開平09−069071号公報
【0010】
【発明が解決しようとする課題】
そこで、本発明は、複数のチャンネルを有する記録再生装置において、DMACの使用個数を減らすとともに、複雑な構成や複雑な処理を必要としない記録再生装置を提供することを目的としている。
【0011】
【課題を解決するための手段】
上記目的を達成するために、本発明の記録再生装置は、複数の再生チャンネルを有する記録再生装置であって、メモリと、前記各再生チャンネルにそれぞれ対応して設けられたFIFOバッファと、前記メモリと複数の前記FIFOバッファとの間のデータ転送を行うDMAコントローラと、前記DMAコントローラと前記複数のFIFOバッファとに接続されたFIFO制御部とを有し、前記複数のFIFOバッファは同期して書き込みが行われるようになされており、前記DMAコントローラは、1回のDMA転送において、前記メモリと前記複数のFIFOバッファとの間におけるデータ転送を一括して実行するものであり、前記FIFO制御部は、前記複数のFIFOバッファに蓄積されているデータ量に応じて前記DMAコントローラによるDMA転送を要求する信号を生成する処理と、前記メモリから一括してDMA転送される前記複数のFIFOバッファ分のデータを対応するFIFOバッファに書き込む処理を行うものとされている。
また、本発明の他の記録再生装置は、複数の録音チャンネルを有する記録再生装置であって、メモリと、前記各録音チャンネルにそれぞれ対応して設けられたFIFOバッファと、前記メモリと複数の前記FIFOバッファとの間のデータ転送を行うDMAコントローラと、前記DMAコントローラと前記複数のFIFOバッファとに接続されたFIFO制御部とを有し、前記複数のFIFOバッファは同期して読み出しが行われるようになされており、前記DMAコントローラは、1回のDMA転送において、前記複数のFIFOバッファと前記メモリとの間におけるデータ転送を一括して実行するものであり、前記FIFO制御部は、前記複数のFIFOバッファに蓄積されているデータ量に応じて前記DMAコントローラによるDMA転送を要求する信号を生成する処理と、前記複数のFIFOバッファのデータを一括して前記メモリにDMA転送するために前記複数のFIFOバッファからデータを順次読み出す処理を行うものとされている。
さらに、前記DMAコントローラは、1回のDMA転送において、実際にデータが再生あるいは記録されている前記FIFOバッファ分のデータを一括して転送するもの、又は、実際にデータが再生あるいは記録されているか否かにかかわらず前記複数のFIFOバッファ分のデータを一括して転送するものとされている。
【0012】
【発明の実施の形態】
図1は、本発明の記録再生装置の一実施の形態の構成を示すブロック図である。この図において、前記図9と同一の構成要素には同一の番号を付し、説明の重複を避けることとする。
図1と前記図9とを比較すると明らかなように、図1に示す本発明の記録再生装置においては、複数のオーディオ出力部6,7,…,9のうち一部のオーディオ出力部、図示する例ではオーディオ出力部6にのみDMAC61とFIFO制御部62とが設けられており、それ以外のオーディオ出力部(7,8,9)は、それぞれ、FIFO(73,…,93)、DACインターフェース回路(74,…,94)及びDAC(75,…,95)のみを有し、各FIFO(73,…,93)は前記オーディオ出力部6に設けられているDMAC61及びFIFO制御部62により制御されるようになされている。
なお、ここで、DMAC61からFIFO63,73,…,93にデータが書き込まれる速度が、FIFO63,73,…,93から各DACインターフェース回路64,74,…,94にデータが読み出される速度よりも十分に速く、DAC1(65)〜DACn(95)は同一クロック(ワードクロック及びビットクロック)で動作するものとする。
また、各FIFOの記憶容量は等しいものとし、各DACインターフェース回路64,…,94はFIFOがfull(空きがない状態)になり次第、リードストローブ信号(RD1〜RDn)を生成し、その部屋の再生を開始する。ここで、各リードストローブ信号(RD1〜RDn)は、DAC1〜DACnが同一クロックで動作しているため、同期している。FIFO制御部62は、DMAC61が一旦起動し転送が行われてFIFO残量がしきい値(TH)を超えるまで転送要求信号(REQ1)を出し続ける。ここで、FIFO残量のしきい値は、FIFOの記憶容量の1/2に設定してある。
なお、この実施の形態においては、DMAC及びFIFO制御部が設けられているオーディオ出力部が一つ(オーディオ出力部6)の場合を示しているが、複数のオーディオ出力部にDMACとFIFO制御部とを設け、該複数のオーディオ出力部によりDMAC及びFIFO制御部が設けられていないオーディオ出力部を分担して制御するようにしてもよい。
【0013】
このように構成された本発明の記録再生装置の第1の実施の形態の動作について、オーディオ信号を出力する部屋数が全部で3室(ルーム1、ルーム2及びルーム3)であり、再生チャンネル数が3チャンネルである場合を例にとって説明する。
図2は、本発明の記録再生装置の第1の実施の形態における動作の一例を説明するためのタイムチャートである。
この図において、時刻T1にルーム1への曲データの再生要求が発生したとする。前記CPU1は、この再生要求に応じて、その部屋に対応するオーディオ出力部のFIFO(この場合は、オーディオ出力部6のFIFO63)をイネーブル(動作可能)とするように前記FIFO制御部62を設定する。そして、要求された曲データをHDD5から読み出し、前記メモリ2のバッファ領域に転送する。
【0014】
図3は、ルーム1〜ルーム3に配信される曲データが前記HDD5に蓄積されている様子を示す図である。この図に示すように、HDD5には、複数の曲データが記憶されており、ルーム1に配信される曲データは、R1データ0,R1データ1,R1データ2,…、ルーム2の曲データはR2データ0,R2データ1,…、ルーム3の曲データはR3データ0,R3データ1,…というようにそれぞれ複数のブロックからなっている。ここで、ブロックのサイズ(アドレスE−アドレスD)は、例えば、前記FIFO(63,73,…,93)の記憶容量の1/2とされており、このブロック単位でデータ転送が行われる。
【0015】
前記CPU1は、ルーム1の曲データR1データ0、R1データ1、…を順次前記メモリ2のバッファ領域に転送する。
図4は、前記メモリ2に設定されたバッファ領域に曲データが蓄積される様子を示す図である。
この図に示すように、前記CPU1による転送処理により、HDD5から曲データR1データ0,R1データ1,…がメモリ2のアドレスFから順に蓄積されていく(バッファリングされる)。
そして、該メモリ2中に所定量の曲データがバッファリングされたら、前記CPU1は、図5に示すDMA転送処理を開始する。このバッファリングされるデータ量は、FIFOの容量に比較して十分大きく取られている。
【0016】
図5に示すDMA転送処理が開始されると、まず、ステップS11において、現在曲データが再生されている部屋数がチェックされる。その結果、1部屋のみ再生の場合には、前記DMAC61に前記1ブロックに相当するバイト数を転送バイト数として設定し、2部屋再生の場合は2ブロック分を転送バイト数として設定し、3部屋再生の場合は3ブロック分を転送バイト数として設定する(ステップS12〜S16)。次に、転送の先頭アドレスをセットし(ステップS17)、ステップS18で、DMAC61を起動する(動作可能状態とする)。
前述のように、前記FIFO制御部62は、自己の管理しているFIFO63,73,…,93のうちのいずれかにおけるデータ蓄積量(FIFO残量)が前記しきい値(FIFOの記憶容量の1/2)を超えない(下回る)ときは、転送要求信号(REQ1)をバスアービター3に出力するように構成されている。
したがって、前述のようにはじめて時刻T1でルーム1の再生要求があったときは、FIFO63〜93のいずれにおいても曲データの蓄積量がその記憶容量の1/2を超えていないため、前記FIFO制御部62は転送要求信号(REQ1)を出力する。バス10の使用権を獲得し、バスアービター3から転送要求受付信号(ACK1)が返されると、DMAC61は、メモリ2の前記ステップS17でセットされた先頭アドレス(具体的には、図4のF)からステップS13でセットされた転送バイト数(=G−F)のデータを読み出す。前記FIFO制御部62はライトイネーブル信号WE1を出力し、前記データバス10上に読み出されたその曲データをFIFO63に書き込む(図2の時刻T2)。このDMA転送により、図2に示すように、FIFO1(63)のデータ蓄積量(残量)は、その記憶容量の1/2であるTHとなる。
【0017】
また、このDMA転送が終了すると、前記DMAC61からCPU1に対して転送終了割り込みが発生する(図5のステップS19)。全ての部屋での再生が終了したわけではないので(ステップS20)、前記CPU1は、ステップS11にもどり、DMA転送処理を繰り返し、次回のDMA転送の先頭アドレスとしてGをセットし、転送ブロック数として1ブロック分をセットする。
【0018】
上述のように、第1回目のDMA転送が終了した後の前記FIFO63のデータ蓄積量はTH(=記憶容量の1/2)に等しくTHを超えていないため、前記FIFO制御部62は、さらに転送要求信号(REQ1)を出力し続ける。
したがって、上述と同様にして、第2回目のDMA転送が行われる(図2の時刻T3)。これにより、前記図4における曲データ「R1データ1」がFIFO63に転送され、前記FIFO1(63)の記憶容量一杯まで曲データが蓄積されることとなる。
前記FIFO制御部63は、FIFO1(63)の曲データ蓄積量が一杯であることを検知すると、対応するDACインターフェース回路64に通知し、DACインターフェース回路64は所定周期のリードストローブ信号(RD信号)の生成を開始して(図2の時刻T4)、該RD信号をFIFO63に出力し、これにより、FIFO63から所定周期で曲データが読み出されDAC65に供給され、DAC65からアナログのオーディオ出力信号がルーム1に供給されることとなる。これにより、ルーム1での曲の再生が開始された。
以下、RD信号によりFIFO63から曲データが読み出されていく。そして、FIFO63に蓄積されているデータ量(残量)が前記TH以下となったとき、前述のように、前記FIFO制御部62が転送要求信号(REQ1)を生成し、DMA転送を行う。以下、これを繰り返すことにより、曲データの再生が行われる。
一方、前記CPU1は、前記メモリ2のバッファ領域における曲データの蓄積量を監視し、所定量以下となったことを検出したときは、前述と同様に、前記HDD5から後続する曲データを読み出してメモリ2のバッファ領域に転送する。
以上の処理を繰り返すことにより、ルーム1に対する曲データの配信が行われる。
【0019】
さて、時刻T5(図2)において、ルーム2に対する再生要求が発生したとする。前記CPU1は、この再生要求に応じて、前記FIFO制御部62に対して対応するFIFO2(73)をイネーブルとするように設定する。そして、このルーム2で再生する曲の曲データの、HDD5から前記メモリ2のバッファ領域への転送を開始する。すなわち、この時点より、前記HDD5からメモリ2のバッファ領域に、ルーム1の曲データとルーム2の曲データの両者(合わせて2ブロック分のデータ)を転送する。これにより、メモリ2のアドレスH以降の領域に、ルーム1への曲データ(R1データm+1)とルーム2への曲データの最初のブロック(R2データ0)とが1回の転送処理で転送されることとなる。そして、このアドレスHを記憶しておく。
【0020】
以下、前述のようにしてルーム1に対する曲の再生が進行して行き、次回の転送の先頭アドレスが前記Hとなったときは、前記DMA転送処理のステップS11において再生部屋数が2とされ、DMAC61に転送バイト数として2ブロック分セットし(ステップS15)、先頭アドレスとしてH(図4)をセットする(ステップS17)。
そして、前記FIFO1(63)に記憶されている曲データの残量がその記憶容量の1/2(TH)以下となり、FIFO制御部62により転送要求信号(REQ1)が生成され、バスアービター3から転送要求受付信号(ACK1)が返されると、前述のようにDMAC61による転送処理が開始される。すなわち、前記DMAC61は、前記メモリ2のアドレスH(先頭アドレス)から2ブロック分(転送バイト数)のデータを読み出す。前記FIFO制御部62は、前記データバス10上に読み出された曲データの先頭1ブロック分のデータについては、ライトイネーブル信号WE1を発生して、FIFO63に蓄積し(時刻T6)、後の1ブロック分のデータについては、ライトイネーブル信号WE2を発生してFIFO73に蓄積する(時刻T7)。
これにより、図2に示すように、FIFO1(63)には一杯まで曲データR1が蓄積され、FIFO2(73)にはその記憶容量の1/2(TH)まで曲データR2が蓄積される。
したがって、この時点では、FIFO1(63)に蓄積された曲データはDACインターフェース回路64からのRD信号により読み出されて再生されるが、FIFO2(73)に蓄積された曲データは、DACインターフェース回路74を駆動する指示がFIFO制御部62から供給されていないため、読み出されない。
【0021】
このようにして、曲データ1の再生が進み、前記FIFO1(63)に記憶されている曲データの量(残量)がTH以下となると、前述と同様に、FIFO制御部61から転送要求信号(REQ1)が生成され、DMA転送が行われる。このDMA転送の先頭アドレスはIである。このDMA転送により、図2に示すように、FIFO2(73)も曲データが記憶容量一杯まで蓄積される。これにより、前記FIFO制御部62は、前記DACインターフェース回路64に対すると同様に、DACインターフェース回路74に対しても、RD信号(RD2)の生成を開始させる指示信号を供給する。これにより、このRD2信号により、前記FIFO2(73)から所定の周期(サンプリング周期)ごとに曲データが読み出され、DAC75でアナログ信号に変換されて、ルーム2にオーディオ信号が出力される(時刻T10)。このようにして、ルーム2における再生が開始される。
【0022】
そして、時刻T11に、ルーム3に対する再生要求が発生したとする。前述と同様に、前記CPU1は、この再生要求に応じて、前記FIFO制御部62に対して対応するFIFO3(83)をイネーブルとするように設定する。そして、このルーム3で再生する曲の曲データR3をHDD5から前記メモリ2のバッファ領域に転送する。すなわち、この時点より、前記HDD5からメモリ2のバッファ領域に、ルーム1の曲データR1、ルーム2の曲データR2及びルーム3の曲データR3を1回の転送処理で各1ブロックずつ転送するようにする。
これにより、図4に示すように、メモリ2のアドレスJ以降には、各曲データR1〜R3が1ブロック分ずつ蓄積されていく。
以下、前述と同様にルーム1とルーム2の再生が進行して行き、次回の先頭アドレスがJとなったとき、前記DMA転送処理において、再生部屋数が3(ステップS11)、転送バイト数が3ブロック分(ステップS16)、先頭アドレスがJ(ステップS17)にセットされる。
【0023】
そして、前記FIFO1(63)とFIFO2(73)の記憶残量がTH以下になると、前記FIFO制御部62から転送要求信号(REQ1)が生成され、DMAC61により前記メモリ2のアドレスJから3ブロック分の曲データ(「R1データn+1」、「R2データp+1」、「R3データ0」)がデータバス10上に読み出され、FIFO制御部62は、最初の1ブロック分の曲データはライトイネーブル信号WE1によりFIFO1(63)に転送し(時刻T12)、次の1ブロック分の曲データはWE2によりFIFO2(73)に転送し(T13)、最後の1ブロック分の曲データはWE3によりFIFO3(83)に転送する(T14)。これにより、FIFO3(83)には、THまで曲データが蓄積される。
そして、時刻T15から開始される次回のDMA転送により、FIFO3(83)に曲データが一杯まで蓄積される(T17)。これにより、FIFO制御部62は、DACインターフェース回路84に対してRD信号(RD3)の生成を開始する指示信号を供給し、前述と同様にしてルーム3に対するオーディオ信号の配信が開始される(T18)。
以上のようにして、複数の部屋に対する曲データの配信を単一のDMAC61を用いて行うことができる。
【0024】
次に、ハードウェア設計やソフトウェア処理を簡素化した本発明の記録再生装置の第2の実施の形態について説明する。この実施の形態は、1回のDMA転送のデータ転送量を一定(例えば、3ブロック分)とすることにより、ハード設計やソフトウェア処理を簡素化するものである。
図6は、本発明の第2の実施の形態における動作の一例を示すタイミングチャート、図7は、この実施の形態における前記メモリ2のバッファ領域のメモリマップの一例を示す図、図8は、この実施の形態におけるDMA転送処理を示すフローチャートである。なお、ここでは、前述と同様に全部屋数が3(再生チャンネル数が3)であるものとして説明するが、任意の複数の再生チャンネルを有する場合に同様に適用することができる。
図7のメモリマップに示すように、この実施の形態においては、実際に曲データを再生する部屋数にかかわらず、全部屋分(この例では、3室分)のデータを単位として転送するようにしている。すなわち、ルーム1のみを再生するときでも常に3ブロック分のデータをバッファリングするようにし、再生を行っていない部屋に対応する部分はヌルデータで埋めておくようにしている。また、ルーム1とルーム2とで再生を行なっている場合には、ルーム3に対応する第3番目のブロックをヌルデータで埋めておくようにしている。
【0025】
図8は、DMA転送処理の流れを示すフローチャートである。この実施の形態においては、再生時にはDMAC61の起動に関しては、再生部屋数にかかわらず常に同じ処理を実行すればよい。すなわち、転送バイト数は常に3ブロック分にセットし(ステップS31)、転送の先頭アドレスを3ブロック分ずつずらしてセットする(ステップS32)のみで良い。このように、前記第1の実施の形態におけるDMA転送処理(図5)よりもソフトウェア処理を簡単化することができる。ただし、メモリ2の使用効率は低下する。
【0026】
図6は、この第2の実施の形態の動作の一例を示すタイミングチャートである。
この図に示すように、時刻T1において再生要求(例えば、ルーム1への再生要求)が発生すると、以下、3つのFIFO(63,73,83)全てに対して、データ転送が行われる。前記FIFO制御部62は、DMA転送される3ブロック分のデータ(曲データ又はヌルデータ)が前記3つのFIFOに順に格納されるように、WE1,WE2,WE3を順次出力する。DMA転送を2回実行することにより、FIFO1(63)に実際に再生される曲データがフルまで蓄積され、FIFO2(73)とFIFO3(83)にはそれぞれヌルデータがフルまで蓄積されることとなる。これにより、前記FIFO制御部62は各DACインターフェース回路(64,74,84)に対し、リードストローブ信号(RD信号)を生成させる指示を送り、これに基づいて、前記FIFOからDACに曲データ又はヌルデータがサンプリング周期ごとに読み出されることとなる。
【0027】
このように、この実施の形態によれば、リードストローブ信号(RDn)は、再生部屋数にかかわらず、いずれかのFIFOがフルになった状態で生成を開始するようにすればよく、ライトイネーブル信号(WEn)は常に3ブロック分のデータが転送されることを前提に1ブロック分のデータが転送される毎にWE1→WE2→WE3と切り替えて出力すればよい。したがって、ハードウェア構成も簡単なものとすることができる。これに対し、前述した第1の実施の形態の場合には、FIFO制御部62がDMAC61からの転送バイト数の切り換えに応じてWEn信号の生成を制御することが必要であった。
【0028】
なお、上述した各実施の形態においては、曲データの再生について説明したが、録音の場合も、データの流れる方向が変わるだけで全く同様に構成することができる。
例えば、前記図1においては、単一のオーディオ入力部11のみが設けられていたが(録音チャンネル数が1)、複数チャンネルの外部信号を入力することができるように、複数のオーディオ入力部(録音チャンネル)を設け、そのうちの1つにのみDMACとFIFO制御部を設けるようにする。そして、外部からの複数チャンネルのオーディオ入力信号を、各オーディオ入力部のADCでデジタルデータに変換し、各ADCインターフェース回路の制御により各録音用FIFOに書き込む。このとき、各FIFOへの書き込みは同期したライトイネーブル信号により行うようにする。録音用FIFOに所定量のデジタルデータが蓄積されると、共通に設けられた録音用FIFO制御部がバスアービター3に対して転送要求信号(REQ2)を生成する。バスの使用権を獲得し転送要求受付信号信号(ACK2)が返されると、共通に設けられた録音用DMACの制御により各録音用FIFOに蓄積されているデータが前記メモリ2のバッファ領域に一括して転送される。該メモリ2のバッファ領域に蓄積されたデータはCPU1の制御のもとに前記HDD5に転送される。このようにして、複数チャンネルのオーディオ信号を外部から取り込んでHDDに記録することができる。
あるいは、前述した第2の実施の形態と同様に、実際に記録しているか否かにかかわらず、複数の録音チャンネル分のデータを一括してメモリに転送するようにしてもよい。
なお、図1に示したように、録音と再生が混在するシステムにおいては、共通に用いるDMACとFIFO制御部を録音側と再生側とにそれぞれ設ければよい。
【0029】
さらに、前述した各実施の形態においては、前記HDD5からメモリ2へのデータ転送はCPU1が実行するものとして説明したが、DMACを設けて、該DMACによりHDD5からメモリ2へのデータ転送を行わせるようにしてもよい。この場合には、さらに効率的に転送を行うことができる。
さらにまた、上述した各実施の形態においてはHDD5に蓄積されている曲データは、そのままD/A変換することによりオーディオ信号となるサンプリングデータであるとして説明したが、これに限られることはなく、圧縮された曲データであってもよい。この場合には、D/Aに入力される前のいずれかの個所でデコードすればよい。
【0030】
【発明の効果】
以上のように、本発明の記録再生装置によれば、少ない個数、典型的には1個のDMACを用いることで、複数のFIFOに曲データを転送制御することが可能となり、複数のFIFOを有する記録再生装置を少ない部品数で構成することが可能となる。
また、複数のFIFOを同期させて動作させているため、FIFOがTHに達するタイミングが同期している。したがって、1回のCPU割り込みにより複数のFIFO分のDMACセッティングが可能となり、CPUの負荷を低減することが可能となる。
【図面の簡単な説明】
【図1】本発明の記録再生装置の一実施の形態の構成を示すブロック図である。
【図2】本発明の記録再生装置の第1の実施の形態の動作について説明するためのタイムチャートである。
【図3】曲データがHDD内に蓄積されている様子を示す図である。
【図4】第1の実施の形態において、メモリ2に曲データがバッファリングされる様子を示す図である。
【図5】第1の実施の形態におけるDMA転送処理を説明するためのフローチャートである。
【図6】本発明の記録再生装置の第2の実施の形態の動作について説明するためのタイムチャートである。
【図7】第2の実施の形態において、メモリ2に曲データがバッファリングされる様子を示す図である。
【図8】第2の実施の形態におけるDMA転送処理を説明するためのフローチャートである。
【図9】従来の記録再生装置の構成を示すブロック図である。
【図10】従来の記録再生装置におけるバッファ領域のメモリマップの一例を示す図である。
【図11】従来の記録再生装置におけるDMA転送処理のフローチャートである。
【図12】従来の記録再生装置におけるFIFOについて説明するための図である。
【符号の説明】
1:CPU、2:メモリ、3:バスアービター、4:ATAPIインターフェース回路、5:ハードディスク装置、6〜9:オーディオ出力部、10:データバス、61:DMAC、62:FIFO制御部、63,73,83,93:FIFOバッファ、64,74,84,94:DACインターフェース回路、65,75,85,95:DAC、11:オーディオ入力部、111:ADC、112:ADCインターフェース回路、113:FIFOバッファ、114:FIFO制御部、115:DMAC
Claims (4)
- 複数の再生チャンネルを有する記録再生装置であって、
メモリと、
前記各再生チャンネルにそれぞれ対応して設けられたFIFOバッファと、
前記メモリと複数の前記FIFOバッファとの間のデータ転送を行うDMAコントローラと、
前記DMAコントローラと前記複数のFIFOバッファとに接続されたFIFO制御部とを有し、
前記複数のFIFOバッファは同期して書き込みが行われるようになされており、
前記DMAコントローラは、1回のDMA転送において、前記メモリと前記複数のFIFOバッファとの間におけるデータ転送を一括して実行するものであり、
前記FIFO制御部は、前記複数のFIFOバッファに蓄積されているデータ量に応じて前記DMAコントローラによるDMA転送を要求する信号を生成する処理と、前記メモリから一括してDMA転送される前記複数のFIFOバッファ分のデータを対応するFIFOバッファに書き込む処理を行うものである
ことを特徴とする記録再生装置。 - 複数の録音チャンネルを有する記録再生装置であって、
メモリと、
前記各録音チャンネルにそれぞれ対応して設けられたFIFOバッファと、
前記メモリと複数の前記FIFOバッファとの間のデータ転送を行うDMAコントローラと、
前記DMAコントローラと前記複数のFIFOバッファとに接続されたFIFO制御部とを有し、
前記複数のFIFOバッファは同期して読み出しが行われるようになされており、
前記DMAコントローラは、1回のDMA転送において、前記複数のFIFOバッファと前記メモリとの間におけるデータ転送を一括して実行するものであり、
前記FIFO制御部は、前記複数のFIFOバッファに蓄積されているデータ量に応じて前記DMAコントローラによるDMA転送を要求する信号を生成する処理と、前記複数のFIFOバッファのデータを一括して前記メモリにDMA転送するために前記複数のFIFOバッファからデータを順次読み出す処理を行うものである
ことを特徴とする記録再生装置。 - 前記DMAコントローラは、1回のDMA転送において、実際にデータが再生あるいは記録されている前記FIFOバッファ分のデータを一括して転送するものであることを特徴とする請求項1又は2記載の記録再生装置。
- 前記DMAコントローラは、1回のDMA転送において、実際にデータが再生あるいは記録されているか否かにかかわらず前記複数のFIFOバッファ分のデータを一括して転送するものであることを特徴とする請求項1又は2記載の記録再生装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003038011A JP4023332B2 (ja) | 2003-02-17 | 2003-02-17 | 記録再生装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003038011A JP4023332B2 (ja) | 2003-02-17 | 2003-02-17 | 記録再生装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004247008A true JP2004247008A (ja) | 2004-09-02 |
JP4023332B2 JP4023332B2 (ja) | 2007-12-19 |
Family
ID=33022647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003038011A Expired - Fee Related JP4023332B2 (ja) | 2003-02-17 | 2003-02-17 | 記録再生装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4023332B2 (ja) |
-
2003
- 2003-02-17 JP JP2003038011A patent/JP4023332B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP4023332B2 (ja) | 2007-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120239873A1 (en) | Memory access system and method for optimizing SDRAM bandwidth | |
JP2007514221A (ja) | メモリコントローラ | |
US20100281232A1 (en) | Memory controlling device and memory controlling method | |
JP2009015832A (ja) | アクセス間調停回路、半導体装置およびアクセス間調停方法 | |
JP2000315186A (ja) | 半導体装置 | |
JP2012215861A (ja) | オーディオデータ入力装置および出力装置 | |
JP2007249938A (ja) | Usbホストシステム、avデータ再生装置およびavデータ記録装置 | |
US7861012B2 (en) | Data transmitting device and data transmitting method | |
KR20020015349A (ko) | 이중 버퍼링을 사용하는 데이터 전송 장치, 데이터 전송시스템, 및 데이터 전송 방법 | |
JP4023332B2 (ja) | 記録再生装置 | |
US5901333A (en) | Vertical wavetable cache architecture in which the number of queues is substantially smaller than the total number of voices stored in the system memory | |
JP2006127423A (ja) | バス制御装置、調停装置、並びに、その方法及びプログラム | |
US6449668B1 (en) | AV data input/output device | |
JP5037814B2 (ja) | メモリ制御装置及びメモリ制御方法 | |
JP3569592B2 (ja) | 符復号装置 | |
JP2005292375A (ja) | オーディオ再生装置およびクロック周波数制御方法 | |
JP2004086439A (ja) | データ記録・再生装置およびそのハード・ディスク・ドライブに対するデータ読み書き制御方法 | |
JP2010128803A (ja) | データ転送装置及びデータ転送方法 | |
JPH11119922A (ja) | データ記憶システム及び冗長データ書き込み制御方法 | |
JP2005063358A (ja) | 命令供給制御装置および半導体装置 | |
JP2005190332A (ja) | データ転送制御装置 | |
JP3081492B2 (ja) | メモリのリード/ライト制御回路 | |
JPH07271752A (ja) | Dsp装置 | |
JP4257656B2 (ja) | オーディオデータ処理装置 | |
JP2001159957A (ja) | メモリ制御方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050927 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070312 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070320 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070518 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070619 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070810 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070911 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070924 |
|
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: 20101012 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101012 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111012 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111012 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121012 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121012 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131012 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |