JPH05151706A - デジタルレコーダ - Google Patents

デジタルレコーダ

Info

Publication number
JPH05151706A
JPH05151706A JP3339938A JP33993891A JPH05151706A JP H05151706 A JPH05151706 A JP H05151706A JP 3339938 A JP3339938 A JP 3339938A JP 33993891 A JP33993891 A JP 33993891A JP H05151706 A JPH05151706 A JP H05151706A
Authority
JP
Japan
Prior art keywords
data
transfer
cpu
address
dma
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
Application number
JP3339938A
Other languages
English (en)
Other versions
JP3028667B2 (ja
Inventor
Norio Iizuka
宣男 飯塚
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP03339938A priority Critical patent/JP3028667B2/ja
Publication of JPH05151706A publication Critical patent/JPH05151706A/ja
Application granted granted Critical
Publication of JP3028667B2 publication Critical patent/JP3028667B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

(57)【要約】 【目的】 デジタルレコーダにおいて、バッファの領域
を効率よく区分する。 【構成】 アクセス時間の速いハードディスクと、アク
セス時間の遅い光磁気ディスクからデータを再生する場
合、所定のトラックにおけるハードディスクからの情報
と光磁気ディスクからの情報の比率を演算する(ステッ
プ4−1)。そして、この比率に対応してバッファの各
トラックの容量を設定する(ステップ4−3)。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、音声信号等をデジタル
的に記録再生、更には、編集することが可能なデジタル
レコーダに関する。
【0002】
【従来の技術】音声信号等を記録するのに、大容量のハ
ードディスクや光磁気ディスク等の外部記録装置を用い
ることが提案されている(例えば、本件出願人による特
願平2−123788号等)。この場合、音声信号は、
A/D変換器によりアナログ信号からデジタル信号に変
換され、一旦バッファメモリに記憶される。バッファメ
モリに記憶されたデジタルデータは、所定のタイミング
でハードディスクに転送され、記録される。一方、読み
出し時においてもハードディスクから読み出されたデジ
タルデータは、一旦バッファメモリに記憶され、所定の
タイミングでバッファメモリから読み出され、D/A変
換器に入力される。D/A変換器によりデジタル信号か
らアナログ信号に変換された音声信号は、スピーカ等に
供給される。ハードディスクのアクセスアドレスを制御
することにより、高度で柔軟な編集機能を有する装置を
実現することが出来る。
【0003】
【発明が解決しようとする課題】この様な装置を低コス
トで実現するには、ディスクアクセスのオーバーヘッド
を吸収するためのバッファメモリとしてのRAMを少し
でも小容量のものにする必要がある。一方、編集時にお
いて、例えば、きわめて短い時間間隔で多数回数ルーピ
ング再生の指定を行うと、ディスクアクセスが頻繁に行
われるため、余り小容量のバッファメモリではディスク
アクセスのオーバーヘッドを吸収することが出来ず、デ
ーター転送が間に合わなくなって、再生中に音とび等の
不都合が生じるという課題があった。
【0004】特に外部記憶装置として、例えばハードデ
ィスクと光磁気ディスク等の異なるメディアを用いた場
合(ハードディスクの方が高速であり、光磁気ディスク
の方が低速である)には、それぞれのディスクに対する
転送レートの違いがあるので、バッファメモリの容量を
効率的に利用することが困難である課題があった。
【0005】本発明は、この様な状況に鑑みて成された
もので、バッファメモリの容量を効率的に利用すること
ができるようにするものである。
【0006】
【課題を解決するための手段】本発明のデジタルレコー
ダは、デジタル信号が記録される第1の外部記録手段と
してのハードディスク12−1と、デジタル信号が記録
されるとともに、ハードディスク12−1より遅いアク
セス時間を有する第2の外部記録手段としての光磁気デ
ィスク12−2と、ハードディスク12−1と光磁気デ
ィスク12−2より再生されたデジタル信号を一時的に
記憶する複数の領域を有する一時記憶手段としてのバッ
ファ9−1乃至9−3と、第1の外部記録手段としての
ハードディスク12−1より再生される情報と第2の外
部記録手段としての光磁気ディスク12−2より再生さ
れる情報の比率を演算する演算手段としてのCPU1お
よびプログラム上のステップ4−1と、演算手段である
CPU1のステップ4−1による演算結果に対応して一
時記憶手段としてのバッファ9−1乃至9−3の領域の
割合を設定する設定手段としてのCPU1およびプログ
ラム上のステップ4−3,4−4とを備えることを特徴
とする。
【0007】設定手段すなわちCPU1のステップ4−
3,4−4による一時記憶手段としてのバッファ9−1
乃至9−3の領域の割合の設定は、所定の時間ごとに行
なうことができる。
【0008】
【作用】請求項1に記載のデジタルレコーダにおいて
は、アクセス時間が速い第1の外部記録手段であるハー
ドディスク12−1より再生される情報と、アクセス時
間が遅い第2の外部記録手段である光磁気ディスク12
−2より再生される情報の比率が演算され、その演算結
果に対応して一時記憶手段としてのバッファ9−1乃至
9−3の領域の割合が設定される。従って、一時記憶手
段としてのバッファ9−1乃至9−3を効率的に利用す
ることができる。
【0009】
【実施例】以下、この発明のデジタルレコーダの好適な
実施例を図面を参照して説明する。
【0010】〈全体構成〉図1は、本発明のデジタルレ
コーダの一実施例の全体構成を示しており、この実施例
においては、同時に3トラックまでの録音、再生動作が
出来るようになっている。全体は、図示のとおり、CP
U部(図中左側の部分)と、DMAユニット(音声記録
再生処理装置)(図中右側の部分)とにわかれる。
【0011】CPU部は、CPU1と、このCPU1の
動作を規定するプログラム(詳細は後述)を記憶したプ
ログラムROM2と、各種データを記憶するエリア、3
トラックのカレントポインタを記憶するエリア、ならび
にワークエリア等を含むRAM3と、CPU1のI/O
ポートに接続された周辺機器である各種ファンクション
キー、データ入力キー等を含むキーボード4、CRTあ
るいはLCDとそのドライバを含み各種表示を行う表示
装置5とを有する。
【0012】CPU1は、後述するようにリアルタイム
動作時(録音/再生等)において、DMAユニットのア
ドレスバス、データバスの空き時間に、必要に応じてD
MAユニットの各構成要素の制御を行ない、編集時にお
いて、データブロックの並べ換えや、ディスクアクセス
ポインタの操作等を行なう。キーボード4からは、後述
するように、各トラック(以下、Trとする)の録音/
再生モードの設定、スタート、ストップ、ロケート、編
集点の指定などが行える。プログラムROM2,RAM
3のアドレス端子には、アドレスバスを介してCPU1
からアドレス信号が送られ、その出力端子はデータバス
を介してCPU1にあるいはトランシーバ7に接続され
ている。
【0013】すなわち、CPU部とDMAユニットとを
連結するために、バッファ6、トランシーバ7がDMA
ユニット内に設けられている。バッファ6はCPU1と
アドレスバスを介して接続され、更にDMAユニット内
のアドレスバスに連結される。トランシーバ7はCPU
1とデータバスを介して接続され、更にDMAユニット
内のデータバスに連結される。DMAユニット内には、
Tr1の為の音声入出力装置8−1、Tr2の為の音声
入出力装置8−2、Tr3の為の音声入出力装置8−3
が設けられていて、夫々には、アナログ音声信号が独立
に入出力可能となっている。
【0014】各音声入出力装置8−1〜8−3の内部に
は、A/D変換、D/A変換を選択的に実行する変換器
のほか、サンプリングノイズ除去用のローパスフィル
タ、更にサンプリング周期でクロックを発生するクロッ
ク回路などが含まれている。これらの音声入出力装置8
−1〜8−3においては、当該トラックがレコード(記
録)状態に設定されれば、外部からのアナログ音声信号
をサンプリング周期毎に適宜フィルタリングした後、A
/D変換して、デジタル音声データを得る。逆に当該ト
ラックがプレイ(再生)状態に設定されれば、予め読み
出されたデジタル音声データをサンプリング周期毎にD
/A変換して適宜フィルタリングした後、アナログ音声
信号として出力する。
【0015】Tr1〜Tr3の各音声入出力装置8−1
〜8−3は、データバスを介して対応するバッファ9−
1(BUF1)、バッファ9−2(BUF2)、バッフ
ァ9−3(BUF3)とそれぞれ接続され、デジタル音
声データの授受を行う。このバッファ9−1〜9−3は
Tr1〜Tr3に夫々対応しており、音声入出力装置8
−1〜8−3との間のデータ転送は、制御手段としての
DMAコントローラ10にて直接メモリアクセス(DM
A)方式により行われる。
【0016】この各音声入出力装置8−1〜8−3は、
DMAコントローラ10に対し、レコーディング時に
は、サンプリング周期で音声入出力装置8−1〜8−3
からバッファ9−1〜9−3方向への1回のサンプリン
グに係るデジタルデータのDMA転送(シングル転送)
を要求(リクエスト)し(DRQ信号を送出し(Tr1
ではDRQ1、Tr2ではDRQ2、Tr3ではDRQ
3としてDMAコントローラ10に与えられる))、D
MAコントローラ10からの回答(アクノーレッジが、
Tr1ではDAK1、Tr2ではDAK2、Tr3では
DAK3としてDMAコントローラ10から与えられ
る)を受けて、実際のデータ転送が実行される。プレイ
時には、サンプリング周期でバッファ9−1〜9−3か
ら音声入出力装置8−1〜8−3方向への1回のサンプ
リングに係るデジタルデータのDMA転送(シングル転
送)の要求が、音声入出力装置8−1〜8−3からなさ
れ、上記した場合と同様にDMAコントローラ10によ
ってデータ転送が実行される。
【0017】このバッファ9−1〜9−3は、1回もし
くは複数回のデジタル音声データを記憶できる容量を持
ち、例えばRAMをTr1〜Tr3に3分割し、夫々リ
ングバッファ(最終アドレスと先頭アドレスとが仮想的
につながったバッファ)として使用することで、FIF
Oバッファとして機能するよう構成されている。このバ
ッファ9−1〜9−3に対するアドレス指定は、アドレ
スバスを介してDMAコントローラ10などよりなされ
る。すなわちDMA転送を行っているときはDMAユニ
ット内のアドレスバス、データバス、制御信号ラインは
DMAコントローラ10が専有することになる。
【0018】そしてバッファ9−1〜9−3はデータバ
スを介し、更にデバイスコントローラ11の制御に従っ
てハードディスク12−1や光磁気ディスク12−2等
(以下、単にディスク12と言う)のディスクとデータ
の授受を行う。ディスク12とデバイスコントローラ1
1とはデータバスとコントロール信号ラインとを介し連
結され、ディスク12に対するリード/ライトアクセス
が全てデバイスコントローラ11によりなされる。各デ
ィスクは、Tr1〜Tr3の3トラック分の分割された
記憶エリアを有しており、バッファ9−1〜9−3との
データ転送がDMAコントローラ10によりなされる。
これは、デバイスコントローラ11が1つのデータブロ
ックを転送し終ると割込み(INT)をCPU1にか
け、次のデータブロックの転送指示をCPU1に対し行
うことによりなされる。CPU1は、デバイスコントロ
ーラ11からインタラプト信号INTが到来すると、D
MAコントローラ10、デバイスコントローラ11を所
望の状態に設定したり、プログラミングしたりした後、
DMA転送を行わせる。この動作の詳細は後に説明す
る。
【0019】DMAコントローラ10はプレイ時にあっ
ては、ディスク12から予め指定された量(複数サンプ
リング周期分)のデジタル音声データを読み出した後、
バッファ9−1〜9−3のうちの指定されるバッファへ
DMA転送(ブロック転送)するよう動作し、レコード
時にあっては、指定されたバッファから予め指定された
量(複数サンプリング周期分)のデジタル音声データを
読み出してディスク12の指定される位置へDMA転送
(ブロック転送)するよう動作する。
【0020】このディスク12とバッファ9−1〜9−
3との間のデータ転送の際は、デバイスコントローラ1
1よりDMAコントローラ10に対し要求信号DREQ
を出力し(DMAコントローラ10側ではDRQ4とし
て受取る)、転送可能となると逆に回答信号DACKを
受取る(DMAコントローラ10側ではDAK4として
出力する)ことで、実際の転送状態となる。
【0021】このように、DMAコントローラ10は、
Tr1〜Tr3の音声入出力装置8−1〜8−3とバッ
ファ9−1〜9−3との間の3チャンネル(後述するC
H1〜CH3)のデータ転送と、順番に選択されたいず
れかのバッファ9−1〜9−3とディスクとの間の1チ
ャンネル(後述するCH4)のデータ転送との、計4チ
ャンネルの時分割データ転送動作をする。
【0022】CPU1は、DMAユニット内の各構成要
素の機能、作用を管理するために、アドレスバスを介し
バッファ6にアドレス信号を与えるほか、各構成要素の
指定信号をバッファ6を介しデコーダ13に供給して、
夫々の指定信号CSを、各音声入出力装置8−1〜8−
3、バッファ9−1〜9−3、DMAコントローラ1
0、デバイスコントローラ11に与える。同時に、トラ
ンシーバ7を介し、データバスを経由して種々のデータ
のやりとりがCPU1との間でなされる。
【0023】更に、CPU1から各音声入出力装置8−
1〜8−3のIOWR端子にはレコード状態(ライト状
態)とするのかプレイ状態(リード状態)とするのかを
指定する指定信号WRが、バッファ6を介して与えられ
る。
【0024】また、各バッファ9−1〜9−3、DMA
コントローラ10、デバイスコントローラ11に対して
もこの指定信号(ライト信号)WRと、別の指定信号
(リード信号)RDとがバッファ6を介してCPU1か
ら与えられ、夫々の構成要素からデータを読み出したり
逆にデータを書込んだりするようになる。また、DMA
コントローラ10からも、DMA転送状態にあってはこ
れらの指定信号RD、WRを出力するようになる。これ
らの信号と各構成要素の機能、動作の関係は後述する。
【0025】DMAコントローラ10は、DMA転送を
各構成要素間で行っているとき、DMA可能(イネーブ
リング)信号DMAENBを“1”にして出力する。そ
の結果、この信号DMAENBがインバータ16を介し
て与えられるアンドゲート14の出力は“0”となり、
バッファ6、トランシーバ7にはイネーブリング信号E
が“0”として与えられ、結局CPU部とDMAユニッ
トとのデータ、アドレスの授受はできなくなる。このと
き、アンドゲード15に“1”信号がデコーダ13より
与えられておれば、アンドゲート15の出力が“1”と
なってCPU1にウェイト信号WAITが供給される。
【0026】つまり、CPU1が、DMAユニットを管
理するために、バッファ6、トランシーバ7を開かせる
べくデコーダ13に所定の信号を与えているとき、つま
りアンドゲート14の一入力端にデコーダ13より
“1”信号を供給しているとき(CPU1がバッファ9
−1〜9−3、DMAコントローラ10、デバイスコン
トローラ11、音声入出力装置8−1〜8−3のいずれ
かにアクセスするためのアドレス信号を出力すると、デ
コーダ13の出力はアクティブとなりアンドゲート1
4、15の夫々の一入力端への出力は“1”となる)、
DMA転送を開始するとCPU1にはウェイト(WAI
T)がかかり、DMA転送が優先して実行された後、ウ
ェイト解除にともなってCPU1の動作が再開される。
【0027】また、逆にDMAコントローラ10がDM
A転送を実行しているときに、CPU1が例えばDMA
コントローラ10をアクセスしようとしても、アンドゲ
ート15よりウェイト信号WAITが与えられCPU1
の実行サイクルは途中で引き延ばされて、バッファ6、
トランシーバ7はその間閉じられることになる。
【0028】結局、CPU1が、DMAユニットの各構
成要素にアクセスできるのは、 CPU1がDMAユニットの各構成要素をアクセスす
るためのアドレスを出した。 信号DMAENBがインアクティブ(“0”)つまり
DMAユニットのデータバスが空いている。 の2つの条件を満足するときであるが、CPU1は上述
したように、ゲート14、15の作用によっていつDM
Aユニットにアクセスするかを考慮することなく処理を
すすめることができる。
【0029】また、CPU1は、キー入力やコントロー
ルデータのトリガに応じて直ちにDMAユニットの動作
状態を変えたい場合、DMAコントローラ10に対し
て、DMAコントローラ10の状態がどのような状態で
あってもDMA転送を中断する指令DMAENDを出力
することができる(これは、DMAコントローラ10に
はEND信号として与えられる)。
【0030】〈DMAコントローラ10の要部構成〉次
に、DMAコントローラ10の一構成例を説明する。D
MAコントローラ10は、1バスサイクルが数百ナノ秒
である転送能力をもつ。従って、3トラック分のサンプ
リングデータを転送する時間は1から2マイクロ秒とな
る。
【0031】サンプリング周波数fsを48KHzとし
たとき、1サンプリング時間の間隔は約21マイクロ秒
となり、サンプリング時間間隔のほとんどは、バッファ
9−1〜9−3とデバイスコントローラ11、ディスク
12との間のデータ転送及びCPU1から各構成要素の
プログラミング時間にあてることが可能となる。
【0032】さて、その具体例の主要構成は、図2に示
されている。このDMAコントローラ10は、アドレス
バスと接続される入力側(IN)のアドレスバッファ1
01と出力側(OUT)のアドレスバッファ102を有
する。入力側のアドレスバッファ101に与えられるア
ドレス信号によって、レジスタセレクタ103の指定内
容が変化し、アドレスレジスタ104とコントロールレ
ジスタ105とに存在する所望のレジスタが指定される
ことになる。
【0033】アドレスレジスタ104、コントロールレ
ジスタ105には4つのチャンネルCH1〜CH4のエ
リアがあり、チャンネルCH1〜CH3は、バッファ9
−1〜9−3と音声入出力装置8−1〜8−3との間の
DMA転送を行うためのレジスタであり、チャンネルC
H4は、バッファ9−1〜9−3のうちの指定したバッ
ファとハードディスク12−1または光磁気ディスク1
2−2との間のDMA転送を行なうためのレジスタであ
る。
【0034】アドレスレジスタ104内の各チャンネル
CH1〜CH4のレジスタは、対応するバッファ9−1
〜9−3及び指定されたバッファのカレントアドレスと
スタートアドレスとを少なくとも記憶するエリアを有
し、CH4のレジスタには、さらに転送カウンタが具備
され、このカウンタに設定されただけのデータ数がDM
A転送されると、デバイスコントローラ11のDMAリ
クエストが続いても新たにカウンタが設定されるまでD
MA動作は停止される(後述する図8の8−8によ
る)。またコントロールレジスタ105の各チャンネル
CH1〜CH4のエリアには、例えばDMA転送の方向
を指定するコントロールデータが記憶される。
【0035】このアドレスレジスタ104、コントロー
ルレジスタ105の内容は、データバッファ106を介
してデータバスに対して入出力可能となっている。そし
て、これらの各構成要素を制御しているのが、タイミン
グコントロールロジック107と、サービスコントロー
ラ108、チャンネルセレクタ109である。
【0036】サービスコントローラ108は、ハードロ
ジックもしくはマイクロプログラム制御構成となってい
て、タイミングコントロールロジック107からの信
号、音声入力装置8−1〜8−3、デバイスコントロー
ラ11からのDMA要求信号DRQ1〜DRQ4や、C
PU1からのDMA中断指令END(DMAEND)を
受けとり、上記各構成要素に対する回答(アクノーレッ
ジ)信号DAK1〜DAK4、DMA転送中を示すDM
A可能(イネーブリング)信号DMAENBを出力する
ほか、タイミングコントロールロ107に対し各種指令
を出したり、チャンネルセレクタ109に対しチャンネ
ルセレクト信号を出力したりする。チャンネルセレクタ
109は、アドレスレジスタ104、コントロールレジ
スタ105の中の各チャンネルCH1〜CH4に対応す
るレジスタを選択的に指定する。
【0037】タイミングコントロールロジック107
は、デコーダ13からの指定信号CS、コントロールレ
ジスタ105からのコントロール信号、サービスコント
ローラ108からの制御信号を受けて、アドレスバッフ
ァ102、データバッファ106の入出力制御をするほ
か、アドレスインクリメンタ110を動作させて、アド
レスレジスタ104の中の指定されたチャンネルのカレ
ントアドレスレジスタをインクリメントし、該チャンネ
ルに割り当てられたバッファの最終アドレスになったな
ら、該チャンネルに割り当てられたバッファの開始アド
レスにリセットする。
【0038】またバッファのエリア情報を管理・制御す
るために監視手段としてのエリアデータレジスタ111
とエリアデータバッファ112が用いられている。
【0039】エリアデータレジスタ111及びエリアデ
ータバッファ112の内部には、該チャンネルに割り付
けられたバッファエリアのトップ(先頭)及びテイル
(末尾)アドレスが記憶される。アドレスインクリメン
タ110はカレントアドレスをインクリメントする毎
に、現在サービスを行なっているチャンネルのエリアデ
ータレジスタ111を参照し、アドレスのインクリメン
ト結果がテイルアドレスに達したなら、バッファを循環
させるためにトップアドレスにリセットする。あるい
は、このテイルアドレスからトップアドレスへの変更
は、後述するように、DMAコントローラ10のプログ
ラム制御処理によってもよい(図8、8−16参照)。
【0040】<CPU1の全体動作>以下に、本実施例
の動作について説明する。CPU1の動作を示すフロー
チャートが図3乃至図6に示されている。これはプログ
ラムROM2に記憶されたプログラム(ソフトウェア)
よるもので、図3はメインルーチンを示し、図4は、図
3のステップ3−20のより詳細な処理を示すフローチ
ャートを示している。また図5は、デバイスコントロー
ラ11からのインタラプト信号INTの到来に応答して
実行するインタラプトルーチンを示し、図6は図5に示
すインタラプトルーチンの一部のステップ(5−2)を
さらに詳細に示している。
【0041】まず図3において、CPU1は、電源オン
に応じてメインルーチンをスタートさせ、ステップ3−
0(以下、単に3−0と記す)において各種初期状態を
設定する。そして、3−1においてキー入力を受け、3
−2において何のモードに設定されたかを判断する。
【0042】CPU1が、現在プレイ/レコードモード
であるとジャッジすると、3−2から3−3に進み3つ
あるトラックを順次選択指定し、さらに3−4に進み各
トラックの動作モードをキーボード4の入力指示に従っ
て設定し、3−5において、A/D変換、D/A変換の
いずれの動作を各音声入出力装置8−1〜8−3が実行
するのか、バッファ6、デコーダ13を介して指定信号
CSを順次送出しながらIOWRを与えてセッティング
する。いま、例えばTr1については、プレイ状態(従
ってD/A変換動作状態)、Tr2及びTr3は夫々レ
コード状態(従ってA/D変換動作状態)とする。図1
0に、このようなモード設定した場合の概略動作の概念
図を示す。
【0043】そして、3−5では、DMAコントローラ
10に対し、各Tr1〜Tr3についてのバッファ9−
1〜9−3のアドレスを初期化させる。つまり、図2の
アドレスバッファ101、レジスタセレクタ103、チ
ャンネルセレクタ109等により、チャンネルCH1〜
CH3の各レジスタ(アドレスレジスタ104、コント
ロールレジスタ105)を指定しながら、データバッフ
ァ106を介して初期設定データを入力設定する。
【0044】ここで、バッファ9−1〜9−3は、リン
グバッファとして循環的に使用されるようになってお
り、初期状態としては、各バッファ9−1〜9−3のス
タートアドレスとカレントアドレスとは一致するようセ
ットされる(図10に、各バッファ9−1〜9−3のス
タートアドレスとカレントアドレスとが、CH1〜CH
3のアドレスレジスタ104に記憶されて制御される状
態を模式的に示してある)。
【0045】続いてCPU1は3−6の処理を実行し、
RAM3内の作業(ワーク)メモリエリアに存在するハ
ードディスク12−1、光磁気ディスク12−2の各ト
ラックTr1〜Tr3に対応するディスクアクセスポイ
ンタを初期設定する(図10にハードディスク12−1
の記憶エリアと、ディスクアクセスポインタとの関係を
示している)。
【0046】次にCPU1は、各音声入出力装置8−1
〜8−3のA/D変換動作又はD/A変換動作を開始さ
せる(3−7)。続いて、3−8において、ソフトウェ
ア割込みをかけて、デバイスコントローラ11が、ハー
ドディスク12−1または光磁気ディスク12−2とバ
ッファ9−1〜9−3のいずれかとの間のデータ転送の
プログラム要求(デバイスコントローラ11がCPU1
に対してインタラプトINTをかけること)を行なった
とき(後述)と同じ処理を実行する。
【0047】具体的には、図5及び図6に示したフロー
チャートに従った動作を3−8で実行することになる。
ここで図5及び図6に示したフローチャートの説明に入
る前に、前記した図1のRAM3に格納される各テーブ
ルの構成について説明する。図1のRAM3には、図1
1乃至図14に示すように再生スケジュールを制御する
イベントテーブル(ETとする)、イベントシーケンス
テーブル(ESTとする)が定義されており、それらの
中間データであるカレントデータのメモリ領域が取られ
ている。
【0048】すなわち、図11は前記したイベントテー
ブルの登録例を示しており、このテーブルに格納される
イベントデータは、イベント名(name)、ディスク
ID(id)(ハードディスク12−1(00)と光磁
気ディスク12−2(01)のいずれかを指定する)、
先頭データアドレス(サンプル(ワード)データアドレ
ス)(adrs)、及びイベント長(サンプルデータ
数)(vol)より構成されている。そして図11に示
すイベントテーブルにおいては、オリジナルレコーディ
ングデータである“1”から“4”は、録音時の領域確
保によって自動的に作られる。
【0049】また、図12はオリジナルレコーディング
データのESTの例を示しており、横方向に“0”から
“2”のESTインデックス(ESTindex)が、
縦方向に各トラック番号が配列され、それぞれに対応し
てイベント番号が格納される。図12においては、例え
ばトラック2のデータ(2と3)はディスク“00”と
“01”にまたがって記録された状態を示しており、イ
ベント番号“0”はシーケンス要素の終端を示すための
ものである。
【0050】また、図13はイベントをユーザ自ら定義
し、出力すべきトラックにそれらを並べた編集作品1の
ESTの例を示しており、図12と同様に横方向に
“0”から“8”のESTインデックスが、縦方向に各
トラック番号が配列され、それぞれに対応してイベント
番号が格納される。従って以上のようにESTは編集作
品に対応して複数存在しうる。
【0051】さらにまた、図14は実際にDMA転送を
行っているときのカレントデータを示しており、各トラ
ックの次回の転送対象となるESTのインデックス番号
と、そのイベントがどれだけ転送されたかを示す既転送
量が記憶される。
【0052】以下、図13に示すようなユーザ定義のイ
ベントシーケンスを再生させた場合のCPU1の動作
を、図5及び図6に示したフローチャートに従って説明
する。まず、Tr1について、ハードディスク12から
デジタル信号データをバッファ9−1にDMA転送する
ために、DMAコントローラ10のチャンネルとしてT
r1に対応するチャンネルCH1を決定する(5−
1)。
【0053】続いて、トラック番号とチャンネルバッフ
ァの空き容量(転送可能容量)から、ディスクID、ワ
ードアドレス、転送アドレスを求める5−2のステップ
を実行する。この5−2のステップについては、図6に
さらに詳しくそのフローが示されている。尚、バッファ
の空き容量は、セクタ単位に切り捨てる演算がなされて
いることを前提とする。
【0054】すなわち、6−1のステップにおいて、該
当するトラックカレントデータよりESTインデックス
を求め、イベント番号を求める。そして6−2のステッ
プにおいて、図11に示すイベントテーブルよりそのイ
ベントのIDを求める。次いで6−3において、「その
イベントの先頭アドレス+カレントデータの既転送量=
ワードアドレス」の式に従って、ワードアドレスを演算
する。イベントの先頭アドレスは図11に示すイベント
テーブルより求められ、またカレントデータの既転送量
は図14に示すカレントデータより求められる。
【0055】そして、CPU1は6−4において、ワー
ドアドレス(セクタ(1セクタ=100h)を示すディ
スクアドレス)よりオフセット(ワード)を求める。次
いで6−5において、「イベントの容量−既転送量=未
転送量」の式に従って、未転送量の演算がなされる。イ
ベントの容量は図11におけるイベントテーブルのvo
lより求められ、既転送量は図14のカレントデータよ
り求められる。ここで6−6において「空き容量>未転
送量」であるか否かが判断される。6−6においてNO
とジャッジした場合、イベント末尾に達していないの
で、6−7において「カレントデータの既転送量+空き
容量−オフセット=既転送量」の演算がなされ、6−8
において「転送ワード数=空き容量−オフセット」とす
る。尚、2回目以降の転送では空き容量はセクタ単位の
大きさに切り捨てられているので、後述する通り、デー
タ転送はセクタ単位となる。また前記ステップ6−6に
おいてYESとジャッジした場合、イベント末尾に達し
たので、6−9において「カレントデータのESTのイ
ンデックスを+1、既転送量=0」の処理を成し、6−
10において「転送ワード数=未転送量」とする。
【0056】図5に戻り、5−3において、ワードアド
レスをディスクアドレスとオフセットに直し、転送ワー
ド数より転送セクタ数を求める。この転送セクタ数の決
定に際し、セクタ未満のデータは転送できない(セクタ
単位で転送する)ため、セクタ単位で切り捨てが行われ
る。更に5−4において、ディスクアドレス、転送セク
タ数、トラックモードにより、デバイスコントローラ1
1をプログラミングする。また、録音または再生のモー
ドに対応して、CH4の転送方向(録音時、バッファ9
−1乃至9−3からディスク12の方向、再生時はその
逆の方向)がプログラムされる。ここで5−5において
「オフセット=0」であるか否かがジャッジされ、NO
とジャッジされた場合には、イベント先頭の位置が半端
なデータを含んだセクタにある。そしてこの様な半端が
ある場合には5−6および5−7において、DMAコン
トローラ10におけるアドレスレジスタ104のCH4
のスタートアドレスをイメージ(実際には存在しない)
領域に設定し、前記転送カウンタにオフセット値を設定
してダミー転送する。
【0057】5−7においてダミー転送が終了したと判
定されるか、または5−5においてYESのジャッジが
成された場合には、5−8乃至5−10のステップを実
行する。いまの場合、先頭ダミー転送分以外の領域の転
送設定を行なう。即ち、5−8で、アドレスレジスタ1
04の当該CH(いまの場合、CH1)のスタートアド
レスをCH4のスタートアドレスにコピーする。そし
て、5−9では、転送カウンタの値が「セクタ数×セク
タ長−オフセット値」の値に設定される。さらに5−1
0では、5−8で求まっている転送ワード数より当該C
Hのスタートアドレスを更新する。そしてメインルーチ
ン(図3)にリターンする。このようにして、次のアク
セスアドレスはセクタの境界と一致する。
【0058】ところで、図5におけるステップ5−6に
おいては、イメージ領域(実際には存在していないアド
レス領域)にダミー転送を行なうようにしている。これ
は特にイメージ領域でなく、バッファ中の未発音データ
以外の領域に転送してしまっても効果としては同じであ
るが、この場合、スタートアドレスの設定をその度にD
MAコントローラ10のレジスタ104から得なくては
ならない。しかし、イメージ領域ならば、スタートアド
レスはイメージ領域の最初を示す固定値にして、アドレ
スレジスタ104の転送カウンタだけをプログラムすれ
ばいいので、やや効率がよい。
【0059】また逆に、イベント末尾の無効データを、
イメージ領域に転送する処理は必要なく、無効データを
含まない位置に、転送ワード数からスタートアドレスを
更新できるので問題はない。これは5−10において、
未転送量が転送ワード数とされていることによる。
【0060】次に、図3に戻る。後の説明でも明らかに
なるとおり、最初の割込みルーチン(図5)が起動され
て、デバイスコントローラ11が一度動かされると、あ
とは、CPU1が指定したデータブロックの転送が終了
するたびに、デバイスコントローラ11から割込みがな
される(INT信号がCPU1に与えられる)ので、C
PU1が行なうのは、録音/再生動作の終了になった
か、キー入力があったかまたはコントロールデータに指
示しておいたトリガがかかったかの判断を行うのみであ
る。
【0061】すなわちCPU1は、3−9においてディ
スクアクセスポインタ(RAM3)を参照し、メモリエ
リアオーバーか否か、つまり終了か否かをジャッジし
(3−10)、YESの場合は、各音声入出力装置8−
1〜8−3のA/D変換、D/A変換動作を停止(3−
11)させ、3−1に戻る。NOの場合は、キー入力状
態を参照し(3−12)、もし変化がなければ、ディスク
アクセスポインタをチェックすべく3−9の処理へもど
り、以下3−9〜3−13をくりかえす。
【0062】そして、3−13において何らかの変化が
あると、3−13から3−14に進み、CPU1はDM
A転送を一時中断して、新たな設定をすべく、DMAコ
ントローラ10に対するDMA中止指令(DMAEN
D)を出力する。続けて、新たな入力指示等に従って、
DMAコントローラ10、音声入出力装置8−1〜8−
3をプログラムし(3−15)、再びDMA動作を再開
すべく3−16に進み、上述した3−8と同様に図5の
インタラプトルーチンを実行した後、3−9へもどる。
【0063】このように、CPU1はプレイ/レコード
時にあっては、3−4〜3−8の初期設定を行なった後
は、3−9、3−10、3−12、3−13更に3−1
4〜3−16をくりかえし実行し、キーボード4での変
更指示(例えばあるトラックについてポーズ(A/D、
D/Aの中断)あるいはパンチイン/アウト(A/D、
D/Aの動作の切換)等)や、編集時に得たコントロー
ルデータの変化に応答して、即時にDMA転送制御を中
断し、プログラムを変更した上で、再び同様の処理を実
行するように動作する。
【0064】3−2において、CPU1が現在、イベン
ト処理モードにあると判断すると、3−2から3−17
に進み、ディスク12に記憶されている音声データをイ
ベント化する。イベント化とは、手動指定操作などによ
って時間軸上に連続した音声データを複数に区切り、各
区切られた音声データ(イベント)を識別するためのイ
ベント名、ディスクIDおよび区切られた区間を示すデ
ータ(スタートポイントとその長さ(ボリューム))を
作り出すことを意味する。イベント化に対応して、3−
18においてイベントテーブル(図11)が作成され
る。このイベントテーブル(ET)には、イベント名、
ディスクID、スタートポイントおよびボリュームが登
録される。ディスクID、スタートポイントおよびボリ
ュームは、当該イベントが記憶されるディスク12のス
タートアドレスおよびイベント長に相当する。
【0065】次いで3−19において、前記イベントテ
ーブルに基づいてイベントシーケンステーブルEST
(図13)が作成される。次に3−20において、エリ
アデータ設定のサブルーチン(その詳細は後述する)が
実行された後、ESTの作成の終了が3−21で検出さ
れると、CPU1は3−1において再びキー入力を調べ
る。
【0066】3−2において、CPU1が現在、編集
(EDIT)モードにあると判断すると、3−2から3
−22に進み、編集するトラックやポイント、どのよう
な編集をするのか(例えば、ある時間指定したポイント
に録音した音のタイミングを前後にずらしたり、修正、
削除したりすること)をCPU1は判断し、各種編集作
業を実行する(3−23)。この編集作業は、特には詳
述しないが、デバイスコントローラ11とDMAコント
ローラ10とに対するディスク12からの読み出しアク
セスポイントのプログラムや、RAM3への転送、RA
M3を用いての各種編集、そして編集後のデジタル音声
データのディスク12への再格納作業、アクセスポイン
トの指定等を、CPU1の制御下で実行する。3−24
において編集作業の終了が検出されると、CPU1は、
3−1において再びキー入力を調べる。
【0067】次に図4を参照して、図3におけるステッ
プ3−20のエリアデータ設定のサブルーチンの詳細に
ついて説明する。最初にステップ4−1において各トラ
ックの光磁気ディスク12−2のイベントの比率が求め
られる。例えば図13のESTに示すトラック1の場
合、ESTインデックス0から8までの各イベント番号
が示すイベントテーブル(図11)が検査される。ES
Tインデックスが0のイベント番号は21であるから、
このイベント番号21のIDを図11より判定すると0
である。即ち、イベント番号21のイベントは光磁気デ
ィスク12−2ではなく、ハードディスク12−1に記
録されている。次のESTインデックス1のイベント番
号は9であり、図11よりこのイベント番号が記録され
ているディスクを判定すると、そのIDが01であるか
ら光磁気ディスク12−2となる。そこで、このイベン
ト番号9の容量(長さ)を図11のイベントテーブルの
volから求める。即ちこの場合の容量は9675hと
なる。
【0068】以下同様にして、トラック1に記録されて
いる各イベントのうち、光磁気ディスク12−2に記録
されているイベントの容量を求める。この実施例の場
合、図13において丸印を付して示したイベント(即
ち、イベント番号9と10)が光磁気ディスク12−2
に記録されている。イベント番号10の容量は、図11
より10000hであるから、トラック1のイベントの
うち、光磁気ディスク12−2に記録されているイベン
トの総容量は次のようになる。 9675h×3+10000h=2345Fh
【0069】いま、仮りに各トラック1乃至トラック3
の総容量(合計サンプル数)は同一であり、いずれも4
78BEであるとすると、トラック1の光磁気ディスク
12−2に記録されているデータの比率Meは、次式で
示される。 Me=2345Fh/478BEh=0.5
【0070】図13に示すように、トラック2のイベン
トはすべてハードディスク12−1に記録されており、
トラック3においてはイベント番号10のイベントのみ
が光磁気ディスク12−2に記録され、その他のイベン
トはすべてハードディスク12−1に記録されているも
のとすると、トラック2とトラック3のイベント比率M
2,Me3は次のようになる。 Me2=0/478BEh=0 Me3=10000h/478BEh=0.22
【0071】このようにして各トラックTr1乃至Tr
3の光磁気イベント比率Me1乃至Me3が求められた
後、4−2において各トラックのバッファ比率が次のよ
うにして求められる。即ち、ある条件での光磁気ディス
ク12−2の平均データ転送バンド幅(これについては
後述する)をBとするとき、次の式から各トラックのア
クセス負荷を求める。 アクセス負荷=1/(1×(1−Me)+B×Me)
【0072】トラック1においてはMe=0.5であ
り、Bは後述するように、例えば0.44であるとする
と、アクセス負荷は次のようにして求められる。 1/(0.5+0.44×0.5)=1.44
【0073】この数字が意味するのは、ハードディスク
12−1上のデータを再生する場合と同じだけのアクセ
スオーバーヘッド吸収能力を持つためには、光磁気ディ
スク12−2上にアクセスする場合においてはハードデ
ィスク12−1をアクセスする場合に比べて1.44倍
の容量を持たなければならないことを意味している。同
様にして、トラック2およびトラック3におけるアクセ
ス負荷を求めると、1または1.14となる。これらの
アクセス負荷がそのままバッファ容量の比率になる。
【0074】ここで平均データ転送バンド幅について説
明すると、これはアクセスオーバーヘッドを考慮したデ
ータの転送能力を意味するため、アクセス発生条件によ
って異なった値となる。いま、ハードディスク12−1
および光磁気ディスク12−2のデータ転送の最大転送
バンド幅(アクセスが終了した後の転送幅)を1.5M
byte/Sとし、ハードディスク12−1の平均アク
セス時間を15ms、光磁気ディスク12−2の平均ア
クセス時間を50msとする。このアクセス条件を20
Kbyteごとのデータブロックを単位としてアクセス
するものとすると、データブロックを転送し終えるのに
必要な時間は、ハードディスク12−1の場合、アクセ
スに15msを要し、データ転送に20K/1.5M=
13.3ms必要となるため、合計28msの時間が必
要になる。従って、実質の転送バンド幅は20Kbyt
e/28ms=714Kbyte/Sとなる。これが上
述した条件におけるハードディスク12−1の平均デー
タ転送バンド幅となる。
【0075】同様に、光磁気ディスク12−2における
平均データ転送バンド幅は、20Kbyte/63ms
=317Kbyte/Sとなる。その結果、光磁気ディ
スク12−2のハードディスク12−1に対するバンド
幅比率は、 317/714=0.44 となる。このディスク12への平均的なアクセス単位を
小さく見積もるほどデバイスのアクセスオーバーヘッド
の差が顕著に現れるので、実現したシステムの個々の構
成部品の性能、制御方法などに応じて見積もるようにす
ることが好ましい。尚、アクセスオーバーヘッドにはC
PU1が転送のためのデータの設定なども考慮して定め
ると、より正確になる。
【0076】以上のようにしてバッファの比率が求めら
れたとき、次に4−3においてエリアデータの生成を行
なう。即ち、4−2で演算して求めた比率と、バッファ
9−1乃至9−3に割り付けられたアドレスから、バッ
ファ9−1乃至9−3のエリアデータを割り出す。さら
に4−4においてDMAコントローラ10のエリアデー
タレジスタ111を設定する。その後、メインルーチン
に戻る。
【0077】<音声入出力装置8−1〜8−3の動作>
次に図7を参照して、音声入出力装置8−1〜8−3の
動作状態を説明する。このフローチャートは、マイクロ
プログラム制御によるものであっても、ハードロジック
制御によるものであってもよく、機能実現手段は種々選
択できる。
【0078】さて、7−1において、CPU1から当該
音声入出力装置の指定信号CSが到来している(アクテ
ィブとなっている)か否かジャッジし、YESならば7
−2において、CPU1より動作状態(レコード、プレ
イ、ストップ等)が設定される。これは図3のCPU1
のメインルーチンの中の3−5、3−15に応答してな
される。
【0079】そして、7−1においてNOの判断がなさ
れると、7−3において、当該音声入出力装置8−1〜
8−3がレコード状態であるのかプレイ状態であるのか
判断し、レコード状態と判断されると、7−3から7−
4〜7−9の処理へ進み、プレイ状態と判断されると7
−10〜7−15の処理へ進む。
【0080】先ずレコード状態に設定された音声入出力
装置(いまの場合音声入出力装置8−2、8−3)の動
作を説明する。7−4において、サンプリング時刻とな
ったか否か判断し、サンプリング時刻となるまで、この
7−4をくりかえす。なお、サンプリング時刻の判断
は、音声入出力装置8−1〜8−3内部に夫々ハードタ
イマーをもってその出力によって行ってもよく、あるい
は共通なハードタイマーを設けてその出力に従って各音
声入出力装置が動作するようにしてもよい。後の説明か
らも理解されるとおり、各音声入出力装置8−1〜8−
3のサンプリング周波数を別々にすることも可能であ
る。
【0081】さて、7−4において、YESの判断がな
されると、与えられるアナログ音声信号は、サンプルホ
ールド(S/H)され、A/D変換される。続いて、7
−6において、DMAコントローラ10に対してDMA
転送要求DRQをアクティブにして出力する。
【0082】DMAコントローラ10は、この要求信号
DRQを受けとり、DMA転送を行うべく、その回答信
号DAKを出力する。従って、音声入出力装置8−1〜
8−3(いまの場合レコード状態である音声入出力装置
8−2又は8−3)は、7−7の判断がYESとなる
と、7−8に進み、A/D変換して得たデジタル音声デ
ータをデータバスに出力し、対応するバッファ9−1〜
9−3(いまの場合バッファ9−2又は9−3)へ送
る。そして、7−9にて、DMA転送要求DRQをイン
アクティブにする。従って、いまの場合、音声入出力装
置8−2、8−3にあっては、サンプリング周期毎に、
外部から与えられるアナログ音声信号をデジタル音声信
号に変換し、後述するようにDMAコントローラ10に
て夫々指定されるバッファ9−2、9−3のカレントア
ドレスに転送する(図10参照)。
【0083】また、7−3においてプレイ状態と判断さ
れると、7−10に進み、DMAコントローラ10に対
しDMA転送要求DRQをアクティブにし、DMAコン
トローラ10から回答信号DAKの到来を待って(7−
11)、データバス上のデジタル音声データを取込み
(7−12)、上記要求DRQをインアクティブにする
(7−13)。このときのDMAコントローラ10の動
作は後述するが、いまの場合、図9に示すとおり、Tr
1に対応するバッファ9−1のカレントアドレスの内容
(これはすでにディスク12のTr1のエリアの内容が
転送記録されている)が、以上の操作で音声入出力装置
8−1に入力設定されることになる。そして、サンプリ
ング時刻となったか否か判断する(7−14)。このサ
ンプリング時刻の到来の検出は、7−4において述べた
ことと同じである。
【0084】そして、7−14でYESとなると7−1
5に進み、D/A変換及びローパスフィルタリングを実
行した上でアナログ音声信号を外部に出力する。
【0085】以上レコード状態の場合と、プレイ状態の
場合との1つのサンプリング時刻における動作を説明し
たが、7−9、7−15の各処理の終了後7−1にもど
り、以下同様にして次々とサンプリング時刻に対する処
理を実行する。
【0086】<DMAコントローラ10の動作>次に、
図8を参照してDMAコントローラ10の動作を説明す
る。この図8のフローチャートは、図2のサービスコン
トローラ108がマイクロプログラム制御で動作するの
を表わしているとしてもよく、あるいは、ハードロジッ
クでDMAコントローラ10が機能実現をしているとし
てもよい。
【0087】先ず、8−1においてCPU1からの指定
信号CSが到来している(アクティブとなっている)か
否か判断し、YESならば、リード信号RD、ライト信
号WRのいずれがCPU1から与えられているか判断
(8−2)し、リード信号RDならば8−3に進み、ア
ドレスバスを介して与えられるアドレス信号にて指定さ
れるレジスタ104、105の内容をデータバスを介し
て出力してCPU1がリードできるようにし、逆にライ
ト信号WRならば8−4に進み、指定したレジスタにデ
ータバスを介して所望のデータを入力設定することにな
る。この8−3、8−4の処理は、CPU1のメインル
ーチンの3−5、3−15などの処理に対応する。従っ
て、8−4の処理によって図2の各レジスタ104、1
05には所望のデータがセットされることになる。
【0088】そして、このようなCPU1からのDMA
コントローラ10に対するアクセスやプログラムが終る
と指定信号CSはインアクティブとされ、8−1から8
−5に処理は進むことになる。
【0089】8−5では、各音声入出力装置8−1〜8
−3からDMA転送要求DRQ1〜DRQ3がきている
か、デバイスコントローラ11からDMA転送要求DR
EQ(DRQ4)がきているか判断し、もし、いずれか
から要求が来ていると8−6に進み、DMA可能信号D
MAENBを“1”に(アクティブ)にし、DMAユニ
ット内のアドレスバスとデータバスをDMAコントロー
ラ10が専有するようにし、CPU1からのアクセスを
受け付けなくする。
【0090】続いて、複数の要求に際しては、チャンネ
ルCH1〜CH4の順の優先順位に従って、チャンネル
を選択する(8−7)。
【0091】次に、アドレスレジスタ104のCH4が
選択され、かつ、CH4に設けられた転送カウンタの値
が“0”であるか否かが判断される(8−8)。ここで
CH4が選択され、かつ、転送カウンタの値が“0”で
あれば、つまりCH4により転送すべきデータ量だけの
転送が終了してしまった後は、転送要求があっても、転
送を行わずに8−5にもどり、8−5〜8−8のルーチ
ンを繰り返す。そしてCH4が選択されていないか、ま
たはCH4が選択されていても転送カウンタの値が
“0”でなければ、選択したチャンネル(いま、例えば
CH2)のカレントアドレス(アドレスレジスタ104
のCH2のカレントアドレスレジスタの内容)をアドレ
スバスに出力する(8−9)。そして選択したチャンネ
ル(いま、例えばCH2)のコントロールレジスタ10
5の内容を参照し、DMA転送をいずれの方向へ行うか
決定し(8−10)、もしバッファ9−1〜9−3から
他の要素(I/O)への転送なら8−11から8−12
へ進んで、バッファ9−1〜9−3のうちの選択してい
るバッファに対しリード信号RDを与え、逆に他の要素
(I/O)からバッファ9−1〜9−3への転送ならば
8−13に進み、当該バッファに対してライト信号WR
を与える。
【0092】しかる後、回答信号DAKをアクティブに
する(8−14)。その結果、いまの場合、Tr2の音
声入出力装置8−2は、7−7、7−8(図7)の処理
によって、サンプリングした音声データをデータバスに
送出し、バッファ9−2のカレントアドレスのエリア
に、DMAコントローラ10が書込むことになる(図1
0参照)。
【0093】8−15では、データ転送が終了したの
で、上記リード信号RD又はライト信号WR、回答信号
DAKをインアクティブにし、8−16で当該チャンネ
ル(いまCH2)のカレントアドレス(図2のアドレス
レジスタ104内)の内容を+1とし、バッファの最終
アドレス到達の後はバッファ開始アドレスにリセットさ
せる。この8−16の動作により、バッファ9−1〜9
−3に対して新たなサンプリング音声データが書込まれ
る都度、あるいは新たに音声データが読出される都度、
アップカウントまたはバッファ開始アドレスにリセット
されることになる。そして、8−16の処理の後、8−
1へもどる。
【0094】先程の状態では、Tr2とTr3との音声
入出力装置8−2、8−3よりデータ転送要求がDMA
コントローラ10に対してなされており、これまでにT
r2についてのみデータ転送の実行をしたのであるから
続く8−5においてはYESの判断がなされる。以下T
r3に関して、音声入出力装置8−3からバッファ9−
3の方向へのデータ転送が、8−7〜8−11、8−1
3〜8−16を実行することにより上記した場合と同様
にしてなされる。
【0095】このようなデータ転送が完了すると8−5
から8−17に進み、DMA可能信号を“0”(インア
クティブ)にして、DMAユニット内のデータバス、ア
ドレスバスをDMAコントローラ10が専有するのを中
止し、CPU1からのアクセスを受付けられるようにす
る。
【0096】以上Tr2、Tr3に関し、音声入出力装
置8−2、8−3から夫々対応するバッファ9−2、9
−3へのデータ転送について説明したが、Tr1につい
ては、逆に、バッファ9−1から音声入出力装置8−1
へのデータ転送がDMAコントローラ10によってなさ
れる。
【0097】CPU1は、動作中のトラックに対応する
バッファ9−1〜9−3とディスク12との間のデータ
転送を各トラック毎に順番に行うようになり、各トラッ
ク毎に、前回のデータ転送(ブロック転送)に続くデー
タ転送を行うようになる。図10の例では、例えばTr
1については、ディスク12から、図示のスタートアド
レス(CH1)とカレントアドレス(CH1)の間の空
白部分に対応するデータ量の転送をこれから行うように
なる(他のトラックについてもデータ転送の方向は逆で
あるが、同様の制御によることは明らかである)。な
お、プレイモードのバッファ(9−1が該当)およびレ
コードモードのバッファ(9−2、9−3が該当)では
斜線部分が音声入力されたデータ部分に対応する。
【0098】DMAコントローラ10では、8−5にお
いてデバイスコントローラ11から転送要求があること
を検知すると、上記した場合と同様にして、8−6〜8
−10を実行した後、バッファ9−1〜9−3からディ
スク12方向へのデータ転送の要求か、ディスク12か
らバッファ9−1〜9−3方向へのデータ転送の要求
か、8−11において判断し、前者ならば8−12へ、
後者ならば8−13へ進んだ後、8−14〜8−16の
各処理を実行する。このとき、1回の転送操作で、例え
ば1サンプル分のデジタル音声データの転送がなされる
ので、この8−5〜8−16の動作を複数回くりかえし
実行して、ブロック転送がなされる。このディスク12
とバッファ9−1〜9−3とのデータ転送については、
デバイスコントローラ11の動作も大きく関連するの
で、後に更に説明する。
【0099】そして、DMA転送が完了すると、要求信
号DRQ1〜4が到来しなくなり、8−5から8−17
へ進み、DMA可能信号DMAENBを“0”(インア
クティブ)とする。
【0100】<デバイスコントローラ11の動作>次
に、図9を参照してデバイスコントローラ11の動作を
説明する。このデバイスコントローラ11は、ハードロ
ジックによっても、マイクロプログラム制御によっても
よく、いずれにしても図9の動作フローを機能実現す
る。
【0101】まず、CPU1から指定信号CSが与えら
れているか判断する(9−1)。NOの場合は元に戻る
が、YESの場合は9−2に進み、CPU1からリード
信号RDが与えられているか、ライト信号WRが与えら
れているか判断し、リード時には9−3でデバイスコン
トローラ11内部の指定データ(アドレスレジスタの内
容等)をデータバスを介してCPU1へ出力する。
【0102】また、ライト信号WRが与えられていると
きは9−2から9−4に進み、今回DMAコントローラ
10のチャンネルCH4にてDMA転送するバッファと
ディスク12とのデータ転送方向を設定し、9−5に
て、アクセスするディスク12のアクセスポイントを設
定する。これは、CPU1がRAM3から得ている当該
トラックのアクセスポインタによる。
【0103】続いて9−6において、転送データ数(デ
ジタル音声データ数)をデバイスコントローラ11の内
部カウンタに設定する。
【0104】このように、9−4〜9−6を実行するこ
とによってCPU1の制御のもとでデバイスコントロー
ラ11はプログラムされ、その後デバイスコントローラ
11はDMAコントローラ10に対しデータ転送の要求
をする(9−7)。このことからも理解されるとおり、
CPU1は、デバイスコントローラ11からインタラプ
ト信号INTを受けると、次のトラックに対応する(つ
まり、いまTr1〜Tr3は全て動作中とすると、Tr
1、Tr2、Tr3、Tr1、……の順で)DMA転送
の設定、制御をDMAコントローラ10に対し実行し、
デバイスコントローラ11をプログラムする。その後、
CPU1はデバイスコントローラ11とDMAコントロ
ーラ10とから離れて、相互のインタラクションで実際
のDMA転送を実行させる。
【0105】デバイスコントローラ11は、9−7の次
に9−8へ進み、DMAコントローラ10から回答信号
DACK(DAK4)を受けとる(図8、8−14参
照)まで9−8を繰り返す。9−8の判断がYESとな
ると9−9に進み、DMAコントローラ10のCH4の
動作によって、1サンプルのデジタル音声データの転送
が行われ、9−6にて設定した転送カウンタを1だけダ
ウンカウントする(9−10)。続く9−11におい
て、予め設定していた転送データ数分のデータ転送が完
了したか上記転送カウンタの内容に従ってジャッジし、
NOならば再び9−8へ戻る。従って、DMAコントロ
ーラ10においては、デバイスコントローラ11から設
定したデータ数の転送(ブロック転送)が終了するま
で、転送要求DRQ4を続けて受けとることになり、こ
の転送要求に従って8−5〜8−16の処理(図8)を
実行し、それに応答する形でデバイスコントローラ11
側では9−8〜9−11の処理を実行する。
【0106】そして、転送終了が9−11にて判断され
ると、9−12に進み、デバイスコントローラ11から
DMAコントローラ10に対してのデータ転送の要求D
REQ(DRQ4)を“0”(インアクティブ)とす
る。そして、次のトラックに関してディスク12とバッ
ファ9−1〜9−3のいずれかとのデータ転送を行わせ
るために、デバイスコントローラ11はCPU1へイン
タラプト信号INTを与える(9−13)。これに応答
して、CPU1はインタラプトルーチン(図5)を実行
することは上述したとおりである。
【0107】以上の実施例においては、トラック1乃至
3の総再生時間長を同一としたが、この値が異なる場合
においては次のように処理することもできる。即ち、図
4に示した処理を所定の時間間隔ごとに行ない、例えば
最初の5秒は第1のバッファ比率、次の5秒間において
は第2のバッファ比率というふうに算出し、再生開始
後、その区間ごとに先に求めたデータに対応してエリア
を変更するようにすることができる。このようにすれば
トラックごとの再生時間長が異なる場合、即ち、トラッ
ク数が変動する場合にも適用が可能となる。このような
場合は、エリアデータバッファ112に、所定時間毎の
各バッファのトップ、テイルのアドレスデータをストア
しておき、これをデータ転送における最適なタイミング
でエリアデータレジスタ111に設定することで実現す
る。
【0108】
【発明の効果】以上のように請求項1に記載のデジタル
レコーダによれば、アクセス時間の速い第1の外部記録
手段より再生される情報と、アクセス時間の遅い第2の
外部記録手段より再生される情報の比率を演算し、その
演算結果に対応して一時記憶手段の領域の割合を設定す
るようにしたので、一時記憶手段を効率的に利用するこ
とができる。従って、一時記憶手段の容量を小さくし、
装置を低コスト化することが可能となる。
【0109】また請求項2に記載のデジタルレコーダに
よれば、一時記憶手段の領域の割合の設定を所定の時間
ごとに行なうようにしたので、トラックごとに再生時間
長が異なる場合においても適用が可能となる。
【図面の簡単な説明】
【図1】本発明のデジタルレコーダの一実施例の構成を
示すブロック図である。
【図2】図1におけるDMAコントローラの一実施例の
構成を示すブロック図である。
【図3】図1のCPU1のメインの動作を説明するフロ
ーチャートである。
【図4】図3のステップ3−20のより詳細な処理を説
明するフローチャートである。
【図5】図1のCPU1のインタラプトルーチンの動作
を説明するフローチャートである。
【図6】図5のステップ5−2のより詳細な処理を示す
フローチャートである。
【図7】図1の音声入出力装置8−1乃至8−3の動作
を説明するフローチャートである。
【図8】図1のDMAコントローラ10の動作を説明す
るフローチャートである。
【図9】図1のデバイスコントローラ11の動作を説明
するフローチャートである。
【図10】図1のデジタルレコーダの全体的な動作を示
す概念図である。
【図11】図1の実施例におけるイベントテーブルの一
例を示した説明図である。
【図12】図1の実施例におけるオリジナルレコーディ
ングデータのイベントシーケンステーブルの一例を示し
た説明図である。
【図13】ユーザ定義のイベントシーケンステーブルの
一例を示した説明図である。
【図14】カレントデータの一例を示した説明図であ
る。
【符号の説明】
1 CPU 2 ROM 3 RAM 8−1乃至8−3 音声入出力装置 9−1乃至9−3 バッファ 10 DMAコントローラ 11 デバイスコントローラ 12−1 ハードディスク 12−2 光磁気ディスク

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 デジタル信号が記録される第1の外部記
    録手段と、 デジタル信号が記録されるとともに、前記第1の外部記
    録手段より遅いアクセス時間を有する第2の外部記録手
    段と、 前記第1および第2の外部記録手段より再生されたデジ
    タル信号を一時的に記憶する複数の領域を有する一時記
    憶手段と、 前記第1の外部記録手段より再生される情報と前記第2
    の外部記憶手段より再生される情報の比率を演算する演
    算手段と、 前記演算手段の演算結果に対応して前記一時記憶手段の
    領域の割合を設定する設定手段とを備えることを特徴と
    するデジタルデコーダ。
  2. 【請求項2】 前記設定手段は、前記一時記憶手段の領
    域の割合の設定を所定の時間毎に行なうことを特徴とす
    る請求項1に記載のデジタルデコーダ。
JP03339938A 1991-11-28 1991-11-28 デジタルレコーダ Expired - Fee Related JP3028667B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03339938A JP3028667B2 (ja) 1991-11-28 1991-11-28 デジタルレコーダ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03339938A JP3028667B2 (ja) 1991-11-28 1991-11-28 デジタルレコーダ

Publications (2)

Publication Number Publication Date
JPH05151706A true JPH05151706A (ja) 1993-06-18
JP3028667B2 JP3028667B2 (ja) 2000-04-04

Family

ID=18332182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03339938A Expired - Fee Related JP3028667B2 (ja) 1991-11-28 1991-11-28 デジタルレコーダ

Country Status (1)

Country Link
JP (1) JP3028667B2 (ja)

Also Published As

Publication number Publication date
JP3028667B2 (ja) 2000-04-04

Similar Documents

Publication Publication Date Title
US5303218A (en) Digital recorder for reproducing only required parts of audio signals wherein a plurality of parts of audio signals are stored on a same track of a recording medium
US5974015A (en) Digital recorder
JP3024327B2 (ja) デジタルレコーダ
US5581530A (en) Digital recorder for processing of parallel data stored in multiple tracks and using cross-fade processing
US5519684A (en) Digital recorder for processing in parallel data stored in multiple tracks
JP3252172B2 (ja) デジタルレコーダ
JP3055220B2 (ja) デジタルレコーダ
US5559779A (en) Digital audio recorder using external memory medium and leading portion audio data memory
US5642492A (en) Digital recorder employing punch-in and punch-out processes
JP2916533B2 (ja) デジタルマルチトラックレコーダ
JP3028667B2 (ja) デジタルレコーダ
JPH04232666A (ja) デジタルレコーダ
JP3230756B2 (ja) デジタルレコーダ
JP3557818B2 (ja) ソフトデータの管理方法
JP3114299B2 (ja) デジタルレコーダ
US5680378A (en) Digital recorder for recording/reproducing events formed by dividing audio data in a designated order
JP3131849B2 (ja) デジタルレコーダ
JP3055221B2 (ja) デジタルレコーダ
JPH04117688A (ja) デジタルレコーダ
JP3055222B2 (ja) デジタルレコーダ
JPH05135548A (ja) デジタルレコーダ
JP2979154B2 (ja) デジタルレコーダ
JPH04232684A (ja) デジタルレコーダ
JP3298655B2 (ja) デジタルレコーダ
JPH04212767A (ja) デジタルレコーダ

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090204

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100204

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110204

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees