JPH10509544A - Monolithic PC audio circuit - Google Patents

Monolithic PC audio circuit

Info

Publication number
JPH10509544A
JPH10509544A JP8516131A JP51613196A JPH10509544A JP H10509544 A JPH10509544 A JP H10509544A JP 8516131 A JP8516131 A JP 8516131A JP 51613196 A JP51613196 A JP 51613196A JP H10509544 A JPH10509544 A JP H10509544A
Authority
JP
Japan
Prior art keywords
circuit
digital
signal
data
output
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.)
Pending
Application number
JP8516131A
Other languages
Japanese (ja)
Inventor
ラリー・ディー ヒューイット、
ジェフリー・エム ブルメンタール、
ジェフリー・イー ブレーマー、
グレン・ダブリュ ブラウン、
カーリン・ドルー ケイブラー、
ライアン フィームスター、
デイビッド ゲーシオ、
デイル・イー ガリック、
マイケル ホーガン、
アルフレード・アール リンツ、
デイビッド ノーリス、
ポール・ジー シュニッツライン、
マーティン・ピー ソーケス、
マイケル・イー スパック、
デイビッド・エヌ サグス、
アラン ティー トロック、
Original Assignee
アドバンスト・マイクロ・ディバイシス・インコーポレーテッド
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
Priority claimed from US08/333,460 external-priority patent/US5585802A/en
Priority claimed from US08/334,462 external-priority patent/US6047073A/en
Priority claimed from US08/333,536 external-priority patent/US5659466A/en
Priority claimed from US08/333,467 external-priority patent/US5589830A/en
Priority claimed from US08/333,564 external-priority patent/US5668338A/en
Priority claimed from US08/333,386 external-priority patent/US5598158A/en
Priority claimed from US08/510,139 external-priority patent/US5581253A/en
Application filed by アドバンスト・マイクロ・ディバイシス・インコーポレーテッド filed Critical アドバンスト・マイクロ・ディバイシス・インコーポレーテッド
Publication of JPH10509544A publication Critical patent/JPH10509544A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K23/00Pulse counters comprising counting chains; Frequency dividers comprising counting chains
    • H03K23/64Pulse counters comprising counting chains; Frequency dividers comprising counting chains with a base or radix other than a power of two
    • H03K23/68Pulse counters comprising counting chains; Frequency dividers comprising counting chains with a base or radix other than a power of two with a base which is a non-integer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments
    • G10H1/0041Recording/reproducing or transmission of music for electrophonic musical instruments in coded form
    • G10H1/0058Transmission between separate instruments or between individual components of a musical system
    • G10H1/0066Transmission between separate instruments or between individual components of a musical system using a MIDI interface
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/02Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
    • G10H1/06Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour
    • G10H1/12Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour by filtering complex waveforms
    • G10H1/125Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour by filtering complex waveforms using a digital filter
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • G10H7/002Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02BINTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
    • F02B75/00Other engines
    • F02B75/02Engines characterised by their cycles, e.g. six-stroke
    • F02B2075/022Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle
    • F02B2075/027Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle four
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/155User input interfaces for electrophonic musical instruments
    • G10H2220/315User input interfaces for electrophonic musical instruments for joystick-like proportional control of musical input; Videogame input devices used for musical input or control, e.g. gamepad, joysticks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/025Computing or signal processing architecture features
    • G10H2230/035Power management, i.e. specific power supply solutions for electrophonic musical instruments, e.g. auto power shut-off, energy saving designs, power conditioning, connector design, avoiding inconvenient wiring
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/171Transmission of musical instrument data, control or status information; Transmission, remote access or control of music data for electrophonic musical instruments
    • G10H2240/281Protocol or standard connector for transmission of analog or digital data to or from an electrophonic musical instrument
    • G10H2240/311MIDI transmission
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/055Filters for musical processing or musical effects; Filter responses, filter architecture, filter coefficients or control parameters therefor
    • G10H2250/111Impulse response, i.e. filters defined or specifed by their temporal impulse response features, e.g. for echo or reverberation applications
    • G10H2250/115FIR impulse, e.g. for echoes or room acoustics, the shape of the impulse response is specified in particular according to delay times
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/131Mathematical functions for musical analysis, processing, synthesis or composition
    • G10H2250/165Polynomials, i.e. musical processing based on the use of polynomials, e.g. distortion function for tube amplifier emulation, filter coefficient calculation, polynomial approximations of waveforms, physical modeling equation solutions
    • G10H2250/175Jacobi polynomials of several variables, e.g. Heckman-Opdam polynomials, or of one variable only, e.g. hypergeometric polynomials
    • G10H2250/181Gegenbauer or ultraspherical polynomials, e.g. for harmonic analysis
    • G10H2250/191Chebyshev polynomials, e.g. to provide filter coefficients for sharp rolloff filters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/545Aliasing, i.e. preventing, eliminating or deliberately using aliasing noise, distortions or artifacts in sampled or synthesised waveforms, e.g. by band limiting, oversampling or undersampling, respectively
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/571Waveform compression, adapted for music synthesisers, sound banks or wavetables
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/571Waveform compression, adapted for music synthesisers, sound banks or wavetables
    • G10H2250/605Dynamic range companding algorithms, e.g. "mu"-law, primarily used in the digital telephone systems of North America and Japan, or A-law as used in European digital telephone systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2250/00Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
    • G10H2250/541Details of musical waveform synthesis, i.e. audio waveshape processing from individual wavetable samples, independently of their origin or of the sound they represent
    • G10H2250/611Waveform decimation, i.e. integer division of the sampling rate for reducing the number of samples in a discrete-time signal, e.g. by low-pass anti-alias filtering followed by the actual downsampling

Abstract

(57)【要約】 パーソナルコンピュータのオーディオ性能を高めるモノリシック集積回路が開示されている。このモノリシック回路は、ウェーブテーブルシンセサイザと、フルファンクションステレオ符号化復号化回路(CODEC)とを具備するもので、CODECは、アナログデジタル及びデジタルアナログデータ変換と、データ圧縮及びアナログ信号のミキシング及び多重化と、外部メモリとのインターフェースを行うローカルメモリ制御モジュールと、ゲームMIDIポートモジュールと、システムバスインターフェースと、互換性及び回路制御機能のための制御モジュールとを含む。 (57) Abstract A monolithic integrated circuit for enhancing the audio performance of a personal computer has been disclosed. The monolithic circuit comprises a wavetable synthesizer and a full-function stereo coding / decoding circuit (CODEC), which is capable of analog-to-digital and digital-to-analog data conversion, data compression and mixing and multiplexing of analog signals. And a local memory control module for interfacing with an external memory, a game MIDI port module, a system bus interface, and a control module for compatibility and circuit control functions.

Description

【発明の詳細な説明】 発明の名称: モノリシックPCオーディオ回路 発明の背景 1. 発明の技術分野。 本発明は、概してコンピュータ制御オーディオシステムに関し、特にデスクト ップやポータブルコンピュータ用のシステムボード及び増設カードと共に用いる オーディオ回路に関するものである。本発明の好ましい実施態様は、MS−DO S、Windows、UNIX、及び一般にIBM互換と言われるOS/2オペ レーティング・システムを実行するため組立てたシステムと互換性を保持するよ うに特に設計されていることである。本発明には、ステレオ・オーディオCOD EC及びディジタル・ウエーブテーブル・オーディオ・シンセサイザが備わって いる。 2. 関連技術の簡単な説明。 通常、パーソナルコンピュータは限られたオーディオ機能だけを持たせて製作 される。これらの限られた機能は、モノラル音を生成し、あるユーザには警報信 号、他のユーザには呼出し信号といった色々単純な機能に関する可聴信号を与え るものである。どの音声機能も一般的に高品質なものではない。一般的なパーソ ナルコンピュータシステムには、マルチメディアやビデオゲーム・アプリケーシ ョンにとって望ましい付加拡張機能であるステレオや高品質のオーディオを与え る機能が備わっていない。また音楽や他の複雑な音を生成したり合成する内蔵機 能も具備していない。音楽の合成(シンセサイズ)機能は、コンピュータを介し て外部器具上で演奏されるサウンドを、作曲アプリケーションを使用して音を生 成または録音する場合に必要である。またアナログスピーカや、マルチメディア での(CD−ROM)アプリケーションでも同様である。合成機能が必要となる 。標準的なサウンドカードは、MIDIインタフェース及びゲーム・ポートを提 供して、キーボードやゲーム用のジョイスティックなどのMIDI機器からの入 力 を受け取るようにしている。 さらに、ユーザは、ステレオ器具やマイクロホンなどの外部アナログ音源や、 コンピュータにより録音もしくは再生をする前に、ディジタル式に録音またはデ ィジタル音源とミックスするための非MIDI電気楽器を使用できる機能を望む 場合がある。これらの要求を満たすため、多数の増設機器製品が開発された。企 業では、このような製品ラインの1つをサウンドボードと呼んでいる。これらの サウンドボードは、多数の集積回路やユーザがコンピュータメーカから供給され る拡張スロットに取付ける関連回路を保持する回路基板である。この拡張スロッ トは、システムバスにISAインタフェースを付与し、ホストプロセッサに音源 装置にアクセスして、アプリケーションソフトウェアの制御下でボードの機能を 制御できるようにする。 現在、業界で最も一般的なサウンドボードはSound Blaster(サ ウンドブラスタ)とAdlib(アドリブ)である。これらのサウンドボードに は、システムメモリが供給するデータから音を生成するモノリシックFMシンセ サイザ回路が組込まれている。これらのサウンドボードには、ディジタル信号処 理集積回路も設けてあり、D/A変換やA/D変換、アプリケーションソフトウ ェアの制御下でホストCPUからのコマンドの処理、他の回路用に制御信号の生 成、入・出力用MIDIデータの処理、記憶したデータの伸張などを行なう。他 の集積回路や個別回路も、アナログ入力または出力ポートにインタフェース接続 したり、とりわけ、システムバス・インタフェース用の分離回路に必要である。 これらの従来システムも、機能が限られていたため、オーディオファンに見合 う品質音を生成できず、電力消費量も多く、拡張スロットが利用できないシステ ムボードアプリケーションでの使用に適しないなどの不具合があげられる。さら に、この種の従来システムは、業界標準自己設定法との適合を必要とするプラグ ・アンド・プレイ環境に適していない。従来のサウンドカードは、ホストCPU に設計データを供給するため、組込みジャンパスイッチを利用していた。 Sound Blasterの最近版であるSound Blaster P roとPro2は、グレードアップしたFMシンセサイザ集積回路、ステレオ出 力ジャック、ステレオディジタル録音と再生、分離ミキサ集積回路、分離CD− ROMインタフェースを設けることにより、サウンド出力機能にステレオを追加 搭載した。Pro DSP回路には、モノラルで最高44.1KHz,ステレオ で22.05KHzまでの録音と再生が設けられた。ミキサにより、マイクロホ ン、ライン入力、CD入力とディジタルサウンド、バックグラウンドのCDオー ディオ演奏からの音のミキシングが可能になった。 このようなシステムは、複数の集積回路が必要であリ、プラグ・アンド・プレ イ互換性を与えず、ミキシング機能も限定され、電力消費量も多く、単に拡張ス ロット設計が利用できる場合だけの使用に限定されていた。 さらに、より進歩したウエーブ・テーブル・シンセサイザとは違って、シンセ サイザ機能も加工処理され、FMベースの音声の数に限定されていた。この種の システムは、その効果を得るには、限られたミキシングや、パン、及び制御機能 しかなく、個別の音声効果は得られなかった。 さらに、かかる従来システムは、一時記憶音声データ用のローカルメモリ・イ ンタフェースが得られず、データをすべて転送するには、システムメモリへのア クセスが必要であった。この制限によって、録音及び再生用の音声データを得る ためには、頻繁なDMAまたはプログラム化したI/Oサイクルが必要で、それ により、プロセッサに過大で余分な負担をかけた。 これらの従来のシステムは、8ビット・サンプリングサイズにより制限されて 、ダイナミックレンジを256ステップに限定させ、大きなビットサンプリング 手法によるものよりも顕著なエイリアジング(aliasing)を発生した。Soun d Blaster 16 ASPと呼ぶ最新のSound Blasterの 製品は、16ビットの再生・録音サンプリングと、44.1KHzのステレオサ ンプリングレートを実現した。この最新バージョンは、マルチ・チップを取入れ たもので、ウエーブテーブル・シンセサイザ回路またはチップ、専用プロセッサ 回路またはチップ、分離バス・インタフェースチップ,分離A/D及びD/C回 路、アナログ増幅器及び拡張ボード上の他の関連回路が備わっている。このシス テムが、強化されたプログラム可能性、高サンプリングレート、より大きなサン プリングサイズを提供しているにもかかわらず、主に拡張スロットの使用に適し た多重チップの取入れと高電力消費につながるものとなった。この最新バージョ ンは、 ローカルメモリも持たず、プラグ・アンド・プレイ互換性がなく、アプリケーシ ョンと合成命令とを処理する専用プロセッサが備わっていた。ウェーブテーブル のオプションは、分離ドーター・ボードが必須であり、このボードには、とりわ け、ウェーブテーブル・データを格納する4メガバイトのROMが具備されてい た。 広く使用されている従来のCODECsは、録音・再生モデルについて、5. 51ないし48.0KHz間の範囲で14のサンプリングレートしか得られない 。また、このような従来技術のそれぞれのODECデバイスは、同時録音・再生 について同一のサンプリングレートしか使用できない。録音と再生の比率は、単 独ではプログラミングは不可能である。 別の従来技術システムは、Ultrasoundの名前でAdvanced Gravis and Forteにより、提供されている。このシステムは、 別の拡張スロットサウンドボード態様を取入れたもので1個のチップ内に、シン セサイザ、MIDI及びゲームインタフェース、DMA制御とAdlib So und Blaster互換ロジックとが内蔵されていた。このASICの他、 Ultrasoundカードには、ウェーブテーブルのデータ用にオンボードD RAM(1メガバイト)、アドレス・デコード・チップ、アナログ入力と出力に インタフェース接続された分離アナログ回路、分離プログラム可能なISAバス ・インタフェース・チップ、割込みPALチップ、分離D/A,A/D変換チッ プが備わっている。 従来システムのどれにも、シンセサイザの単一チップ実装、データの圧縮・伸 張、D/AとA/D動作用のCODEC,ミキサ、アナログインタフェース、シ ステムバスインタフェース、割込みとDMA制御、及び互換性を与えるものは1 つもなかった。マルチ・チップの態様は、コスト、サイズ、速度、電力消費に関 連して明白な限界があった。 必須で望ましいすべての機能を単一チップ態様に組み込むことは、望ましくな いノイズ及び他の信号汚染を無くす一方で、完全な統合化に対する制限、ないし 障害物であった。他の障害物は、単一チップ態様のための効率的な構成設計が得 られないことであった。なお、他の障害物は個別モジュールを制御し、このよう な完全に統合されたシステムを管理する効率的な方法に欠けていことであった。 さらに、従来システムの各々には、種々の業界標準ソフトウェア、またはハー ドウェアとの互換性について1つまたは複数の制限があった。従来システムのど れにも自由に選択できるプラグ・アンド・プレイ互換性を設けたものはなかった 。従来技術システムは、シンセサイザ機能として、ホストCPUを広範囲にわた って利用するか、または専用シンセサイザ・プロセッサを備えていたが、それに より、コストの増大、または、ホストCPUオーバーヘッドに対する過度の要求 による演算の減速をもたらした。 本発明のシステムは、これらの問題の各々を多数の独特な効率的な方法によっ て解決するものである。また本発明のシステムは、これまで実現しなかった強化 された性能を提供するものである。 発明の概要 本発明は、モノリシックPCオーディオ集積回路を提供するもので、この集積 回路には、AT ISAと互換性のシステム・バス・インタフェース、プラグ・ アンド・プレイ互換性を備えるシステム制御モジュール、システム制御レジスタ 、システム制御論理と割込み発生、及び既存のPCオーディオソフトウェア互換 性機能が包含される。本発明によるシステムには、A/D変換とD/A変換を行 なうコーディング及びデコーディング・モジュール(CODEC)、データ圧縮 、オーディオ信号のアナログミキシングとマルチプレクシング(多重化)がさら に備わっている。ディジタル・ウェーブテーブル・オーディオ・シンセサイザ・ モジュール、MIDI、ゲームポート・モジュールも具備されている。本発明に よる回路は、ローカルメモリモジュールもさらに提供し、この回路を外部DRA M、ROM及びプラグ・アンド・プレイ互換性用シリアルEEPROMとの接続 ができるようにする。本発明による回路用のデータ転送は、チップに搭載された レジスタ・データバス、及び制御回路を介して容易に転送される。本発明の回路 には、ノイズ低減属性、外部アドレスのデコード用機能、バッファ付き入力・出 力機能が、チップに搭載された資源の保護機能と同様に備わっている。 図面の簡単な説明 本発明を一層理解するには、以下の添付図面と関連した好ましい実施態様の詳 細な説明を考察すれば達成されよう。 図1は、回路Cの基本モジュールについて構成概要の略図である。 図2は、回路Cの実際のレイアウトの略図である。 図3は、回路Cのピンへの割当てを要約した表である。 図4は、回路Cの代替レイアウトの線図であり、回路Cにて利用されるノイズ 及び主要クロック信号である。 図5は、モジュールによりグループ分けされた回路Cのピンへの割当てを要約 した表である。 図6は、関連回路、バス及び相互接続を具備したPCオーディオ回路Cの代表 的なフル機能を実装した略図である。 図7、ピンへの割当て、及びローカルメモリ制御に関する機能を要約した表で ある。 図8,図9,図10は、適当な索引及びモジュール割当て付きレジスタの簡略 記憶名の表を包含したものである。 図11は、多重化回路の実施例を説明した略図である。 図12は、回路Cのシステム制御モジュールのブロック略図である。 図13は、レジスタ・データバスへのモジュラーインタフェースを含む回路C のブロック略図である。 図14は、レジスタ・データバスの詳細な実装についての略図である。 図14aは、ISAバス・インタフェース回路の一部の略図である。 図15は、回路CのISAバスタイミングの不良事例を示すタイミング図であ る。 図16は、回路Cのバッファ入力・出力に関するタイミング図である。 図16aは、回路Cについて一部のエミュレーション・ロジックの略図である 。 図16bは、アプリケーションソフトウェア及びエミュレーションTSRプロ グラムの回路へのアクセスの可能性に関する略ブロック図である。 図17は、回路C中に含まれるプラグ・アンド・プレイ状態マシンの略図であ る。 図18は、外部回路からプラグ・アンド・プレイ互換性に関するシリアルEE PROMデータの読出しに関するタイミング図である。 図19は、外部回路からレジスタデータバスを介して、回路Cに対するPNP データの転送を容易にする回路の略図である。 図20は、プラグ・アンド・プレイ・レジスタにアクセスする起動キーの実行 に必要なリニアフィードバック・シフトレジスタの略図である。 図21は、回路Cと関連したプラグ・アンド・プレイ回路の隔離(アイソレー ション)モードから構成(コンフィグ)モードまたはスリープモードのいずれか への移行の様子を示すフローチャートである。 図22は、プラグ・アンド・プレイ互換シリアルEEPROMデータのプログ ラミングに必要な資源を要約した表である。 図23は、回路C内で割込みを生じるすべてのイベントについてのデータを与 える表である。 図24は、回路Cにより利用される外部発振器及びそれと関連する安定ロジッ クの略図である。 図24aは、回路Cの種々の低電力モードと関連する論理回路及び計数回路の 略図である。 図24bは、停止(サスペンド)モードオペレーションに対する回路Cの反応 を示すフローチャートである。 図24cは、回路Cの種々のレジスタ制御低電力モードを示すフローチャート である。 図25は、図24のクロック発振器安定ロジックの詳細に関する略図である。 図26は、回路C内に含まれるレジスタPPWRI中のビット状態により可能 となる種々の節電モードに応じて生じるイベントを記述する表である。 図27は、種々の節電モードと、回路Cにより利用される信号及びクロック信 号との間の関係を示すタイミング図である。 図28は、回路C内にあるシステムバス・インタフェースと関連するピンを要 約する表である。 図29は、回路Cのローカルメモリ制御モジュールを包含する基本モジュール を例示したブロック略図である。 図30は、回路Cのローカルメモリ制御モジュールと関連するマスター・ステ ート・マシンを例示したブロック略図である。 図31は、サスペンドモード制御信号と回路Cにより利用される32KHzク ロック信号との関係を例示したタイミング図である。 図32は、サスペンドモード・オペレーションの間、回路Cにより利用される リフレッシュ・サイクルを例示したステート略図である。 図33は、サスペンドモード・リフレッシュ・サイクルのタイミング図である 。 図34aは、8ビットDRAMアクセスのタイミング図である。 図34bは、16ビットDRAMアクセスのタイミング図である。 図34cは、DRAMリフレッシュ・サイクルのタイミング図である。 図35は、回路Cから外部メモリ装置に対して、実アドレスを得る方法を例示 したタイミング図である。 図36は、ローカルメモリの録音用及び再生用FIFOのための制御回路の略 ブロック図である。 図37は、システムメモリ内に記憶されたデータと回路Cによってローカルメ モリ内にインタリーブされたデータとの関係を例示した線図である。 図38は、DMAの制御下で8ビットと16ビットのサンプルサイズのデータ 転送フォーマットを記述した表である。 図39は、回路Cのローカルメモリ制御モジュールを介して、システムメモリ からローカルメモリにインタリーブされたDMAデータを実行する回路を例示し た略ブロック図である。 図40は、外部装置と回路C間のゲームポート・インタフェースを例示した略 ブロック図である。 図41は、回路Cのゲーム入・出力ポートについて単一ビットの実行を例示し た略ブロック図である。 図41aは、回路Cのゲームポートを介した入力信号の検出を例証する図であ る。 図42は、回路C用のMIDI送・受信ポートを例示した略ブロック図である 。 図43は、回路Cにより利用されるMIDIデータフォーマットを例示した略 ブロック図である。 図44は、本発明のCODECモジュールについて種々の機能的ブロックのブ ロック略図である。 図45は、本発明の左側チャンネル・ステレオ・ミキサについて好ましい実施 態様の略図である。 図45aは、ゲイン値と減衰値の表である。 図46は、減衰・ゲイン変化について信号の不連続性を示す部分波形の略図で ある。 図47は、「ジッパー」ノイズを除去するゼロ検出回路を示すブロック図であ る。 図48は、本発明におけるクロック発生機能を示すブロック図である。 図49は、本発明におけるシリアルデータ伝達関数のブロック図である。 図49aは、シリアル転送制御ブロックのブロック図である。 図50は、内部と外部のデータ経路(パス)、及び本発明によりサポートされ る外部装置とのインタフェースでの接続を示すブロック図である。 図51は、本発明のD/A変換器ブロックのブロック図である。 図52は、本発明によるD/A変換器ブロックのフロントエンドのブロック図 である。 図53a−53fは、周波数応答を含めDACブロックの種々の段階における 出力を示すグラフである。 図54は、DACブロックの諸段階における出力及び周波数応答を表す6枚の グラフである。 図55は、図52の補間回路1ブロックと位相1を表す略図である。 図56は、図52の補間回路1ブロックと位相2を表す略図である。 図57は、図52の補間回路2ブロックを表す略図である。 図58は、図52の補間回路2ブロックにおける周波数応答のグラフである。 図59は、図52の補間回路2ブロックにおける帯域内減衰を表すグラフであ る。 図60は、図52の補間回路3ブロックにおける、ある実施態様を表す略図で ある。 図61は、図52の補間回路3ブロックにおける別の実施態様を表す略図であ る。 図62aは、図52の補間回路3ブロックにおける周波数応答のグラフである 。 図62bは、図52の補間回路3ブロックにおける通過帯の減衰を表すグラフ である。 図63は、図52のノイズ・シェーパ(雑音成形器)ブロックを表す略図であ る。 図64は、図52中のノイズ・シェーパ・ブロックにおける信号フローグラフ (SFG)である。 図65は、図52のノイズ・シェーパ・ブロックでのs平面内の極数とゼロの グラフである。 図66は、図52のノイズ・シェーパ・ブロックにおける伝達関数の規模を表 すグラフである。 図67は、図52のノイズ・シェーパ・ブロックでのz平面内の極数とゼロの グラフである。 図68は、図52のノイズ・シェーパ・フィルタの伝達関数のグラフである。 図69は、図52のノイズ・フィルタ・ブロックの理想的で実現可能なゼロの グラフである。 図70は、図52のノイズ・シェーパ・ブロックについてノイズ伝達関数の2 つの実施態様を比較したグラフである。 図71は、図52のノイズ・シェーパ・ブロックにおけるノイズと信号の伝達 関数のグラフである。 図72は、図52のノイズ・シェーパ・ブロックにおける位相及び通過帯域内 の信号伝達関数の規模を表すグラフである。 図73は、図52のノイズ・シェーパ・ブロックにおけるグループ遅延(秒) のグラフである。 図74は、図52のノイズ・シェーパ・ブロックにおける諸実施態様での一定 の減衰・ゲイン形状を表すグラフである。 図75は、図52のノイズ・シェーパ・ブロックの1つの実施態様について、 Amax対ノイズゲインκを表すグラフである。 図76は、図52のノイズ・シェーパ・ブロックにおけるg=−90dBにつ いて、ノイズゲインκ対帯域幅に関する1つの実施態様を表すグラブである。 図77は、D/A FIRフィルタのインパルス応答を示すグラフである。 図78は、D/A FIRフィルタの周波数応答を示すグラフである。 図79は、本発明のD/A変換回路の1実施態様を示す略図である。 図80,81は、本発明の異なるD/A変換回路について別の実施態様を示す 略図である。 図82は、本発明のCODEC ADCのブロック図である。 図83は、CODEC ADCのフロンドエンドのブロック図である。 図84は、本発明のADCについて、シグマ−デルタ(σ−δ)変調器の出力 スペクトル範囲と位相を示すグラフである。 図85は、シグマ−デルタ(σ−δ)変調器の出力スペクトルを詳細に示すグ ラフである。 図86は、同期6十進1フィルタ出力の出力スペクトルを図示するグラフであ る。 図87は、半帯域十進2フィルタ出力の出力スペクトルを図示するグラフであ る。 図88は、16ビット十進3フィルタ出力の出力スペクトルを図示するグラフ である。 図89は、十進1フィルタのブロック図である。 図90は、十進1フィルタの周波数応答を図示したグラフである。 図91は、十進1フィルタの詳細な周波数応答を図示したグラフである。 図92は、半帯域十進2フィルタの直接的な形式のブロック図である。 図93は、半帯域十進2フィルタの置換された形式のブロック図である。 図94は、十進2フィルタの周波数応答を図示したグラフである。 図95は、十進2フィルタの詳細な周波数応答のグラフである。 図96は、CODEC D/A変換回路の補償フィルタについてのブロック図 である。 図97は、十進3フィルタの周波数応答を図示したグラフである。 図98は、十進3フィルタの詳細な周波数応答を図示したグラフである。 図99は、補償回路の周波数応答を図示したグラフである(未補償)。 図100は、通過帯域内補償回路の全周波数応答を図示したグラフである(未 補償)。 図101は、通過帯域内の補償回路について全周波数応答を図示したグラフで ある(補償済み)。 図102は、本発明のシンセサイザ・モジュールのブロック図である。 図103は、本発明のシンセサイザ・モジュール内の信号フロー図である。 図104a−104fは、本発明のシンセサイザ・モジュールにおけるアドレ ス指定制御オプションを図示したグラフである。 図105a−105eは、本発明のシンセサイザ・モジュールにおけるボリュ ーム制御オプションを図示したグラフである。 図106a−106bは、本発明のシンセサイザ・モジュールに必要な低周波 発振器波形のグラフである。 図107は、本発明のシンセサイザ・モジュールについてアドレスコントロー ラの構成線図である。 図108a−108bは、図107のアドレスコントローラにより行われるオ ペレーションのタイミング図である。 図109は、本発明のシンセサイザ・モジュールについてボリュームコントロ ーラの構成線図である。 図110は、図109のボリュームコントローラにより行われるオペレーショ ンのタイミング図である。 図111は、本発明のシンセサイザ・モジュールについてレジスタ配列の構成 図である。 図112は、図111におけるレジスタ配列についてオペレーションのタイミ ング図である。 図113は、本発明のシンセサイザ・モジュールについてボリューム制御回路 全体の構成図である。 図114aは、図113で図示した比較回路の論理図である。 図114bは、図114aの比較回路についてオペレーションのタイミング図 である。 図115は、本発明のシンセサイザ・モジュールについてLFO発生装置の構 成図である。 図116は、本発明のシンセサイザ・モジュールについて信号経路の構成図で ある。 図117は、図116の信号経路により行われるオペレーションのタイミング 図である。 図118は、本発明のシンセサイザ・モジュールについてアキュムレーション ロジックの構成図である。 図119は、図118のアキュムレーションロジックにより行われるオペレー ションのタイミング図である。 図120は、本発明のシンセサイザ・モジュールにより行われるオペレーショ ン全体のタイミング図である。 以下の図はD−5733に基づくものである:これら2図のコピーを作成するこ と: 図1は、本発明のシグマーデルタ変調器の機能的ブロック図である。 図2は、本発明のシグマーデルタ変調器の略図である。 好ましい実施形態の説明 以下の記述においてモノリシックPCオーディオ回路の好ましい実施形態を説 明する。説明には、システムアーキテクチャ、実装、電力管理、システム制御、 タイミング及びメモリのインタフェーシング、並びに重要な詳細事項の実行が含 まれる。本発明による使用に好適な種々のオプションの回路が以下の米国特許出 願に開示されており、それぞれの内容を参照として本書に収録する。クロック駆 動回路による消費電力量の低減に関する代替手法が米国特許出願第07/918 ,622号に“Clock Generation Capable of Shut Down Mode and Clock Generation Method”と題して開示され、本発明の共通譲受人に譲渡された。レ ジスタまたはフィールド内での単一ビット状態が影響を及ぼすことが望まれる明 細書全体にわたって、かかる単一ビットの操作を行なう好ましい方法と装置につ いて、1993年12月21日に提出された米国特許出願第08/171,31 3号は“Method and Apparatus for Modifying the Contents of a Register Vi a a Command Bit”と題するもので、本発明の共通譲受人に譲渡された。 タイマやゲート制御、その他制御ロジックに種々な参照がなされているこの明 細書の全体にわたって、特記しない限り、適切な論理回路の実装の細目を得るこ とは困難かもしれない。VLSI論理回路設計に適用されるコンピュータ支援論 理設計やレイアウト技法など現時点での最高の技術水準からすれば、場合によっ ては実装細目は些細なこととも考えられる。 最新技術の現状からすれば、このような細目は、VLSI回路目的に適用され る選択可能で、プログラミング可能な論理配列か、標準論理回路のブロックに基 づいて実行される。例えばタイマは、外部の発振器信号から導出したクロック信 号を適当な論理回路に与えることにより容易に実装できる。80マイクロ秒のク ロック信号は16.9MHzの発振器信号を1344で除算することによって得 ることができる。回路C内のレジスタに保持される種々のデータのステータスに 応える制御信号の生成は簡単で、制御入力をブロックまたはゲート回路のアレー に与えて所望の入・出力または真理値表の要求事項をみたすようにするだけでた りる。従って、クレームされる発明を重要と考えなかったこれらの細目は、必要 でなく、また得られなかったが、このようなことは明らかに通常の技術レベルの 範囲内で当業者が熟知しているからである。 I. アーキテクチャ概要 図1について説明する。回路Cの基本モジュールについてアーキテクチャの概 要である。回路Cには5つの基本モジュールがある。すなわち、システム制御モ ジュール2、コーダ・デコーダ(CODEC)モジュール4、シンセサイザモジュ ール6、ローカルメモリ制御モジュール8、MIDI及びゲームポートモジュー ル 10である。これらのモジュールはモノリシック集積回路上に形成してある。レ ジスタデータバス12は、モジュール間、及び回路Cとシステムバスインタフェ ース14との間でデータのやりとりをできるようにする。回路Cのタイミングと 制御は、システム制御モジュール2内の論理回路により与えられ、この論理回路 は、特定システムの要求で1つまたは2つの発振器16,18により給送される クロック信号に応えて動作する。回路Cの制御は、通常、モジュール2内に包含 される論理回路によって決められ、次ぎに今度は、同論理回路が、回路C内に設 けた種々のレジスタとポートによって制御されることになる。 図1は機能ブロック図であり、集積回路の実施例に用いる実際レイアウトには 直接には対応しない。図1で規定され、または指定された諸機能を容易にする諸 種の回路、相互接続、レジスタ等は、必要に応じて、また製造工程による指図、 便宜、その他当業者に知られる理由により集積回路中の数箇所に広がって形成さ れる。本発明の回路は、業界で公知の在来の組立て法を用いて完全に組立てられ る。本発明による回路は、160ピンのプラスチック・四辺形平面パック(PQ FP)内に後述する方法で包装される。 A. 実際レイアウトの特徴とノイズの低減。 各種モジュールの実際レイアウト、及びピン配列装置が設計され、アナログ回 路と入出力部を、雑音の多いディジタル回路とピンから隔離できたことは本発明 の特徴である。図2について説明する。回路Cの各種の部分やモジュール内の所 望の実際レイアウト関係の例を略図で示す。アナログ回路にデジタル形式で誘発 されるノイズを最小限にするため、回路Cの最もノイズに影響され易い要素、た とえば、CODECのアナログ側と関連した要素、特にミキサブロックを、ディ ジタル・ローカルメモリ制御モジュール及びシンセサイザモジュールとほぼ反対 側の回路の縁近くに配置した。 アナログ回路内でディジタル形式で誘発されるノイズを更に隔離するため、包 装のピン配列装置をグループ20内のアナログミキサ入力・出力ピンを反対側2 2に配置された最もノイズの多いディジタル出力ピンとクロック入力からできる だけ移動させるように隔離する。さらに、最も影響を受けるピングループ20を 領域26と28内のノイズの少ない入力のそばの側面に位置させる。代表的なピ ンの割当ては図3に記載してあり、ピンの名前は業界標準の指定に対応している 。これらの業界標準指定には、ISAプラグ・アンド・プレイ規格、バージョン 1.0、1993年5月28日、マイクロソフト・コーポレーションから入手可 能、及び業界標準ISAバス規格AT Bus Design(著者Edwar d Solari、発行Annabooks,サンディエゴ・カリフォルニアリ 州。ISBM0−929392−08−6)。内容は参照として本書に組み入れ てある。代替ピンの割当ては図3aに収録、諸種のモジュール中で所望の物理関 係が保持されている。 本発明は、既存の標準または有名なハードウェア・ソフトウェア、たとえば、 ISAプラグ・アンド・プレイ規格、Adlib,Sound Blaster 及びGraves Forte超音波アプリケーションなどとの互換性を特徴と しているので、ISA、PNP、Adlib、GUSなど、このアプリケーショ ン中のいくらかの信号とレジスタの略名の参照は、通常、本発明の回路について 互換的構成に関係する。また、信号用略名またはビット状態標識に続く#記号は 、それらが「アクティブ・ロー」であることを示すものであることに注意されたい 。 図3によると、アナログピンには、一般に、複数のアナログ電源(AVCC) とグラウンド(AVSS)ピンを含有する96ないし113本のピンが含まれる 。本発明のノイズ低減特徴は、大部分の個々のアナログピンについて個別のSS ピンとVCCピンを提供することである。ピン82−95及び114はノイズの 少ない入力ピンである。他のレイアウトの特徴には、外部発振器ピンXTALI 1[I,Q]とXTAL2[I,Q]をシステム制御モジュールのクロックブロ ック近くに配置することである。このシステム制御モジュールクロック・ブロッ クも、CODECクロックブロック30の近くに配置しなければならない。回路 C内で使用するすべての16.9MHzクロックは、それらの間の歪みを最少化 するため実行されることが重要である。内部のクロック歪みを最少化することは 現在の回路内のノイズ低減と同様にタイミング目的のためにも重要である。 アナログ信号のノイズを最少化して、アナログサンプリングとディジタル回路 の活動が独自にクロックされるように保証することが本発明の特徴である。好ま しい実施形態において、異なる周波数を有する別個のアナログクロック信号と ディジタルクロック信号が共通の発振器から給送される。アナログクロック信号 はディジタルから導出されないし、逆も同様であるから、両者間には決まった位 相関係はない。さらに、ディジタル及びアナログクロック駆動イベントの一部重 なり合う可能性を低減するため、アナログクロック歪み回路が設けてある。 図5によると、全般的な機能グループに従ってピンの割当て説明をさらに行な う。システム制御モジュール2に関連するこれらのピンは、標題の下に略名とピ ン数を使用してリストしてある。同様にCODEC、ローカルメモリとポート、 及び雑多な機能と関連するピンも、それぞれそれらの標題の下に現れる。ここで 留意したいのは、この明細書のどこでも同様だが、“CD”ピンまたはCD D RQのような機能に対する参照は、通常、外部装置と関連するピンの機能を指定 するEX DRQなどの“EX”と同様と考えて欲しいことである。 B. 典型的なシステムの実装。 図6について説明する。同図には、関連回路、バス及び相互配線を備えて、典 型的なフル機能を実装したPCオーディオ回路Cが記載してある。図6の構成は 回路CがPCオーディオカードでの利用方法を例示する使用可能なすべてのRA MとEPROM資源とISAプラグ・アンド・プレイ仕様との完全な互換性の利 便を利用できる。 図6において、回路Cは、システムバス・インタフェースモジュール14、及 び業界標準のAT/ISAシステム制御,アドレス及びデータ接続を介して、ホ スト・コンピュータシステムにインタフェースしている。これらには以下が含ま れる。すなわち、システムデータ(SD)、システムアドレス(SA)、システ ム・バイト・ハイ・イネーブル(SBHE)、割込み要求(IRQs)、入力/ 出力チャンネル・チェック(IOCHCK)、ダイレクトメモリアクセス要求( DRQ)及び承認応答(DAK)、入/出力読出し(IOR)、入/出力書込み (IOW)、リセット、アドレス・イネーブルド(AEN)、端末カウント(T C)、入/出力チャネルレディ(CHRDY)、入/出力チップ選択16(IO CS16)。これらの接続により、回路Cとホストコンピュータシステム間で標 準的な連絡と制御機能が可能となる。 標準的な実施形態において、以下の入/出力ラインと関連回路及び/または装 置類は、CODECモジュール4にインタフェースされている。この設備は、標 準ジャック42によって4組のステレオ入力用と、外部ステレオ増幅器46及び ジャック48付きのステレオアナログ出力(ラインアウトL,R)44のために なされる。モノラルマイクロホン/アンプ入力50、及び外部増幅器54を介し たモノラル出力52が提供される。外部キャパシタ,抵抗器回路56を設けて、 諸種の内部回路用に基準バイアス電流を導出するように、また必要によりアイソ レーションキャパシタを提供するようにしてある。プログラマブルレジスタによ り制御される汎用ディジタル2ビット・フラグ出力60を設けて、いくらかのア プリケーションでの要求に使用する。ゲーム/MIDIポート62には、4ビッ ト・ゲーム入力端子65、4ビットゲーム出力端子66、及びMIDI送・受信 用の双方向インタフェース68が包含される。 システム制御外部接続には、16.9344MHzと24.576MHzクロッ ク16,18、及び32KHzクロックまたはサスペンド入力70がある。該入 力70は、メモリのリフレッシングと節電用に使用され、かつ、このアプリケー ションのどこかで詳述するように他の信号と多重化されている。 ローカルメモリ制御モジュール8のインタフェースには、フレーム同期(FR SYNC)及び効果(EFFECT)出力72が包含され、効果出力は、音声発 生サイクルの各フレームの最初に同期クロックパルスを与え、かつ、追加の特殊 効果や他のDSP機能を与えるため使用する任意選択外部ディジタル信号処理装 置74へアクセスできるようにするため使用される。 プラグ・アンド・プレイチップ選択76は、システム初期設定の継続中に、外 部EPROM78が3ビットデータバス80について構成データを与えることが できるようにする。ローカルメモリ制御モジュール8と外部メモリ装置間のデー タ及びアドレスの連絡には、外部8ビットデータバス82と8ビットアドレスバ ス84が可能である。 ROMチップ選択83と2ビットROMアドレス出力85とは、4個の2メガ バイト×16ビットEPROM86の一つをアドレスするために使用される。こ のEPROM86は、本明細書の他の部分で記述しているように、外部データと コマンドシーケンスの記憶用に設けてある。EPROM86は、ramカラム アドレス・ストローブ90により多重化された4つの内の一つの選択信号である 4ビット出力イネーブル88を介して回路Cとインタフェースして、リソースを 節約する。EPROM86のアドレッシングの1つの態様は、3ビットのリアル アドレス入力92により与えられる。ライン92上のアドレス信号は、DRAM 入力94上に与えられたDRAMサイクル用に多重化された行・列アドレスビッ トにより多重化されている。回路Cのピン96(MD[7:01])は、8ビッ トの双方向データバスで、このデータバスはDRAMサイクル用のデータビット をデータ[7:0]ライン98経由で与える。ピン96はROMサイクル中でE PROM86に対しリアルアドレスビット18:11として、また回路Cに対し て入力データビット7:0(RD15:0の半分)として多重化されている。E PROM86からのデータ連絡は、ROMサイクル中に8ビットバス82と84 によって回路C内に分割、多重化された16ビット・データ出力100(RD[ 15:0])経由で行われる。EPROMデータの入力は、ROMサイクル中に 双方向ライン96と双方向ライン102(RD[15:8])上で伝送される。 ライン102も、多重化ROMのアドレスとデータの転送サイクル中に、8ビッ トROMのアドレス指定(RLA[10:3])を実現する。ライン102も多 重化されてDRAMサイクル中に行・列のアドレスビット(MA[10:3]) を与える。 出力104は、ROMアドレス保持信号で、回路CによるROMアクセス中に 、出力96と102、バス82と84、及び16ビットアドレス入力ライン10 6によって得た16ビットROMアドレスの状態をラッチするため使用する。1 6ビットのラッチ108はROMアドレス保持信号に応えてROMアドレスをラ ッチするため設けてある。 回路Cは、ローカルデータの記憶に用いる最大4個までの4メガバイト×8ビ ットのDRAMS110をサポートしている。回路Cは、上述した2つの8ビッ トバス84と86により保持される種々のアドレス、データ及び制御ラインを介 してDRAMS110とインタフェースしている。行アドレス・ストローブがR AS出力ピン112により得られる。出力112が各DRAM回路110のRA S入力に直接設けてある。分かり易くするため、図6において、出力112も、 各DRAM回路110の書込み可能入力に与えられる書込み可能(WE)な出力 制御信号を与えるものとして表してある。好ましい実施形態において、書込み可 能出力は、別々の出力ピン(図3参照)に回路Cから供給される。DRAMのカ ラムアドレス・ストローブ(CAS[3:0])がDRAMサイクルの間に、B KSEL[3:0]出力ピン114を介して供給される。3ビットのDRAM行 とカラムアドレス指定が出力116を介して行なわれ、追加の8個のアドレスビ ットが双方向ピン102、バス84及びDRAM入力118によりDRAMサイ クルの間に多重化される。すべてのローカルメモリ・インタフェース端末の概略 が図7に掲載してある。 図6について再度説明する。回路Cには7個の割込みチャンネル130が設け てあり、そこから3つまでの割込みが選択できる。好ましい実施形態において、 2つの割込みはオーディオ機能に使用され、3番目の割込みはCD−ROM、ま たは他の外部装置に使用される。また、ライン130(8ラインのグループ)に ISA標準IOCHCK出力が表示され、回路Cにより非マスキング可能割込み をホストCPUに対して生成するために使用する。 本発明の回路は、Sound Blaster及びAdLibのアプリケーシ ョンとの全般的な互換性が得られる。MS−DOSの下でメモリ常駐型ドライバ ・シーケンスを走らせるには、ホストCPUに対しアクティブ状態にして互換性 を得るようにしなければならない。このようなドライバ・シーケンスは、超音波 およびサウンドボード・オペレーティング・システム(SBOS)によって得ら れる。アプリケーションソフトウェアが、通常はゲーム、回路C内で、コマンド をSound BlasterまたはAdLibレジスタとして指定されたレジ スタに対して送る場合、回路Cはそれを取り込み、IOCHKピンを用いてプロ セッサを中断させる。SBOSドライバの非マスキング可能割込み部分は、それ によりアクセスを読取り、Sound BlasterまたはAdLib機能の ソフトウェア・エミュレーションを実行する。 回路Cも、6個のDMAチャンネル136とDMA承認応答ライン138を供 給し、そこから3つのDMA機能が選択できる。3つのDMA機能には、ウエー ブファイル記録転送及びシステムメモリ転送、ウエーブファイル再生転送、外部 CD−ROMインタフェースにより要求されるDMAチャンネルが含まれる。ロ ーカルメモリDRAM110の有用性と、DRAM内でのデータレジスタの先入 れ・先出し用設備は、以下で述べるとおり、ウエーブファイルDMA機能に対す る要求を軽減し、場合によっては、ウエーブファイルDMAチャンネルの必要を 全くなくすることもあり得る。 図6に関して付言すると、コンパクト・ディスクドライブを含むシステム内で 使用するため、回路Cは必要な信号またはフックを与えて、外部CDインタフェ ース125などの外部PNPの使用を容易にする。回路Cは、外部インタフェー ス125用として、略単線で図示する別々の割込み要求と直接アドレス要求ピン を供給する。好ましい実施形態において、別々の入力ピン(図3参照)が与えら れている。外部装置のチップ選択とDMAの承認応答の出力とが回路Cにより、 図6のライン126で一括して示す別々の出力ピン(図3)を介して供給され回 路Cと外部装置ドライブ間でのデータ交換は、ISA標準16ビット双方向デー タバス128を介して実現される。 II. レジスタ及びアドレス割当 一般的に回路Cはレジスタ制御回路であって、そこではさまざまな論理演算と 演算の代替モードとがさまざまなレジスタ内に蓄積されたさまざまなビットある いはビット群の状態によって制御される。レジスタについての完全な記述と定義 及びそれに関係する機能についてはチャート及びその他の場所に含まれる記述に おいて明らかにする。回路Cはまた、入出力アドレス空間のいくつかのブロック 、特に5つの固定アドレスとアドレスについての7つの再配置可能ブロック含む 。ここでのレジスタについての記述において、レジスタ簡略記憶は以下のルール に基づく。即ち、 1. 第一キャラクタにはレジスタが属する領域またはモジュールを特定する コードが付随している。即ち、 I(インターフェースに対する)=システム制御、 G(ゲームに対する) =MIDIとジョイスティック、 S =シンセサイザ、 L =ローカルメモリ制御、 C =CODEC(符号復号化モジュール)、 R =CD−ROM、 U(超可聴音) =Gus、サウンドブラスタ(sound Blaster)、AbLib互換、 P =プラグ・アンド・プレイISA 2. 中間の第二キャラクタから第四キャラクタはレジスタの機能を記述する 。 3. 最後のキャラクタは直接レジスタに対するR、(指標付きレジスタ配列 にアクセスするための)ポートに対するP、あるいは間接レジスタに対するIの いずれかである。 A. 再配置可能なアドレスブロック。 回路Cに含まれる7つのモノリシックアドレスブロックについては次の表1を 参照する。そこでPNPとは工業標準であるプラグ・アンド・プレイ(Plug −n−Play)仕様のことである。 B. 直接アドレスの概要。 回路Cにはプログラム可能レジスタを使用する8つの機能グループが存在する 。プログラム可能レジスタの状態は、ホストCPUシステムによって実行される 命令に応じた制御に従う。8つの機能グループとそれらに付随する直接アドレス は以下の表2にリストされている。プラグ・アンド・プレイ・レジスタのための アドレスの内の2つはISAアドレスバス(SA[11:0])の12ビットす べてから復号化される。残りのアドレスは最初の10ビット(SA[9:0]) から復号化される。 すべての入出力プログラム可能レジスタとポートについての完全なリストは図 8〜図10に示されている。そこでは、すべてのアドレス数は16進数で表され る。また指標値は一つの共通する基本アドレスを使用した代替機能アドレスを与 える。 C. 外部デコードモード。 内部入出力マップに使用される10及び12ビットアドレス空間に加えて、回 路Cはまた選択的な外部デコードモードを提供する。そこでは、4つのシステム アドレスビット(SA[3:0]、図3,図6)とSA[5,4]として実行さ れる2つのチップ選択信号が回路C内でレジスタをアドレス指定する。このモー ドはシステムリセット信号の立ち下がりにおけるアドレスピンRA[20]の状 態によって選択される。 アドレスピンRA[20]がシステムリセット信号の立ち下がりにおいてロー の場合は、通常の入出力アドレスのデコードが実行される。このとき、システム アドレス入力SA[11:0]は回路Cにおいてすべてのレジスタをアドレス指 定する。アドレスピンRA[20]がシステムリセット信号の立ち下がりにおい てハイの場合は、外部デコードが以下のように実行される。即ち、 この多重化は、他の多重化ピン及び機能に関して以下に議論される方法で提供す ることができる。 以下の表は、外部デコードモードでいかに直接アドレス指定されたレジスタと ポートとがアクセスするかを示している。指標付けられたレジスタは、直接アド レスが以下の表3に示されたアドレスに変更されることを除けば、内部デコード モード(以下のレジスタ表参照)と同じ方法でアクセスされる。 D. DMAアクセス。 回路Cにおける多数のレジスタと定義された先入れ先出し(FIFO)アドレ ス空間とはDMA読み出し書込みサイクルを介してアクセス可能である。これら は以下の表にリストされている。ただしここで、LMCとCODECとは、その ようなレジスタやFIFOが存在する回路Cにおけるモジュールを表す。即ち、 ただし上記表4において、DMAグループはレジシタ定義語であって、ISA標 準DMAチャネルや要求承認応答数を表すものではない。 外部デコードモードは、PNPに対応しないシステムにおいて利用され、外部 デコード論理回路を介して内部レジスタやポートへのアクセスを提供する。 E. 多重化ターミナル。 リソースを節約使用するために、ROM/DROM多重化アドレスと上述のデ ータ転送ピンに加えて、外部ターミナルあるいはピンのいくつかのグループが代 替機能間で多重化(マルチプレクス)される。それらのグループの内の4グループ は、パワーアップ時あるいは他のシステムのリセット時に発生するリセット信号 の立ち下がりに関する外部ピンの状態に基づいて多重化する。 図11を参照すると、一つの状態においてsuspend#及びC32KHZ 入力に対応するピン139と140を別の状態でのFRSYNC#及びEFFE CT#出力でマルチプレクスすることが望ましい。これらの信号で果たされる機 能についてはどこか他の箇所で説明する。回路Cにおいて、リセット信号の立ち 下がりにおけるターミナルRA[21](図6参照)の状態を感知することによっ てこれらのピンのペアがマルチプレクスされる。RA[21]ピン上にプルアッ プ抵抗を与えることによって、あるいはそのような抵抗を与えないことによって 、ラッチ144へのD入力を下位の値あるいは上位の値に設定することが可能で ある。ラッチ144はリセット信号の立ち下がりと同期が図られ、Q出力におい て対応する下位または上位の値を与えることが可能である。このラッチ出力は4 対2のマルチプレクス回路146に与えられる。マルチプレクサ146は、Q出 力 が上位のときピン139と140をSUSPEND#とC32KHZ機能に付随 させる。一方、Q出力が下位のときピン139と140をEFFECT#とFR SYNC#出力機能に付随させる。 プラグ・アンド・プレイ互換可能拡張カードモードとシステム・ボードモード との間の多重化即ち選択も、リセット信号の立ち下がりでの入力ピンPNPCS の状態をラッチングすることにより同様な方法で与えられる。下位の値によって プラグ・アンド・プレイモードを選択し、上位の値によってシステムボードモー ドを選択する。この選択は、回路Cがプラグ・アンド・プレイ互換可能システム において使用されているのか、あるいはシステムボード、プラグ・アンド・プレ イ非互換システムにおいて使用されているのかに依存して行われれる。 リセットの際に選択されたモードに基づいて多重化されるピンの概要は以下の 表5に与えられる。 さらにリソースを節約使用するため、回路Cは、コンパクトディスク制御とシ リアルポート同期、外部デジタル信号の処理回路あるいは他の外部シリアルフォ ーマット回路が利用された際に使用されるクロック及びデータ転送、に関係した 外部ピンの間で多重化を行う。このことを以下のCODECモジュールの記述に おいてさらに詳しく説明する。 図6を参照すると、システム制御モジュール内においてCD−ROMドライブ のような外部デバイスの制御が、EX IRQ#(割り込み要求)、EX DR Q#(DMA要求)、EX DAK#(承認応答)、そしてCD CS#(チッ プ選択)ピンを介して行われる。これら4つのピンは図6においてライン124 及び126として略図的に描かれている。回路Cがシリアル転送モード(以下の CODECの説明でさらに詳しく説明される)において機能する際、これら4つ の外部デバイス制御ピンの多重化がレジスタICMPTIのビット7の状態に よって制御される。ICMPTI[7]が上位のときは、外部シリアル転送モー ドが可能となる。その場合、外部デバイス制御ピンは以下のように多重化される 。即ち、 上記ESPSYNC、ESPCLK、ESPDIN、そしてESPDOUT機 能は、それぞれ同期パルス、クロック、入力データ、そして出力データに対応す る。 入出力ピンタイプによって分類された回路Cのすべてのピンについての表を以 下に示す。即ち、 III. システム制御モジュール A. システム制御機能。 図1に示すように、システム制御モジュール2は、多数のレジスタ、互換ロジ ック、Plug−n−Play ISA実装ロジック、割り込み、DMAチャネ ル選択ロジック、クロック、リセット、テストロジックなどの様々なコントロー ル機能を含んでいる。システム制御モジュール2は、図12にその詳細が示され ている。 図12に示すように、システム制御モジュール2は、システムバスインタフェ ースブロック150、業界ソフトウェア互換ロジックブロック152、割り込み およびDMAチャネル選択ロジックブロック154、Plug−n−Playロ ジックブロック153、レジスタデータバス12、様々なロジック/タイミング ブロック158を含んでいる。一般にシステム制御モジュールは、動作モード、 電源消費レベル、その他のコントロール機能の変更に役立つ、様々なレジスタに 保持されている制御機能への応答をイネーブルにするばかりでなく、様々なタイ ミングに応じて回路Cの機能を制御し、信号を制御する。 1. システムバスインタフェース。 システムバスインタフェース150は、プロセッサ制御のシステムバス156 と、回路Cの様々なモジュールや回路の様々な部分の間のハードウェアインクを 提供する。回路Cは、Plug−n−Play ISAシステムバス仕様と完全 互換であるように設計されている。Plug−n−Play ISA仕様は、ホ ストCPUに構成データを提供するために、システム構成データが保存され、シ ステム初期化時に利用可能になるシリアルEEPROMへのインタフェースを要 求している。また、システムバスインタフェースは、EISAバス仕様のISA 部分にも準拠していなくてはならない。これら2つの仕様は、業界標準であり、 広く利用されている。 ISAバスインタフェース150は、5Vモード時に24,12または3.2 ミリアンペアのいずれかのドライブ機能を持つ、16ビットデータバスとのイン タフェース互換性を提供する。電源投入時のデフォルト値は、24ミリアンペア である。出力モードでは、データバスは、エッジレート制御であり、ライン間の 遅延は手動でスキューされ、グランドバウンス効果を減少させる。 また、ISAバスインタフェース150は、12ビットアドレスバスとのイン タフェースや、7つの割り込み要求ライン130から選ばれた2つのオーディオ 割り込みと1つのCD−ROMまたは外部デバイス割り込みのサポートも提供す る。また、ホストCPUへのマスク不可能割り込みを生成するためのIOCHK 信号の使用もサポートしている。 インタフェース150は、6セットのDMAライン136とこれに対応するD MA確認ライン138から選ばれた3つのDMAチャネルのサポートも提供する 。ISA DMA仕様に従って、利用可能なチャネルは、0,1,3,5,7で ある(チャネル0,1,3は8ビットDMAチャネルであり、チャネル5,6, 7は16ビットチャネルである)。サポートされている3つのDMA機能は、以 下のとおりである。ウェーブファイルレコード転送とシステムメモリ転送、ウェ ーブファイル再生転送、CD−ROMや外部デバイスインタフェースが要求する DMAチャネル。同時に使用することはできないが、記録および再生の両方の機 能を同じDMAチャネルにマッピングできるモードも提供されている。 2. レジスタデータバス。 ISAバスと回路Cの間のデータ配分は、レジスタデータバス12を使って行 われる。レジスタデータバス12は、システムバス入出力と、回路Cを通して提 供されているレジスタへのDMAアクセスを容易にする。図13に示すように、 レジスタデータバスは、双方向データバストランシーバ160を介してシンセサ イザレジスタ162、ローカルメモリ制御レジスタ164、システム制御レジス タ166、MIDIおよびゲームポート、レジスタ168、CODECレジスタ 170とインタフェースを取っている。これらレジスタの目的と機能は、本明細 書において詳細に説明されている。レジスタデータバス12と、図12に示すI SAシステムバス156のデータ部分であるISAデータバス172の間の双方 向データバストランシーバ160も提供されている。また、本明細書において詳 細に説明されているように、レジスタデータバスは、様々なローカルメモリラッ チ173,174,175やCODEC FIFO176,178とインタフェ ースを取る。 回路Cは、システムデータバスとの間の8ビットあるいは16ビットデータ転 送をサポートしている。ISAデータバスからの入出力アクセスの場合、レジス タデータバスとの間でのデータのアライメントは、ISAアドレスバスの最下位 ビットによって定義される。これらは、図6に示すように、SA[O]およびS BHE#と認定される。これら2つのバスは、以下の表VIに示すように、一般 的な入出力データポート(18/16DP)以外へのアクセスのために、デコー ドされる。即ち、 どの8ビットもレジスタデータバス12の後半に渡されることに注意。ISA バス仕様では許されていない、SA[0]とSBHE#の条件を使って、8ビッ トカードからのハイバイトアクセスを指定する。8ビットカードの場合、カード の設計者は、SBHE#ビットをハイにプルする。 図14では、レジスタデータバスコントロールの詳細が説明されている。レジ スタデータバス12は、2つの8ビットバス180,182から構成されている 。ローバイトバス182は、データバストランシーバ184を使ってシステムデ ータバス128のローバイトとインタフェースを取る(図6を参照)。ハイバイ ト バス180は、システムデータバス128のハイバイトとインタフェースを取る 。被制御バスドライバ186は、コントロール/デコードロジック190に応答 して、バス182と180の間でデータを転送し、先の表で指定されているデー タ変換を実行する。コントロールロジック190は、入力SBHE#とSA[0 ]に応答して、ライン192,194,196,198,200を介して制御信 号を作成し、先の表に述べられているデータ変換を実行する。 16ビット入出力アクセスを提供するハイバイトがアクティブになるまで、ロ ーバイトデータをラッチするための8ビットラッチ202が提供される。被制御 ドライバ204は、コントロール/デコードロジック190からの制御信号に応 答し、ローバイトとハイバイトの同時入出力アクセスを実行する。 また、制御ロジック190は、それぞれ読み書きアクセスをイネーブルにする 、ISAバス信号IOR#とIOW#を受け取る。ライン208と210に示さ れている入力信号と同様に、これらの入力は信号ライン206として示されてい るので、回路Cへの個々のピンで提供される。ロジック回路190と212の制 御下にあるPNPデータ転送は、バス182と被制御双方向トランシーバ214 を使って提供される。PNPロジック機能とレジスタについては、本明細書で詳 細に説明されている。制御/デコードロジック190は、業界標準のISAシス テムバスインタフェースコントロールとアドレスデコードを提供し、先に述べた データ処理プロトコルを実装する通常の適切な方法によって実装できる。同様に 、PNPロジック回路212は、業界標準PNP準拠のインタフェースを提供す る通常の回路によって実装できる。 制御/デコードロジック190は、通常のハンドシェーク、デコード、バスイ ンタフェース回路を提供して、業界標準ISAシステムバストのインタフェース を取る。 すべてのPNPレジスタへのアクセスは、奇数8ビットアドレスを使う。IO CS16#はこれらのアクセスのために表明されないので、ISAバスバスの下 位8ビットが使われる。これが、レジスタデータバスの下位8ビットとの間で相 互に渡される。IOCS16#は、外部ピンアウトを通して表明される業界標準 のインタフェース信号である(図6を参照)。 P3XR+5にあるI8DPとP3XR+(4−5)にあるI16DPは、回 路Cに含まれる8ビット、16ビットインデックスレジスタへのアクセスに使わ れる。I16DPは、16ビットI/Oアクセスが可能な、回路Cのポートにす ぎない。ISCS16#は、これらの一般的なデータポートへのすべてのアクセ スで表明される。一般的なI/Oデータポートアドレスは以下のように変換され る。即ち、 システムバスインタフェース150は、ソフトウェアによって2つの8ビット 書き込み(最初に偶数バイト、次に奇数バイト)に分けられる16ビットI/O 書き込みの変換を担当する。この場合、偶数バイト書き込みは、ラッチ202に ラッチされ、以後の奇数バイト書き込み時にレジスタデータバスの後半を通して 提供される。レジスタデータバスは、奇数8ビット書き込み時に偶数8ビットI /O書き込みにおいて最後にラッチされたものを提供する。 DMAアクセスの場合、データ幅は、以下のように使われているDMAチャネ ルによって決まる。即ち、 8ビットのDMAおよびI/O読み出し時に、ISAデータバス128におい て適切なバイトが駆動される。他のバイトは駆動されず、ハイインピーダンス状 態のままである。 レジスタデータバスの電圧は、駆動されていない状態において遷移領域にドリ フトしないようにするために、通常の良く知られている方法によって、弱いフィ ー ドバックインバータ(「キーパー」回路または「スティッキビット」回路)が提 供されることに注意しなければならない。この回路は、ノード電圧のフロートを 防止するような弱いフィードバックパスを提供する。 ISAデータバスドライブでの考慮事項。データバスが駆動されているときに 必要なピークリターン電流を減らすために、ICに組み込まれた、3つの特殊な ISAデータバス設計がある。第1に、出力駆動キャパシタは、プログラマブル レジスタを介して、24,12または3.2ミリアンペアのいずれかに選択可能 である(VCCが5Vの場合)。第2に、エッジレートを遅くする、出力バッファ 組み込みの特殊電流制限回路がある。この回路は、PC Net ISAチップ 79C960/1が使っているのと同じ方法で実装されている。第3に、図14 aに示すように、データバスは、それぞれが他からスキューされる少数のグルー プに分けられる。 3. レジスタデータバスI/Oデコード。 デコードされるアドレススペースには、7つのリロケータブルブロックと4つ の非リロケータブルブロックがある。その詳細は、以下のとおりである。即ち、 上の表のPPWRI[SD]という記法は、PPWRIへのI/O書き込みに よって開始される、回路Cがシャットダウンモードにあることを示している。 2XX及び3XXデコードは、さらに以下のように分けられる。即ち、 AEN。先のデコードは、AENがローの場合にだけイネーブルになる。 IORとIOW。先のデコードと共に、SBI 150は、ISAデータバス からIORとIOWを提供する。これらの信号へのインタフェース時に想定され なけばならない最悪のISAバスタイミングは図15に示されている。この図は 、ICにおいてアドレッシング可能な1つの16ビットポートへのアクセス時に だけ発生する最速のI/Oサイクルを示しているということに注意されたい(P 3XR=(4−5))。その他すべてのポートは、ずっと遅い8ビットタイミン グ(IOCS16#はアクティブにされない)に追随する。IOR#とIOW# は、8ビットI/Oサイクルで約530ナノセカンド、アクティブなままである 。 IOCHRDYコントロール。PSXR+2からPSXR+7までへのアクセ スだけが、IOCHRDYを不活性状態にすることによって、ISAバスI/O サイクルを拡張できる。すべてのP2XR、ポート、CODEC、Plug−n −Play ISAレジスタへのアクセスは、サイクルを拡張することはない。 (IGIDXRが指している46のレジスタを含め)サイクルを拡張できるレジ スタの場合、以下のカテゴリが存在している。即ち、 バッファドI/O書き込みは、CPUは待たずに継続できるので、重要である 。しかし、適切に処理されない場合、I/Oサイクルが扱われる順番がミックス され、問題が生まれることもある。たとえば、ローカルメモリへのバッファドI /O書き込み後、直ちにローカルメモリI/Oアドレスレジスタへの書き込みが あると、ローカルメモリへの書き込みが間違ったアドレスに送られることがある 。この問題は、バッファドI/O書き込みが進行中に、回路Cへのアクセスを遅 らせることによって処理される。図16に示すように、IIOR#,IIOW# ,IBIOWIP#は、内部信号である。IIOR#とIIOW#は、IBIO WIP#(バッファドI/O書き込み)が非活性になったことをきっかけにして 、前のバッファド書き込みが完了するとアクティブになる。IIOR#とIIO W#は、DMAサイクル時にはIBIOWIP#によってゲート制御されていな ことに注意。 バッファドレジスタと呼ばれる、バッファドI/O書き込みを許すレジスタは 、シンセサイザ音声固有のレジスタ、IGIDXR=51h、ローカルメモリ制 御(LMC)16ビットアクセスレジスタIGIDXR=51h、LMCバイト データレジスタLMBDRである。これらのレジスタのいずれかへのI/O書き 込みがあると、自動的にIBIOWIP#がアクティブになり、IOCHRDY は回路Cへの次のI/Oアクセス時に非活性になる。いずれかのバッファドレジ スタへのI/O読み出しにより、ロジックは、(1)(IBIOWIP#がアク ティブであるがどうかに拘わらず)IOCHRDYを非活性にし、(2)IBI OWIP#がアクティブな場合、非活性になり、IOCHRDYが非活性状態に なるまで待ち、(3)読み出しデータがISAバスに利用可能になるのを待ち、 (4)IOCHRDYがアクティブになるのを許す。この時点で、ゼロウエイトサ イクルのようにサイクルは完了する。 IGIDXRのコントロール。IGIDXRが自動インクリメントモード(S VSR)になっている場合、IGIDXRは、P3XR−5への8ビット書き込 み、またはP3XR+(4−5)への16ビット書き込みのいずれかの立ち下が りでインクリメントする。書き込みがバッファドポートに対するものである場合 、IGIDXRはIBIOWIP#の立ち下がりの後でインクリメントされる。 4. 既存のゲームカードとの互換性。 システム制御モジュール2は、既存のゲームカードソフトウェアとの互換性の ために必要なロジックとレジスタを持っている。回路Cは、ネイティブモードU ltrasound,MPU−401,Sound Blaster,AdLi b用に書かれたソフトウェアと互換性がある。互換性のためのロジック回路とタ イマは、一般に図12のブロック152として指定されている。これには、以下 の機能が含まれている。(i)本書のレジスタ記述部分で説明されているレジス タ、(ii)80マイクロセカンドの解像度と320マイクロセカンド解像度の 2つの8ビットタイマ、(iii)2つの汎用レジスタ、(iv)MPU−40 1ステータスエミュレーションフラグと制御レジスタ。 a. AdLibタイマ1とAdLibタイマ2。AdLibタイマ1は 、割り込みを発生する前に0FFhにインクリメントする8ビットのプリローダ ブルカウンタである。80マイクロセカンドのクロックによってクロッキングさ れている。AdLibタイマ2は、320マイクロセカンドのクロックによって クロッキングされているという点を除けば、80マイクロセカンドのタイマと同 じである。0FFhに達した後次のクロックで、割り込みがアクティブになり、 そのプログラム値(UAT1IとUAT21)によってリロードされる。割り込 みはクリアされ、UASBCI[4]によってイネーブルになる。どちらのタイ マも、UASBCI[4]によって1MHzクロックをランオフするように変え ることができる。また、これらのタイマは、UADR[STRT1]とUADR [STR2]によってイネーブルになる。 b. オートタイマモード。UASBC[0]に書き込むことによって回 路Cをオートタイマモードにすることができる。このモードは、AdLibハー ドウェアをエミュレートするのに使われる。オートタイマモードの場合、UAS RRの読み取りにより、UASWRではなく様々なフラグの状態が分かる。オー トタイマモードでUACWRが04hに設定されている場合、以下の変化が起こ る。(1)UADRに書き込んでも割り込みが起こらない、(2)UADRへの 書き込みは、その同じアドレスから読み取り可能なレジスタではラッチされない 、(3)UADRへの書き込みはAdLibタイマのコントロールに関係した様 々なフラグをドライブアウトするレジスタにラッチされる。 c. 汎用レジスタ。ロジックブロック152も、MPU−401エミュ レーションに使われ、他のエミュレーションソフトウェアをサポートするための 8ビット汎用レジスタを持っている。UGP11とUGP21という汎用レジス タは、UGPA1I、UGPA2I、ICMPTI[3:0]を通してISA1 0ビットI/Oアドレススペースのどこにでも置くことができる。実際には、各 レジスタは、アプリケーションに対して読み出されるレジスタと、アプリケーシ ョンによって書き込まれるレジスタの、2つのレジスタを表している。レジスタ がエミュレーションアドレスで(アプリケーションにより)書き込まれると、レ ジスタはイネーブルになり、割り込みを発生する。このレジスタは、以後GUS 隠しレジスタデータポート(UHRDP)でのバックドアアクセス位置を使って 、(割り込みを受け取ったエミュレーションソフトウェアによって)読み出される 。この同じバックドア位置への書き込みにより、読み出し動作に結び付いている 汎用レジスタが更新される。このエミュレーションプロトコルの概略を図16a に示した。 d. MPU−401エミュレーション。MPU−41エミュレーション サポートのために、汎用レジスタにいくつかの制御が追加されている。MPU− 401エミュレーションTSRはアプリケーション(一般にはゲームソフトウェ ア)と並行して実行されていると想定している。MPU−401カードにマッチ するために、エミュレーションアドレス(UGPA1I,UGPA2I,ICM PTI[3:0])は、MIDI UARTアドレスにマッチするように設定で きる。2つのUARTアドレスは、受信/送信データがP3XOR+0を介して アクセスされ、コントロール/ステータスデータはIVERI[M401]を介 してアクセスされるように、スワップすることができる。汎用レジスタへのアプ リケーションの書き込みによって、割り込み(NMIなど)が発生する。エミュ レーションソフトウェアはこの割り込みを捕まえ、バックドア(UHRDP)を 使ってエミュレーションレジスタのデータを読み、シンセサイザの制御方法を知 るために使う。また、アプリケーションが同じ割り込みによって駆動でき、MP U−401カードと同じステータスになっているように、MIDIコマンドは、 UARTにも送られる。 図16bは、アプリケーションとエミュレーションTSRのアクセス可能性を 示している概略ブロック図である。IEMUAIとIEMUBIエミュレーショ ン制御レジスタによって制御されるスイッチ記号はイネーブルである。 MPU−401ステータスエミュレーション。UBPA1Iによって読み取り 可能な、2つのMPU−401ステータスビット、DRR#(Data Rec eive Ready, bit 6)とDSR#(Data Send Re ady, bit 7)が作成される。これらのビットの当初の意味は、以下の とおりである。DRR#は、ホスト(CPU)が新しいコマンドまたはデータバ イトをUARTに送ることができるときにアクティブ(ロー)になる。DSR# は、UARTの受信データレジスタに利用可能なデータがある時アクティブ(ロ ー)になる。これらのビットの名前は、CPUではなくMPU−400ハードウ ェアの観点から取られていることに注意。これらのビットの読み出しとエミュレ ーションレジスタに実際に書き込まれるデータは、IEMUBI[5:4]から 来たものである。 エミュレーションアドレス(ICMPTI[3:0], UGPAIL, U GPA2I)を使って、いずれかのエミュレーションレジスタへの書き込みがあ ると、そのレジスタへの書き込みがイネーブルになっている場合、DRR#は、 ハードウェアによって不活性(ハイ)に設定される。バックドア(UHRDP) を使ったUGP1I[6]への書き込みでも、このフラグの状態は更新される。 このビットはリセット時にハイにデフォルト設定される。 エミュレーションアドレス(ICMPT1[3:2],UGPA2I)を使っ て一回のUGP2I読み出しがあると、DSR#はハードウェアによって非活性 (ハイ)に設定される。バックドア(UHRDP)を介したUGP1I[7]へ の書き込みによっても、このフラグの状態は更新される。このビットは、リセッ ト時にローにデフォルト設定される。 5. Plug−n−Playロジック。 システム制御モジュール2は、MicrosoftのPlug−n−Play ISA(PNP)を実装するのに必要なレジスタとロジックを持っている。回路 CのPNPブロック内には、いくつかの状態マシーンがあり(以下の説明を参照 )、16.9MHz.発振器から得られたクロックを利用しているものもある。 回路Cは、2つのPNP準拠の論理デバイスを持っている。AUDIO機能論 理デバイスは、シンセサイザ、CODEC、ポートなどを始めとする、ほとんど の回路Cからなっている。外部機能すなわちCDーROM論理デバイスは、外部 機能とだけ結び付けられている。 a. PNP I/Oポートとレジスタ。PNPのサポートにおいて、回 路Cは、多数の専用レジスタを提供している。これらのレジスタは、PIDXR を使ってインデクシングされ、読み書きポートPNPRDPとPNPWRPを使 ってアクセスされる。 b. 電源投入時PNPモードの選択。リセット信号は、電源投入時に出 力ピン76(PNPCS,図6)の状態をラッチし、PNPモードを決める。ロ ーにラッチされた場合、回路Cは、シリアルEEPROM78(PNPカードモ ード)を含んでいるPNP準拠カード上にあると想定される。ハイにラッチされ た場合、回路Cは、シリアルEEPROM(PNPシステムモード)を含まない システムボード上にあると想定される。 PNPシステムモードの場合、カード選択番号(CSN)は、PNP標準の方 法とは異なる方法により割り当てられる(PCSNBRを参照)。これは、シス テムボードの実装が外部シリアルEEPROMなしに存在できる場合である。外 部でコーディングが選択された場合(一般的な説明については、PINサマリー のセクションを参照)、すべてのPNPレジスタは、PNPモードに関係なくア クセス可能である。したがって、このモードでは、PNPレジスタへのアクセス 権を得るために、CSNを割り当てたり、いずれかのPNPプロトコルをソフト ウェアを組み込んだりする必要はない。 c. PNP状態マシーン。図17に示すように、PNPインタフェース は、キー待ち、アイソレーション、構成、スリープのいずれかの状態に1つにあ る。図17において、wakeとはwakeコマンドであり、Xは、コマンドと 結び付いたデータ値であり、CSNは現在のカード選択番号である。これらはす べてPlug−n−Play ISA仕様書に説明されている。PNP状態マシ ーンの出力は、図に示すように、PNPSM[1:0]である。 キー待ち。この状態では、PNPロジックは、PIDXRに書き込まれる32 バイトのキーを待つ。(キーに対するPIDXRを除き)この状態では、どのP NPレジスタも利用できない。 アイソレーション。この状態では、PNPソフトウェアは、PIOCIにIO Rサイクルのアルゴリズムを実行して、各PNPカードを切り離し、それに別々 のCSNを割り当てる。回路CがPNPシステムモードになっている場合、PI SOCIの読み取りにより、常にパーツはアイソレーションを「喪失」し、スリ ープモードに入る。 構成。この状態から、PNPソフトウェアは、PNP EEPROM78から すべてのリソースデータを読み取り、リソース(I/Oアドレススペース、IR Q番号、DMA番号)を割り当て、(activateのような)特定のコマン ドを送る。 スリープ。このモードでは、PNPハードウェアは休止状態にある。 d. シリアルEEPROMとのインタフェース。オーディオロジックデ バイスが活性化されていないとき(PUACTI[0])、PNPシリアルEE PROM78にアクセスすることができる。PSEENI[10]によって選択 されるPNP初期化とPNPコントロールという、2つのアクセスモードがある 。PNP初期化モードでは、以下のように、PNPSM[1:0]の状態を基に して、データは自動的にEEPROMから読み出される。即ち、 図18に示すように、シリアルEEPROMデータの読み出しのためのタイミ ングが提供される。データは、シリアルEEPROMに標準となっているのとは 逆の順番で回路Cに入る必要があることに注意。また、ビット[7:0]は、偶 数バイト(最初のバイトはPRESDIを通して読み出される)を表し、ビット [15:8]は奇数バイトを表している。シリアルブロックSKは、周波数99 6KHzのICLK1Mである(以下を参照)。 PNPコントロールモードでは、EEPROMピンは、PSECIのビットに よって直接制御される。 e. イニシエーションキーとリニアフィードバックシフトレジスタ。P NPレジスタへのアクセスには、リニアフィードバックシフトレジスタ(LFS R)の実装を要求するハードウェア/ソフトウェアアンロック機構が先行してい る。LFSR230の実装については、図20を参照。アンロックは、ソフトウ ェアが次のような32の値をPIDXRに書き出した後に完了する。6A,B5 ,DA,ED,F6,FB,7D,BE,DF,6F,37,1B,0D,86 ,C3,61,B0,58,2C,16,8B,45,A2,D1,E8,74 ,3A,9D,CE,E7,73,39。これらの値は、内部的にLFSR23 0で計算される。32すべてのバイトがPIDXRに書き出された場合、PNP 状態マシーンは、キー待ちモードからスリープモードに移る(図17を参照)。 f. アイソレーションモード。アイソレーションモードでは、シリアル EEPROM78の先頭に含まれているデータは、一度に1ビットずつシフトイ ンされ、図21に示されているアルゴリズムで使われる。 PNP仕様は、計算されたか、シリアルEEPROM78から単純に持ってこ られたシリアル識別子、チャックサムの最後の8ビットを認めている。これらの 値は、回路Cによっては計算されない。直接シリアルEEPROM78から移さ れる。図21のアルゴリズムは、アイソレーションモードから、構成モードある いはスリープモードへの遷移を許している。 g. カード選択番号レジスタ。Plug−n−Play仕様は、カード 選択番号(CSN)がシステムバス上のすべてのデバイスに割り当てられ、その 番号がアクセス可能であることを要求している。回路Cには、カード選択番号( CSN)が保存されている、カード選択番号バックドア(PCSNBR)に指定 されている8ビットレジスタがある。CSNは、PNP状態マシーンがアイソレ ーションモードの場合に書き込み可能である。PNP状態マシーンが構成モード の場合に、読み取り可能である。 以下のような手順を使うことにより、通常のPNPプロトコルを通らないでも 、CSNに書き込むことができる。即ち、 1. プルアップレジスタをPNPCSに置き、電源投入時にカードをPNP システムモードにする。 2. AUDIO論理デバイスがアクティブでないときに(PUACTI[0] =0)、PNP状態マシーンをアイソレーションモードにする。 3. CSNをゲーム制御レジスタ201hに書き込む。 h. Plug−n−Playリソース要件マップ。PNPシリアルEE PROM78のプログラミングのために必要なリソースの例を図22に示した。 6. 割り込みとIRQチャネル選択。 割り込みには、割り込みに結び付けられている信号のグループがある。その詳 細は、以下のとおりである。即ち、 これらは、以下のように、回路Cの3つのIRQチャネル選択可能性に組み込 まれる。即ち、 以下の式は、先の3つの式がIRQピンにマッピングされる方法を示している (図3を参照)。ここで、IRQのxは、IRQ番号を指定している。(UIC I[2:0]==IRQx)という記法は、「UICI[2:0]がIRQxを 指定する」と読み替えられなければならない。 マスク不可能割り込み(NMI)機能は、(ローインピーダンスとハイインピ ーダンスの間で)以下のように制御される。即ち、 先の式と以下の式では、変数や信号の前の/は論理否定を意味していることに 注意。*は、AND機能を指し、+は、OR機能を指している。/,*,+は、 それぞれ第1、第2、第3の優先順位を示している。先の式と結び付いているプ ログラマブルビットフィールドと信号は、以下のとおりである。即ち、 割り込みイベント。図23の表は、回路Cにおけるすべての割り込み駆動イベ ントに関するデータを提供している。回路Cがオートタイマモードであり、UA CWRが04hに書き込まれている場合、UADRへの書き込みは、割り込みを 生成しないことに注意。 7. DMAチャネル選択。 以下は、DMAデータ転送要求と結び付いている、回路Cで使われる信号であ る。即ち、 これらは、以下のように、回路Cのための3つのDRQTYチャネル選択可能 性にまとめられる。即ち、 以下の式は、先の3つの式がDRQピンにマッピングされる(図3を参照)方 法を示している。ここで、DRQxにおけるxは、DRQ番号を指定している。 UDCI[2:0]==DRQxという記法は、「UUDCI[2:0]がDR Qxを指定する」と読み替えられなければならない。 ハイインピーダンスからDRQをイネーブルにする。以下は、ハイインピーダ ンスからDRQをイネーブルにする信号の式である。即ち、 DMA中にデータバスを駆動。回路CのDMA読み取りにより、回路CがDM A要求信号を設定している場合にだけ、システムデータバスが駆動される。また 、回路Cは、DMA要求なしに確認が発生した場合には、すべてのDMA書き込 みを無視する。 DMAレート。ローカルメモリとシステムメモリの間のDMA転送では、転送 速度は、LDMACI[4:3]によって制御される。すべてのMA転送の最高 速度では、最後のDAK信号の最後から次のDRQ信号の最初まで約1/2から 1マイクロセカンドである。これは、ICLK2M、2MHzクロックの2つの エッジをカウントすることによって組み込まれる。 8. クロック。 回路Cは、多数の内部クロック要求を持っている。このセクションでは、外部 クリスタル16と18から作成されるすべての内部クロックについて説明する( 図1)。図24に示すように、クリスタル16のこのブロックによって生成され るすべてのクロックは、発振器が有効でないとき(ハイを保持した)ステディで あることが保証され、また発振器が安定すると再度トグルを開始することが保証 されている。このロジックは、発振器が安定しようとしているときに、これら のクロックにグリッチがないようにするためである。これは、図24の発振器安 定化ロジック232の目的である。そして、以下のために使われる。(1)サス ペンドモードから抜ける、(2)シャットダウンモードから抜ける、(3)IC がシャットダウンモードになっているソフトウェアリセット(PCCCI)に続 き、発振器を安定化させる。RESETピンがアクティブな場合は、バイパスさ れる。 図24において、IOSC16M信号は、16.9344MHzクロック16 からの入力クロック信号である。このクロック信号は、ライン233のコントロ ールまたはゲート信号を介して発振器安定化ロジック232に入力クロック信号 として提供される。ゲート制御ロジック242も、ライン235でイネーブル信 号を生成し、クロック16のオン/オフを制御する。 以下で説明するように、ゲート制御ロジック242は、回路Cのベースシステ ムクロックとして使われる、バッファ237を介して出力ICLK16Mを提供 し、特定のサブ回路または機能のために様々な周波数を持った様々なクロック信 号を生成するのに、ロジックブロック241によって利用されるバッファ239 を通して、16.9344MHzを提供する。必要ならば、同じような安定化ロ ジックをクリスタル18にも提供できることに注意。現在の実装では、クリスタ ル18は、活性化信号PPWRI(PWR24)への応答で、ライン234でバッ ファド24MHz出力を提供する。 発振器安定化ロジック。図25に示すように、発振器安定化ロジック232は 、発振器16によってクロッキングされる16ビットカウンタ238と、カウン タ238を制御するフリップフロップ240から構成されている。その結果、ク ロックのパスを許す、あるいはグリッチフリーにディスエーブルするゲーティン グロジック242へのゲートになっている(図24)。16.9MHzクロック 16の信号STOP CLKは、サスペンドおよびシャットダウンモード時にカ ウンタ238をクリアする。好ましい実装においては、ソフトウェアリセット( PCCCI)は、回路Cがシャットダウンモードであるかどうかに応じてクロッ ク16の256ステートあるいは64Kステートのいずれかで、システムリセッ トPCARST#がアクティブなままであることを要求している(以下を参照) 。安 定化ロジック232内のロジックカウンタも、必要な遅延を実現するための制御 信号を提供する。信号GO CLKは、RESETピンがアクティブなときにコ ントロールフリップフロップ240を設定する。回路Cがサスペンド、シャット ダウンモードを抜けると、STOP CLKは非活性化し、カウンタ238は6 4Kステートをクロックアウトし、回路238のCLOCK ENABLE出力 はアクティブになる。STOP CLKとGO CLK信号は、他で説明してい るように、電源制御レジスタの状態やリセット信号に応答して、内部的にロジッ ク回路から生成される。 図24aでは、クロック生成、制御/安定化回路の詳細が説明されている。図 24aに示されているロジックやカウンタは、これまで説明したロジックがどの ように実装できるかを示している例にすぎないことに注意しなければならない。 当業者ならば、機能仕様を守りながら、他の様々なバリエーションがあることを 理解できるだろう。 システムリセット信号430は、外部ISAバス信号である。システムリセッ ト430は、ライン431の信号PCARST#が非活性(ハイ)になる前に、 発振器16と18が安定化する時間を確保するために、少なくとも10ミリセカ ンドの間表明される(それにより、PCARST#をイネーブルにする)。信号 PCARST#は、ほとんどのメモリ機能(レジスタ、ラッチ、フリップフロッ プ、RAMのビット)をデフォルト状態にし、すべてのISAバス活動が無視さ れ、ローカルメモリサイクルを停止するようにする。システムリセットは、フリ ップフロップ240へのGO CLK非同期セット信号435として提供される 。そして、この信号がライン233でQ出力をハイにし、直ちにゲーティングロ ジック242をイネーブルに、またそれによって16MHzクロック信号をイネ ーブルにする。24MHzクロックも、レジスタPPWRIのPWR24ビット によって制御されており、このPWR24ビットは、PCARST#信号に応答 してデフォルト状態のハイに設定されるので、リセットによってイネーブルにな る。 図24aにおいて、PCCCI信号は、PCCCIレジスタの状態によって制 御されるPNPロジック(ソフトウェアリセット)からのI/Oマップトコマン ドである。PCCCIの表明は、ライン434において、信号PCARST#の 代替ソースとして提供される。 図24aにおいて、Suspend#ピンからのアクティブ入力に応答して、 サスペンドモードに入る。参考のために、サスペンドモードロジックが、図24 aのアクティブ/ポジティブモードで示されている。アクティブ入力サスペンド 信号はライン446で、ORGATE448とANDGATE450への入力と して提供される。これに応答して、ISUSPRQは、それぞれゲート454と 456を介してI2LSUSPRQとI2SSUSPRQのモジュラー信号を活 性化するライン452でアクティブになる。ライン446でのサスペンド入力も 、80μセカンドの遅延出力をORGATE448とANDGATE450に提 供する、2ビット遅延カウンタ458に提供される。遅延回路458は、ライン 460で提供される、内部生成クロック信号ICLK12Kによってクロッキン グされる。必要ならば、この信号は、モジュラーサスペンド時信号を生成するの に提供される。たとえば、ISUSPIPがORGATE464への入力として 提供され、回路CのローカルメモリモジュールのためのモジュラーI2LSUS PIP信号を生成する。そして、この信号は、ノーマルオペレーション時にロー カルメモリモジュールによって使われる16.9MHzクロック信号をディスエ ーブルにするのに使われる。 ISUSPIPは、ISUSPRQが表明された後、約80μセカンド発振器 をグランドするためにORGATE467とORGATE466を介して、カウ ンタ238をクリアするためのライン436で、STOP CLKとして提供さ れる。カウンタ238のクリアには、サスペンド信号が非活性化したときにイネ ーブルになった後、発振器16が、安定化することが必要である。同様に、IS USPIPは、24MHz発振器18をディスエーブルするために、ORGAT E470を介してANDGATE468に対する入力として提供される。 様々なクロック。システムクロックもジュール2のクロック回路は、回路Cの 諸機能のために様々なクロックを提供する。以下に、これらのクロックを要約す る。即ち、 IKLK1Mは、PNPシリアルEEPROM 78の要件に合致するように 、9クロックハイ、8クロックローのデューティサイクルで実装されている。そ の他すべてのクロックは、そのデューティサイクルができるだけ50−50に近 づくように実装されている。 テストモード要件。チップがテストモードになっているとき、これらの多数の クロックの回路はバイパスされる(以下のレジスタの説明を参照)。さらに、1 6.9MHzと24.5MHzのクロックは、介在ロジックまたは64Kステー トカウンタなしで直接制御される。 9. 電源消費モード。 回路Cは、ロジックの様々なブロックが大量の電流を消費しないようにする機 能を持っている。また、シャットダウンモードにすることができる。その場合、 両方の発振器はディスエーブルになる。また、サスペンドモードでは、両方の発 振器がディスエーブルになり、ピンのほとんどはアクセス不可能になる。様々な ブロックをディスエーブルにし、回路Cをシャットダウンモードにするための制 御は、プログラマブルレジスタPPWRIから来る。サスペンドモードは、SU SPEND#ピンによって制御される(図6を参照)。サスペンドモードにより 、I/Oピンは以下の表に示すように動作を変える。即ち、 SA[11:6],SBHE#,DAK[7:5,3],SD[15:8]の各 ピンは、小さな内部プルアップ抵抗を持ってる。しかし、これらのレジスタに対 する電源は、サスペンドモード時にISAバスに駆動電圧がなくなるように、I VERI[PUPWR]によってディスエーブルにできる。電源消費を止めるた めにハイインピーダンス状態にされるピンの場合、被制御バッファがピンに提供 される。サスペンドモードの場合、このバッファはディスエーブルになり、その 出力(回路Cへの入力)は接地される。 a. レジスタ制御低電力モード。レジスタPPWRIは、回路C内のロ ジックの様々なブロックによって消費される電力を減らし、シャットダウンモー ドにするために使われる7ビットレジスタである。図26に示されている表は、 レジスタPPWRIの様々なビットがクリアあるいはセットされたときに何が起 こるかを説明している。PPWRIの各ビットは、低電力モードのときにローで あるように定義されている。 図26の100ミリセカンドタイマは、ロジックブロック158(図12)を 持ち、それぞれがICLK100K(10で除算)で駆動される通常のタイマ回 路がら構成されている。タイマの1つは低電力モードへの移行時間をカウントア ウトするのに使われ、他のタイマは、低電力モードから抜ける時間をカウントア ウトするのに使われる。サスペンドモードには、これらの同じタイマを使うこと ができる。 図24aにおいて、レジスタPPWRIはレジスタ472としてその概略が描 かれている。ロジックロー状態にクリアされるレジスタ472の各ビットに応答 して、シャットダウンモードが活性化される。レジスタ472の各ビットの状態 は、すべてのビットがローのときタイマ476への出力を提供する、ANDGA TE 474への反転ビットとして提供される。100μセカンドの遅延の後、 レジスタ472のどのビットも仮遅延でロジックハイに状態を変えていない場合 、ANDGATE 480を介して発振器をディスエーブル(接地)するライン 478において、出力が提供される。このステータスチェックは、1秒を提供し 、ANDGATE 480への入力をイネーブルにする、ORGATE 482 を介して提供される。タイマ476の出力も、シャットダウンモードを抜けると きに十分な遅延時間を提供するために、安定化回路232のカウンタ238をク リアするSTOP CLK入力として提供される。 他で述べているように、PWR24ビットの状態が、ゲート468を介して発 振器18への電力を制御する。レジスタ472の各ビットの状態に応じて、モジ ュラー電源モードが実装されている(PPWRI)。たとえば、ビット4(PW RS)の状態は、カウンタ回路、ORGATE486、ANDGATE488へ の入力として提供される。これらの回路要素は、シンセサイザサスペンド要求信 号490、ならびにゲート493を介してシンセサイザクロック信号をディスエ ーブルにするのにも使われる、遅延シンセサイザサスペンド・イン・プログレス 信号を提供する。ローカルメモリモジュールにも、同じような遅延/ロジック回 路494が提供されている。レジスタ472のその他のビットは、本仕様書で説 明しているように、様々なモジュールおよび回路C内のモジュールのステータス を制御する。これらの機能のロジック実装の概略図を図24aに示した。 図24bは、サスペンドモードの活性化と非活性化に対する回路Cの応答の概 略を表しているフローチャートである。図24cは、レジスタ制御低電力モード を示しているフローチャートである。 b. サスペンドモード。SUSPEND#ピンがアクティブになると、 回路Cは、シャットダウンモード時と同じような振る舞いをする。図27のタイ ミング図は、発振器、クロック、信号がSUSPEND#ピンに対してどのよう に応答するかを示している。図27においてICLK24M信号は、安定してい るとして説明されていることに注意。この条件はオプションである。ISUSP RQは、シャットダウンロジックのI2LSUSPRQおよびI2SSUSPR Qと論理ORされる。ISUSPIPは、I2LSUSPIPと論理ORされる (図26を参照)。SUSPEND#が表明されたときに回路Cが既にシャット ダウンモードに入っている場合、(i)I/Oピンは先に示したサスペンドモー ドの要求にマッチするように変わる、(ii)codecアナログ回路は、まだ 低電力モードになっていない場合、このモードに入る。CODECアナログ回路 は、インバータ465を介してライン461のISUPIP信号をANDGAT Eに提供することによって、SUSPEND#がアクティブな場合、低電力モー ドに入る。 ISUSPRQ#が表明された後、ロジックは、他の回路Cに対するクロック を停止し、発振器をディスエーブルにする前に、80ミリセカンド以上待つ。発 振器16と18からのクロック信号ICLK16MとICLK24Mは、歪みや グリッチがないように、ディスエーブル(再度イネーブル)になる。ハイの段階 に入れば、ローに戻ることはない。SUSPEND#が非活性化された後、発振 器は再度イネーブルになるが、クロック信号ICLK16Mは、発振器16が4 から8ミリセカンド後に安定化するまで、再度トグルすることはない。これは、 発振器16が64Kタイムで正常にクロッキングしている場合に起こる。ICL K16が少なくとも80ミリセカンドトグルした後、ISUSPRQ#信号は、 回路Cのロジックが動作できるように表明が解除される。すべてのISAバスピ ンと多数のその他のピンは、回路Cへのアクセスを試みる前に、SUSPEND #が解放された後、約10ミリセカンド遅延しなければならない。ISUSPI P(サスペンドインプログレス)は、内部クロックが有効でない間アクティブで ある。サスペンド要求毎のローカルメモリコントロールモジュールでのI/Oピ ンの動作を変えるのに使われる(サスペンドモードリフレッシュ)。 10. リセット。 以下の2つにより、リセットが行われる。(1)RESETピンの表明、(2 )PNPロジック(PCCCI)からのリセットのためのI/Oマップトコマン ド。どちらも、PCARST#信号に対して長いパルスを生成する。また、リセ ットレジスタ(URSTI)への書き込みによって引き起こされる、シンセサイ ザモ ジュール6とGravis Ultrasound機能のリセットもある。また 、GMCRのビットによって制御されるMIDIインタフェースのリセットもあ る。 PCARST#。PCARST#は、Cレジスタのほとんどのメモリ機能、ラ ッチ、フリップフロップ、RAMのビットをそのデフォルト状態に戻す内部生成 信号である。アクティブなとき、すべてのISAバス活動は無視され、ローカル メモリサイクルは起こらない。PCARST#は、RESETピンのリセットと 、先に説明したソフトウェアリセット(PCCCI)との論理ORとして作成さ れる。RESETピンは、PCARST#が非活性化する前に発振器が安定化す るために時間を確保するために、少なくとも10ミリセカンド表明される必要が ある。ICがシャットダウンモードになっているときにソフトウェアリセットが 発生した場合、PCARST#は、アクティブになり、発振器安定化ロジックは 、PCARST#を解放する前に64K状態の間カウントする。ICがシャット ダウンモードでないときにソフトウェアリセットが起こった場合、PCARST #は、256の16.9MHzクロック(約15ミリセカンド)の間アクティブ になる。PCARST#がアクティブな間、すべての16.9MHzおよび24 .5MHzクロックはICの他のブロックに渡される。しかし、先のCLOCK Sセクションで示した様々なdivide−downクロックは、このクロック を生成するために使われているdivide−down回路もリセットされてい るので、トグルしない。 RESETピン専用機能。以下の項目はRESETピンによって影響を受ける が、PCARST#からは影響を受けない。リセットのトレーリングエッジでラ ッチされるI/Oピンの状態、PCSNI,PSRPAI、PSPSM[1:0 ]レジスタ、自分自身のリセット要件を持っている状態マシーン、テストコント ロール信号(ITCI)、発振器安定化ロジックのためのコントロール(ソフト ウェアリセットをカウントアウトするのに使われる)。その他すべての機能は、 デフォルト状態にリセットされる。 ソフトウェアリセットPCCCI。ソフトウェアリセットは、16.9MHz 発振器が256の状態(シャットダウンが進行中でないか、ITCI[BPOS C]がアクティブな場合)または64Kの状態を通ってクロッキングされるよう になっている間、PCARST#をアクティブに保つ シンセサイザRAMブロック。PCARST#が不活性になった後、シンセサ イザロジック(以下を参照)は、クリアアウトするためにすべての32ボイスR AMブロックを順次処理する。これには、約22ミリセカンドかかる。 外部機能インタフェース。PCARST#がアクティブなとき、ピンRAS# とROMC#の両方がアクティブになる(RAS#=ROMCS#=0)。これ は、このような条件が起こる唯一の方法である。これが起こると、外部機能(た とえば、CD−ROM)によってデコードし、リセットがアクティブであること を知ることができる。 B. システム制御PINの概要。 図28に示されているピンは、システムバスインタフェースと結び付いている 。 C. システム制御レジスタの概要。 以下のレジスタ定義において、RESまたはRESERVEDは予約済みビッ トを指定している。そのようなフィールドはすべてゼロが書き込まれなければな らない。読み込むと、不定値が返される。リード・モディファイ・ライトオペレ ーションは、読み込まれた値を書き戻すことができる。 1. P2XRダイレクトレジスタ a. Mix制御レジスタ(UMCR)。 アドレス: P2XR=0 read, write デフォルト: 03h このレジスタが隠しレジスタへのアクセスを制御する方法については、IVE RI[HRLEN#]を参照 CRS 制御レジスタ選択。URCR[2:0]が0に設定されている場 合、このビットにより、割り込み制御レジスタ(UICI)のイ ンデクシングあるいはDMA制御レジスタ(UDC)のインデク シングを選択する。1=UICI; 0=UDCI。 MLOOP MIDIループバック。論理1はMIDITXをMIDIRXへ のループを引き起こす。これは、MIDITXからのデータの転 送をブロッキングしない。しかし、MIDIRXを介したデータ 受信をブロックする。 GF122 チャネルシンセサイザ割り込み。論理1は、(1)すべてのシン セサイザおよびCODEC割り込みと選択したチャネル1 IR Qピンを論理ORし、選択したチャネル1 IRQピンへのシン セサイザ割り込みをマスキングする。 IQDMA IRQ及びDMAイネーブル。論理1は、IRQとDRQピンを イネーブルする(オーディオ機能専用、EX IRQやEX D RQピンによって制御されている外部デバイスの特定のIRQや DRQラインには影響しない。論理0により、すべてのIRQと DRQピンはハイインピーダンスモードになる(オーディオ機能 専用)。 ENMIC イネーブル・モノ及びステレオマイクロホン入力。論理0は、モ ノおよびステレオマイクロフォン入力をディスエーブルにする (サウンドなし)。 ELOUT イネーブル・ライン出力。論理1は、ステレオラインアウト出力 をディスエーブルにする(サウンドなし)。このスイッチは、c odecモジュールのすべてのイネーブルおよびアテニュエータ の後。 ENLIN イネーブル・ライン入力。論理1はステレオラインイン入力をデ ィスエーブルにする(サウンドなし)。このスイッチはcode cモジュールのすべてのイネーブルおよびアテニュエータの前 b. サウンドブラスタ2X6レジスタ(U2X6R)。 アドレス: P2XR+6write このアドレスへの書き込みによって、AdLibステータスレジスタ(UAS RR)の2X61RQビットが設定される。このアドレスではデータは転送、ラ ッチされない。 c. IRQ状態レジスタ(UISR)。 アドレス: P2XR+6read デフォルト: 00h(初期化後) このレジスタは、様々な割り込みの原因を指定する。 DMATC DMAターミナルカウントIRQ。ハイは、ISAバスターミナ ルカウント信号TCが、システムメモリとローカルメモリの間のDMA活動の結 果、アクティブになったことを示す。このビットを駆動するフリップフロップは 、LDMACIの読み出しによってクリアされる。シンセサイザに結び付いてい る割り込みと論理ORされる。TC割り込みがイネーブルでない場合(LDMA CI[5])、たとえ割り込みのフリップフロップが設定されていても、不活性 として読まれる。 VOLIRQ ボリュームループIRQ。論理1は、ボイスの1つのボリューム ランプがエンドポイントに達したことを示す。このビットは、ジ ェネラルインデックスレジスタ(IGIDXR)に、シンセサイ ザボイス割り込みレジスタSVIIにアクセスする値8Fhが書 き込まれた後クリアされる。 LOOIRQ アドレスループIRQ。論理1は、いずれかのボイスのローカル メモリがエンドポイントに達したことを示す。このビットは、ジ ェネラルインデックスレジスタ(IGIDXR)がSVIIにア クセスする値である8Fhによって書き込まれた後クリアされる 。このビットは、URSTI[2]によってイネーブルになる( しかし、クリアされない)。 ADIRQ AdLibサウンドレジスタIRQ。これは、write−to −UADR割り込みビット(UADRへの書き込みによってハイ に設定される)、write−to−U2X6R割り込みビット (U2X6Rへの書き込みによって設定される)、write− to−UI2XCR割り込みビット(UI2XCRへの書き込み によって設定される)のORである。UADR割り込みを駆動す るフリップフロップは、UASBCI[1]がハイのときイネー ブルになり、UASBCI[1]がローのとき非同期的にクリア される。他の2つのビットは、UASBCI[5]がハイのとき イネーブルになり、UASBCI[5]がローのとき非同期的に クリアされる。ADIRQは、AdLib−サウンドブラスタと 結び付いているIRQとORされる。 ADT2 AdLibタイマ2。このビットは、AdLibタイマ2がFF からプリロード値UAT2Iにロールするときに設定される。U ASBCI[3]によってクリアされ、ディスエーブルになる。 このビットを駆動するフリップフロップは、AdLib−サウン ドブラスタと結び付いている割り込みとORされる。また、UA SRR[1]で読み取り可能である。 ADT1 AdLibタイマ1。このビットは、AdLibタイマ1がFF からプリロード値UAT1Iにロールするときに設定される。U ASBCI[2]によってクリアされ、ディスエーブルになる。 このビットを駆動するフリップフロップは、AdLib−サウン ドブラスタと結び付いている割り込みとORされる。また、UA SRR[2]で読み取り可能である。 MIDIRX MIDI受信IRQ。論理1は、MIDI受信データレジスタが データを持っていることを示す。GMRDRの読み取りによって クリアされる。 MIDITX MIDI送信IRQ。論理1は、MIDI送信データレジスタが 空であることを示す。GMTDRへの書き込みによってクリアさ れる。 d. AdLibコマンド読み出し及び書き込みレジスタ(UACRR, UACWR)。 アドレス: P2XR+OAh read(UACRR); P2XR+08h及び338h write(UACWR) デフォルト: 00h このレジスタは、AdLibオペレーションをエミュレートするのに使われる 。このレジスタは、内部シンセサイザをプログラミングし、AdLibサウンド を複製するために、AdLibアプリケーションソフトウェアによって書き込ま れ、AdLibエミュレーションソフトウェアによって読み取られる。 e. AdLib状態読み出し及び書き込みレジスタ(UASRR, UASWR)。 アドレス: P2XR+08h及び388h read (UASRR); P2XR+0AH write (UASWR) デフォルト: 00h オートタイマモードでないとき、これは読み書きアドレスに様々な値を持った 読み書きレジスタである。オートタイマモードでは(UASBCI[0])、こ のレジスタへの書き込みはラッチされるが読み取り可能ではない。読み取りによ り、以下のステータス情報が得られる。即ち、 OR56 ビット5と6のOR。このビットは、このレジスタのビット5と ビット6の論理ORを表す。 T1M タイマ1,マスク可。このビットは、AdLibタイマ1がFF からプリロード値UAR1Iにロールするとハイにセットされる 。このビットは、UADR[AIRST]への書き込みによって クリアされる。このビットは、AdLibタイマ1マスクが設定 されている場合(UADR[MT1])アクティブにならない。 T2M タイマ2,マスク可。このビットは、AdLibタイマ2がFF からプリロード値UAR21にロールするとハイにセットされる 。このビットは、UADR[AIRST]への書き込みによって クリアされる。このビットは、AdLibタイマ1マスクが設定 されている場合(UADR[MT2])はアクティブにならない 。 2XCIRQ 2xC割り込みへの書き込み。これは、UI2XCRへの書き込 みによってハイに設定されている、UI2XCR割り込みビット への書き込みである。このビットを駆動するフリップフロップは 、UASBCI[5]がハイのときイネーブルになり、UASG CI[5]がローのときクリアされる。 2X6IRQ 2x6割り込みへの書き込み。これは、UI2X CRへの書き込みによってハイに設定されている、U2X6R割 り込みへの書き込みである。このビットを駆動するフリップフ ロップは、UASBCI[5]がハイのときイネーブルになり、 UASGCI[5]がローのときクリアされる。 T1NM タイマ1,マスク不可。このビットは、AdLibタイマ1が FFからプリロード値UAT1Iにロールするとハイにセットさ れる。このビットは、UASBCI[2]によってクリアされ、 ディスエーブルになる。このビットを駆動するフリップフロップ は、AdLib−サウンドブラスタと結び付いている割り込みと ORされる。UISR[2]でも読み取り可能である。 T2NM タイマ2,マスク不可。このビットは、AdLibタイマ1が FFからプリロード値UART21にロールするとハイにセット される。このビットは、UASBCI[3]によってクリアされ 、ディスエーブルになる。このビットを駆動するフリップフロッ プは、AdLib−サウンドブラスタと結び付いている割り込み とORされる。UISR[3]でも読み取り可能である。 DIRQ データIRQ。これは、UADRへの書き込みによってハイに設 定される、write−to−UADR割り込みビットである。 このビットを駆動するフリップフロップは、UASBCI[1] がハイのときイネーブルになり、UASBCI[1]がローのと き非同期的にクリアされる。AdLib−サウンドブラスタと結 び付いている割り込みとORされる。UISR[4]でも読み取 り可能である。 f. AdLibデータレジスタ(UADR)。 アドレス: P2XR+9 and 389h read, write デフォルト: 00h このレジスタは、以下のように、様々なビットの状態を基にしてAdLib互 換の機能を実行する。即ち、 ケース2の場合、以下のAdLibタイマエミュレーションビットが書き込ま れる。これらのビットすべてはリセット後ローにデフォルト設定される。MSB がハイに設定されている場合、他のビットは変わらないことに注意。IVERI [RRMD]がアクティブな場合、以下のビットは、UASBCI[0]または UACWRに状態の如何に拘わらず、このアドレスから読み取り可能である。 AIRST AdLib IRQレジスタ。論理1に設定されていると、UA SRR[T1M]とUASRR[T2M]を駆動するフリップフ ロップは、クリアされる。このビットは、UASRR[T1M] とUASRR[T2M]がクリアされた後自動的にクリアされる 。また、このビットがハイに書き込まれると、このレジスタの他 の4つのビットは変わらない。このビットがローとして書き込ま れると、このレジスタの他のビットはラッチされる。 MT1 マスクタイマ1。ハイの場合、UASRR[T1M]を駆動する フリップフロップは、アクティブになることができない。 MT2 マスクタイマ2。ハイの場合、UASRR[T2M]を駆動する フリップフロップは、アクティブになることができない。 STRT2 スタートタイマ2。ローのとき、UAT2Iにある値は、320 ミリセカンドのライジングクロックエッジ毎にAdLibタイマ 2にロードされる。ハイのとき、タイマは、320ミリセカンド のライジングクロックエッジ毎にインクリメントされる。タイマ がFFhに達した後、次のクロックエッジでは、UAT2Iが再 度タイマにロードされる。 STRT1 スタートタイマ1。ローのとき、UAT2Iにある値は、80ミ リセカンドのライジングクロックエッジ毎にAdLibタイマ1 にロードされる。ハイのとき、タイマは、80ミリセカンドのラ イジングクロックエッジ毎にインクリメントされる。タイマがF Fhに達した後、次のクロックエッジでは、UAT1Iが再度タ イマにロードされる。 g. GUS隠しレジスタデータポート(UHRDP)。 アドレス: P2XR+OBh write これは、隠しレジスタにアクセスするためのポートである。注:隠しレジスタ へのアクセスを制限する方法については、IVERI[HRLEN#]を参照。 h. サウンドブラスタ割り込み2XCレジスタ(UI2XCR)。 アドレス: P2XR+0Ch read, write デフォルト: 00h この単純な読み書きレジスタへの書き込みによって割り込みが発生する。この レジスタは、割り込みが発生しないU2XCRを介しても書き込むことができる 。割り込みは、UASBCI[5]=0を書き込むことによってクリアされる。 i. サウンドブラスタ2XCレジスタ(U2XCR) アドレス: P2XR+0Dh write デフォルト: 00h(初期化後) これは、割り込みを発生しない、サウンドブラスタ割り込み2xCレジスタ( UI2XCR)へのアクセスを提供する。 j. サウンドブラスタレジスタ2XE(U2XER)。 アドレス: P2XR+OEh read, write デフォルト: 00h これは、サウンドブラスタエミュレーションに使われる単純な読み書きレジス タである。このレジスタのI/O読み取りは、(イネーブルの場合)割り込みを 発生させる。 k. レジスタ制御レジスタ(URCR)。 アドレス: P2XXR+0Fh write, read(IVERI[R RMD]がアクティブな場合) デフォルト: 0000 0000 注:IVERI[RRMD]がアクティブなときに、このレジスタは読み取り 可能になる。IVERI[RRMD]がアクティブでない場合、このアドレスを 読むと、USRRのデータが得られる。 IQ2XE U2XERの読み取りによってなされる割り込み イネーブル。論理1の時、U2XERの読み取りによって割り込 みが発生する。この割り込みは、サウンドブラスタ−AdLib 割り込みと論理ORされる。 EGPRA イネーブル・ジェネラルパーパスレジスタ・アクセス。論理1は 、ICMPTI[3:0],UGPA1I,UGPA2Iによっ て指定されるアドレスを通した汎用レジスタへのアクセスをイネ ーブルにする。 TG2XC。 2xCのトグルビット7。論理1は、UI2XC R[7]にそのレジスタの各I/O読み取りとトグルさせる。 GP2IRQ ジェネラルパーパスレジスタ2割り込み。論理1は、ICMPT 1[3:2]とUGPA2Iによって指定されるアドレスを介し た汎用レジスタ2への読み出しまたは書き込みのいずれかによっ て生まれる割り込みをイネーブルにする。割り込みは、サウンド ブラスタ/AdLib割り込みと論理ORされる。UHRDP、 バックドアを介したこのレジスタへのアクセスは、割り込みを発 生させない。 GP1IRQ ジェネラルパーパスレジスタ1割り込み。論理1は、ICMPT 1[1:0]とUGPA1Iによって指定されるアドレスを介し た汎用レジスタ2への読み出しまたは書き込みのいずれかによっ て生まれる割り込みをイネーブルにする。割り込みは、サウンド ブラスタ/AdLib割り込みと論理ORされる。UHRDP、 バックドアを介したこのレジスタへのアクセスは、割り込みを発 生させない。 RS[2:0]レジスタセレクタ。このフィールドは、隠しレジスタデータポー ト(UHRDP)への書き込みを通してアクセスされるレジス タを選択する。 0=DMA及び割り込み制御レジスタ(UDCIとUICI) 1=汎用レジスタ1バックドア(UGP1I) 2=汎用レジスタ2バックドア(UGP2I) 3=汎用レジスタ1アドレス[7:0](UGPA1I) 4=汎用レジスタ2アドレス[7:0](UGPA1I) 5=IRQのクリア(UCLR2I) 6=ジャンパレジスタ(UJMPI) l. 状態読み出しレジスタ(USRR)。 アドレス: P2XR+0Fh read デフォルト: 01h このレジスタは、様々な割り込みの状態を提供する。たとえ複数のビットが同 時にアクティブであっても、UCLRI1への書き込みによってすべてクリアさ れる。注:IVERI[RRMD]がアクティブなときは、このレジスタのデー タにアクセスすることはできない。 IQ2XE 2xE割り込み。論理1は、U2XERの読み出しが割り込みを 発生させたことを示す。 IQGP2R ジェネラルパーパスレジスタ2読み出し割り込み。論理1は、U CMPTI[3:2]とUGPA2Iによって指定されたアドレ スを介した汎用レジスタの読み出しが割り込みを発生させたこと を示す。 IQRG2W ジェネラルパーパスレジスタ2書き込み割り込み。論理1は、U CMPTI[3:2]とUGPA21によって指定されたアドレ スを介した汎用レジスタの読み出しが割り込みを発生させたこと を示す。 IQRG1R ジェネラルパーパスレジスタ1読み出し割り込み。論理1は、U CMPTI[3:2]とUGPA1Iによって指定されたアドレ スを介した汎用レジスタの読み出しが割り込みを発生させたこと を示す。 IQGP1W ジェネラルパーパスレジスタ1書き込み割り込み。論理1は、U CMPTI[1:0]とUGPA1Iによって指定されたアドレ スを介した汎用レジスタの読み出しが割り込みを発生させたこと を示す。 PURES 常にローとして読む。書き込み不可。 IQDMA IRQ/DMAイネーブルビット、UMCR[3]のステータス を含む。 ENJMP 常にハイとして読む。書き込み不可 2. URCR[2:0],UHRDPインデックスドレジスタ。 a. DMAチャネル制御レジスタ(UDCI)。 アドレス: P2XR+0Bh read, write; indexes UMCr[6]=0及びURCR[2:0=0 PUD1SIへ の書き込みは、DMA1[2:0]フィールドを変更し、PUD 2SIへの書き込みはDMA2[2:0]フィールドを変更する 。このレジを通しビット[5:0]を変える機能は、ICMPT I[4]を使ってディスエーブルにできる。注:このレジスタへ のアクセスを制限する方法については、IVERI[HRLEN #] を参照。 デフォルト: 00h EXINT エクストラ割り込み。両方の割り込みソースがUIC[6] を介して結合している場合、このビットをハイに設定して 、チャネル2割り込み選択ビットDMA1[2:0]によ って選択されるIRQラインを駆動する。 CMBN コンバインDMAチャネル。論理1は、チャネル選択DM A1[2:0]を使って、両方のDMAチャネルを結合す る。 DMA2[2:0] DMA選択チャネル2(codec再生)。 DMA1[2:0] DMA選択チャネル1(システムメモリからローカルメモ リへcodec録音)。 b. 割り込み制御レジスタ(UICI)。 アドレス: P2XR+0Bh read, write; indexes UMCR[6:]=1及びURCR[2:0]=2 PUDIS Iへの書き込みは、DMA1[2:0]フィールドを変更し、P UD2SIへの書き込みはDMA2[2:0]フィールドを変更 する。このレジスタを通しビット[5:0]を変える機能は、I CMPTI[4]を使ってディスエーブルにできる。 デフォルト: 07h 注:このレジスタへのアクセスを制限する方法については、IVERI[HR LEN#]を参照。 ALSB AdLib/サウンドブラスタ対NMI。論理1は、IO CHK#(NMI)がサウンドブラスタとAdLib“i aalsb”で、チャネル1選択ビット(UICI[2: 0])によって選択されるIRQのディセーブルiaal sbから選択されるようにする。 CMBN コンバイン割り込みチャネル。論理1は、IRQ[2:0] によって選択されたIRQへの両方の割り込みソースを結 合する。 IRQ2[2:0] チャネル2(MIDI)IRQ選択: 0=割り込み無し 4=IRQ7 1=IRQ2 5=IRQ11 2=IRQ5 6=IRQ12 3=IRQ3 7=IRQ15 IRQ1[2:1] チャネル1(codec,シンセサイザ,サウンドブラス タ,AdLib)IRQ選択: 0=IOCHK# 4=IRQ7 1=IRQ2 5=IRQ11 2=IRQ5 6=IRQ12 3=IRQ3 7=IRQ15 c. ジェネラルパーパスレジスタ1(UGPI1)。 アドレス: P2XR+0Bh read/write; index URCR[2:0]=1 デフォルト: 00h ジェネラルパーパス(汎用)レジスタ1は、AdLib、サウンドブラスタ、 MPU−401互換のために使われる、2つの8ビットレジスタUGP1I I NとUGP1I OUTから構成されている。回路Cのいかなる信号も制御しな い。このアドレス(UHRDP)とUCMPT1[1:0]およびUGPA1I (エミュレーションアドレス)によって指定されるアドレスの組みによってアク セスされる。UGP1I INは、エミュレーションアドレスを介して書き込ま れ、UHRDPを介して読み出される。UGP1I OUTは、エミュレーショ ンアドレスを介して読み出され、UHRDPを介して書き込まれる。エミュレー ションアドレスを使ったこれらのアドレスへのアクセスは(イネーブルな場合) 割り込みを発生させる。注:このレジスタへのアクセスを制限する方法について は、IVERI[HRLEN#]を参照。 d. ジェネラルパーパスレジスタ2(UGP2I)。 アドレス: P2XR+0Bh read/write; index URCR[2:0]=2 デフォルト: 00h 汎用レジスタ2は、AdLib、Sound Blaster、MPU−40 1互換のために使われる、2つの8ビットレジスタUGP2I INとUGP2 I OUTから構成されている。回路Cのいかなる信号も制御しない。このアド レス(UHRDP)とUCMPT1[3:2]およびUGPA2I(エミュレー ションアドレス)によって指定されるアドレスの組みによってアクセスされる。 UGP2I INは、エミュレーションアドレスを介して書き込まれ、UHRD Pを介して読み出される。UGP2I OUTは、エミュレーションアドレスを 介して読み出され、UHRDPを介して書き込まれる。エミュレーションアドレ スを使ったこれらのアドレスへのアクセスは(イネーブルな場合)割り込みを発 生させる。注:このレジスタへのアクセスを制限する方法については、IVER I[HRLEN#]を参照。 e. ジェネラルパーパスレジスタ1アドレス(UGPA1I)。 アドレス: P2XR+0Bh write; index URCR[2:0]=2 デフォルト: 00h このレジスタは、汎用レジスタ1のアクセスに使われるアドレスを制御する。 書き込まれる8ビットは、UGP1Iのエミュレーションアドレスのビット[7 :0]になる。エミュレーションアドレス[9:8]は、ICMPT1[1:0 ]によって指定される。注:このレジスタへのアクセスを制限する方法について は、IVERI[HRLEN#]を参照。 f. ジェネラルパーパスレジスタ2アドレス(UGPA21)。 アドレス: P2XR+0Bh read write; index URCR[2:0]=4 デフォルト: 00h このレジスタは、汎用レジスタ2のアクセスに使われるアドレスを制御する。 書き込まれる8ビットは、UGP2Iのエミュレーションアドレスのビット[7 :0]になる。エミュレーションアドレス[9:8]は、ICMPT1[3:2 ]によって指定される。注:このレジスタへのアクセスを制限する方法について は、IVERI[HRLEN#]を参照。 g. クリア割り込みレジスタ(UCLRII)。 アドレス: P2XR+0Bh write; index URCR[2:0]=5 このレジスタへの書き込みにより、USRRで説明したすべての割り込みがク リアされる。注:このレジスタへのアクセスを制限する方法については、IVE RI[HRLEN#]を参照。 h. ジャンパレジスタ(UJMPI)。 アドレス: P2XR+0Bh read, write; index URCR[2:0]=6 デフォルト: 06h 注:このレジスタへのアクセスを制限する方法については、IVERI[HR LEN#]を参照。 ENJOY イネーブル・ジョイスティック。論理1は、201hにあるゲー ムポートアドレスデコードをイネーブルにする。 ENMID イネーブルMIDI。論理1は、P3XR+0とP3XR+1に あるMIDIアドレスデコードをイネーブルにする。 3. P3XRダイレクトレジスタ。 a. ジェネラルインデックスレジスタ(IGIDXR)。 アドレス: P3XR+3 read, write デフォルト: 00h このレジスタは、回路C内の様々なレジスタへのインデックスアドレスを指定 する。このインデックスと結び付けられているデータポートは、ISDPとI1 6DPである。オートインクリメントモード(SVSR[7])の場合、このレ ジスタの値は、I8DPまたはI16DPへのI/O書き込み(I16DPのロ ーバイトへの8ビット書き込みは除く)毎に1だけインクリメントされる。 b. ジェネラル8/16ビットデータポート(I8DP,I16DP) アドレス: 18DPのためにはP3XR+5, I16DPのためにはP3 XR+4−5h, read, write これは、回路C内の様々なレジスタにアクセスするためのデータポートである 。P3XR+5への8ビットI/Oアクセスは、8ビットデータの転送に使われ る。P3XR+4への16ビットI/Oアクセスは、16ビットデータの転送に 使われる。また、P3XR+5への8ビットアクセスを伴うP3XR+4への8 ビットI/Oアクセスを使って、16ビットデータを転送するこもできる。オー トインクリメントモードの場合(SVSR[7])、IGIDXRの値は、I8 DPまたはI16DPへのI/O書き込み(I16DP,P3XR+4のローバ イトへの8ビット書き込みは除く)毎に1だけインクリメントされる。 4. IGIXR,18DP−116DP,インデックスレジスタ。 a. AdLib,サウンドブラスタ制御(UASBCI)。 アドレス: P3XR+5 read, write; index IGIDXR = 45h デフォルト: 00h このレジスタは、AdLibおよびサウンドブラスタ互換ハードウェアの制御 に使われる。 SBIEN サウンドブラスタ割り込みイネーブル。U2X6RまたはUI2 XCRへの書き込みのための割り込みをイネーブルにする。論理 1に設定されている場合、割り込みがイネーブルになる。論理0 に設定されていると、割り込みはディスエーブルになり、非同期 的にクリアされる。 ETTST イネーブルタイマテスト。論理1は、AdLibタイマ1と2を 動作させる高速クロックをイネーブルにする。論理0は、これら のタイマを動作させる通常のクロックをイネーブルにする。高速 クロックは、16.9344MHzを17で割った0.9961 4MHzである。 EIRQT2 イネーブル・タイマ2用割り込み。論理1は、AdLibタイマ 2と結び付いている割り込みをイネーブルにする。論理0は、割 り込みをディスエーブルにし、非同期的にクリアする。 EIRQT1 イネーブル・タイマ1用割り込み。論理1は、AdLibタイマ 1と結び付いている割り込みをイネーブルにする。論理0は、割 り込みをディスエーブルにし、非同期的にクリアする。 EDIRQ イネーブル・データ割り込み。論理1は、AdLibデータレジ スタ(UADR)への書き込みから発生する割り込みをイネーブ ルにする。論理0は、この割り込みをディスエーブルし、非同期 的にクリアする。 ATOFF ディセーブル・オートタイマモード。このロービットは、回路C をオートタイマモードにする。このハイビットは、オートタイマ モードをディスエーブルする。オートタイマモードについては、 システム制御モジュールのオートタイマモードとUASRR,U ASWR,UADRのレジスタ説明を参照。 b. AdLibタイマ1(UAT1I)。 アドレス: P3XR+5 read, write; index IGIDXR = 46h デフォルト: 00h タイマ1ロード値。これは、以下の場合に、AdLibタイマ1にロードされ る値である。(1)UADR[STRT1]がハイであり、このタイマが0FF hを越えてインクリメントされる。または、(2)UADR[STRT1]がロー であり、このタイマの80マイクロセカンドクロックのライジングクロックエッ ジが存在する(16.9344MHzを1344で割ったもの)。このレジスタ の読み取りにより、タイマの実際の状態ではなく、プリロード値が得られる。 c. AdLibタイマ2(UAT21)。 アドレス: P3XR+5 read, write; index IGIDXR = 47h デフォルト: 00h タイマ2ロード値。これは、以下の場合に、AdLibタイマ2にロードされ る値である。(1)UADR[STRT2]がハイであり、このタイマが0FF hを越えてインクリメントされる。または、(2)UADR[STRT2]がロー であり、このタイマの320マイクロセカンドクロックのライジングクロックエ ッジが存在する(タイマ1のクロックを4で割ったもの)。このレジスタの読み 取りにより、タイマの実際の状態ではなく、プリロード値が得られる。 d. GF−1リセットレジスタ(URST1)。 アドレス: P3XR+5 read, write; index IGIDXXR = 4Ch デフォルト: XXXX X000 DMIE シンセサイザ割り込みイネーブル。このハイビットは、シンセサ イザのループとボリューム割り込み(UISR[6:5])をイ ネーブルにする。このビットで割り込みをディスエーブルしても 、割り込みはクリアされない。 DACEN D/A変換イネーブル。このハイビットは、シンセサイザDAC をイネーブルにする。このロービットは、シンセサイザDACの 出力を抑える。 RGF1 リセットGF−1。このロービットは、複数のMIDI、シンセ サイザ、GUS互換レジスタをリセットする。以下のものは、こ のビットによってリセットされる。U2X6Rへの書き込みと結 び付いている割り込み、UI2XCRへの書き込みと結び付いて いる割り込み、(IOCHRDYを含め)ローカルメモリへのD MAまたはI/O読み書き、LDMACI,LMCI[1:0] ,LMFSI,LDICI,SGMI[ENH],TC割り込み フリップフロップ(IDMATC)、URST1[2:1],U ASBCI,UADR[AIRST,MT1,MT2,STRT 2,STRT1]への書き込みと結び付いている割り込み、UA SRR[T1M,T2M,2XCIRQ,2X6IRQ,T1N M,T2NM,DIRQ]を駆動するフリップフロップ、MID I UARTと関連のロジックのすべてのメモリ要素。また、こ のビットがローのとき、シンセサイザIRQはすべてクリアされ 、シンセサイザの状態マシーンは動作が停止する。凍結したまま 、サウンドは作成されない。このビットは、ソフトウェアによっ てフルに制御される。注:このビットは、シンセサイザレジスタ アレイが適切に初期化されるように、ハードウェア、ソフトウェ アリセットが完了してから少なくと22ミリセカンドはローのま までなければならない。 e. コンパチビリティレジスタ(ICMPT1)。 アドレス: P3XR+5 read, write; index IGIDXR=59h デフォルト: 0001 1111 STM[2:0] シリアル転送モード。これは、codecモジュールのシリ アル転送モードを指定する。このブロックは、codecモ ジュールで完全に指定される。STM[2]がハイのとき、 4本の外部機能(CD−ROM)ピンは切り替えられ、外部 シリアルポートピンになる。可能なモードは、以下のとおり である。即ち、 OPEN 互換性イネーブル。ハイのとき、これは、UDCI[5 :0]とUICI[5:0]への書き込みが許されてい ることを示す。ローのときは、許されない。このビット は、CPENの状態の如何に拘わらず、PUD1SI, PUD2SI,PUI1SI,PUI2SIへの書き込 みによって変えることができる。 GPR2A[9:8] ジェネラルパーパスレジスタ2アドレス[9:8]。こ れは、リロケータブルレジスタUGPA21のISAア レスビット[9:8]を指定する。 GPR1A[9:8] ジェネラルパーパスレジスタ1アドレス[9:8]。こ れは、リロケータブルレジスタUGPA1IのISAア ドレスビット[9:8]を指定する。 f. デコード制御レジスタ(IDECI)。 アドレス: P3XR+5 read, write; index IGIDXR = 5AH デフォルト: 7Fh このレジスタは、様々なアドレススペースのデコードをイネーブル/ディスエ ーブルする。 IAC22 チャネル2に対するcodecに関する割り込み。ハイのとき、c odecと結び付けられている割り込みは、チャネル1 IRQピ ンではなく、チャネル2 IRQピンに発生する。ローの場合、こ の割り込みはチャネル1に発生する。 EICH1 イネーブル・チャネル1上割り込み。ハイの場合、チャネル1割り 込みがイネーブルになる。ローの場合、選択したチャネル1 IR Q出力がハイインピーダンスになる。 EICH2 イネーブル・チャネル2上割り込み。ハイの場合、チャネル2割り 込みがイネーブルになる。ローの場合、選択したチャネル2 IR Q出力がハイインピーダンスになる。 EINMI イネーブルNMI割り込み。ハイの場合、IOCHK#割り込みが イネーブルになる。ローの場合、IOCHK#がハイインピーダン スになる。 ECOD Codecのデコードイネーブル。ハイの場合、PCODARの4 バイトであるcodecアドレススペースへのI/O読み書きがイ ネーブルになる。ローの場合、これらのアドレスのデコードはディ スエーブルになる。 E3889 388h及び389hのデコードイネーブル。ハイの場合、AdL ibコマンド−状態とデータレジスタ−388、389の固定アド レス−がイネーブルになる。ローの場合、これらのアドレスのデコ ードはディスエーブルになる。 EEDC 2xE,2xD,2xCのデコードイネーブル。ハイの場合、P2 XR+Eh,P2XR+Dh,P2XR+Chへの読み書きがイネ ーブルになる。ローの場合、これらのアドレスのデコードはディス エーブルになる。 EA98 2xA,2x9,2x8のデコードイネーブル。ハイの場合、P2 XR+Ah,P2XR+9h,P2XR+8hへの読み書きがイネ ーブルになる。ローの場合、これらのアドレスのデコードはディス エーブルになる。 g. バージョン番号レジスタ(IVERI)。 アドレス: P3XR+5 read, write; index IGIDXR = 5Bh デフォルト: 0000 0100 VER バージョン番号。これは、ダイのバージョン番号を含む。たとえ ば、0h=rev A Silicon。このフィールドは読取 専用。 RRMD レジスタ読み出しモード。ハイの場合、このビットは、回路Cの 通常読み取り不可であるレジスタの3回の読み取りにより、この レジスタに書き込まれたデータが返ることを指定する。UADR (P2XR+9,389h)の読み取りにより、UASBCI[0] またはUACWRの状態の如何に拘わらず、ビット[AIRST ,MT1,MT2,0,0,0,STRT2,STRT1]が返 される。URCR(P2XR+Fh)の読み取りにより、USR Rではなくそのアドレスに最後に書き込まれたデータが返される 。GMCR(P3XR+0)の読み取りにより、GMSRではな くそのアドレスに最後に書き込まれたデータが返される。 PUPWR プルアップパワー。このロービットは、信号IOCS16#,I RQ[15.12,11,7,5],SA[11:6],SBH E#,DRQ[7:5,3],DAK[7:5,3]#,SD[ 15:8]の内部プルアップ抵抗への電源をディスエーブルにし 、これらの信号がサスペンドモード時にISAバスに電圧を駆動 しないように、一般的には電流負荷を追加しないようにする。こ のハイビットは、これらの信号のすべてのプルアップ抵抗をイネ ーブルにする。通常、このビットは、120ピンパーツではハイ のままであり、160ピンパーツではローに設定される。 M401 MPU−410エミュレーションモード。このハイビットは、以 下のものをイネーブルにする。(1)MIDI送受信レジスタ(G MTDR,GMRDR)はP3XR+1からP3XR+0に移動 され、MIDIコントロールステータスレジスタ(GMCR,G MSR)はP3XR+0からP3XR+1に移動される。 HRLEN# 隠しレジスタロックイネーブル。ハイ(非活性状態)の場合、U HRDPにあるレジスタへのアクセスは、常にイネーブルである 。ロー(活性状態)の場合、UHRDPにあるレジスタへのアク セスは、プロトコルに準拠しなければならない。プロトコルは、 UHRDPにある隠れレジスタへの次のI/Oアクセスをイネー ブルにするUMCRへの書き込みによって初期化される。(AE Nがローのときの)P2XR+0(UMCR)またはP2XR+ 0Bh(UHRDP)を除くアドレスへのI/O読み取りまたは 書き込みは、隠れレジスタへの以後のI/Oアクセスをロックア ウトする。 b. MPU−401エミュレーション制御A(IEMUAI)。 アドレス: P3XR+5 read, write, index IGIDXR=5Ch デフォルト: 00h 先のビット定義で説明したエミュレーションアドレスは、UGPA1I,UG PA21,ICMPT9I[3:1]によって指定されるアドレスである。 URRE# UART受信バッファ読み出しイネーブル。ローの場合、UART の受信データバッフアGMRDRの読み取りが許される。ハイの場 合、そのバッファからの読み取りは内部的に無視される(しかし、 ISAデータバスは、駆動されている)。 USRE# UART状態読み出しイネーブル。ローの場合、UARTのステー タスレジスタGMSRの読み取りが許される。ハイの場合、そのバ ッファからの読み取りは内部的に無視される(しかし、ISAデー タ バスは、駆動されている)。 E2RE# エミュレーションレジスタ2リードイネーブル。ローの場合、エミ ュレーションアドレスを使ったエミュレーションレジスタ2 UG P2Iの読み取りが許される。ハイの場合、エミュレーションアド レスを使ったUGP2Iの読み取りは内部的に無視される(しかし 、ISAデータバスは、駆動されている)。 E1RE# エミュレーションレジスタ1リードイネーブル。ローの場合、エミ ュレーションアドレスを使ったエミュレーションレジスタ1 UG P1Iの読み取りが許される。ハイの場合、エミュレーションアド レスを使ったUGP1Iの読み取りは内部的に無視される(しかし 、ISAデータバスは、駆動されている)。 UTWE# UART転送バッファ書き込みイネーブル。ローの場合、MIDI UARTのトランスミットバッファGMTDRの読み取りが許され る。ハイの場合、そのバッファへの書き込みはUARTによって無 視される。 UCWE# UARTコマンドバッファ書き込みイネーブル。ローの場合、MI DI UARTのコマンドレジスタGMCRへの書き込みが許され る。ハイの場合、そのレジスタへの書き込みはUARTによって無 視される。 E2WE# エミュレーションレジスタ2書き込みイネーブル。ローの場合、エ ミュレーションアドレスを使ったエミュレーションレジスタ2 U GP2Iへの書き込みは許される。ハイの場合、UGP2Iは、エ ミュレーションアドレスへの書き込み時に変わらない。 E1WE# エミュレーションレジスタ1書き込みイネーブル。ローの場合、 エミュレーションアドレスを使ったエミュレーションレジスタ1 UGP1Iへの書き込みは許される。ハイの場合、UGP1Iは、 エミュレーションアドレスへの書き込み時に変わらない。 i. MPU−401エミュレーション制御B(IEMUBI)。 アドレス: P3XR+5 read, write; index IGIDXR = 5Dh デフォルト: 30h MRXE# MIDI受信データイネーブル。ローの場合、MIDIRXピン kらのMIDI受信データが許され、UARTに渡る。ハイの場 合、データは、UARTに入ってくることができない。 MTXE# MIDI転送データイネーブル。ローの場合、UARTからのM IDI転送(トランスミット)データが許され、MIDITXピ ンに渡る。ハイの場合、データはピンから出ていくことができな い。 SLSE7 I/Oリード用の選択状態エミュレーションレジスタ1,ビット [7]。このハイビットにより、回路Cは、エミュレーションア ドレス([ICMPTI[1:0]とUGPA1I[7:0]) を介したIGP1IOUTの読み取り時にデータバスへのUGP 1IOUT[7]をイネーブルにする。このロービットにより、 回路Cは、読み取り時にデータバスのBIT[79]にDSR# をイネーブルにする。DSR#は、UGP2IOUTの読み取り がイネーブルである場合(IEMUAI[5])、エミュレーシ ョンアドレス([ICMPTI[3:2],UGPA21)を介 したUGP2IOUTの読み取りが存在しているとき、DSR# はハードウェアによって不活性状態(ハイ)に設定される。この フラグは、バックドア(UHRDP)を介したUGP1IOUT[ 7]への書き込みによっても制御される。 SLSE6 I/Oリード用の選択状態エミュレーションレジスタ1,ビット [6]。このハイビットにより、回路Cは、エミュレーションア ドレス(ICMPTI[1:0],UGPA1I[7:0])を 介したUGP1IOUTの読み取り時にデータバスへのUGP1 IOUT[6]をイネーブルにする。このロービットにより、回 路Cは、読み取り時にデータバスのBIT[6]にDRR#をイ ネーブルにする。DRR#は、そのレジスタへの書き込みがイネ ーブルである場合(IEMUAI[1:0])、エミュレーショ ンアドレス([ICMPTI[3:0],UGPA1I,UGP A2I)を介したUGP1IINまたはUGP2IINへの書き 込みが存在しているとき、DRR#はハードウェアによって不活 性状態(ハイ)に設定される。このフラグは、バックドア(UH RDP)を介したUGP1IOUT[6]への書き込みによって も制御される。 E2WIE# エミュレーションレジスタ2書き込み割り込みイネーブル。ロー の場合、UGP2IのためにICMPT1[3:2]とUGPA 1I[7:0]によって選択されたアドレスへの書き込みにより 割り込みが発生する。ハイの場合、UGP2Iへの書き込みによ り割り込みが発生することはない。 E1WIE# エミュレーションレジスタ1書き込み割り込みイネーブル。ロー の場合、UGP1IのためにICMPT1[1:0]とUGPA 1I[7:0]によって選択されたアドレスへの書き込みにより 割り込みが発生する。ハイの場合、UGP1Iへの書き込みによ り割り込みが発生することはない。 E2RIE# エミュレーションレジスタ2読み出し割り込みイネーブル。ロー の場合、UGP2IのためにICMPT[3:2]とUGPA1 I[7:0]によって選択されたアドレスの読み取りにより割り 込みが発生する。ハイの場合、UGP2Iの読み取りにより割り 込みが発生することはない。 E1RIE# エミュレーションレジスタ1読み出し割り込みイネーブル。ロー の場合、UGP1IのためにICMPT[1:0]とUGPA1 I[7:0]によって選択されたアドレスの読み取りにより割り 込みが発生する。ハイの場合、UGP1Iの読み取りにより割り 込みが発生することはない。 j. テスト制御レジスタ(ITCI)。 アドレス: P3XR+5 read, write; index IGI DXR=5Fh; 外部デコーディングモードでは、このレジス タは、直接読み取り可能である(外部デコーディングモードにつ いてはレジスタサマリーを参照)。 デフォルト: 000 0000b; BIT[7]のデフォルトについては、 以下のTEを参照。 このレジスタへのアクセスは、リセットのトレーリングエッジ時にMIDIT Xの状態によってディスエーブルにすることができる。詳細については、ピンサ マリーを参照。また、このレジスタのどのビットも、ソフトウェアリセットPC CCIによってはリセットされない。RESETピンを活性化して始めてリセッ トできる。 TE テストイネーブル。このハイビットは、デバイスがテストモ ード状態にあることを示している。ローの場合、デバイスは 、通常の動作モードにある。このビットのデフォルト状態は 、MWE#ピンの状態によりリセットのトレーリングエッジ でラッチされる。MWE#がローの場合、TEはハイである 。MWE#がハイの場合、TEはローである。このビットは 、ソフトウェアリセット(PCCCI)によってはリセット されない。 BPOSC バイパス発振器安定化回路。ハイの場合、16.9MHz発 振器が安定しているようにするために発振器クロックのカウ ントアウトを担当している発振器安定化回路が256の状態 しかカウントしない。ローの場合、発振器安定化ロジックは 、64kの状態をカウントアウトする。このビットはRES ETピンによってリセットされる。ソフトウェアリセット( PCCCI)によってはセットされない。 TMS[5:0] テストモード選択。このビットは、様々な回路テストモード を選択するために利用される。このビットはRESETピン によってリセットされる。ソフトウェアリセット(PCCC I)によってはセットされない。 5. PNPダイレクトレジスタ。 a. カード選択番号バックドア(PCSNBR)。 アドレス: 0201h write デフォルト: 00h 回路Cが(リセットの最後にPNPCSの状態によってラッチされる)PNP システムモードになっている場合、AUDIO論理デバイスは活性化されておら ず(PUACTI[0]=0)、PNP状態マシーンがアイソレーションモード である場合、このI/Oポートを介して回路Cにカード選択番号(CSN)を書 き込むことができる。 b. PNPインデックスアドレスレジスタ(PIDXR)。 アドレス: 0279h write デフォルト: 00h これは、標準のPlug−n−Playレジスタを指している8ビットインデ ックスレジスタである。 c. PNPデータ書き込みポート(PNPWRP)。 アドレス: 0A79h write これは、PIDXRによってインデクシングされる、Plug−n−Play ISAレジスタへの書き込みに使われる。 d. PNPデータ読み出しポート(PNPRDP)。 アドレス: アドレスは、003hと3FFhの間でリロケータブルな読取専 用である。アドレスは、(1)PIDXRレジスタに00hを書 き込むことによって、また(2)PNPWRTに2を通しビット 9を表すバイトを書き込むことによって設定される。ビット0と ビット1の両方が、ハイ(1 1)であると想定されている。 これは、PIDXRによってインデクシングされる、Plug−n−Play レジスタからの読み取りに使われる。 6. PIDXR,PNPWRP−PNPRDP PNPインデックスドレ ジスタ。 このPNPレジスタは、PIDXRによってインデクシングし、PNPRDP とPNWRPを使ってアクセスされる。PIDXR=30h以降の多数のレジス タは、さらに論理デバイス番号レジスタ(PLDNI)によってインデクシング される。これらのすべてのレジスタはPNP状態マシーンが構成状態の場合にだ けアクセスできる。 a. PNPセット読み出しデータポートアドレスレジスタ(PSRPA I)。 アドレス: 0A79H write; index PIDXR=0 デフォルト: 00h このレジスタへの書き込みにより、PNP読み出しデータポート(PNPRD P)のアドレスのSA[9:2]を設定する。SA[1:0]はハイであると想 定されている。このレジスタへの書き込みは、PNP状態マシーンがアイソレー ションモードである場合にだけ許される。 b. PNPアイソレートコマンドレジスタ(PISOCI)。 アドレス: PNPRDP read; index PIDXR=1 このレジスタの読み取りにより、回路Cは、PNPシリアルEEPROM78 から読み取ったデータを基にして、ISAバス156に特定の値を駆動し、差が あるかどうか知るためにデータを回路Cに戻す。これにより、「ルーズアイソレ ーション」状態に入り、PNP状態マシーンはスリープモードになる。回路Cが PNPシステムモード(パワーアップPNPモード選択のセクションを参照)の 場合、シリアルEEPROM78は存在しておらず、このレジスタからの読み取 りのためにデータがバスに駆動されていないと想定されている。PNPシステム モードの場合、PISOCIの読み取りにより、回路Cは、アイソレーションを 「失い」、スリープモードに入る。このレジスタからの読み取りは、PNP状態 マシーンがアイソレーション状態になっている場合にのみ許される。 c. PNP構成制御コマンドレジスタ(PCCCI)。 アドレス: 0A79h write; index PIDXR=2 RCSN Reset CSN PNP状態マシーンがスリープ、アイソレー ト、あるいは構成モードである場合、このビットのハイによりCS Nはゼロに設定される。このコマンドは、PNP状態マシーンがキ ー待ちモードである場合は無視されるが、他の3つのモードでは有 効である。 WFK Wait For key このビットのハイにより、PNP状態 マシーンはキー待ちモードに入る。このコマンドは、PNP状態マ シーンがキー待ちモードである場合は無視されるが、他の3つの モードでは有効である。 RESET このピンをハイにすると、回路Cはリセットされる。これにより、 汎用のリセットライン上で回路C全体に3〜10ミリセカンドのパ ルスが発生する。このコマンドによってデバイスは、PSRPAI (PNP Set Read Data Port), PCSN I(PNP Card Select Number), PNP 状態マシーンだけである。このコマンドは、PNP状態マシーンが キー待ちモードである場合は無視されるが、他の3つのモードでは 有効である。 d. PNP WAKE[CSN] Command Register (PWAKEI)。 アドレス: 0A79h write; index PIDXR=3 このレジスタへの書き込みは、CSNレジスタの状態と書き込まれるデータを 基にして、PNP状態マシーンに作用する。データが00hでありCSNが00 hである場合、PNP状態マシーンは、アイソレーションモードに入る。データ が00hではなく、CSNがデータにマッチしている場合、PNP状態マシーン は構成状態に入る。データがCSNにマッチしていない場合、PNP状態マシー ンはスリープモードに入る。また、このコマンドは、そのパーツへのアドレスを 含んでいるシリアルEEPROM78コントロールロジックをリセットする。こ のコマンドは、PNP状態マシーンがキー待ちモードである場合は無視されるが 、他の3つのモードでは有効である。 e. PNP Resource Data Re ister(PRE SDI)。 アドレス: PNPRDP read; index PIDXR=4 デフォルト: 00h このレジスタは、PNPシリアルEEPROM78から読み取られたローカル メモリコントロールモジュール8(LMC)のデータを提供する。注:シリアル EEPROM 78がダイレクトコントロールモード(PSEENI[0])に なっている場合、PRESDIを使ってアクセスする前に、wakeコマンドを 実行しなければならない。このコマンドは、PNP状態マシーンが構成状態にあ る場合にだけ有効である。 f. PNP Resource Status Register(P RESSI)。 アドレス: PNPRDP read; index PIDXR=5 デフォルト: 00h このレジスタのビット1がハイになっていると、PNPリソースデータの次の ビットを読み込むことができる。その他すべてのビットは予約されている。PR ESDIが読み取られると、このビットは次のバイトが利用可能になるまでクリ アされる。このコマンドは、PNP状態マシンが構成状態の場合にだけ有効であ る。 g. PNP Card Select Number Registe r(PCSNI)。 アドレス: 0A79h write; PNPRDP read; index PIDXR=6 デフォルト: 00h PNP状態マシーンがアイソレーション状態であるときにこのレジスタに書き 込むと、回路CのCSNが設定され、PNP状態マシーンを構成モードに変える 。 PNP状態マシーンが構成モードであるとき、このレジスタは読み出し専用であ る。 h. PNP Logical Device Number Regi ster(PLDNI)。 アドレス: 0A79h write, PNPRDP read; index PIDXR=7 デフォルト: 00h このレジスタは、論理デバイスへのPNPアドレススペースをインデクシング する。回路Cは、以下の2つの論理デバイス番号(LDN)を持っている。00 h=すべてのAUDIO機能、シンセサイザ、codec、ポート;01h=外 部(CD−ROM)インタフェース。このレジスタは、PNP状態マシーンが構 成状態であるときだけアクセスできる。 i. PNP Audio Activate Register(PU ACTI) 。 アドレス: 0A79h write, PNPRDP read; indexes PIDXR=30h及びPLDNI=0 デフォルト: 00h このレジスタのビット0がハイであると、すべてのAUDIO機能が活性化さ れる。その他すべてのビットは予約されている。ローの場合、AUDIO機能ア ドレススペースはデコードされず、割り込みやDMAチャネルもイネーブルにな らない。 j. PNP Audio I/O Range Check Regi ster(PURCI)。 アドレス: 0A79h write, PNPRDP read; indexes PIDXR=31h及びPLDNI=0 デフォルト: 00h RCEN Range Clock Enable このビットがハイである と、すべてのAUDIO論理デバイスアドレススペースの読み取り により、H5LAの状態を基にして55またはAAのいずれかが駆 動される。これは、PUACTI[0]が設定されていない場合(オ ーディオデバイスが活性化されていない場合)だけ機能する。 H5LA High 55−Low AA RCENがアクティブである場合 、このビットは読み取り時にISAデータバスに戻されるデータ値 を選択する。ハイは55hが駆動されることを、ローはAAhが駆 動されることを指定する。注:このレジスタは、外部デコーディン グモードでは利用できない。 k. PNP Address Control Registers。 以下の表は、回路C内でI/Oスペースのブロックのアドレスを制御するすべ てのPNPレジスタを示している。 注:P2XRを等しく制御するインデックスが3つある。これは、P2XRブ ロックの非連続アドレスをサポートしている。最初のインデックスP2X0[H ,L]IだけがP2XRに使われる。 先のPNPアドレス制御レジスタにおいて未使用のビットは、すべて予約済み である。先のPNPアドレス制御レジスタはすべて0A79hを使って書き込ま れ、PNPRDPを使って読み取られる。P2XR, P3XR, PCODA R,PCDRARの未指定のLSBはすべてゼロであると想定されている。様々 なアドレスブロックによって制御される機能については、General De scriptionのセクションを参照。 l. PNP Audio IRQ Channel 1 Select Register(PUI1SI)。 アドレス: 0A79h write, PNPRDP read; indexes PIDXR=70h及びPLDNI=0 デフォルト: 00h ビット[3:0]は、以下のように、チャネル1割り込みのIRQ番号を選択 する。 ビット[7:4]は予約済みである。このレジスタに適切に書き込むことによ り、UICI[2:0]が変わる。 m. PNP Audio IRQ Channel 1 Type R egister(PUI1TI)。 アドレス: PNPRDP read; indexes PIDXR=71h及びPLDNI=0 デフォルト: 02h このレジスタは、回路Cによってサポートされている割り込みのタイプに関す る、データを標準のPNPソフトウェアに戻す。常に、エッジトリガー、アクテ ィブハイ割り込みを示す02hとして読み戻される。 n. PNP Audio IRQ Channel 2 Select Register(P(UI2SI)。 アドレス: 0A79h write; PNPRDP read; indexes PIDXR=72h及びPLDNI=0 デフォルト: 00h ビット[3:0]は、以下のようにチャネル2割り込みのIRQ番号を選択す る。 ビット[7:4]は予約済みである。このレジスタに適切に書き込むことによ り、UICI[5:3]が変わる。 o. PNP Audio IRQ Channel 2 Type R egister(PUI2TI)。 アドレス: PNPRDP read; indexes PIDXR=73h及びPLDNI=0 デフォルト: 02h このレジスタは、回路Cによってサポートされている割り込みのタイプに関す る、データを標準のPNPソフトウェアに戻す。常に、エッジトリガー、アクテ ィブハイ割り込みを示す02hとして読み戻される。 p. PNP Audio DMA Channel Select R egisters(PUDISI, PUD2SI)。 アドレス: 0A79h write; PNPRDP read; indexes PIDXR=74h(PUDISI), PIDXR=75h(PUD2SI),及びPLDNI=0 デフォルト: 04h これらのレジスタのビット[2:0]は、以下のように、チャネル1とチャネ ル2のDMA要求番号を選択する。 ビット[7:3]は予約済みである。このレジスタに適切に書き込むことによ り、UICI[5:0]が変わる。 q. PNP Serial EEPROM Enable(PSEEN I)。 アドレス: 0A79h write; PNPRDP read; index PIDXR=F0h及びPLDNI=0 デフォルト: 00h このレジスタは、PNP状態マシーンが構成状態のときだけアクセス可能であ る。 ISADR ISA−Data−Bus Drive。これは、ISAデータ バスの出力ロードライブ機能Iol、SD[15:0]、IOC HRDY、IOCS16#、IOCHK#を指定する。5Vでは 、00=24mA,01=12mA,10=3mA,11=re servedである。3.3V時は、ドライブは、ISADR= 00,01,10で少なくとも3mAである。 SEM Serial EEPROM Mode。ローは、シリアルEE PROMインタフェース回路が初期化モードであることを指定す る。このモードにより、データ転送はPNP状態マシーンによっ て制御される。ハイは、シリアルEEPROM78が直接PSE CIによって制御される制御モードを指定する。 r. PNPシリアルEEPROM Control(PSECI)。 アドレス: 0A79h write; PNPRDP read; index PIDXR=F1h及びPLDNI=0 デフォルト: XXXX 000X 制御モード(PSEENI[0])では、PUACTIが不活性である場合、 ビット[3:0]を使って、シリアルEEPROM78を直接制御するのに使わ れる。ビット[7:4]は、RESETのトレーリングエッジでラッチされる様々 な制御信号の状態を示す読み取り専用ステータスビットである(詳細については 、先の概説の所のピンサマリーを参照)。このレジスタは、PNP状態マシーン が 構成状態であるときだけアクセス可能である。 SUS32 SUSPEND −C32KHZ Select。RESETの トレーリングエッジでRA[21]ピンでラッチされる内部信号 IPSUS32の状態を提供する。 XDEC External Decode Select。RESETの トレーリングエッジでRA[20]ピンでラッチされる内部信号 IPPNPSYSの状態を提供する。 VCC VCCは5ボルトである。内部5V−3V検出回路の状態を提供 する。5Vではハイ、3.3Vではローである。 SECS Serial EEPROM Chip Select。この ビットへの書き込みは、PNPCSピンに反映される。読み取り により、ラッチされた値が得られる。 SESK Serial EEPROM Serial Clock。この ビットへの書き込みは、MD[2]ピンに反映される。読み取り により、ラッチされた値が得られる。 SEDI Serial EEPROM Data IN。このビットへの 書き込みは、MD[1]ピンに反映される。読み取りにより、ラ ッチされた値が得られる。 SEDO Serial EEPROM Data Out。このビットは 無視される。読み取りにより、MD[0]ピンの状態が分かる。 s. PNP Power Mode(PPWRI)。 アドレス: 0A79h write; PNPRDP read; index PIDXR=F2h及びPLDNI=0 デフォルト: X111 1111 このレジスタは、回路Cの主なセクションのクロックをディスエーブルに、低 電力モードをイネーブルにするのに使われる。このレジスタへの書き込みは、他 とは異なる方法で行われる。データのMSBであるENABは、1または0のい ずれを書き込むのかを指定するのに使われる。ビット[6:0]の場合、ハイは 、ENABがビットに書き込まれることを示し、ローは、ビットをそのままにし ておくことを示す。したがって、ビット[6:0]のサブセットを修正する必要 があるときに、変更しないビットの状態を判断するために、ソフトウェアが先に レジスタを読み込んでおく必要がない。たとえば、ビット[0]をハイに設定す るには、81hを書き込むことが必要であり、ビット[4]をローにクリアする には、10hを書き込むことが必要である。 ビット[6:1]をロー状態にクリアする(0111 111XのI/O書き 込み、バイナリ)1つのコマンドが受け取ると、回路Cは、シャットダウンモー ドに入り、16.9MHz発振器16はディスエーブルになる。以後、ビット[ 6:1]の1つまたは複数がハイに設定されると、16.9MHz発振器16は 再度イネーブルになる。再度イネーブルになった後、16.9MHzクロックは 、安定するのに4〜8ミリセカンドを必要とする。 このレジスタは、PNP状態マシーンが構成状態のときだけアクセス可能であ る。 ENAB Enable。レジスタのビット[6:0]に書き込まれる値を指 定するのに使われる(先を参照)。7つの場合すべてにおいて、ハ イはブロックが動作中であることを指定し、ローは低電力モードに あることを示す。 PWR24 24.576 MHz Oscillator Enable。こ のビットローにより、24.576MHz発振器18は停止させら れる。CPDFI[0]またはCRDFI[0]がローであるとき に発振器をディスエーブルにすることは勧められない。しかし、C PDFI[0]とCRDFI[0]の状態の如何に拘わらず、シャ ットダウンコマンドの一部としてこのビットをローに設定しても、 問題はない。 PWRL Local Memory Control Enable。この ビットローは、ローカルメモリコントロールモジュール8への16 .9Mhzクロックをディスエーブルにし、C32KHZ入力72 を使ったローカルDRAM110への低速リフレッシュサイクルを 許す。 PWRS Synthesizer Enable。このビットローは、シン セサイザモジュール6への16.9MHzクロックをディスエーブ ルにし、codecミキサーへのシンセサイザDAC入力へのク ロックをディスエーブルにする(このアプリケーションについては 、シンセサイザとDAC入力についての説明を参照)。 PWRG Game−MIDI Ports Enables。このビット ローは、ポートモジュール10へのすべてのクロックをディスエー ブルにし、消費電流の内部、外部抵抗をディスエーブルにする。 PWRCP Codec Playback Path Enable。この ビットローは、プレイバックFIFO、フォーマット変換、フィル タリング、DACを含め、codecプレイバックパスへのクロッ クをディスエーブルする。 PWRCR Codec Record Path Enable。このビット ローは、レコードFIFO、フォーマット変換、フィルタリング、 ADCを含め、codecレコードパスへのクロックをディスエー ブルする。 PWRCA Codec Analog Circuitry Enable。 このビットローは、すべてのcodecアナログ回路をディスエー ブルにし、低電力モードにする。ローの場合、すべてのアナログピ ン−MIC[L,R], AUX1[L,R], AUX2[L, R], LINEIN[L,R], MONOIN, LINEO UT[L,R], MONOOUT, CFILT, IREF− はハイインピーダンス状態になる。 t. PNP CD−ROM Activate Register(P RACTI)。 アドレス: 0A79h write; PNPRDP read; index PIDXR=30h及びPLDNI=1 デフォルト: 00h このレジスタのビット0がハイであると、外部インタフェース(たとえば、C D−ROM)機能が活性化される。他のすべてのビットは予約済みである。ロー の場合、外部機能(CD−ROM)アドレススペースはデコードされない。外部 機能(たとえば、CD−ROM)割り込みやDMAチャネルはイネーブルになら ない。 u. PNP CD−ROM I/O Ranges Check Re gister(PRRCI)。 アドレス: 0A79h write; PNPRDP read; index PIDXR=31h及びPLDNI=1 デフォルト: 00h RCEN Range Check Enable。このビットハイにより、 すべての外部機能アドレススペースの読み出しは、H5LAの状態 を基にして55またはAAを駆動するようになる。これは、PRA CTI[0]が設定されていない(外部デバイスが活性化されてい ない)ときだけ機能する。 H5LA High 55−Low AA。RCENがアクティブなとき、こ のビットは、読み戻されるデータ値を選択する。ハイは55hが駆 動されることを、ローはAAhが駆動されることを指定する。 v. PNP CD−ROM High, Low Address R egister(PRAHI, PRALI)。 先のPNPアドレス制御レジスタを参照。 w. PNP CD−ROM IRQ Select Register (PRISI)。 アドレス: 0A79h write; PNPRDP read; indexes PIDXR=70h及びPLDNI=1 デフォルト: 00h ビット[3:9]は、外部機能(CD−ROM)割り込みのIRQ番号を以下 のように選択する。即ち、 ビット[7:4]は予約済みである。 x. PNP CD−ROM IRQ Type Reister(PR ITI)。 アドレス: PNPRDP read; indexes PIDXR=71h及びPLDNI=1 デフォルト: 02h このレジスタは、回路Cによってサポートされている割り込みタイプに関する データを標準PNPソフトウェアに戻す。常に、エッジトリガー、アクティブハ イ割り込みを示す02hとして読み戻される。 y. PNP CD−ROM DMA Select Register (PRDSI)。 アドレス: 0a79h write, PNPRDP read; indexes PIDXR=74h及びPLDNI=1 デフォルト: 04h このレジスタのビット[2:0]は、以下のように、外部機能(CD−ROM )のDMA要求番号を選択する。即ち、 ビット[7:3]は予約済みである。 IV. CODECモジュール 図44に、CODECモジュール装置505に含まれている種々の機能や特徴がブロック ダイヤグラムフォーマットで図示してある。CODEC装置505には、16サンプル、32 ビット長のON-CHIPメモリ、記録と再生FIFO、538、532、データ読み出しと書き 込み操作のためのDMAとI/Oインタラプトを生成できる指定可能なスレショルドが 含まれている。Mixing and Analog Functionsブロック510には左と右のチャンネ ルアナログ混合化機能、多重化機能、それとループバック機能が含まれている。 左と右のチャンネルステレオ、単一チャンネルモノ、それとアナログ音声信号が Mixing and Analog Functionsブロック510にまとめられている。これらのモノと ステレオ音声信号は外部使用のためにCODEC505から、Analog Output Pins522に 出力される。Mixing and Analog Functionsブロック510への入力は、外部Analog Input Pins520、Synthesizer Digital-to Analog Converterブロック512からの アナログ出力(これはCODEC505の外部かあるいはCODEC505の内側の処理ブロック かのいづれか)、それと再生Digital-to-Analog Converter514から成っている。 Mixing and Analog Functionsブロック510からのアナログ音声出力は記録Analog -to-Digital Converterブロック516に渡される。Synth Digital-to Analog Conv erterブロック512はデジタルデータをSynthesizer524から受け取る。この説明書 では、Synthesizer524は外部の装置か、あるいはCODEC装置505と同じモノリシッ クIC上に集積されたものでもよい、としている。 CODEC505のための記録パスが図44に描かれている。アナログ音声データはMixi ng and Analog Functionsブロック510から出力され、記録Analog-to-Digital Co nverter(ADC)ブロック516に渡され、16ビットの符号付きデータに変換される。 記録ADC516のために指定されたサンプル・レートは、記録ADC516のためのサンプ ル・れーろが高いほど記録されたデジタル音声信号は質的に原音声信号に最もよ く近くなるというように、音質に影響を与える。Fourth Order Cascaded Sigma- Delta Modulatorの機能と演算は、例示的に記録ADC516にインプリメントされて おり、出願番号08/071,091に記述されて、12/21/93日付で″Fourth Order Casc aded Sigma-Delta Modulator″というタイトルをつけてファイルされ、本発明の assigneeに指定されている。変換されたデジタル音声データは、それから Format Conversionブロック536に送られ、そこで16ビットのデジタル音声データ は予め指定されているデータフォーマットに変換される。フォーマットされたデ ジタルデータは、それから16ビット左チャンネルデータと16ビット右チャンネル データとして32ビット長Record FIFO538に送られる。これらはさらに外部システ ムメモリへの出力のためのRegister Bus526、あるいはOff-Chip Local Memory R ecord FIFO 530(LMRF)へ渡される。 CODEC505のための再生パスには、予め指定されたデータフォーマットのデジタ ルデータが含まれおり、そのデータはOff-Chip Local Memory Playback FIFO(LM PF)ブロック528あるいは外部メモリから、Register Data Bus526を経由して、32 ビット長の再生FIFO532に送られる。このアプリケーションでは、LMRF530とLMPF 528は離散Off-Chip FIFOであるか、あるいはFIFOとして構成されたOff-Chip Loc al Memory110の中の専用アドレス空間であるとしている。フォーマットされたデ ータは、それからFormat Conversionブロック534に入力され、そこで16ビットの 符号付きデータに変換される。変換されたデータは、それからCODEC再生DAC 514 に送られ、そこでアナログ音声信号に変換されてMixing and Analog Functions ブロック510に出力される。 Serial Transfer Controlブロック540には、直列から並列へと並列から直列へ の変換機能と、32ビット長Record FIFO538の出力と32ビット長Playback FIFO532 への入力との間のループバック機能とが備わっている。また、Synthesizer Seri al Input Data Port542(図44)は、Synthesizer 524から直列データを受け取り 、Serial Transfer Controlブロック540と通信をする。Serial Transfer Contro lブロック540は、記録FIFO538、P再生FIFO532、Local Memory Control790を経由 してOff-Chip Local Memory110(またはLMRF530とLMPF)、Synthesizer Serial In put Data Port542、そしてExternal Serial Interfaceに接続される。External Serial Interface544は外部直列ポートを持っており、それを通して双方向直列 データ通信がSerial Transfer Controlブロック540(図49)に供給される。Exte rnal Serial Interface544はUARTでもよいし、同期あるいは非同期制御されたシ リアルデータ転送を提供する他のデバイスでも良い。External Serial Interfac e544(図44)は、特別の音声効果のOff-chip生成のために外 部のデジタル信号プロセッサー(DSP)と、あるいは双方向の直列データ通信が可 能な他の装置と直列通信するために接続することができる。また、External Ser ial Interface544はExternal Synthesizer Serial Input Port542からの直列デ ータパスにも接続できる。また、双方向のデータ転送はSerial Transfer Contro l540とLocal Memory Control790との間のデータパスを経由しても行うことがで きる。 Serial Transfer Control540と関連した種々のループバックとデータ変換機能 について、図49と図49aにより詳しく示してある。 CODEC505には、記録パスにA/D(アナログ/デジタル)変換機能が、再生パス にはD/A(デジタル/アナログ)変換機能が含まれている。これらの変換機能は 、A/DとD/A操作が同時に実行できるように、異なったサンプルレートでお互いに 独立に動作できるようになっており、異なったサンプルレートとデータフォーマ ットを持っている。(Mixingブロック606の中の)ループアクセス回路には、音 声信号をサンプルして1つのレートでA/D操作を実行し、信号をデジタル化し、 それから異なるサンプルレートで再生D/Aによってデジタル化されたサンプルを 再生することができる機能が備わっている。 ブロック指定のCounters,Timers and Miscellaneous Digital Functions518 には、CODEC505のA/DとD/A変換や、フォーマット変換ブロック532、536、そして データ転送機能を制御する回路が含まれている。CODEC505操作では、次のような データフォーマットが可能である。すなわち、8ビットの符号なしlinear、8ビ ットμ-law、8ビットA-low、16ビット符号付きlittle endian、16ビット符号付 きbig endian、または4ビット4:1 IMAADPCMフォーマット。 図45には、Mixing and Analog Functionsブロック510のCODEC analog mixer60 6の左チャンネルが描かれている。mixer606の右チャンネルのレイアウトは左チ ャンネルと同じであるが、図45には示されていない。ちょっとした信号名の修正 を除いて、左チャンネルの信号と機能についての記述はすべて右チャンネルにも 当てはまる。 CODEC analog mixer606は、以前のCODEC音声装置よりも多くのプログラム可能 な特徴や機能を持っている。図45のanalog mixer606への5つの入力ライン のそれぞれ(LTNFINL682、MICL684、AUXIL686、AUX2688、それとMONOIN690)には 、プログラム可能な減衰/増幅制御回路608、610、612、614と696がそれぞれ含 まれている。analog mixer606に対するすべての入力と出力はステレオ信号であ る。ただし、入力MONOIN690と出力MONOOUT668とだけはモノ信号である。また、 音声信号がモノかステレオか、入力か出力かは指定可能である。 図45の三角形ブロックはプログラム可能な減衰/増幅制御回路を示している。 それぞれの減衰/増幅制御回路とその回路のための減衰/増幅の範囲を制御する レジスタは、図45のそれぞれの三角形ブロックの横に示してあり、図50のRegist erブロック566の中にある。これらのレジスタのそれぞれの説明と場所は下記の 通りである。これらのレジスタの個々のビットは、″Method and Apparatus for Modifying the Contents of a Register via a Command Bit″というタイトル の出願番号08/171,313に記述されているとおり、変更が可能である。これには 、レジスタ全体を指定しないで単一ビットを操作するやり方が記述されていて、 それは本発明の共通assigneeに指定されており、あらゆる目的のためにここに組 み入れられている。 これらのレジスタのための減衰値の範囲が図45aに示されている。それぞれの 減衰/増幅制御レジスタに記憶された値は、Counters,Timers and Misc.Digit al Functionブロック518、それと以下に説明されているGain/Attenuationブロッ ク734(図47)の中のCODEC制御ロジックに、指定された増幅値あるいは減衰値を 供給するために使用される。それぞれの減衰/増幅回路へのアナログ音声信号入 力の振幅はそれぞれの減衰/増幅制御レジスタ内に記憶されている値によって制 御される。 CODEC505Registerブロック566で使用されるレジスタの概要と、それらの望ま しい機能は次の通りである:CODEC505はCS4231(モード1と2)とAD1848やその 他の以前の技術と一般的にレジスタ互換であるように設計されている。間接アド レス方式がほとんどのCODECレジスタのアクセスに使用される。モデル1(下記)に は16個の間接レジスタがあり、モデル2(下記)には28個の間接レジスタがあり 、そしてモデル3(下記)には32個の間接レジスタがある。 以下のレジスタ定義では、RESあるいはRESERVEDで予約ビットを示す。すべて のそのようなフィールドは0と書かなければならない。読み出しでは、不定値が 返ってくる。read-modify-write操作では読んだ値を書き戻すことができる。 CODEC直接レジスタ CODEC INDEX ADDRESS REGISTER(CIDXR) アドレス:PCODAR+0 読み出し、書き込み デフォルト:0100 0000モード:ビット[7:5,3:0] モード1、2、それと3;ビット[4]モード2と3 INIT 初期化。CODECが初期化フェーズにあってI/Oアクティビティに応答 できなければread-only(読み取り専用)ビットがハイであるとみな される。このビットはソフトウェアリセットでのみセットされて、 16MHz発振器が安定していてCODEC505が初期化されたらクリアさ れる。 MCE モード変更可。このビットはCPDFI、CRDFI、CFIG1Iを書き込みから保 護する(CFIG1I[1:0]は除く、これらはいつでも変更可能)。このビッ トがハイであれば保護レジスタは変更が可能である。また、DAC出力 (CLDACIとCRDACI)は強制的に消音される。ビットがハイでなけれ ば、保護レジスタは変更できない。 DTD DMA転送不可。このビットがハイであれば、CSR3Rのサンプル・カウン タ・インタラプトのいずれかがアクティブになったときに、DMA転送 は停止される。モード1:DMAは停止される(再生か記録かに関わら ず)。そしてサンプル・カウンタがインタラプト起こした後にサン プル・カウンタは停止する;また、アクティブFIFOはこれ以上デー タをCODEC505に転送できなくなる。GINTがクリアされるかDTDが クリアされると、DMA転送、FIFO転送、それにサンプル・カウンタ が再開する。モード2と3:記録サンプル・カウンタがインタラプト を起こすと記録DMA、記録FIFO、それから記録サンプル・カウンタ が停止する;再生サンプル・カウンタがインタラプトを起こすと再 生DMA、再生FIFO、それから再生サンプル・カウンタが停止する。 CSR3Iの中の適当なインタラプト・ビットがクリアされるか、あるい はDTDがクリアされると、適切なDMA転送とサンプル・カウンタが 再開する。モード3では、このビットはまたCODECFIFOとLMRF、LMPF 間でデータ転送を中止するように働く。 LA[4:0] 間接アドレスポインタ。これらのビットは間接アドレス空間内のレジ スタを指すのに用いられる。モード1では、16ビットレジスタ空間 が定義される;LA[4]は予約される。モデル2と3では、32ビットの レジスタ空間が定義される。 CODEC INDEXED DATA PORT(CDATAP) アドレス:PCODAR+1読み出し、書き込み モード:1、2、および3 これはアクセスポートで、それを通してすべてのCODECインデックスレジスタ( これらは、CODECインデックスアドレスレジスタ(CIDXR[4:0]によって指される )は読み出されたり、書き込まれたりする。 CODEC状態1REGISTER(CSR1R) アドレス:PCODAR+2読み出し(また、このアドレスへの書き込みはGINTをクリア する) デフォルト:11001110 モード:1、2、および3 このレジスタはインタラプト状況や種々の再生と記録FIFO条件を報告する。ま た、このレジスタを読み出すとCSR2I[7:6]とCSR3I[3:0]が、もしセットされてい たら、クリアされる。このレジスタに書き込むとすべてのCODECインタラプトが クリアされる。 RULB 記録チャンネル上部/下部バイト指示。このビットがハイであると記録 FIFOの読み出しで16ビットサンプルの上部バイト(ビット[15:8])が 返されること、あるいは記録データが18ビット以下であることを示す 。 このビットがハイでなければ、記録FIFOの読み出しで16ビットサン プルの下部バイト(ビット[7:0])が返されることを示す。最後に受 け取ったサンプルの最後のバイトが記録FIFOから読み込まれた後、次 のサンプルが受け取られるまで、そのバイトでのこのビットの状態は 変わらない。 RLR 記録チャンネル左/右サンプル指示。このビットがハイであると記録 FIFOの読み出しで左サンプルが返されること、あるいは記録パスがモ ノモードか、あるいADPCMモードに(あるいは両方に)あることを示 す。このビットがハイでなければ、読み出しで右サンプルが返される 。最後に受け取ったサンプルの最後のバイトが記録FIFOから読み込ま れた後は、次のサンプルが受け取られるまで、そのバイトでのこのビ ットの状態は変わらない。 RDA 記録チャンネルデータ有効。このビットがハイであると記録FIFOから読 み出す有効データがあることを示す。このビットがハイでなければ、 FIFOに何も無いことを示す。SEサンプルエラー。記録FIFOのオーバー ランかあるいは再生FIFOのアンダーラン(CSR2I[7:6]の論理和)によっ て、データが失われたときにこのビットが立つ。記録チャンネルも再 生チャンネルも両方とも有効であれば、このビットを立てる特定の チャンネルがCSR2IあるいはCSR3Iを読み込んで決定される。 PULB 再生チャンネル上部/下部バイト指示。このビットがハイであると再生 FIFOへの次の書き込みは16ビットサンプルの上部バイト(ビット [15:8])であること、あるいは再生データが8ビット以下であること を示す。このビットがハイでなければ、再生FIFOへの書き込みは16 ビットサンプルの下部バイト(ビット[7:0])であることを示す。再生 FIFOがいっぱいになると、そのFIFOに空きができるまで、最後に書き 込まれたバイトの状態は変化しない。 PLR 再生チャンネル左/右サンプル指示。このビットがハイであると再生 FIFOへの次の書き込みは左サンプルとなるか、あるいは再生パスがモ ノモードか、ADPCMモードにあることを示す。このビットがハイでなけ れば、右サンプルが想定される。再生FIFOがいっぱいになると、その FIFOに空きができるまで、最後に書き出されたバイトの状態は変化し ない。 PBA 再生チャンネルバッファー有効。このビットがハイであると、再生FIFO に追加データ用の空きがあることを示す。ビットがハイでなければ、 FIFOがいっぱいであることを示す。 GINT グローバルインタラプト状態。インタラプトを要求できるアクティブな 状態にある場合にこのビットが立つ。これは、CODEC:CSR3I[6:4]の中 のすべてのインタラプトの原因になるものの論理和をとることによっ てインプリメントされる。 再生と記録データレジスタ(CPDR,CRDR) アドレス:PCODAR+3 読み出し(記録FIFO)、書き込み(再生FIFO) モード:1、2、および3 このアドレスに書き込まれたデータは再生FIFOの中にロードされる。このアド レスから読み出されたデータは記録FIFOから除かれる。ステータスレジスタ1内 のビットは、データが左チャンネルか右チャンネルか、そして、16ビットサンプ ルに対してはサンプルの上部か下部かを示す。再生FIFOがDMAモードにあるかあ るいは再生パスが有効でないか(CFIG1I)のいずれかの場合には、このアドレス への書き込みは無視される;記録FIFOがDMAモードにあるかあるいは記録パスが有 効でないか(CFIG1I)のいずれかの場合には、このアドレスからの読み出しは無 視される。 CODEC CIDXR,CDATAPインデックスレジスタ 左、右A/D入力制御(CLICI,CRICI) アドレス:PCODAR+1読み出し、書き込み;左インデックスCIDXR[4:0]=0,右イン デックスCIDXR[4:0]=1 デフォルト:000X 0000(両方とも) モード:1、2、3 この一対のレジスタはA/D変換器への入力源を指定したり、個々の信号パスに 適用されるゲインの大きさを指定するのに使用される。この2つのレジスタは同 じもので、一つは左チャンネルを制御し、他の一つは右チャンネルを制御する。 LSS[1:0] 左右ADC源の指定。これらのビットはどちらの入力源かを指定する。 RSS[1:0] アナログデジタル変換器へ送り込まれる。 RWB 読み出し/書き込みビット。このビットは何も制御しない。書き込 まれたものはすべて読み戻される。 LADIG[3:0] 左右のA/D入力ゲイン指定。指定された入力源はゲインステージを 経てA/D RADIG[3:0] 変換器に送出される。これらの4つのビットで信号へ適用されるゲ イン量が示される。これらの値は1.5dB単位で0h=0dBから 0Fh=+22.5dBまで変化する(図45aを参照)。 左右のAUX1/SYNTH入力制御(CLAX1I,CRAX1I) アドレス:PCODAR+1読み出し、書き込み;左インデックスCIDXR[4:0]=2, 右イ ンデックスCIDXR[4:0]=3 デフォルト:1XX0 1000(両方とも) モード :1、2、3 この一対のレジスタは左と右のAUX1あるいはMIXERへのSYNTH(CFIG3I[1]で多重 化された)入力を制御する。この2つのレジスタは同じもので、一つは左チャン ネルを制御し、他の一つは右チャンネルを制御する。 LA1ME, 左と右のAUX1/SYNTH消音有効。このビットがハイである RA1ME と、指定された入力の音が消音される。ハイでなければ、 入力は通常に行われる。 LA1G[4:0], 左と右のAUX1/SYNTHゲイン指定。これによって、指定さ RA1G[4:0] れたAUX1/SYNTHの入力信号に適用されるゲイン量が示さ れる。これらの値は1.5dB単位で00h=+12dBから1Fh= -34.5dBまで変化する(図45aを参照)。 左右のAUXILIARY入力制御(CLAX2I,CRAX2I) アドレス :PCODAR+1読み出し、書き込み;左インデックス CIDXR[4:0]=4, 右インデックスCIDXR[4:0]=5 デフォルト:1XX0 1000(両方とも) モード :1、2、それと3 この一対のレジスタはMIXERへの左と右のAUX2入力を制御する。この2つのレ ジスタは同じもので、一つは左チャンネルを制御し、他の一つは右チャンネルを 制御する。 LA2ME, 左と右のAUX1/SYNTH消音有効。このビットがハイである RA2ME と、AUX2入力が消音される。ハイでなければ、入力は普 通に行われる。 LA2G[4:0], 左と右のAUX2ゲイン指定。これによって、AUX2入力信号 RA2G[4:0] に適用されるゲイン量が示される。これらの値は1.5dB 単位で00h=+12dBから1Fh=-34.5dBまで変化する(図 45aを参照)。 左右の再生DAC制御(CLDACI,CRDACI) アドレス :PCODAR+1読み出し、書き込み;左インデックス CIDXR[4:0]=6, 右インデックスCIDXR[4:0]=7 デフォルト:1X00 1000(両方とも) モード :1、2、そして3 この一対のレジスタはMIXERへ入力された時の左と右のDACアナログ出力を制御 する。この2つのレジスタは同じもので、一つは左チャンネルを制御し、他の 一つは右チャンネルを制御する。 LDME, 左と右の消音有効。このビットがハイであると、MIXERへの RDME DAC入力が消音される。ハイでなければ、入力は普通に行 われる。 LA[5:0], 左右のDAC減衰指定。これによって、DAC入力信号に適用さ RA[5:0] れる減衰量が示される。これらの値は1.5dB単位で00h=0 dBから3Fh=-94.5dBまで変化する(図45aを参照)。 再生データフォーマット レジスタ(CPDFI) アドレス :PCODAR+1読み出し、書き込み; インデックスCIDXR[4:0]=8 デフォルト:0000 0000 モード :このレジスタの定義はモードに基づいて変わる。 このレジスタは、サンプルレート(二つの発振器のどちらを使用するか、その 発振器の分割要素を指定する)、ステレオかモノか、線形データか圧伸データか 、8ビットか16ビットかを示す。モード変更可ビット(CIDXR[6])がアクティブの ときのみこの変更ができる。 モード1では、このレジスタは再生パスと記録パスの両方を制御する。 モード2では、このレジスタのビット[3:0]が記録サンプルレートと再生サン プルレートの両方を制御し(これらは同じでなければならない)、ビット[7:4] が再生パスのデータフォーマットの状態を示す。 モード3では、このレジスタは再生パスのみを制御する;記録サンプルレート はCRDFIで制御される。 PDF[2:0] 再生データフォーマット選択。これらの3つのビットでCODECのため の再生データフォーマットを示す。*モード2と3のみ。モード1で は、ユーザーの指定に関係なくPDF[2]は0として扱われる。 PSM 再生ステレオ/モノ選択。このビットがハイであるとステレオ操作が 選択される;サンプルは左にそれから右に交互に切り替わる。この ビットが立っていなければモノモードが選択される;再生サンプル は左FIFOと右FIFOの両方に送出される。記録サンプル(モード1 で)左ADCからのみ来る。 PCD[2:0] 再生クロック分割指定。これらの3つのビットで、モード3では再生 クロック・レートを、モード1とモード2では記録レートと再生レ ートを示す。*XTAL1が18.5MHzより小さいときに機能するように、こ れらの分割値を小さくできる。 PCS 再生クリスタル指定。このビットがハイであると、再生サンプル周波 数に16.9344MHzクリスタル発振器(XTAL2)が使用される。このビッ トがハイでなければ、24.576MHzクリスタル発振器(XTAL1)が使用さ れる。 構成レジスタ1(CFIG1I) アドレス :PCODAR+1読み出し、書き込み; インデックスCIDXR[4:0]=9 デフォルト:00XX 1000 モード :1、2、3 このレジスタで、CODEC FIFOをサービスするのにI/OサイクルかあるいはDMAが 使用されるか、DMA操作は1つのチャンネルか2つのチャンネルか、記録パスと 再生パスを有効にするか無効にするかを指定する。ビット[7:2]は保護されてお り、保護されているビットに書き込むにはCIDXR[MCE]がセットされなければなら ない。 RFIOS 記録FIFO I/O指定。このビットがハイであれば、記録FIFOはI/Oサイ クルでサービスされる。ハイでなければ、DMA操作がサポートされる。 PSIOS 再生FIFO I/O指定。このビットがハイであれば、再生FIFOはI/Oサイ クルでサービスされる。ハイでなければ、DMA操作がサポートされる。 CALEM 校正エミュレーション。これは読み書き可能ビットである。これがハイ であると、CSR2I[5]に影響を与える。 DSI/2 1か2チャンネルのDMA操作の指定。これがハイであると、単一チャン ネル操作が指定される;記録操作だけか再生操作だけのいずれかが可 能で、両方は不可能;記録と再生の両方のDMA操作がこのモードで可 能な場合には、再生転送だけがサービスされる。これがハイでなけれ ば、2つのチャンネルでのDMA操作が可能である。 RE 記録有効。これがハイであると、記録CODECパスが有効になる。立ってい なければ、記録パスは切断され記録データ利用状態ビット(状態レジ スタ1)が利用不可状態が保持される。 PE 再生有効。これがハイであると、再生CODECパスが有効になる。立って いなければ、再生パスは切断され再生バッファ利用状態ビット(状態 レジスタ1)が利用不可状態が保持される。 外部制御レジスタ(CEXTT) アドレス :PCODAR+1読み出し、書き込み; インデックスCIDXR[4:0]=Ah デフォルト:00XX 0X0X モード :1、2、3 このレジスタは全体のインタラプト許可制御とともに2つの汎用外部出力ピン のための制御ビットを含んでいる。 GPOUT[1:0] 汎用出力フラッグ。これらのビットの状態はGPOUT[1:0]ピンに反映 される。 RWB 読み書きビット。これは読み出し可能かつ書き込み可能のビットで ある。装置内では何の制御も行わない。 GIE 全体的イアンタラプト許可。これがハイであるとCODECインタラプ トが有効になる。ハイでなければ、CODECインタラプトは指定され たIRQピンにパスされない。状態ビットは、このビットの状態に よって影響されない。 状態レジスタ2(CSR2I) アドレス :PCODAR+1読み出し、書き込み; インデックスCIDXR[4:0]=Bh デフォルト:0000 0000 モード :1、2、3 このレジスタはある種のFIFOエラー、記録と再生のデータ要求ビットの状態を 報告する。そしてクリッピングのためのA/Dパスのテストを許可する。 RFO 記録FIFOオーバーラン。記録FIFOがいっぱいになり、CODECが他 のサンプル(そのサンプルは捨てられる)をロードする必要があ るときはいつもこのビットが立てられる。このビットは、CSRIRの 読み出し、あるいはCIDXR[MCE]が1から0に変わったときにクリ アされる。 PFU 再生FIFOアンダーラン。再生FIFOが空になり、CODECが他のサン プルを必要とするときはいつもこのビットが立てられる。この ビットは、CSRIRの読み出しあるいはCIDXR[MCE]が1から0に変 わったときにクリアされる。モード1では、以前のサンプルが再 度使用される。モード2と3では、CFIG2I[0]のプログラミング次 第で以前のサンプルが再度使用されたり、データが強制的にすべ て0にされる)。 CACT 校正活動シミュレーション。CFIG1I[3]がハイであれば、このビット はモード変更許可ビット(CIDXR[6])が不活動状態になったとき に立てられる。このビットはCSR2Iの最初の連続読み出しが終わっ たところでクリアされる。 DRPS DMA要求ピン状態。このビットは記録あるいは再生DMA要求ピンが 活動状態にあるときはいつでも立てられる。 RADO[1:0],左右の範囲外検出。これらの一対のビットはサンプル単 LADO[1:0] 位にDACへの信号がクリッピングを起こしているかどう かを反映するために変更される。 モード指定、IDレジスタ(CMODEI) アドレス :PCODAR+1読み出し、書き込み; インデックスCIDXR[4:0]=Ch デフォルト:100X 1010 モード :1、2、3 このレジスタは、CODECの操作モードを指定し、回路Cの改訂番号を報告する 。 ID[4], 改訂ID番号。これらの5つのビットで本発明のCODEC回 ID[3:0] 路Cの改訂番号(最初の番号は1,1010)を指定する。こ れらの番号は読み出し専用で変更はできない。 MODE[1:0] モード指定。(0,0)=モード1;(1,0)=モード2;(0,1)=予約;(1, 1)=モード3。モード3にするには、6Chの書き込みをこのポートに 対してなされなければならない;すなわち、ビット[5]は他の値の 書き込みに対しては強制的にクリアされる。 ループバック制御レジスタ(CLCI) アドレス :PCODAR+1読み出し、書き込み; インデックスCIDXR[4:0]=Dh デフォルト:000 00X0 モード :1、2、3 このレジスタは、ADCパスのゲインステージの出力(ADCへの入力時点で)とDA Cループバック合計の入力との間のアナログパスの減衰を許可して指定する。こ のレジスタは左と右のチャンネルの両方に影響を与える。 LBA[5:0] ループバック減衰。DAC出力で合計される前にループバック信号に適 用される減衰の量を指定する。これらの値は1.5dB単位で00h=0dB から3Fh=-94.5dBまで変化する(図45aを参照) LBE ループバック許可。これがハイであると、ループバックパスがDAC出 力とのミックスが許可される。クリアされると不許可になり信号は 消音される。 上部、下部再生カウントレジスタ(CUPCTI,CLPCTI) アドレス :PCODAR+1読み出し、書き込み; 上部インデックスCIDXR[4:0]=Eh, 下部インデックスCIDXR[4:0]=Fh, デフォルト:0000 0000(両方とも) モード :これらのレジスタの定義はモードによって異なる これらのレジスタは合わさって再生サンプル・カウンタで使用される16ビット 事前ロード値を供給する。CUPCTIは上半分の事前ロードビット[15:8]を、CLPCTI は下半分の事前ロードビット[7:0]を供給する。16ビット全部は上部バイトを書 き込んでいる間にカウンタにロードされる;したがって、下部バイトは最初に書 き込まれる必要がある;しかしながら、下部バイトだけが書き込まれてカウンタ がアンダーフローを起こすと、新しい値がタイマーの中に置かれることになる。 これらのレジスタを読み出すとカウンタの現在の状態ではないそれらに書き込ま れた値が返される。モデル1では、このレジスタは再生と記録の両方に使用され る;モード2と3では、再生にのみ使用される。 構成レジスタ2(CFIG2I) アドレス :PCODAR+1読み出し、書き込み; インデックスCIDXR[4:0]=10h デフォルト:0000 XXX0 モード :2、3 OFVS出力最大電圧指定。これがハイであると、最大出力はVcc=5Vに対して2.9V となり、Vcc=3.3Vに対して1.34となる。ハイでなければ、最大出力は Vcc=5Vに対して2.0Vとなり、Vcc=3.3Vに対して5Vとなる。このビット は、CLOAIとCROAIに入る前に、Mixerを出る左と右の信号に影響を与え る;また、このビットは記録多重装置への入力も変更する。 TE タイマー有効。これがハイであると、タイマーとそれに関連するインタラ プトが有効になる。ハイでなければ、タイマーは動作しない。タイマー カウンタはCLTIMIとCUTIMIとで指定される。 RSCD 記録サンプル・カウンタ無効。これがハイであると、記録サンプル・カウ ンタが効かなくなる。このビットはモード3でのみ有効で、モード3で サンプル・カウンタに影響するだけである。 PSCD 再生サンプル・カウンタ無効。これがハイであると、再生サンプル・カウ ンタが効かなくなる。このビットはモード3でのみ有効で、モード3で サンプル・カウンタに影響するだけである。 DAOF D/A出力強制有効。これがハイであると、再生FIFOがアンダーラン・エラー を起こすといつもD/A変換機の出力は強制的に最大出力の中間値にされ る。これがクリアされると最後の有効なサンプルはアンダーランの起き た状態で出力される。 構成レジスタ3(CFIG3I) アドレス :PCODAR+1読み出し、書き込み; インデックスCIDXR[4:0]=11h デフォルト:0000 X000 モード :ビット[7:1]モード3;ビット[0]モード2と3 モード3で、このレジスタはFIFOスレショルドのプログラミングとI/OモードF IFOサービスのインタラプトの生成を提供する。 RPIE 記録FIFOサービス要求インタラプト有効。記録パスが有効でI/O操作 が指定されているとき(CFIG1I)、状態レジスタ3のFIFO/DMAインタ ラプトビットがセットされるときには常にインタラプト要求の生成 が可能となる。このビットはモード3でのみアクセスが可能である。 PPIE 再生FIFOサービス要求インタラプト有効。再生パスが有効でI/O操作 が指定されているとき(CFIG1I)、状態レジスタ3のFIFO/DMAインタ ラプトビットが セットされるときには常にインタラプト要求の生 成が可能となる。このビットはモード3でのみアクセスが可能であ る。 FT[1:0] FIFOスレショルド指定。この2つのビットは、DMAあるいはインタラ プト要求がアクティブになったときのために記録と再生FIFOスレ ショルドを指定する。これらのビットはモード3でのみアクセスが 可能でモード2と2とでは何の効果もない。 PVFM 再生可変周波数モード。このビットがハイであると、再生可変周波数モー ドが選択される。このモードでは、サンプルレートはCPDFI[0]とCPVFI の結合によって選択されて、3.5KHzと32KHzとの間の可変周波数が可能 となる。このモードにあるときは、音声品質は落ちるかもしれない。こ のビットはモード3でのみアクセスが可能である。 SYNA AUX1/SYNTH信号選択。このビットは、左右のMixerに入る前にCLAX1Iと CRAX1Iの減衰器に入る信号源を選択する。このビットが立っていないと 、AUX1[L,R]を選択する。このビットがハイであると、SYNTHDACの出力 を選択する。このビットはモード3でのみアクセスが可能である。 RWB 読み書きビット。このビットが読み出しと書き込みを可能にする。装置内 では 何の制御も行わない。これはモード2とモード3でのみアクセス が可能である。 左右ライン入力制御レジスタ(CLLICI,CRLICI) アドレス :PCODAR+1読み出し、書き込み; 左インデックスCIDXR[4:0]=12h, 右インデックスCIDXR[4:0]=13h デフォルト:1XX0 1000(両方とも) モード :2、3 この一対のレジスタは、MixerへのLINEIN入力に適用されるゲイン/減衰を制 御する。これらのレジスタは同じで、一つが左チャンネルを制御し、他の一つが 右チャンネルを制御する。 LLIME, 左右のLINE入力消音許可。このビットがハイであると、 RLIMF, LINEIN入力音が押さえられる。ハイでなければ通常通り に動作する。 LLIG[4:0] ,左右LINE入力増幅指定。これは、LINEIN[L,R]入力信号 RLIG[4:0] に適用される増幅量を指定する。これらの値は1.5dB単 位で0=+12から1Fh=-34.5dBまで変化する(図45aを 参照) 上部、下部タイマーレジスタ(CLTIMI,CUTIMI) アドレス :PCODAR+1読み出し、書き込み; 下部インデックスCIDXR[4:0]=14h, 上部インデックスCIDXR[4:0]=15h, デフォルト:0000 0000(両方とも) モード :2,3 これらのレジスタは合わさって汎用のタイマーで使用される16ビット事前ロー ド値を供給する。これらのカウントは10マイクロ秒で表される(全体で650ミリ 秒)。CUTIMIは上半分の事前ロードビット[15:8]を、CLTIMIは下半分の事前ロー ドビット[7:0]を供給する。CLTIMIを書き込むと16ビット全部が汎用タイマーに ロードされる。これらのレジスタを読み出すとカウンターの現在の値でなく、値 が返される。 左右MIC入力制御レジスタ(CLLICI,CRLICI) アドレス :PCODAR+1読み出し、書き込み; 左インデックスCIDXR[4:0]=16h, 右インデックスCIDXR[4:0]=17h デフォルト:1XX0 1000(両方とも) モード :3 この一対のレジスタは、Mixerへの左右のMIC入力を制御する。これらのレジス タは同じで、一つが左チャンネルを制御し、他の一つが右チャンネルを制御する 。 LLME,RMME 左右のMIC消音許可。このビットがハイであると、MIC入力 が消音 される。ハイでなければ通常通りに動作する。 LMG[4:0],RMG[4:0] 左右MICゲイン指定。これは、MIC[L,R]入力信号に適用さ れるゲイン量を指定する。これらの値は1.5dB単位で0=+12から1Fh=-34.5dBまで 変化する(図45aを参照) 状態レジスタ3(CSR3I) アドレス:PCODAR+1読み出し、書き込み(特定のビットをクリアするために); インデックスCIDXR[4:0]=18h デフォルト:X000 0000 モード:2、3; ビット[5:4]の定義はモードによって変わる。 このレジスタはFIFOのその他の状態情報と種々のインタラプトを起こした原因 とを報告する。TIR、RFDI、PFDIビットのそれぞれは0をアクティブなビットに 書き込むことによってクリアされる。1を書き込むと無視される。これらのビッ トはまた任意の値をCSR1Rに書き込むことによってもクリアされる。オーバーラ ン・アンダーランビットのビット[3:0]は、CSR1Rを読み出すことによってクリア される。これらのビットは、またCIDXRのモード変更許可ビットがクリアされる ときにもクリアされる。 TIR タイマーインタラプト要求。このビットが立っているとタイマーがらイン タラプト要求があることを示す。これは0をこのビットに書き込むか、あるいは 任意の値をCSR1Rに書き込むことによってクリアされる。 RFDI 記録FIFOインタラプト要求。このビットが立っていると記録パスインタラ プトがあることを示す。これは0をこのビットに書き込むか、あるいは任意の値 をCSR1Rに書き込むことによってクリアされる。モード2:このビットは、記録 サンプルカウンタからインタラプトがあることを示す。モード3でCFIG1I[7]=0 (DMA):このビットは、記録サンプルカウンタからインタラプトがあることを 示す。モード3でCFIG1I[7]=1(I/O):このビットは記録FIFOスレショルド(CFIG3 I)に達したことを示す。 PFDI 再生FIFOインタラプト要求。このビットが立っていると再生パスインタラ プトがあることを示す。これは0をこのビットに書き込むか、あるいは任意の値 をCSR1Rに書き込むことによってクリアされる。モード2:このビットは、再生 サンプルカウンタからインタラプトがあることを示す。モード3でCFIG1I[6]=0 (DMA):このビットは、再生サンプルカウンタからインタラプトがあることを 示す。モード3でCFIG1I[6]=1(I/O):このビットは再生FIFOスレショルド(CFIG3 I)に達したことを示す。 RFU 記録FIFOアンダーラン(モード2、3)。空の記録FIFOからの読み出しがあ ったらこのビットが立てられる。 RFO 記録FIFOオーバーラン(モード2、3)。ADCがいっぱいの記録FIFOにサン プルをロードする必要があればこのビットが立てられる。これはCSR2I[RFO]と同 一である。 PFO あったらこのビットが立てられる。 PFU 再生FIFOアンダーラン(モード2、3)。ADCが空の再生FIFOからのサンプ ルを必要とするのであればこのビットが立てられる。これはCSR2I[PFU]と同一で ある。 左右出力減衰レジスタ(CLOAI,CROAI) アドレス:PCODAR+1読み出し、書き込み;左インデックスCIDXR[4:0]=19h, デフォルト:1XX0 0000(両方とも) モード:3だけ;モード2ではCLOAIは、読み出すときに80hを作動する読み出し 専用のレジスタである。 この一対のレジスタは、左右のMONOとLINE出力レベルを制御する。またLINE出力 MUTE制御ビットもこの一対のレジスタの中にある。 LLOME,RMOME ライン出力ミュートイネーブル。ハイの時、LINE出力はミュ ートされる。ハイでなければ通常通りに動作する。 LLOA[4:0],RLOA[4:0] LINE出力減衰指定。これは、MONOとLINE出力信号に適用 される減衰量を指定する。これらの値は1.5dB単位で00h=0から1Fh=-46.5dBまで 変化する(図45aを参照) MONO I/O制御レジスタ(CLOAI,CROAI) アドレス:PCODAR+1読み出し、書き込み;インデックスCTDXR[4:0]=1Ah デフォルト:110X 0000 モード:ビット[7:6,4:0]モード2と3;ビット[5]モード3 このレジスタは、MONO入力パスに適用される減衰の量を指定する。MONO入力と 出力の消音制御もまたここにある。 MIME MONO入力消音許可。このビットが立っていると、MONO入力が消音される。 ハイでなければ通常通りに動作する。 MOME MONO出力消音許可。このビットが立っていると、MONO出力が消音される。 ハイでなければ通常通りに動作する。 AR3S 高インピーダンスへのAREF。このビットが立っていると、AREFは、高イン ピーダンスモードにされる。ハイでなければ通常に動作する。このビットはモー ド3でのみアクセスが可能である。 MIA[3:0]MONO入力減衰。これはMONO入力パスに適用される減衰量を示す。これら の値は1.5dB単位で0=0から0Fh=-45dBまで変化する(図45aを参照) 記録データ・フォーマットレジスタ(CRDFI) アドレス:PCODAR+1読み出し、書き込み;インデックスCIDXR[4:0]=1Ch デフォルト:0000 0000 モード:2と3;レジスタの定義はモードによって異なる。 このレジスタは、サンプルレート(2つの発振器のどちらが使用されること、 そしてその発振器のための分割要素を指定する)、ステレオ操作かモノ操作か、 線形データか圧伸データか、8ビットデータか16ビットデータか、を示す。モー ド変更許可ビット(CIDXR[6])がアクティブのときのみこの変更ができる。 モード2では、ビット[3:0]は使用されない(記録パス サンプルレートはCPDF Iで定義され)。そしてビット[7:4]は記録パスのデータ・フォーマットを示す。 モード3では、このレジスタ全体が記録パスの属性を制御する;再生属性はCP DFIで制御される。 RDF[2:0]記録データフォーマット指定。これらの3つのビットで CODECのための記録データフォーマットを示す。モード2と3でのみこれらのビ ットはアクセスが可能である。 RSM 記録ステレオ/モノ選択。このビットが立っているとステレオ操作が選 択される;サンプルは左にそれから右に交互に切り替わる。このビットが立って いなければモノ・モードが選択される;記録サンプルは左ADCからのみ来る。こ のビットはモード2と3でのみアクセスが可能である。 RCD[2:0] 記録クロック分割指定。これらの3つのビットは、記録クロック・ レートを指定する。これらのビットはモード3でのみアクセスが可能である。モ ード2ではこれらのビットは予約される。*XTAL1が18.5MHzより小さいときに機 能するように、これらの分割値を小さくできる。 PCS 記録クリスタル選択。このビットが立っていると、再生サンプル周波数に1 6.9344MHzクリスタル発振器が使用される。このビットがハイでなければ、24.57 6MHzクリスタル発振器が使用される。このビットはモード3でのみアクセスが可 能;モード2ではこのビットは 留保される。 上部、下部記録カウントレジスタ(CURCTI,CLRCTI) アドレス:PCODAR+1読み出し、書き込み;上部インデックスCIDXR[4:0]=1Eh, 下部インデックスCIDXR[4:0]=1Fh, デフォルト:0000 0000(両方とも) モード:2と3:モード1で、機能はCUPCTI,CLPCTIに移される。 これらのレジスタは合わさって記録サンプル・カウンタで使用される16ビット 事前ロード値を供給する。CURCTIは上半分の事前ロードビット[15:8]を、CLRCTI は下半分の事前ロードビット[7:0]を供給する。16ビット全部は上部バイトを書 き込んでいる間にカウンタにロードされる;したがって、下部バイトは最初に書 き込まれる必要がある;しかしながら、下部バイトだけが書き込まれてカウンタ がアンダーフローを起こすと、新しい値がタイマーの中に書き込まれることにな る。これらのレジスタを読み出すとカウンタの現在の状態ではなく、それらに書 き込まれた値が返される。 再生可変周波数レジスタ(CPVFI) アドレス:PCODAR+1読み出し、書き込み;インデックスCIDXR[4:0]=1Dh デフォルト:0000 0000 モード:3のみ。 この8ビットレジスタは、可変周波数再生モードがCFIG3I[2]で有効にされたとき の再生周波数を示す。その再生周波数はPCS/(16*(48+CPVFI)となる。ここで、P CSはCPDFI[0]で指定された発振器の周波数である。16.9MHzの発振器は3.5KHzか ら22.05KHzまでを供給し、4.5MHzの発振器は5.0KHzから32KHzまでを供給する。 このレジスタの値を変えるときはCIDXR[MCE]をセットする必要はない。 図45のMixer606で、CODEC505の記録パスために、制御レジスタCLICI604の状態 は、4つのアナログ音声信号がMUX602と減衰/ゲイ ン制御回路664とを通過するように多重化装置(MUX)602を制御している。もし減 衰/ゲイン制御回路664によって消音がなされなければ、指定された信号は左記 録ADC666に渡されるか、あるいは減衰/ゲイン制御回路606を通してループバッ クされて再生Mixer678と左再生DAC680の出力とが合算される。このループバック はループバックパス676を通じて行われる。ループバックパス676は、再生モード でMICL684やLINEINL682、AUX1L686、LEFT SYNTH DAC692の出力信号が左再生DAC6 80の出力から出る音声信号を通してスーパーインポーズされるように、システム テストや″dub-over″機能のためのループバックパスを供給する。これは、″Ka rioke-type″に左再生DAC68から出る記憶音声信号を供給する。 制御レジスタCFIG3I[SYNA]の内容は、アナログ入力AUX1L686とLEFT SYNTH DAC 694との間での選択のためにLEFT SYNTH694を制御するために使用される。選択さ れたアナログ音声信号は、それからMUX602の入力と減衰/ゲイン制御回路612へ パスされてる。減衰/ゲイン制御回路612の出力は、それから主要Mixer698に入 力されて、すべての他の非消音アナログ音声入力信号と合わせられる。 主要Mixerのループバックパス677はMixer698の出力をMUX602の入力に供給する 。また、Mixer698の出力は、LEFTOUTとしてMono Mixer672に渡すために減衰/ゲ イン制御回路674に供給される。Mixer672では、LEFTOUTと右チャンネルMixerか らのアナログ出力RIGHOUT616とが合わされる。信号LEFTOUTとRIGHOUTはmono Mix er672に中で合算され、それから消音制御604を通って、アナログ出力信号MONOOU T668へ送出される。LEFTOUT信号はまた減衰/ゲイン制御回路602にも入力される 。消音されなければ、LEFTOUTはアナログ出力左チャンネルステレオ信号LINEOUT L670として利用される。 アナログ音声入力信号960は減衰/ゲイン制御回路696を通って、入力信号とし て主要Mixer698に渡される。また、アナログモノ入力信号618として右チャンネ ル主要Mixerに渡される。 図47にあるように、CODEC505は、アナログMixer606の中の個々のアナログ音声 信号の振幅は信号が通常値に達するまで維持されていることを保証するための回 路を含んでいる。これはゼロ検出回路715によって達成される。新しい減衰/ゲ イン制御値でもって動作することになるアナログ音声信号が0ボルト714(図46 )と交差するまで、あるいはタイムアウト・カウントが25ミリ秒タイマー718で 達するまで、修正減衰/ゲイン制御情報はそれぞれの減衰/ゲイン制御レジスタ にはロードされない。タイムアウトになると、Registerブロック566(図50)内の それぞれの減衰/ゲイン制御レジスタに新しい減衰/ゲイン制御値がロードされ ることになる。 図47の点線で囲まれた部分の減衰/ゲイン制御回路710は、図50のRegisterブ ロック566の中のそれぞれの減衰/ゲイン制御レジスタのために用意されている 。具体的には、16個の減衰/ゲイン制御レジスタ(CLCI,CLICI,CRICI,CLAX1I ,CRAX1I,CLAX2I,CRAX2I,CLDACI,CRDACI,CLLICI,CRLICI,CLMICI,CRMICI ,CLOAI,CROAIとCMONOI)があり,それらは、そこに記憶されるゲインや減衰の 制御値を変更するために書き込まれる。そして、その値は順々に書き込まれてい る特定の減衰/ゲイン制御レジスタによって処理されているアナログ音声信号の 振幅を変更するのに使用される。他のアプリケーションでも、多かれ少なかれ減 衰/ゲイン制御レジスタはインプリメントされている。 動作中に、減衰/ゲイン制御レジスタの1つが書き込まれるときはいつも、Re gister Select Decodeブロック716が減衰/ゲイン制御値をGainLatch730に渡す 。減衰/ゲイン制御レジスタに書き込んだものを解読した後、Register Select Decodeブロック716は25ミリ秒Timerブロック718と100 TO 300 Microsecond Time rブロック720に作動信号を送り、電気が流れる。それから電気が100から300マイ クロ秒間、Near Zero Detectブロック732のそれぞれに、100 TO 300Microsecond Timerブロック720によって作動されるComparator Power-Onブロック720によっ て、供給される。 25ミリ秒Timerブロック718は3.15KHzクロックのICLK3Kを使用して80までカウ ントする。100 TO 300Microsecond Timerブロック720のタイミングは3.15KHzク ロックICLK3Kの2つの端を待つロジックによってとられる。電気が流れると、音 声入力信号740が公称電圧に近づいたときにNear Zero Detectブロック732がスト ローブを生成する。 Near Zero Detectブロック732内のゼロ検知ロジックは比較器や音声入力信号7 40が事前定義の基準電圧に等しくなったときはいつでも出力信号を供給できる他 の回路をつかって実現できる。ゼロ検知ストローブはLATCH726に新しい減衰/ゲ イン値を送るのに使用される。ゼロ検知回路部732は固定された25ミリ秒Timer71 8がカウントを終えるまで電力はそのまま落ちない。 アナログ基準電圧(AREF)は、VCCが5ボルトのときは、AREFの値は、公称で、V CC*0.376になるように、使用される。VCCが3.3ボルトのときは、AREFの値は、公 称で、VCC*0.303になる。CMONOI[AR3S]の制御によって、AREFは劣化せずに250マ イクロアンペアまで上げることができる。 もし入力信号740が25ミリ秒Timer718がカウントを終える前に公称電圧に達し なかったら、新しい減衰/ゲイン制御値、デフォルト条件として、それでもそれ ぞれの減衰/ゲイン制御レジスタにロードされる。25ミリ秒タイムアウトになる 前に、REGISTERブロック566(図50)の減衰/ゲイン制御レジスタのどれかへ書 き込みがあると、そのカウンタの状態に関係なく、25ミリ秒Timer718はリセット される。 ゼロ検知回路715は、入力信号740で振幅に増減が現われたときに“ジッパー” ノイズや不連続音を最小に押さえる。減衰/ゲインレジスタが書き込まれるとき にだけゼロ検知回路732をパワーアップすることによって、ゼロ交差が感知され るたびにNear Zero Detectブロック732内の比較器や他の電圧検知回路からの不 必要なノイズは除去される。 図46で、入力信号のゼロ交差点732でゲインを増やすことによって、 信号の不連続性は除去される。Zero Detectブロック732を使用することによって 、入力信号740はゼロ交差する地点で振幅を変更し、出力信号736(図47)として ゼロ検知回路715から出力され、そしてカーブ712に沿って新しい振幅で継続する 。 CODEC505のすべてのプログラム可能な減衰/ゲイン制御回路(アナログMixer6 06の三角形)は、ゼロ検知回路715を含んでいる。ゼロ検知回路715はRegisterブ ロック566(図50)の中のそれぞれの減衰/ゲイン制御レジスタに対して等しく 実行する。 CODEC505の追加ノイズ管理機能がパワーアップ時のノイズを除去するために使 用される。 音声出力LINEOUT670とMONOOUT668(図45)からの音声異常は、パワーが適用され ていたりCODEC505から除かれるときに、あるいは低パワーモードに入ったりある いは出たりするときに除去される。すべてのパワーアップあるいはパワーダウン の間は消音回路602と64の中のCODEC505出力増幅は消音状態になる。 CODECのパフォーマンスを上げるために、16.9MHzのシステムクロックの上昇端 でデジタル操作がなされ、そのシステムクロックの下降端あるいはシステムクロ ックの次の上昇端の前のある地点でアナログ操作がなされる。一般的に、デジタ ル操作は本来、アナログ操作がなされる前にできるだけ減衰されなければならな いノイズを発生する。システムクロックの異なった端を使用し、さらにデジタル 回路で使用されるクロックに関してアナログ回路で使用されているシステムクロ ックから生成されるクロックを遅らせるようにすると、望ましい結果が生じる。 アナログ機能には静かな供給と接地が必要である。たとえば、比較器は的確な比 較ができるためには、低レベルの背景ノイズが1ミリボルトを検知できようにす る必要がある。 CODEC505の記録と再生パスは記録と再生のための異なったサンプル・レートを 供給できるように独立にプログラムが可能である。連続可変レート再生モードが 再生DAC514のために備わっている(図44)。 これによって3.5から22.05KHzまでと、5.0から32.00KHzまでとの2つのサンプル ・クロックの指定が可能である。それぞれのサンプル・レートには、256の増加 クロックレートが含まれている。制御レジスタCFIG3I[2]の状態を変更して、こ の可変再生モードを有効にすることによって、DAC514のための再生周波数は256 ステップにわたって連続的に変更ができ、高品質の音を出す音声サンプル・レー ト間で滑らかな遷移をすることができる。以前は、わずか14の異なったサンプル ・レートが使用されていたために、サンプル・レートのデータは増やして書き換 えなければならなかった。それから、必要な音とサンプル・レート間での遷移を できるようにするために、レートを再度増やし、信号を再度書き換えねばならな かった。これには過度のプロセッサーの介在を必要とした。 CODECアナログMixer606(図45)の中のフィードバック・ループを使用して、 記録ADC516と再生DAC514のサンプル・レートが独立にプログラムすることによっ て、アナログ音声信号はサンプルできて、1レートで記録ADC516によってデジタ ルに変換が可能になった。この機能には、異なったサンプル・レートで記録と再 生された音声信号間での変換機能が備わっている。たとえば、コンパクト・ディ スク(CD)の直接記録、あるいは音質の極端に劣化することなくフォーマットされ たテープへのデジタル音声データ(DAT)は、44.1KHzの再生DAT514を通してアナロ グに変換されるCD音声データによって作成され、それから記録ADC516回路を通し て処理され、48KHzのDATの外部音声装置によって記録された直列あるいは並列の デジタル音声データとして利用できる。 本発明では、連続可変再生周波数モードは、サンプリングを増やしたり書き換 えるために外部のプロセッサーの介在を受けることなく、CODEC505内で再生サン プル・レートを徐々に増やすように指定することが可能である。できれば、周波 数範囲は、Registerブロック566(図50)の制御レジスタCPDFI[0]によって指定さ れる野が望ましい。 この制御レジスタはプログラムが可能で、いつでも再生周波数が使用され、どの クロックが使用されるかかを指定できる。図48を参照。このためには、ある種の 外部プロセッサー介在が周波数指定命令をロードすることが必要になるが、以前 の音声システムほどには負荷はかからない。既存のシステムとのソフトウェア互 換のために、再生可変周波数モードは、再生DAC514や記録ADC516の14サンプル・ レートモード操作とは違っている。 外部クリスタルを持った発振器560(図50)は、再生可変周波数モードのため の周波数域を生成するために使用される。できれば、ON-CHIP回路とともに2つ の外部クリスタルが、1つは24.576MHzの、他の1つは16.9344MHzの、2つのク ロックを作るために使用される野が望ましい。SELECTLOGIC回路762で16.9MHzの クロックを指定すると、3.5KHzから22.05KHzまでの1つの256ステップ周波数域 が提供される。24.5MHzクリスタルを指定すると、35.0KHzから32.00KHzまでの1 つの256ステップ周波数域が提供される。 1つの指定された周波数域で256ステップのそれぞれを供給するためには、指定 されたクリスタル発振器は、X256クロック(サンプル・レートの256倍)を作る ためには3以上で割られる。それから、X256クロックをX64クロック(サンプル ・レートの64倍)を作るために4で割られる。X64クロックは指定された範囲 内の周波数を生成するために、8サイクルの周期的なパターンを繰り返す。図48 の分割ロジックによって生成された種々のクロックは、再生DAC514(図44)によ る再生の間サンプル・レート(ピッチ)を変更するために使用される。その結果 、サンプル・レートが高いほど、ピッチは高くなり、サンプルレートが低いほど ピッチも低くなる。この連続的な可変再生サンプル・レートの機能は、どのDAC でも使用でき、ここに述べてあるΣ-△再生DAC514に限定されない。 表C1には、それぞれの帯域のためのサンプル周波数を指定するために優先的に 使用される式が記されている。 表C2は1つの帯域域内の最初のクロック周波数が16.9MHz外部クリスタル発振 器を使用して生成される方法を示している。 表C3は、表C2で示した波形を作成するためにX256を使用する望ましい方法を示 している。表3に示されている4サイクルパターンは、レジスタSMX64[1:0]の状 態によって与えられるが、できれば、X64クロックは50パーセントの負荷サイク ルを維持していることを確実にするために使用されるのが望ましい。 図48は、CODEC505の記録と再生パスのために独立に指定可能なサンプル・レー トを供給しているクロック指定回路と、再生DAC514のための連続可変再生サンプ ル・レートを示している。再生DAC514と記録 ADC516(図44)はそれぞれ、5.5から48.0KHzの範囲の14の異なったサンプル・レ ートの一つで動作可能である。これらのサンプル・レートは優先的に2つのクリ スタル発振器560から取り出される(図50)。CODEC505のSELECTLOGIC回路762は 、どのサンプル・レートが使用されているかによって、16MHzか24MHzの発振器の 出力を指定するために2:1 MUX766を制御する。 記録パスのGATELOGICブロック752と、再生パスの764は、指定されたより遅い クロックを供給するために、指定されたクロック信号を分割LOGICブロック754, 756と760,757にそれぞれ供給する。図48に示されているように、制御レジスタC PDPI[0],CPDFI[3:1],CRDFI[0],CRDFI[3:10],CFIG3I[2]およびCPVFI[7:0]は 、指定されたクロック信号を生成するために用いられるように、分割LOGICを制 御する。クロックCP256Xは、再生DAC514での動作を制御するのに使用される。ク ロックCP64Xは、準デジタルのフィルター804の動作を制御するのに使用される( 図51)。 図49と49aで、CODEC505には直列デジタル音声データの変換のためのロジック と制御、並列から直列への(TS)変換ブロック788,789、そして直列から並列への (STP)変換ロジック782が含まれている。レコード多重装置(MUX)784は制御レジ スタICMPTI[8:6]によって制御される。もしビット[8:6]が0であれば、MUX784は 記録ADC516から並列デジタル音声データを指定する。もしビット[8:6]が1であ れば、MUX784はSTP変換ロジック782の出力を指定する。記録パスで、MUX784の出 力はCODEC再生FIFO538に供給される。図44を見ると、記録FIFO538の出力は、REG ISTER DATABUS526上で、並列変換器789、並列転送制御540とデータパス550を通 ってLOCALEMORY CONTROL790(これは、記録FIFOとして記憶のために、データをOF F-CHIPLOCALMEMORY110に転送する、図44)上で、そしてPTSブロック789の入力で 、利用できる。PTSブロック789によって、データは、SERIALTRANSFERCONTROLブ ロック540を経て、記録FIFO538、再生FIFO532 (直列から並列への変換器782),あるいはEXTERNAL SERIALINTERFACE544へ供給 される。 図49aに示されているように、CODEC再生パスの中で、再生MUX794は制御レジス タICMPTI[8:6]とLMFSI[PE]とによって制御される。もしICMPTI[8:6]が1でない か、あるいはLMFSI[PE]が1であれば、その時はSTPブロッ782からの音声データ は、再生FIFO532への入力で利用可能である。そうでなければ、REGISTER DATA B US526からのデータはFIFO532で利用可能である。図49aに示されているように、L OCALMEMORY CONTROL790からのデータ(これはLOCAL MEMORY110からデータは持っ てこられる、図44)は、再生MUX794経由で再生FIPO532に渡される。SYNTH DSP79 6、あるいは記録FIFO538からのデータは、また再生MUX794の入力時に利用できる 。図49aにあるように、ICMPT[8:6]の値は直列転送制御MUXES554と548の動作を制 御する。直列転送制御MUX546の動作は、LMFSI[PE]の状態によって制御される。 図44に示されているように、SYNTH DSP796からの音声データはまたSYNTH DAC5 12の入力時に利用可能である。SYNTH DAC512の出力は、CODECアナログMixer606 (図45)の中の左SYNTH DAC MUX649(それと右SYNTH DACMUX、図にはない)への 入力として供給される。SYNTH DSP796は外部装置でもよいし、あるいは,CODEC5 05とSYNTHの間の動作の柔軟性やスピードを高めるために、CODEC装置505として 同じモノシリックIC上のSYNTHモジュールの中にあってもよい。 STPとPTSとの変換ロジックのブロック782と789のそれぞれとSERIAL TRANSFERC ONTROL540とを配置することによって、CODECC505の記録と再生パス間にデジタル ・ループ機能ができて上がっている。これによって、外部装置から、あるいは記 録FIFO538または再生FIFO532から、あるいはLOCAL MEMORY CONTROL790を経てOFF -CHIPLOCALMEMORY110へ(図44)、あるいは外部のシステムメモリへの音声デー タ転送やテストの柔軟性が高くなっている。PTSとSTPブロック 789と782を通って、デジタル・データパス(図44、49)が、記録FIFO538出力と 再生FIFO532入力の間に描かれている。再生DAC514出力と記録ADC516入力間のル ープはアナログで、Mixer606の中にあって、図45、左記録ADC666への左再生680 ループで描かれている。 EXTERNAL SERIAL INTERFACE544は直列入力と出力を持ったSYNTHDSPへ接続して もよい。それによってSYNTH DSPは、SERIAL TRANSFERCONTROLブロック540を経由 して直列データを記録FIFO538から受け取ることができ、SERIAL TRANSFERCONTRO Lブロック540を経由して、直列データを再生FIFO532に送ることができる。 CODEC 505の直列データ変換ロジックに中の記録と再生MUXES784と79 4とは、なるべくビットストリームのMUXがのぞましい。できれば、転送を実行す るために必要な制御信号やクロックを生成したり動作するためには、状態マシン が使用されるのが望ましい。上記の直列データ転送中の制御信号についての記述 を参照のこと。SERIAL TRANSFERCONTROLブロック540の中での転送のほとんどは 、16.9344MHzクリスタル発振器を8で割って出された2.1MHzの50パーセント負荷 サイクルで動作する。DSP796から外部装置への転送は、SYNTHDSPフレーム・レー トに基づいて、フレームあたり32クロックを使用する。STPロジックブロサRANSF ERCONTROLブロック540によって生成されるパルスSTSYNCは、最初にMSB、その後 に16ビットのデータが続く。 PTSブロック788、789に関しては、データ構成と順序は16ビットDMA転送につい ても同じである。各16ビット左または右データサンプルのLSBが転送された後にS TSYNCが切り替わる。それぞれのPTS変換ブロック788、789の変換動作では、16ビ ットデータが順々にシフトされる。転送に数やデータ構成、データの順序は下記 の指定された転送モードによって変わる。 PTSブロック788、789は、下記の表C4に説明されているように、16ビットDMAの FIFOへの転送と同様に動作する。(たとえば、もし8ビットモードにあるときは 、最初のサンプルはLSBで2番目はMSBと いうように、2つのデータサンプル毎に1つの直列転送がある。16ビットのステ レオモードであれば、受け取ったサンプルごとに2つの転送がある。) PTSブロック788、789は、フラッグをセットして、転送するデータがあること を示す。直列転送制御ブロック540は、MSBから始まる直列データの転送を意味す るパルス、STSYNC(直列転送SYNC)を生成することによって、応答する。16ビッ トは転送された後、クリアパルスが直列転送制御ブロック540からPTSブロック78 8、789へ送られる。その結果新しいデータがPTSブロック788、789にロードされ る。できれば、直列転送制御ブロック540で多重化されるすべての音声データに は3つの入力元と出力先があることが望ましい。 制御レジスタ、REGISTERブロック566内のICPMTI、の内容を表C5に示されてい る動作の中の指定されたモードに修正することによって、種々の動作モードが指 定可能である。 一般に、記録あるいは再生FIFO538、532がデータ出力先であれば、そのパスの フォーマットとサンプル・レートは表C5に示されたものに一致しなければならな い。そうでなければ、データ転送は正確にはなされない。たとえば、STM=2であ ると、再生パスのサンプル・レートとフォーマットはSynth DSP796(16ビットス テレオ、44.1MHz)と同じでなければならない。STM=3であると、再生パスのサン プル・レートとフォーマットは記録パスと一致しなければならない。モード4で は、再生サンプル・レートは44.1KHz以下である。そのモーではSynthDSP796は、 サンプル・レートは44.1KHzより小さくでき、シンセサイザー・グローバル・モ ード・レジスタSGMI[ENH]の中の値は0で、アクティブなシンセサイザーボイス の数を示すレジスタ、SAVI[AV]、が14以上にセットされることを示している。す なわち、14以上の音声または信号が処理されていると、このモードでのサンプル ・レートは44.1KHz以下でも可能である。そうでなければ、最初の14個の信号は4 4.1KHzで処理される。STM=1とSTM=2のモードに対しては、CODEC505は44.1KHzの サンプル・レートをサポートする。これらの2つのモードで、もしSynth DSP796 が44.1KHz以外で動作すれば、正常に動作しない。 図50に示されているように、再生モードにある間、外部システムメモリからの デジタル音声データは、いくつかの指定可能なフォーマットで、DMAあるいはI/O 転送を経由して、CONTROL LOGIC & EXTERNAL BUS INTERFACE568を通して、EXTER NAL BUS562に渡され、そして左右チャンネル16ビットステレオデータとして、RE GISTERDATA BUS526に送られ、最後に32ビットの再生FIFO532、あるいはLMPF528 の渡される(図44)。 LMPF528(図44)は既存の左と右のチャンネル16ビット長のデジタル・ステレ オ・音声データを、REGISTER BUS526を通して直接再生FIFO532にダウンロードし てもよい。 そうすることによって、前のI/OあるいはDMA転送が外部システム メモリとLMPF528間でなされ、外部システムメモリとCODEC再生FIFO532との間で 必要な多くのDMA転送が減ることになる。再生中、ほとんどのデータ転送の共通 なモードは外部システムメモリとCODEC再生FIFO532との間のDMA転送である。い ずれの場合も、音声データは、それから再生FIFO532に出力され、図44のFORMATC ONVERSIONブロック534の説明にあるように、16ビット符号付きデータにフォーマ ットされ(分解され)、それから16ビット符号付きデータとして、再生DAC514に 入力される。そのデータは、それから、図45の記述に関連してすでに説明した、 左右のアナログMixerを含んでいるMIXING FUNCTIONブロック510に送られる。 記録パスでは、CODECアナログ入力ピン520を通して入力された外部アナログ音 声信号は、MIXING AND ANALOGFUNCTIONブロック520を通じて送出され、左右のチ ャンネルステレオ16ビット符号付きデジタル信号として、記録ADC516へ渡される 。記録ADC516からの16ビットの左右のチャンネル・ステレオ・データは、それか ら事前に指定されたフォーマットに変*538に送られ、さらにREGISTER DATA BUS5 26へ、それからEXTERNAL BUS562へ、それからDMAあるいはI/Oデータ転送によっ て外部システムメモリあるいはLMRF530へ渡される(図44)。記録モードでは、D MAデータ転送はLMRF530(LMRF530はON-CHIP RECORD FIFO538からの音声データを ロードされている)とEXTERNALBUS562を通して外部システムメモリとの間か、あ るいは、ON-CHIP RECORD FIFO538と外部システムメモリ間で直接行われる。 CODEC505は外部システムメモリとCODEC ON-CHIP記録と再生FIFO538、532との 間で、そしてまたシステムメモリとOFF-CHIP LMPF528とLMPF530との間で、シス テムの柔軟性を高めるために、I/Oを実行することができる。 図50で、CODEC505の再生パスがモノモードにあって、制御レジスタCPDFI[4]の ビットが立ってないとき、再生DAC514ブロックの左右のチャンネル・ステレオDA Cには再生FIFI532からの音声データと同じ ものが渡される。記録パスがモノモードにあって、制御レジスタCPDFI[4]のビッ トが立ってないときは、できるだけ記録ADC516内の左ステレオADCからだけのデ ータ(右ステレオADCからのデータは無視)が処理されて記録FIFO538に渡される のが望ましい。 ものモードのもう一つの構造では、右ステレオADCからのデータだけが記録FIF O538に渡される。音声信号周波数がナイキスト・レートより大きい、すなわち0. 5f(サンプル・レートの1/2)より大きいレートで処理された場合、折り返し問題 が発生する。通過帯域と断絶回路はfの倍数の信号反射を減らし、信号周波数を プラスしたりマイナスしたりするために使用される。22KHzのために.6Fでの通過 帯域断絶は、できれば、75dB以上であることが望ましい。通過帯域断絶は、再生 DAC514のD/A変換中に高周波数イメージ(反射)を減らすために、アナログフィ ルターといっしよに使用される。記録ADC516内で、オーバーサンプリングは下位 ビット解析時にサンプル・レートを64倍して行われる。信号はそれから、必要な 分析結果とサンプル・レート、たとえば16ビットでは44.1KHz、が得られるまで 、記録ADC516内でサンプルされてフィルターされる。記録ADC516回路の機能と操 作についての詳しい説明は以下の通りである。上記の表C4には、DMA転送単位で 転送される音声データのサンプル、8ビットまたは16ビットDMA転送のためのDMA 転送ごとのサイクルの数、に関する情報が載っている。この数は指定されたDMA のタイプによって異なる。たとえば、8ビットDMA転送モードでは、4ビットADP CMモノ音声データとしてフォーマットされた音声データは、1DMAサイクルで2つ の4ビットサンプルが転送される。16ビットDMA転送モードでは、4つの4ビッ トADPCMモノサンプルが、1つのDMAサイクルで転送される。16ビットDMAサイク ルでは、再生FIFO532への最初のバイトが[7:0]に、2番目のバイトがビット[15: 8]に割り当てられる。記録と再生の同時動作(読み出しと書き込み)が可能である 。I/O動作中、外部システムプロセッサーは、I/O動作が必要かどうかを判断する ために、CODEC505状 態レジスタを読み、CODEC505のどの部分がデータを要求したかを判断するために 、CONTROL LOGIC ANDEXTERNAL BUS INTERFACE568を経由してCODEC505を指定する 。外部システム制御は、再生または記録FIFO(532、538)に非同期にデータを転送 するためにI/O動作を行うことができる。記録FIFO538および再生FIFO532に対す るエラー条件は、表C6に示されている。 16ビットが左チャンネルデータ専用に、16ビットが右チャンネル専用に構成さ れた16サンプル、32ビットの記録と再生FIFO538、532とによって、0、7、15のサ ンプルアドレスにある記録と再生FIFO538、532のスレショルド、いわゆるタップ は、“空”、“半分いっぱい”、“いっぱい”に対応する。I/Oインタラプト要 求(IRQ)あるいはDMA要求(DRQ)がCODEC505の記録または再生FIFO538、532の 状態によって生成できるように(モード3のみで、下記に説明)、これらのアド レスは制御ロジックブロック568によって監視される。この動作は、後で詳細に 説明する。 別々のDRQ信号が記録と再生FIFO538、532用に生成される。CODEC505用に1つ のDMAチャンネルだけを割くことが可能な外部システムでは、再生DRQを共用して 記録DMAまたは再生DMAとして機能することができるようするモードが提供される 。代わりにDMA機能がないシステムもI/O転送を使用してもよい。DMA転送モード は、Register ブロック566(図50)の構成制御レジスタCFIG11に指定される。もし記録または 再生パスが有効でない場合(CFIG11[1:0]を通して)、対応するDRQ要求信号がア クティブになった後、音声データサンプルが肯定応答を待っている間あたかもパ スがまだアクティブであったかのように転送され続ける。最後の音声サンプルが 転送された後は、他のDMA要求はサービスされない。 録音パスが、CFIG1I[1]によって、有効でない場合、あるいは記録と再生の両 方のパスがDMA転送のために有効になりつつあるが単一チャンネルDMA動作がCFIG 1I[2:0]=[1,1,1]で指定されている場合は、記録FIFOが再度アクティブにされ たときに古いデータが処理されないようにするために、記録FIFO538に残ってい るすべてのデータはクリアされる。しかし、無効にされる前に、記録FIFO538よ り前の記録パスは、フォーマット変換ブロック536(図44)と記録ADC516内のフ ィルター機能を含めて、4つのサンプル周期の間はクリアされない。 再生パスがCFIG1I[0]によって無効であるとき、再生音声は直接消音され、再 生FIFO532に残っているすべてのサンプルはそのサンプル・レートでFIFO532から 取り除かれる。4つのサンプル周期の間、再生FIFO532が後のFIFO再生パスの中 で0で空にされた後、再生パスは電力消費を最小にするために無効状態にされる 。 OFF-CHIP LOCAL MEMORY110(図44)はできればON-CHIP再生と記録FIFO532、538 といっしよに使用されるのが望ましい。LOCALMEMORY110は、できるかぎり、大き な再生と記録FIFO532、538として、それぞれおおよそ8ビットアドレスで16メガ ビットくらいの大きさで構成されるのが望ましい。CODEC COUNTERS,TIMERSブロ ック518の中の19ビットのカウンタは、それぞれのLMPF523とLMRF530を作るため に、DRAMの領域サイズを指定するためにプログラムされる。これらは512Kのサン プルまでを保持するように構成ができる。LMPF528とLMRF530、あるいはlocal me moryのためのおおよその音声サンプルメモリは、設計やアプリケーションの要求 によって構成される。低コストと電力のた めにSRAMの代わりにDRAMを使用するのが望ましい。 CODEC505は外部システムメモリとLMPF528間でデータ転送をインタリーブで行 うためのモードを持っている。インタリーブでのデータモードでは、外部デジタ ル音声データサンプルは、外部システムメモリにL1,R1,L2,R2,...として順 番に記憶され、EXTERNAL BUS562を通してLOCALMEMORY CONTROL790(図49)へ転 送される。CONTROLLOGICブロック528で、そのデータはLMPF528に記憶される前に フォーマット変換されてる。そして左チャンネルデータサンプルはOFF-CHIP LOC AL MEMORY110の1つの領域にL1,L2,L3...ブロックとして記憶される。右チャ ンネルデータサンプルはLOCAL MEMORY110のもう1つの領域にR1,R2,R3...ブロ ックとして記憶される。モノモードでは、同じデータがLOCALMEMORYの両方のブ ロックに記憶される。CODEC505の記録モードに対しては、同じ方法を逆方向に使 用して、同じサンプルはLMRF530から外部システムメモリに送られる。 COUNTER,ETCブロック518(図44)内に2つの16サンプルカウンタがある、再 生FIFO532用に1つと記録FIFO538用に1つ。サンプルカウンタは個々のFIFOに入 ってくるあるいは出て行くサンプルの数をカウントする。個々のカウンタは、AD PCMモード以外で、1つのサンプル周期ごとに1つ減らされる。カウンタが0に なると、マスクがされていなければ、インタラプトが起きて、カウンタが次の値 で再ロードされる。カウンタのカウント値は、REGISTERブロック566(図50)の 記録と再生カウントレジスタ(CURCTI,CORCTI,CUPCTI,CLPCTI)の方法でプロ グラムされる。カウンタの状態はREGISTERブロック566の制御レジスタCSR3Iを通 じて報告される。モード3では、下に説明したように、CODEC再生カウンタは、D MA転送が外部システムメモリからOFF-CHIP LOCAL MEMORY110になされたとき、 また、外部システムメモリからON-CHIP記録あるいは再生FIFO538、532になされ たときに、減らされる。 表C7にデータフォーマットとサンプルカウンタを減らす事象との関 係を示されている。 表C8にサンプルカウンタを減らす事象と下記のBoolean等式で使用される変数 が載っている。これらはカウンタへ有効な入力をするために使用される。 表C9は、音声データが、外部システムやマイクロプロセッサーからの記録と再 生FIFO538、532へ渡される、あるいは受け取られるフォーマットを示す。表C9の 文字“S”は“サンプル”を指し、その文字“S”の後の数はサンプル番号を指す 。サンプル番号の後の“R”あるいは“L”は右あるいは左のチャンネルステレオ 音声データを指す。 COUNTERS ANDTIMESブロック518(図44)にあるCODECタイマーは、音声信号を 出すための時間の長さなど、外部システムの機能の時間を測るのに使用される。 タイマーカウントが完了すると、インタラプトが生成される。CODEC505はその機 能用には、個のタイマーをできるだけ使用しないことが望ましい。しかし工業互 換や拡張性にためにこの機能を備えておくことは必要である。 CODEC505は、再生または記録の間3つのモードで動作が可能である。CODEC505 は一般にモード1とモード2で動作することによって、現在の音声システムとレ ジスタ互換である。間接アドレッシング方式がREGISTERブロック566(図50)の 中のほとんどのCODECレジスタをアクセスするために使用される。モード1では 、16の間接レジスタがあるのが望ましい。モード2では、28の間接レジスタがあ るのが望ましい。CODEC505に特有なモード3では、32の間接レジスタがあるのが 望ましい。これらのモードでの動作はは次の通りである。 モード1。COUNTERS,ETSブロック518内の再生サンプルカウンタは、再生パス が有効であるとき(CFIG1I[0])または記録パスが有効であるとき(CFIG1I[1])に減 らされる。両方のパスが有効であれば再生パスだけがカウンタに作用し、記録サ ンプルカウンタには利用されない。REGISTER CODEC INDEX ADDRESS REGISTERCID XR[DTD]がセットされていて、アクティブなパスがインタラプトを起こすと(CSRI R[GINT])、サンプルカウンタはカウントを止める。カウンタは、そのインタラプ ト、あるいはCIDXR[DTD]がクリアされると再びカウントをはじめる。DMA あるいはI/Oサイクル制御ビット、CFIG1I[7:6]、はサンプルカウンタの動きには 影響しない。 モード2。再生サンプルカウンタは、再生パスが有効であるとき(CFIG1I[0])に 減らされる。記録サンプルカウンタは、記録パスが有効なとき(CFIG1I[1])、ま た、CFIG1I[2]とCFIG1I[0]が有効でなければ、減らされる。CODEC INDEX ADDRES SREGISTERCIDXR[DTD]がセットされていて、アクティブなパスがインタラプトを 起こすと(CSR3R[5:4])、インタラプトを要求したそれぞれのパスは動作を止める 。そのインタラプト、あるいはCIDXR[DTD]がクリアされるとそのデータパスは動 作をはじめ、再びカウントをはじめる。DMAあるいはI/Oサイクル制御ビット、CF IG1I[7:6]、はサンプルカウンタの動きには影響しない。 モード3。I/Oモードにあるときに(CFIG1I[7:6])サンプルカウンタがカウント をしないことを除いて、モード2と同じ動作をする。また、構成レジスタ,CFIG 2I[5:4]がらサンプルカウンタを動作できる。これは高度モードで、独立の記録 と再生パスサンプルレート、記録と再生プログラム可能なFIFOスレショルド、Sy nth DAC音声信号に有効な付加アナログMixer入力、Mixer606(図45)LIME/MONO 出力のための減衰/ゲイン制御、再生パスでのプログラム可能な連続可変サンプ ル周波数モード、が可能である。 モード2、3では、プログラム可能な16ビットのタイマーが提供される。このタ イマーは大体10ミリ秒の単位になっていて、100KHzクロック、CLK100Kを使用す る。タイマCPIG2I[6]によってイネーブルされる。 CODEC505内のプログラム可能な一対のレジスタは、16BITCOUNTERPRESET(CUTIM I,CLTIMI)を指し、カウンタは10ミリ秒毎に0になるまで減らしていく。0にな ると、状態レジスタ3にタイマーインタラプトビットがセットされ、状態レジス タ1にインタラプトビットがセットされ、もし有効になっていれば(CEXTI[1]) ,インタラプトが起きる。次のタイマークロックでにCUTIMI値とCLTIMI値が再度 ロード される。 記録と再生FIFO538、532は、外部システムメモリからそれぞれのFIFOにあるい はFIFOへIRQあるいはDRQを通信するために、プログラム可能なスレショルド、あ るいはタップを含んでいる。スレショルド操作は、次の通りである:記録と再生 FIFO538、532でポインタ木が0であれば、そのアドレスはデータがなく、1であ れば、データが存在する。どちらかのFIFOの特定のアドレスに対して、インデッ クスポインタ木が1から0へと遷移すると、外部システムが事前に設定されてい るスレショルドのレベル(再生)以上に再生FIFO532を満たすために、あるいは 外部システムに対して事前に設定されているスレショルドのレベル(記録)以下 に記録FIFO538を空にするために、IRQまたはDRQインタラプトをトリガーする。 CODECロジック制御ブロック568(図50)はいずれかのFIFOのタップに接続され る。構成レジスタCFIG3I[4,5]のスレショルド指定は、空、いっぱい、中位のス レショルドのどれが選択されるかを決定する。ロジック制御ブロック568は引き 続きタップを監視して、自動的にそれが実行されるために設計されている機能を 生成し実行する(すなわち、DMAあるいはI/Oインタラプト生成)。タップがスレ ショルドアドレスが空(再生)あるいはいっぱい(記録)であることを感知する と、タップがFIFO内のいっぱい、空、中位かのどこにあるかによって、インタラ プト要求が生成される。COUNTERS,TIMERS,ETCブロック518(図44)のDMAカウン タはある数のデータサンプルがCODEC505との間で転送されるようにセットされる 。あるカウンタがそのカウントを完了すると、インタラプト要求が生成される。 記録と再生FIFO538、532のインデックスポインタの値はCODEC制御ブロック568 に渡される。インデックスポインタがFIFOスレショルドに達すると、REGISTERブ ロック566の1つの状態レジスタの中の1つのビットが変更される。この状態ビ ットがFIFOとの記録と再生動作を実行するために外部システム処理で読まれる。 REGISTERブロック566 の状態レジスタは、スレショルド(タップ)がFIFOで1から0に変わったとき即 座に変更される。それが起きると、状態レジスタの中のビットのトグルする、そ してその状態レジスタが外部システムプロセッサーでチェックされたとき、その プロセッサーはどの装置がインタラプトを要求しているかを判断する。REGISTER ブロック566のCODECレジスタはREGISTER DATA BUS526を通して直接アドレスで、 あるいはREGISTERブロック566の中のインデックスレジスタの方法によって、間 接アドレスを通してアドレスされる。 CODEC505では、次のインタラプトが生成される:(1)記録と再生FIPOI/Oス レショルドに達した;(2)記録と再生サンプルカウンタがゼロになった;(3 )CODECタイマーが0になった。CONTROL LOGICブロック568(図50)にあるCODEC インタラプトロジックの結果は結合されて1つのインタラプト信号、IACODEC, にされる。それはCONTROL LOGICブロック568のインタラプト選択ロジックにパス される。そのインタラプトは,Global enable,CEXTI[1]によってマスクされる 。インタラプトの状態は、REGISTERブロック566にあるGLOBAL STATUSREGISTER ,CSRIR[0]に表示される(図50)。 次のインタラプト等式は、CODEC505インタラプトに関連するCONTROL LOGICブ ロック568のロジックをセットしたり(CSET)、クリアしたり(CCLR)するため に必要な状態を示す。CSR2Iに3つのインタラプト状態ビットのどれかを作動さ せるために、CONTROL LOGICブロック568内に1つのラッチがある。表C10を参照 すると、変数の定義が次のインタラプト等式に与えられている。 2つの汎用制御信号、GPOUT[1:2]、がCONTROL LOGICブロック568から渡される 。これらのデジタル出力の状態は、REGISTERブロック566(図50)の中の外部制御 レジスタ(CEXTI)にある対応する制御ビットの状態を表している。 CODECは低電力モードを持っている。3つのプログラム可能なビットは、CODEC 505の低電力シャットダウン状態、REGISTERブロック566(図50)にある電力制御レ ジスタPPWRI[2:0]を指定して、CODEC505の記録パス、再生パスあるいはアナログ 回路を無効にすることができる。他の構造では、幾分かのビットが使用されるか もしれない。シャットダウンモードでは、外部クリスタル発振器560(図50)は 無効にされるが、REGISTERブロック566内のすべてのレジスタは読み出し可能で ある。休止モードでは、外部コンピュータシステムやプロセッサーによって指定 されて、CODEC505は、電力制御レジスタ、PPWRI,の中のすべての3ビットがあ たかも低電力状態を選択して、発振器560が両方とも無効にされ、CODECI/Oピン のほとんどががアクセスできなくなるかのように、実行する。専用の休止モード 制御ピン、SUSPEND#、はCODECI/Oピンを強制的に立てたり、落としたり、あるい はデジタルあるいはアナログの高インピーダンスモードにしたりする。表C11を 参 照のこと、そこには休止モードでのI/Oピンの状態が説明されている。クロック 作動回路によって消費される電力を減らす方法が、アプリケーション連番07/918 ,622のタイトル″Clock Generator capable of Shut-Down Mode and Clock gen eration Method″に説明してあり、これは本発明の共有assigneeに指定され、す べての目的にここで組み込まれている。 表C12は、PPWRI[2:0]がシャットダウンモードでCODEC505に引き起こす事項を 記述している。 SUSPEND#ピンがアクティブになると、CODECはそれがシャットダウンモードに なるときにとる動きと同様な動きをする。信号ISUSPRQは、シャットダウンロジ ックによって、I2LSUSPRQとI2SSUSPRQとの論理和がとられる。ISUSPIPは論知的 にI2LSUSPIPと論理和がとられる。 SUSPEND#が確認されたときに、CODEC505がシャットダウンモードにあると、(1 )I/Oピンは、上記の休止モードに要件に合致するように、変更される。そして (2)再生DAC514、記録ADC516、そしてSynth DAC512(もしSynth DAC512がCODEC 505の中で処理ブロックとして組み込まれていれば)のCODEC505アナログ回路は 、それがまだそのモードでなければ、低電力モードに置かれる。 SUSPEND#が確認された後、CONTROL LOGICブロック568のロジックは、CODEC505 のクロックを停止する前に、そして発振器を無効にする前に、100マイクロ秒以 上待つ。16MHzクロックICLK16Mと24MHzクロックICLK24Mが、歪みや異常が無いよ うに、無効にされる。クロックが高フェーズの1つになったとき、休止モードが 無効にされるまで、そのままの状態を維持する。SUSPEND#が休止した後、外部発 振器560は広K24Mは発振器560が4から8秒後に安定するまで再トグルはしない。 この状態は、発振器560がうまく64K回計測できた後に起きる。出力クロックが少 なくとも100マイクロ秒トグルした後、SUSPEND#信号はCODEC505の残りのロジッ クを動作させるために不確定状態に置かれる。そのクロックが有効でない間は、 信号ISUSPIP(休止中)はアクティブになる。それは、表C11の休止要件毎にI/O ピンの状態を変更するのに使用される。 CODEC505はVCC=+3.3あるいは5ボルトで動作することができる。制御ロジック ブロック568(図50)の検電回路はCODECが3.3あるいは5ボルトの動作モードに あるかどうかを判定する。動作状態は検電回路レジスタAVCCIS5の出力のよって 決定される。外部コンピュータ、あるいはプロセッサーが信号が動作VCCより大 きくなっていないことを知らされるように、動作検電回路が使用される。たとえ ば、3.3ボルトで動作中は4ボルトの信号は生成されない。それはまた、アナロ グ最大基準電圧やデジタルI/Oピンの駆動力の範囲をセットするのにも使用され る。 CODEC505は外部CD-ROMインタフェース568(図50)と相互作用が可 能である。チップ指定、DMA要求、DMA肯定応答、そしてCD-ROMインタフェースか らのインタラプト要求を含んだ信号がCODEC505によってサポートされる。 外部直列EPROMあるいはEEPROM(図50)はCODEC505Plug-n-Play(PNP)をISA、ET SAあるいは他の工業標準バスや装置と互換性を保つためにCODEC505で使用されて もよい。外部コンピュータ、あるいはプロセッサーのためにCODEC505を構成する ように直列EPROMやEEPROMを制御するために、市販のPNPソフトウェアが使用され てもよい。PNP機能のために外部の直列EPROMやEEPROMが利用できない場合は、外 部CD-ROMインタフェースはCODECではアクセスできない。 A. CODEC再生パスのデジタル信号処理部 CODEC再生DAC514(図44)、もしDAC512がCODEC505に含まれていればSynth DAC51 2は、補間ブロック800(図51)と、NOISE Shaper802、semi-digital FIR filter80 4を左右のチャンネルステレオ音声データのために含んでいる。左チャンネルだ けが図51に示されていて、ここで説明される。右チャンネルの動作は同様である 。 CODEC再生DAC514の動作はここで説明される。Synth512がCODEC505に含まれて いれば、その動作は同じである。含まれてなければ、違ったものになる。 16ビットデジタル音声信号806はFORMAT CONVERTIONブロック534(図44)から 出力され、符号付きデータ信号として、信号がまとめられる再生DAC514のINTERP OLATORブロック800(図51)へ入力される。最初の3つの補間ステージの後、複 数ビットがまとめられたデジタル音声信号840はNOISE SHAPER802への入力部へ出 力され、そこで量子化されて1ビットデジタル出力信号842へ変換される。1ビ ット信号842はそれからsemi-digital FIR filter804へ入力される。そこでは不 要なものが帯域周波数から除外されて、その信号はアナログ音声信号808へ変換 される。そして、再生DAC514の出力時に利用される。左チャンネルアナログ音声 信号808は左チャンネルCODEC再生Mixer678への入力として利用される。 図52の再生DAC514の前部を参照してみると、16ビットデジタル音声信号806が 最初に補間され、それから量子化され、ノイズ整形されている。再生DAC514はサ ンプルレートfで16ビットデジタル音声信号806を入力として受け取り、INTERPO LATORブロック800(図51)の出力時に、16ビットデジタル音声信号806に対して そのサンプルレートを64倍してサンプルした(64倍オーバーサンプリング)1ビ ット信号840を生成している。1ステージでは多くのフィルターが必要なために 、補間はINTERPOLATORブロック800の中で3つのステージで行われる。回路の複 雑さは、Interp.1ブロック810,812では2、Interp.2ブロック814では2、そしてI nterp.3ブロック816では16の補間アップサンプリング係数によって、3つのステ ージでの64回のアップ・サンプリング補間を実行することによって最少化される 。 Interp.1ブロック810,812への特定の入力スペクトルは、f/2までの周波数の 構成要素、そしてfの整数倍に集中した不要なイメージとを含んでいる。特定の 入力スペクトルついては図53aを参照のこと。 f=2×fに対して、Interp.1ブロック810で最初の補間を実行するためには、で きるだけおよそ0.40fまで拡大された数か帯域を持っていて、またおよそ0.60fで 始まる停止帯域を持っているFIRフィルターが使用されるのがのぞましい。また 通過帯域はおよそ0.45fまで拡大し、およそ0.55fで停止帯域をはじめることが望 ましい。そのフィルターの停止帯域減衰は、できれば、100dB以上であること、 通過帯域リプルは、約+/-0.1dBであることが望ましい。これにとって、0.45f以 下の周波数のイメージは100dBごとに減衰されることが保証される。しかしなが ら、より高い周波数はそのイメージとともに、そのフィルターの遷移帯域の内側 に入り、減衰は少なくなる。したがって、有用な帯域幅はf=8KHzでおよそ3.6KHz 、またはf=44.1KHzでおよそ19.8KHzである。 Interp.1ブロック810,812の出力のスペクトルは、53aで示されている入力に 対して、図53bに示される。 Interp.1ブロック810,812で使用されるインパルス応答係数はテーブルC13の 通りである。これらの係数の値は、もし通過帯域または停止帯域が変われば、違 ってくる。 この補間フィルタリングは、最低レートで動作しているとき、アナログ領域で のフィルタリングを避けるために、デジタルで行われる。最低レートでは複雑で 急激な遷移、アンログフィルターを必要とする。そのようなアナログフィルター が無ければ、そのイメージは出力時に現われない。アナログフィルターはサンプ リングレートでの変更に適応するために可変カットオフを持つ必要がある。 Interp.2ブロック814で実行される2番目の補間ステージはサンプリングレー トをf=4fに変更する。このステージでは、sincフィルターが使用され、おおよそ 30dBのイメージ減衰がなされる。2番目の補間ステージ814の出力のスペクトル が図53cに描かれている。 Interp.3ブロック816で実行される3番目の補間ステージは,16の係数で、サ ンプリングレートをさらにf=64fに変更する。2つの差動遅延といっしよに、sin c補間器が使用される。この補間器は、次の目的を果たす:イメージが次のブロ ック、noiseshaper802によって導入されたノイズレベルを超えないように、補間 器はおよそ4f減衰する。そしてまた2fで0を導入する。それは、補間ステージ28 14とともに、おおよそ2fのイメージに対して十分な減衰を行う。三番目のステー ジ816の出力のためのスペクトルは図53dのとおりである。 再生DACの前部の最後のブロック、そして補間フィルターの最後のステージは 、5番目の順序noise shaper802(図52)である。noise shaper802は、アップサ ンプルされた複数ビット出力840を三番目のステージ816から1ビット信号842に 変換する。それは、そのノイズをChebyshev高速変換関数にしたがって整形する 。noise shaper802出力のためのスペクトルは、図53eのとおりである。noise sh aperブロック802の動作はここに記述されている。 noise shaper802からの1ビット信号は、それからsemi-digital FIR filter80 4(図51)でフィルターされる。semi-digital FIR filter804は、noise shaper8 02によって引き起こされた減衰を補償する。また、f=8KHzのときにおよそ20KHz に拡大された比較的滑らかなノイズレベルを実現する。noise shaper802のgain はunity gainより少ない。 semi-digital FIR filter804アナログ出力のスペクトルは、図53fの通りであ る。補間器800、noise shaper802、semi-digital FIR filter804で処理されてい るデジタル信号のタイムドメインの例が図54に描かれている。 B.補間器処理ブロック(810.812,814,それと816)Interp.1ブロック810,812 は、2N-1タップ(N個の別々の係数)と、この構造ではN=40を持った、対称的( 線形フェーズ)FIRフィルターである。このブロックの補間係数は2である。そ れは、停止帯域で約100dB以上の減衰と、通過帯域でおおよそ+/-0.1dB以下のリ プルを持つように設計されている。また通過帯域応答は、sinc Interp.2ステー ジブ814、sinc Interp.3ステージブ816、そしてnoise shaper802によって導入さ れたgain変動と同様に、再生DAC514D/A変換プロセスで使用されるsemi-digital FIR filter804によって導入されたロールオフを補 償する。 このInterp.1ブロック810,812の中のFIRフィルターは、次のステージで導入 されるすべての周波数変動を1つの機能に結合することによって達成される通過 帯域補償を含んでいる。 図52を参照すると、補間器として使用されるときFIRフィルタはデジタル16ビ ット入力信号806の入力列で動作する。そこではすべてのデータサンプルは0に 等しい(2で補間されるため)。これは、1つの奇数出力サンプル信号832がInt erp.1フェーズ2ブロック812の奇数係数だけ使用して計算されるためである。そ して、次の偶数出力サンプル信号は、Interp.1フェーズ1ブロック810の偶数係 数だけを使って、しかし16ビット入力信号806の同じセットで、計算される。こ れは、図52のInterp.1 810と812として示されている多相インプリメンテーショ ン(コの場合は、2フェーズ)につながる。 そこでは、2つのサブ・フィルタが平行して実行され、フィルタ出力832ト834 は、Interp.1信号出力836を作るために、既知の方法でインタリーブされる。そ の836はそれからInterp.2ブロック814に渡される。 タイム領域では、Interp.1810,812の2つのフェーズからの奇数と偶数の出力 信号834、832は: 偶数出力信号834に対してはフェーズ1(偶数係数)、奇数出力信号832に対して はフェーズ2(奇数係数): すべての遅延は入力サンプリングレートの行われる。 Interp.1ブロック810,812は位相直線性を持っており、インパルス応答は中点 値に関して対称である。対称条件は次のように与えられる: これは、図55と56に示されているように、それぞれ、フィルタ810と812の構造を 反映している。 特に、インパルス応答は非常に小さい係数を含んでいる。より大きな停止帯域 のために、これらの係数は非常に重要である。精密さを守るために、その係数は 、それぞれの大きさが1と1/2との間にあるように基準化される。それから、合 計回路818(図55、56)で、最少の係数に対応した部分積が最初に加えられ、基 準化されて、それから次に高い係数に対応した積に加えられる。もし、語の幅が 精密さを守るために増やされなければ、これは合計は任意の順序ではなされない ことを意味する。すなわち、タップが修正された順序と同じ順序で行われる。 2. 補間器2. 2番目の補間ステージ814Interp.2はsinx補間器フィルタである。このブロッ クの補間係数は2つある。semi-digital filter804によって供給される減衰のた めに、2 xfの高減衰は必要なく、比較的簡単な構造が使用される。 Interp.2ステージ814のためのフィルタの転送機能は: へ拡大されて こうして、Interp.2フィルタ814は整数のみの係数を持つことになる。通過帯域 ロールオフはInterp.1ブロック810,812で補償される。 Interp.2フィルタ814は2つで補間されるため、下に示したように他のサンプ ルが0であるような数列で動作する。 これは、図57に示されているように、Interp.1810,812ブロックに類似した2 つのインプリメンテーションに通じる。 H2aとH2bで、入力サンプリングレートfで遅延が発生する。Interp.2フィルタ81 4の両方のフェーズで、変換関数の共通項がいくらかのハードウェアの節約にな っている。図57はInterp.2フィルタ814の構成を示している。2の倍率が全体を 通して適用される。 周波数応答が、DCに正規化されて、図58と59に示されている。 3. 補間器3 Interp.3ブロック816の転送関数は: 個のブロックの補間係数は16である。差動遅延は2である。orderは2である。 転送関数のインプリメンテーション構造は図60に示してある。微分器839はより 低いレートで走り、積分器841はより早い走る。2つの遅延を持った微分器は1 つの遅延と2つのアキュムレータを持った微分器に分解される。すなわち: Interp.3ブロック816のためのもう1つの構成図が図61に示されている。それぞ れの信号サンプルは最高のレートで走る積分器846によって16倍されて使用され る。0が4fに導入される。図60の2つの遅延ブロック841A,Bと図61の846Aは2 fでもう一つの0を導入するために作動する。それは、補間器sincフィルタ814 トいっしょに十分なイメージ減衰を提供し、Interp.2ブロック814のためのsinc フィルタを使用するよりもより経済的である。補間器3フィルタ816の周波数応答 は、DCに正規化され、図62aと62bに示されてい る。 C. Noise shaper 補間器の最終フェーズ、Noise Shaperブロック802(図51、52)は3番目の補 間器ステージ、Interp.3ブロック816(図52)からの複数ビット信号出力を受け 取って、高速関数にしたがって量子化ノイズを整えている間、それを1ビット信 号に変換する。Shaper802、できればfifth order shapeが望ましい、のためのブ ロックダイヤグラム・インプリメンテーションは、図63に示されている。1ビッ ト出力信号842はまた積分器822に入力される。 図63で示されているデジタルパス残りで決定されたように、前もって定義した 入力振幅の範囲に対してループを安定させるために、積分器822入力は適当な倍 率、k1-5、を持っておかねばならない。図63に示されている簡単な相加性ノイズ モデルは、量子化を表すのに使用される。 この回路のために2つの転送関数が定義される。信号転送関数(STF)Y/X、ここ でXはデジタル音声入力信号840(図52)、それとノイズ転送関数(NTF)Y/E、ここで Eは量子化ノイズ(相加性、白色、一様分布ノイズとしてモデル化される)。NTF が固定されると、STFもまた決定される。そのシステムはFIRフィルタでないので 、応答はもはや、直接的に位相線形ではない。しかしながら、通過帯域でのフェ ーズ変動は非常に小さく、およそ、0.05程度であり、そして振幅は容易にInterp .1 810,812ブロックで補間できる。 noise shaperブロック802にための信号フローグラフ(SFG)は図64に示されて いる。 転送関数は次のように開発されている: 前方向パスゲイン: 入力から出力へのすべての可能な方向パスの累積ゲイン: Non-touching Loops: どの共通なノードを持たないループセットのGainの積が計算される。最初に、 一対のNon-touching Loopsが確認されなければならない。それから、3ビットバ イトが見つけられ、それから、4ビット、など。例示した構成では、一対の非タ ッチ・ループが存在している。 一対のNon-touching Loopsが確認されなければならない。それから、3ビットバ イトが見つけられ、それから、4ビット、など。例示した構成では、一対の非タ ッチ・ループが存在している。 L1,G1 L1,G2 L1,L2 行列 これは、次のようにループゲインから定義される: 例示した構成では、非タッチループの3ビットバイトは存在しない、それで サブ行列 Xに対して: すべてのループはT1によってタッチされる。それで △1=1 Eに対して: T1=1-LI-L2+L1L2に対して△1=△ 転送関数は、Mansonの規則を使って、XとEに対して作ることができる。 ここで、 ノイズに対しては、伝達関数は次の式になる: 信号に対しては、 ここで図63を参照して その係数は、Chebyshev関数に合致するように選ばれる。そして、通過帯域と滑 らかな停止帯域の中の等リプルの量子化ノイズが得られる。AiとBiのための値は 、ノイズTFを要求されたshape関数に合致させることによって、上の等式のCiとW iとから得られる。 できれば、ノイズ停止帯域(すなわち、信号帯域)の中で等しく間隔があけら れて、0を持っていて、滑らかな高周波数応答を持ったNTFに対して、1つの関 数が選ばれるのが望ましい。例示した構成に対して、停止領域稜、停止減衰、そ れとfilter orderが決められなければならない。できるだけ、停止帯域減衰は90 dB、停止帯域稜は8KHzの入力サンプリング・レートに対してはおおそよ6KHz、同 様に48KHzの最大サンプリング・レートに対しては約36KHz、そして、filter ord erは5であることが望ましい。すなわち、noise shaper802のためのノイズ停止 帯域は、少なくとも0.70fだけ、できれば、0.75Fまで拡大される。 それは、信号帯域を0.25f以上超えている。これによって、準デジタルフィル タに対する設計要件は少し厳しくなくなる。 最初に、連続したタイムゼロと極が得られる。ここで、ゼロは次の式で与えら れる: また、極は次の式で与えられる: ここでN=5,mは0から4、ω=停止帯域稜=2π.36000、そしてε1は減衰Gに関係し てdBで次の式で与えられる: s-平面にある極―ゼロダイヤグラムが、図65に示してある。300MHまでの周波数 応答のプロットが図66に描かれている。次に、離散ゼロと極が双一次式を使用し て得られる: ここで、T=1/f、そしてf=64x48KHz=3.072MHz。これは、noise shaperが作動する 最高のサンプリング・レートで、入力信号に対して最高のサンプリング・レート の64倍のオーバーサンプリングに対応する。しかしながら、noise shaperは他の (より低い)サンプリング・レートで動作することは知っておく必要がある。 これらの等式を解いて次のものが得られる: 図67にnoise shaper802のためのZ-平面での極―ゼロダイヤグラムが描かれてい る。 Kはf=f/2(またはz=-1)でのNTFのgainで、安定性のための重要なパラメータであ る。 noise shaper802のための離散フィルタの望ましい周波数応答が図68に示され ている。 指定された構造の転送関数の分子は離散フィルタに合致しなければならない。 それで実現されるゼロの性質はノイズNTFの分子をゼロにして、次の式を計算す ることによって見つけられる: この等式の根はz1=1;他の根は次の式から得られる C1,C2は独立ではない。なぜならば、それらはNTF等式によって示されたように 、B1,B2に関係しているからである。他の4つの根を得る式は次の通りである: 図63と64に示されている構造によって、DC(z=1)での1つのゼロと2対の複 素数ゼロが可能になっている。これらは両方とも1に等しい実パーツを持ってい る。このことはそれらは単一サイクル上に無いことを意味する。しかしながら、 それらの角度が十分に小さければ、それらは十分減衰がなされる。単一サイクル で実際にゼロを持つことができるようにするには、さらなるフィードバックルー プ(すなわち、より多くの係数)が使用されなければならない。 B1,B2はできるだけゼロが理想的な転送関数で要求されるものと同じ角度 を持つように指定される。これは、図69に示されており、そこでは角度が誇張さ れて描かれている。 それから、B1,B2は負にセットされる。その場合、個々の角度αは: BL、B2の値は、またK2とK4の値に依存する。一般に、図63にk1-k5として示され ている基準係数kは、noise shaper802が入力信号のための振幅の必要な範囲で 安定しているように調整される必要がある。できれば、次のような基準で実行さ れることが望ましい: ・ 基準係数kは2番目と4番目の積分器822a(図63)に対しては等しく、また、3番 目と5番目の積分器822bに対しても等しい。これによって2つの積分器822と関 連した加算器830を含んだ1つのハードウェアブロック830を基準係数kを変更せ ずに再利用が可能となる。ハードウェアブロック830は図63の点線で囲まれてい る。 ・ 基準係数kは唯一の2の負のべき乗である。そこで、掛け算をしないで、ハード ウェアシフトだけが行われる。 ・ 基準係数kは、要求された語長が構造全体で一様になるように、積分器822出力 で信号幅を同じする。 ・ 基準係数kは、安定性範囲を要求された入力信号レベルにと互換であるようにセ ットする。 +/-0.25dBの入力信号範囲のために確保された基準係数は: k1=0.25 k2=0.5 k3=0.25 k4=0.5 k5=0.125 フィードバック係数値B1とB2が、ゼロをするために、これらの基準係数を使用し て確保される。できれば、 NTF等式、H(z)、の分母のための係数は、次の式でzの同一べき乗にある条件と 上記のWi値を得るために離散フィルタの分母Dと、それから、与えられた等式を 使って、B1とB2の値とを合わせることによって得られる。この例では、図63に対 して一意の解が存在する。極を位置づけるために、この例のフィードバック係数 A1-A2は: A1=-4.273 A2=-4.3682518 A3=-5.2473373413 A5=-1.28061104 これらのフィードバック係数は、STFが信号帯域の中で影響されはじめる前に10 ビットに量子化される。ここで: A1=-4.265625 A2=-4.359375 A3=-5.234374 A4=-1.75 A5=-1.265625 実際のNTFの大きさは、図70でDC(z=1)ですべて0をおいて得られたあるNTF の大きさと比較される。信号帯域のノイズ電力は、Chebyshevゼロを使用してい る指定された構造では、それがDCですべてのゼロを持った簡単な構造の場合より も少なく、およそ16.3dBであるように見える。 1.Noise Sahperのための単一転送関数(STF) 図63に示されているフィードバック係数、A,Bがいったん決められると、Nois e Sahper 802のためのSTFは固定される。もしオーバーサンプリング率が充分大 きいと、STFは信号帯域でほとんど影響が無い。そうでなければ、極はある程度 引っ張られるが、安定性が危険にさらされるために望ましくない。よりよい構造 は最初の補間フィルタinterp.1ブロック810、812でのどんな歪みも補償する。ST FとNFTの大きさは、全体の周波数範囲にわたって、図71に示されている。通過帯 域における望ましいSTF応答は図72に詳しく載っている。通過帯域の中のグルー プ遅延は図73に示されている。 通過帯域のチルトは、全体の再生パスのために望ましい+/-0.1dBリプル要件を 侵害するに充分意味がある。しかしながら、グループ遅延に関しては、それはま だ許容できる。 最大と最少のグループ遅延間の差は21.95ナノ秒出ある。f=8KHzの3.6KHzで線 形からの位相偏移は次に等しい: 2.Noise shaperのためのノイズ転送関数(NTF) 上で説明された転送関数を得るために採用された線形分析では、量子化器がオ ーバーロードされて追加ノイズモデルが失敗したとき、信号レベルの影響を予測 できない。しかしながら、安定性は直接NTFの最大値に関係していることが知ら れている。2に近い値は安定動作の限界である。提示した構造ではNTFの最大値 はf=f/2(z=-1)に対して得られる。そこでは、NTFのパラメータは相互作用をする 。 ・ 固定した停止帯域に対しては、ノイズ減衰が大きいほどノイズゲインKのf=f/2 での値は大きくなる。 ・ 固定したノイズ減衰に対しては、停止帯域が大きほど、ノイズゲインの値は大 きくなる。 f/2でのノイズゲインKの固定値は、もし帯域幅が正しければ、ノイズ減衰のど んな値に対しても得られる。図74に一定のノイズゲイン形状が描かれている。 提示した構造では、1.7のノイズゲインは用いられており、安定性とほぼ最高 に近い振幅Amaxを得ている。K=1.85以上のノイズゲインは安定性がよくないよう に思われる。 このことは安定(K=1.7)から不安定(K=1.85)への移行はむしろ急である。 不安定になる前に回路が許容できる最大の入力振幅Amaxは、直接ノイズゲイン値 に関係する。 たとえば、K=1.8に対して形状を保ったすべてのループ構成はAmax=0.2である 。一方、K=1.71に対する形状のものはA=.4である。図74の矢印は、G-B空間で安 定から不安定への方向を示している。Kが増えるに連れて、Amaxは無限には増え ない。K=1.71のところで最高になる。これは、積分器のゲインの値で部分的に決 定される(図75)。 もし、帯域幅が一定でノイズ減衰Gが変化した場合、20KHzの帯域幅に対して、 Amaxvs.Kは図75のとおりである。ノイズ減衰Gが一定で帯域幅が変化した場合、 図76のような極の結果になる。これは、G=90dBに対して得られたものである。K= 1.8の安定はおよそ40KHz帯域幅で限度に達する。約36KHzでの帯域幅に対して、 ノイズゲイン値Kは、およそ1.707になり、それはまたピークのAmax=0.4とも一致 する。安定した動作を確実にするために、ループへの最大振幅、できれば、およ そ0.25に保つことが望ましい。 noise shaperを作り上げるdigital sigma-delta modulatorのインプリメンテ ーションは以下の通りである: 図121を参照して、noise shaper filterブロック2010は、複数ビットデジタル 入力信号2012(できれば、64xFに周波数で25ビット長が望ましいが)を、1ビッ トデジタル出力信号に変換するために、sigma-delta変換を実行する。この1ビ ット出力信号への量子化は信号にノイズが発生する。それは次の高速信号転送関 数にしたがって調整される。 このnoise shaper filter 2010は次のノイズ転送関数を備えている: ここでE(Z)はデジタル・ノイズ入力信号である。係数C1,C2,C3,C4,C5は テーブルC19で与えられる。 このnoise shaperブロック2010には、図121に示してあるように、全体で12の2 3ビット加算演算、2つの乗算演算、それと5つの積分ステージI1-I5での5つの 基準化演算が含まれている。12の加算演算は加算器a1-a12によって実行される。 2の乗算演算は乗算器2016と2018とによって実行される。5つの基準化操作は図 121で示されている分数係数によって指定される(すなわち、1/8,1/2,1/4,1/ 2,それと1/4)。基準化はビット移動操作によって行われる。図122のnoise sha perブロック2010をインプリメントしているデータパスを制御するために使用さ れるクロック信号はサンプル周波数の256倍のレート(256F)にセットされる。 上記の転送関数のための極をインプリメントする、係数C1-C5は、信号帯域で転 送関数に逆に影響することなく、10ビットに量子化される。noise shaperブロッ ク2010のインプリメンテーションは、量子化器2020の量子化出力2014(+1か-1の いずれかの値を持っている)で掛け合わされた係数C1-C5を持っている。係数C6 とC7は、転送関数ゼロをインプリメントしていて、2つの項目に減らされる。そ の項目のそれぞ れは2のべき乗である。係数C1-7の値はテーブルC19に示されている。 noise shaperブロック2010出力信号2014は、4つの256Fクロックサイクル、ま たはサンプル周波数の64倍のレート(64F)で発生する。データ入力と出力は、6 4Fのレートで発生する。noise shaperブロックでの固定ビット長は、前の補間フ ィルタで正規化されたデータで、23ビットで、そのうち3ビットは整数で19ビッ トは小数である。図121のnoise shaperブロック2010のインプリメンテーション が、図122の図式的に描かれている。 そこでは、いくつかの加算器がハードウェアを節約したり効率を上げるために 使用されている。 図122に示されているdigital sigma-delta modulatorとnoise shapercircuit 2050の構造は図121に描かれているsigma-delta modulator noise shaper機能ブ ロックをインプリメントしたもので、要求される加算器の数を減らすことによっ てハードウェアの量を減らすことができたものである。こうして、図122に示さ れた構造は、そこに描かれているように加算器を使用している。すなわち、図12 1に示されている積分の5つのステージが図122で示されている構造によって、少 ない加算器を使用して、また図122のここの多重化された加算器が単一ビット出 力ごとの積分操作よりももっと実行できるように図122の加算器を多重化するこ とによって実行される。図121では、5つの積分ステージのそれぞれに対応して それぞれの加算器は出力ごとに1回だけの操作を実行する。その結果、図122に 描かれている構造はより効率的で、費 用がかからない設計になっている。 いくつかの加算器(加算器1を制御するmux3、加算器4を制御するmux4、加算 器2を制御するmux6、加算器5を制御するmux2、それと加算器1を制御するmux1 )を制御する図122の多重化装置は、図122で示されている多重化装置、あるいは 多数のデジタル入力信号の中から1つのデジタル出力信号を選択する他の装置に よって、インプリメントされた装置を選択している。 加算器a1,a4,a9,それとa11は2のべき乗になっていて、その後に図121で描 かれている基準化係数は、ビットシフト操作によってインプリメントされている 。図121の中で、加算器a6の加算操作、加算器a6とa7との間の1/4の基準化操作、 それと加算器a7の加算操作は、図122のshifter3とともに加算器1と加算器2に よって実行される。図122のshift3¥¥への入力sh3は、制御回路で生成されて、 計算での必要に応して、加算器1を2の-2乗あるいは2の-3乗、シフトを行う。 図121で、1/4の基準で加算器a11とa12によって行われる2つの加算操作は、最 初のクロックサイクル中で図122の構造の中の加算器1と加算器2とによって実 行される。図121で、加算器a4の加算操作、加算器a4とa5の間の1/2の基準化、そ して加算器a5の加算操作は、図122の加算器の後の2の-2乗の固定シフトといっ しょに、図122の加算器4と加算器5とによって実行される。図121で、加算器a9 と加算器a10で実行される2つの加算操作は、1/2の基準化といっしょに、他のも 一つのクロックサイクル中に図122の構造図の加算器a4と加算器a5によって実行 される。すなわち、以前に説明したように、図121のa4とa5の操作以外の別のク ロックサイクルが、図122の加算器4と加算器5上でも実行される。 図121で、加算器a1の加算操作、加算器a1とa2の間の1/8の基準化、そして加算 器a2の加算操作は、図122の加算器2と加算器3とによって実行される。制御入 力sh3によってshifter3が加算器1の出力を2の-3乗する。図121で、加算器a3に よってなされる加算操作は、1にセットされたmux3 selによって0にされている mux3への″1″入力によって、そしてレジスタr8がクリアされることによって、 図122で描かれているように実行される。 図121で、加算器a8で実行される加算操作は、図122の加算器4と加算器5とに よって実行される。図121の加算器図a8で実行される加算演算は、2つの項の合 計であるから、図122の加算器4への入力は、入力r11 clrを使用してクリアされ るr11によって、そして加算器5の中のmux2からの出力に加算器4の出力を加算 することによって、0に保たれる。 図121のフィードバック係数C6とC7は図122のshifter1、shifter2、それとshif ter1によって実行される。これらの2つのフィードバック係数は、テーブルC19 に示されている2項のシフト和によって量子化される。一連の64Fクロックがnoi se shaper回路2050を生成するために使用される。この一連の中の異なったクロ ックサイクルで、図121の積分器I3とI5の中の値が、図122のレジスタr3に供給さ れる。入力C6-7によって、shifter1がレジスタr3のデータを、それぞれC6とC7を インプリメントするために要求されるように2の-3乗あるいは2の-2上の係数で 、シフトさせる。図122のレジスタr1-r8は図122の積分ステージI1,I2,I3,I4 ,そしてI5の値を、加算器a3とa9の出力といっしょに保持するために使用される 。その値は256Fで、図122の8つのレジスタによって、適当なときに加算器にそ のデータを利用できるようにするために、引き続き計測される。 転送等式のゼロをインプリメントするフィードバック項は図121の積分器I3の 出力に係数C6を掛け合わせて、その積を積分器I2の入力に加えることによって作 ることができる。 同様に、積分器I5の出力に係数C7を掛け合わせて、積分器I4の入力に加える。 4つの64Fクロックの順序での異なるクロックサイクルで、図121の積分器I3とI5 の出力は図122のレジスタr3に供給される。フィードバックフィルタ係数C6と積 分器I3の出力との積は、フィードバックフィルタ係数C7と積分器I5の出力の積と 同様に、図122のshifter1とshifter2を使用して実行される。制御入力C6-7は適 当なときに係数C6とC7をインプリメントするために、shifter1とshifter2を制御 するのに使用される。shifter1はそれぞれC6とC7に対する-2**-3と2**-2の倍率 演算間で切り替えられる。shifter2はそれぞれC6とC7に対する2**-5と2**-7の倍 率演算間で切り替 えられる。C6と積分器I3の積は図122のレジスタr11に保持され、それから加算器 4で使用される。それから、C7と積分器I5の積は図122のレジスタr11に保持され る。 4つのクロックサイクルとそこで実行される演算の順序は、テーブルC20で提 供される。 そこでは、個々のクロックサイクルは、64Fのレートである。 先の論文の中で、Crystal Semiconductor of Austin,TXに割り当てられた、 ″Fourth Order Digital Delta-Sigma Modulator″のためのU.S Pat.No.5,196 ,850には、一連のカスケードされた積分器からなるsigma-delta modulatorをイ ンプリメントするために、連続に接続されたレジスタの列を持った単一加算器の 使用が記述されている。そこで明らかにされているように、積分器の出力は、デ ジタルのsigma deltaの出力を作るためにまとめられなければならない。現在の 発明では、digital sigma-delta modulatorは2つのセットの加算器を使用する 。それぞれのセットは、積分ステージのための計算と、係数と積分ステージの出 力とを積算した量子化された出力の合計をインプリメントするために、2つの、 この構成では5つ、加算器から構成されている。1ビットの出力を計算するため の計算式は、テーブルC20に示してある。図121の回路で示されている計算は、そ れぞれの出力値を計算するの利用される4つのクロックの1つに割り当てられる 。テーブルC20でnは、図121に示されている1つの量子化された出力14を生成す る、4つのクロックサイクルの現在の順番を表している。Q(n)は1ビットの量子 化された、順番nの中で積分器I5の出力2022の極性を表している出力信号14であ る。Ixは図121の5つの積分器I1-I5のそれぞれの値を表している。ここでx=1-5 である。 各クロックサイクルのためのテーブルC20の演算の説明 サイクル0で2つの中間値が図121の加算器a3とa9の出力で計算される。加算 器a3の出力は、現在の補間器I1出力と1ビット量子化出力2014で掛け算されたC4 との合計である。a3の出力は記憶される。 a8の出力は、現在の補間器I3出力と2014で掛け算されたC2との合計である。a8 の出力は記憶される。 サイクル1で、補間器1の新しい値が計算される。係数C5と基準化された入力 2012と掛け算された出力2014の合計は、1/8で基準化される。その合計は、補間 器I1の前の値に加えられる。このI1の新しい値は記憶される。また、補間器I5と 係数I7の積は記憶される。 サイクル2で、補間器5の新しい値が計算される。出力2014は係数C1掛け算さ れ、補間器I4の前の値に加えられる。合計は、1/4で基準化され、補間器I5の前 の値に加えられる。このI5の新しい値は記憶される。また、サイクル2では、補 間器I5の新しい値が計算される。前にサイクル0で記憶された加算器a8の出力は サイクル1で前に記憶されている係数C7と出力2014との積に加えられる。それか ら合計は、1/2で基準化され、補間器I4の前の値に加えられる。このI4の新しい 値は記憶される。またサイクル2では、補間器I3と係数I6の積は記憶される。 サイクル3で、補間器3の新しい値が計算される。出力2014は係数C3掛け算さ れ、補間器I2の前の値に加えられる。合計は、1/4で基準化され、補間器I3の前 の値に加えられる。このI3の新しい値は記憶される。また、サイクル3では、補 間器I2の新しい値が計算される。最初に、前にサイクル0で記憶された加算器a3 の出力は係数C6補間器I3との積に加えられる。この合計は、1/2で基準化され、 補間器I2の前の値に加えられる。このI2の新しい値は記憶される。この一連の4 つのサイクルは繰り返される。図122のnoise shaper回路2050による一連の操作 の4つのクロックサイクルそれぞれでなされる計算はテーブルC21に示されてい る。テーブルC21にはnoise shaper回路2050のためにそれぞれのクロックサイク ルでなされるデータ転送が描かれている。noise shaper回路2050によって使用さ れる制御信号が図122の外部に対して生成される。多重化装置制御信号で、係数C 6とC7入力間を選択するためのトグルshifter1と2への入力、shifter1と2への 入力、shifter3への入力、それからレジスタrIIとr8に対するクリア信号。図121 で、shifter3が積分器(I1)の前に1/8の基準化係数とI3とI5の前に1/4の基準化係 数をイ ンプリメントするために使用される。1/4の係数で基準化するために、shifter3 は複数ビットデジタル信号を2ビットシフトする。1/8の係数で基準化するため に、shifter3はビットストリームを3ビットシフトする。レジスタr1-r8は256F クロックで連続して計測される。もしI5の出力信号2020(図121)が0以下であ れば、図122の量子化出力ビット信号2030は1の値を取る。 もし出力信号2020が0以上であれば、0の値を取る。このようにして、出力信 号2030は、図121のnoise shaperブロック2010の量子化出力ビット信号2014の符 号を表現する。 図122に、直列に構成されたデータレジスタの2つのグループが示されている 。レジスタr5-r8は、加算器a8の出力、図121のI2とI4の値を表すデータ値を記憶 するために使用される直列に構成されたデータレジスタの1つのグループである 。加算器5の出力は、直列構成の最初のデータレジスタr5に渡される。直列構成 データレジスタのグループの最後のレジスタr8は、mux3とmux2に入力として渡さ れる。直列に構成されたデータレジスタの他のグループはレジスタr1-r4を含ん でいる。直列に構成されたデータレジスタのこのグループは加算器a3の出力のた めのデータ値、そして図121の積分器I1、I3とI5の値を記憶するために使用され る。このグループの最初のデータレジスタr1は加算器2の出力から入力を受け取 る。このグループの最後のデータレジスタr4は入力としてその出力をmux6に渡す 。直列に構成されたデータレジスタの2つのグループのそれぞれには、2つの中 間のデータレジスタがある。最初のグループではそれらはr6とr7である。2番目 のグループではそれらはr2とr3である。最初のグループでは、r6の出力は1つの 入力としてmux4に渡される。2番目のグループでは、r3の出力は1つの入力とし てmux6とmux5に渡され、また1つ入力としてshifter1と加算器3に渡される。 係数解読(coef.decode)ブロック2032は、それは図122のRAM、ROM、あるい は他のメモリ記憶装置であるが、係数解読ブロック2032からの出力が加算器1へ の入力になるように係数C1、C3、C4またはC5を選択するために、外部制御回路か ら制御信号を受け取る。もし図121の1ビット出力、あるいはQ(n)が1に等しけ れば、解読ブロック2032は1の補数を選択された係数でCx*(-1)の掛け算をイン プリメントするために実行する。図121のQ(n)値は、クリックサイクル数に基 づいて、図122のレジスタr9あるいはr10の出力として、mux1出力信号2034から出 力される。mux1の目的は、その出力2034を積分器5の量子化出力、Qn、に等しく することである。積分器55n+1の新しい値は現在の量子化された出力Qnがまだ必 要とされている間に計算されることから、二つともレジスタr9とr10に保持され る。図122で、1つの制御回路からの入力r9 10 ckは、サイクル3での加算器2 の符号ビットをQn+1としてレジスタr9にラッチする。この同じサイクルでレジス タr9の現在のQnはレ ジスタr10にラッチされる。 テーブルC20に示されているように、クロックサイクル0-2の間、mux1のための mux選択信号は0にセットされることによって、r3の出力がmux1出力信号2034と して渡される。クロックサイクル3の間、mux1のためのmux選択信号は1にセッ トされることによって、r10の出力がmux1出力信号2034として渡される。mux1出 力信号2034は選択された係数C1、C2、C3、あるいはC5の2の補数を完了するため に、加算器1へのcarry-in(cin)36として使用される。 テーブルC21の多くの演算が図122のnoise shaper回路2050にインプリメントさ れている共通のハードウェアが図121のnoise shaperブロック2050の積分、乗算 、加算関数を実行できるように、実行される。たとえば、テーブルC21のサイク ル0で、図121からの係数C4は4を掛けて事前基準化され、それからC4*4として 図122に記憶され、それから図122のshifter3で1/4で基準化される。この操作は 、shifter3が図121からの積分ステージI1、I3、あるいはI5が、前に説明したよ うに、図122でのインプリメンテーションによって実行されているかどうかによ って、1/4か1/8かで信号を基準化できるように、shifter3で必要とされるシフト の数を2に減らすために実行される。 また、サイクル0では、1/2の固定乗算係数が加算器a4出力信号2042で実行さ れたことを補償するために、レジスタr1の値はr1出力信号40がmuxに入る前に2 の基準で乗せられる。このようにして、図121に示された5つの積分のステージ (I1-I5)のすべてが図122で示されたハードウェアによって達成される。 サイクル0で、図122の加算器2と加算器5の出力は、それぞれ図121の加算器 3と加算器8の出力である。図122加算器2の合計は、係数解読ブロック2032か ら係数C4*4を選択する入力C4からの結果である。係数C4は、shifter3でインプリ メントされ1/4の共通係数を、他の計算で許すためにC4*4として記憶される。mux 3に出力はレジスタr8からの0である。そのr8はr8 clrでクリアされている。加 算器1の出力はQn*C4*4に等しい。入力sh3=0で、shifter3はQn*C4の結果である1 /4の係数に対して2でこの値をシフトする。 図122の積分器1I1の出力は、レジスタr3にある。入力mux6 sel=1と図122加算器 2の出力は、図121のa3の出力であり、I1n*C4*Qnに等しい。この値はそれからレ ジスタr1に記憶される。またサイクル0で、図122加算器5の合計はmux5 sel=0 、mux4 sel=1、r11 clr=1からの結果である。このr11 clr=1は、図121の積分器I 3nの出力であるレジスタr1の値に図122の加算器4の出力を等しくする。加算器 4の出力は1/2が減ぜられ、mux2 sel=0からのQ2*C2へ加えられる。図122加算器 5の出力は図121a8の出力である。この値はそれからレジスタr5に記憶される。 サイクル1で、図122の加算器2の出力は、図121積分器1I1n+1の新しい出力で ある。入力c5とmux1 sel=0が係数解読ブロック2032を選択してQn2034にしたがっ て係数C5または-C5を出力する。そこでそれは入力値に加えられる。入力sh3=1で 、shifter3は1/8の係数に対して3で加算器3の出力をシフトする。入力mux6 se l=0。shifter3の出力は、図121の積分器1I1nの現在の出力を持っているレジスタ r4に加えられろ。図122の加算器2の出力は、図121積分器1I1n+1の新しい出力で ある。それから、この値はレジスタr1に記憶される。また、サイクル1で、図12 2 shifter2の出力は、積分器5I5nからの図121a9へのフィードバックである。入 力C6 7=1によって、図112レジスタr3の値I5nは、テーブルC19で示されている項 を使用している係数C7で乗ぜられる。C7*I5nの1の補数がレジスタr11に記憶さ れる。この項がサイクル2で使用されるとき、図122の加算器4への桁上げとし て入力信号r11 ckを使用することによって、2の補数が得られる。サイクル1で は、図122の出力は使用されない。 サイクル2では、図122の加算器2の出力は図121積分器5 I5n+1の新しい出力 である。入力C1、mux3 sel=1およびmux1 sel=0は係数解読ブロック2032を選択し てQn2034にしたがって係数C1または-C1を出力する。そこでそれは図122レジスタ r8にある図121積分器4 I4nの値に加えられる。入力sh3=0で、shifter3は1/4の係 数に対して2で加算器1の出力をシフトする。入力mux6 sel=0。shifter3の出力 は、図121の積分器5I5nの現在の出力を持っているレジスタr4に加えられる。図1 22の加算器2の出力は、図121積分器 5I5n+1の新しい出力である。それから、この値はレジスタr1に記憶される。また 、サイクル2では、図122の加算器5の出力は図121積分器4 I4n+1の新しい出力 である。r6からの入力mux4 sel=0、およびr8からのmux2 sel=1は、図122レジス タr6の出力から前に記憶されている図121加算器a8出力を選択して、図122レジス タr11から図121a9に前に記憶されているフィードバックに加える。加算器4の出 力は1/2の係数で1シフトされ、図122レジスタr8にある図121の積分器4 I4nに加 えられる。図121積分器4 I4n+1の新しい値はレジスタr5に記憶される。 またサイクル2で、入力C6 7=0によって、図112のレジスタr3にある図121積分 器3値I3nは、テーブルC19で示されている項を使用している係数C6で乗ぜられる 。67*I3nの1の補数がレジスタr11に記憶される。この項がサイクル3で使用さ れるとき、図121の加算器4への桁上げとして入力信号r11 ckを使用することに よって、2の補数が得られる。新しい図121積分器5I5n+1出力は計算されてから 、次のサイクルでレジスタr10に値Qnとレジスタr9に値Qn+1を計測するために、 入力r9 10 ckは0から1に変わる。 サイクル3では、図122の加算器2の出力は図121積分器3I3n+1の新しい出力で ある。入力C3とmux1 sel=1は係数解読ブロック2032を選択してQn2034にしたがっ て係数C3または-C3を出力する。そこでそれは図122レジスタr8にある図121積分 器2I2nの値に加えられる。入力sh3=0で、shifter3は1/4の係数に対して2で加算 器1の出力をシフトする。入力mux6 sel=0。shifter3の出力は、図121の積分器3 I3nの現在の出力を持っているレジスタr4に加えられろ。図122の加算器2の出力 は、図121積分器3I3n+1の新しい出力である。それから、この値はレジスタr1に 記憶される。 また、サイクル3では、図122の加算器5の出力は図121積分器2 I2n+1の新し い出力である。入力mux4 sel=1、muz5 sel=1およびmux2 sel=1は、図122レジス タr3の出力から前に記憶されている図121加算器a3出力を選択して、図122レジス タr11から図121a4に前に記憶されているフィードバックに加える。加算器4の出 力は1/2の係数で1シフトされ、図122レジスタr8にある図121の積分器2I2nに加 えられる。図121積分器2 I2n+1の新しい値は レジスタr5に記憶される。 テーブルC21を注意深く読むとわかるように、図121のnoise shaperブロック20 10の中のここの操作は、テーブルC21の計算式でインプリメントされている。 D.再生Semi-Digital Filter(SDF) Semi-Digital Filter804はCODEC再生DAC514の最後素ステージで、補間フィル タブロック800(図51)への入力である16ビット入力信号806のためのサンプル・ レートの64倍で1ビット信号842をフィルタして、1ビット信号842をアナログ信 号出力信号808に変換する。Semi-DigitalFilter804の係数は、できれば、正の値 で、最大値と最小値の比率は40以下であることが望ましい。図77はインパルス応 答を示しており、図78はこのSemi-Digital Filter804の周波数応答を示している 。Semi-DigitalFilter804は次のような機能を実行する:1)1デジタル信号をア ナログ信号へ変換する。2)noise shaper802で作られた高周波数のノイズをフィ ルタ・アウトする。Semi-DigitalFilter804はD/A変換機能とアナログ低速フィル タ機能とを結合する。そうすることによって、高周波数ノイズは低周波数でかな りの歪みを取り除く。 Semi-Digital Filter804はシフトレジスタ850を含んでいる(図79)。データ タップ853はシフトレジスタ850内の一連のフリップ・フロップ852への入力地点 にある。各データタップ853の論理状態は対応するデータタップ853に結合されて いる電流シンク855を切り替えるのに使用される。ここの電流シンク855の値はそ のフィルタのための望ましいインパルスを作り出すのに使用される係数を表して いる。すべての電流シンク855は、opamp 854とresistor856を使っていっしょに 合わされて、1つの電圧に変換される。 シフトレジスタ850、これは107ビット長のシフトレジスタであることが望まし い、はデジタル遅延線を作。それによって、個々のフリップ・フロップ852は1 単位の遅延を表す。そのようにして、もしシフトレジスタ850への入力がx(k)で あれば、最初のデータタップ853は、x(k)と同じ値を持つが1クロック単位遅れ ることsッ様にして、次のデータタップ853は、x(k-2)と表される、以下同様。前 述のように、個々のデータタップ853は個々の電流シンク855を制御する。こうし て、全電流、IOUT857、はそれぞれの電流シンク855の合計に等しくなる。これは 、次の等式によって表される: op amp 854とresistor 856は電流IOUT857を電圧出力信号VOUT858に変換する。 これは次の式で表される: Semi-Digital Filter804の係数は個々の電流の値によって決定される。電流シ ンク855によって表される個々の係数の値は1ビット信号842の関数ではない。そ の関数は構造の直線性の維持をたすける。 図80と81で示されたもう1つの構造では、2つの異なった電流、IOUT857とIOU T* 859、が使用される。noises haper802からの1ビット信号842出力は2つだけ の値:logic1とlogic0をとる。シフトレジスタ850の個々のビットに対して、も しlogic1が存在すれば、そのビットに対応する電流シンク855はIOUT線につなが れる。もしlogic0が存在すれば、そのビットに対応する電流シンク855はIOUT*線 につながれる。次のものは、2つのタップを持ったSemi-Digital Filterの例で ある。この例では、テーブルC14に示されているように、4つの可能性がある。 テーブルC14について、2つの注意すべきことがある。第一に、電流シンクが 利用できてデータタップは0と1の値だけをトルコとができることから、電流IO UT857とIOUT*859は正の値か0の値になる。このように、Semi-Digital Filterは 除外されなければならない組み込みDCオフセットがある。前の例では、IOUT857 とIOUT *859は0からI0+I1までの値を取る。その結果、固有のDCオフセットがIO UT857とIOUT *859に存在している。この2つのビット例では(I0+I1)/2の値を持 っている。この例のDCオフセットは、IOUT857とIOUT*859から固定量の電流(I0+I 1)/2を引くことによって効果的に除外する ことができる。このDCオフセットが除外されために、最終的に、効果的なIOUT85 7とIOUT *859電流はテーブルC15のとおりである。 図80と81で、2つのオフセット電流源、880と882が固有のDCオフセットを除外 するために使用されている。電流源IOFFSET*880がamp1 1860の電流合計ノード88 4に接続されている。電流源IOFFSET882がamp1 2861の電流合計ノード886に接続 されている。電流源IOFFSET*880とIOFFSET882の値は(I0+I1+...+In)/2である。 各シフトレジスタデータタップコンビネーションのために、IOUT* 859はIOUT 857と同じ振幅と反対の符号を持っている。差動構造として、歪みと共通モード ノイズは減らされる。差動電流はそれから、一対のop ampsのop amp1 860とop a mp2861によって電圧に変換される。それぞれは図81に示されているように抵抗フ ィードバック862と畜電器865を持っていて、電圧信号DACOUTA 863がDACOUTB864 とが作られる。高周波数はamp1 860とamp1 861に対応する抵抗器862と並列にな っている畜電器865によって除外される。差動電圧DACOUTA-DACOUTBは抵抗器872 、874、876、それと878とop amp3 870を含んだ差動シングルエンド変換回路によ って、シングルエンド電圧出力信号VOUT858に変換される。op amp3870への正の 入力は基準電圧VREFに抵抗器878を通して結合される。この基準電圧は、できれ ば、アースであるのが望ましいが、VCCとアースの間の中間電圧でも構わない。 E.CODEC 記録ADCのアーキテクチャー CODEC記録ADC516(図82)は、入力信号のサンプリングレートを64xfからfに 減らしている間(ここでfは出力サンプリング・レートである)、CD品質(90dB より高い)音声と互換のある高信号対歪み比(STD)を維持する。記録 ADC516は、decimation filterブロック902が64xオーバーサンプル信号を64でダ ウンサンプルするようにオーバーサンプル音声信号を減らす。下記の減少プロセ スが、decimation回路複雑性を少なくするために、それぞれ16、2と2の係数を 使って、decimation filterブロック902内で3つのステージで行われる。 図82と83で、記録ADC516は入力としてアナログ音声信号906を受け取る。この 信号はfourth orderΣ-△A/D900によって、64xfのオーバーサンプリング・レー ト(64xオーバーサンプリング)で7ビット信号908に変換される。decimation f ilterブロック902は7ビット入力信号908を受け取り、サンプリング・レートf で16ビット出力信号910を作り出す。 サンプルのアナログ入力信号906のスペクトルは、f/2までの周波数の構成部分 を含んでおりそのイメージは64xfの整数倍の近くに集まっている。ここでは、入 力信号908はΣ-△A/D900の前の記録パスにある折り返し防止フィルタによって帯 域制限されている(高周波数をフィルタアウト)と仮定されている。折り返し防 止フィルタはMixer606にあるいはΣ-△A/D900の前のどこかにユーザーがインス トールしてもよい。 記録ADC516出力スペクトルは64xf/2までは図84に示してある。通過帯域の詳細 (この場合は4KHz)は図85にある。Decim.1 914で最初のdecimationをf=4xf(16 のdecimation係数)まで実行するためには、sincフィルタが使用される。Decim. 1914の出力スペクトルは、図86に示されている。 次のdecimationステージDecim.2 916はサンプルレートをf'=4からf″=1/2f'=2 fに変更する。半分の帯域フィルタがおよそ100dBの停止帯域減衰で使用される。 出力のスペクトルが図87に示されている。最後のdecimationステージDecim.3918 は線形位相フィルタでサンプルレートを2の係数でf'=fに変更する。このステー ジは、およそ0.45fに拡大された通過帯域を持った等リプルFIRフィルタと、0.55 fに始まる停止帯域からなっている。Decim.3918の停止帯域減衰は100dB以上であ り、停止帯域リプルは、+/-0.1dB以下である。これによって、0.45f以下の周波 数では折り返しが発生しないことを保証している。 F.処理ブロックの追加説明 1.Decim.1 ステージ decimatorはsinc integrator-combフィルタで、図89に示したようにインプリ メントされている。 図89に示されているregister 920はすべて同じMSB weight(これは入力語長の 依る)とdecimation factor(16)、decimatorの順序(6)を持っている。今回のも のはDecim.3 914が出力信号915ですべての可能な入力レベルを正しく表すことが できるように選ばれている。ここではsaturationが行われて、最大のアナログ入 力に近づけられる。LSBの切り捨てが既知の方法を使ってなされる。示されたビ ット長はおよそ120dB STDに保たれる。レジスタ920がRAMとしてインプリメント されていれば、すべては同じ長さになる。 個々の積分器は合計ノード922と遅延ブロック920を含んでいる。積分器は64xf の高レートで動作する。個々の差動器924は差動ノード923と遅延ブロック920を 含んでいる。差動器924は4xfの低レートで動作する。積分器921で生成された16 のサンプルのうちから1つで動作する。このブロックで実行される転送関数は: 周波数は図90に示されている。 応答は、通過バンドでは平坦でない。ロールオフの詳細は図91に示されている 。 2.Decim.2 ステージ 2番目のdecimator、Decim.2916は半帯域線形位相FIRフィルタである。このフ ィルタは、通過帯域と同じ大きさの停止帯域を持っている。停止リプルは100dB の減衰を確保するには非常に低いので、フィルタは通過帯域では平坦である必要 がある。このフィルタにはそのインパルス応答で他の係数がすべて0に等しいと いうの特性がある。ただし、中間の係数は1に等しい。 2つのフィルタによって、1つのdecimateとして構成される場合、Decim.2 916は2つの基本型に構造化される。最初は修正“直接”で、図92に示した構造 になる。2番目は、置換フォームで最初の信号フォローグラフを逆にして得られ 、図93にし示してある。図93でC1-C5は係数で、xnm1の係数は1に等しい。個々 の乗算器925は、個々のフィルタ係数C1-C5で同じ入力信号サンプルを乗じたもの である。遅延ブロック926と合計ノード927、928は図93のように接続される。係 数のための個々の乗算器925の出力は、合計ノード927と828へ渡される。係数C1 のための乗算器925は遅延ブロック926と合計ノード928に渡される。図93の置換 構造は図92の直接の利点以外にいくつかの利点がある。 ・遅延が最小数 ・低レートですべてのプロセッサーが実行できる Decim.2 916フィルタで実行される周波数応答は図94、95に示される。 Decim.2916のための係数は次の通りである。 3.Decim.3 Stage このDecim.3 916は、対称形をしたFIRフィルタである。停止帯域で100dBの減 衰と、通過帯域では+/-0.1dB以下のリプルを持つように設計されている。平坦 な通過帯域応答の半分の帯域フィルタのあとに補償フィルタが続くように、これ は設計されている。半分の帯域Decim.3 918の周波数応答は図97と98に示してあ る。 decimatorとして使用されるときは、Decim.3916フィルタ918は2つのサンプル の入力があるたびに1つのサンプルを計算する。図93では、全フィルタはデータ タップ修正を含んいる低いサンプリングレートで動作するために、置換半分帯域 構造が採用されている。 Decim.3916は線形位相特性を持っており、この特性はインパルス応答が対 称で、あることを保証している。ここで、対称条件は hkはフィルタ係数である。できれば、Nは奇数で、Nは異なる対称条件を持った 偶数であることが望ましい。 Nが奇数の対称条件はDecim.3 916フィルタ918の構造の中に反映されている。 図93のものと同様である。この構造ではブロック・フローポイント方式は使用で きない。図92に示されている直接フォームでは使用が可能である。 916フィルタ918のための最初の30の係数がリストされている。半分の帯域フィ ルタの応答は、テーブル17にリストされている係数を使用して、テーブルC17に リストされている個々の係数の間に0を挿入して、テーブルC17で示されている フォーマットに同じように、中間の係数を1にした後に得ることができる。 4.補償フィルタ ナイキストFIR補償フィルタ904(図53)はDecim.3916の出力に結合できる。ま た、sinc DecimatorフィルタDecim.3914によって、滑らかな応答をし、ゲイン補 償を与えるために、導入されたロールオフを補償するために使用される。FIRフ ィルタ904は、一連の乗算器930を含んでいる。これは、補償入力信号910と補償 フィルタ係数C1-C4をそれぞれ乗じて得られる。それぞれの乗算器930の積は、合 計ノード934に入力される。 補償音声出力信号912(図96)は、16ビット符号付きデジタル音声信号として 、フォーマット変換ブロック536(図44)とオーバーレンジ検出回路913にに渡さ れる。オーバーレンジ検出回路913は補償出力信号の振幅が最大幅になっていて 、出力ビットB0とB1をセットしているかどうかを検出する。これらのビットは、 検出されている音声信号のゲインを調整するためにユーザーによって使用される 。ただしユーザーは方法を知っていなければならない。適当な減衰/ゲイン制御 回路が信号振幅を増やしたり減らしたりするためにプログラムが可能である。 補償フィルタ904はナイキストレートで動作し、7つのデータタップだけで線 形位相でもある。それは4つの係数を必要とする。補償フィルタ904の後のdecim atorの周波数応答は、図99に示されている。通過帯域でのdecimatorのための全 周波数応答が、図100と図101に示されている。 補償フィルタ914は次の転送関数を実行する。: ここで″freq″は正規化された周波数である。 補償フィルタ914のためのインパルス応答係数は次の通りである: V.シンセサイザーモジュール A.シンセサイザーモジュールの概観 本項ではシンセサイザーモジュールを概観する。本項において紹介するシンセ サイザーモジュールの様々な局面については、次項で詳細に論じる。 シンセサイザーモジュールは8つの遅延に基づく効果を含み、32もの高品質 可聴デジタル信号または音声を発生させることができる波動表シンセサイザーで ある。シンセサイザーモジュールは如何なる音声にもトレモロ及びヴィブラート の効果を付加することができる。このシンセサイザーモジュールは先行技術の波 動表シンセサイザーに対する幾つかの改良を提供し、今まで利用できなかった能 力の向上を提供する。 図102はシンセサイザーモジュールとローカルメモリーコントロールモジュ ール8とのインターフェイス、システムコントロールモジュール2のシステムバ スインターフェイス14、CODECモジュール4、及びシンセサイザーDAC 512を図示する。更に、シンセサイザーモジュール6内に含まれる論理の内部 信号フローを示す。 約22.7マイクロセカンドの期間である各フレームの間に、シンセサイザー モジュール6は左右に1つづつのデジタル出力を作り出す。各フレームには32 のスロットがあり、そこで可能な32の音声の各々のデータサンプル(S)が、図 102に示す信号路を通して別個に処理される。 フレームの間に処理される各々の音声のために、アドレス発生器1000が波 動表データ1002から読み取られる次のデータサンプル(S)のアドレスを発生 させる。データサンプルS用の波動表アドレスは整数と分数部分を含む。整数部 分はデータサンプルS1用のアドレスであり、データサンプルS2をアドレス指 定するために1だけ増分される。分数部分はデータサンプルSを補間するために S1からS2までの距離を指示する。このアドレスに基づいて、補間論理100 4が波動表データ1002から読取られるべき2つのデータサンプルS1とS2 を生じさせる。波動表データはローカルな動的ランダムアクセス記憶装置(DR AM)及び/もしくは読取り専用記憶装置(ROM)に記憶される。このデータ から、補間論理1004がデータサンプルSを引出す。 この補間プロセスについて詳述する。波動表データはμ-法圧縮できる。μ-法圧 縮の場合、S1とS2は下記で論じるシンセサイザーモジュールの信号路の制御 下に補間前に拡大される。 各データサンプルSを発生させた後、音量発生器1012が包絡線、低周波発 振器(LFO)の変動、右オフセット、左オフセット、及び効果音量を付加する 3つの音量成分を掛けるべきデータサンプルを発生させる。左右のオフセットは 立体視野の位置付けを提供し、効果音量はエコー効果を発生させる時に使用され 、音量のLFO変動が音声にトレルモを付与する。LFO発生器1021がLF O変動を発生させる。下記において詳細に説明するように、LFO発生器102 1は音声にヴィブラートを付与するために波動表アドレス指定率でLFO変動を 発生させるために使用される。LOUT1006、ROUT1008、EOUT 1010が、3つの音量成分を掛けるデータサンプルSから生じる出力である。 LOUT1006とROUT1008は左右のアキュムレーター1014、1 016につながる。効果処理が発生しつつある場合、EOUT1010が8つの 効果アキュムレーター1018の1つに合計する。フレーム内の全ての音声が処 理された後、左の16−ビット幅と右の16−ビット幅(全体で32−ビット幅 )のアキュムレーターデータが、変換器1019によって並列フォーマットから 直列フォーマットに変換される。 直列フォーマットへの変換後、左のアキュムレーターのデータと右のアキュム レーターのデータをシンセサイザーDACインターフェイスサーキットリー10 25に直列に出力することができる。シンセサイザーDACインターフェイスサ ーキットリー1025はシンセサイザーモジュール6にシンセサイザーDAC5 12をつなぐ。インターフェイスサーキットリーは:(i)クロックディバイダ ーサーキットリー及びクロックディバイダーを制御する制御論理(図示せず); (ii)シンセサイザーDAC512の操作を刻時するためのクロック発生サー キットリー(図示せず);及び(iii)直列−並列変換器(図示せず)から成 る。図118も参照のこと。クロックディバイダーサーキットリーは、本明細書 と同時に提出したもので、参照のためにここに引 用する、「危険のないディバイダー回路」(”Hazard−free Div ider Circuit”)と題された、David Suggsによる米国 特許出願Serial No. に説明されている。 インターフェイスサーキットリー1025内の直列−並列変換器はアキュムレ ーターデータを並列フォーマットに変換し、この並列データをアナログ信号に変 換するためにシンセサイザーDAC512に送る。シンセサイザーDAC512 はCODEC再生DAC514と同じサーキットリーから成ることが好ましい。 シンセサイザーDAC512の出力はCODECモジュール4のアナログミキサ ー606(図45)において、左のシンセサイザーDAC MUX649に対す る左のアナログ入力として(また、図示していないが、右のシンセサイザーDA C MUXに対する右のアナログ入力として)提供される。発生音を奏するため に、結果的に生じるアナログ信号を可聴周波増幅器とスピーカーに印加すること ができる。詳細については、セクションIV.CODECモジュールを参照。 各々の効果アキュムレーター1018はフレームの間に発生されるいずれかの 、または全部の効果データを収集することができ、全然データを収集しなくても よい。効果アキュムレーターに記憶されるデータは後に読み取られる波動表デー タとして書き戻される。効果アキュムレーター1018は1つの音声から別の音 声までの信号フローを可能にする1つの音声処理時間より長い値を記憶する。 左の16−ビット幅と右の16−ビット幅のアキュムレーターデータを直列フ ォーマットで、直列出力線1020を通してCODECモジュール4の直列トラ ンスファーコントロールブロック540に出力することもできる。アキュムレー ターデータを直列トランスファーコントロールブロック540を通して外部シリ アルポート798へのライン1023に出力できる。詳細については、セクショ ンIV.CODECモジュールを参照。テスト装置、外部DAC、またはデジタ ル信号プロセッサーを外部シリアルポート798に接続することができる。シリ アルデータを外部シリアルポート798を通して入力し、シンセサイザーDAC インターフェイスサーキットリー1025へのライン 1047に送り、インターフェイスサーキットリー内の直列−並列変換器により 並列フォーマットに変換し、それからシンセサイザーDAC512に送ることが できる。 シンセサイザーレジスター1022は各々の音声処理を支配するプログラム化 されたパラメーターを含む。シンセサイザーモジュールに関する本セクションを 通じてこれらの様々なレジスターについて言及するが、これらのレジスターにつ いてはセクションV.N.レジスターにおいて詳細に論じる。音声パラメーター はプログラム化された入力/出力(PIO)操作によって、レジスターデータバ ス1024を通してレジスター1022にプログラムされる。 図103は音声発生及び効果処理中の信号フローを図示している。レジスター SMSIのビットEPEをゼロに設定する(SMSI[EPE]=0)時、シン セサイザーモジュール6は信号発生器として作用し、音を発生させるか、あるい はローカルROMまたはDRAMに含まれる波動表データ1002から記録され たデータを再生する。ローカルメモリーについては、セクションVI.ローカル メモリーコントロールモジュールにおいて詳細に論じている。波動表データ10 02のアドレス指定率が、発生される音声の出力信号のピッチまたは周波数を制 御する。アドレス発生器1000がこのアドレス指定率を制御するが、この率は LFO変動にも依存する。図103において、参照符号FC(LFO)はLFO 変動に依存する周波数制御(つまり、音声のピッチまたは周波数に影響を及ぼす 波動表アドレス指定率)を意味する。LFO変動は音声にヴィブラートを付与す る。 波動表データ1002がアドレス指定され、データサンプルSが補間された後 、データサンプルは図103に示すように、3つの乗算路を通して送られる。デ ータサンプルが3つの音量乗算路のいずれかを通過する時、データサンプルに3 つの個々の音量成分が掛けられる。 第1の音量成分はVOL(L)である。(L)はレジスター制御下にこの音量 成分を輪にして傾斜させることができることを示している。第2の音量成分はV OL(LFO)であり、音量LFO変動を付与する。音量のLFO変動は音にト レモロを付与する。図示するように、VOL(L)とVOL(LFO) 成分を掛けた後、音声の信号路は3つに分かれ、各々が3つの音量乗算路になる 。上部2つの路は音声用の立体音響左右データ出力を発生させる。 音声の立体音響位置付けは次の2つの方法のいずれかで制御することができる :(i)左から右への16のパン位置の内の1つに信号を置いて、1つのパン値 をプログラムすることができる;または(ii)ステレオフィールドのどこにで も音声を置くために分離した左右のオフセット値、ROFFとLOFFをプログ ラムすることができる。ROFFとLOFFは全音量出力に影響を及ぼすために も使用できる。そしてこの音声用の左右の音量出力を、同じフレーム中に発生さ れる他の音声の左右の出力の全てと合計する。フレーム用に収集された左右の出 力を次にCODECモジュール4のシンセサイザーDAC512に出力する。 EVOL(効果音量)は第3の信号路の音量を制御する。この第3の信号路は 効果処理用である。効果データはいずれの、または全ての効果アキュムレーター 1018にも送ることができ、あるいはどの効果アキュムレーターにも送られな くてもよい。8つの効果アキュムレーター1018の各々がそれに指定される全 ての音声出力を合計する。 レジスターSMSIのビットEPEを1に設定した場合、シンセサイザーモジ ュール6は効果プロセッサーとして作用する。この効果処理モジュールの間、シ ンセサイザーモジュール6はエコー、残饗、合唱及び音声に対するフランジ等の 遅延に基づく効果を発生させることができる。効果処理のために音声が指定され ている場合、そのデータは8つの効果アキュムレーター1018の1つに記憶さ れ、その後シンセサイザーモジュール6がデータを波動表データ1002に書き 込む。このデータ用の現在の書込みアドレスがシンセサイザー効果アドレスレジ スターに設定される。発生すべき全ての音声に関する現在の読取りアドレスは、 シンセサイザーアドレスレジスター内の値である。書込みアドレスと読取りアド レスの差がエコーや残饗効果のための遅延を提供する。書込みアドレスは常に1 だけ増分される。読取りアドレスは1の平均だけ増分されるが、LFOにより付 与される時間の変動を持つことができる。これらのLFO変動が合唱やフランジ 効果を作り出す。 遅延データを読み取った後、データに左右路内の音量成分を掛け、これがどの ような量の遅延データが間き取られるかを、また出力の立体音響位置を決定する 。EVOLを通り効果アキュムレーター1018までの音声の信号路は、レジス ターSMSI内のビットAEPを設定することによって選択される。SMSI[ AEP]が設定されない場合、シンセサイザーモジュール6は音声発生モードに あり、補間データサンプルSはシンセサイザーDAC512に出力される前に、 効果処理路を通って移動しない。 シンセサイザーモジュール6が効果アキュムレーター1018の1つから波動 表データ1002にデータサンプルを書き込み、後にこれらのデータサンプルの 1つを読み取った後、SMSI[AEP]が設定された場合、データサンプルを 効果アキュムレーター1018に送り返すことができる。データサンプルが効果 アキュムレーター1018に送り返された場合、その音量はEVOLによっての み減衰させることができる。データサンプルが同じアキュムレーターに送り返さ れた場合、エコー効果を作り出すため、データサンプルの音量に遅延を提供する ためにEVOLを使用することができる。 B.音声発生 シンセサイザーモジュール6が(シンセサイザーグローバルモードレジスター においてビットENHにより制御される)高揚モードにある時、シンセサイザー モジュール6は一定の44.1KHzのサンプル率で32までの数の音声を発生 させることができる。レジスターSMSIのビットDAVは特定の音声が処理さ れるかどうかを制御する。ビットDAVを1に設定した場合、特定の音声は処理 されないであろう。音声が処理されない時、シンセサイザーモジュール6はその レジスター値のいずれも更新せず、ローカルメモリーコントロールモジュール8 からのメモリーサイクルを要求しないであろう。電力を節約するために、未使用 の音声は処理されず、他のローカルメモリーコントロールの記憶操作のためのメ モリーサイクルの制限を撤廃する。 高揚モードにない場合、44.1KHzのサンプル率は14までの活動中の音 声のために維持されるだけであろう。15番目の音声が加えられた場合、ほぼ1 .6ミリセカンドをサンプル期間に加え、41.2KHzのサンプル率を 結果的に生じさせるであろう。フレーム拡大の更に詳細な説明については、セク ションVI.ローカルメモリーコントロールモジュールを参照。19.4KHz のサンプル率で最大32の音声まで各音声を加える時、この同じプロセスが続く 。音声発生が高揚モードで行われない時、サンプル率を決定するために以下の式 を使用できる: サンプル期間=AV.1.6μsec 式中、AVは活動中の音声数に等しく、それはシンセサイザー活動音声レジスタ ーにより制御される。AVは14から32までの値の範囲にあってよい。サンプ ル率が変化する場合、全ての音声周波数制御値を調整して音の真のピッチを維持 しなければならない。遅いサンプル率は可聴品質を低下させる。しかしながら、 このモードを持つオプションはシンセサイザーモジュール6が超音波波動表シン セサイザーと完全に互換性を持てるようにする。参照のためにここに引用する、 Traverse他による「波動表シンセサイザー」(”Wave Table Synthesizer”)と題された米国特許出願Serial No. 072,838を参照。 C.アドレス制御 音声発生はシンセサイザーアドレスレジスターにおいてプログラムされた位置 において、波動表データ1002をアドレス指定するアドレス発生器1000で 開始する。シンセサイザーアドレスレジスターに記憶された次の値の計算は4ビ ット:ENPCM(変調されたエネイブルパルスコード)、LEN(ループエネイブ ル)、BLEN(二方向性ループエネイブル)及びDIR(方向)によって制御さ れる。LEN、BLEN及びDIRはシンセサイザーアドレスコントロールレジ スター内に記憶される。本質的に、これらのビットの1つまたは組合せの設定が 、シンセサイザーモジュールが波動表データのブロックを通してアドレス指定し てから停止するか、シンセサイザーモジュールがデータブロックを通して輪にな るか、またシンセサイザーモジュールが前方向または逆方向にデータを通してア ドレス指定するかを決定する。図104a〜104fは6つのアドレス指定制御 オプション:(i)前方向の1パス;(ii)逆方向の1パス;(iii)前方向 のルーピング;(iv)逆方向のルーピング; (v)二方向のルーピング;及び(vi)PCM再生を図示している。図示する ように、可能化された場合、アドレス境界を交差する度に、割り込みが発生する 。アドレス境界はシンセサイザーアドレス開始レジスターとシンセサイザーアド レス終了レジスターに保持される。 小さな固定量の記憶装置を使用してデジタル的に記憶された任意の長さの音を 再生するために、シンセサイザー音量制御レジスター内のENPCMを使用する ことができる。ENPCMはアドレス制御論理がアドレス境界において割り込み を生じさせるが、アドレス境界による影響なしに同じ方向にアドレスを動かし続 けるようにする。 シンセサイザーモジュール6でデジタル的に記録された音を再生する標準の方 法は以下の通りである: 1.DMAまたはPIOを使用し、記録データの最初のブロックをアド レスSTARTからアドレスEND1までのローカルメモリーに記憶する。 2.STARTとEND1をアドレス境界として設定し、ENPCM= 1、LEN=0、BLEN=0、及びDIR=0とし、音声処理を開始する。 3.DMAまたはPIOを使用し、記録データの次のブロックをアドレ スEND1からアドレスEND2までのローカルメモリーに記憶する。 4.音声がEND1と交差するために割り込みを生じさせる時、アドレ ス境界をEND1からEND2に変更し、LEN=1に設定する。 5. DMAまたはPIOを使用し、記録データの次のブロックをアド レスSTARTからアドレスEND1までのローカルメモリーに記憶する。 6.音声がEND2と交差するために割り込みを生じさせる時、アドレ ス境界をEND2からEND1に変更し、LEN=0に設定する。 7.記録データが再生を完了するまで、ステップ3〜6を繰り返す。デ ジタルミキサーとしてシンセサイザーモジュール6を使用して、多数のデジタル サウンドの再生のために上記ステップを繰り返すことができる。 更に、アドレス発生器1000は効果処理のために書込みアドレスを制御する 。効果処理のために音声をプログラムする時、書込みアドレスが読取りアドレス と同じSTARTとENDのアドレス境界間で輪を形成するであろう。現 在の書込みアドレスがシンセサイザー効果アドレスレジスターに保持されるであ ろう。書込みアドレス指定用のルーピングの効果的なモードはFC=1で、LE N=1、BLEN=0及びDIR=0である。読取りアドレス指定用のルービン グのモードはFC=1で、LEN=1、BLEN=0、ENPCM=1及びDI R=0である。シンセサイザー効果アドレスレジスターに保持される現行の書込 みアドレスとシンセサイザーアドレスレジスターに保持される現行の読取りアド レス間の差が効果の遅延量を設定する。STARTとENDアドレス境界間の距 離が利用できる最大の遅延を設定する。 FC(LFO)がシンセサイザーアドレスレジスターの増加率または減少率を 制御する。FC(LFO)は成分FCとFLFOから構成される。FCはシンセ サイザー周波数制御レジスターにプログラムされる値である。FLFOはLFO により修正される値であり、この値はシンセサイザー周波数LFOレジスターに 記憶される。FLFOはアドレス計算をする前にFCに加えられる。FLFOは 符号付き値であり、FLFOが負である場合、音声のピッチが低下し、一方、F LFOが正である場合、音声のピッチが上昇する。 下記の表は波動表アドレス指定の全ての組合せと内部フラグBC(交差境界) が次の波動表アドレスにどのように影響するかを示している。(END−(AD D+FC(LFO)))が負であり、DIR=0である時、または((ADD− FC(LFO))−START)が負でありDIR=1の時、BCが1になる。 シンセサイザーアドレス制御レジスター内の波動表割り込み要求(IRQ)エネ イブルによって可能化される場合、条件BC=1が割り込みを発生させる。Ne xt ADDコラムはADD、FC(LFO)、START及びENDを使用し て次のアドレスを計算するために使用される式を示している。ADDはシンセサ イザーアドレスレジスターに含まれる値である。START及びENDはシンセ サイザースタートアドレスレジスターとシンセサイザーエンドアドレスレジスタ ーに含まれるアドレスルーピング用のアドレス境界である。 レジスターSGMIのビットENHがゼロに等しく、LEN=1、BLEN= 0の時、ENDとSTARTアドレスにおけるデータが同じでない場合、音声信 号内の不連続性が生じ得る。ENDアドレスによってアドレス指定されるデータ とSTARTアドレスによってアドレス指定されるデータ間の補間方法がないの で、不連続性が発生する。SGMI[ENH]=1、SACI[LEN]=1、 SACI[BLEN]=0、SACI[DIR]=0、及びSVCI[ENPC M]=1の組合せが、ENDアドレス指定データとSTARTアドレス指定間で データシンセサイザーモジュールが補間できるようにする。デジタル可聴再生及 び効果処理の間この新規の補間モードを使用する。この新規の補間モードで、E ND アドレス指定データが補間のためにもはや必要でなくなるまで、ENDア ドレスを交差する時通常発生する割り込みが発生されない。 SMSI[ROM]=0の時、シンセサイザーモジュール6は8−ビットと1 6−ビットのデータサンプルを得るために8−ビット幅のDRAMを使用するこ とができる。8−ビットデータを使用する音声に対して、アドレスレジスター内 の全てのアドレスが実際のアドレススペースを表わす。実際のアドレススペース は隣接するDRAMアドレススペースを指す。16−ビットデータを使用する音 声に対して、アドレスレジスター内のアドレスから実際のアドレススペースへの 変換が行われる。変換はシンセサイザーモジュール6が同じ方法で8−ビットと 16−ビットのデータ用のアドレスを発生できるようにし、ローカルメモリーコ ントロールモジュール8が2つの8−ビット値にアクセスして16−ビットサン プルを提供するために、DRAMファーストページモードを使用できるようにす る。アドレス変換については、セクションVI.ローカルメモリーコントロール モジュールにおいて説明する。 SMSI[ROM]=1の場合、シンセサイザーモジュール6は8−ビットと 16−ビットのデータサンプルを得るために、16−ビット幅のROMも使用で きる。8−ビットデータを使用する音声に対して、アドレスの最小桁のビット( LSB)が内部的に保持され、16−ビット幅のROMワードのどのバイトを使 用するかを決定する。LSB=0の場合、ワードの低い方のバイトがサンプルデ ータとして使用され、LSB=1の場合、ワードの高い方のバイトが使用される 。16−ビットデータから成る音声に対しては、アドレス発生器1000が直接 ROMをアドレス指定する。 D.μ−法則拡大 ローカルメモリーのスペースを節約するために、波動表データをμ−法則圧縮 することができる。シンセサイザーモジュール6はデータを補間する前に、8− ビットμ−法則データを16−ビット線形データに拡大する。シンセサイザーモ ジュールセレクトレジスター内のULAWビットが1に設定され、μ−法則デー タを拡大する。μ−法則拡大は下記において説明するシンセサイザー信号路によ って制御される。μ−法則データを16−ビットの線形データに変換するために 使用するアルゴリズムはIMA互換性プロジェクトによって指定される。参照の ためにここに引用する、IMA Compatibility Project ,Proposal for Standardized Audio Int erchange Formats(IMA互換性プロジェクト、基準化された オーディオインターチェンジフォーマットに対する提案、2.12版(1992 年4月24日)を参照。 E.補間 音声発生の間、シンセサイザーモジュール信号路(後述)内の補間論理100 4が、シンセサイザーアドレスレジスターの整数部分によって指定されるアドレ スにおいて、波動表データ1002からサンプルS1を捕える。それから整数部 分が1だけ増分され、サンプルS2が波動表データ1002から捕えられる。補 間されたサンプルSを得るために、補間論理1004はシンセサイザーアドレス レジスター(ADDfr)の分数部分と共にサンプルS1とS2を使用する。S を引出すために以下の式を使用する。 補間プロセスは10−ビットの補間である。1024除数に正確に10−ビット の分数を掛ける必要がある。こうして、サンプルS1とS2の間で、可能性のあ る1023の付加的なデータサンプルを補間することができる。 F.音量制御 音量自動制御装置1012とシンセサイザーモジュール信号路(後述)の制御 下に、3つの音量乗算信号路を使用して、包絡線、LFO変動、右オフセット、 左オフセット、及び効果音量を各々の音声に付加する。図102と103を参照 。3つの信号路は左、右及び効果である。各信号路において、3つの音量成分を 各音声に掛ける。3つの成分を計算した後、それらを合計し、3つの信号路の音 量を制御するために使用する。3つの各々の信号路のための3つの音量式を下記 に示す。式の用語を下記において定義する。 (1) 音量左 = VOL(L)+VOL(LFO)−LOFF (2) 音量右 = VOL(L)+VOL(LFO)−ROFF (3) 音量効果 = VOL(L)+VOL(LFO)−EVOL、S MSI[AEP]=0の時 注:音量効果 = EVOL、SISI[AEP]=1の時。換言すれば、 シンセサイザーモジュール6が交互の効果路モード(SMSI[AEP]=1)に ある時、データサンプルの音量はそれが出力される前に、EVOLによってのみ 調節できる。V.I.効果の音量EVOLを参照。 音量乗法用の正確な式は以下の通りである: 式中、Oは出力データであり、Vは音量値であり、Sは補間されたデータサンプ ル値である。1からVへの増分が出力Oにおける約0.0235dBの変化 を生じさせる。この式は指数項のためにデジタル論理において直接実行すること が困難であるが、区分的線形近似は比較的実行が容易である。各音量の合計は1 2−ビット値である。12−ビット値は2ビットフィールド、V[11:8]と V[7:0]に分割される。V[11:8]及びV[7:0]ビットフィールド は以下の音量乗法近似を提供するために使用される: この式を3回使用して、右の音声出力と、左の音声出力と、効果出力を得る。 0≦V≦4095に対して近似により導入される誤差は、0dB〜0.52dB の範囲であり、平均0.34dBである。1dB以下の電力の差は人間の耳には 知覚できないので、出力電気が近似により実行される場合、誤差を知覚できない 。全ての音量成分を発生させた後、各々の乗算信号路音量のためにそれらを合計 する。 音量のVOL(L)成分を前進させたり、逆動させたり、または二方向的に音 量境界間で輪にしたりすることができ、あるいは音量境界まで上下に傾斜をつけ るだけでもよい。VOL)L)成分は音声に包絡線を付加するためのものである 。シンセサイザー音量レベルレジスターに記憶されている次の値の計算は3ビッ ト:LEN(ループエネイブル)、BLEN(二方向性ループエネイブル)、及 びDIR(方向)によって制御される。LEN、BLEN及びDIRはシンセサ イザー音量制御レジスターに記憶される。図105a ̄105eは5つの音量制 御オプションを図示している。可能化された場合、音量境界を交差する度に割り 込みが発生するであろう。図105a ̄105eを参照。音量境界はシンセサイ ザー音量スタート及びエンドレジスターに保持される。 下記の表は、UVOL(更新音量)と内部フラグBC(交差境界)と共に、音 量制御の全ての組合せがVOL(L)の次の音量レベル用の式にどのように影響 するかを図示している。UVOLはVoL(L)が修正される率を制御する内部 フラグである。シンセサイザー音量率レジスター内の音量率ビットがV OL(L)修正の率を設定する。音声が音量率ビットによって設定された回数だ け処理されるまで、UVOLはゼロのままであろう。UVOLが1になる時、V OL(L)はLEN、BLEN、DIRの制御下に増加する。BCは音量境界を 交差する時はいつでも1になる。シンセサイザー音量制御レジスター内の音量I RQエネイブルによって可能化される場合、BCが割り込みを発生させるであろ う。「Next VOL(L)」コラムはVOL(L)、VINC(音量増加) 、START及びENDを使用して、VOL(L)の次の音量レベルを計算する ために使用する式を示す。VINCはシンセサイザー音量率レジスター内に保持 される。STARTとENDはシンセサイザースタート音量レジスターとシンセ サイザーエンド音量レジスターに各々含まれる音量ルーピング用の音量境界であ る。 後述するシンセサイザー音量率レジスターのビット定義セクションにおいて、 音量増加に関する音量率ビットの影響が定義されているが、レジスターのプログ ラミングのために、以下の式が音量の変化率を最も良く説明している: この式において、I[5:0]とR[1:0]はSVRIレジスター内のフィー ルドである。VOL(L)内の1の増加により生じる音量の変化は0.0235 dBである。VOL(L)を更新するための基本率は44100Hzである。こ のインプリメンテーションは超音波波動表シンセサイザーが使用するものとは異 なるが、計算は互換性がある。 本発明の音量増加(減少)の方法は遅い率ビット値に対するジッパー音を除去 するという利点がある。超音波波動表シンセサイザーは、遅い率で発生された音 声の音量を増加し、音量増加値が大きい時にジッパー音を発生させる可能性があ る。このビットシフティングはI[5:0]用に3つのビット位置だけを残し、 それを音量増加を設定するために使用することができ、それによって遅い音量増 加率で7より大きな増分ステップを取ることを不可能にする。もちろん、本発明 は遅い音量増加率で異なる最大の増加ステップを準備するように容易に修正され 得る。I[5:0]からシフトされる3ビットはレジスターSVLIのビット位 置F[2:0]に追加される。レジスターSVLIのビット位置F[2:0]内の データは高い解像度でルーピングボリューム、VOL(L)の値を表わすために使 用される付加的なデータを含む。セクションV.N.レジスターを参照。 G.LFO音量VOL(LFO) LFO発生器1021はLFO変動(VOL(LFO))を発生させ、それを 音声の音量を連続修正するために使用できる。音声の音量の連続修正はトレモロ 効果を作り出す。VOL(LFO)の値はシンセサイザー音量LFOレジスター 内にある。VOL(LFO)はLFO発生器1021により逐行されるLFO計 算の最終結果である。LFO発生器1021とLFO操作について以下に詳細に 説明する。 H.音量オフセット/パンROFF、LOFF 音量発生器1012は以下の2つの方法で発生された音声の立体音響位置付け を制御する:(i)音声を16のパン位置の1つに置くことができる;または( ii)左右のオフセットをプログラムしてステレオフィールド内のどこにでも音 声を置くことができる。シンセサイザーモードセレクトレジスター内のOFFE Nが立体音響位置付けの2つの異なるモードを制御する。以下の表は16のパン 位置と対応する左右のオフセットを示している。注意すべきことは、同等に間隔 を置いて配置される16のステレオ位置の1つに音声を置くために、立体音響位 置付けの両方法を使用できることである。表に記載された値は全てのパン位置に おいて全電力を一定に保つように引き出された。 シンセサイザーパンレジスター値、左のオフセット値、左の減衰(dB)、右の オフセット値、右の減衰(dB) 下記の式は一定の全電力でより細かいパン位置を与えるために左右のオフセッ トを決定する。式はシステムソフトウェアにより実行される。 以下の式は計算されたオフセットから生じる減衰を決定する: PanMax+1が所望のパン位置の総数である。パンはゼロとPanMax間 の所望のステレオ位置である。 オフセット制御はユーザーが直接また正確にステレオ位置を制御できるように する。更にユーザーが左右の音量出力を切ったり、他の全ての音量成分とは別個 の音量制御で全体の音量出力を制御したりできるようにする。一旦音量の合計が 負になると、音量乗算器がその信号路のために最大の減衰を設定するので、左右 のオフセットを全て1にプログラムすることにより各々の出力が切 られる。ユーザーは2つの成分により作られる左右のオフセットを考慮すること により、音声の全体の音量を制御することができる。1つの成分がステレオ位置 を制御し、左または右のオフセットに対して独特であり、他方の成分が左右のオ フセットに共通であり、音声の全体の音量を制御する。ユーザーはシステムソフ トウェアにおいて2つの成分を組合せ、全体の音量とステレオ位置の両方を制御 するためにシンセサイザーオフセットレジスターをプログラムする。 レジスターSMSIのビットOFFEN=1の時、2つのレジスターを使用し て各オフセットの値を制御する。レジスターSROIとSLOIが左のオフセッ ト(LOFF)と右のオフセット(ROFF)の現在値を含む。レジスターSR OFIとSLOFIがSROIとSLOIの最終値を含む。SROIとSLOI 内の現在値がレジスターSROFIとSLOFI内に含まれる最終値に達するま で、サンプルフレームごとに1LSBだけ増加または減少される。これは1回の 書込みだけで滑らかなオフセット変更を可能にする。滑らかなオフセット変更が ジッパー音の発生を防止する。現在値レジスターと最終値レジスターの両方に同 じ値を書き込むことにより、瞬間的なオフセット変更を行うことができる。ビッ トOFFEN=0の場合、現在値の増加または減少は不可能である。このモード は超音波波動表シンセサイザーとの互換性のために使用される。 I.効果音量EVOL EVOLは効果の信号路の出力音量に影響を及ぼす。図103に図示するよう に、効果用の信号路は音声発生用の信号路とは異なる。レジスターSMSIのビ ット[AEP]がこの差を制御する。音声発生の場合、SMSI[AEP]はゼロ であり、効果用信号路の分割はVOL(L)とVOL(LFO)の後にくる。 VOL(L)とVOL(LFO)は包絡線とトレモロを音声に付与するので、V OL(L)とVOL(LFO)の後に効果用信号路の分割を置くことが重要であ る。効果処理は包絡線及びトレモロを含む全音声に関して行うべきである。EV OLは減算であり、従って音量の減衰を提供する。 効果処理の場合、SMSI[AEP]は1であり、効果用信号路は補間後に 分割する。このモードでは効果遅延が作られた後、それが効果アキュムレーター 1018に送り返される前に、EVOLを使用して信号の音量を調節することが できる。EVOLは他の音量成分と合計されないが、それ自体で効果用信号路の 音量を制御する働きをする。 2つのレジスターを使用して値EVOLを制御する。レジスターSEVIはE VOLの現在値を含む。SEVFIはSEVIの最終値を含む。レジスターSE VI内の現在値はそれがレジスターSEVFIに含まれる最終値に達するまで、 サンプルフレームごとに1LSBだけ増加または減少される。これは1回の書き 込みだけで滑らかな変更を可能にする。滑らかな変更がジッパー音の発生を防止 する。SEVIレジスターとSEVFIレジスターの両方に同じ値を書き込むこ とにより、瞬間的なオフセット変更を行うことができる。 J.音声蓄積 音声のデータサンプル用に左右の出力を発生させた後、シンセサイザーモジュ ール6内の蓄積論理が左右の出力と同じフレームの間に既に発生されている他の 左右の出力を合計する。図118を参照。左右の出力は左右のアキュムレーター 1014、1016に蓄積される。シンセサイザーモジュール6は同じフレーム の間に処理される音声出力の全てを合計してしまうまで、このプロセスを続ける 。左右のアキュムレーター1014、1016の合計はCODECモジュール4 内のシンセサイザーDAC512に送られ、可能性のあるミキシング機能のため にアナログの左右出力に変換される。セクションIV.CODECモジュールを 参照。音声蓄積論理は、合計が最大値を超えた時、ローリングオーバー及び符号 変更を行う代わりにクリップすることを保証する。 K.効果蓄積 遅延ベースの効果処理の間、音声を8つの効果アキュムレーター1018のい ずれか、または全てに向けることができ、あるいは全然向けなくてもよい。シン セサイザー効果出力アキュムレーターセレクトレジスターがこの処理を制御する 。効果処理の間、8つの効果アキュムレーター1018の内の1つが音声につな がれる。下記の表はどの効果アキュムレーターがどの効果音声につながれている か、またどのようにして音声の効果路を効果アキュムレーターに 向けるかを示している。例えば、音声12が効果処理をするようにプログラムさ れている場合、それは効果アキュムレーター4につながれるであろう。シンセサ イザー効果出力アキュムレーターセレクトレジスターを10hexに設定するこ とにより、如何なる音声もその効果路が音声12により処理されるように指示す ることができる。これによりその効果路が効果アキュムレーター4に向けらせる 。 1つ以上の音声が同じ遅延ベースの効果を持つことになっている場合、これら の音声の各々を8つの効果アキュムレーター1018の1つに共に合計すること ができる。例えば、幾つかの音声がピアノの音色である場合、合計に合唱効果を 発生させることができるように、それらを第1の効果アキュムレーターに合計す ることができる。更に、2つの他の音声がフルートの音色である場合、この合計 に残饗効果を発生させることができるように、それらを第2の効果アキュムレー ターに合計することができる。 フレームの間に、ローカルメモリーコントロールモジュール8が効果処理のた めに波動表DRAMに対する8つまでのアクセスを許す。こうして、この態様で は、最大8つの遅延ベースの効果をフレームの間に発生させることができる。上 述のように、幾つかの音声を8つのアキュムレーターの1つに合計することがで き、これらの1つに合計された音声のために8つの可能な効果の内の1つを発生 させることができる。 当業者であれば、その代わりに、アキュムレーター1018のどれかが1つの 音声または多数の音声からのデータの収集を完了した後、アキュムレーターから 収集したデータをローカルメモリーに書き込み、アキュムレーターをクリアーす るために音声を使用できることを容易に認識するであろう。一旦アキュムレータ ーをクリアーすれば、別の音声または多数の別の音声からの収集デー タのためにアキュムレーターを再使用することができる。このように、8つのア キュムレーターがあるという事実はフレームの間に利用できる遅延ベースの効果 の数を必ずしも8に制限しない。フレームの間に利用できる遅延ベースの効果数 の限界は所定の時間フレームにおいて認められるローカルメモリーへのアクセス 数に基づいている。 上述のように、フレームの間に32までの音声と8までの効果を発生させるこ とができる。しかしながら、フレームは32スロットを持つ設定された時間であ るので、発生される音声数と発生される効果の数の間に相反関係がある。例えば 、最大8つの効果が1つのフレームの間に発生される場合、24までの音声を1 つのフレームの間に発生させることができる。この発生される音声と効果の間の 相反関係が高品質のサウンド発生に不道理な束縛を生じさせるべきではない。 L.低周波発振器(LFOs) SGMI[GLFOE]=1の場合、全てのLFOsが可能化される。2つの 三角波LFOsが32の可能な音声の各々に指定される。1つのLFOがヴィブ ラート(周波数変調)専用であり、他のLFOがトレモロ(振幅変調)専用であ る。LFO発生器1021の操作用の全てのパラメーターがシステムソフトウェ アによってまずローカルメモリーに書き込まれる。それから操作中に、パラメー ターがLFO発生器1021によって読み取られ、書き込まれる。各々のLFO の深さをその現在値から深さの範囲内のどのような値にも傾斜させることができ る。以下は各LFOの能力の概要である: 各LFO用の様々なパラメーターがプログラムされ、下記のアドレスにおいて ローカルメモリーに記憶される: ベースアドレスは14−ビットのプログラム可能レジスター、SLFOBIであ る。VOICEは2つのLFOsと連合する音声数である。V/T はLFOs 間で選択する;ヴィブラートが高くトレモロが低い。DATA SELは以下の ように解読される: LFOごとにDEPTHとWAVE用に2つの値がある。LFOがどちらの値を 使用するかは、CONTROLワード内のWSビットによって制御される。この 特徴はLFOsをそれらの操作中に修正できるようにする。例えば、LFOがT WAVE[0]とDEPTH[0]を使用している間、LFOが新しくプログラ ムされた値をオーバーライトするという心配なしに、固定されたコピーTWAV E[1]とDEPTH[1]を修正することができる。修正値を書き込んだ後、 CONTROLワード内のWSビットを変更して修正値に転換することができる 。 CONTROLバイトは以下のデータを含む: LEN LFOエネイブル:これが高い場合、LFOが可能化 される。これが低い場合、LFOを処理するために如 何なるアクセスももはや発生しない。 WS 波動選択:TWAVE[0]とDEPTH[0]、ま たはTWAVE[1]とDEPTH[1]間で選択す る。 SH シフト:波形が0で始まり、7FFFhまで上昇する ように、波形を右にシフトする。 INV インバート:波形をx軸のまわりでフリップさせる。 TWAVEINC[10:0] LFO周波数:これはLFOの周波数を 指定する。値は7FFhに対する21.5から、00 1hに対する95秒までの範囲である。LFO周波数 用の式は次の通りである: フレーム、LFOフレーム、ランプフレーム: 1LFOが各フレームごとに 更新される。各64フレームをLFOフレーム(全てのLFOを更新するために 必要な時間)と呼ぶ。1LFOの深さに対する現在位置が各8フレームごとに更 新される。全てのLFOs用の深さは8LFOフレームまたは512(64×8 )フレームごとに更新される。8LFOフレームがランプフレームを構成する。 各LFOの処理は通常ローカルメモリーへの4回のアクセスを必要とする。し かしながら、ランプ更新サイクルの間は、LFOは6回のアクセスを必要と する。通常最初の3回のアクセスがCONTROL、DEPTH、及びTWAV Eを読み取り;新しい値が計算された後、4番目のアクセスがTWAVEを書き 戻す。ランプ更新サイクルの間、DEPTHFINALとDEPTHINCを得 るために別の読取りサイクルが必要であり、DEPTHの新しい値を記憶するた めに別の書込みサイクルが使用される。 ランピング: 各ランプフレームごとに、DEPTHがDEPTHFINAL ●32と比較される。それらが等しい場合、ランピングは発生しない。DEPT Hの方が小さい場合、DEPTH+DEPTHINCの合計が計算される;そう ではなく、DEPTHの方が大きい場合、DEPTH−DEPTHINCの差が 計算される。合計/差がDEPTHFINAL●32より大きい/小さい場合、 DEPTHに書き込まれた新しい値がDEPTHFINAL●32であり;そう でなければ、書き込まれた値が合計/差である。ランプに必要な時間は: LFO Math: 周波数または音量のいずれかを修正し、レジスターSF LFOIまたはSVLFOIに記憶される最終LFO値の作成は以下のステップ に従って行われる: TWAVEINCが各LFOフレームごとにTWAVEに加えられる。LFO波 形の大きさに深さを掛けると、最終LFOになる。図106aと106bは利用 できる4つの波形のグラフである。波形選択はINVビットとSHビットをLF OのCONTROLバイト内でプログラミングすることによって制御される。 最終LFOは8−ビットの2での補数値である。シンセサイザーレジスターア レイは音声の周波数と音量を修正するために使用されるLFO振幅/変動値を記 憶する。以下のように、ヴィブラートのためにこの値がFCに加えられ、トレモ ロのために音量に加えられる: 最終LFOが正である場合、符号拡張は全て0である;最終LFOが負である場 合、符号拡張は全て1である。これは12.4%の最大ヴィブラート深さ(FCが 1である場合)を、そして12dBのトレモロ深さを提供する。 設定された期間に亙って、各LFOが同じLFO振幅/変動を音声の周波数と 音量に加える/から減じる。こうして、この設定された期間の終了時に、音声の 周波数と音量はLFO振幅/変動が加えられなかった場合と同じである。 当業者であれば、発生される音声の周波数と振幅にLFO変動を提供するため に、低周波三角波以外の低周波が適当である場合があることを容易に認識するで あろう。例えば、低周波であると仮定して、LFO変動を提供するためにのみ使 用される音として、可能性のある32の発生される音声の1つを指名することが 適切であるかもしれない。 M.割り込みの取扱 シンセサイザーモジュール6は処理される各々の活動中の音声のためにアドレ スと音量の境界割り込みを発生させることができる。アドレス及び音量割り込み はリポーティングとクリアリングに関して同様に取り扱われる。これら2つのタ イプの割り込みには、3レベルのリポーティングがある。音声処理中に境界を交 差する時、境界に応じて、レジスターSACIの音声特有のレジスタービットW TIRQ、またはレジスターSVCIの音声特有のレジスタービットVIRQの いずれかが割り込みのタイプを指示し、レジスターSVIIのグローバルレジス タービットWTIRQ#またはVIRQ#が設定されるであろう。レジスターS VIIはまた割り込みを生じさせた音声の数を含む。ビットWTIRQ#及びV IRQ#はシステムコントロールモジュール2内のレジスターUISRのビット LOOIRQとVOLIRQにおいて反映される。割り込みサービスルーチンは レジスターUISRを読み、割り込み源を決定することができる。そうして、該 かる割り込みサービスルーチンが8Fhの値をレジスターIGIDXR(システ ムコントロールモジュール2に置かれている)に書き込み、レジスターSVII を指示する場合、これは割り込みが行われたことの通知として作用し、SVII の内容がラッチされ、リポーティングの3つ全てのレベルをクリアーするプロセ スを開始することができる。8Fhの値でIGIDXRへの書込みのすぐ後に、 UISR[LOOIRQ,VOLIRO]ビットがクリアーされる。割り込みを 生じさせた音声が次に処理される場合、SACI[WTIRQ]とSVCI[V IRQ]がクリアーされ、リポーティングの3つ全てのレベルがクリアーされる 。 多重音声割り込みをシンセサイザーモジュール6内の特定のレジスターに積み 重ねることができる。処理中に音声が境界に達し、レジスターSVIIが既に活 動中の割り込みを含んでいる場合、活動中の割り込みがレジスターSVIIから クリアーされてしまうまで、レジスターSACIの音声特有のレジスタービット WTIRQまたはVIRQのいずれかが新しい割り込みを保持する。レジスター SVIIは新しい割り込み音声の処理中に新しい割り込みで更新される。 レジスターSVIRIを読むことによって、SVII[WTIRQ#、VI RQ#]及び割り込みを生じさせた音声の数を観察することができる。レジスタ ーSVIRIの読取りは記憶された割り込みリポーティングビットのいずれもク リアーしない。このように、割り込みサービスルーチンが割り込みリポーティン グビットを調べることができ、割り込みリポーティングビットをクリアーする前 に、割り込みを生じさせた境界状態を変更することができる。SVIIだけが読 み取られた場合、同じ境界状態のために報告される多数の割り込みを得ることが できる。 M.レジスター 特に別記しない限り、シンセサイザーモジュールレジスター1022内の全て のRES(リザーブ)ビットはゼロで書き込まれなければならない。RESビッ トの読取りが不確定値を戻す。RESビットの読取り−修正−書込み操作により 読み取られた値を書き戻すことができる。 1.直接レジスター シンセサイザー音声セレクトレジスター(SVSR): シンセサイザー音声 セレクトレジスターはデータを読み取る、または書き込むために音声特有の間接 レジスターを選択するために使用される。シンセサイザー音声セレクトレジスタ ーはプログラムすべき32の音声の1つを選択するために、0 ̄31(0h ̄1 Fh)で書き込むことができる。また、レジスターIGIDXRが各々の書き込 みと同時にI8DPまたはI16DPに自動増加できるようにするために、ビッ トAIを1に設定できる。AIはSGMI[ENH]=0の時、0に保持される 。 アドレス: P3XR+2h 読取り/書込み デフォールト: 00h 2.間接レジスター シンセサイザーモジュール6内に2つのタイプの間接レジスターがある。グロ ーバルレジスターは全ての音声の操作に影響を及ぼし、音声特有のレジスタ ーは1つの音声だけの操作に影響を及ぼす。グローバルレジスターへのアクセス は他の間接レジスターへのアクセスと同じである。音声特有のレジスターへのア クセスを得るために、シンセサイザー音声セレクトレジスター(SVSR)に書き 込むことによって音声の数を指定しなければならない。音声特有のレジスターの 読取りはIGIDXRに読取りアドレスを書き込むことによって開始される。音 声特有のレジスターへの書込みは、IGIDXRとSVSRに書き込んだ後、一 般的な16−ビットまたは8−ビットI/Oデータポート、I16DP及びI8 DPに書き込むことによって開始される。更に、音声をプログラムするために必 要なアクセス数を減らすために、SVSR[AI]を1に設定し、レジスターI GIDXR内の値が各々の書き込みと同時にI8DPまたはI16DPに自動増 加できるようにすることができる。これらの特徴は、以下の表に記載するように 、音声特有のレジスターにアクセスする幾つかの異なる方法を導き出す。 書込み及び読取りのための標準のアクセス、書込み及び読取りのための列アク セス、書込みのためのコラムアクセス、書込みのための自動増加アクセス シンセサイザーモジュール6内の音声特有のレジスター値はレジスターアレイ 1032と呼ばれるデュアルポートRAMに含まれる。レジスターアレイの片側 は音声プログラミングのためにシステムコントロールモジュール2のシステムバ スインターフェイス14からアクセスでき、他方の側はシンセサイザーモジュー ルのコアブロック1000、1012、1028、1032によってアクセスで きる。セクションV.O.シンセサイザーモジュール構造を参照 音声が発生されると、シンセサイザーモジュールコアブロックがレジスターア レイから音声のプログラムされた値を読む。音声発生の終了によって、コアブロ ックはレジスターアレイ1032に自己修正レジスター値を書き戻す。レ ジスターアレイのシステムバスインターフェイス14読取りは、コアブロックが レジスターアレイからの読取り/への書込みを終了するまで待たなければならな い。レジスターアレイの読取りアクセスをスピードアップするために、シンセサ イザーモジュールの間接レジスターの読取りインデックスは書込みインデックス と異なる。これは読取りデータを予め捕えることを可能にする。ファーストバス アクセスの場合、レジスターアレイ1032が応答できるようになるまで、シス テムバスインターフェイス14へのデータバイトレジスターの読取り中にIOC HRDYピンが使用される。 システムバスインターフェイス14がレジスターアレイに書き込む場合、書込 みは:(i)シンセサイザーモジュールのコアブロックが如何なる音声も読み取 ったり書き込んだりしていない;(ii)書き込みによって修正される音声がシ ンセサイザーモジュール6によって処理されなくなる時まで待たなければならな い。2番目の状態はシステムバスインターフェイス14によって自己修正型レジ スターに書き込まれるデータが、音声処理の終了時においてレジスターアレイ1 032へのコアブロックの書き込みによって変更されないことを保証する。 システムバスインターフェイス14のレジスターアレイ1032への書き込み が緩衝される。インデックスレジスターまたはシンセサイザー音声セレクトレジ スターへの次のシステムバスインターフェイスの書込み前に、レジスターアレイ 1032が緩衝データを取っていない場合、IOCHRDYピンもシステムバス インターフェイス14を保持するために使用できる。 本発明はオーバーライトされたデータを持つことを避けるために、自己修正型 レジスターへの2回のシステムバスインターフェイスの書込みデータを持つとい う先行技術における望ましくない方法を避けるようにデザインされている。先行 技術におけるこの方法と比較して、本発明はデータの書込みを保証し、シンセサ イザーが特定の自己修正型レジスターから読み取る/に書き込む時間を減少させ る際の信頼度を上昇させると信ずる。 活動中の音声のレジスターに書き込む際に特に注意する必要がある。シンセサ イザーモジュールのコアブロックが一対の音声特有のレジスターの書き込 みの間にレジスターアレイ1032を読む場合、発生器が望ましくない活動をす る可能性がある。一対のレジスターを持つ音声特有のレジスターは:シンセサイ ザーアドレススタート、シンセサイザーアドレスエンド、シンセサイザーアドレ ス、シンセサイザー効果アドレス、及びシンセサイザーオフセットを含む。 シンセサイザーレジスターはPCARST#によって初期化される。III. PCARST#の詳細な論議のためのシステムコントロールモジュールを参照。 グローバルレジスターはPCARST#が活動中の時に初期化され、音声特有の レジスターを含むレジスターアレイが128クロックシーケンスでPCARST #の無活動の縁に続いて初期化される。4つの16MHzごとのクロックシーケ ンスの間、レジスターアレイ1032のシンセサイザーモジュールコアブロック 側からの書込みが特定の音声の音声特有のレジスタービットごとに初期化される 。 URSTI[RGF1]=0もレジスターSVII、SVIRI、SGMI、 SLFOBIを初期化する。一般的に、URSTI[RGFI]=1が全てのシ ンセサイザーモジュール6の操作を停止させる。シンセサイザーモジュール6が 操作し、シンセサイザーモジュール内のレジスターからの読取り/からの書込み を行うために、URSTI[RGFI]が1に等しくなければならない。シンセ サイザーモジュールレジスターはPCARST#が128の16MHzクロック に対して無活動になった後、超音波波動表シンセサイザーと適合性のある値に初 期化される。この時点で、超音波波動表シンセサイザーにおいて発生するように 、URSTI[RGF1]が超音波と互換性のある機能をリセットするであろう 。SGMI[ENH]が1に設定され、新しいレジスターと新しいレジスタービ ットがアクセスされ、別のPCARST#またはそれらのデフォールト状態にレ ジスターを書き込む初期化ルーチンだけがシンセサイザーモジュール6を適合性 のある状態に戻すことができる。URSTI[RGF1]=0がレジスターアレイ 内の音声特有のレジスターを初期化しないので、この状態が存在する。 3.グローバルレジスター a.シンセサイザーアクティブヴォイスレジスター(SAVI) シンセサイザーアクティブヴォイスレジスターは超音波波動表シンセサイザー との互換性を維持するためにのみ必要である。高揚モードでは、シンセサイザー グローバルモードレジスター内のENHを1に設定することによって制御され、 シンセサイザーアクティブヴォイスレジスターの出力は操作に影響しない。EN H=0の時、このレジスターはどの音声が出力を作り出し、出力サンプル率に影 響を及ぼすかを制御するために使用される。活動中の音声の数は14〜32の範 囲にあってよい。14の活動中の音声がある場合、出力サンプル率は44.1K Hzであるか、または約22.7マイクロセカンドのサンプル期間である。14 を超えて各々付加された音声はサンプル期間に約1.6マイクロセカンドを付加 する。ENH=0の場合、14以上の音声が活動中である時、周波数制御値を遅 い出力サンプル率を補償するために調整しなければならない。プログラムされた 値は活動中の音声マイナス1の数に等しい。このレジスターのプログラムされた 値は13(CDh)〜31(DFh)の範囲にあってよい。 アドレス: P3XR+5h 読取り/書込み;インデックスIGIDX R=0Eh書き込みまたはIGIDXR=8Eh読取り デフォールト: CDh RES 保留ビット: 読取りビット7=1,6=1及び5=0の時。 AV[4:0] 活動中の音声: これらのビットは活動中の音声の数 を示す。 b.シンセサイザーヴォイスIRQレジスター(SVII) シンセサイザーヴオイスIRQレジスターはどの音声が割り込みサービスを必 要としており、どのタイプの割り込みサービスが必要であるかを示す。このレジ スターをレジスターIGIDXR=8Fhとインデックス付けすることで、割り 込みを生じさせた音声特有のシンセサイザー音量コントロール及び /もしくはシンセサイザーアドレスコントロールレジスター内のIRQビットを クリアーし、更にIRQ状態レジスター内のVOLIRQとLOOIRQをクリ アーする。 アドレス: P3XR+5h 読取り;インデックスIGIDXR=8Fh 読取り デフォールト: E0h WTIRQ# 波動表IRQ: このビットが0の時、V[4:0]により 指示される音声がアドレス境界と交差し、割り込みを生じさ せる。 VIRQ# 音量IRQ: このビットが0の時、V[4:0]により指 示される音声が音量境界と交差し、割り込みを生じさせる。 RES 保留ビット:1を読み取るであろう。 V[4:0] 音声数:これらのビットはどの音声が割り込みサービスを必 要としているかを示す。 RESビットを除く全てのビットが自己修正型である。 c.シンセサイザーヴォイスIRQ読取りレジスター(SVIRI) シンセサイザーヴォイスIRQ読取りレジスターはSVIIレジスターと同じ ビットを含むが、内部に記憶された割り込み状態をクリアーすることなく読み取 られる。 アドレス: P3XR+5h 読取り;インデックスIGIDXR=9Fh 読取り デフォールト: E0h WTIRQ# 波動表IRQ: このビットが0の時、V[4:0]により 指示される音声がアドレス境界と交差し、割り込みを生じさ せる。 VIRQ# 音量IRQ: このビットが0の時、V[4:0]により指 示される音声が音量境界と交差し、割り込みを生じさせる。 RES 保留ビット:1を読み取るであろう。 V[4:0] 音声数:これらのビットはどの音声が割り込みサービスを必 要としているかを示す。 RESビットを除く全てのビットが自己修正型である。 d.シンセサイザーグローバルモードレジスター(SGMI) シンセサイザーグローバルモードレジスターは全ての音声に影響を及ぼす操作 モードを制御する。 アドレス: P3XR+5h 読取り/書込み;インデックスIGIDX R=19h書き込みまたはIGIDXR=99h読取り デフォールト: 00h RAMTEST ラムテスト:1に設定することにより、シンセサイザーアド レスレジスターのAF[0]がSAHIのビット位置15に 書き込まれ/読み取られるようにする。 NOWVTBL 波動表なし:1に設定された場合、シンセサイザーは波動表 データを使用しないが、その代わりに正の最大16−ビット 値(LSB=0)と負の最大16−ビット値(LSB=1) の間で補間するために、シンセサイザーアドレスレジスター の整数LSBビットを使用するであろう。 GLFOE グローバルLFOエネイブル:1に設定することで、全ての LFOが操作できるようにする。 ENH 高揚モード:超音波波動表シンセサイザーに付加される高揚 された特徴を1によって可能にする。 e.シンセサイザーLFOベースアドレスレジスター(SLFOBI) シンセサイザーLFOベースアドレスレジスターは音声LFOパラメーターの 場所のためのベースアドレスを保持する。 アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=1Ah書き込みまたはIGIDXR=9Ah 読取り デフォールト: 0000h A[23:10] LFOベースアドレス:音声LFOパラメーターの 場所のためのベースアドレス。 4.音声特有のレジスター a.シンセサイザー上部アドレスレジスター(SUAI) シンセサイザー上部アドレスレジスターは音声用の波動表アドレスの上部ビッ トを含む。波動表アドレスの上部ビットは各々の音声用のシンセサイザーアドレ ススタート、シンセサイザーアドレスエンド及びシンセサイザーアドレスに付加 される。上部アドレスビットは音声を4つの4メガバイトのメモリースペースの 1つに固定する。シンセサイザーモジュール6が上部アドレスビットで、全部で 16メガバイトのメモリーにアクセスできる。SGMI[ENH]=0の時、S UAIはデフォールト値に保持される。 アドレス: P3XR+5h 読取り/書込み;インデックスIGIDX R=10h書き込みまたはIGIDXR=90h読取り;音 声インデックスSVSR=(00h ̄1Fh) デフォールト: 00h AI[23:22] 上部アドレスビット。 b.シンセサイザーアドレススタートレジスター 音声が波動表データ1022を通って移動している時、シンセサイザーアドレ ススタートレジスターの整数部分が境界アドレスを指定する。シンセサイザーア ドレススタートレジスターの値はシンセサイザーアドレスエンドレジスターの値 より小さい。音声が波動表メモリーの4メガバイトにアクセスできるようにする ために、AI[21:20]が付加されている。SGMI[ENH]=0の時、 AI[21:20]は0に保持されるであろう。 (i) シンセサイザーアドレススタート高レジスター(SASHI ) アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=02h書き込みまたはIGIDXR=82h 読取り;音声インデックスSVSR=(00h ̄1Fh) デフォールト: 0000h (ii) シンセサイザーアドレススタート低レジスター(SASL I) アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=03h書き込みまたはIGIDXR=83h 読取り;音声インデックスSVSR=(00h ̄1Fh) デフォールト: 0000h AI[21:20] スタートアドレス:4メガバイトにアクセスするた めに付加されるスタートアドレスの拡大された整数部分。 AI[19:0] スタートアドレス:スタートアドレスの整数部分。 AF[3:0] スタートアドレス:これら4ビットはシンセサイザー周波数 制御レジスターにおいて完全に表示される10−ビットの 分数部分の上部ビットを表わす。 C.シンセサイザーアドレスエンドレジスター シンセサイザーアドレスエンドレジスターの整数部分が波動表データ1002 内の境界アドレスを指定する。シンセサイザーアドレスエンドレジスターの値は シンセサイザーアドレススタートレジスターの値より大きい。音声が波動表メモ リーの4メガバイトにアクセスできるようにするために、AI[21:20]が 付加されている。SGMI[ENH]=0の時、AI[21:20]は0に保持 される。 (i) シンセサイザーアドレスエンド高レジスター(SAEHI) アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=04h書き込みまたはIGIDXR=84h 読取り;音声インデックスSVSR=(00h ̄1Fh) デフォールト: 0000h (ii) シンセサイザーアドレスエンド低レジスター(SAELI ) アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=05h書き込みまたはIGIDXR=85h 読取り;音声インデックスSVSR=(00h ̄1Fh) デフォールト: 0000h AI[21:20] エンドアドレス:4メガバイトにアクセスするため に付加されるエンドアドレスの拡大された整数部分。 AI[19:0] エンドアドレス:エンドアドレスの整数部分。 AF[3:0] エンドアドレス:これら4ビットはシンセサイザー周波数制 御レジスターにおいて完全に表示される10−ビットの分 数部分の上部ビットを表わす。 d.シンセサイザーアドレスレジスター シンセサイザーアドレスレジスターの整数部分は波動表データ1002内の現 在の場所であり、そこからシンセサイザーモジュール6がサンプルデータを捕え る。分数部分はAI[21:0]によってアドレス指定される場所のサンプルと 、AI[21:0]+1によってアドレス指定される場所のサンプルとの間の補 間のために使用される。このレジスターは自己修正型であり、音声が波動表メモ リー内を移動するにつれて、値を変化させる。 AI[21:20]は音声が波動 表メモリーの4メガバイトにアクセスできるようにするために付加されている。 SGMI[ENH]=0の時、AI[21:20]は0に保持されるであろう。 付加的なアドレス分数ビット、AF[0]が補間に使用されるが、通常プログラ ミングのためにはアクセスできない。SALIのリセット及び書込みがAF[0 ]をクリアーする。 シンセサイザーグローバルモードレジスターにおいてRA MTEST=1であれば、SAHIのビット15を通してAF[0]にアクセス できる。 (i) シンセサイザーアドレス高レジスター(SAHI) アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=Ah書き込みまたはIGIDXR=8Ah読 取り;音声インデックスSVSR=(00h ̄1Fh) デフォールト: 0000h (ii) シンセサイザーアドレス低レジスター(SALI) アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=Bh書き込みまたはIGIDXR=8Bh読 取り;音声インデックスSVSR=(00h ̄1Fh) デフォールト: 0000h AI[21:20] アドレス:4メガバイトにアクセスするために付加 されるアドレスの拡大された整数部分。 AI[19:0] アドレス:アドレスの整数部分。 AF[3:0] アドレス:補間中に使用される分数ビット。 RESを除く全てのビットが自己修正型である。 e.シンセサイザー効果アドレスレジスター 効果処理の間、シンセサイザー効果アドレスレジスターはデータが波動表デー タ1002内に書き込まれる現在のアドレスを指示する。書き込まれるデータは 効果アキュムレーター1018からのものである。データが書き込まれつつある ので、効果アドレスは整数のみである。ローカルDRAMは波動表データ100 2として作用する。 (i) シンセサイザー効果アドレス高レジスター(SEAHI) アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=11h書き込みまたはIGIDXR=91h 読取り;音声インデックスSVSR=(00h ̄1Fh) デフォールト: 0000h (ii) シンセサイザー効果アドレス低レジスター(SEALI) アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=12h書き込みまたはIGIDXR=92h 読取り;音声インデックスSVSR=(00h ̄1Fh) デフォールト: 0000h AI[21:0] 効果アドレス RESを除く全てのビットが自己修正型である。 f.シンセサイザー周波数制御レジスター(SFCI) シンセサイザー周波数制御レジスターはアドレス発生器1000が波動表アド レスを通って移動する率を制御する。これは発生音声のピッチを設定する。十進 法の1.0のデフォールト値がシンセサイザー周波数制御レジスター値を表わし 、それは記録された時と同じ率で波動表データ1002を再生するであろう。1 0−ビットまで分数周波数解像度を高めるために、F0が付加されている。F0 はSGMI[ENH]=0の時、0に保持される。 アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=01h書き込みまたはIGIDXR=81h 読取り;音声インデックスSVSR=(00h ̄1Fh) デフォールト: 0400h I[5:0] 周波数制御:周波数制御の整数部分 F[9:1] 周波数制御:周波数制御の分数部分 F0 周波数制御:解像度を10−ビットまで高めるために付加さ れる周波数制御の分数部分 g.シンセサイザー周波数LFOレジスター(SFLFOI) シンセサイザー周波数LFOレジスターは音声の周波数を修正するために使用 されるLFO発生器1021によって発生される値を含む。SGMI[ENH] =0の時、SFLFOIはデフォールト値に保持される。 アドレス: P3XR+5h 読取り/書込み;インデックスIGIDX R=17h書き込みまたはIGIDXR=97h読取り;音 声インデックスSVSR=(00h ̄1Fh) デフォールト: 00h FLFO[7:0] LFO周波数値 全てのビットが自己修正型である。 h.シンセサイザーアドレス制御レジスター(SACI) シンセサイザーアドレス制御レジスターはシンセサイザーモジュールが波動表 データ1002と、波動表データのデータ幅をアドレス指定する方法を制御する 。 アドレス: P3XR+5h 読取り/書込み;インデックスIGIDX R=00h書き込みまたはIGIDXR=80h読取り;音 声インデックスSVSR=(00h ̄1Fh) デフォールト: 01h WTIRQ 波動表IRQ:このビットが1の時、WRIENが設定され ており、波動表アドレスが開始または終了アドレスによって 設定された境界と交差している。このビットは音声の割り込 み条件がシンセサイザー音声IRQレジスターにロードさ れており、8Fという値が総インデックスレジスターに書き 込まれている時にクリアーされる。このビットは割り込みを クリアーするための0か、割り込みを生じさせるための1の いずれかで書き込むことができる。 DIR 方向:このビットは波動表がアドレス指定されるで方向を設 定する。DIR=0であれば、アドレスはアドレスエンドレ ジスターにより設定される境界に向けて増加する。DIR= 1であれば、アドレスはアドレススタートレジスターにより 設定される境界に向けて減少する。このビットは二方向性ル ーピングが可能化され、BLEN=1の時にアドレス発生器 1000によって修正される。 WRIEN 波動表IRQエネイブル:WTIEN=1であれば、アドレ ス境界を交差する時にWTIRQビットが設定される。WT IEN=0であれば、WTIRQがクリアーされ、設定でき ない。 BLEN 二方向性ループエネイブル:BLEN=1の時、波動表アド レスが開始と終了アドレスにおいて方向を変更する。BLE N=1であれば、波動表アドレスは開始と終了アドレスにお いて方向を変えるであろう。BLEN=0であれば、波動表 アドレスは終了点と交差する時に同じ方向にループし続け るであろう。LEN=0の時、BLENは無関心である。 LEN ループエネイブル:LEN=1の時、波動表アドレスはBL ENとDIRにより制御されるアドレス境界の間でループ するであろう。LEN=0の時、波動表アドレスは開始と終 了アドレスにより指示されるメモリーブロックの境界まで 移動するか、あるいはシンセサイザー音量制御レジスター内 のENPCMが設定されていれば、その境界を超えて移動す るであろう。 DW データ幅:これは波動表データ1002が16−ビットデー タまたは8−ビットデータのいずれでアドレス指定される かを設定する、DW=1であれば、波動表データから16− ビットデータにアクセスする。DW=0であれば、波動表デ ータから8−ビットデータにアクセスする。 STP1 ストップ1:このビットに1を書き込むことが音声発生活動 を停止させる。音声処理を操作するためにはSTP1とST P0が0でなければならない。 STP0 ストップ0:このビットはアドレス発生器1000によって 修正される。音声が境界において停止するように設定されて いれば、境界と交差する時、STP0が1に設定される。音 声を停止させるために1に書き込むこともできる。読取り時 には、それは音声の状態を表わす。音声を操作するためには、 STP1もSTP0も0でなければならない。 * 自己修正型ビットであることを示す。 i.シンセサイザー音量開始レジスター(SVSI) シンセサイザー音量開始レジスターは音量ランプ(傾斜)の低いポイントを含 む。 アドレス: P3XR+5h 読取り/書込み;インデックスIGIDX R=07h書き込みまたはIGIDXR=87h読取り;音 声インデックスSVSR=(00h ̄1Fh) デフォールト: 00h V[7:0] 音量開始値 J.シンセサイザー音量終了レジスター(SVEI) シンセサイザー音量終了レジスターは音量ランプ(傾斜)の高いポイントを含 む。 アドレス: P3XR+5h 読取り/書込み;インデックスIGIDX R=08h書き込みまたはIGIDXR=88h読取り;音 声インデックスSVSR=(00h ̄1Fh) デフォールト: 00h V[7:0] 音量終了値 k.シンセサイザー音量レベルレジスター(SVLI) シンセサイザー音量レベルレジスターは音量のルーピング成分の現在値を含む 。音量は遅い率の増加を選択する場合に、高い解像度のために使用される3つの 分数ビット(F[2:0])を持つ。これら3つのビットは増加がそれらのビッ トをV[11:0]のLSBにロールオーバーさせるまで、音量マルチプリに影 響を及ぼさない。 アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=09h書き込みまたはIGIDXR=89h 読取り;音声インデックスSVSR=(00h ̄1Fh) デフォールト: 0000h V[11:0] 現在のルーピング音量値 F[2:0] 分数音量値 RESを除く全てのビットは自己修正型である。 1.シンセサイザー音量率レジスター(SVRI) シンセサイザー音量率レジスターは音声用のルーピング量が増加する率と、増 加量を制御する。 アドレス: P3XR+5h 読取り/書込み;インデックスIGIDX R=06h書き込みまたはIGIDXR=86h読取り;音 声インデックスSVSR=(00h ̄1Fh) デフォールト: 00h R[1:0] 音量率ビット:これらのビットは音量に加えられる増加率と 増加値の分割を制御する。 R[1:0]=0 フレームごとに増加値を加える =1 8フレームごとに(増加値)/8を加える =2 8番目のフレームごとに(増加値)/8を加え る =3 64番目のフレームごとに(増加値)/8を加 える I[5:0] 音量増加ビット:これらのビットが増加量を制御する。 m.シンセサイザー音量制御レジスター(SVCI) シンセサイザー音量制御レジスターは音声の音量のルーピング成分が音量開始 から音量終了までどのように移動するかを制御する。このレジスターはまたパル スコード変調(PCM)データのブロックを音声が連続して演奏できるようにす るため、波動表アドレス指定を制御するENPCMも含む。VIRQ、DIR及 びSTP0は自己修正型ビットである。 アドレス: P3XR+5h 読取り/書込み;インデックスIGIDX R=0Dh書き込みまたはIGIDXR=8Dh読取り;音 声インデックスSVSR=(00h ̄1Fh) デフォールト: 01h VIRQ 音量IRQ:このビットが1に設定されている時、VIEN が設定されており、音量が開始または終了音量によって設定 された境界と交差している。このビットは音声の割り込み条 件がシンセサイザー音声IRQレジスターにロードされて おり、8Fという値が総インデックスレジスターに書き込ま れている時にクリアーされる。このビットは割り込みをクリ アーするための0か、割り込みを生じさせるための1のいず れかで書き込むことができる。 DIR 方向:このビットは音量の増加または減少を制御する。この ビットは音量を増大するには0であり、音量を減少させるに は1である。このビットは二方向性ルーピングが可能化され、 BLEN=1の時に音量発生器1012によって修正され る。 VIEN 音量IRQエネイブル:VIEN=1であれば、音量境界を 交差する時にVIRQが設定される。VIRQEN=0の時、 VIRQがクリアーされ、設定できない。 BLEN 二方向性ループエネイブル:BLEN=1の時、音量が開始 と終了音量において方向を変更する。 BLEN=0であれ ば、音量は終了点との交差時と同じ方向にループし続けるで あろう。LEN=0の時、BLENは無関心である。 LEN ループエネイブル:LEN=1の時、音量はBLENとDI Rにより制御されるエンドポイント間でループするであろ う。LEN=0の時、音量は音量境界まで移動し、その音量 を一定に保持するであろう。 ENPCM エネイブルPCM操作:このビットが1に設定されている場 合、波動表アドレスが波動表アドレス境界を通過し続けるで あろう。これはPCMデータの連続プレイを可能にする。E NPCM=1であり、シンセサイザーアドレス制御レジスタ ー内でLEN=1であり、シンセサイザーグローバルモード レジスター内でENH=1である時、新しい補間モードが可 能化される。この新しいモードはシンセサイザーアドレスス タートレジスターによりアドレス指定されるデータと、シン セサイザーアドレスエンドレジスターによりアドレス指定 されるデータ間の補間を可能にする。 STP1 ストップ1:このビットに1を書き込むことが音量のルーピ ング成分の変化を停止させる。音量のルーピング成分の変化 を可能にするためにはSTP1とSTP0が0でなければ ならない。 STP0 ストップ0:このビットは音量ルーピング論理によって修正 される。音量が境界で停止するように設定されていれば、境 界と交差する時、STP0が1に設定される。音量ルーピン グを停止させるために書き込むこともできる。読み取られた 時、それは音量ルーピングの状態を示す。音声を操作するた めにはSTPIもSTP0も0でなければならない。 * 自己修正型ビットであることを示す。 n.シンセサイザー音量LFOレジスター(SVLFOI) シンセサイザー音量LFOレジスターは音声の音量を修正するために使用され るLFO発生器1021が発生する値を含む。 アドレス: P3XR+5h 読取り/書込み;インデックスIGIDX R=18h書き込みまたはIGIDXR=98h読取り;音 声インデックスSVSR=(00h ̄1Fh) デフォールト: 00h VLFO[7:0] 音量LFO値。 全てのビットが自己修正型である。 o.シンセサイザーオフセットレジスター シンセサイザーオフセットレジスターはステレオフィールド内で発生される音 声の配置を制御する。シンセサイザーオフセットレジスターはシンセサイザーモ ードセレクトレジスター内のOFFENに応じて2つの操作モードを有する。O FFENが0の時、左右のオフセットを制御するためにSROI[11:8]を使 用する。このモードでは、パンの16の位置を利用できる。0という十進法値が 音声を一番左に置き、15という値が音声を一番右に置く。このモードは超音波 波動表シンセサイザーと互換性がある。OFFENが1の時、SROI[15: 4]とSLOI[15:4]が音声の左右のチャネル出力に別個に影響を及ぼす 現在の左右のオフセット値を含む。左右のオフセット用の最終値はSROFIレ ジスターとSLOFIレジスターに含まれる。音声処理 の間に、値RO[11:0]とL O[11:0]がROF[11:0]とLO F[11:0]に近い1LSBだけ増加または減少される。シンセサイザーレフ トオフセットレジスターはOFFENが設定されている時に操作に影響を及ぼす だけである。 (i) シンセサイザーライトオフセットレジスター(SROI) アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=0Ch書き込みまたはIGIDXR=8Ch 読取り;音声インデックスSVSR=(00h ̄1Fh) デフォールト: 0700h RO[11:0] 右のオフセット現在値。 RESを除く全てのビットが自己修正型である。 (ii) シンセサイザーライトオフセット最終値レジスター(SRO FI) アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=1Bh書き込みまたはIGIDXR=9Bh 読取り;音声インデックスSVSR=(00h ̄1Fh) デフォールト: 0700h ROF[11:0] 右のオフセット現在値。 RESを除く全てのビットが自己修正型である。 (iii) シンセサイザーレフトオフセットレジスター(SLOI) アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=13h書き込みまたはIGIDXR=93h 読取り;音声インデックスSVSR=(00h ̄1Fh) デフォールト: 0000h LO[11:0] 左のオフセット現在値。 RESを除く全てのビットが自己修正型である。 (iv) シンセサイザーレフトオフセット最終値レジスター(SLO FI) アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=1Ch書き込みまたはIGIDXR=9Ch 読取り;音声インデックスSVSR=(00h ̄1Fh) デフォールト: 0000h LO[11:0] 左のオフセット現在値。 p.シンセサイザー効果音量レジスター(SEVI) シンセサイザー効果音量レジスターは音声の効果を制御する音量の現在値を含 む。音声処理の間、値EV[11:0]はSEVFIに含まれる値EVF[11 :0]に近い1LSBだけ増加または減少される。 アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=16h書き込みまたはIGIDXR=96h 読取り;音声インデックスSVSR=(00h ̄1Fh) デフォールト: 0000h EV[11:0] 特別な効果音量現在値。 RESを除く全てのビットが自己修正型である。 q.シンセサイザー効果音量最終値レジスター(SEVFI) シンセサイザー効果音量最終値レジスターはSEVIの最終値を制御する。 アドレス: P3XR+(4−5)h 読取り/書込み;インデックスI GIDXR=1Dh書き込みまたはIGIDXR=9Dh 読取り;音声インデックスSVSR=(00h ̄1Fh) デフォールト: 0000h EVF[11:0] 特別な効果音量最終値。 r.シンセサイザー効果出力アキュムレーター選択レジスター(SEA SI) シンセサイザー効果出力アキュムレーター選択レジスターはどの効果アキュム レーター1018が効果出力を受け取るかを制御する。効果アキュムレーターの いずれも、または全てを選択でき、どれも選択しなくてもよい。0〜7の番号が 付けられた8つの効果アキュムレーターがある。SGMI[ENH]=0の時、 SEASIはデフォールト値に保持される。 アドレス: P3XR+5h 読取り/書込み;インデックスIGIDX R=14h書き込みまたはIGIDXR=94h読取り;音 声インデックスSVSK=(00h ̄1Fh) デフォールト: 00h ACC[7:0] アキュムレーター選択 s.シンセサイザーモードセレクトレジスター(SMSI) シンセサイザーモードセレクトレジスターは音声内で様々な特徴の可能化 を制御する。更に、音声が音声発生処理、または効果処理を通して、あるいは全 然処理されないで進むかどうかを制御する。処理されない音声のプログラミング は、音声が処理される時に波動表データ1002へのアクセスを生じさせず、他 の機能のためのローカルメモリーへの多くのアクセスを可能にする。 アドレス: P3XR+5h 読取り/書込み;インデックスIGIDX R=15h書き込みまたはIGIDXR=95h読取り;音 声インデックスSVSR=(00h ̄1Fh) デフォールト: 02h ROM ROM:1で音声のデータが外部ROMから来ることを可能 にする。 ULAW μ−法則:1で音声の入力データがμ−法則内にあることを 可能にする。ローカルメモリーから8ビットのサンプルを得 るために、ULAWが1の時、SACI[DW]も0に設定 されなければならない。 OFFEN オフセットエネイブル:シンセサイザーオフセットレジスタ ーが1で音声の左右の音量を別々に制御することを可能に する。 AEP 交互の効果路:1で音声用の交互の信号路を可能化する。 DAV 音声を不活性化する:DAVが1に設定されている時、特定 の音声は処理されない。 EPE 効果プロセッサーエネイブル:EPEが0に設定されている 時、シンセサイザーモジュールは信号発生器として作用する。 EPEが1に設定されている時、シンセサイザーモジュール は効果プロセッサーとして作用する。ローカルメモリーの1 6ビットのアクセスをするために、効果処理の間、SACI [DW]は1に設定されなければならない。 O.シンセサイザーモジュール構造 本項はシンセサイザーモジュール6の次のコアブロック:アドレス発生器10 00(図107);音量発生器1012(図109);信号路1028(図11 6);及び蓄積論理1030(図118)の構造を説明する。更に、シンセサイ ザーモジュールはシンセサイザーレジスターアレイ1032(図111を参照) とLFO発生器1021(図115)、クロックコントローラー(図示せず)、 及びスタート発生器(図示せず)も含んでいる。 1.アドレス発生器 図107はアドレス発生器1000、及びアドレス発生器とシンセサイザーレ ジスターアレイ1032、蓄積論理1030、ローカルメモリー制御モジュール 8、LFO発生器1021、及び信号路1028との接合部を図示している。ロ ーカルメモリー制御モジュール8についてはセクションVI.ローカルメモリー 制御モジュールにおいて説明する。アドレス発生器1000は:アドレス発生コ ントローラー1034;結果バス1036;レジスターアレイバス1038;符 号拡張論理1040;加算器/減算器1042;一時的レジスター1044、1 047、1055;ナンバー発生器1048、1049;折り畳み式トランジス ター1050;ローダブルアドレスインクリメンター1035;効果アドレス・ データFIFOバッファー1037、1039;アドレス分数バッファー104 1;LFO変動レジスター1043;クロッキングラインPHI1;及びスター トアドレス発生ライン1045を含む。 図示するように、符号拡張論理1040、加算器/減算器1042及び一時的 レジスター1044は、アドレス発生コントローラー1034に接続されると共 に、結果バス1036とレジスターアレイバス1038の両方に接続される。一 時的レジスター1047とナンバー発生器1048は結果バス1036とアドレ ス発生コントローラー1034に接続される一方、折り畳み式トランジスター1 050、ナンバー発生器1049と一時的レジスター1055がレジスターアレ イバス1038とアドレス発生コントローラー1034に接続される。ローダブ ルアドレスインクリメンター1035、効果アドレス・データバッファー103 7、1039、アドレス分数バッファー1041、及びL FO変動レジスター1043もレジスターアレイバス1038とアドレス発生コ ントローラー1034に接続される。 ローダブルアドレスインクリメンター1035はまたライン1051とローカ ルメモリーコントロールブロック8を通して、シンセサイザーレジスターSUA Iに接続される。効果アドレスバッファー1037はライン1053を通してレ ジスターSUAIに接続されると共に、効果アドレス・データバッファー103 9に接続される。効果アドレス・データ1039は、蓄積論理1030内のレジ スター、蓄積論理制御ラインLDED、及び制御ラインLADDINとLDAT Bを通してローカルメモリーコントロールブロック8に接続される。 アドレス分数バッファー1041は信号路1028のレジスターと制御ライン DRADDFR及びLDBUFに対する接続も持っている。アドレス発生コント ローラー1034はスタート信号路制御ラインを通して信号路1028に直接接 続される。LFO変動レジスター1043はLFO発生器1021のレジスター と制御ラインLDNFLFOに対する付加的な接続を持っている。LFO発生器 制御ラインLFO音声マッチはアドレス発生コントローラー1034に接続する 。 後述する様々な制御ラインを通して、アドレス発生コントローラー1034は それに接続されるアドレス発生器1000の回路成分の全てを制御する。スター ト信号路とLFO音声マッチ制御ラインを通して、アドレス発生コントローラー 1034は信号路1028とアドレス発生器1000の外側のLFO発生器10 21論理成分に直接接続される。これらの他の制御ラインの機能についても説明 する。 アドレス発生コントローラー1034はレジスターアレイ1032において次 のシンセサイザーレジスター:SACI、SVCI、SGMI、SMSI、シン セサイザーアドレススタートレジスター、シンセサイザーアドレスエンドレジス ター、シンセサイザーアドレスレジスター、シンセサイザー効果アドレスレジス ター、SFCI及びSFLFOIに接続される。これらのシンセサイザーレジス ターの以下のビットがロードコントロールライン(LDCTR L):SACI[WTIEN、BLEN、LEN、STP1]、SVCI[EN PCM]、SGMI[ENH]、及びSMSI[1,0]を通してアドレス発生 コントローラー1034に接続される。これらのビットはアドレス発生のアドレ ス発生コントローラーのモードを設定する。他方、割り込み条件を設定し、波動 表アドレス指定の方向を設定し、境界と交差する時に音声発生を停止するために 、これらのレジスターの内次のビット:SACI[WTIRQ]、及びSACI [DIR,STP0]をLDCTRLラインを通して、アドレス発生コントロー ラー1034によって修正できる。 下記のシンセサイザーレジスターはアドレス発生の特殊なパラメーターを記憶 する: Synthアドレススタートレジスター: スタートアドレス情報を記憶 する Synthアドレスエンドレジスター : エンドアドレス情報を記 憶する Synthアドレスレジスター : 現在のアドレス(ADD)を 記憶する Synth効果アドレスレジスター : 効果処理のために、現在の波 動表書き込みアドレスを記憶す る SFCI : FC情報を記憶する SFLFOI : FLFO情報を記憶する これらのレジスターに記憶されるアドレスパラメーターはロードレジスター信号 ラインとドライブレジスター信号ライン(DR REG SINGALS,LD REG SIGNALS)によってレジスターアレイバス1038に動かされ る。 符号拡張論理1040は異なるビットサイズの別の符号付き二進数に加算/減 算できるように、符号付き二進数を符号拡張するために使用される。LDSE制 御ラインはレジスターアレイバス1038から符号拡張論理1040への符号付 きナンバーのローディングを制御する。DRSEラインは符号拡張 ナンバーを結果バス1036に動かす。 加算器/減算器1042はレジスターアレイバス1038上の二進数を結果バ ス1036上の二進数で加算または減算する。可能化された場合、INVRES 制御ラインとINVRA制御ラインが結果バス1036とレジスターアレイバス 1038から加算器/減算器1042にロードされたデータが負になるようにす る。これらの制御ラインは同時に可能化できない。LDADDERラインは加算 器/減算器1042からの加算/減算結果をラッチし、DRADDERRESラ インがその結果を結果バス1036に動かす一方、DRADDERRAラインが その結果をレジスターアレイバス1038に動かす。SIGNラインはアドレス 発生コントローラー1034に結果を符号で提供する。SIGN=1は負の結果 であり、一方SIGN=0は正の結果である。後述する図108aと108bの タイミング図に反映されているように、SIGNライン上の値は一定の条件を指 示する。 一時的レジスター1044と1047はアドレス発生操作において使用するデ ータを一時的に記憶するために使用される。データはLDTEMP1ラインとL DTEMP2ラインによって結果バス1036からレジスター1044にロード され、DRTEMP1ラインとDRTEMP2ラインによってこれらのレジスタ ーから結果バスに動かされる。データはLDTEMP3ラインによって結果バス 1036からレジスター1047にロードされ、DRTEMP3ラインによって このレジスターから結果バスに動かされる。 DR1ラインによって活性化された時、ナンバー発生器1048が1を結果バ ス1036まで動かす一方、DR0ラインによって活性化された時、ゼロが結果 バス1036に動かされる。他方、ナンバー発生器1049がDRN1制御ライ ンによって活性化された時、レジスターアレイバス1038に負の1を動かす。 折り畳み式トランジスター1050は32−ビット幅のレジスターアレイバス 1038内の特定のビット位置にゼロを動かすために使用される。レジスターア レイバス1038上で動かされるデータが32−ビット幅でない場合、ゼロはデ ータを含んでいないビット位置に動かされる。折り畳み式トランジス ター1050はDRPD[5:0]、DRPD[9:6]、DRPD[15:8 ]、DRPD[31:16]、及びDRPD[32]ラインによって選択的に活 性化される。 PHI1ラインはアドレス発生操作を刻時するために、クロッキングコントロ ーラー(図示せず)からアドレス発生コントローラー1034にクロッキング信 号を供給する。スタートアドレス発生ライン1045はレジスターアレイ103 2からの開始パルスを含む。この開始パルスがアドレス発生コントローラー10 34の操作開始を制御する。スタート発生器(図示せず)が開始パルスを発生さ せ、それをレジスターアレイに送る。ある時間の後に、レジスターアレイがアド レス発生コントローラー1034と音量発生コントローラー1056を開始させ るためのパルスを送る。図109を参照。それからアドレス発生コントローラー 1034がスタート信号路制御ラインを通して信号路1028の操作開始を制御 する。次に、信号路1028がスタート蓄積制御ラインを通して蓄積論理103 4の開始を制御する(図116を参照)。この方法で、シンセサイザーモジュー ル6の全ての操作のシーケンスが支配される。 ローダブルアドレスインクリメンター1035は、制御ラインLDSAにより 活性化される時、レジスターAREIBASU1038からアドレスS1がロー ドされ、制御ラインLDAINCにより活性化される時、アドレスS2を得るた めにこのアドレスを1だけ増加させる。アドレスS1とS2はローカルメモリー からデータサンプルS1とS2を捕えるために、LADDIN制御ラインによっ てローカルメモリーコントロールブロック8にロードされる。ライン1051は ローダブルアドレスインクリメンター1035をレジスターSUAIに含まれる 上部2つのアドレスビットに接続し、S1とS2のアドレスフィールドを2ビッ トだけ増加させる。アドレスフィールドを2ビットだけ増加させることにより、 アドレス発生器1000は4メガバイトの代わりに全体で記憶装置の16メガバ イトをアドレス指定することができる。 効果アドレスバッファー1037は3つまでの効果アドレスを記憶することが できるFIFOバッファーである。制御ラインLDEAが活性化された時、効果 アドレスはレジスターアレイ1038からバッファー1037の上部に ロードされる。ライン1053はバッファー1037をレジスターSUAIの上 部2ビットに接続し、効果アドレスのアドレスフィールドを2ビットだけ増加さ せる。 効果アドレス・データバッファー1039もFIFOバッファーであり、5組 までの効果アドレスとその関連効果データを記憶する。効果アドレス・データバ ッファー1039にロードされる各効果アドレスと連合する効果データが蓄積論 理1030内のレジスターからバッファーの上部にロードされる時、効果アドレ スは効果アドレスバッファー1037の下部から効果アドレス・データバッファ ー1039の上部にロードされる。蓄積論理制御ラインLDEDはデータのロー ディングを制御する。制御ラインLADDINが活性化される時、効果データバ ッファー1039内の効果アドレスがこのバッファーの下部からローカルメモリ ーコントロールブロック8に移される一方、制御ラインLDATINが活性化さ れる時、効果データがこのバッファーの下部からローカルメモリーコントロール ブロック8に移される。ローカルメモリーコントロールブロック8は効果アドレ スにおいて効果データをローカルメモリーに記憶する。 効果アドレス・データバッファー1037、1039は8つの遅延に基づく効 果が連続して発生されるようにする。参照のためにここに引用する、適当な効果 アドレス・データバッファーを開示したNorrisによる米国特許Nos. 4,805,139と5,095,462を参照。 LFO発生器1021により発生されるLFO変動値は、LFO発生器制御ラ インLDNFLFOが活性化される時、LFO発生器(図115を参照)内のレ ジスターからレジスター1043に移される。LFO変動値がどの音声と連合し ているかを示すデータが、LFO音声マッチ制御ラインによってアドレス発生コ ントローラー1034にロードされる。DRNFLFOラインがLFO変動値を レジスター1043からレジスターアレイバス1038に動かす。その値はレジ スターSFLFOIに記憶される。アドレス発生器1000はヴィブラートを音 声に加えるためにLFO変動値を使用する。 LDADDFRラインはSYNTHアドレスレジスターに記憶されている ADDfr値(補間中に使用するデータ)の、レジスターアレイバス1038か らバッファー1041へのローディングを制御する。信号路1028制御ライン DRADDFRがこの値を信号路に動かす。図117も参照。バッファー104 1は2つまでのADDfr値を記憶することができる。特定の音声が不活性であ る時、バッファー1041は1つのADDfr値だけを記憶する。信号路102 8からのLDBUF制御ラインがこの1つの値をバッファー1041の下部に押 しやり、DRADDFR制御ラインが活性化された時その値を信号路に動かすこ とができる。 図108aと108bはアドレス発生操作の異なるモード用のタイミング図で ある。図108bはレジスターSGMIのビットENH、レジスターSVCIの ビットENPCM、及びレジスターSACIのビットLPEが全て1に設定され ており、レジスターSACIのビットBLENとDIRがゼロに設定されている 時に発生する境界ミラーモード用のタイミング図である。図108aはアドレス 発生の他の全てのモード用のタイミング図である。これらのタイミング図は、特 定のモードにおいて12のクロックサイクルのセットの各々のクロックサイクル の間、アドレス発生器1000により逐行される操作を説明している。これらの タイミング図は表になっており、12のクロックサイクルの各々のために: (i)どのデータが結果バスとレジスターアレイバス上にあるか;(ii)もし ある場合、データに関してどの演算操作が行われているか;(iii)他のどの ような操作が行われているか;そして(iv)どの演算操作のための式が実行さ れているかを指示する。「式」コラムと「コメント」コラムがアドレス発生と関 連してアドレス発生器1000によって逐行される一般的な操作を反映する。操 作コラム内の”18s”と”34s”が、操作結果のビット幅が18−ビット、 または34−ビットの符号付きナンバーであるかを指示する。 2.音量発生器 図109は音量発生器1012、及び音量発生器とシンセサイザーレジスタ ーアレイ1032、LFO発生器1021、信号路1028との接合部を示す。 音量発生器1012は:音量発生コントローラー1056;結果バス1058; レジスターアレイバス1060;符号拡張論理1062;加算器/減算器106 4;バスドライバー論理1066;一時的レジスター1068;シフト論理10 70;バストランスファー論路1072;ナンバー発生器1074;折り畳み式 トランジスター1076;ROM1078;右と左の音量バッファー1059、 1061及び効果音量バッファー1063; LFO変動レジスター1065; クロッキングラインPHI1及びFR8、FR64;及びスタート音量発生ライ ン1057を含む。 図示するように、符号拡張論理1062、加算器/減算器1064、シフト論 理1070、及びバストランスファー論理1072は、音量発生コントローラー 1056に接続されると共に、結果バス1058とレジスターアレイバス106 0の両方に接続される。一時的レジスター1068とナンバー発生器1074は 結果バス1058と音量発生コントローラー1056に接続される一方、折り畳 み式トランジスター1076とROM1078がレジスターアレイバス1060 と音量発生コントローラーに接続される。シフト論理1070は音量発生コント ローラー1056に接続されると共に、結果バス1058と右と左の音量バッフ ァー1059、1061及び効果音量バッファー1063に接続される。 LFO変動レジスター1065はレジスターアレイバス1060と音量発生コ ントローラー1056に接続される。LFO変動レジスター1065はまたLF O発生器1021のレジスターとLDNVLFO制御ラインにも接続される。図 115を参照。LFO発生器制御ラインLFO音声マッチは音量発生コントロー ラー1056に接続する。 バスドライバー論理1066に接続される上に、右と左の音量バッファー10 59、1061及び効果音量バッファー1063が信号路1028(図116を 参照)の乗算器1102、信号路制御ラインLDBUR、DRRVOL、DRL VOLとDREVOL、及び音量発生コントローラー制御ラインLDRVOL、 LDLVOLとLDEVOLに接続される。右の音量バッファー10 59は2つまでの右音量値を記憶し、左の音量バッファー1061は2つまでの 左音量値を記憶し、効果音量バッファー1063は2つまでの効果音量値を記憶 する。 様々な制御ラインを通して、音量発生コントローラー1056はそれに接続さ れる音量発生器1012の回路成分の全てを制御する。これらの制御ラインの機 能について説明する。 音量発生コントローラー1056はレジスターアレイ1032において次のシ ンセサイザーレジスター:SVCI、SVRI、SGMI、SMSI、SVSI 、SVEI、SVRI、SVLFOI、SROI、SLOI、SEVIに接続さ れる。これらのシンセサイザーレジスターの以下のビットがロードコントロール ライン(LDCTRL):SVRI[1:0]、 SGMI[ENH]、SVC I[VIEN、BLEN、LEN、STPI]、 及びSMSI[OFFEN, AEP,0]を通して音量発生コントローラー1056に接続される。これらの ビットは音量発生の音量発生コントローラーのモードを設定する。他方、割り込 み条件を設定し、音量の方向(増加または減少)を設定し、境界と交差する時に 音量発生を停止するために、または音量ルーピングを停止するために、これらの レジスターの次のビット:SVCI[VIRQ]及びSVCI[DIR,STP 0]をLDCTRLラインを通して音量発生コントローラー1056により修正 できる。 下記のシンセサイザーレジスターは音量発生の特殊なパラメーターを記憶する : SVSI : 音量スタート情報を記憶する SVEI : 音量エンド情報を記憶する SVLI : 音量レベル(VOL)情報を記憶する SVRI : 音量率(VINC)情報を記憶する SVLFOI : 音量LFO値(VINC)情報を記憶する SLOI : 左のオフセット(LOFF)情報を記憶する SROI : 右のオフセット(ROFF)情報を記憶する SEVI : 効果音量(EVOL)情報を記憶する これらのレジスターに記憶される音量パラメーターはロードレジスター信号ライ ンとドライブレジスター信号ライン(DR SINGALS, LD SIGN ALS)によってレジスターアレイバス1060まで動かされる。 符号拡張論理1062は異なるビットサイズの別の符号付き二進数に加算/減 算できるように、符号付き二進数を符号拡張するために使用される。LDSE制 御ラインはレジスターアレイバス1060から符号拡張論理1062への符号付 きナンバーのローディングを制御する。DRSEラインは符号拡張ナンバーを結 果バス1058に動かす。 加算器/減算器1064はレジスターアレイバス1060上の二進数を結果バ ス1058上の二進数で加算または減算する。可能化された場合、INVRA制 御ラインとINVRES制御ラインが、各々レジスターアレイバス1060と結 果バス1058から加算器/減算器1064にロードされたデータが負になるよ うにする。これらの制御ラインは同時に可能化できない。LDADDERライン は加算器/減算器からの加算/減算結果をラッチする。DRADDERラインが その結果をバスドライバー論理1066から結果バス1058に動かす。SIG Nラインは音量発生コントローラー1056に結果を符号で提供する。SIGN =1は負の結果であり、一方SIGN=0は正の結果である。後述する図110 のタイミング図に反映されているように、SIGNライン上の値は一定の条件を 指示する。CLIPラインは音量値が最大値と最小値に達した時に、音量値のク リッピングを制御する。加算/減算結果のビット16が1である場合、結果は認 められる最小値より小さく、ゼロは加算器/減算器1064からの出力である。 加算/減算結果のビット15が1であり、ビット16がゼロである場合、結果は 認められる最大値より大きく、32,767に等しい二進値が加算器/減算器1 064から出力される。ビット15と16がゼロである場合、加算/減算結果は 最小値と最大値の間にあり、結果が加算器/減算器1064から出力される。音 量値がゼロに達した時の音量値のクリッピングが、その結果が負にならないこと を保証する。 左右音量と効果音量が、制御ラインLDRVOL、LDLVOL、LDEVO Lにより計算された後、右と左の音量バッファー1059、1061及び効 果音量バッファー1063に各々ロードされる。特定の音声が不活性である時、 バッファー1059、1061、1063は各々1つの値だけを記憶する。信号 路1028からのLDBUF制御ラインはバッファー1059、1061、10 63の各々の1つの値をバッファーの下部に押し付け、信号路制御ラインDRR VOL、DRLVOL、DREVOLが活性化される時、それらが信号路に動か されるようにする。 一時的レジスター1068は音量発生アプリケーションにおいて使用するデー タを一時的に記憶するために使用される。データはLDTEMP1ラインによっ て結果バス1058からロードされ、DRTEMP1ラインによってこれらのレ ジスターから結果バスに桁上げ。 シフト論理1070はシフト論理にロードされたデータを3ビット右にシフト し、それによって事実上データを8で割る。シフト論理1070は遅い音量増加 率で、7より大きな音量増加ステップを防止する。LDSHFTラインとDRS HFTラインが各々データをシフト論理1070に/からロードしドライブする 。DIV8ラインはビットシフティングを可能化する。 可能化された場合、バストランスファー論理1072はデータを結果バス10 58からレジスターアレイバス1060に移す。このバストランスファーはDR XFERラインにより可能化される。 DR0ラインにより活性化された時、ナンバー発生器1074はゼロを結果バ ス1058に動かす。 折り畳み式トランジスター1076はアドレス発生器1000内の折り畳み式 トランジスター1050と同じ目的のために作用する。折り畳み式トランジスタ ー1076はDRPD−200、DRPD0603、 DRPD08、及びDR PD1409ラインによって選択的に活性化される。 動的ROM1078は16の均等に配置されたステレオ位置の1つに音声を置 くために、左オフセット値と右オフセット値を記憶する。LDPANラインは所 望のパン位置を表わすSROI[11:8]からのデータの4−ビットをROM 1078にロードする。DROFFラインは、左オフセット値または右オフセッ ト値を表わす2×12−ビットのデータをROM1078からレ ジスターアレイバス1060に動かす。INVPANラインはROM1078が 左オフセット値または右オフセット値のどちらを出力するかを制御する。EVA L制御ラインは本データ入力でROMを評価する。 LFO発生器1021により発生されるLFO変動値は、LFO発生器制御 ラインLDNVLFOが活性化される時、LFO発生器(図115を参照)内の レジスターからレジスター1065に移される。LFO変動値がどの音声と連合 しているかを示すデータが、LFO音声マッチ制御ラインによって音量発生コン トローラー1056にロードされる。DRNVLFOラインがLFO変動値をレ ジスター1056からレジスターアレイバス1060に動かす。この値はレジス ターSVLFOIに記憶される。音量発生器1012は音声にトレモロを加える ためにLFO変動値を使用する。 PHI1ラインは音量発生操作を刻時するために、クロッキングコントローラ ー(図示せず)から音量発生コントローラー1056にクロッキング信号を供給 する。FR8、FR64ラインもクロッキングコントローラーから音量発生コン トローラー1056にクロッキング信号を供給するが、これらのクロッキング信 号は特に8フレームごとに、また64フレームごとに音量を増加するためのタイ ミングを提供する。開始音量発生ライン1057が音量発生コントローラー10 56の操作開始を制御する。 図110は12のクロックサイクルのセットの各々のクロックサイクルの間、 音量発生器1012により遂行される操作を説明している。図110は表になっ ており、12のクロックサイクルの各々のために:(i)どのデータが結果バス とレジスターアレイバス上にあるか;(ii)もしある場合、どの演算操作が行 われているか;(iii)他のどのような操作が行われているか;そして(iv )どの演算操作のための式が実行されているかを指示する。「式」コラムと「コ メント」コラムが音量発生と関連して音量発生器1012によって遂行される一 般的な操作を反映する。操作コラム内の”17s”と”15u”が、操作結果が 17−ビットの符号付きナンバーであるか、または15−ビットの符号なしのナ ンバーであるかを指示する。 3.レジスターアレイ 図111はレジスターアレイ1032用の構造、及びレジスターアレイとレジ スターデータバス1024、I/Oチャネルレディ1180、アドレス発生器1 000、音量発生器1012、蓄積論理1030、及び信号路1028との接合 部を示す。レジスターアレイ1032は:デュアルポート静止RAM1178; レジスターデータポート1182;レジスターアレイI/Oバス1184;RA M I/Oポート1186;I/Oポートバス1187;音声選択レジスター1 188;列比較サーキットリー1190;列選択サーキットリー1192;レジ スター選択レジスター1194;I/O読取り/書込みタイミング発生器119 6;デュアルポートRAMタイミング発生器1198;シンセサイザーコア読取 り/書込みタイミング発生器1200;コアI/Oポート1202;及びコアポ ートバス1202を含む。 音声を処理するために、4つのシンセサイザーコアブロック、アドレス発生器 1000、蓄積論理1030、音量発生器1012及び信号路1028がシステ ムマイクロプロセッサーによってプログラムされた音声特有のパラメーターを必 要とする。音声処理の開始時に、デュアルポート静止RAM1178の全長に亙 って読み取られる。読み取りの結果は音声処理の間コアI/Oポート1202内 の読取りバッファーに保持される。コアブロック1000、1030、1012 、及び1028は様々な処理段階の間に読取り値にアクセスする。更に、処理段 階の間に、コアブロックはI/Oポート1202書込みバッファーに値を置く。 音声処理が完了した後、書込みバッファーのデータはデュアルポート静止RAM 1178に書き戻される。読取りから書込みへの完全なサイクルは音声処理より 長くかかるので、音声用のRAMサイクルがオーバーラップする。これは、コア I/Oポート1202内の書込みバッファーが前の音声からの値を含み、一方読 取りバッファーが次の音声用のデータを含むことを意味する。 コア読取り/書込みタイミング発生器1200は4つのシンセサイザーコアブ ロック1000、1030、1012、1028を更新するために必要なオーバ ーラップタイミングを発生させる。それはデュアルポート静止RAM1178を 直接駆動させるデュアルポートRAMタイミング発生器1198を 駆動する。列選択サーキットリー1192は読取り用の入力として音声ナンバー を使用し、書込み用の入力として古い音声ナンバーを使用する。 システムマイクロプロセッサーがサウンドを発生できるように、サウンド発生 の間、音声のパラメーターを修正または検査する必要がある。システムマイクロ プロセッサーはレジスターデータバス1024を超えてデュアルポートRAM1 178に読取り/書込みをすることができる。レジスターI/O側から、デュア ルポートRAM1178は26の音声特有のレジスターの32の音声(列)とし て編成される。音声用の26の音声特有のレジスターの1つにアクセスするため に、システムマイクロプロセッサーはまず音声選択レジスター1188に書き込 む。これにより32の音声レジスター列の1つが選択される。次に、システムマ イクロプロセッサーはレジスター選択レジスター1194に書き込む。これによ り26の音声特有のレジスターの1つがアクセスするために選択される。最後に 、データが16−ビットのレジスターデータポートレジスター1182から読み 取られるか、あるいは16−ビットのレジスターデータポートレジスター118 2にデータが書き込まれる。レジスター選択レジスター1194は自動増加する ことを可能にするカウンターを含んでいる。SVSR[AI]が1に設定されて いる時、データがレジスターデータポートレジスター1182に書き込まれる度 に、レジスター選択レジスター1194は自動的にレジスター内の現在値を増加 する。RAM I/Oポート1186はシステムマイクロプロセッサーとデュア ルポートRAM1178間のインターフェイスとして作用する。レジスターデー タはデュアルポートRAM1178のシステム読み取りのためにRAM I/O ポート1186においてラッチされるが、デュアルポートRAMへの書込みのた めにはラッチされない。 4つのシンセサイザーコアブロック1000、1030、1012、1028 の操作を妨害しないために、システムマイクロプロセッサーのアクセス時間はデ ュアルポートRAM1178が使用されていない時間と合わなければならない。 更に、システムマイクロプロセッサーからの書き込みが、音声処理の後発生する シンセサイザーコアの書き込みによりオーバーライトされるのを禁じるために、 システムマイクロプロセッサーの音声への書き込みは、音声の 書込みが発生した後まで待たなければならない。それらは音声の読取りと音声の 書込みの間に発生することはできない。第一の基準はI/O読取り/書込みタイ ミング発生器1196をコア読取り/書込みタイミング発生器1200からのI /Oゲーティング信号1197でゲーティングすることによって満たされる。こ れはシステムマイクロプロセッサーのアクセスがデュアルポートRAM1178 の使用されない時間の間に発生することを保証する。システムマイクロプロセッ サーの書込みがオーバーライトされるのを禁じるために、音声選択レジスターの 出力と音声ナンバーが列比較サーキットリー1190によって比較される。それ らが同じであれば、 I/O読取り/書込みタイミング発生器1196の出力が ゲーティングされる。システムマイクロプロセッサーのアクセスを待たせるため に、ライン1180上のI/Oチャネルレディ信号を使用する。I/Oチャネル レディはシステムマイクロプロセッサーのI/Oサイクルを長くするために全て のPCシステムにおいて使用されるISA仕様の信号である。 デュアルポートRAM1178のI/Oサイクルをスピードアップするために 、書込みが緩衝される。これはシステムマイクロプロセッサーがデュアルポート RAM1178に一度だけ書き込むことができ、データは16ビットのレジスタ ーデータポート1182に保持されて、デュアルポートRAMへのアクセスを待 つことを意味する。第2の書き込みを試みようとすると、ライン1180上のI /Oチャネルレディ信号を使用してI/Oサイクルを長くする。16ビットレジ スターデータポート1182への書き込みが結果的にデュアルポートRAM11 78への書込みを開始させる。読取りI/Oサイクルを早めるために、読取りと は異なるレジスター選択値を書き込みのために使用する。これは読取りサイクル を開始するためのレジスター選択レジスター1194への書込みを可能にする。 システムマイクロプロセッサーが16ビットのレジスターデータポートを読み取 る前に、デュアルポートRAM1178が16ビットのレジスターデータポート 1182へのデータを得ることができない場合にのみ、I/Oチャネルレディが 使用される。 デュアルポートRAM1178内に含まれるレジスターの読取りの間、そのレ ジスターコラムと連合するセンス増幅器のみが可能化される。デュアルポートR AM1178内の残りのコラムは通常の読取りサイクルを進むが、センス増幅器 によって評価されない。これは電力を節約し、おそらく結果的にPCオーディオ 集積回路のアナログ部分に対する騒音を減らすであろう。デュアルポートRAM 1178内に含まれるレジスターへの書き込みの間、そのレジスターに連合する コラムだけが駆動される。やはり残りのコラムは通常の読取りサイクルを進む。 これは選択されたコラムだけを修正できるようにする。 始動時に、デュアルポートRAM1178内の値を初期化しなければならない 。これは全てのコラム上の初期値をコアI/Oポート1202から押しやる一方 、全ての32の音声選択を通ることによって達成される。 音声が不活性の時、その音声用の処理は発生しない。これは電力を節約し、プ ログラミングを簡略化する。特定の音声が活性であるかどうかを判断するビット がレジスターアレイに含まれている場合、その音声が活性であるかどうかを判断 するためにデュアルポートRAMを読む必要がある。デュアルポートRAMを読 み取るために必要な電力を節約するために、本発明では、音声が活性であるかど うかを判断するビットがライン1206上のデュアルポートRAMの縁に置かれ る。デュアルポートRAM1178の縁のRAMセルの各々が、音声が活性であ るかどうか、またデュアルポートRAMを読み取るべきかどうかを判断するため に、音声サイクルの開始時にライン1206上で調べることができる付加的な出 力を持っている。 図112はレジスターアレイ1032の操作用のタイミング図を示す。図11 2の左のコラムにおいて参照される操作/信号は以下の通りである: SSGA CLKS 発生器クロッキングを開始。 SRG CLKS マシンクロックステータス0−11(音声ごとに1 2クロック)を示す。 RD CYC シンセサイザーコアからデュアルポートRAMの読取り サイクル。 WR CYC デュアルポートRAMの書込みサイクル。RD(N)は現 在の音声用の読取りを表わす。WR(N−1)はシンセサ イザーコアから現在の音声用の書込みを表わす。 RDATA デュアルポートRAMからのデータ出力の読取り。 WD デュアルポートRAMへのデータ入力書込み。 DLY1, DLY2 連合する論理の適当なタイミングと調和するように 信号を遅延させるために使用される。 WRRAM1 書き込みバッファータイミング。 CKSBIRQ ゲーティング信号(システムバスインターフェイス要求の ためのチェック)。 VN 音声ナンバー。 VN(N−1) 古い音声ナンバー。 LDOVN 古い音声ナンバーをロードする。 ADDR 列選択アドレスバス。 SVIROCYC, SVIWRCYC システムバスインターフェイス書込み/読取りサイ クル。 LOAV 活性音声をロードする。 AV 活性音声バス。 図113に図示するように、コアI/Oポート1202は、コアポートバス( 図示せず)に含まれるパス1216、1218及び1220によって、デュアル ポート静止RAM1178内の現在値レジスター1212と最終値レジスター1 214に接続されるインクリメンター1208とコンパレーター1210を含む 。シンセサイザーコアブロックもパス1220を通してデュアルポートRAM1 178に接続される。この構造は全体の音量の増加/減少を制御するために使用 される。 レジスター1212内の現在値は音量発生器がシンセサイザーモジュールの出 力に音量を加えるために使用する値である。レジスター1214内の最終値は幾 つかのサンプルフレームに亙って増加または減少した後、現在値が等しくなる値 である。 第1の操作モードにおいて、現在値が最終値に近くなるようにインクリメン ター1208によって増加または減少される。このモードでは、システムマイク ロプロセッサーが最終値を最終値レジスター1214に書き込む。音声を処理す る時、現在値が最終値より小さいか、大きいか、または同じであるかを判断する ために、現在値と最終値がコンパレーター1210によって比較される。レジス ター1212からの現在値がパス1218によってインクリメンター1208に 、そしてパス1220によってコンパレーター1210にロードされ、またパス 1220によってシンセサイザーコアブロックに送られる。レジスター1214 からの最終値がパス1222によってコンパレーター1210にロードされる。 インクリメンター1208にロードされた現在値は、コンパレーター1210 による現在値と最終値の比較に応じて、1だけ増加または減少されるか、あるい は同じまま保たれる。現在値が最終値より小さい場合、インクリメンターは制御 ライン1226、1224上でコンパレーター1210から1を受け取り、現在 値を1だけ増加させる。現在値が最終値より大きい場合、インクリメンターは制 御ライン1226上でゼロを、制御ライン1224上で1を受け取り、現在値を 1だけ減少させる。現在値が最終値と同じである場合、インクリメンター120 8は制御ライン1224上でゼロを受け取り、現在値を増加も減少もしない。 音声処理の最後に、インクリメンター1208により更新された現在値がパス 1216を通してデュアルポートRAM1178の現在値レジスター1212に 書き戻される。次回この音声が処理される時、再度比較が行われ、現在値が最終 値に近づくように1だけ増加または減少される。 第2の操作モードでは、現在値を直ちに変更する必要がある。これは現在値レ ジスター1212と最終値レジスター1214の両方に同じ値を書き込むことに よって達成できる。 第3のモードは、SROIレジスターに保持された超音波のPAN値が増加し ないように、超音波の波動表シンセサイザーとの互換性のために必要である。こ のモードでは、レジスターSMSIのビットOFFENを使用して、現在値の増 加と減少を不能化する。 現在値レジスターはSROI、LROIとSEVIであり、最終値レジスター はSROFI、SLGFIとSEVFIである。 図114aはコンパレーター1210の好ましいレイアウトを示す論理図であ る。図114bは図114aの論理図と連合するタイミングチャートである。コ ンパレーター1210は1つの値が他の値より大きいか、小さいか、あるいは同 じであるかを判断するために現在値と最終値を比較する。コンパレーター121 0は静的コンパレーターである。 コンパレーター1210はまず現在値のMSBと最終値のMSBである、V1 とV2を比較し、次に2つの値が等しいか、あるいは1つの値が他の値より大き いか、小さいかを判断するために必要であれば、LSBが比較されるまで各ビッ ト位置を比較し続ける。MSB位置の比較が図114aに示した回路の左の段階 (またはセル)1228において行われる一方、MSB−1位置の比較は図示し た回路の真ん中の段階1230において行われ、LSB位置の比較は図示した回 路の右の段階1232において行われる。比較される現在値と最終値は12−ビ ットであるので、コンパレーター1210は12の比較段階(またはセル)を必 要とするが、簡略さのために図114aには3段階(またはセル)だけを図示し ている。 まず始めに、最上位の差を決定するために、現在値と最終値のMSB、V1と V2が比較される。各段階で、現在値と最終値、V1とV2の各々のビット位置 に対するビット値が各々ライン1236と1234上で入力される。入力ビット 間に差がある時、ライン1238上の信号DIFFは1である。1に等しいDI FFはCMOSトランスファーゲート1240を閉じ、1つのNMOSトランジ スター1242で出力を下落させることによって、桁上げチェーンを破るであろ う。桁上げチェーンは電圧VCC(つまり、1の値)を左から右に流すCMOS トランスファーゲート1240によって形成される。桁上げチェーンは桁上げチ ェーンへの入力において1つのMSBがどの程度伝達したかを検出することによ って、最上位の差を判断する。 各々のビット比較段階は、入力としてそのセル(信号DIFF)用の桁上げ入 力を持つNANDゲート1244を持つ。EVALは桁上げチェーンが設定 されてしまうまで高くならないタイミング信号である。EVALが高くなる時、 最上位の差を持つ段階においてCMOSトランスファーゲート1246は、ビッ ト比較によりV1がV2より小さいと判断された場合1を、あるいはV1がV2 より大きいと判断された場合0をライン1248に動かすであろう。V1とV2 が等しい場合、桁上げチェーンはその全長に亙って1を伝達する。 ライン1250上で桁上げチェーンの終わりにある信号は、ラインEQ上で信 号を発生させるために、NANDゲート1252によってEVALでアンドされ る。ラインEQ上の信号に対する補数である、信号NEQはNANDゲート12 54と1256への入力である。更にNANDゲート1254はその入力として EVALタイミング信号とライン1248上の信号を持っている。更にNAND ゲート1256はその入力としてEVALタイミング信号とNANDゲート12 54からの出力を持っている。NANDゲート1254、1256は各々ライン LT、GT上に信号を出力する。V1とV2が等しい時、信号NEQはNAND ゲート1254、1256が電力を消耗するのを禁じる。V1とV2が等しい時 、ライン1248は浮動する。V1がV2より小さい時、LTが1に等しく、V 1がV2より大きい時、GTが1に等しく、V1とV2が等しい時、EQが1に 等しい。 コンパレーター1210は加算器を使用する先行技術のコンパレーターの改良 である。コンパレーター1210は加算器を使用しないので、小型であり、加算 器を使用するコンパレーターより少ない電力しか使用しない。更にコンパレータ ー1210は1回路静的コンパレーターにおいて達成できないと信じられている 比較値についての判断を行う。コンパレーター1210は値が別の値より小さい か、大きいか、あるいは2つの値が等しいかを判断する。先行技術の静的コンパ レーターは1つの回路において:(i)値が等しいか;あるいは(ii)1つの 値が他の値より大きいか、または1つの値が他の値より小さいか、または他の値 と等しいかだけを判断することができると信じられている。 4.LFO発生器 図115はLFO発生器1021、及びLFO発生器とローカルメモリーコン トロールモジュールとの接合部LDATOUTとLDATIN用の構造を 図示している。LFO発生器1021は:LFO発生器コントローラー1148 ;データバッファー1150;レジスター1152、1154、1156;ナン バー発生器1158;加算器1160;コンパレーター1162;及びレジスタ ー1166を含む。LFO発生器コントローラー1048は様々な制御ラインに よってこれらの回路成分の各々と接続される。これらの制御ラインの機能につい て説明する。 図示するように、ローカルメモリーコントロールモジュールからのデータライ ンLDATOUTとLDATINはデータバッファー1150に接続される。更 にデータバッファー1150はアキュムレーター1164の他にレジスター11 52、1154、1156への接続も有している。レジスター1152、115 4、1156はデータバッファー1150と加算器1160に接続される。ナン バー発生器1158は加算器1160に接続される。加算器1160はコンパレ ーター1162、レジスター1166に、またパス1168と1174によって アキュムレーター1164に接続される。コンパレーター1162は加算器11 60に接続される。アキュムレーター1164はパス1174と1168によっ て加算器1160に、パス1170によってレジスター1166に、そしてパス 1172によってデータバッファー1150に接続される。レジスター1166 はパス1170によってアキュムレーター1164に接続される。 上述のように、各LFO用の様々なパラメーターがローカルメモリーに記憶さ れる。これらのパラメーターはラインLDATOUT上でローカルメモリーから データバッファー1150にロードされる。ローカルメモリーコントロールモジ ュール(図示せず)は制御ラインLLFORD_Lによるデータバッファー11 50へのデータのローディングを制御する。データバッファー1150内のデー タは制御ラインLLFOWR_Lによってローカルメモリーに書き込まれる。ロ ーカルメモリーコントロールモジュールは制御ラインLLFOWR_Lによって データバッファー1150からラインLDATIN上へのデータのドライビング を制御する。データバッファー1150からのビット14と15がLFO波形の クォードラントを決定し、LFO発生器コントローラ ー1148に送られる。 データバッファー1150からのデータは各々の制御ラインLDCTRL、L DMCによってレジスター1152、1154にロードされ、データは各々の制 御ラインDRCTRL、DRMCによってこれらのレジスターから加算器116 0に動かされる。データバッファー1150からのデータは制御ラインLDMP によってレジスター1156にロードされる。レジスター1156内のデータは DRMPとSHFTMP制御ラインを同時に活性化させることによって右にシフ トさせることができる。制御ラインDRMPが活性化されている時、レジスター 1156内の全てのビットが加算器1160に動かされ、一方制御ラインDRM PHIが活性化されている時には、8つのMSBが動かされ、制御ラインDRM PLOが活性化されている時には、8つのLSBが動かされる。 ナンバー発生器1158は制御ラインDRZEROBが可能化されている時、 ゼロを加算器1160へと動かす。 加算器1160はそのA入力からの二進数にそのB入力上の二進数を加える。 INVA制御ラインはA入力が負になるようにする一方、INVBラインはB入 力が負になるようにする。これらの制御ラインを同時に可能化することはできな い。制御ラインZEROAが可能化された場合、A入力がゼロである。A入力は ゼロであるか、あるいはパス1168からの値であるかのいずれかである。B入 力はパス1176上の値である。 加算器1160の出力はコンパレーター1162とアキュムレーター1164 に送ることができる。制御ラインLDCMPが活性化されている時に、出力デー タがコンパレーター1162にロードされる。コンパレーター1162は出力値 が負であるか正であるかを決定し、この決定に応じてSLGM_ZEROまたは SLGM_NEGラインでLFO発生器コントローラー1148に信号を送る。 制御ラインLDACCが可能化されている時、アキュムレーター1164には加 算器1160の出力データがロードされる。制御ラインLDACCとSHFTA CCが同時に活性化されている時、データはアキュムレーター1164によって 右にシフトされる。 アキュムレーター1164内のデータはパス1172に沿ってデータバッファ ー1150に送ることができる。制御ラインLLRORD_Lがこのデータのデ ータバッファー1150へのローディングを制御する。アキュムレーター116 4からのデータはレジスター1166にも送ることができる。制御ラインLDO FFがこのデータのレジスター1166へのローディングを制御する。レジスタ ー1166はまたスタート発生器からのラインSSGA_LNとSSGA_LT にデータを有し、それらのデータは各々処理されるLFOナンバーを指示し、ま たデータが音量発生器1012に向けられているか、アドレス発生器1000に 向けられているかを指示する。 レジスター1166内のデータはラインSLGM_DATA上を移動し、アド レス発生器1000(図107を参照)のレジスター1043または音量発生器 1012(図109を参照)のレジスター1065のいずれかにロードされる。 レジスター1166はラインSLGM_LNUMとSLGM_LTYPE上のデ ータをLFO発生器コントローラー1148に送り、それらのデータは各々処理 されるLFOナンバーを指示し、またレジスターデータが音量発生器1012に 向けられているか、アドレス発生器1000に向けられているかを指示する。制 御ラインLDNFLFOとLDNVLFOは、データがレジスター1043また は1065のどちらにロードされるかを制御する。LFO音声マッチ制御ライン はアドレス発生器1000(図107を参照)と音量発生器1012(図109 を参照)に対して、処理されるLFOに連合する音声ナンバーを指示する。 PH1ラインはその操作を刻時するために、クロッキングコントローラー(図 示せず)からのクロッキング信号をLFO発生器コントローラー1148に供給 する。SSGA_FSYNCラインがLFO発生器コントローラー1148の操 作を開始するための開始パルスを供給する。ラインSGMI_GLFOE上の信 号はレジスターSGMIから送られ、全てのLFOが可能化されたかどうかを指 示する。 5.信号路 図116は信号路1028、及び信号路とローカルメモリーコントロールモ ジュール8、音量発生器1012、アドレス発生器1000、及び蓄積論理10 30との接合部を示す。信号路1028は:信号路コントローラー1080;A バス1082とBバス1084;ナンバー発生器1088;加算器/減算器10 90;Sレジスター1092、S1レジスター1096、及びラッチレジスター 1098;データバッファー1104;シフト論理1094;バストランスファ ー論理1100;乗算器バス1086とオペランドバス1087;乗算器110 2;一時的レジスター1112;及ROUTレジスター1114、LOUTレジ スター1116、EOUTレジスター1118を含む。 図116の上部に図示するように、ナンバー発生器1088は加算器/減算器 1090とBバス1084に接続され;加算器/減算器1090はナンバー発生 器1088、Aバス1082とBバス1084、及びシフト論理1094に接続 され;Sレジスター1092はAバス1082との接合部とシフト論理1094 との接合部を持ち;シフト論理1094は加算器/減算器1090、Sレジスタ ー1092、ラッチレジスター1098、S1レジスター1096に接続され; S1レジスター1096はシフト論理1094とBバス1084に接続され;ラ ッチレジスター1098はシフト論理1094、S1レジスター1096及びA バス1082に接続され;データバッファー1104はAバス1082とローカ ルメモリーコントロールモジュール8に接続される。ナンバー発生器1088; 加算器/減算器1090;Sレジスター1092、S1レジスター1096、及 びラッチレジスター1098;データバッファー1104及びシフト論理109 4は後述する様々な制御ラインを通して信号路コントローラー1084にも接続 される。 図116の下部に図示するように、乗算器1102は乗算器バス1086、音 量発生器1012及びアドレス発生器1000に接続され;一時的レジスター1 112は乗算器バス1086に接続され;ROUTレジスター1114、LOU Tレジスター1116、EOUTレジスター1118は乗算器バス1086と蓄 積論理1030に接続される。加えて、ROUTレジスター、LOUTレジスタ ー、EOUTレジスターはライン1106において共に接続される。乗算器11 02とレジスター1112、1 114、1116、1118は更 に後述する様々な制御ラインを通して信号路コントローラー1080にも接続さ れる。 後述する様々な制御ラインを通して信号路コントローラー1080はそれに接 続される信号路1028の全ての回路成分を制御する。他の様々な制御ラインを 通して、信号路コントローラー1080は信号路1028の外側の回路成分にも 接続される。これらの制御ラインの機能について説明する。 バストランスファー論理1110はAバスから乗算器バスに、またその逆にデ ータを送信する。Aバスまでの送信はDRXFERUP制御ラインによって可能 化される一方、乗算器バスまでの送信はDRXFERDN制御ラインによって可 能化される。 PHI1ラインはその信号路の操作を刻時するために、クロッキングコント ローラー(図示せず)からのクロッキング信号を信号路コントローラー1028 に供給する。アドレス発生器1000からのStart Signal Pat hラインが信号路コントローラー1028の操作開始を制御する。Start Accumulationラインが蓄積論理1030の操作の開始を制御する。 SMSI[ULAW]ラインがレジスターSMSIのビットULAWに接続さ れる。このビットの設定が、データを補間する前に、信号路1028が8−ビッ トのμ−法則データを16−ビットの線形データに拡張するかどうかを制御する 。 制御ラインDR0またはDR33が活性化されているかどうかに応じて、ナン バー発生器1088が二進の0または33を加算器/減算器1090に動かす。 加算器/減算器1090はAバス1082上の二進数を、Bバス1084上の 二進数またはナンバー発生器1088からの二進の33または0で加算または減 算する。INVA及びINVB制御ラインは各々、Aバス1082とBバス10 84から加算器/減算器1090にロードされたデータが負になるようにする。 これらの制御ラインは可能化できない。加算器/減算器の出力はシフト論理10 94に記憶される。 Sレジスター1092は一時的にデータを記憶する。ラインLDSはデータを Aバス1082からSレジスターにロードする一方、ラインDRULAWがデー タをライン1108でAバスに、またラインYYYでシフト論理1094に動か す。 シフト論理1094はその中に記憶されたデータをシフトする。ラインSHY YYとSH2は各々:(i)ラインYYY上の3−ビットの二進数;または(i i)データに4を掛けるための2−ビットによって、データがシフトされたかど うかを判断する。 S1レジスター1096はシフト論理1094から一時的にデータを記憶する 。ラインLDS1がデータをシフト論理1094からS1レジスターにロードし 、DRS1ラインがデータをS1レジスターからBバス1084に動かす。 ラッチレジスター1098も一時的にデータを記憶する。ラインLDADDL ATがデータをシフト論理1094からラッチレジスターにロードし、DRAD DLATラインがデータをラッチレジスターからAバス1082に動かす。 制御ラインDRDATAがデータバッファー1104からAバス1082に波 動表データを動かす。この波動表データはアドレス発生器1000がアドレス指 定するデータであり、ローカルメモリーコントロールモジュール8からデータバ ッファー1150に制御ラインLDATOUTによってロードされる。 乗算器1102は乗算器バス1086上のデータを音量発生器1012または アドレス発生器1000からのデータで乗算する。LDMULTラインがデータ を乗算器1102にロードし、DRMULTラインが乗算結果を乗算器バス10 86に動かす。音量発生器のデータは右音量バッファー1059、左音量バッフ ァー1061、及び効果音量バッファー1063から送られる一方、アドレス発 生器のデータはアドレス分数バッファー1041から送られる。制御ラインDR RVOL、DRLVOL、DREVOL、及びDRADDFRがどのバッファー データを乗算器1102に動かすかを制御する。LDBUF制 御ラインはアドレス発生器1000においてバッファー1041に接続され、音 量発生器1012においてバッファー1059、1061、1063に接続され 、これらのバッファー内のデータを信号路に動かすために利用できることを保証 する。 一時的レジスター1112はデータを一時的に記憶する。LDTEMP1ライ ンがデータを乗算器バス1086からこのレジスターにロードし、一方DRTE MP1ラインがこのレジスターからデータを乗算器バスに動かす。 レジスター ROUT 1114、LOUT 1116、EOUT 1118 もデータを一時的に記憶する。データは各々の制御ラインLDROUT、LDL OUT、及びLDEOUTによって乗算器バス1086からこれらのレジスター にロードされる。後述するように、データは制御ラインDRROUT、DRLO UT、DREOUTによってこれらのレジスターから蓄積論理1030に動かさ れる。図118も参照。 図117は設定された12のクロックサイクルの各々のクロックサイクルの間 に、信号路1028が遂行する操作を説明するタイミング図である。図117は 12のクロックサイクルの各々のために:(i)どのデータが乗算器バス、Aバ ス及びBバス上にあるか;(ii)乗算器のデータはどのバッファー(アドレス 分数、右音量、左音量、または効果音量)から来ているか;(iii)もしある 場合、データに関してどの演算操作が行われているか;(iv)他のどのような 操作が行われているか;そして(v)どの演算操作のための式が実行されている かを指示する。「MULT式」コラムと「ADD/SUB式」コラムが信号路1 028によって遂行される一般的な操作を反映する。 6.蓄積論理 図118は蓄積論理1030及び、蓄積論理1030とアドレス発生器100 0、信号路1028、及びシンセサイザーDAC 512との接合部を示す。蓄 積論理1030は:蓄積コントローラー1120;ナンバー発生器1122;加 算器/減算器1126;及び蓄積レジスター1124を含む。 図示するように:ナンバー発生器1122はパス1132によって加算器/減 算器1126に接続され、制御ラインDR0によって蓄積コントローラー1 120に接続され;信号路1028はパス1134によって加算器/減算器11 26に接続され;加算器/減算器1126はパス1132によってナンバー発生 器1122に、パス1134によって信号路1028に、またパス1136と1 138によって蓄積レジスター1124に接続され;また蓄積レジスター112 4はパス1136と1138によって加算器/減算器1126に、パス1128 によってアドレス発生器1000に、パス1130によってシンセサイザーDA C 512に接続される。蓄積レジスター1124は以下の制御ラインによって 蓄積コントローラー1120に接続される: LDSHFT DREACC7 DREACC6 DREACC5 DREACC4 DREACC3 DREACC2 DREACC1 DREACC0 下記において詳述するように、その制御ラインを通して、蓄積コントローラー 1120はそれに接続される蓄積論理1030の全ての回路成分を制御する。他 の制御ラインを通して、蓄積コントローラー1120は信号路1028、レジス ターSEASI及びアドレス発生器1000にも接続される。これらの他の制御 ラインの機能についても後述する。 DR0制御ラインによって可能化された場合、ナンバー発生器1122はパス 1132上のゼロを加算器/減算器1126まで動かす。 信号路1028におけるROUTレジスター1114、LOUTレジスター1 116、EOUTレジスター1118からのデータは信号路1134で加算器/ 減算器1126へと動かされる。制御ラインDRROUT、DRLOUT及びD REOUTが、これらのレジスターのどれがそのデータを加算器/減算器112 6に動かすかを決定する。 加算器/減算器1126はパス1132または1134からのデータにパス1 138上のデータを加算する。この加算結果がパス1136で加算器/減算器1 126から蓄積レジスター1124に送られる。その合計が最大値を超える時、 加算器/減算器1126はローリングオーバーまたは符号変更を行う代わりにそ のデータをクリップする。 蓄積レジスター1124は10の16−ビットレジスターから構成される。こ れらのレジスターの内の2つが左右の出力データを蓄積する。残りの8つのレジ スターが効果データを蓄積する。LDSHFT制御ラインを可能化することによ り、2つのステップが発生する:(i) パス1136からのデータが蓄積レジ スター1124の一番上のレジスターにロードされる;そして(ii)このデー タがロードされた後、このデータと他のレジスターに前から存在するデータが下 記のレジスターにシフトされるか、あるいは一番下のレジスターの場合、レジス ターが一番上のレジスターにシフトされる。例えば、シフトの前に、データが図 118に示すように配置されている場合、シフト後、データは以下のように配置 される: 最上部レジスター→ R. ACC. E. ACC. 7 E. ACC. 6 E. ACC. 5 E. ACC. 4 E. ACC. 3 E. ACC. 2 E. ACC. 1 E. ACC. 0 最下部レジスター→ L. ACC. このように、蓄積レジスターは共に16−ビット幅のシフトレジスターとして作 用する。データのシフトにより、適切なデータが蓄積され、そのデータが正しい 場所に記憶されることが保証される。 遅延に基づく効果処理のために、制御ラインLDEDが活性化された場合、 データはパス1128上を最上部の8つの蓄積レジスターの1つからアドレス発 生器1000内の効果データバッファー1039へと送られる。前述のように、 最終的に、ローカルメモリーコントロールモジュール8の制御下に、効果データ が波動表に送られ、そこでアドレス発生器1000によって発生されるアドレス において書き込まれる。 スタート発生器と制御ラインDRACCの制御下に、シンセサイザーモジュー ルの左右の出力データはパス1130上の蓄積レジスター1124から並列−直 列変換器1019へと並列フォーマットで出力される。それからデータは直列ト ランスファーコントロールブロック540へと、あるいはインターフェイスサー キットリー1025の直列−並列変換器1144へと直列に送られる。直列−並 列変換器1144はデータを並列フォーマットでシンセサイザーDAC 512 に送る。フレーム内の全ての可能な数の音声が処理された後、DRACC制御ラ インで信号を送ることによって、(図示されない)スタート発生器がこのデータ の出力を開始させる。 処理される音声の数の下部3ビットがライン1142で蓄積コントローラー1 120に送られる。蓄積コントローラー1120はこれら3ビットを使用して、 蓄積レジスター1124のどのデータを書き込むべきかを制御する。 レジスターSEASIのビット[7:0]は制御ライン1140によって蓄積 コントローラー1120に接続される。これらのビットの設定に基づいて、蓄積 コントローラー1120は蓄積レジスター1124のどれが特定の効果データを 受け取るかを制御する。 PHI1ラインはその蓄積操作を刻時するために、クロッキングコント ローラー(図示せず)からのクロッキング信号を蓄積コントローラー1120に 供給する。信号路1028からのStart Accumulationライン 上の信号が蓄積コントローラー1120の操作開始を制御する。 図119は設定された12のクロックサイクルの各々のクロックサイクルの間 に、蓄積論理1030が遂行する操作を説明するタイミング図である。図119 は表に配置されており、12のクロックサイクルの各々のために:(i) どの データが操作されているか;(ii) データに関してどの演算操作が行 われているか;(iii) どの演算操作のための式が実行されているかを指示 する。「式」コラムと「コメント」コラムが蓄積論理1030によって遂行され る一般的な操作を反映する。 図120はシンセサイザーモジュール内のブロック及びローカルメモリーコン トロールモジュールの操作の全体的なタイミングを説明するタイミング図である 。タイミング図はコラムによって、以下のシンセサイザーモジュールブロック: スタート発生器(”SSG”);レジスターアレイ(”SRG”);アドレス発 生器(”SAG”);音量発生器(”SVG”);信号路(”SSP”);及び 蓄積論理(”SAC”)のタイミングを反映している。ローカルメモリーコント ロールモジュール(”LMC”)のタイミングは最後のコラムに記載されている 。 タイミング図は、シンセサイザーモジューがパワーアップ時に、リセット後に 、あるいは一時停止の後にその操作を開始する時からの様々なブロックとローカ ルメモリーコントロールモジュールの操作のタイミングを示している。星印(* )の付いたコラムSRGとSSP内の操作はリセットまたはパワーアップ後は発 生しない。コラムSACにおいて、そのタイミングと操作は、シンセサイザーモ ジュールがラインAで示されるパワーアップ/リセットモードにあるか、あるい は一時停止モード後のリスタート、またはラインBで示される連続操作モードに あるかに応じて、異なる開始点を持つ。タイミング図は一部の音声のシンセサイ ザーモジュールの処理のためのタイミングを反映する。当業者であれば、図12 0から全ての音声の処理のために発生するタイミングを容易に認識するであろう 。 タイミング図内の一部の操作の後の数字はどの音声ナンバーが処理されている かを示す。例えば、コラムSSP内の”ADDfr(in)31”は音声31用 のアドレス分数値を示す。”(in)”とか”(out)”の表記はデータが特 定のブロック内に/から送られるかどうかを指示する。例えば、”ADDfr( in)31”は音声31用のアドレス分数値が信号路に送られていることを示す 。 コラムSSGにおいて、”FSYNC”はシンセサイザーが高揚モードで操 作するか、フレーム拡張モードで操作するかを設定する。”LFSYNC”はロ ーカルメモリーコントロールモジュールによりモードが設定されたことを示す。 ”AV”は特定の音声が活性であるかどうかを示す。”VN”は特定の音声ナン バー用の処理が完了したことを示す。 コラムSRGにおいて、特定の音声のためにレジスターアレイからデータを読 み取る(”RD”)ために2サイクルがあり、レジスターアレイにデータを書き 込む(”WR”)ために2サイクルがある。 当業者であれば、シンセサイザーモジュール構造図と上述のタイミング図、及 び後述のセクションVI.ローカルメモリーコントロールモジュールから、コラ ムSAG、SVG、SSP、SAC及びLMCに記載される操作を容易に認識す るであろう。 システムコントロールモジュール、CODECモジュール、ローカルメモリー コントロールモジュール、及びMIDI/ゲームポートモジュールを含む、モノ リシックPCオーディオ集積回路上に形成されるモジュールとして、本発明の波 動表シンセサイザーを説明してきた。しかしながら、その代わりに、システムコ ントロールモジュール、シンセサイザーDAC、及びローカルメモリーコントロ ールモジュールと共にモノリシック集積回路上に波動表シンセサイザーを形成す ることができる。別の代替態様では、波動表シンセサイザーをシステムコントロ ールモジュールとローカルメモリーコントロールモジュールと共にモノリシック 回路上に形成することができる。結果的に生じる代替モノリシック集積回路を様 々なアプリケーションにおいて使用することができる。例えば、これらの集積回 路のいずれも、市販されているCODEC、記憶装置及び/もしくはDAC等の 、その操作を支える他の集積回路と共に算入カードに組み込み、パーソナルコン ピューターにおいて使用されるサウンドカードを形成することができる。 VI.ローカルメモリ制御モジュール 図1において、回路Cはローカルメモリ制御モジュール8を含む。本明細書で は、ローカルメモリ制御モジュール8をLMC 8と称する場合がある。L MC 8はMLC バスインターフェース250と図1にブロック252として 簡単に示すレジスタ、ラッチおよび論理回路の集合を含む。LMC 8はオフチ ップローカルメモリ素子とシンセサイザモジュール6との間、システムバスイン ターフェース14とCODECモジュール4の間でデータを転送する。図6に転 じて、ローカルメモリ素子にはDRAM回路110、ROM回路86およびIS A Plug−n−Play規格をサポートするシリアルEEPROM 78が 含まれる。 A.主要機能ブロック 図29において、LMC 8はマスタ状態機械254、レジスタデータバス制 御ブロック256、中断モードリフレッシュブロック258、リフレッシュ要求 ブロック260、優先順位エンコーダブロック262およびメモリインターフェ ースブロック264を含む。これらの機能ブロックに加えて、LMC 8は次に 説明する複数のレジスタを含む。 マスタ状態機械254および優先順位エンコーダ262は可能なメモリサイク ル源のどれがアクセスを許可されるかを判定し、その判断をメモリインターフェ ースブロック264に伝えてそのサイクルを生成する。また、LMC 8にはP lug−n−Play論理が含まれ、Plug−n−Playアクセスのための シリアルEEPROM 78とのインターフェースを提供する。Plug−n− PlayコンパチブルEEPROM 78の制御は図6のPNPCS 76およ びMD[2;0]に対応するPNP CON ピン265(図29)上で実行され る。 マスタ状態機械254は入力266を介して音声生成に関係する入力信号を受 け取る。音声入力266には処理される音声の数を示すレジスタ値SAVI(シ ンセザイサの説明におけるレジスタの説明を参照)が含まれる。パワーダウン入 力268は一般的な停止あるいはモジュールによる停止を実行する、あるいは中 断モードに入るために内部的に生成されるいくつかのパワーダウン信号のうちの 任意の1つである。これらのモードについてはシステム制御モジュールの説明で 詳細に説明する。詳細には、パワーダウン入力268はビットPWRL(ローカ ルメモリへの電力)がハイからローに変化するとき活動状 態となりローカルメモリ制御への16.9 Mhzクロックを不能にするI2L SUSRQと、I2LSUSRQに続いて(図26を参照)あるいはISUSP RG♯をただちに活動状態にする全回路中断♯ピン入力に応答して活動状態とな るI2LSUSPIP(中断続行中)を含む。ISUSPRQ♯の論理和がとら れ、12LSUSPIPが得られる。I2LSUSRQを活動状態にする1回の 書き込みによってPPWRI[6::1]をクリアし、上述したI2LSUSP IPがこれに続くことによってシステム停止モードになる。 入力272(図9)上に供給される回路活動状態信号はPUACT1[0]の 状態に応答して生成される。PUACT1[0]は音声機能起動ビット(システ ム制御レジスタの説明を参照)であり、これはローであるとき全ての音声機能ア ドレス空間、割り込みおよびDMAチャンネルの復号を不能とする。 出力72は音声処理の各フレームの最初に生成されるFRSYNC♯であり、 上のシステム制御モジュールの説明で述べたように優先順位エンコーダ262に 渡され、端子72を介して多重化されて出力される。ACSYNC♯出力信号7 3は次に説明する各4クロックサイクルメモリアクセスの始点を表わす1パルス 同期信号である。出力75は状態機械254から優先順位エンコーダ262に2 ビットのMSM[1:0]ワンオブフォーメモリサイクル型信号である。 1.マスタ状態機械 マスタ状態機械254は各44.1 KHzサンプルの時間量を構成するフレ ームをカウントする。各フレームは各音声の処理に要する時間である32のサブ フレームからなる。各サブフレームはローカルメモリへの3つの4クロックアク セスを含む。SYNTH、EVEN、ODDおよびWAITの4種類の可能なア クセスがあり、各アクセスタイプは次の優先順位エンコーダのセクションで説明 するようにメモリサイクル要求の優先順位を決定する異なる方法を表わす。マス タ状態機械254は現在のアクセスタイプを指定するMSM[1:0]を生成す る。これらのアクセスタイプが生成される順位は次の通りである。 図30はMSM[1:0]のモードを示す状態図である。 マスタ状態機械はMSM[1:0]を優先順位エンコーダに渡して、可能なサ イクルタイプ(たとえば同期パッチアクセス、CODEC、DMA、I/Oサイ クル、リフレッシュ、その他)のうちのどれが実行されるかを判定する。 a.初期化 図30を見ると、状態287においてPCARST♯が活動状態 であるとき、状態290においてMSM[1:0]= WAITである。PCA RST♯が非活動状態になった後、回路CがPUACTI[0]によって起動さ れる前に、状態292においてMSM[1:0]=SYNTHとなり、DRAM 110へのリフレッシュが可能となる。起動後、マスタ状態機械254は状態 275でサブフレーム0のための最初のSYNTHアクセスを開始し、その点か ら継続する。状態機械254は各サブフレームについて8クロックのシンセサイ ザアクセスタイプ(状態275、294)、続いて4つの偶数クロック(状態2 96)、8つのシンセサイザ(状態298−300)、そして4つの奇数クロッ ク(状態302)を移行して行く。このパターンは32のサブフレームがすべて 完了するまで状態304および306において繰り返される。 b.フレーム拡張モード このモードはGravis Forte Ultr asound GF−1とのコンパチビリティを得るために設けられる。フレー ム拡張モードは上のシンセサイザモジュールの説明に述べたようにSGMI[E NH]を設定することによって使用可能となる。このモードでは、各フレームの 最後に約1.6197マイクロ秒×[SAVI−14]の時間遅延が追加される 。SAVIは活動状態の音声の数を指定するプログラム可能なレジスタである。 遅延サイクルの数はSAVI−14である。この遅延は交互に最初の遅延サイク ルを27クロックサイクル、次の遅延サイクルを28クロックサイクルの待ちカ ウントをとすることによって近似される。図30に示すように、ある遅延サイク ルの値がSAVI−14として設定された場合に、状態276においてフレーム 拡張モードになる。状態278において、4つの偶数 サイクルと4つの奇数サイクルが3回連続して反復される。これら24のサイク ルに状態280における3クロックの待機が続き、奇数遅延サイクルの場合には 状態276に戻り、奇数遅延サイクルの場合状態284でさらに待クロックに入 る。状態276ですべての遅延クロックが終了すると、状態308でサブフレー ム番号がリセットされ、状態286でISUSPRQ♯が活動状態にならない限 り、この処理が再開される。 c.FRSYNC♯、EFFECT♯およびACSYNC♯ 図29に示すよ うに、それぞれの新規フレームの最初にマスタ状態機械254がRRSYNC♯ 上に1クロックパルスを、またACSYNC♯上に1クロックパルスを生成して 各4クロックサイクルアクセス時間の始まりを示す信号が発せられる。EFFE CT♯は適当に刻時され、書き込み(4クロックサイクル)および読み出しアク セス(8クロックサイクル)のメモリサイクル中に活動状態となる。 d.中断および停止モード システム制御モジュールからのISUSPRQ♯ が活動状態になると、マスタ状態機械254は現行フレームを完了し、状態28 6および290(図30)におけるWAITモードに入る。LMC 8は中断モ ードリフレッシュサイクルとインターフェースする状態ではいかなるメモリ制御 信号も残さない。 図31に示すように、中断モード続行中信号ISUSPIP♯が活動状態に なると、32 Khzクロックで中断モードリフレッシュサイクルが実行される 。ISUSPIP♯が非活動状態になると、現行の中断モードリフレッシュサイ クルが32 Khzクロックの次のエッジで終了し、すべてのRAS♯およびC AS♯が非活動状態になる。ISUSPRQが非活動状態になった後、マスタ状 態機械は次のフレームに対して動作を再開する。また、中断モードリフレッシュ サイクルはシステム制御モジュールの説明に述べたように回路Cが停止モードに あるときにも発生する。 2.優先順位エンコーダ 図29に示すように、優先順位エンコーダ262は入力310およびレジスタ データバス制御256およびリフレッシュ制御260からのそれぞれの出力31 2および314を介してメモリサイクル要求を受け取る。MSM[1: 0]の状態に基づいて、優先順位エンコーダ262はどのサイクルが許可される かを判定する。要求の優先順位を下に示す。 DMAサイクルあるいはSBI I/Oサイクルは1つおきのODDサイクルで 少なくとも1度可能であるという制約がある。したがって、シンセサイザモジュ ールが2つの連続するODDサイクルでLFOアクセス要求を表明することは許 されない。ローカルメモリアクセスモード出力信号が出力316およびメモリイ ンターフェース264への入力318で供給され指定されたサイクルが生成され る。 3.リフレッシュ要求ブロック リフレッシュ要求モジュール260はDRAMリフレッシュが必要であるとき 出力314を介して優先順位エンコーダ262にRSHRQ♯(リフレッシュ要 求)を表明する。リフレッシュ間の間隔はLMC構成レジスタ(LMCFI)に よって15、62あるいは125マイクロ秒に設定される。この値は2ビット入 力320を介してリフレッシュ要求モジュール260に入力される。このブロッ クはまた0に初期設定されたリフレッシュ要求カウンタ(RSHRQCT[2: 0]と呼ばれる3ビットカウンタを含む。リフレッシュ間隔が経過するとRSH RQCT[2:0]がインクリメントされ、DRAMへのリフレッシュサイクル が実行されるとRSHRQCT[2:0]はデクリメントされる。リフレッシュ サイクルの実行は出力324および入力326において供給されるレディ信号に よってエンコーダ262からリフレッシュ要求モ ジュール260に報知される。カウンタが1から7の間であるとき、RSHRQ ♯は活動状態である。RSHRQCT[2:0]は中断モード(ISUSPIP ♯が活動状態である)においては7に設定される。 4.中断モードリフレッシュ パワーダウン条件によって入力330において中断モードリフレッシュブロッ ク258への入力が生成される。システム制御モジュール2からのISUSPI P♯が活動状態になった後、C32KHZピン70(図5)によって供給される 32 Khzクロックを用いて中断モードリフレッシュを動作させる。入力32 8を介して供給されるローカルメモリ制御レジスタ(LMC I)はリフレッシュ タイプを62または125マイクロ秒になるように選択するかあるいはDRAM 自己リフレッシュモードを使用するように選択する。すべてのDRAMバンクが 同時にリフレッシュされる。中断モードRASおよびCAS出力332および3 34はそのサイクルを生成するメモリインターフェース264に供給される。図 34はリフレッシュサイクルの概略を示す状態図である。図33は中断モードリ フレッシュサイクルのタイミング図である。 C32KHZクロック信号はSUSPEND♯が非活動状態になった後も、中 断モード状態機械がRASおよびCASのグリッチを生じることなく適正に動作 を終了するように発振し続けなければならない。 5.レジスタデータバス制御バンク 図29に示すように、レジスタデータ制御ブロック256はシステムバスを介 して読み出しおよび書き込みが可能なローカルメモリレジスタおよび状態情報お よびシステムバス/レジスタデータバスのインターフェースの制御の供給に必要 な論理の集合を簡単に示したものである。これらのレジスタおよび制御機能の詳 細については本明細書の他の部分で説明する。 6.Plug−n−Playインターフェース PCARST♯が非線形活動状態になった後、回路CがPUACTI[0]に よって起動される前に、LMC論理はPlug−n−Play(PNP)モード になる。このモードでは、MD[2:1]はシステム制御モジュールからシリア ルEEPROM 78への出力であり(SKの場合MD[2]、DIの 場合MD[1])、MD[0]はシステム制御モジュール2に返されるシリアル EEPROM(DO)からの入力である。これらの属性についてはシステム制御 モジュールのセクションおよび図18に説明されている。 7.メモリインターフェース 図29に示すように、メモリインターフェースバス264は最大でDRAM1 10の4つのバンク、EPROM 86の4つのバンク、およびPNPシリアル EEPROM 78(図6)を支援する。上述したように、BKSEL[3:0]は 多重化され、RAMおよびROMの両方のバンクの選択に用いられる。RAS♯ 、ROMCS♯、およびPNPCSはメモリタイプの選択に用いられる。 ローカルメモリアドレス DRAMおよびROMのアクセスに用いられるアドレ スはすべてバイトアドレスあるいはゼロからメモリの最後まで線形に分布する実 アドレス(RLA[23:0]に基づく。これら24のビットの一部を図6にD RAMあるいはROMのいずれがアクセスされるかに応じてMA[10:0]あ るいはRA[21:11]のいずれかとして示す。下の表は各種のレジスタ(A [23:0])に書き込まれたローカルメモリアドレスが実アドレスになる前に 回路Cから変換される態様を示す。回路C中のいくつかのアドレスレジスタがこ のテーブルにしたがってシフトされ(たとえばすべてのシンセサイザアドレスレ ジスタ)、他のレジスタには実アドレスが用いられる。シンセサイザパッチアク セスについては、アクセス幅はSACI[2]によって決まり、DMAアクセス についてはこの幅はDMA要求確認応答数によって決まる(チャンネル0、1お よび3については8ビット、チャンネル5、6および7については16ビットで ある)。 16ビットアクセスは常に偶数バイト配列を想定しており、その結果、RLA[ 0]ローはLSBを指定し、RLA[0]ハイはMSBを指定する。 DRAM 回路Cによって支援されるDRAM 110の4つのバンクにはレ ジスタLMCFIによって指定されるいくつかの可能な構成がある。各DRAM バンクの幅は8ビットである。このデータバスの各半分を2つのバンクとして用 いる(たとえばBKSELO♯はビット[7:0]に対応するCASラインを駆 動し、BKSEL1♯はビット[15:8]を駆動する)ものとして取り扱うこ とによって16ビットのDRAMを用いることができる。ロウアドレス線および コラムアドレス線の数は対称でなければならない。 次の表にはロウおよびコラム(MA[10:0])上での実アドレス(RLA [21:0]の多重化の態様を示す。 24ビットアドレス指定に必要なDRAMスペースを持つシステムにおいては 、DRAMの実アドレスRLA[23:22]の2つの最上位ビットが符号化さ れ、BKSEL[3:0]を介して回路Cから転送される。 8ビットDRAMアクセス 図34aは8ビットDRAMアクセスのタイミン グ図である。このタイミング図のCLKおよびその下のCLKは16.9344 Khzクロックである。 16ビットDRAMアクセス 図34bは16ビットDRAMアクセスのタイ ミング図である。16ビットデータアクセスには高速ページモードが用いられる 。 DRAMリフレッシュ 図34cはDRAMリフレッシュサイクルのタイ ミング図である。DRAMリフレッシュサイクルはCAS−before−RA S法が用いられる。中断あるいは停止中でないときには15、62、125マイ クロ秒のリフレッシュレートが支援される(LMCFI)。 ROM ROM 86の16ビット幅の4つのバンクのそれぞれは(もしあれ ば)同じ大きさでなければならない。ROMサイズはLMCFIレジスタ中に指 定される。その値は128K×16(256キロバイト/バンク)から2M×1 6(4メガバイト/バンク)の範囲である。ROMを構成するためには16ビッ トの外部ラッチ108を供給しなければならない。 上に詳細に述べたように、ROMアクセスは一度に16のビットを搬送しうる ようにアドレスバスとデータバスの使用を多重化したものである。ROMアクセ スへのI/O書き込みが行なわれる場合、そのサイクル中MWE♯信号が活動状 態になる。図35のタイミング図は回路Cから実アドレス(RA[23:0])が供 給される態様を示す。ROMバンクの幅は16ビットであるものと考えられるこ とから、RA[1]がROMのA[0]に入り、以下同様であることを指摘して おく。 8.ローカルメモリ記録/再生FIFO ローカルメモリ記録および再生FIFO(LMRFおよびLMPF)はローカ ルDRAM 110に記憶されたFIFOである。これらのFIFOレジスタに ついてはCODECの説明の部分で説明する。LMPFはDRAM 110から CODEC再生FIFO 532(図1)への自動データ転送に用いられる。L MRFはCODEC記録FIFO 538からローカルDRAM 1 10への自動データ転送に用いられる。 図36に示すように、ローカルメモリ記録および再生FIFOはそれぞれFI FO制御回路321内に設けられ、この回路はプログラム可能な基底アドレスカ ウンタ318、19ビットオフセットカウンタ320、およびプログラム可能な FIFOサイズ選択レジスタ322を含む。FIFOのサイズはオフセットカウ ンタからオフセットアドレスをゼロにリセットするビットを選択することによっ て制御される。FIFOのサイズは8バイトから256 Kバイトの範囲である 。 オフセットカウンタ320の出力はゲート324においてレジスタ318から 出力される基底アドレスと論理和され、DRAM 110への各アクセスの実ア ドレスが生成される。レジスタ318には次に説明するLMRFAIおよびLM PFAIレジスタからローカルメモリ記録および再生FIFOアドレスが供給さ れる。DRAM 110とCODEC 4の間で転送される各バイトによってオ フセットカウンタ320がインクリメントされる。ホストCPUが通常のI/O アクセスによってDRAM 110へのLMPFデータの書き込みとDRAM 110からのLMRFデータの読み出しを行なう。次のLMBDRおよびLMS BAIレジスタの説明を参照されたい。ローカルメモリFIFOアクセスは入力 328に供給されるFIFOアクセス信号に応答して回路Cから実アドレスビッ トを供給する制御されたドライバ回路326によって制御される。データ転送信 号および制御信号がレジスタデータバス12を介してローカルメモリFIFO制 御回路321に供給される。 CODECサンプルカウンタ CODEC記録FIFO 538からLMRF に転送される各サンプルによってCODECサンプルカウンタがデクリメントさ れる。LMPFからCODEC再生FIFO 532に転送される各サンプルに よってCODEC再生サンプルカウンタがデクリメントされる。CODEC F IFOとの間でデータが転送されサンプルカウンタがデクリメントされるポイン トについては本明細書のCODECの部分で詳細に説明する。 9.DMAデータ転送 システムとローカルメモリの間では2種類のデータ転送が可能である。GF− 1コンパチブルDMAの制御についてはLDMACIによって指定され、DMA アドレスについてはLDSALIおよびLDSAHIによって指定される。イン ターリーブドDMAの制御についてはLDICIによって指定され、基底アドレ スについてはLDIBIによって指定される。これらの両方のタイプのDMAを 同時に行なう場合、その結果は予測不能である。LMCモジュール8はシステム 制御モジュールに記述されたDMA論理になり、ISAバスへのDRG信号出力 となる。同様に、ISAバスからのDAK♯信号はDMAブロックによって受信 され、LMC モジュール8に渡される。 ローカルメモリの開始アドレスはすべてのDMAについて同じでなければなら ない。 TC割り込み ISAバスからのTC信号は活動状態になるとただちにラッチ され、DMA肯定応答の残りの期間中活動状態にとどまる。その信号LLATT CはIOR♯またはIOW♯の後縁でフリップフロップにクロックされる。その ビットLTCIRQはLDMACI[6]に読み込まれる出力である。またこの ビットは、システム制御モジュール内でAdLib−Sound Blaste r割り込みと論理和される前にLDMACI[6]に書き込まれるビット、TC 割り込みイネーブルと論理積される。TCの発生を用いて、発生中のDMAのタ イプに応じてLDMACI[5]あるいはLDICI[9]のいずれかをクリア することによってDMA転送が停止される。 10.インターリーブドDMAデータモード DMAによって、システムメモリからローカルDRAM 110にローカルメ モリ中でトラックが分離されるようにインターリーブされたデータの転送を行な うことが可能である。これを行なうには、インターリーブされた音声データのn のトラックがシステムメモリに記憶されるものと仮定する(nはレジスタLDI CI[7:3]によって1から32の範囲でプログラム可能である。各トラック のサイズもまたLDICI[2:0]によってプログラム可能であり、各トラッ ク中のバイトの数は2^(9 + LDICI[2:0])(512から64 Kの範囲)である。データ転送の方法は図38の表に示すよう にDMAチャンネルの幅とサンプルの幅に応じて異なる。 図39に示すように、インターリーブドDMA機能のためのローカルメモリ アドレスは基底レジスタとオフセットカウンタ335の論理和をとることによっ て得られる。生成されるアドレスは実アドレスであり、ローカルDRAM 11 0内のあるバイトを指示する。 さらに図39に示すように、オフセットカウンタはLDIBIへの書き込み のたびに、あるいはORGATE 337を介したライン332上のPCA_R ST信号の入力時にクリアされる。LDIBIのフィールドが同図に示すように オフセットカウンタを制御する。LDICI[7:3]はインターリーブされた データのトラック数を指定する。これをレジスタ334として簡単に示す。トラ ックサイズレジスタ336はLDICI[2:0]によって制御される。このサ イズレジスタによって規定されるビットから始まるMSBはサンプルが転送され るたびにインクリメントされる。トラックレジスタによって指定されたサンプル 数LDICI[7:3]が転送された後、トラック循環出力368によってLS Bがインクリメントされ、デコーダ350の出力348によってMSBがクリア される。トラックレジスタがゼロにセットされている場合、このDMA機能はサ イズレジスタによって循環ポイントが指定された1トラック転送と同様に動作す る。トラック数をカウントする上の図の5ビットダウンカウンタにはLDIBI への書き込みのたびにトラック数がロードされる(LDICIへの書き込みはロ ードされない)。 5ビットトラックレジスタ334は5ビットバスライン340上に出力され、 ダウンカウンタ342に供給される0から31までの数を指定する。カウンタ3 42は入力344および346を介して各DMAサイクルでデクリメントされ、 またカウントゼロでリセットされる。カウンタ342からデコーダ350へのイ ネーブル出力信号によってカウンタ335のMSBがライン348上に簡単に示 すR[16:9]出力を介してクリアされる。出力348のクリアの限度はMS B(トラック数)とLSB(トラックサイズ)の境界ビットを規定するトラック サイズレジスタ336からの入力352によって規定される。指定されたR入力 348はイネーブルされるとOR ゲート358を 介して対応するフリップフロップ331のクリア入力に供給される。 同様に、サイズレジスタ336はデコーダ356へのライン354上に3ビッ トトラックサイズ信号を供給し、このデコーダは8ビットバス360上に3:8 ビット復号された出力S[16:9]を供給する。ライン360上の出力信号は カウンタ335のLSBをインクリメントして次のトラック群に対応するメモリ の次のブロックをアドレス指定する。カウンタ335のLSBはライン360と 対応するマルチプレクサ362によってインクリメントされる。 B.ローカルメモリ制御ピンの概要 図7はローカルメモリ制御モジュール8の外部ピンと機能の概要を示す。 C.ローカルメモリ制御レジスタの概要 1.LMCバイトデータレジスタ(LMBDR) アドレス: P3XR + 7 読み出し、書き込み これはLMALIおよびLMAHI I/Oアドレスカウンタによって検索さ れるローカルメモリへの8ビットポートである。LMCI[0]は自動インクリ メントモードにセットされ、I/Oアドレスカウンタはこのポートを介したアク セスのたびに1だけインクリメントする。 2.DMA制御レジスタ(LDMACI) インデックス: P3XR + 5 読み出し; インデックス IGIDXR =41h デフォルト: 00h このレジスタはローカルメモリへのGF−1コンパチブルDMAアクセスの制 御に用いられる。 INV: MSB反転。このビットがハイであるとき、システムメモリからローカルメモ リへのDMAデータのMSBが反転される。ローであるとき、このデータは 変更されることなく渡される。このレジスタのビット[6]はMSBをビット[ 7]またはビット[15]に制御する。このビットはGF−1コンパチブルなD MAのみに影響し、インターリーブドDMAには影響しない。 DMATC: (読み出しについてはDMATC、書き込みについてはIB15) DMA端 末カウント。このビットは読み出しおよび書き込み機能を分離している。論理1 を読み出した場合、これはDMA TC割り込みが活動状態であることを示す。 またこの読み出しによって、この割り込みビットがクリアされる(割り込みがセ ットされた後このビットが最初に読み出されたとき、その値はハイに戻り、その 後はローとなる。) ビット15反転(IB15)。このビットをハイに書き込むと、システムメモ リからローカルメモリへのDMAデータのデータ幅が16ビットと指定され、こ のビットをローに書き込むと、8ビットデータが指定される。これは、このレジ スタのINVビットについてのみ用いられる。注意:IB15はLMCI[6] を介して読み出すことができる。 DIEN: DMA IRQイネーブル。このビットがハイである場合、TCがシステムメ モリ−ローカルメモリDMAのあるブロックの最後に割り込みを行な機能がイネ ーブルされる。このビットはLDMACI[0]が活動状態であるとき、あるい はLDICI[9]が活動状態であるとき活動状態になるが、CODEC DM Aについては活動状態にはならない(このビットはTC割り込みを駆動するフリ ップフロップの出力と論理積され、このANDゲートの出力がUISR[7]を 駆動する。 DIV[1:0]: DMAレートディバイダ。これはローカルメモリと(内部DRQMEM信号に よってアクセスされた)システムメモリとの間の可能なデータ転送速度を制御す る。このビットはGF−1コンパチブルなDMAのみに影響し、インターリーブ ドDMAには影響しない。 与えられた時間はDMA肯定応答の最後から新たなDMA要求がセットさ れるまでの間に測定される。しかし、この時間が経過したとき前のDMAサイク ルに対応するローカルメモリサイクルがまだ完了していない場合、この論理はそ のメモリサイクルの完了を待ってDRQ信号をセットする。 WID: DMA幅。この読み出し専用ビットはシステムメモリとローカルメモリ間の 転送のDMAチャンネルのデータ幅を指定する。UDCI[2:0]がDMA要 求肯定応答信号5、6あるいは7にセットされているときハイである。他の場合 はすべてローである。 DIR: 方向。このビットがローである場合、これはローカルメモリDMA転送がシ ステムメモリの読み出しおよびローカルメモリへの書き込みであることを指定す るものであRY。このビットがハイである場合、これはローカルメモリDMA転 送がローカルメモリの読み出しおよびシステムメモリへの書き込みであることを 指定するものである。このビットはGF−1コンパチブルなDMAにのみ影響し 、インターリーブドDMAには影響しない。 EN: GF−1コンパチブルDMAをイネーブル。このビットがハイである場合、シ ステムバスとローカルメモリの間にDMA転送が発生する(これはCODEC DMAに影響しない)。このビットがハイにセットされてから最初のDMA要求 が発せられるまでの間には0.5から1.0マイクロ秒の遅延がある。 このビットはTCラインが表明されるとハードウエアによってリセットされる。 3.LMC DMA開始アドレスローレジスタ(LDSALI) インデックス: P3XR + (4−5) 書き込み;インデックス IGI DXR=42h デフォルト: 0000h この16ビットレジスタはローカルメモリを指示するGF−1コンパチブルD MAアドレスカウンタの下の部分A[19:4]を指定する。このレジスタへの 書き込みによってDMAアドレスカウンタのA[3:0]が自動的にクリアされ る。8ビットあるいは16ビットDMAチャンネルのいずれが用いられるかに基 づく実アドレスとDMAレジスタにプログラムされたアドレスとの間での変換に ついてはLMCモジュールのメモリインターフェースのセクションを参照された い。 4.LMC DMA開始アドレスハイレジスタ(LDSAHI) インデックス: P3XR + 5読み出し、書き込み; インデックスIGI DXR=50h デフォルト: 00h これはDMAサイクルについてA[23:20]およびA[3:0]を介して ローカルメモリ110を指示するGF−1コンパチブルDMAアドレスカウンタ の上および下の部分を指定する。A[3:0]はコンパチボイリティ上の理由か らLDSALIへの書き込み中に自動的にクリアされる。奇数バイトアドレスか らDMA転送を開始することは許されない。8ビットあるいは16ビットDMA チャンネルのいずれが用いられるかに基づく実アドレスとDMAレジスタにプロ グラムされたアドレスとの間での変換についてはLMCモジュールのメモリイン ターフェースのセクションを参照されたい。 5.LMCアドレスロー(LMALI) インデックス: P3XR + (4−−5) 書き込み; インデックスIG IDXR=43h デフォルト: 0000h これはプログラムされたI/OサイクルについてA[15: 0] を介して ローカルメモリ110を指示するI/Oアドレスカウンタの下の部分を指定する 。このアドレスの残りの部分はLMAHI内にある。対応するデータポートはバ イトアクセスのためのLMBDRと16ビットアクセスのためのLMSBAIで ある。このレジスタのLSBは16ビットアクセスについては無視される。16 ビットデータの書き込みを奇数アドレスから開始することはできない。LMCI [0]が自動インクリメントモードにセットされている場合、I/Oアドレスカ ウンタはLMBDRを介して各アクセスごとに1だけインクリメントし、LMS BAIを介して各アクセスごとに2だけインクリメントする。 6.LMCアドレスハイ(LMAHI) インデックス: P3XR + 5 書き込み; インデックスIGIDXR= 44h デフォルト: 00h これはプログラムされたI/OサイクルについてA[23:16] を介して ローカルメモリ110を指示するI/Oアドレスカウンタの上の部分を指定する 。このアドレスの残りの部分はLMALI内にある。対応するデータポートはバ イトアクセスのためのLMBDRと16ビットアクセスのためのLMSBAIで ある。このレジスタのLSBは16ビットアクセスについては無視される。LM CI[0]が自動インクリメントモードにセットされている場合、I/Oアドレ スカウンタはLMBDRを介して各アクセスごとに1だけインクリメントし、L MSBAIを介して各アクセスごとに2だけインクリメントする。SGMI[E NH]がGF−1コンパチビリティモードにセットされ ている場合、A[23:20]が確保される。 7.LMC 16ビットアクセスレジスタ(LMSBAI) インデックス: P3XR + (4−5)読み出し、書き込み; インデック ス IGIDXR=51h これはLMALIおよびLMAHI I/Oアドレスカウンタによって検索さ れるローカルメモリ110への16ビットポートである。 LMCI[0]が自動 インクリメントモードにセットされている場合、I/Oアドレスカウンタはこの ポートを介して各アクセスごとに2だけインクリメントする。LMALIのLS Bはこのポートを介したアクセス中常にゼロとして取り扱われる。 5.LMC構成レジスタ(LMCFI) インデックス: P3XR + (4−5) 読み出し、書き込み; インデッ クスIGIDXR=52h デフォルト: 0000h SR[1:0] 中断モードリフレッシュレート(下の表を参照) NR[1:0] 通常モードリフレッシュレート(下の表を参照) RM[2:0]: ROM構成。4つのROMバンク86のサイズを指定する。128K×16の 場合(RM[2:0]=0)、256K×16の場合(RM[2:0]=1)、 512K×16の場合(RM[2:0]=3)、1M×16の場合(RM[2: 0]=4)、2M×16の場合(RM[2:0]=5−7)が確保される。 DR[3:0]: DRAM構成(値はすべてバイト数) 9.LMC 制御レジスタ(LMCI) インデックス: P3XR + 5 書き込み; インデックスIGIDXR= 44h デフォルト: 00h IB15: ビット15反転。このビットは読み出し専用である。このビットはLDMAC I[6]へのCPU読み出しアクセスを提供する。このビットがハイであるとき 、システムメモリからローカルメモリへのDMAデータの幅は16ビットに指定 される。このビットをローに書き込むと、8ビットデータが指定される。これは LDMACI[INV]についてのみ用いられる。 ROMIO: I/OサイクルのためのDRAM/ROM選択。0=DRAM1; 1= ROM AI: 自動インクリメント。このビットがローであるとき、これはLMBDRを介し たローカルメモリへのI/O読み出しおよび書き込みを指定し、LMSBAIは I/Oアドレスカウンタを自動インクリメントしない。このビットがハイである とき、かかるアクセスによってI/OアドレスカウンタがLMBDRを介したア クセスについては1だけインクリメントし、LMSBAIを介したアクセスにつ いては2だけインクリメントする。 10.ローカルメモリ記録/再生FIFO基底アドレス(LMRFAIおよび LMPFAI) インデックス: P3XR + (4−5) 読み出し、書き込み; 読み出し インデックスIGIDXR=54h、再生インデックスIGIDXR=55h デフォルト: 0000h これらのレジスタはローカルメモリ記録および再生FIFOの基底アドレスの 実(バイト指向)アドレスビットA[23:8]を指定する。LMRFAIへの 書き込みによってLMRFオフセットカウンタは0にリセットされる。LMPF AIへの書き込みによってLMPFオフセットカウンタは0にリセットされる。 11.ローカルメモリFIFOサイズ(LMFSI) インデックス: P3XR + (4−5) 読み出し、書き込み;インデック スIGIDXR=56h デフォルト: 0000h RE: LMRFイネーブル。ハイであるとき、LODEC記録FIFO538から のサンプルがLMRFへ転送される。 RFSIZE。これはLMRFオフセットカウンタ320の循環ポイントすな わちFIFOのサイズを指定する。FIFOサイズは2^(RFSIZE+ 3 )である。このサイズは8バイトから256Kバイトの範囲である。 PE: LMPFイネーブル。ハイであるとき、LMPFからのサンプルはCODEC 再生FIFO 532に転送される。 RFSIZE: LMPFサイズ。これはLMPFオフセットカウンタ320の循環ポイントす なわちFIFOのサイズを指定する。FIFOサイズは2^(RFSIZE+ 3)である。このサイズは8バイトから256Kバイトの範囲である。 12.LMC DMA インターリーブ制御レジスタ(LDICI) インデックス: P3XR + (4−5) 読み出し、書き込み;インデック スIGIDXR=57h デフォルト: 0000h IEN: インターリーブドDMAイネーブル。このビットがハイであるとき、インター リーブドDMAがイネーブルされる(すなわち、このビットがハイである間イン ターリーブドDMAサイクルが発生する)。このビットは(端末カウントピンT Cが活動状態であるこの機能に対応するDMAサイクルの後)端末カウントに達 したときハードウエアによってクリアされる。 W16: データ幅は16ビットである。ハイであるとき、このビットはインターリーブさ れた各サンプルの幅は16ビットであることを指定する。ローである場合、8ビ ット幅のデータを指定する。 ITRK[4:0]: インターリーブされたトラックの数。たとえば、00hは1トラック、01h は2トラックを指定する。 ISIZE[2:0]: インターリーブされたトラックのサイズ。各トラックのサイズは2^(9+ ISIZE)サンプルである。その範囲は(8ビットDMAチャンネルと16ビ ットDMAチャンネルのいずれが選択されるかを問わず)512バイトから64 Kバイトである。 13.LMC DMA インターリーブ基底レジスタ(LDIBI) インデックス: P3XR + (4−5) 読み出し、書き込み;インデック スIGIDXR=58h デフォルト: 0000h この16ビットレジスタはLDICIによって制御されるオフセットと論理和 されるRLA[23:8]を指定する。このレジスタはDMAチャンネルの幅に かかわり鳴くLMCモジュールのメモリインターフェースの部分に記述された実 アドレスを指定する。 VII. MIDIおよびゲームポートモジュール A. ゲームポートの概要 さて図1と図40を参照すれば、回路Cのゲームポートモジュール10は、P Cの標準的なゲームポートに見られる機能を備えている。これらは一般に、最大 2個のジョイスティック372と374にインタフェースするために使われる。 各ジョイスティックは、X方向、Y方向の各々にポテンショメーター376と3 78および2個の機能ボタン380と382とを有している。ジョイスティック 372と374から回路Cへの入力は、GAMIN〔3:0〕ピングループとG AMIO〔3:0〕ピングループへ、4本のエレメント入力線384と386を 経由して行われる。ソフトウエアはゲームポートを使って、各々のジョイスティ ックのX位置とY位置を決定し、また各々のボタンの状態を決定する。 1. GAMINピン 4個のGAMINピンは、6Kオーム(公称値:+または−2Kオーム)の抵 抗を介して内部的に吊り上げられており、これらのピンの状態は後述の、また図 1のブロック390に概略図的に含まれているレジスターGGCR経由でシステ ム制御モジュールに返送される。 2. GAMIOピン 図41を参照すれば、ソフトウエアはGAMIOピンを使って、(1)GAM IOピン392をハイインピーダンス状態に設定したことをゲームポートに書き 込むことによってジョイスティック位置を決定し、また(2)そのゲームポート をポーリングすることによって、ジョイスティック内のXポテンショメーターと Yポテンショメーターを介して外部コンデンサーを充電するために使われた時間 を決定する。時間から電圧までの測定は、差動増幅器402とフリップフロップ 404とを介して行われる。GAMIOビットに関するしきい電圧は、ジョイス ティックトリムDACレジスター398に格納された値に基づいてジョイスティ ックトリムDACと呼ばれるDAC396によって制御される。 外部ポテンショメーター376、378は、通常は2.2Kオームから約10 0Kオームの範囲で変化する。外部コンデンサー394は、通常5600ピコフ ァラッド(pF)である。 4個のGAMIOピンは、接地状態、ハイインピーダンス状態、および接地遷 移状態という3つの状態を取ることができる。これらの状態を図41aに示す。 接地状態: 大半の時間、GAMIOピンは接地状態にある。この状態のとき 、回路Cは論理レベル0を出力する。 ハイインピーダンス状態: ソフトウエアがゲーム制御レジスター390に書 き込みを行うとき、GAMIOピンはハイインピーダンス状態に遷移する。この 状態のとき、これらのピンは、差動増幅器402を介してジョイスティックトリ ムDACによって設定された電圧レベルに関して内部的に比較される。比較器へ の入力に雑音が多いために比較器402によって駆動される制御レ ジスターにグリッチが送られることはないということを保証するために、比較器 402の出力上にはディジタルに合成されたヒステリシスが存在する。 接地遷移状態: この状態は、あるGAMIOピンに関して、そのピンの電圧 がジョイスティックトリムDAC396の値を過ぎるときに開始される。この時 点で、GAMIO制御フリップフロップ404はクリアーされて、ピンの電圧は 接地状態になる。5600ピコファラッドの負荷によって、各ピンの電流は、こ の遷移の行われている間中、18mA以下に制限される(i=Cdv/dt)。遷移 時間は2マイクロセカンド以下である。遷移状態の終了時に、GAMIOビット のディジタル値がゲーム制御レジスター390を介してホストCPUに報告され る。 中断モード: 中断モード(システム制御モジュールの電力消費モードを参照 )になっているとき、GAMIOピン392は、ジョイスティック抵抗から電流 が引き出されないように強制的にハイインピーダンス状態にされる。ピンは、中 断モードから出たのち、それらのピンが接地状態に到達してゲームポートへの次 の書き込みの準備完了となるまでの間、直ちに接地遷移モードになる。 3. ジョイスティックトリムDAC ジョイスティックトリムDAC396は、直線的に変化する5ビットDACで ある。ジョイスティックトリムDAC396へのディジタル入力は静的であって 、それはジョイスティックトリムDACレジスター398と呼ばれ、SB114 によって制御されるレジスターによって設定される。 中断モード: 中断モードになっているとき、またはポートモジュール10が PPWRIによって使用禁止にされた場合(システム制御モジュール内の電力消 費モードを参照)、DAC設計で使われる従来型のレジスターラダーは電流消費 ができなくなる。 B. MIDIポートの概要 MIDI(楽器ディジタルインタフェース)は、低性能ローカルエリアネット ワーク(LAN)の仕様とそのLANに渡されるデータの記述とを含む音楽産業 界によって作成された規格である(このデータはシンセサイザーなどといった楽 器の制御に適するように作成されている)。回路C上のMIDIポート はディジタルレベルで連続データを送受信できる。外部回路は、これらをMID I LANにインタフェースさせる必要がある。 さて図42を参照すれば、MIDIポート10aは、連続転送用のUART4 12と受信FIFO414とを含む。ここであらゆる目的用に合併された、本発 明の共通の譲り受け人に譲渡された、改良型万能非同期式送受信機と題する、グ リック等による、米国特許第4,949,333号に、UART/FIFO構成 の一実施形態が記載されている。MIDIデータを送信するためにソフトウエア は、送信すべきバイトをMIDI送信データレジスター410(GMTDR)に 書き込む。UART412によって受信されたMIDIデータを読み取るために 、それはMIDI受信データレジスター416(GMRDR)を読み取る。UA RT412とMIDI受信データレジスター416との間には16バイトFIF O414がある。 回路Cは、MIDI受信データレジスター416に入ってくるデータか、送信 されるプロセスを完了するデータか、そのどちらかの結果として、SBI14に 対して割り込みを発生させるようにプログラムすることができる。 1. MIDI UART MIDIインタフェース10aは、31.25KHz+/−1%で動作する、 モートロラMC6850互換のUART412に基づいている。送受信データ用 のフォーマットは図43に示してある。 UART412は、非同期的に動作する。 2. MIDI受信FIFOおよびレジスター 再び図42を参照すれば、16バイトFIFO414は、UART412とM IDI受信データレジスター416との間をインタフェースさせる。MIDI受 信データレジスター416がデータを持っているときは、割り込みが発生する( もしそれが割り込み可能であれば)。割り込み発生は、前記のシステム制御モジ ュールの所で説明されている。レジスター416がソフトウエアによって読み取 られると、割り込みはクリアーされる。このバイトが読み取られるより前に、更 にMIDIデータが受信された場合には、その新しいデータがFIFO414に 入れられる。MIDI受信データレジスター416が読み取ら れた後にFIFO414が更にデータを持っている場合には、その次のバイトが FIFO414からレジスター416へ転送され、別の割り込みが発生する。こ うして、MIDI割り込みが割り当てられたIRQピンは、そのデータが読み取 られるとハイからローへ遷移し、そのデータがFIFO414からレジスター4 16に渡されると、直後にローからハイに遷移する。FIFO414を包含させ ると、最大許容割り込み待ち時間は約320マイクロセカンドから5.44ミリ セカンドに増加する。データは、GMRFAIを用い、ソフトウエアを介して直 ちにMIDI受信FIFO内に入れることもできる。 3. MIDI折り返し論理 さて図42を参照すれば、MIDIポート10aは、MIDITX線路420 上のデータをMIDIRX線路422に直接折り返すというオプションを提供す るために、折り返し論理418を備えている。これは、前述のシステム制御の節 で説明した混合制御レジスター(UMCR)内のビットによって制御される。折 り返しモードになっているとき、MIDITX424ピンはなお、折り返された データを外部装置に送信するように機能する。しかしMIDIRX入力426は 、データ受信が不能になっている。 C. MIDIおよびゲームポートのピンの要約 D. MIDIおよびゲームポートのレジスターの概要 1. ゲーム制御レジスター(GGCR) アドレス: 201h書き込み 何かの値をこのレジスターに書き込むと、コンデンサーの充電サイクルの開始 とジョイスティックのXY位置の決定とが行えるように、4本のGAMIO ピン392すべてがハイインピーダンス状態になる。 アドレス: 201h読み取り デフォルト: XXXX 0000 二進値 GAMIN〔3:0〕 これらのビットは、4本のGAMINピン392の状態 を反映する。 GAMIO〔3:0〕 これらは、対応するGAMIOピンの各々がハイインピ ーダンスモードと接地遷移モードのときにハイ、その他すべてのときにはローと して読み取られる。 2. ジョイスティックトリムDACレジスター(GJTDI) アドレス: P3XR+5 読み取り、書き込み; 指標IGIDXR=4Bh デフォルト: 1Dh TDAC〔4:0〕 ジョイスティックトリムDAC396のレベルを下記のよ うに設定する。 これらの値はVCCに対して直線的に変化する。 3. MIDI制御レジスター(GMCR) アドレス: P3XR+0 書き込み、読み取り(もしIVERI〔RRMD〕 が活性状態であれば)。 デフォルト: 0X0X XXX0(URSTI〔RGF1〕によってリセット される) 注: IVERI〔RRMD〕が活性状態のとき、このレジスタ ーは読み取り可能である。IVERI〔RRMD〕が活性状態でないときは、こ のアドレスからの読み取り値はGMSR内のデータを与える。IVERI〔RR MD〕割り込み許可の読み取りは、MRSTフィールドとTINTフィールド各 々に1ビットずつを与える。ビット〔6と1〕はこれらの読み取りに関して未知 であり、ビット〔0〕はMRSTが〔1.1]で書き込まれた場合(MIDIポ ートを活性状態にリセットされた場合)ローであり、ビット〔5〕はTINTが 〔0.1〕で書き込まれた場合(IRQが活性状態)ハイである。 RINT 受信データ割り込み許可。0=受信割り込み禁止。1=受信割り込み 許可。 TINT〔1:0〕 送信割り込み。00=IRQ禁止。10=IRQ禁止。 割り込み許可ビット。01=IRQ許可。11=IRQ禁止。 このフィールドは、状態を複合する前の組合せ論理により、1個のフリップフ ロップだけで実現される。 MRST〔1:0〕 MIDIリセット。00=正常動作。10=正常動作。 01=正常動作。 11=MIDIポートリセット。 MIDIポートリセットコマンドは、GMSR内のすべてのビット、受信FI FO414、GMTDRおよびMIDI送受信UART412をリセットする。 これは、GMRDRはリセットしない。このコマンドは、別のI/O書き込みが GMCR〔1:0〕を〔1:1〕以外のものに変化させるまでは活性状態に留ま る。このフィールドは、状態を複合する前の組合せ論理により、1個のフリップ フロップだけで実現される。 4. MIDI状態レジスター(GMSR) アドレス: P3XR+0 読み取り デフォルト: 0X00 XX10 注: IVERI〔RRMD〕が活性状態のときは、このレジスター内のデー タはアクセスできない。 MIRQ MIDI割り込み要求。このビットは、RDAT、TDAT、または MORERRのどれか一つが活性状態のとき、ハイになる。その方程式は次の通 り。 MIRO = GMCR[1] * (RDAT + MORERR) + (GMCR[6:5]==(0,1) * TDAT; MOR ERR MIDIオーバランエラー。このビットは、MIDI受信FIFO41 4が一杯になっていてMIDIデータの追加バイトが受信されたとき、ハイにな る。 これは、GMRDRを読み取ることによってクリアーされる。 MFRERR MIDIフレームエラー。このビットは、ストップビット(図3 )を論理レベル1以外として読み取った結果、活性状態になる。これは、MID Iデータの中のその後に続く正しくフレーミングされたバイトの受信によってク リアーされる。TDAT MIDI送信データレジスター(GMTDR)使用可 能。このビットは、MIDITXピン424に送信されるデータが存在しなくて 、UART412が他のデータのバイトを受け入れる用意ができているとき、ハ イに設定される。これは、GMTDRへの書き込みがデータ転送を開始したとき 、ローにクリアーされる。これは、MIDIポートのリセット((1,1)への GMRDR〔1:0〕書き込み)時にはローになり、リセットの後でハイに戻る 。 RDAT MIDI受信データレジスター(GMRDR)フル。このビットは、 レジスター416(GMRDR)内にデータの有効バイトが存在するときハイに 設定される。このビットは、そのバイトがレジスター416(GMRDR)から 読み出されると、ローにクリアーされる。MIDI受信FIFO内にデータが存 在する場合には、このビットはレジスター416(GMRDR)が読み取られて から約2マイクロセカンド後に再びハイになる。 5. MIDI送信データレジスター(GMTDR) アドレス: P3XR+1,書き込み ピングループ 1. 5ボルト仕様 DC特性,VCC=5ボルト Vol,Voh仕様,VCC=5ボルトの場合の最大ドライブ 注1: これらの信号に関する最大ドライブ能力は、PSEENI〔ISAD R〕を介して選択可能である。 注2: オープンコレクター出力に関してIoh値は存在しない。 注3: EFFECT#とFRSYNC#は、SUSPEND#入力とC32K HZ入力によって多重化される。またCD−IRQは、出力ESPCLKとして 選択できる。 2. 電圧仕様 DC特性,VCC=3.3ボルト Vol,Voh仕様,VCC=3.3ボルトの場合の最大ドライブ 注2: オープンコレクター出力に関してIoh値は存在しない。 注3: EFFECT#とFRSYNC#は、SUSPEND#入力とC32K HZ入力によって多重化される。またCD−IRQは、出力ESPCLKとして 選択できる。 本発明の前記の開示と説明はそれについての例示と説明であって、また本発明 の精神から逸脱することなく、回路素子、仕様、接続、および実施の細部ならび に操作方法は、種々に変更することができる。DETAILED DESCRIPTION OF THE INVENTION Title of the Invention: Monolithic PC audio circuit                               Background of the Invention   1. Technical field of invention.   The present invention relates generally to computer-controlled audio systems, and more particularly to desktop computers. For use with system boards and expansion cards for laptops and portable computers It relates to an audio circuit. A preferred embodiment of the present invention is MS-DO S, Windows, UNIX, and OS / 2 operating systems generally called IBM compatible Compatible with the assembled system to implement the rating system Is specifically designed to The present invention includes a stereo audio COD Equipped with EC and digital wavetable audio synthesizer I have.   2. A brief description of the related art.   Normally, personal computers are made with only limited audio functions Is done. These limited functions generate a mono sound and alert some users Audible signals for various simple functions such as call signals Things. None of the voice features are generally high quality. General personal Multimedia computer and video game applications To provide stereo and high-quality audio, which are desirable additional extensions for Function is not provided. Built-in machine to generate and synthesize music and other complex sounds No function. Music synthesis (synthesizing) function via computer The sound played on the external instrument to generate sound using a composition application. Required when recording or recording. Also analog speakers, multimedia The same applies to the (CD-ROM) application. Compositing function is required . Standard sound cards provide a MIDI interface and game port. Input from a MIDI device such as a keyboard or a game joystick. Power To receive.   In addition, users can use external analog sound sources, such as stereo instruments and microphones, Digitally record or decode before recording or playback by computer. I want the ability to use non-MIDI instruments for mixing with digital sound sources There are cases. To meet these demands, a number of additional equipment products have been developed. Company The industry calls one such product line a soundboard. these Sound boards are supplied by computer manufacturers with numerous integrated circuits and users. This is a circuit board that holds a related circuit attached to the expansion slot. This expansion slot Attaches an ISA interface to the system bus and sends a sound to the host processor. Access the device and control board functions under the control of application software Be able to control.   Currently, the most popular sound board in the industry is Sound Blaster. Und blaster) and Adlib (ad lib). On these sound boards Is a monolithic FM synth that generates sound from data supplied by system memory A sizer circuit is incorporated. These sound boards include digital signal processing. There is also an integrated circuit for D / A conversion, A / D conversion, and application software. Processing commands from the host CPU under the control of the hardware, and generating control signals for other circuits. Processing, processing of input / output MIDI data, expansion of stored data, and the like. other Interfaces integrated and discrete circuits to analog input or output ports Or, inter alia, a separate circuit for the system bus interface.   These conventional systems also had limited functions, and were justified by audiophiles. System that cannot generate high-quality sound, consumes much power, and cannot use expansion slots. The problem is that it is not suitable for use in a board application. Further In addition, conventional systems of this type require plugs that require compliance with industry standard self-setting methods. -Not suitable for an and play environment. Conventional sound cards use a host CPU In order to supply the design data to the company, a built-in jumper switch was used.   The latest version of Sound Blaster, Sound Blaster P ro and Pro2 are upgraded FM synthesizer integrated circuits, stereo output Power jack, stereo digital recording and playback, separate mixer integrated circuit, separate CD- By adding a ROM interface, stereo is added to the sound output function equipped. The Pro DSP circuit has a maximum of 44.1KHz monaural and stereo Recording and playback up to 22.05 KHz were provided. The mixer is used to Audio, line input, CD input and digital sound, background CD audio Mixing of sounds from Dio performance is now possible.   Such systems require multiple integrated circuits and are plug-and-play. It does not provide compatibility, has limited mixing functions, consumes much power, and simply It was limited to use only when lot design was available.   In addition, unlike more advanced wave table synthesizers, The sizer function was also processed and limited to the number of FM-based voices. This kind of The system requires limited mixing, panning, and control functions to achieve its effect. There was no individual sound effect.   Further, such a conventional system includes a local memory interface for temporarily storing audio data. Interface to the system memory to transfer all data without an interface. Access was needed. With this restriction, audio data for recording and playback is obtained Requires frequent DMA or programmed I / O cycles, Caused an excessive and extra burden on the processor.   These conventional systems are limited by the 8-bit sampling size. , Dynamic range limited to 256 steps, large bit sampling It produced more pronounced aliasing than with the technique. Sound The latest Sound Blaster called d Blaster 16 ASP Products include 16-bit playback / recording sampling and 44.1KHz stereo support. Achieved the sampling rate. This latest version incorporates multi-chip Wavetable synthesizer circuit or chip, dedicated processor Circuit or chip, separated bus interface chip, separated A / D and D / C times Circuits, analog amplifiers and other related circuits on the expansion board. This cis System for enhanced programmability, higher sampling rates, and larger samples. Mainly suitable for use with expansion slots despite offering pulling sizes This has led to the adoption of multiple chips and high power consumption. This latest version Is No local memory, no plug and play compatibility, no application And a dedicated processor for processing instructions and composite instructions. Wave table Option requires a separate daughter board, which is A 4 megabyte ROM for storing wavetable data. Was.   Conventional CODECs that are widely used have a recording / playback model of 5. Only 14 sampling rates are available in the range between 51 and 48.0 KHz . In addition, each of the ODEC devices of the related art is capable of simultaneous recording and playback. Can only use the same sampling rate. The ratio between recording and playback is simply Programming is impossible in Germany.   Another prior art system is Advanced under the name Ultrasound. Provided by Gravis and Forte. This system is Incorporating another expansion slot sound board mode, a single chip A synthesizer, MIDI and game interface, DMA control and Adlib So Unblaster compatible logic was built in. In addition to this ASIC, Ultrasound cards have onboard D for wavetable data. RAM (1 megabyte), address decode chip, analog input and output Separate analog circuit with interface connection, separate programmable ISA bus ・ Interface chip, interrupt PAL chip, separation D / A, A / D conversion chip Equipped.   All conventional systems have a single-chip synthesizer and data compression / decompression. CODEC for D / A and A / D operation, mixer, analog interface, system System bus interface, interrupt and DMA control, and compatibility I didn't. Multi-chip aspects relate to cost, size, speed, and power consumption. There were obvious limitations.   Incorporating all the essential and desirable functions in a single chip No noise and other signal contamination, while limiting the total integration, or It was an obstacle. Another obstacle is an efficient configuration design for a single chip embodiment. It was not possible. Note that other obstacles control individual modules, It lacked an efficient way to manage a fully integrated system.   In addition, each of the legacy systems includes a variety of industry standard software or hardware. There were one or more limitations on hardware compatibility. Conventional system throat None provided plug and play compatibility that could be freely selected . Prior art systems provide a wide range of host CPUs as synthesizer functions. Or had a dedicated synthesizer processor, More cost or excessive demand on host CPU overhead Caused the operation to slow down.   The system of the present invention addresses each of these issues in a number of unique and efficient ways. Is to solve it. In addition, the system of the present invention It provides the improved performance.                               Summary of the Invention   SUMMARY OF THE INVENTION The present invention provides a monolithic PC audio integrated circuit. Circuits include AT ISA compatible system bus interfaces, plugs, System control module and system control register with and play compatibility , System control logic and interrupt generation, compatible with existing PC audio software Sexual function is included. The system according to the present invention performs A / D conversion and D / A conversion. Nau coding and decoding module (CODEC), data compression Analog mixing and multiplexing of audio signals It is equipped with. Digital wavetable audio synthesizer Modules, MIDI, and game port modules are also provided. In the present invention The circuit according to the present invention further provides a local memory module, the circuit comprising an external DRA Connection with M, ROM and serial EEPROM for plug and play compatibility To be able to Data transfer for the circuit according to the invention is mounted on a chip It is easily transferred via the register / data bus and the control circuit. Circuit of the present invention Includes noise reduction attribute, external address decoding function, buffered input / output Power functions are provided as well as resource protection functions mounted on the chip.                             BRIEF DESCRIPTION OF THE FIGURES   For a better understanding of the present invention, reference may be had to the detailed description of the preferred embodiments in connection with the accompanying drawings, in which: This can be achieved by considering the detailed explanation.   FIG. 1 is a schematic diagram of the configuration of the basic module of the circuit C.   FIG. 2 is a schematic diagram of the actual layout of the circuit C.   FIG. 3 is a table summarizing the assignment of circuit C to pins.   FIG. 4 is a diagram of an alternative layout of circuit C, showing the noise used in circuit C. And the main clock signal.   FIG. 5 summarizes the assignment of circuits C to pins grouped by module. This is the table shown.   FIG. 6 shows a representative PC audio circuit C with associated circuits, buses and interconnections. It is a schematic diagram in which typical full functions are implemented.   Figure 7, a table summarizing the functions related to pin assignment and local memory control. is there.   FIGS. 8, 9, and 10 show simplified registers with appropriate indexes and module assignments. It contains a table of storage names.   FIG. 11 is a schematic diagram illustrating an embodiment of a multiplexing circuit.   FIG. 12 is a schematic block diagram of the system control module of the circuit C.   FIG. 13 shows a circuit C including a modular interface to the register data bus. It is a block schematic diagram of.   FIG. 14 is a schematic diagram of a detailed implementation of the register data bus.   FIG. 14a is a schematic diagram of a portion of the ISA bus interface circuit.   FIG. 15 is a timing chart showing a failure example of the ISA bus timing of the circuit C. You.   FIG. 16 is a timing chart related to the buffer input / output of the circuit C.   FIG. 16a is a schematic diagram of some emulation logic for circuit C. .   FIG. 16b shows the application software and the emulation TSR program. FIG. 4 is a schematic block diagram relating to the possibility of accessing the circuit of Gram.   FIG. 17 is a schematic diagram of a plug and play state machine included in circuit C. You.   FIG. 18 shows a serial EE relating to plug and play compatibility from an external circuit. FIG. 6 is a timing chart related to reading of PROM data.   FIG. 19 shows a PNP for a circuit C from an external circuit via a register data bus. 4 is a schematic diagram of a circuit that facilitates data transfer.   FIG. 20 shows the execution of the activation key for accessing the plug and play register. 5 is a schematic diagram of a linear feedback shift register necessary for the present invention.   FIG. 21 illustrates the isolation of the plug and play circuit associated with circuit C (isolation). From configuration mode to configuration mode or sleep mode 9 is a flowchart showing a state of transition to.   FIG. 22 is a diagram showing a plug-and-play compatible serial EEPROM data program. 5 is a table summarizing resources required for ramming.   FIG. 23 provides data on all events that cause an interrupt in circuit C. It is a table that can be read.   FIG. 24 illustrates the external oscillator utilized by circuit C and its associated stable logic. FIG.   FIG. 24a illustrates the logic and counting circuits associated with the various low power modes of circuit C. It is a schematic diagram.   FIG. 24b illustrates the response of circuit C to a suspend (suspend) mode operation. It is a flowchart which shows.   FIG. 24c is a flowchart illustrating various register controlled low power modes of circuit C. It is.   FIG. 25 is a schematic diagram with details of the clock oscillator stabilization logic of FIG.   FIG. 26 is enabled by the bit state in the register PPWRI included in the circuit C 6 is a table describing events that occur according to various power saving modes.   FIG. 27 shows the various power saving modes and the signals and clock signals used by circuit C. FIG. 4 is a timing chart showing the relationship between the signals.   FIG. 28 requires pins associated with the system bus interface in circuit C. It is a table to be reduced.   FIG. 29 shows a basic module including the local memory control module of the circuit C. It is a block schematic diagram which illustrated.   FIG. 30 illustrates the master stage associated with the local memory control module of circuit C. 2 is a schematic block diagram illustrating a port machine.   FIG. 31 shows the suspend mode control signal and the 32 KHz clock used by circuit C. FIG. 4 is a timing chart illustrating a relationship with a lock signal.   FIG. 32 is utilized by circuit C during suspend mode operation. 5 is a state diagram illustrating a refresh cycle.   FIG. 33 is a timing chart of the suspend mode refresh cycle. .   FIG. 34a is a timing diagram of an 8-bit DRAM access.   FIG. 34b is a timing diagram of a 16-bit DRAM access.   FIG. 34c is a timing diagram of the DRAM refresh cycle.   FIG. 35 illustrates a method of obtaining a real address from a circuit C to an external memory device. FIG.   FIG. 36 is a schematic diagram of a control circuit for recording and reproducing FIFO in the local memory. It is a block diagram.   FIG. 37 shows a local memory by the data stored in the system memory and the circuit C. FIG. 3 is a diagram illustrating a relationship with data interleaved in a memory.   FIG. 38 shows data of 8-bit and 16-bit sample sizes under the control of DMA. 9 is a table describing a transfer format.   FIG. 39 shows the system memory via the local memory control module of the circuit C. Illustrates a circuit that executes DMA data interleaved from FIG.   FIG. 40 is a schematic diagram illustrating a game port interface between an external device and a circuit C. It is a block diagram.   FIG. 41 illustrates the execution of a single bit for the game input / output port of circuit C. FIG.   FIG. 41a illustrates the detection of an input signal through the game port of circuit C. You.   FIG. 42 is a schematic block diagram illustrating a MIDI transmission / reception port for the circuit C. .   FIG. 43 is a schematic diagram illustrating the MIDI data format used by the circuit C. It is a block diagram.   FIG. 44 is a block diagram of various functional blocks for the CODEC module of the present invention. It is a lock schematic diagram.   FIG. 45 illustrates a preferred implementation for the left channel stereo mixer of the present invention. 2 is a schematic diagram of an embodiment.   FIG. 45a is a table of gain values and attenuation values.   FIG. 46 is a schematic diagram of a partial waveform showing signal discontinuity with respect to attenuation / gain change. is there.   FIG. 47 is a block diagram showing a zero detection circuit for removing "zipper" noise. You.   FIG. 48 is a block diagram showing a clock generation function in the present invention.   FIG. 49 is a block diagram of a serial data transfer function according to the present invention.   FIG. 49a is a block diagram of the serial transfer control block.   FIG. 50 illustrates the internal and external data paths, supported by the present invention. FIG. 2 is a block diagram showing connection at an interface with an external device.   FIG. 51 is a block diagram of the D / A converter block of the present invention.   FIG. 52 is a block diagram of a front end of a D / A converter block according to the present invention. It is.   FIGS. 53a-53f illustrate various stages of the DAC block, including the frequency response. It is a graph which shows an output.   FIG. 54 shows six output and frequency responses at various stages of the DAC block. It is a graph.   FIG. 55 is a schematic diagram showing one block of the interpolation circuit and phase 1 of FIG.   FIG. 56 is a schematic diagram showing one block of the interpolation circuit and phase 2 of FIG.   FIG. 57 is a schematic diagram showing two blocks of the interpolation circuit of FIG.   FIG. 58 is a graph of a frequency response in the interpolation circuit 2 block of FIG.   FIG. 59 is a graph showing in-band attenuation in the two blocks of the interpolation circuit of FIG. You.   FIG. 60 is a schematic diagram illustrating an embodiment of the interpolator 3 block of FIG. is there.   FIG. 61 is a schematic diagram showing another embodiment of the interpolation circuit 3 block of FIG. You.   FIG. 62a is a graph of the frequency response of the interpolator 3 block of FIG. 52. .   FIG. 62B is a graph showing the attenuation of the pass band in the interpolation circuit 3 block of FIG. 52. It is.   FIG. 63 is a schematic diagram showing the noise shaper (noise shaper) block of FIG. You.   FIG. 64 is a signal flow graph of the noise shaper block in FIG. (SFG).   FIG. 65 shows the number of poles and zero in the s plane in the noise shaper block of FIG. It is a graph.   FIG. 66 shows the magnitude of the transfer function in the noise shaper block of FIG. This is a graph.   FIG. 67 shows the number of poles and zero in the z plane in the noise shaper block of FIG. It is a graph.   FIG. 68 is a graph of the transfer function of the noise shaper filter of FIG.   FIG. 69 illustrates the ideal and achievable zero of the noise filter block of FIG. It is a graph.   FIG. 70 shows the noise transfer function 2 for the noise shaper block of FIG. 6 is a graph comparing two embodiments.   FIG. 71 shows transmission of noise and signals in the noise shaper block of FIG. It is a graph of a function.   FIG. 72 shows the phase and pass band in the noise shaper block of FIG. 52. 5 is a graph showing the magnitude of the signal transfer function of FIG.   FIG. 73 shows the group delay (seconds) in the noise shaper block of FIG. It is a graph of.   FIG. 74 illustrates constants in embodiments in the noise shaper block of FIG. 5 is a graph showing the attenuation / gain shape of the graph.   FIG. 75 illustrates one embodiment of the noise shaper block of FIG. Amax6 is a graph showing noise gain κ.   FIG. 76 shows g = −90 dB in the noise shaper block in FIG. 52. And is a grab representing one embodiment of noise gain κ versus bandwidth.   FIG. 77 is a graph showing the impulse response of the D / A FIR filter.   FIG. 78 is a graph showing the frequency response of the D / A FIR filter.   FIG. 79 is a schematic diagram showing one embodiment of the D / A conversion circuit of the present invention.   FIGS. 80 and 81 show another embodiment of a different D / A conversion circuit of the present invention. It is a schematic diagram.   FIG. 82 is a block diagram of the CODEC ADC of the present invention.   FIG. 83 is a block diagram of the front end of the CODEC ADC.   FIG. 84 shows the output of the sigma-delta (σ-δ) modulator for the ADC of the present invention. 4 is a graph showing a spectrum range and a phase.   FIG. 85 is a graph showing in detail the output spectrum of the sigma-delta (σ-δ) modulator. It is rough.   FIG. 86 is a graph illustrating the output spectrum of the synchronous 6 decimal 1 filter output. You.   FIG. 87 is a graph illustrating the output spectrum of the half-band decimal two filter output. You.   FIG. 88 is a graph illustrating the output spectrum of the 16-bit decimal 3 filter output. It is.   FIG. 89 is a block diagram of the decimal 1 filter.   FIG. 90 is a graph illustrating the frequency response of the decimal 1 filter.   FIG. 91 is a graph illustrating the detailed frequency response of the decimal 1 filter.   FIG. 92 is a block diagram of a direct form of a half-band decimal two filter.   FIG. 93 is a block diagram of a substituted form of the half-band decimal two filter.   FIG. 94 is a graph illustrating the frequency response of a decimal two filter.   FIG. 95 is a graph of the detailed frequency response of the decimal 2 filter.   FIG. 96 is a block diagram of a compensation filter of a CODEC D / A conversion circuit. It is.   FIG. 97 is a graph illustrating the frequency response of the Decimal 3 filter.   FIG. 98 is a graph illustrating the detailed frequency response of the Decimal 3 filter.   FIG. 99 is a graph illustrating the frequency response of the compensation circuit (uncompensated).   FIG. 100 is a graph illustrating the full frequency response of the in-passband compensation circuit (not shown). compensation).   FIG. 101 is a graph illustrating the total frequency response for the compensation circuit in the passband. Yes (compensated).   FIG. 102 is a block diagram of the synthesizer module of the present invention.   FIG. 103 is a signal flow diagram in the synthesizer module of the present invention.   FIGS. 104a-104f illustrate the addressing of the synthesizer module of the present invention. 6 is a graph illustrating a data designation control option.   FIGS. 105a-105e show the volume in the synthesizer module of the present invention. Fig. 4 is a graph illustrating a team control option.   106a-106b illustrate the low frequency required for the synthesizer module of the present invention. It is a graph of an oscillator waveform.   FIG. 107 shows an address control for the synthesizer module of the present invention. FIG.   FIGS. 108a-108b illustrate the operations performed by the address controller of FIG. FIG. 5 is a timing chart of a perlation.   FIG. 109 shows the volume control of the synthesizer module of the present invention. FIG.   FIG. 110 shows the operation performed by the volume controller of FIG. FIG.   FIG. 111 is a view showing a configuration of a register array for the synthesizer module of the present invention. FIG.   FIG. 112 is a timing diagram showing the operation of the register array shown in FIG. 111. FIG.   FIG. 113 shows a volume control circuit for the synthesizer module of the present invention. FIG. 2 is an overall configuration diagram.   FIG. 114a is a logic diagram of the comparison circuit shown in FIG. 113.   FIG. 114b is a timing diagram of the operation of the comparison circuit of FIG. 114a. It is.   FIG. 115 shows the configuration of the LFO generator for the synthesizer module of the present invention. FIG.   FIG. 116 is a configuration diagram of a signal path for the synthesizer module of the present invention. is there.   FIG. 117 is a timing chart showing operations performed by the signal path shown in FIG. 116. FIG.   FIG. 118 shows the accumulation of the synthesizer module of the present invention. It is a block diagram of a logic.   FIG. 119 shows an operation performed by the accumulation logic of FIG. 118. FIG. 6 is a timing chart of the operation.   FIG. 120 illustrates the operations performed by the synthesizer module of the present invention. FIG. 4 is a timing chart of the entire operation. The following figures are based on D-5733: Make a copy of these two figures. When:   FIG. 1 is a functional block diagram of the sigma-delta modulator of the present invention.   FIG. 2 is a schematic diagram of a sigma-delta modulator of the present invention.                         Description of the preferred embodiment   The following description describes a preferred embodiment of a monolithic PC audio circuit. I will tell. The description includes system architecture, implementation, power management, system control, Includes timing and memory interfacing and execution of key details. I will. Various optional circuits suitable for use with the present invention are disclosed in U.S. Pat. The content of each is disclosed in this document as a reference. Clock drive An alternative approach to reducing power consumption by dynamic circuits is disclosed in US patent application Ser. No. 07/918. 622, “Clock Generation Capable of Shut Down Mode and Clock” Generation Method "and assigned to the common assignee of the present invention. A statement that a single bit state in the register or field is desired to affect A preferred method and apparatus for performing such a single bit operation throughout the text is No. 08 / 171,311, filed on Feb. 21, 1993. Issue 3 is “Method and Apparatus for Modifying the Contents of a Register Vi a a Command Bit ", assigned to the common assignee of the present invention.   There are various references to timers, gate controls, and other control logic. Throughout the text, unless otherwise stated, obtain specific implementation details for appropriate logic circuits. And it may be difficult. Computer aided theory applied to VLSI logic circuit design Given the current state of the art, such as physical design and layout techniques, In other words, implementation details are considered trivial.   In view of the state of the art, such details apply to VLSI circuit purposes. Selectable, programmable logic arrays or blocks based on standard logic circuits It is executed according to. For example, a timer may generate a clock signal derived from an external oscillator signal. It can be easily implemented by giving the signal to an appropriate logic circuit. 80 microseconds The lock signal is obtained by dividing the 16.9 MHz oscillator signal by 1344. Can be The status of various data held in the register in the circuit C The generation of the corresponding control signal is simple, blocking the control input or an array of gate circuits. To satisfy the desired input / output or truth table requirements. Yes. Accordingly, those details which did not regard the claimed invention as important are But also not obtained, but this is clearly not a normal technical level This is because a person skilled in the art is familiar with the range. I. Architecture overview   FIG. 1 will be described. Outline of the architecture of the basic module of circuit C It is important. Circuit C has five basic modules. That is, the system control mode Module 2, coder / decoder (CODEC) module 4, synthesizer module Module 6, local memory control module 8, MIDI and game port module Le It is 10. These modules are formed on a monolithic integrated circuit. Les The register data bus 12 is connected between the modules and between the circuit C and the system bus interface. Data can be exchanged with the source 14. The timing of circuit C The control is provided by a logic circuit in the system control module 2. Is fed by one or two oscillators 16, 18 at the request of the particular system Operates in response to a clock signal. Control of circuit C is usually contained in module 2 Is determined by the logic circuit to be implemented, and then the logic circuit is installed in the circuit C. It is controlled by various registers and ports.   FIG. 1 is a functional block diagram, and the actual layout used in the embodiment of the integrated circuit is shown in FIG. It does not correspond directly. Those that facilitate the functions specified or specified in FIG. Seed circuits, interconnects, registers, etc. may be provided as needed and dictated by the manufacturing process, For convenience and other reasons known to those skilled in the art, the It is. The circuit of the present invention is fully assembled using conventional assembly techniques known in the art. You. The circuit according to the invention is a 160 pin plastic quadrilateral flat pack (PQ FP) is packed by the method described later.   A.Actual layout features and noise reduction.   The actual layout of various modules and the pin arrangement device are designed, The present invention was able to isolate the circuit and I / O section from the noisy digital circuit and pins. It is a feature of. FIG. 2 will be described. Various parts of the circuit C and places in the module An example of the desired actual layout relationship is shown schematically. Trigger in analog form in digital form In order to minimize the noise generated, the most sensitive element of the circuit C, For example, the elements related to the analog side of CODEC, especially Digital local memory control module and synthesizer module almost opposite Placed near the edge of the side circuit.   To further isolate noise induced in digital form in analog circuitry, Connect the pin arrangement device of the device to the analog mixer input / output pin From the most noisy digital output pin and clock input located in 2 Isolate just to move. In addition, the most affected pin groups 20 It is located on the side near the low noise input in regions 26 and 28. Representative pi The pin assignments are shown in Figure 3 and the pin names correspond to industry standard designations. . These industry standard designations include the ISA Plug and Play standard, version 1.0, available from Microsoft Corporation, May 28, 1993 And the industry standard ISA bus standard AT Bus Design (author Edward d Solari, Published Annabooks, San Diego California state. ISBM 0-929392-08-6). Content incorporated herein by reference It is. Alternate pin assignments are recorded in Figure 3a and include the desired physical relationship among the various modules. Entrance is being held.   The present invention is based on existing standard or well-known hardware software, for example, ISA Plug and Play Standard, Adlib, Sound Blaster And compatibility with Graves Forte ultrasound applications ISA, PNP, Adlib, GUS, etc. References to some signals and register abbreviations in the Relevant for compatible configurations. The # symbol following the signal abbreviation or bit status indicator is , Note that they are "active low" .   According to FIG. 3, the analog pin generally includes a plurality of analog power supplies (AVCC). 96 to 113 pins, including ground and AVSS pins . The noise reduction feature of the present invention is a separate SS for most individual analog pins. And VCC pins. Pins 82-95 and 114 are Fewer input pins. Other layout features include an external oscillator pin XTALI 1 [I, Q] and XTAL2 [I, Q] are connected to the clock block of the system control module. To place it near the rack. This system control module clock block The clock must also be placed near the CODEC clock block 30. circuit All 16.9 MHz clocks used in C minimize distortion between them It is important that it be performed. Minimizing internal clock distortion It is as important for timing purposes as it is for noise reduction in current circuits.   Analog sampling and digital circuits by minimizing analog signal noise It is a feature of the present invention to ensure that its activities are clocked independently. Like In a preferred embodiment, separate analog clock signals having different frequencies and Digital clock signals are provided from a common oscillator. Analog clock signal Are not derived from digital and vice versa, so there is a fixed place between the two There is no relation. In addition, some overlap of digital and analog clock driven events An analog clock distortion circuit is provided to reduce the likelihood of confusion.   According to FIG. 5, further explanation of the pin assignment according to the general function group is provided. U. These pins associated with the system control module 2 are abbreviated and identified under the title. Listed using the number of components. Similarly, CODEC, local memory and port, And the pins associated with miscellaneous functions also appear under their titles, respectively. here Note that the same is true throughout this specification, except that the "CD" pin or CD D References to functions such as RQ usually specify the function of the pin associated with the external device EX It should be considered the same as "EX" such as DRQ.   B.Typical system implementation.   Referring to FIG. The figure includes related circuits, buses, and interconnections. A PC audio circuit C having a model full function is described. The configuration in FIG. Circuit C illustrates all available RAs to illustrate the use in PC audio cards M and EPROM resources for full compatibility with the ISA Plug and Play specification Flights are available.   In FIG. 6, a circuit C includes a system bus interface module 14 and And host via industry standard AT / ISA system control, address and data connections. Interface to the strike computer system. These include: It is. That is, system data (SD), system address (SA), system Byte high enable (SBHE), interrupt requests (IRQs), input / Output channel check (IOCHCK), direct memory access request ( DRQ) and acknowledge response (DAK), input / output read (IOR), input / output write (IOW), reset, address enabled (AEN), terminal count (T C), input / output channel ready (CHRDY), input / output chip selection 16 (IO CS16). With these connections, a standard is provided between the circuit C and the host computer system. Standard communication and control functions are possible.   In a standard embodiment, the following input / output lines and associated circuitry and / or equipment The class is interfaced to the CODEC module 4. This equipment is The quasi jack 42 is used for four sets of stereo input and an external stereo amplifier 46 and For stereo analog output (line out L, R) 44 with jack 48 Done. Via monaural microphone / amplifier input 50 and external amplifier 54 A mono output 52 is provided. By providing an external capacitor and a resistor circuit 56, To derive the reference bias current for various internal circuits, and To provide a ration capacitor. Programmable registers A controlled general purpose digital 2-bit flag output 60 is provided to provide some Used for application requests. The game / MIDI port 62 has 4 bits G. Game input terminal 65, 4-bit game output terminal 66, and MIDI transmission / reception A bi-directional interface 68 is included.   The system control external connection includes a 16.9344 MHz and 24.576 MHz clock. There are clocks 16, 18, and 32 KHz clock or suspend input 70. Said entry Force 70 is used for memory refreshing and power saving, and Multiplexed with other signals as detailed elsewhere in this section.   The interface of the local memory control module 8 has a frame synchronization (FR SYNC) and an effect (EFFECT) output 72 are included. Provide a synchronous clock pulse at the beginning of each frame of the raw cycle and additional special Optional external digital signal processing equipment used to provide effects and other DSP functions Used to provide access to the device 74.   The plug and play chip select 76 is disabled during system initialization. Section EPROM 78 provides configuration data for 3-bit data bus 80 It can be so. Data between the local memory control module 8 and the external memory device For communication of data and addresses, an external 8-bit data bus 82 and an 8-bit address bus are used. S 84 is possible.   The ROM chip selection 83 and the 2-bit ROM address output 85 are four Used to address one of the byte x 16 bit EPROMs 86. This EPROM 86, as described elsewhere herein, contains external data. It is provided for storing a command sequence. EPROM 86 is a ram column One of four signals multiplexed by the address strobe 90. Interfacing with circuit C via 4-bit output enable 88 to save resources save. One aspect of EPROM 86 addressing is a 3-bit real Provided by address input 92. The address signal on line 92 is Row and column address bits multiplexed for the given DRAM cycle on input 94. Multiplexed. Pin 96 (MD [7:01]) of circuit C is This is a two-way data bus, which is a data bus for DRAM cycles. Via the data [7: 0] line 98. Pin 96 is at E during the ROM cycle. As real address bits 18:11 for PROM 86 and for circuit C Multiplexed as input data bits 7: 0 (half of RD 15: 0). E The data communication from the PROM 86 is performed by the 8-bit buses 82 and 84 during the ROM cycle. 16-bit data output 100 (RD [RD [ 15: 0]). EPROM data input is performed during the ROM cycle. It is transmitted on a bidirectional line 96 and a bidirectional line 102 (RD [15: 8]). Line 102 is also occupied by eight bits during the multiplex ROM address and data transfer cycle. Addressing of the read ROM (RLA [10: 3]). Many lines 102 Row and column address bits during the DRAM cycle (MA [10: 3]) give.   Output 104 is a ROM address holding signal, which is output during circuit ROM access by circuit C. , Outputs 96 and 102, buses 82 and 84, and 16-bit address input line 10 6 is used to latch the state of the 16-bit ROM address obtained by step 6. 1 The 6-bit latch 108 latches the ROM address in response to the ROM address holding signal. It is provided for touching.   Circuit C contains up to four 4 megabyte x 8 bit memories used for local data storage. It supports the DRAMS110 of the Internet. Circuit C consists of the two 8-bits described above. Via various address, data and control lines maintained by buses 84 and 86. To interface with the DRAMS110. Row address strobe is R Obtained by AS output pin 112. The output 112 is the RA of each DRAM circuit 110. Provided directly at the S input. For clarity, in FIG. 6, the output 112 is also A writable (WE) output provided to a writable input of each DRAM circuit 110 It is shown as providing a control signal. In a preferred embodiment, it is writable. The active outputs are supplied from circuit C to separate output pins (see FIG. 3). DRAM power The RAM address strobe (CAS [3: 0]) causes B It is provided via the KSEL [3: 0] output pins 114. 3-bit DRAM row And column addressing are performed via output 116 for an additional eight address The DRAM size is determined by the bidirectional pin 102, bus 84 and DRAM input 118. It is multiplexed between cars. Overview of all local memory interface terminals Are listed in FIG.   FIG. 6 will be described again. Circuit C has seven interrupt channels 130 From which you can select up to three interrupts. In a preferred embodiment, Two interrupts are used for audio functions, the third interrupt is CD-ROM, or Or used for other external devices. Also, on line 130 (a group of 8 lines) ISA standard IOCHCK output is displayed and non-maskable interrupt by circuit C Is generated for the host CPU.   The circuit of the present invention is compatible with Sound Blaster and AdLib applications. General compatibility with other options. Memory-resident driver under MS-DOS -To run the sequence, make the host CPU active and compatible You have to get Such a driver sequence is an ultrasonic And sound board operating system (SBOS) It is. The application software usually executes commands in the game, circuit C, The register specified as the Sound Blaster or AdLib register When sending to the master, circuit C captures it and processes it using the IOCHK pin. Suspend Sessa. The non-maskable interrupt part of the SBOS driver Read access by Sound Blaster or AdLib function Perform software emulation.   Circuit C also provides six DMA channels 136 and a DMA acknowledge response line 138. From which three DMA functions can be selected. The three DMA functions include File file transfer and system memory transfer, wave file playback transfer, external DMA channels required by the CD-ROM interface are included. B Usefulness of local memory DRAM 110 and pre-emption of data register in DRAM The first-out facility is provided for the wave file DMA function as described below. The need for a wave file DMA channel in some cases. It can be completely eliminated.   Referring to FIG. 6, in a system including a compact disk drive For use, circuit C provides the necessary signals or hooks to provide an external CD interface. Facilitates the use of external PNPs such as source 125. Circuit C has an external interface Separate interrupt request and direct address request Supply. In a preferred embodiment, separate input pins (see FIG. 3) are provided. Have been. By the circuit C, the chip selection of the external device and the output of the DMA approval response are performed by the circuit C. The output supplied via a separate output pin (FIG. 3), shown collectively by line 126 in FIG. Data exchange between the path C and the external device drive is based on the ISA standard 16-bit bidirectional data. This is realized via the tabus 128. II. Register and address assignment   Generally, circuit C is a register control circuit where various logic operations and Alternate modes of operation and different bits stored in different registers Or the state of the bit group. Complete description and definition of registers And related functions are described in charts and other places. I will clarify. Circuit C also includes several blocks of input / output address space. , Especially including 5 fixed addresses and 7 relocatable blocks for addresses . In the description of registers here, register simple storage is based on the following rules based on. That is,   1. For the first character, specify the area or module to which the register belongs The code is attached. That is,     I (for interface) = system control,     G (for game) = MIDI and joystick,     S = synthesizer,     L = local memory control,     C = CODEC (code decoding module),     R = CD-ROM,     U (super audible sound) = Gus, sound blaster (sound                                     Blaster), AbLib compatible,     P = Plug and Play ISA   2. Intermediate second through fourth characters describe register function .   3. The last character is R for direct register, (register array with index P for a port (to access the I / O) or I for an indirect register Either.   A.Relocatable address block.   Table 1 below shows the seven monolithic address blocks included in the circuit C. refer. Therefore, PNP stands for Plug and Play, an industry standard. -N-Play) specification.   B.Overview of direct addresses.   Circuit C has eight functional groups that use programmable registers . The state of the programmable register is implemented by the host CPU system Follow the control according to the command. Eight functional groups and their associated direct addresses Are listed in Table 2 below. For plug and play registers Two of the addresses are 12 bits of the ISA address bus (SA [11: 0]). Decrypted. The remaining address is the first 10 bits (SA [9: 0]) Is decrypted.   See Figure for a complete list of all I / O programmable registers and ports 8 to 10. There, all address numbers are represented in hexadecimal You. The index value gives an alternative function address using one common base address. I can.   C.External decode mode.   In addition to the 10 and 12 bit address space used for internal I / O maps, Path C also provides an optional external decode mode. There are four systems Implemented as address bits (SA [3: 0], FIGS. 3 and 6) and SA [5,4]. Two chip select signals address the registers in circuit C. This mode Is the state of the address pin RA [20] at the fall of the system reset signal. Selected by state.   Address pin RA [20] goes low at the falling edge of the system reset signal. In the case of, normal decoding of the input / output address is executed. At this time, the system Address inputs SA [11: 0] are used to address all registers in circuit C. Set. Address pin RA [20] is on the falling edge of system reset signal If high, external decoding is performed as follows. That is, This multiplexing is provided in the manner discussed below with respect to other multiplexing pins and functions. Can be   The table below shows how directly addressed registers are in external decode mode. Indicates whether the port is accessed. Indexed registers are directly Internal decode except that the address is changed to the address shown in Table 3 below. It is accessed in the same way as in mode (see register table below).   D.DMA access.   First in first out (FIFO) address defined as multiple registers in circuit C The data space is accessible via a DMA read / write cycle. these Are listed in the table below. However, here, LMC and CODEC are Represents a module in the circuit C in which such a register or FIFO exists. That is, However, in Table 4 above, the DMA group is a register definition word and is an ISA standard. It does not indicate the quasi-DMA channel or the number of request acknowledgments.   The external decode mode is used in a system that does not support PNP, Provides access to internal registers and ports via decode logic.   E. FIG.Multiplexing terminal.   To conserve resources, the ROM / DROM multiplexed address and the data In addition to data transfer pins, some groups of external terminals or pins may be replaced. Are multiplexed between the switching functions. 4 of those groups Is the reset signal that occurs at power-up or when resetting another system. Multiplexed based on the state of the external pin with respect to the falling edge of   Referring to FIG. 11, in one state, suspend # and C32KHZ FRSYNC # and EFFE in different states with pins 139 and 140 corresponding to inputs It is desirable to multiplex with CT # output. Machines that are fulfilled by these signals Noh will be explained elsewhere. In the circuit C, the rising of the reset signal By sensing the state of terminal RA [21] (see FIG. 6) on the descent, These pairs of pins are multiplexed. Pull up on RA [21] pin By providing a resistance or not providing such resistance , The D input to the latch 144 can be set to a lower value or an upper value. is there. The latch 144 is synchronized with the fall of the reset signal, To provide the corresponding lower or upper value. This latch output is 4 It is provided to a multiplexing circuit 146 of the pair 2. Multiplexer 146 has a Q output Power Pins 139 and 140 attached to SUSPEND # and C32KHZ function when Let it. On the other hand, when the Q output is lower, pins 139 and 140 are connected to EFFECT # and FR Attached to the SYNC # output function.   Plug-and-play compatible expansion card mode and system board mode Multiplexing or selecting between the input pin PNPCS at the falling edge of the reset signal. Is provided in a similar manner by latching the state of By lower value Select the plug and play mode, and set the system board mode according to the higher value. Select the code. This choice is for systems where the circuit C is plug and play compatible Used on a system board, plug-and-play It depends on whether it is used in an incompatible system.   An overview of the pins that are multiplexed based on the mode selected during reset is given below. Provided in Table 5.   To further save resources and use circuit C, compact disk control and system Real port synchronization, external digital signal processing circuit or other external serial Related to the clock and data transfer used when the Multiplexing between external pins. This is described in the following description of the CODEC module. This will be described in more detail.   Referring to FIG. 6, a CD-ROM drive in the system control module Control of external devices such as EX IRQ # (interrupt request), EX DR Q # (DMA request), EX DAK # (authorization response) and CD CS # (chip Selection) via a pin. These four pins are shown in FIG. And 126 are schematically depicted. Circuit C is in serial transfer mode (the following When working in these (detailed in the description of the CODEC), these four Multiplexing of the external device control pins in the state of bit 7 of the register ICMPTI Therefore, it is controlled. When ICMPTI [7] is higher, the external serial transfer mode Is possible. In that case, the external device control pins are multiplexed as follows . That is,   The above ESSYNC, ESPCLK, ESPDIN, and ESPDOUT machines Function corresponds to the synchronization pulse, clock, input data, and output data, respectively. You.   The table below shows all the pins of circuit C classified by input / output pin type. Shown below. That is, III. System control module   A.System control function.   As shown in FIG. 1, the system control module 2 includes a large number of registers and compatible logic. Logic, Plug-n-Play ISA implementation logic, interrupts, DMA channels Various controls such as clock selection logic, clock, reset, test logic, etc. Includes file functions. The system control module 2 is shown in detail in FIG. ing.   As shown in FIG. 12, the system control module 2 has a system bus interface. Source block 150, industry software compatible logic block 152, interrupt And DMA channel selection logic block 154, Plug-n-Play Gic block 153, register data bus 12, various logic / timing Block 158 is included. Generally, the system control module has an operation mode, Various registers to help change power consumption levels and other control functions In addition to enabling responses to retained control functions, various The function of the circuit C is controlled according to the timing, and the signal is controlled.     1. System bus interface.   The system bus interface 150 is a processor bus 156 controlled by a processor. And the hardware ink between the various modules of circuit C and the various parts of the circuit. provide. Circuit C is completely compatible with Plug-n-Play ISA system bus specification. Designed to be compatible. Plug-n-Play ISA specifications are System configuration data is stored to provide configuration data to the Requires an interface to a serial EEPROM that can be used during system initialization Wanting. The system bus interface is an ISA bus specification ISA. Must also conform to parts. These two specifications are industry standards, Widely used.   The ISA bus interface 150 is connected to the 24, 12 or 3.2 in the 5V mode. An interface with a 16-bit data bus with any of the milliamp drive functions Interface compatibility. Power-on default value is 24 mA It is. In output mode, the data bus is edge rate controlled and The delay is manually skewed, reducing ground bounce effects.   Further, the ISA bus interface 150 is connected to a 12-bit address bus. Interface and two audios selected from the seven interrupt request lines 130 Also provides support for interrupts and one CD-ROM or external device interrupt You. IOCHK for generating a non-maskable interrupt to the host CPU It also supports the use of signals.   The interface 150 includes six sets of DMA lines 136 and corresponding D lines. Also provides support for three DMA channels selected from MA acknowledge line 138 . According to the ISA DMA specification, the available channels are 0, 1, 3, 5, 7 (Channels 0, 1, and 3 are 8-bit DMA channels; 7 is a 16-bit channel). The three DMA functions supported are: It is as follows. Wave file record transfer and system memory transfer, File file transfer, required by CD-ROM or external device interface DMA channel. Although they cannot be used at the same time, both recording and playback A mode is also provided in which functions can be mapped to the same DMA channel.     2. Register data bus.   Data distribution between the ISA bus and the circuit C is performed using the register data bus 12. Will be The register data bus 12 is provided through a system bus input / output and a circuit C. Facilitates DMA access to provided registers. As shown in FIG. The register data bus is connected to the synthesizer via the bidirectional data bus transceiver 160. Iser register 162, local memory control register 164, system control register 166, MIDI and game port, register 168, CODEC register It interfaces with 170. The purpose and function of these registers This is described in detail in the textbook. The register data bus 12 and I shown in FIG. Both between the ISA data bus 172 which is the data part of the SA system bus 156 A data bus transceiver 160 is also provided. In addition, details in this specification As described in detail, the register data bus provides various local memory 173, 174, 175 and CODEC FIFO 176, 178 Take a source   The circuit C converts an 8-bit or 16-bit data to and from the system data bus. Supports sending. In case of I / O access from ISA data bus, The alignment of data with the data bus is the least significant of the ISA address bus. Defined by bits. These are SA [O] and S, as shown in FIG. Recognized as BHE #. These two buses are connected as shown in Table VI below. For access to other than the typical input / output data port (18 / 16DP) Is executed. That is,   Note that any eight bits are passed to the second half of register data bus 12. ISA Using the conditions of SA [0] and SBHE #, which are not allowed in the bus specification, Specifies high byte access from the default card. For 8-bit cards, the card Designer pulls the SBHE # bit high.   FIG. 14 illustrates the details of the register data bus control. cash register The star data bus 12 includes two 8-bit buses 180 and 182. . The low byte bus 182 uses a data bus transceiver 184 to transmit system data. Interface with the low byte of the data bus 128 (see FIG. 6). Hi-by G Bus 180 interfaces with the high byte of system data bus 128 . Controlled bus driver 186 responds to control / decode logic 190 Then, data is transferred between the buses 182 and 180, and the data specified in the table above is transferred. Perform data conversion. The control logic 190 controls the inputs SBHE # and SA [0 ] In response to a control signal via lines 192, 194, 196, 198, 200. Create a signal and perform the data transformations described in the preceding table.   Until the high byte, which provides 16-bit I / O access, becomes active, An 8-bit latch 202 for latching byte data is provided. Controlled The driver 204 responds to a control signal from the control / decode logic 190. In response, a low byte and high byte simultaneous I / O access is executed.   Control logic 190 also enables read / write access, respectively. , ISA bus signals IOR # and IOW #. Shown on lines 208 and 210 As with the input signals shown, these inputs are shown as signal lines 206. As such, they are provided at individual pins to circuit C. Control of logic circuits 190 and 212 The PNP data transfer under control involves the bus 182 and the controlled bidirectional transceiver 214 Provided using PNP logic functions and registers are described in detail in this document. It is explained in detail. The control / decode logic 190 is an industry standard ISA system. Provides system bus interface control and address decoding, as described above. It can be implemented by the usual appropriate method of implementing a data processing protocol. Likewise , PNP logic circuit 212 provides an interface that is compliant with industry standard PNP Can be implemented by ordinary circuits.   The control / decode logic 190 performs normal handshake, decode, Provides an interface circuit to interface with industry standard ISA system bust I take the.   Access to all PNP registers uses an odd 8-bit address. IO CS16 # is not asserted for these accesses, so the CS16 # 8 bits are used. This corresponds to the lower 8 bits of the register data bus. Handed over to each other. IOCS16 # is an industry standard declared through an external pinout (See FIG. 6).   I8DP at P3XR + 5 and I16DP at P3XR + (4-5) Used to access 8-bit and 16-bit index registers included in path C It is. I16DP is a port of circuit C that allows 16-bit I / O access. I can't do it. ISCS16 # provides all access to these general data ports. Expressed in The general I / O data port address is translated as follows: You. That is,   The system bus interface 150 has two 8-bit 16-bit I / O divided into write (first even byte, then odd byte) Responsible for writing conversion. In this case, the even byte write is Latched, and through the second half of the register data bus during subsequent odd byte writes. Provided. The register data bus provides an even 8-bit I Provides last latched in / O write.   In the case of DMA access, the data width depends on the DMA channel used as follows. Is determined by That is,   When reading 8-bit DMA and I / O, the ISA data bus 128 The appropriate byte is driven. Other bytes are not driven, high impedance It remains.   The voltage of the register data bus will be in the transition region when not driven. In order to ensure that no ー Dobak inverter ("keeper" circuit or "sticky bit" circuit) It must be noted that they are offered. This circuit reduces the float of the node voltage. Provide a weak feedback path to prevent.   Considerations for ISA data bus drives.When the data bus is driven In order to reduce the required peak return current, three special There is an ISA data bus design. First, the output drive capacitor is programmable Selectable between 24, 12 or 3.2 mA via register (When VCC is 5V). Second, an output buffer that slows down the edge rate There is a built-in special current limiting circuit. This circuit is a PC Net ISA chip It is implemented in the same way that 79C960 / 1 uses. Third, FIG. As shown in FIG. 3A, the data bus has a small number of groups each skewed from the other. Are divided into groups.     3. Register data bus I / O decode.   The address space to be decoded contains 7 relocatable blocks and 4 There are non-relocatable blocks. The details are as follows. That is,   The notation PPWRI [SD] in the above table is used for writing I / O to PPWRI. This indicates that the circuit C is started in the shutdown mode.   2XX and 3XX decoding are further divided as follows. That is,   AEN.The previous decoding is enabled only when AEN is low.   IOR and IOW.Along with the previous decode, the SBI 150 Provides IOR and IOW. Assumed when interfacing to these signals The worst ISA bus timing that must be shown is shown in FIG. This figure is Access to one addressable 16-bit port in the IC Note that only the fastest I / O cycle occurs (P 3XR = (4-5)). All other ports are much slower 8-bit timing (IOCS 16 # is not activated). IOR # and IOW # Remains active for about 530 nanoseconds in an 8-bit I / O cycle .   IOCHRDY control.Access from PSXR + 2 to PSXR + 7 Only by deactivating IOCHRDY, the ISA bus I / O The cycle can be extended. All P2XR, port, CODEC, Plug-n -Access to the Play ISA register does not extend the cycle. Registers that can extend the cycle (including 46 registers pointed to by IGIDXR) In the case of a star, the following categories exist. That is,   Buffered I / O writes are important because the CPU can continue without waiting . However, if not handled properly, the order in which I / O cycles are handled Problems can arise. For example, buffered I to local memory Immediately after the / O write, the write to the local memory I / O address register Cause writes to local memory to be sent to the wrong address . This problem can delay access to circuit C while buffered I / O writing is in progress. Is handled by letting As shown in FIG. 16, IIOR #, IIOW # , IBOWIP # are internal signals. IIOR # and IIOW # are IBIO WIP # (buffered I / O write) became inactive and triggered Becomes active when the previous buffered write is completed. IIOR # and IIO W # is not gate-controlled by IBOWIP # during the DMA cycle. Note that.   A register called a buffered register that allows buffered I / O writing is , Synthesizer audio specific register, IGIDXR = 51h, local memory system Control (LMC) 16-bit access register IGIDXR = 51h, LMC byte This is the data register LMBDR. I / O write to any of these registers Automatically, IBOWIP # becomes active and IOCHRDY Becomes inactive at the next I / O access to the circuit C. Any buffered cash register By reading the I / O to the host, the logic (1) (IBIOWIP # is activated) Deactivated IOCHRDY (whether or not active), and (2) IBI When OWIP # is active, it becomes inactive and IOCHRDY becomes inactive. (3) Wait for read data to become available on the ISA bus, (4) Allow IOCHRDY to become active. At this point, The cycle is completed like a cycle.   Control of IGIDXR.IGIDXR is in auto increment mode (S VSR), IGIDXR writes 8-bit data to P3XR-5. Or the fall of either 16-bit write to P3XR + (4-5) Increment by If the write is to a buffered port , IGIDXR are incremented after the falling edge of IBOWIP #.     4. Compatibility with existing game cards.   The system control module 2 is compatible with existing game card software. Have the necessary logic and registers to do so. Circuit C is in native mode U ltrasound, MPU-401, Sound Blaster, AdLi Compatible with software written for b. Logic circuits and tags for compatibility The image is generally designated as block 152 in FIG. This includes: Features are included. (I) Register described in the register description section of this document (Ii) 80 microsecond resolution and 320 microsecond resolution (Iii) two general purpose registers, (iv) MPU-40 1 Status emulation flag and control register.       a.AdLib timer 1 and AdLib timer 2.AdLib timer 1 8-bit preloader that increments to 0FFh before generating an interrupt It is a bull counter. Clocked by 80 microsecond clock Have been. AdLib timer 2 uses a 320 microsecond clock Same as 80 microsecond timer except that it is clocked The same. At the next clock after reaching 0FFh, the interrupt becomes active, It is reloaded by its program values (UAT1I and UAT21). Interrupt Only cleared and enabled by UASBCI [4]. Which Thailand Also change the 1MHz clock to run off by UASBCI [4]. Can be These timers are UADR [STRT1] and UADR [STRT1]. [STR2] enables it.       b.Auto timer mode.By writing to UASBC [0], Road C can be in auto timer mode. This mode is used for AdLib Used to emulate hardware. UAS for auto timer mode By reading the RR, the status of various flags, not UASWR, can be known. Oh When UACWR is set to 04h in timer mode, the following changes occur. You. (1) Writing to UADR does not cause an interrupt. (2) Writing to UADR Writes are not latched in registers readable from that same address , (3) Writing to UADR is related to control of AdLib timer Various flags are latched into registers that drive out.       c.General purpose register.The logic block 152 is also an MPU-401 emulator. Used to support other emulation software It has an 8-bit general purpose register. UGP11 and UGP21 general purpose registry ISA1 through UGPA1I, UGPA2I, ICMPTI [3: 0] It can be located anywhere in the 0-bit I / O address space. In fact, each Registers are the registers that are read for the application and the 2 shows two registers, one of which is written by a different option. register Is written (by the application) at the emulation address, The register is enabled and generates an interrupt. This register will be Using the backdoor access position on the hidden register data port (UHRDP) , Read (by the emulation software that received the interrupt) . Writing to this same backdoor location leads to a read operation The general register is updated. The outline of this emulation protocol is shown in FIG. It was shown to.       d.MPU-401 emulation.MPU-41 emulation Some controls have been added to the general purpose registers for support. MPU- The 401 emulation TSR is an application (generally game software). It is assumed that it is being executed in parallel with a). Matches MPU-401 card Emulation addresses (UGPA1I, UGPA2I, ICM PTI [3: 0]) is set to match the MIDI UART address. Wear. The two UART addresses indicate that the received / transmitted data is transmitted via P3XOR + 0 Accessed, control / status data is transmitted via IVERI [M401] Can be swapped to be accessed. Application to general-purpose registers Writing an application causes an interrupt (such as an NMI). Emu The translation software catches this interrupt and triggers a backdoor (UHRDP). To read the data in the emulation register and learn how to control the synthesizer. Use to Also, the application can be driven by the same interrupt, MP As with the U-401 card, the MIDI command is Also sent to UART.   FIG. 16b shows the accessibility of the application and the emulation TSR. FIG. 3 is a schematic block diagram showing the same. IEMUAI and IEMUBI emulation The switch symbol controlled by the control register is enabled.   MPU-401 status emulation.Read by UBPA1I Possible two MPU-401 status bits, DRR # (Data Rec eave Ready, bit 6) and DSR # (Data Send Re) ady, bit 7) is created. The initial meaning of these bits is It is as follows. DRR # indicates that the host (CPU) has a new command or data buffer. Active (low) when a site can be sent to the UART. DSR # Is active when there is data available in the UART's receive data register. -) The names of these bits are not MPU-400 hardware, but CPU. Note that this is taken from a hardware perspective. Read and emulate these bits The data actually written to the application register is from IEMUBI [5: 4]. It is what came.   Emulation address (ICMPTI [3: 0], UGPAIL, U GPA2I), writing to any of the emulation registers Then, if writing to that register is enabled, DRR # Set to inactive (high) by hardware. Backdoor (UHRDP) The state of this flag is also updated by writing to UGP1I [6] using. This bit defaults high on reset.   Use emulation address (ICMPT1 [3: 2], UGPA2I) DSR # is deactivated by hardware if there is one UGP2I read (High). To UGP1I [7] via backdoor (UHRDP) This flag is also updated by writing. This bit is reset Defaults to low at default.     5. Plug-n-Play logic.   The system control module 2 is a Plug-n-Play of Microsoft. It has the necessary registers and logic to implement ISA (PNP). circuit Within the C PNP block are several state machines (see description below). ), 16.9 MHz. Some use a clock obtained from an oscillator.   Circuit C has two PNP-compliant logic devices. AUDIO Functional Theory Processing devices include synthesizers, CODECs, ports, etc. Circuit C. External functions, ie, CD-ROM logical devices, Only tied to function.       a.PNP I / O ports and registers.In support of PNP, Path C provides a number of dedicated registers. These registers are PIDXR And read and write ports PNPRDP and PNPWRP. Is accessed.       b.Select PNP mode at power-on.The reset signal is output when the power is turned on. The state of the force pin 76 (PNPCS, FIG. 6) is latched to determine the PNP mode. B Circuit C, the serial EEPROM 78 (PNP card model) Card) is assumed to be on a PNP compliant card containing Latched high Circuit C does not include a serial EEPROM (PNP system mode) It is assumed to be on the system board.   In PNP system mode, the card selection number (CSN) is the PNP standard It is assigned in a different way than the law (see PCSNBR). This is This is the case when a system board implementation can exist without an external serial EEPROM. Outside When coding is selected in the section (for general description, see PIN Summary Section), all PNP registers are Accessible. Therefore, in this mode, access to the PNP register Assign a CSN or use any PNP protocol to obtain There is no need to incorporate hardware.       c.PNP state machine.As shown in FIG. 17, the PNP interface Are in one of three states: key wait, isolation, configuration, or sleep. You. In FIG. 17, wake is a wake command, and X is a command and The associated data value, CSN is the current card selection number. These lotus All are described in the Plug-n-Play ISA specification. PNP state machine As shown in the figure, the output of the input is PNPSM [1: 0].   Waiting for key.In this state, the PNP logic writes 32 to PIDXR. Wait for a byte key. In this state (except for PIDXR for the key) The NP register is also unavailable.   isolation.In this state, the PNP software sends the IO to the PIOCI. Run the R-cycle algorithm to disconnect each PNP card and separate it Is assigned. If circuit C is in PNP system mode, PI Parts are always "lost" in isolation due to SOCI readings, Enter sleep mode.   Constitution.From this state, the PNP software reads from the PNP EEPROM 78 Reads all resource data, resources (I / O address space, IR Q number, DMA number) and a specific command (such as activate) Send   sleep.In this mode, the PNP hardware is dormant.       d.Interface with serial EEPROM.Audio logic When the device is not activated (PUACTI [0]), the PNP serial EE The PROM 78 can be accessed. Selected by PSEENI [10] There are two access modes: PNP initialization and PNP control . In the PNP initialization mode, based on the state of PNPSM [1: 0] as follows: Then, the data is automatically read from the EEPROM. That is,   As shown in FIG. 18, the timing for reading the serial EEPROM data is Is provided. What is standard data in serial EEPROM? Note that it is necessary to enter circuit C in the reverse order. Bits [7: 0] are even Represents several bytes (the first byte is read through PRESDI) [15: 8] represents an odd byte. The serial block SK has a frequency of 99 6 KHz ICLK1M (see below).   In PNP control mode, the EEPROM pin is set to the PSECI bit. Therefore, it is directly controlled.       e.Initiation key and linear feedback shift register.P To access the NP register, a linear feedback shift register (LFS R) requires a hardware / software unlocking mechanism that requires implementation You. See FIG. 20 for the implementation of the LFSR 230. Unlock the software It completes after the software writes the following 32 values to PIDXR: 6A, B5 , DA, ED, F6, FB, 7D, BE, DF, 6F, 37, 1B, 0D, 86 , C3, 61, B0, 58, 2C, 16, 8B, 45, A2, D1, E8, 74 , 3A, 9D, CE, E7, 73, 39. These values are internally stored in LFSR23 Calculated as 0. If all 32 bytes have been written to PIDXR, the PNP The state machine transitions from the key waiting mode to the sleep mode (see FIG. 17).       f.Isolation mode.Serial in isolation mode The data contained at the beginning of the EEPROM 78 is shifted one bit at a time. And used in the algorithm shown in FIG.   The PNP specification is calculated or simply brought from the serial EEPROM 78. The last eight bits of the serial identifier, the checksum, are acknowledged. these The value is not calculated by circuit C. Transferred directly from serial EEPROM 78 It is. The algorithm of FIG. 21 has a configuration mode from the isolation mode. Or transition to the sleep mode is allowed.       g.Card selection number register.Plug-n-Play specification is a card A selection number (CSN) is assigned to every device on the system bus and its Require that the number be accessible. Circuit C has a card selection number ( Designated as card selection number backdoor (PCSNBR) where CSN) is stored There is an 8-bit register that is being used. CSN, PNP state machine is isolated Writable in the case of the operation mode. PNP state machine is in configuration mode Is readable.   By using the following procedure, you can bypass the normal PNP protocol , CSN. That is,   1. Put the pull-up register in PNPCS, and turn on the card when power is turned on. Switch to system mode.   2. When the AUDIO logical device is not active (PUACTI [0] = 0), put the PNP state machine in the isolation mode.   3. Write the CSN to the game control register 201h.       h.Plug-n-Play resource requirement map.PNP serial EE FIG. 22 shows an example of resources required for programming the PROM 78.     6. Interrupt and IRQ channel selection.   An interrupt has a group of signals that are tied to the interrupt. Details The details are as follows. That is,   These are built into the three IRQ channel selectability of circuit C as follows: I will. That is,   The following equations show how the previous three equations map to the IRQ pin. (See FIG. 3). Here, x of the IRQ designates an IRQ number. (UIC The notation I [2: 0] == IRQx) is described as "UICI [2: 0] replaces IRQx. Specify. "   The Non-Maskable Interrupt (NMI) function (low impedance and high impedance Is controlled as follows. That is,   In the previous and following equations, the / before a variable or signal means logical negation. Note. * Indicates an AND function, and + indicates an OR function. /, *, + The first, second, and third priorities are shown, respectively. The program associated with the previous expression The programmable bit fields and signals are as follows. That is,   Interrupt event.The table in FIG. 23 shows all interrupt driving events in circuit C. And provide data on events. Circuit C is in auto timer mode and UA If CWR is written to 04h, writing to UADR will interrupt Note that it does not generate.     7. DMA channel selection.   The following are the signals used in circuit C that are tied to the DMA data transfer request. You. That is,   These are three DRQTY channel selectable for circuit C as follows It is summarized in the sex. That is,   The following equation shows how the previous three equations map to the DRQ pin (see FIG. 3). Shows the law. Here, x in DRQx designates a DRQ number. The notation UDCI [2: 0] == DRQx is based on the expression “UDUDI [2: 0] is DR Specify Qx ".   Enable DRQ from high impedance.Below is the high impedance This is an expression of a signal for enabling the DRQ from the sense. That is,   Drives data bus during DMA.By reading the DMA of the circuit C, the circuit C Only when the A request signal is set, the system data bus is driven. Also , Circuit C, if a confirmation occurs without a DMA request, all DMA writes Ignore only.   DMA rate.In DMA transfer between local memory and system memory, transfer Speed is controlled by LDMACI [4: 3]. The best of all MA transfers At speed, from about the half from the end of the last DAK signal to the beginning of the next DRQ signal One microsecond. This is two ICLK2M, 2MHz clock Incorporated by counting edges.     8. clock.   Circuit C has a number of internal clock requirements. In this section, A description of all internal clocks created from crystals 16 and 18 ( (Fig. 1). As shown in FIG. 24, generated by this block of crystal 16 All clocks are in steady state when the oscillator is not enabled (held high). Guaranteed to start again when the oscillator stabilizes Have been. This logic is used when the oscillator is about to stabilize. This is because there is no glitch in the clock. This is the oscillator stability shown in FIG. This is the purpose of the stabilization logic 232. And is used for: (1) suspension Exit from Pend mode, (2) Exit from shutdown mode, (3) IC Is in shutdown mode following a software reset (PCCCI) To stabilize the oscillator. If the RESET pin is active, it will be bypassed. It is.   In FIG. 24, the IOSC16M signal is a 16.9344 MHz clock 16 From the input clock signal. This clock signal is applied to the control on line 233. Clock signal to the oscillator stabilization logic 232 via a clock or gate signal Provided as Gate control logic 242 is also enabled on line 235. A signal is generated, and ON / OFF of the clock 16 is controlled.   As described below, the gate control logic 242 includes Provides output ICLK16M via buffer 237, used as system clock Different clock signals with different frequencies for a particular sub-circuit or function. 239 used by logic block 241 to generate the signal To provide 16.9344 MHz. If necessary, a similar stabilization Note that a Gic can also be provided for Crystal 18. In the current implementation, Christa In response to the activation signal PPWRI (PWR24), the buffer 18 is buffered on line 234. Provides a Fado 24MHz output.   Oscillator stabilization logic.As shown in FIG. 25, the oscillator stabilization logic 232 , A 16-bit counter 238 clocked by the oscillator 16, And a flip-flop 240 for controlling the data 238. As a result, Gotting to allow a rock pass or disable it glitch-free It is a gate to the logic 242 (FIG. 24). 16.9 MHz clock 16 signals STOP CLK is in suspend and shutdown mode. Clear the counter 238. In the preferred implementation, a software reset ( PCCCI) determines whether or not circuit C is in shutdown mode. System reset in either 256 or 64K states of PCARST # remains active (see below) . Cheap The logic counter in the stabilization logic 232 is also controlled to achieve the required delay. Provide a signal. Signal GO CLK is asserted when the RESET pin is active. The control flip-flop 240 is set. Circuit C is suspended and shut down When exiting the down mode, STOP CLK is deactivated and the counter 238 is set to 6 4K state is clocked out, and CLOCK of circuit 238 is output. ENABLE output Becomes active. STOP CLK and GO The CLK signal is described elsewhere. In response to the state of the power control register and the reset signal, Generated from the logic circuit.   FIG. 24a illustrates the details of the clock generation and control / stabilization circuit. Figure The logic and counter shown in FIG. It should be noted that this is only an example of how this can be implemented. Those skilled in the art will recognize that there are various other variations while keeping the function specifications. You can understand.   System reset signal 430 is an external ISA bus signal. System reset 430, before signal PCARST # on line 431 goes inactive (high). Allow at least 10 milliseconds to allow time for oscillators 16 and 18 to stabilize. (Which enables PCARST #). signal PCARST # supports most memory functions (registers, latches, flip-flops) Default, bits of RAM), all ISA bus activity is ignored To stop the local memory cycle. System reset is free GO to flip flop 240 Provided as CLK asynchronous set signal 435 . This signal causes the Q output to go high on line 233, immediately To enable the 16-MHz clock signal. Cable. 24MHz clock is also PWR24 bit of register PPWRI 24 bits of the PWR respond to the PCARST # signal. Set high by default, so it is enabled by reset. You.   In FIG. 24a, the PCCCI signal is controlled by the state of the PCCCI register. I / O mapped command from PNP logic (software reset) controlled Is. The PCCCI assertion is asserted on line 434 by the signal PCARST #. Provided as an alternative source.   In FIG. 24a, in response to an active input from the Suspend # pin, Enter suspend mode. For reference, the suspend mode logic is shown in FIG. a in the active / positive mode. Active input suspend The signal is on line 446, with inputs to ORGATE 448 and ANDGATE 450 Provided. In response, ISUSPRQ asserts gate 454 and gate 454, respectively. The I2LSUSPRQ and I2SSUSPRQ modular signals are activated via 456. It becomes active at the activating line 452. Suspend input on line 446 Provides 80μ second delayed output to ORGATE448 and ANDGATE450 To provide a two-bit delay counter 458. The delay circuit 458 is connected to the line Clocking by the internally generated clock signal ICLK12K provided at 460 Is If necessary, this signal can be used to generate a modular suspend signal. Provided to For example, if ISUSPIP is input to ORGATE 464 Provided, modular I2LSUS for local memory module of circuit C Generate a PIP signal. This signal is low during normal operation. Disable the 16.9 MHz clock signal used by the local memory module. Used to make cables.   ISUSPIP is an approximately 80μ second oscillator after ISUSPRQ is asserted. Through ORGATE 467 and ORGATE 466 to ground Line 436 to clear the counter 238 Provided as CLK It is. The counter 238 is cleared when the suspend signal is deactivated. After that, the oscillator 16 needs to stabilize. Similarly, IS USPIP uses ORGAT to disable the 24 MHz oscillator 18. Provided as input to ANDGATE 468 via E470.   Various clocks.As for the system clock, the clock circuit of Joule 2 Provides various clocks for various functions. The following summarizes these clocks. You. That is,   IKLK1M is designed to meet the requirements of PNP serial EEPROM 78 , 9 clock high and 8 clock low duty cycles. So All other clocks have their duty cycles as close to 50-50 as possible. It is implemented as follows.   Test mode requirements.When the chip is in test mode, these many The clock circuit is bypassed (see register description below). In addition, 1 The 6.9 MHz and 24.5 MHz clocks may be Directly controlled without a counter.     9. Power consumption mode.   Circuit C is a device that prevents the various blocks of logic from consuming large amounts of current. Have noh. In addition, a shutdown mode can be set. In that case, Both oscillators are disabled. Also, in suspend mode, both The shaker is disabled and most of the pins are inaccessible. various Control to disable the block and put circuit C into shutdown mode. Control comes from the programmable register PPWRI. Suspend mode is SU Controlled by the SPEND # pin (see FIG. 6). Depending on the suspend mode , I / O pins change operation as shown in the following table. That is, SA [11: 6], SBHE #, DAK [7: 5,3], SD [15: 8] The pins have a small internal pull-up resistor. However, these registers The power supply to be turned on is driven so that the drive voltage is not applied to the ISA bus during the suspend mode. It can be disabled by VERI [PUPWR]. Stop power consumption For pins that are put into a high-impedance state for Is done. In suspend mode, this buffer is disabled and its The output (input to circuit C) is grounded.       a.Register controlled low power mode.The register PPWRI is connected to the Reduce the power consumed by the various blocks of 7-bit register used to store The table shown in FIG. What happens when various bits in register PPWRI are cleared or set Explains what is coming. Each bit of PPWRI is low when in low power mode. It is defined as:   The 100 millisecond timer in FIG. 26 includes a logic block 158 (FIG. 12). Normal timer cycles, each driven by ICLK100K (divide by 10) The road is constructed. One of the timers counts the transition time to the low power mode. Other timers count the time to exit low power mode. Used to go out. Use these same timers for suspend mode Can be.   In FIG. 24a, register PPWRI is outlined as register 472. Has been. Responds to each bit of register 472 cleared to logic low state Then, the shutdown mode is activated. State of each bit of register 472 Provides an output to timer 476 when all bits are low, ANDGA Provided as an inverted bit to TE 474. After a 100 μ second delay, No bits in register 472 have changed to logic high due to provisional delay To disable (ground) the oscillator via ANDGATE 480 At 478, an output is provided. This status check provides one second , Enable input to ANDGATE 480, ORGATE 482 Provided through. When the output of the timer 476 exits the shutdown mode, Counter 238 of the stabilizing circuit 232 to provide sufficient delay STOP to rear Provided as CLK input.   As noted elsewhere, the state of the PWR 24 bit is asserted via gate 468. The power to the shaker 18 is controlled. Depending on the state of each bit of the register 472, the module Dual power mode is implemented (PPWRI). For example, bit 4 (PW RS) state to the counter circuit, ORGATE486, ANDGATE488 Is provided as input. These circuit elements are the synthesizer suspend request signal. Signal 490 and the synthesizer clock signal via gate 493. Delay Synthesizer Suspend-in-Progress Provide a signal. Local memory modules have similar delay / logic times. A road 494 is provided. Other bits of register 472 are described in this specification. As can be seen, the status of the various modules and modules in circuit C Control. A schematic diagram of the logic implementation of these functions is shown in FIG. 24a.   FIG. 24b shows an overview of the response of circuit C to activation and deactivation of the suspend mode. It is a flowchart showing the abbreviation. FIG. 24c shows a register control low power mode. It is a flowchart which shows.       b.Suspend mode.When the SUSPEND # pin becomes active, Circuit C behaves the same as in the shutdown mode. The tie in Figure 27 The diagram shows how the oscillator, clock, and signals go to the SUSPEND # pin. To respond to the request. In FIG. 27, the ICLK24M signal is stable. Note that it is described as This condition is optional. ISUSP RQ is I2LSUSPRQ and I2SSUSPR of the shutdown logic. It is logically ORed with Q. ISUSPIP is logically ORed with I2LSUSPIP (See FIG. 26). Circuit C already shuts down when SUSPEND # is asserted When in the down mode, (i) the I / O pin is in the suspend mode as described above. (Ii) The codec analog circuit, which changes to match the requirements of If not in low power mode, enter this mode. CODEC analog circuit Outputs the ISUPIP signal on line 461 via an inverter 465 E to provide a low power mode when SUSPEND # is active. Enter   After ISUSRQ # is asserted, the logic clocks to other circuits C. And wait at least 80 milliseconds before disabling the oscillator. Departure The clock signals ICLK16M and ICLK24M from the vibrators 16 and 18 have distortion and Disabled (re-enabled) so that there is no glitch. High stage Will never return to low. Oscillation after SUSPEND # is deactivated Is enabled again, but the clock signal ICLK16M is It does not toggle again until it stabilizes after 8 ms. this is, Occurs when the oscillator 16 is clocking normally at 64K time. ICL After K16 toggles at least 80 milliseconds, the ISUSPRQ # signal The assertion is released so that the logic of the circuit C can operate. All ISA Baspi Before attempting to access circuit C, the SUSPEND After the # is released, it must be delayed about 10 milliseconds. ISUSPI P (suspend in progress) is active while the internal clock is not valid. is there. I / O pin at the local memory control module for each suspend request Used to change the operation of the computer (suspend mode refresh).     10. reset.   The reset is performed by the following two methods. (1) RESET pin assertion, (2 ) I / O mapped command for reset from PNP logic (PCCCI) De. Both generate long pulses for the PCARST # signal. In addition, Synthesizer caused by writing to the USRTI Zamo There is also a reset of the Joule 6 and Gravis Ultrasound function. Also , MIDI interface controlled by bits in GMCR You.   PCARST #.PCARST # is the most memory function of the C register, Switches, flip-flops, and RAMs that return RAM bits to their default state Signal. When active, all ISA bus activity is ignored and local No memory cycle occurs. PCARST # is reset when the RESET pin is reset. Is created as a logical OR with the software reset (PCCCI) described earlier. It is. The RESET pin allows the oscillator to stabilize before PCARST # deactivates. Need to be asserted at least 10 milliseconds to make time for is there. Software reset when IC is in shutdown mode If so, PCARST # will be active and the oscillator stabilization logic will , Count for 64K state before releasing PCARST #. IC shut PCARST if software reset occurs when not in down mode # Active for 256 16.9 MHz clocks (approximately 15 milliseconds) become. While PCARST # is active, all 16.9 MHz and 24 . The 5 MHz clock is passed to other blocks in the IC. However, the previous CLOCK The various divided-down clocks shown in section S are The divide-down circuit used to generate the So don't toggle.   RESET pin dedicated function.The following items are affected by the RESET pin However, it is not affected by PCARST #. At the trailing edge of the reset The state of the I / O pin to be switched, PCSNI, PSRPAI, PSPSM [1: 0 Registers, state machines that have their own reset requirements, test controllers Roll signal (ITCI), control for oscillator stabilization logic (software Used to count out a wear reset). All other features Reset to default state.   Software reset PCCCI.Software reset is 16.9 MHz Oscillator in 256 state (shutdown in progress or ITCI [BPOS C] is active) or clocked through 64K state Keep PCARST # active while   Synthesizer RAM block.After PCARST # becomes inactive, the synthesizer IsaLogic (see below) will send all 32 voices R to clear out. Process AM blocks sequentially. This takes about 22 milliseconds.   External function interface.When PCARST # is active, pin RAS # And ROMC # become active (RAS # = ROMCS # = 0). this Is the only way such a condition can occur. When this happens, external functions For example, decoding by CD-ROM) and reset is active You can know.   B.Outline of system control PIN.   The pins shown in FIG. 28 are tied to the system bus interface .   C.Summary of system control registers.   In the following register definitions, RES or RESERVED is a reserved bit. Is specified. All such fields must be written with zeros. No. Reading will return an undefined value. Read Modify Write Opera The option can write back the value that was read.     1. P2XR direct register       a.Mix control register (UMCR). Address: P2XR = 0 read, write Default: 03h   See IVE for how this register controls access to hidden registers. See RI [HRLEN #] CRS control register selection. When URCR [2: 0] is set to 0               In this case, this bit determines the interrupt control register (UICI)               Indexing or indexing of DMA control register (UDC)               Choose a thing. 1 = UICI; 0 = UDCI. MLOOP MIDI loopback. Logic 1 converts MIDITX to MIDIRX               Cause a loop. This is the transfer of data from MIDITX.               Do not block sending. However, data via MIDIRX               Block reception. GF122 channel synthesizer interrupt. Logic 1 is (1) all thin               Selector 1 and IR with channelizer and CODEC interrupt               Perform a logical OR on the Q pin to connect to the selected channel 1 IRQ pin.               Mask the synthesizer interrupt. IQDMA IRQ and DMA enable. Logic 1 connects IRQ and DRQ pins               Enable (for audio function only, EX IRQ and EX D               The specific IRQ of the external device controlled by the RQ pin,               It does not affect the DRQ line. A logic 0 causes all IRQs and               DRQ pin goes to high impedance mode (audio function               designated). ENMIC Enable mono and stereo microphone input. Logic 0 is               And stereo microphone inputs are disabled               (No sound). ELOUT Enable line output. Logic 1 is stereo line out output               Disable (no sound). This switch is c               all enable and attenuator of the odec module               After. ENLIN Enable line input. Logic 1 decodes the stereo line-in input.               Disable (no sound). This switch is code               Before all enable and attenuator of c module       b.Sound blaster 2X6 register (U2X6R). Address: P2XR + 6write   By writing to this address, the AdLib status register (UAS RR) 2X61 RQ bits are set. At this address, data is transferred, Is not touched.       c.IRQ status register (UISR). Address: P2XR + 6read Default: 00h (after initialization)   This register specifies the cause of various interrupts. DMATC DMA terminal count IRQ. High is ISA Buster Mina The count signal TC is the result of DMA activity between system memory and local memory. The result indicates that it has become active. The flip-flop driving this bit is , LDMACI are read. Tied to the synthesizer Is logically ORed with the interrupt. When the TC interrupt is not enabled (LDMA CI [5]), even if the interrupt flip-flop is set Is read as VOLIRQ Volume loop IRQ. Logic 1 is one volume of voice               Indicates that the ramp has reached the endpoint. This bit               In the general index register (IGIDXR),               The value 8Fh for accessing the voice interrupt register SVII is written.               Cleared after being rushed. LOOIRQ Address loop IRQ. Logic 1 is local to any voice               Indicates that the memory has reached the endpoint. This bit               General index register (IGIDXR) is added to SVII.               Cleared after being written by 8Fh which is the value to be accessed               . This bit is enabled by URSTI [2] (               However, it is not cleared). ADIRQ AdLib sound register IRQ. This is a write-to               -UADR interrupt bit (high by writing to UADR)               ), Write-to-U2X6R interrupt bit               (Set by writing to U2X6R), write-               to-UI2XCR interrupt bit (write to UI2XCR               Is set by OR). Drive UADR interrupt               Flip-flop is enabled when UASBCI [1] is high.               And asynchronously cleared when UASBCI [1] is low               Is done. The other two bits are when UASBCI [5] is high               Enabled, asynchronously when UASBCI [5] is low               Cleared. ADIRQ is compatible with AdLib-Soundblaster               ORed with the associated IRQ. ADT2 AdLib timer 2. This bit indicates that AdLib timer 2 is FF               Is set when rolling to the preload value UAT2I. U               Cleared by ASBCI [3] and disabled.               The flip-flop driving this bit is an AdLib-Sound               ORed with the interrupt associated with Doblaster. Also, UA               It can be read by SRR [1]. ADT1 AdLib timer 1. This bit indicates that AdLib timer 1 is FF               Is set when rolling to the preload value UAT1I. U               Cleared by ASBCI [2] and disabled.               The flip-flop driving this bit is an AdLib-Sound               ORed with the interrupt associated with Doblaster. Also, UA               It can be read by SRR [2]. MIDIRX MIDI receive IRQ. Logic 1 indicates that the MIDI receive data register               Indicates that you have data. By reading GMRDR               Cleared. MIDITX MIDI send IRQ. Logic 1 indicates that the MIDI transmit data register               Indicates that it is empty. Cleared by writing to GMTDR               It is.       d.AdLib command read and write register (UACRR,             UACWR). Address: P2XR + OAh read (UACRR);               P2XR + 08h and 338h write (UACWR) Default: 00h   This register is used to emulate AdLib operations . This register programs the internal synthesizer and Written by AdLib application software to duplicate And read by the AdLib emulation software.       e.AdLib status read and write register (UASRR,             UAWR). Address: P2XR + 08h and 388h read (UASRR);               P2XR + 0AH write (UASWR) Default: 00h   When not in auto timer mode, this has various values for read and write addresses This is a read / write register. In auto timer mode (UASBCI [0]), Is latched but not readable. By reading As a result, the following status information is obtained. That is, OR56 OR of bits 5 and 6. This bit is the same as bit 5 of this register Represents the logical OR of bit 6. T1M Timer 1, maskable. This bit indicates that AdLib timer 1 is FF               Set high when rolling to preload value UAR1I from               . This bit is set by writing to UADR [AIRST].               Cleared. This bit is set by the AdLib timer 1 mask               Is not activated (UADR [MT1]). T2M Timer 2, maskable. This bit indicates that AdLib timer 2 is FF               Set high when rolling to preload value UAR21 from               . This bit is set by writing to UADR [AIRST].               Cleared. This bit is set by the AdLib timer 1 mask               (UADR [MT2]) does not become active               . 2XCIRQ Write to 2xC interrupt. This is the writing to UI2XCR               UI2XCR interrupt bit set high only by               Is written to. The flip-flop driving this bit is               , UASBCI [5] is high and UASG               Cleared when CI [5] is low.               2X6IRQ Write to 2x6 interrupt. This is UI2X               U2X6R percent set high by writing to CR               This is a write to the inset. Flip-flop driving this bit               Lop is enabled when UASBCI [5] is high,               Cleared when UASGCI [5] is low. T1NM Timer 1, masking not possible. This bit indicates that AdLib timer 1               Set high when rolling from FF to preload value UAT1I               It is. This bit is cleared by UASBCI [2],               Disabled. Flip-flop driving this bit               Is the interrupt associated with AdLib-SoundBlaster               ORed. It can also be read with UISR [2]. T2NM Timer 2, masking not possible. This bit indicates that AdLib timer 1               Set high when rolling from FF to preload value UART21               Is done. This bit is cleared by UASBCI [3].               , Disabled. Flip-flop driving this bit               Is an interrupt associated with the AdLib-SoundBlaster               Is ORed. It can also be read with UISR [3]. DIRQ Data IRQ. It is set high by writing to UADR.               Write-to-UADR interrupt bit.               The flip-flop driving this bit is UASBCI [1]               Is high when UASBCI [1] is low.               Cleared asynchronously. AdLib-Connect with Soundblaster               ORed with the interrupt. Read with UISR [4]               Is possible.       f.AdLib data register (UADR). Address: P2XR + 9 and 389h read, write Default: 00h   This register is based on the state of the various bits, as follows: Perform the replacement function. That is,   In case 2, the following AdLib timer emulation bits are written It is. All of these bits default to low after reset. MSB Note that if is set high, the other bits do not change. IVERI When [RRMD] is active, the following bits are UASBCI [0] or The UACWR can read from this address regardless of the state. AIRST AdLib IRQ register. If set to logic 1, UA               Flip-flip driving SRR [T1M] and UASRR [T2M]               The lop is cleared. This bit is set to UASRR [T1M].               Is automatically cleared after UASRR [T2M] is cleared               . Also, when this bit is written high,               Are not changed. This bit is written as low               Then, the other bits in this register are latched. MT1 Mask timer 1. If high, drive UASRR [T1M]               Flip-flops cannot be active. MT2 Mask timer 2. If high, drive UASRR [T2M]               Flip-flops cannot be active. STRT2 Start timer 2. When low, the value in UAT2I is 320               AdLib timer on every rising clock edge in milliseconds               2 is loaded. When high, timer is 320 ms               Is incremented at every rising clock edge. Timer               After FFh reaches FFh, at the next clock edge, UAT2I restarts.               Loaded into the timer. STRT1 Start timer 1. When low, the value in UAT2I is 80               AdLib timer 1 for every second rising clock edge               Is loaded. When high, the timer runs for 80 milliseconds.               Incremented at every Ising clock edge. Timer is F               After reaching Fh, at the next clock edge, UAT1I restarts.               Loaded to Ima.       g.GUS Hidden Register Data Port (UHRDP). Address: P2XR + OBh write   This is a port for accessing hidden registers. Note: Hidden register See IVERI [HRLEN #] for a way to restrict access to.       h.Sound blaster interrupt 2XC register (UI2XCR). Address: P2XR + 0Ch read, write Default: 00h   An interrupt is generated by writing to this simple read / write register. this Registers can also be written via U2XCR without interrupts . The interrupt is cleared by writing UASBCI [5] = 0.       i. Sound blaster 2XC register (U2XCR) Address: P2XR + 0Dh write Default: 00h (after initialization)   This is a sound blaster interrupt 2xC register that does not generate an interrupt ( UI2XCR).       j.Sound blaster register 2XE (U2XER). Address: P2XR + OEh read, write Default: 00h   This is a simple read / write registry used for sound blaster emulation It is. An I / O read of this register will interrupt (if enabled) generate.       k.Register control register (URCR). Address: P2XXR + 0Fh write, read (IVERI [R               RMD] is active) Default: 0000 0000   Note: This register is read when IVERI [RRMD] is active. Will be possible. If IVERI [RRMD] is not active, this address When read, USRR data is obtained.               Interrupt made by reading IQ2XE U2XER               Enable. When logic 1, interrupt by reading U2XER               Only occurs. This interrupt is triggered by the SoundBlaster-AdLib               It is logically ORed with the interrupt. EGPRA Enable general purpose register access. Logic 1 is               , ICMPTI [3: 0], UGPA1I, UGPA2I               Access to general-purpose registers through the address specified by               Cable.               TG2XC. 2xC toggle bit 7. Logic 1 is UI2XC               R [7] toggles each I / O read of that register. GP2IRQ General purpose register 2 interrupt. Logic 1 is ICMPT               1 [3: 2] and the address specified by UGPA2I               Read or write to general-purpose register 2               Enable interrupts to be created. Interrupt sounds               It is logically ORed with the blaster / AdLib interrupt. UHRDP,               Access to this register through the backdoor generates an interrupt               Do not live. GP1IRQ General purpose register 1 interrupt. Logic 1 is ICMPT               1 [1: 0] and the address specified by UGPA1I               Read or write to general-purpose register 2               Enable interrupts to be created. Interrupt sounds               It is logically ORed with the blaster / AdLib interrupt. UHRDP,               Access to this register through the backdoor generates an interrupt               Do not live. RS [2: 0] register selector. This field is the hidden register data port               Register accessed through writing to UHRDP               Select the data.               0 = DMA and interrupt control registers (UDCI and UICI)               1 = General purpose register 1 backdoor (UGP1I)               2 = General purpose register 2 backdoor (UGP2I)               3 = General register 1 address [7: 0] (UGPA1I)               4 = General register 2 address [7: 0] (UGPA1I)               5 = Clear IRQ (UCLR2I)               6 = Jumper register (UJMPI)       l.Read Status Register (USRR). Address: P2XR + 0Fh read Default: 01h   This register provides the status of various interrupts. Even if multiple bits are the same Even when active, all are cleared by writing to UCLRI1. It is. Note: When IVERI [RRMD] is active, the data in this register Cannot access the data. IQ2XE 2xE interrupt. Logic 1 indicates that reading U2XER               Indicates that it has occurred. IQGP2R General purpose register 2 read interrupt. Logic 1 is U               Address specified by CMPTI [3: 2] and UGPA2I               Read of general-purpose register through the interface caused an interrupt               Is shown. IQRG2W General purpose register 2 write interrupt. Logic 1 is U               The address specified by CMPTI [3: 2] and UGPA21               Read of general-purpose register through the interface caused an interrupt               Is shown. IQRG1R General purpose register 1 read interrupt. Logic 1 is U               Address specified by CMPTI [3: 2] and UGPA1I               Read of general-purpose register through the interface caused an interrupt               Is shown. IQGP1W General purpose register 1 write interrupt. Logic 1 is U               The address specified by CMPTI [1: 0] and UGPA1I               Read of general-purpose register through the interface caused an interrupt               Is shown. PURES Always read as low. Cannot write. IQDMA IRQ / DMA enable bit, UMCR [3] status               including. ENJMP Always read as high. Not writable     2. URCR [2: 0], UHRDP indexed register.       a.DMA Channel Control Register (UDCI). Address: P2XR + 0Bh read, write; indexes               To UMCr [6] = 0 and URCR [2: 0 = 0 PUD1SI               Changes the DMA1 [2: 0] field, and the PUD               Writing to 2SI changes the DMA2 [2: 0] field               . The function to change bits [5: 0] through this register is ICMPT               It can be disabled using I [4]. Note: To this register               For information on how to restrict access to               #]               See Default: 00h EXINT Extra interrupt. Both interrupt sources are UIC [6]                     Set this bit high if you are coupling through                     By the channel 2 interrupt selection bits DMA1 [2: 0]                     To drive the IRQ line selected. CMBN combine DMA channel. Logic 1 is the channel selection DM                     Combine both DMA channels using A1 [2: 0]                     You. DMA2 [2: 0] DMA selection channel 2 (codec reproduction). DMA1 [2: 0] DMA selection channel 1 (local memo from system memory                     Codec recording to re).       b.Interrupt control register (UICI). Address: P2XR + 0Bh read, write; indexes               UMCR [6:] = 1 and URCR [2: 0] = 2 PUDIS               Writing to I changes the DMA1 [2: 0] field and               Writing to UD2SI changes DMA2 [2: 0] field               I do. The function of changing bits [5: 0] through this register is               Can be disabled using CMPTI [4]. Default: 07h   Note: For information on how to restrict access to this register, see IVERI [HR LEN #]. ALSB AdLib / Soundblaster vs. NMI. Logic 1 is IO                     CHK # (NMI) will release SoundBlaster and AdLib “i                     aalsb ", the channel 1 selection bit (UICI [2:                     0]) disables the IRQ selected by                     sb. CMBN combine interrupt channel. Logic 1 is IRQ [2: 0]                     Connects both interrupt sources to the IRQ selected by                     Combine. IRQ2 [2: 0] Channel 2 (MIDI) IRQ selection:                     0 = No interrupt 4 = IRQ7                     1 = IRQ2 5 = IRQ11                     2 = IRQ5 6 = IRQ12                     3 = IRQ3 7 = IRQ15 IRQ1 [2: 1] channel 1 (codec, synthesizer, sound brass)                     Data, AdLib) IRQ selection:                     0 = IOCHK # 4 = IRQ7                     1 = IRQ2 5 = IRQ11                     2 = IRQ5 6 = IRQ12                     3 = IRQ3 7 = IRQ15       c.General Purpose Register 1 (UGPI1). Address: P2XR + 0Bh read / write;               index URCR [2: 0] = 1 Default: 00h   General purpose (general purpose) register 1 is composed of AdLib, sound blaster, Two 8-bit registers UGP1I I used for MPU-401 compatibility N and UGP1I OUT. Do not control any signals in circuit C No. This address (UHRDP) and UCMPT1 [1: 0] and UGPA1I (Emulation address) Is accessed. UGP1I IN is written via emulation address And read via UHRDP. UGP1I OUT is emulation Via UHRDP and written via UHRDP. Emulation Access to these addresses using the application address (if enabled) Generate an interrupt. Note: How to restrict access to this register See IVERI [HRLEN #].       d.General Purpose Register 2 (UGP2I). Address: P2XR + 0Bh read / write;               index URCR [2: 0] = 2 Default: 00h   General-purpose register 2 includes AdLib, Sound Blaster, MPU-40 Two 8-bit registers UGP2I IN and UGP2 used for 1 compatibility I OUT. It does not control any signals of circuit C. This ad (UHRDP) and UCMPT1 [3: 2] and UGPA2I (Emulation (Access address). UGP2I IN is written via the emulation address and UHRD Read via P. UGP2I OUT indicates the emulation address. And written via UHRDP. Emulation address Access to these addresses using a source will generate an interrupt (if enabled). Let it live. Note: See IVER for how to restrict access to this register. See I [HRLEN #].       e.General Purpose Register 1 Address (UGPA1I). Address: P2XR + 0Bh write;               index URCR [2: 0] = 2 Default: 00h   This register controls an address used for accessing the general-purpose register 1. The 8 bits written are bits [7] of the emulation address of UGP1I. : 0]. Emulation address [9: 8] is ICMPT1 [1: 0] ]. Note: How to restrict access to this register See IVERI [HRLEN #].       f.General Purpose Register 2 address (UGPA21). Address: P2XR + 0Bh read write;               index URCR [2: 0] = 4 Default: 00h   This register controls an address used for accessing the general-purpose register 2. The 8 bits written are bits [7] of the emulation address of UGP2I. : 0]. Emulation address [9: 8] is the same as ICMPT1 [3: 2]. ]. Note: How to restrict access to this register See IVERI [HRLEN #].       g.Clear interrupt register (UCLRII). Address: P2XR + 0Bh write;               index URCR [2: 0] = 5   Writing to this register clears all interrupts described in USRR. Is rearranged. Note: For information on how to restrict access to this register, see IVE See RI [HRLEN #].       h.Jumper register (UJMPI). Address: P2XR + 0Bh read, write;               index URCR [2: 0] = 6 Default: 06h   Note: For information on how to restrict access to this register, see IVERI [HR LEN #]. ENJOY Enable joystick. Logic 1 is the game at 201h               Enable port address decoding. ENMID Enable MIDI. Logic 1 makes P3XR + 0 and P3XR + 1               Enable certain MIDI address decoding.     3. P3XR direct register.       a.General index register (IGIDXR). Address: P3XR + 3 read, write Default: 00h   This register specifies the index address to various registers in circuit C I do. The data ports associated with this index are ISDP and I1 6 DP. In the case of the auto increment mode (SVSR [7]), The value of the register is written in I / O to I8DP or I16DP (I16DP (Except for writing 8 bits to a byte).       b.General 8 / 16-bit data port (I8DP, I16DP)             . Address: P3XR + 5 for 18DP, P3 for I16DP               XR + 4-5h, read, write   This is a data port for accessing various registers in circuit C . 8-bit I / O access to P3XR + 5 is used to transfer 8-bit data You. 16-bit I / O access to P3XR + 4 is for transferring 16-bit data used. Also, 8 access to P3XR + 4 with 8-bit access to P3XR + 5 16-bit data can also be transferred using bit I / O access. Oh In the case of the increment mode (SVSR [7]), the value of IGIDXR is I8 I / O write to DP or I16DP (Rover of I16DP, P3XR + 4 (Except for 8-bit writing to a byte).     4. IGIXR, 18DP-116DP, index register.       a.AdLib, sound blaster control (UASBCI). Address: P3XR + 5 read, write;               index IGIDXR = 45h Default: 00h   This register controls the AdLib and Soundblaster compatible hardware Used for SBIEN Sound blaster interrupt enable. U2X6R or UI2               Enable interrupts for writing to XCR. logic               When set to 1, interrupts are enabled. Logical 0               When set to, interrupts are disabled and asynchronous               Is cleared. ETTST Enable timer test. Logic 1 controls AdLib timers 1 and 2               Enable the high-speed clock to operate. Logic 0 is               Enable the normal clock to operate the timer. high speed               The clock is 0.9961 which is 16.9344 MHz divided by 17.               4 MHz. EIRQT2 Enable timer 2 interrupt. Logic 1 is the AdLib timer               Enable the interrupt associated with 2. Logical 0 is divided               Disables and clears asynchronously. EIRQT1 Enable timer 1 interrupt. Logic 1 is the AdLib timer               Enable the interrupt associated with 1. Logical 0 is divided               Disables and clears asynchronously. EDIRQ enable data interrupt. Logic 1 is the AdLib data register               Enables interrupts generated from writing to the UADR               To A logic 0 disables this interrupt and               Clear ATOFF Disable auto timer mode. This low bit is               To auto timer mode. This high bit is               Disable mode. For the auto timer mode,               Auto timer mode and UASRR, U of system control module               See the description of ASWR and UADR registers.       b.AdLib timer 1 (UAT1I). Address: P3XR + 5 read, write;               index IGIDXR = 46h Default: 00h   Timer 1 load value. It is loaded into AdLib timer 1 when: Value. (1) UADR [STRT1] is high and this timer is set to 0FF is incremented beyond h. Or (2) UADR [STRT1] is low The rising clock edge of this timer is 80 microsecond clock. (16.9344 MHz divided by 1344). This register Reading gives the preload value, not the actual state of the timer.       c.AdLib timer 2 (UAT21). Address: P3XR + 5 read, write;               index IGIDXR = 47h Default: 00h   Timer 2 load value. It is loaded into AdLib timer 2 when: Value. (1) UADR [STRT2] is high and this timer is set to 0FF is incremented beyond h. Or (2) UADR [STRT2] is low And the rising clock error of the 320 microsecond clock of this timer. (The clock of timer 1 divided by 4). Reading this register By taking, the preload value is obtained instead of the actual state of the timer.       d.GF-1 reset register (URST1). Address: P3XR + 5 read, write;             index IGIDXXR = 4Ch Default: XXXX X000 DMIE synthesizer interrupt enable. This high bit is               Isa loop and volume interrupt (UISR [6: 5])               Navel. Disabling interrupts with this bit               , The interrupt is not cleared. DACEN D / A conversion enable. This high bit is the synthesizer DAC               Enable. This low bit is used by the synthesizer DAC.               Reduce output. RGF1 reset GF-1. This low bit is used for multiple MIDI and synth               Reset the sizer and GUS compatible registers. The following are               Is reset by this bit. Writing to U2X6R and concluding               Interrupts associated with writing to UI2XCR               Interrupts, D to local memory (including IOCHRDY)               MA or I / O read / write, LDMACI, LMCI [1: 0]               , LMFSI, LDICI, SGMI [ENH], TC interrupt               Flip-flop (IDMATC), URST1 [2: 1], U               ASBCI, UADR [AIRST, MT1, MT2, STRT               , UA associated with writing to [2, STRT1]               SRR [T1M, T2M, 2XCIRQ, 2X6IRQ, T1N               M, T2NM, DIRQ], MID               All memory elements of I UART and associated logic. Also,               Is low, all synthesizer IRQs are cleared               The operation of the state machine of the synthesizer stops. Stay frozen               , No sound is created. This bit is set by software.               Fully controlled. Note: This bit is used in the synthesizer register               Hardware and software to ensure that the array initializes properly               At least 22 milliseconds after the reset is completed               Must be up to.       e.Compatibility register (ICMPT1). Address: P3XR + 5 read, write;               index IGIDR = 59h Default: 0001 1111 STM [2: 0] Serial transfer mode. This is the codec module serial                   Specify the transfer mode. This block is a codec model                   Fully specified in joules. When STM [2] is high,                   The four external function (CD-ROM) pins are switched,                   Becomes a serial port pin. Possible modes are:                   It is. That is,   OPEN compatibility enable. When high, this is UDCI [5                       : 0] and writing to UICI [5: 0] are allowed.                       Indicates that Not allowed when low. This bit                       PUD1SI, regardless of the state of CPEN,                       Writing to PUD2SI, PUI1SI, PUI2SI                       It can be changed by just looking. GPR2A [9: 8] General purpose register 2 address [9: 8]. This                       This is the ISA address of the relocatable register UGPA21.                       Specify less bits [9: 8]. GPR1A [9: 8] General purpose register 1 address [9: 8]. This                       This is the ISA address of the relocatable register UGPA1I.                       Designate dress bits [9: 8].       f.Decode control register (IDECI). Address: P3XR + 5 read, write;               index IGIDXR = 5AH Default: 7Fh   This register enables / disables decoding of various address spaces. Cable. IAC22 Codec interrupt for channel 2. When high, c             The interrupt associated with the odec is the channel 1 IRQ pin.             But not on the channel 2 IRQ pin. For low, this             Occurs in channel 1. EICH1 Interrupt on enable channel 1. If high, split channel 10             Is enabled. If low, the selected channel 1 IR             The Q output becomes high impedance. EICH2 Interrupt on enable channel 2. If high, channel divided by 20             Is enabled. If low, selected channel 2 IR             The Q output becomes high impedance. EINMI Enable NMI interrupt. If high, IOCHK # interrupt             Be enabled. If low, IOCHK # is high impedance             Become ECOD Codec decode enable. If high, PCODAR 4             I / O read / write to codec address space             Become a navel. When low, decoding of these addresses is disabled.             Become sable. E3889 Decode enable for 388h and 389h. AdL if high             ib command-status and fixed add of data registers-388, 389             Less is enabled. If low, decoup these addresses             The code is disabled. EEDC 2xE, 2xD, 2xC decode enable. If high, P2             Reading and writing to XR + Eh, P2XR + Dh, P2XR + Ch is rice             Table. When low, decoding of these addresses is disabled.             Be able to. EA98 2xA, 2x9, 2x8 decode enable. If high, P2             Reading and writing to XR + Ah, P2XR + 9h and P2XR + 8h are rice             Table. When low, decoding of these addresses is disabled.             Be able to.       g.Version number register (IVERI). Address: P3XR + 5 read, write;               index IGIDXR = 5Bh Default: 0000 0100 VER version number. This includes the die version number. for example               For example, 0h = rev A Silicon. This field is read               designated. RRMD register read mode. When high, this bit               Three reads of a normally unreadable register result in this               Specifies that the data written to the register is returned. UADR               By reading (P2XR + 9,389h), UASBCI [0]               Or the bit [AIRST regardless of the state of the UACWR               , MT1, MT2, 0, 0, 0, STRT2, STRT1] are returned.               Is done. By reading URCR (P2XR + Fh), USR               Returns the last data written to that address, not R               . By reading GMCR (P3XR + 0), it is not GMSR.               The last data written to the address is returned. PUPWR Pull-up power. This low bit corresponds to the signal IOCS16 #, I               RQ [15.12, 11, 7, 5], SA [11: 6], SBH               E #, DRQ [7: 5,3], DAK [7: 5,3] #, SD [               15: 8] Disable power to internal pull-up resistor               , These signals drive voltage to ISA bus in suspend mode               In general, do not add a current load. This               The high bit enables all pull-up resistors on these signals to               Cable. Normally, this bit is high for 120-pin parts.               , And is set low for 160-pin parts. M401 MPU-410 emulation mode. This high bit is               Enable the following: (1) MIDI send / receive register (G               MTDR, GMRDR) moved from P3XR + 1 to P3XR + 0               And the MIDI control status registers (GMCR, G               MSR) is moved from P3XR + 0 to P3XR + 1. HRLEN # Hidden register lock enable. If high (inactive), U               Access to registers in HRDP is always enabled               . When low (active state), access to a register in UHRDP is               Process must comply with the protocol. The protocol is               Enable next I / O access to hidden registers in UHRDP               Initialized by writing to the UMCR. (AE               P2XR + 0 (UMCR) or P2XR + (when N is low)               I / O read to address except 0Bh (UHRDP) or               Write locks subsequent I / O access to hidden registers.               Go out.       b.MPU-401 emulation control A (IEMUAI). Address: P3XR + 5 read, write,               index IGIDXR = 5Ch Default: 00h   The emulation address described in the previous bit definition is UGPA1I, UGPA1I PA21, an address specified by ICMPT9I [3: 1]. URRE # UART receive buffer read enable. If low, UART             Of the received data buffer GMRDR is permitted. High Place             Read from that buffer is internally ignored (but             The ISA data bus is driven). USRE # UART status read enable. If low, UART stay             Reading of the status register GMSR is permitted. If high, the ba             Reading from the buffer is ignored internally (but ISA data             Ta             The bus is being driven). E2RE # Emulation register 2 read enable. For low, Emi             Emulation register 2 UG using the emulation address             P2I reading is allowed. Emulation add if high             Reading of UGP2I using a host is ignored internally (but             , ISA data bus is driven). E1RE # Emulation register 1 read enable. For low, Emi             Emulation register 1 UG using the emulation address             Reading of P1I is allowed. Emulation add if high             Reading of UGP1I using the address is ignored internally (but             , ISA data bus is driven). UTWE # UART transfer buffer write enable. MIDI if low             Read of UART transmit buffer GMTDR is allowed             You. If high, writing to the buffer is disabled by the UART.             Is seen. UCWE # UART command buffer write enable. If low, MI             Writing to the command register GMCR of DI UART is permitted.             You. If high, writing to that register is disabled by the UART.             Is seen. E2WE # Emulation register 2 write enable. If low, d             Emulation register 2 U using emulation address             Writing to GP2I is allowed. If high, UGP2I             It does not change when writing to the simulation address. E1WE # Emulation register 1 write enable. For low,             Emulation register 1 using emulation address             Writing to UGP1I is allowed. If high, UGP1I             It does not change when writing to the emulation address.       i.MPU-401 emulation control B (IEMUBI). Address: P3XR + 5 read, write;               index IGIDXR = 5Dh Default: 30h MRXE # MIDI receive data enable. For low, the MIDIRX pin               k received MIDI data is permitted and passed to the UART. High Place               If so, data cannot enter the UART. MTXE # MIDI transfer data enable. If low, M from UART               IDI transfer (transmit) data is allowed and the MIDITX               Cross over. When high, data cannot exit the pin.               No. SLSE7 I / O read selection state emulation register 1 bit               [7]. The circuit C is emulated by this high bit.               Dress ([ICMPTI [1: 0] and UGPA1I [7: 0])               UGP to the data bus when reading IGP1IOUT via               Enable 1IOUT [7]. With this low bit,               The circuit C reads the DSR # on the BIT [79] of the data bus during reading.               Enable. DSR # reads UGP2IOUT               Is enabled (IEMUAI [5]), the emulation               Via the application address ([ICMPTI [3: 2], UGPA21)               When there is a read UGP2IOUT read, the DSR #               Is set to an inactive state (high) by hardware. this               The flag indicates UGP1IOUT [via the backdoor (UHRDP).               7]. SLSE6 I / O read selection state emulation register 1 bit               [6]. The circuit C is emulated by this high bit.               Dress (ICMPTI [1: 0], UGPA1I [7: 0])               UGP1 to the data bus when reading UGP1IOUT via               Enable IOUT [6]. This low bit allows               The path C inputs the DRR # to BIT [6] of the data bus at the time of reading.               Navel. DRR # indicates that writing to that register is rice               Emulation (IEMUAI [1: 0])               Address ([ICMPTI [3: 0], UGPA1I, UGP               Writing to UGP1IIN or UGP2IIN via A2I)               DRR # is inactive by hardware when               Sexual state (high). This flag indicates that the backdoor (UH               By writing to UGP1IOUT [6] via RDP)               Is also controlled. E2WIE # Emulation register 2 write interrupt enable. Low               Case, ICMPT1 [3: 2] and UGPA for UGP2I               By writing to the address selected by 1I [7: 0]               An interrupt occurs. If high, write to UGP2I               No interrupt is generated. E1WIE # Emulation register 1 write interrupt enable. Low               Case, ICMPT1 [1: 0] and UGPA for UGP1I               By writing to the address selected by 1I [7: 0]               An interrupt occurs. If high, write to UGP1I               No interrupt is generated. E2RIE # Emulation register 2 read interrupt enable. Low               Case, ICMPT [3: 2] and UGPA1 for UGP2I               Split by reading the address selected by I [7: 0]               Jam occurs. If high, split by reading UGP2I               No intrusion occurs. E1RIE # Emulation register 1 read interrupt enable. Low               Case, ICMPT [1: 0] and UGPA1 for UGP1I               Split by reading the address selected by I [7: 0]               Jam occurs. If high, split by reading UGP1I               No intrusion occurs.       j.Test control register (ITCI). Address: P3XR + 5 read, write; index IGI               DXR = 5Fh; In external decoding mode, this register               Data can be read directly (for external decoding mode).               See the register summary for details.) Default: 000 0000b; For BIT [7] default,               See TE below.   Access to this register is controlled by the MIDIT It can be disabled depending on the state of X. See Pinsa for more information. See Marie. Also, any bits of this register are Not reset by CCI. Reset only after activating the RESET pin Can be TE test enable. This high bit indicates that the device                   This indicates that the system is in the card state. If low, the device is                   , In the normal operation mode. The default state of this bit is                   , Trailing edge of reset depending on the state of MWE # pin                   Latched. TE is high if MWE # is low                   . When MWE # is high, TE is low. This bit                   , Reset by software reset (PCCCI)                   Not done. BPOSC Bypass oscillator stabilization circuit. 16.9 MHz from high                   Oscillator clock counter to ensure that the shaker is stable                   The oscillator stabilization circuit that is in charge of the                   Only count. When low, the oscillator stabilization logic                   , 64k are counted out. This bit is RES                   Reset by the ET pin. Software reset (                   PCCCI). TMS [5: 0] Select test mode. This bit is used for various circuit test modes.                   Used to select This bit is the RESET pin                   Reset by Software reset (PCCC                   Not set by I).     5. PNP direct register.       a.Card selection number backdoor (PCSNBR). Address: 0201h write Default: 00h   Circuit C is PNP (latched by the state of PNPCS at the end of reset) When in the system mode, the AUDIO logical device is not activated. (PUACTI [0] = 0), PNP state machine is in isolation mode , The card selection number (CSN) is written to the circuit C through this I / O port. You can get in.       b.PNP index address register (PIDXR). Address: 0279h write Default: 00h   This is an 8-bit index pointing to a standard Plug-n-Play register. Register.       c.PNP data write port (PNPWRP). Address: 0A79h write   This is the Plug-n-Play indexed by PIDXR. Used for writing to the ISA register.       d.PNP data read port (PNPRDP). Address: The address is a relocatable read-only address between 003h and 3FFh.               It is for. For the address, (1) Write 00h to the PIDXR register.               And (2) PNPWRT through 2               Set by writing the byte representing nine. Bit 0 and               Both bits 1 are assumed to be high (11).   This is the Plug-n-Play indexed by PIDXR. Used to read from registers.     6. PIDXR, PNPWRP-PNPRDP PNP index drain Jista.   This PNP register is indexed by PIDXR, PNPRDP And accessed using PNWRP. Many registrations after PIDXR = 30h Data is further indexed by a logical device number register (PLDNI). Is done. All of these registers are available when the PNP state machine is in the Configure state. Access.       a.PNP set read data port address register (PSRPA) I). Address: 0A79H write; index PIDXR = 0 Default: 00h   By writing to this register, the PNP read data port (PNPRD) SA [9: 2] of the address P) is set. Think SA [1: 0] is high Is defined. When writing to this register, the PNP state machine This is only allowed if the mode is optional.       b.PNP isolate command register (PISOCI).   Address: PNPRDP read; index PIDXR = 1   By reading this register, the circuit C becomes the PNP serial EEPROM 78 A specific value is driven on the ISA bus 156 based on the data read from the Return the data to circuit C to see if it is. As a result, loose loose The PNP state machine enters a sleep mode. Circuit C PNP system mode (see Power-up PNP mode selection section) In this case, the serial EEPROM 78 is not present, and reading from this register It is assumed that the data is not being driven onto the bus due to data transfer. PNP system In the case of the mode, the reading of the PISOCI causes the circuit C to reduce the isolation. "Lost", enter sleep mode. Reading from this register is the PNP state Permitted only when the machine is in isolation.       c.PNP Configuration Control Command Register (PCCCI). Address: 0A79h write; index PIDXR = 2 RCSN Reset CSN PNP state machine sleep, isolate             Or in configuration mode, a high on this bit             N is set to zero. This command is used when the PNP state machine is             -Ignored when in wait mode, but enabled in other three modes             It is effective. WFK Wait For key When this bit is high, the PNP state is set.             The machine enters the key waiting mode. This command sets the PNP status             Ignored if the scene is in key wait mode, but the other three             Valid in mode. RESET Driving this pin high resets circuit C. This allows             On a general-purpose reset line, a 3 to 10 millisecond             Luss occurs. This command causes the device to             (PNP Set Read Data Port), PCSN             I (PNP Card Select Number), PNP             Only the state machine. This command is used when the PNP state machine             Ignored when in key wait mode, but in the other three modes             It is valid.       d.PNP WAKE [CSN] Command Register (PWAKEI). Address: 0A79h write; index PIDXR = 3   Writing to this register depends on the status of the CSN register and the data to be written. On the PNP state machine. Data is 00h and CSN is 00 If h, the PNP state machine enters the isolation mode. data Is not 00h and the CSN matches the data, the PNP state machine Enters the configuration state. If data does not match CSN, PNP state machine Enters sleep mode. This command also sets the address to that part. Reset the included serial EEPROM 78 control logic. This Is ignored if the PNP state machine is in key wait mode, , And is effective in the other three modes.       e.PNP Resource Data Re lister (PRE SDI). Address: PNPRDP read; index PIDXR = 4 Default: 00h   This register stores the local data read from the PNP serial EEPROM 78. It provides data for the memory control module 8 (LMC). Note: Serial EEPROM 78 is in direct control mode (PSEENI [0]) If it is, wake command before accessing with PRESDI. Have to do it. This command changes the PNP state machine to the configuration state. Only valid if       f.PNP Resource Status Register (P RESSI). Address: PNPRDP read; index PIDXR = 5 Default: 00h   When bit 1 of this register is high, the next PNP resource data Can read bits. All other bits are reserved. PR When ESDI is read, this bit is cleared until the next byte is available. Is done. This command is only valid when the PNP state machine is in the configured state. You.       g.PNP Card Select Number Register r (PCSNI). Address: 0A79h write; PNPRDP read;               index PIDXR = 6 Default: 00h   Write to this register when the PNP state machine is in the isolation state. The CSN of circuit C is set and changes the PNP state machine to configuration mode . This register is read-only when the PNP state machine is in configuration mode. You.       h.PNP Logical Device Number Regi ster (PLDNI).   Address: 0A79h write, PNPRDP read;                 index PIDXR = 7   Default: 00h   This register indexes the PNP address space to the logical device I do. The circuit C has the following two logical device numbers (LDN). 00 h = all AUDIO functions, synthesizer, codec, port; 01h = out (CD-ROM) interface. This register contains the PNP state machine. It can be accessed only when it is in a mature state.       i.PNP Audio Activate Register (PU ACTI) .   Address: 0A79h write, PNPRDP read;                 indexes PIDXR = 30h and PLDNI = 0   Default: 00h   When bit 0 of this register is high, all AUDIO functions are activated. It is. All other bits are reserved. If low, the AUDIO function Dress space is not decoded and interrupts and DMA channels are enabled. No.       j.PNP Audio I / O Range Check Regi ster (PURCI). Address: 0A79h write, PNPRDP read;               indexes PIDXR = 31h and PLDNI = 0 Default: 00h RCEN Range Clock Enable This bit is high.             And read all AUDIO logical device address spaces             Drives either 55 or AA based on the state of H5LA.             Be moved. This is because PUACTI [0] is not set (O             Only works if the audio device is not activated). H5LA High 55-Low AA RCEN is active             , This bit is the data value returned on the ISA data bus when reading             Select The high indicates that 55h is driven, and the low is AAh.             To be moved. Note: This register is used for external decoding.             Cannot be used in blog mode.       k.PNP Address Control Registers.   The following table describes all the controls for the addresses of blocks of I / O space in circuit C. All PNP registers are shown.   Note: There are three indices that control P2XR equally. This is a P2XR Supports non-contiguous addresses for locks. First index P2X0 [H , L] I are used for P2XR only.   All unused bits in the previous PNP address control register are reserved It is. All PNP address control registers are written using 0A79h And read using PNPRDP. P2XR, P3XR, PCODA It is assumed that all unspecified LSBs of R, PCDRAR are zero. various For functions controlled by a special address block, see General See the description section.       l.PNP Audio IRQ Channel 1 Select Register (PUI1SI). Address: 0A79h write, PNPRDP read;               indexes PIDXR = 70h and PLDNI = 0 Default: 00h   Bits [3: 0] select the IRQ number of the channel 1 interrupt as follows I do.   Bits [7: 4] are reserved. By writing to this register appropriately Therefore, UICI [2: 0] changes.       m.PNP Audio IRQ Channel 1 Type R register (PUI1TI). Address: PNPRDP read;               indexes PIDXR = 71h and PLDNI = 0 Default: 02h   This register describes the type of interrupt supported by circuit C. The data back to standard PNP software. Edge trigger, active It is read back as 02h indicating a high-high interrupt.       n.PNP Audio IRQ Channel 2 Select Register (P (UI2SI). Address: 0A79h write; PNPRDP read;               indexes PIDXR = 72h and PLDNI = 0 Default: 00h   Bits [3: 0] select the channel 2 interrupt IRQ number as follows: You.   Bits [7: 4] are reserved. By writing to this register appropriately And UICI [5: 3] changes.       o.PNP Audio IRQ Channel 2 Type R register (PUI2TI). Address: PNPRDP read;               indexes PIDXR = 73h and PLDNI = 0 Default: 02h   This register describes the type of interrupt supported by circuit C. The data back to standard PNP software. Edge trigger, active It is read back as 02h indicating a high-high interrupt.       p.PNP Audio DMA Channel Select R registers (PUDISI, PUD2SI). Address: 0A79h write; PNPRDP read;               indexes PIDXR = 74h (PUDISI),               PIDXR = 75h (PUD2SI) and PLDNI = 0 Default: 04h   Bits [2: 0] of these registers are used for channel 1 and channel Select the DMA request number of rule 2.   Bits [7: 3] are reserved. By writing to this register appropriately And UICI [5: 0] changes.       q.PNP Serial EEPROM Enable (PSEEN I). Address: 0A79h write; PNPRDP read;               index PIDXR = F0h and PLDNI = 0 Default: 00h   This register is accessible only when the PNP state machine is in the configuration state. You. ISADR ISA-Data-Bus Drive. This is ISA data               Bus output low drive function Iol, SD [15: 0], IOC               HRDY, IOCS16 # and IOCHK # are specified. At 5V               , 00 = 24 mA, 01 = 12 mA, 10 = 3 mA, 11 = re               serviced. At 3.3V, drive is ISADR =               00, 01, and 10 are at least 3 mA. SEM Serial EEPROM Mode. Low is serial EE               Specifies that the PROM interface circuit is in initialization mode               You. In this mode, data transfer is controlled by the PNP state machine.               Controlled. High indicates that the serial EEPROM 78 is directly PSE               Specifies the control mode controlled by the CI.       r.PNP Serial EEPROM Control (PSECI). Address: 0A79h write; PNPRDP read;               index PIDXR = F1h and PLDNI = 0 Default: XXXX 000X   In the control mode (PSEENI [0]), when PUACTI is inactive, Used to directly control serial EEPROM 78 using bits [3: 0] It is. Bits [7: 4] are the various latched on the trailing edge of RESET. This is a read-only status bit that indicates the status of the control signal. , See the Pin Summary above). This register contains the PNP state machine But Accessible only when in configuration state. SUS32 SUSPEND-C32KHZ Select. RESET               Internal signal latched on RA [21] pin at trailing edge               Provides the status of IPSUS32. XDEC External Decode Select. RESET               Internal signal latched on RA [20] pin at trailing edge               Provides the status of IPPNPSYS. VCC VCC is 5 volts. Provides the status of the internal 5V-3V detection circuit               I do. High at 5V, low at 3.3V. SECS Serial EEPROM Chip Select. this               Writing to a bit is reflected on the PNPCS pin. reading               As a result, a latched value is obtained. SESK Serial EEPROM Serial Clock. this               Writing to the bit is reflected on the MD [2] pin. reading               As a result, a latched value is obtained. SEDI Serial EEPROM Data IN. To this bit               The write is reflected on the MD [1] pin. By reading,               The value that was touched is obtained. SEDO Serial EEPROM Data Out. This bit               It will be ignored. By reading, the state of the MD [0] pin is known.       s.PNP Power Mode (PPWRI). Address: 0A79h write; PNPRDP read;               index PIDXR = F2h and PLDNI = 0 Default: X111 1111   This register disables the clock for the main section of circuit C, and Used to enable power mode. Writing to this register is This is done in a different way. ENAB which is the MSB of data is 1 or 0 Used to specify whether to write the offset. For bits [6: 0], high is , ENAB indicates that a bit is written to a bit, and a low Indicates that you want to keep. Therefore, a subset of bits [6: 0] need to be modified When there is, the software must first determine the state of the bits that do not change. No need to read registers. For example, setting bit [0] high To write, 81h must be written and bit [4] is cleared low Needs to write 10h.   Clear bits [6: 1] to low state (0111 111X I / O write When one command is received, the circuit C operates in the shutdown mode. Mode, the 16.9 MHz oscillator 16 is disabled. Hereafter, bit [ 6: 1] is set high, the 16.9 MHz oscillator 16 Re-enabled. After being re-enabled, the 16.9 MHz clock Requires 4-8 milliseconds to stabilize.   This register is accessible only when the PNP state machine is in the configuration state. You. ENAB Enable. Specify the value to be written to bits [6: 0] of the register.             Used to determine (see above). In all seven cases, c             A indicates that the block is operating, and a low indicates low-power mode.             Indicates that there is. PWR24 24.576 MHz Oscillator Enable. This             24.576 MHz oscillator 18 is stopped by the bit low of             It is. When CPDFI [0] or CRDFI [0] is low             It is not recommended to disable the oscillator at this time. But C             Regardless of the state of PDFI [0] and CRDFI [0],             Setting this bit low as part of a             No problem. PWRL Local Memory Control Enable. this             The bit low is 16 bits to the local memory control module 8.             . Disable 9Mhz clock, C32KHZ input 72             Slow refresh cycle to local DRAM 110 using             forgive. PWRS Synthesizer Enable. This bit row is             Disable 16.9 MHz clock to the synthesizer module 6             To the synthesizer DAC input to the codec mixer.             Disable lock (for this application             , See description of synthesizer and DAC input). PWRG Game-MIDI Ports Enables. This bit             Low disables all clocks to port module 10.             And the internal and external resistances of the current consumption are disabled. PWRCP Codec Playback Path Enable. this             Bit low is used for playback FIFO, format conversion,             Clocking to codec playback path, including             Disable the lock. PWRCR Codec Record Path Enable. This bit             Rows are record FIFO, format conversion, filtering,             Disable clock to codec record path, including ADC             Bull. PWRCA Codec Analog Circuit Enable.             This bit low disables all codec analog circuits.             To low power mode. If low, all analog             -MIC [L, R], AUX1 [L, R], AUX2 [L,             R], LINEIN [L, R], MONOIN, LINEO             UT [L, R], MONOOUT, CFILT, IREF-             Goes into a high impedance state.       t.PNP CD-ROM Activate Register (P RACTI). Address: 0A79h write; PNPRDP read;               index PIDXR = 30h and PLDNI = 1 Default: 00h   When bit 0 of this register is high, the external interface (eg, C The D-ROM function is activated. All other bits are reserved. Low In this case, the external function (CD-ROM) address space is not decoded. Outside If function (eg CD-ROM) interrupts and DMA channels are enabled Absent.       u.PNP CD-ROM I / O Ranges Check Re gister (PRRCI). Address: 0A79h write; PNPRDP read;               index PIDXR = 31h and PLDNI = 1 Default: 00h RCEN Range Check Enable. With this bit high,             All external function address space reads are in H5LA state             55 or AA is driven based on. This is PRA             CTI [0] is not set (external device is activated             Only works when no). H5LA High 55-Low AA. When RCEN is active,             Bits select the data value to be read back. High drives 55h             To be activated, low specifies that AAh is to be activated.       v.PNP CD-ROM High, Low Address R register (PRAHI, PARAI).   See the previous PNP address control register.       w.PNP CD-ROM IRQ Select Register (PRISI). Address: 0A79h write; PNPRDP read;               indexes PIDXR = 70h and PLDNI = 1 Default: 00h   Bits [3: 9] indicate the IRQ number of the external function (CD-ROM) interrupt below. Choose like. That is,   Bits [7: 4] are reserved.       x.PNP CD-ROM IRQ Type Reister (PR ITI). Address: PNPRDP read;               indexes PIDXR = 71h and PLDNI = 1 Default: 02h   This register contains the interrupt type supported by circuit C. Return data to standard PNP software. Always have an edge trigger, active It is read back as 02h indicating an interrupt.       y.PNP CD-ROM DMA Select Register (PRDSI). Address: 0a79h write, PNPRDP read;               indexes PIDXR = 74h and PLDNI = 1 Default: 04h   Bits [2: 0] of this register correspond to the external function (CD-ROM) as follows. ) Is selected. That is, Bits [7: 3] are reserved. IV. CODEC module   FIG. 44 shows a block diagram of various functions and features included in the CODEC module device 505. It is shown in diagram format. The CODEC 505 has 16 samples, 32 Bit length ON-CHIP memory, record and playback FIFO, 538, 532, data read and write Configurable thresholds that can generate DMA and I / O interrupts for embedded operations include. Mixing and Analog Functions block 510 has left and right channels Includes analog mixing, multiplexing, and loopback functions. Left and right channel stereo, single channel mono, and analog audio signal It is summarized in Mixing and Analog Functions block 510. With these things Stereo audio signal from CODEC 505 to Analog Output Pins 522 for external use Is output. The input to the Mixing and Analog Functions block 510 is  Input Pins 520, Synthesizer Digital-to Analog Converter block 512 Analog output (this is a processing block outside the CODEC 505 or inside the CODEC 505 It consists of it and a playback Digital-to-Analog Converter 514. Analog audio output from Mixing and Analog Functions block 510 is recorded Analog Passed to -to-Digital Converter block 516. Synth Digital-to Analog Conv The erter block 512 receives digital data from the Synthesizer 524. This manual The Synthesizer 524 is either an external device or the same monolithic as the CODEC device 505. It may be integrated on the IC.   The recording path for CODEC 505 is depicted in FIG. Analog audio data is Mixi ng and Analog Functions Block 510, and output and record Analog-to-Digital Co The data is passed to an nverter (ADC) block 516 and converted into 16-bit signed data. The sample rate specified for the recording ADC 516 depends on the sample rate for the recording ADC 516. The higher the level, the higher the quality of the recorded digital audio signal. Affects sound quality, such as getting closer. Fourth Order Cascaded Sigma- The functions and operations of the Delta Modulator are illustratively implemented in the recording ADC 516. And described in Application No. 08 / 071,091, dated 12/21/93, "Fourth Order Casc aded Sigma-Delta Modulator ″. It is specified in assignee. The converted digital audio data is then Sent to the Format Conversion block 536 where the 16-bit digital audio data Is converted to a data format specified in advance. Formatted data The digital data is then 16 bit left channel data and 16 bit right channel The data is sent to the 32-bit record FIFO 538 as data. These are further external systems Register Bus526 for output to system memory, or Off-Chip Local Memory R Handed over to ecord FIFO 530 (LMRF).   The playback path for the CODEC 505 includes a digital Data, which is stored in the Off-Chip Local Memory Playback FIFO (LM PF) From Block 528 or external memory, via Register Data Bus 526, It is sent to the playback FIFO 532 of bit length. In this application, LMRF530 and LMPF 528 is a discrete Off-Chip FIFO or Off-Chip Loc configured as FIFO It is assumed to be a dedicated address space in al Memory110. Formatted data The data is then input to the Format Conversion block 534, where the 16-bit Converted to signed data. The converted data is then used by the CODEC playback DAC 514. , Where it is converted to an analog audio signal and mixed and analog functions Output to block 510.   Serial Transfer Control block 540 includes serial to parallel and parallel to serial Conversion function, 32-bit record FIFO 538 output and 32-bit playback FIFO532 And a loopback function between the input to the input. Also, Synthesizer Seri al Input Data Port 542 (Figure 44) receives serial data from Synthesizer 524 And communicate with the Serial Transfer Control block 540. Serial Transfer Contro l Block 540 is via recording FIFO 538, P playback FIFO 532, Local Memory Control 790 Off-Chip Local Memory 110 (or LMRF530 and LMPF), Synthesizer Serial In Connect to put Data Port542 and External Serial Interface. External Serial Interface544 has an external serial port through which bidirectional serial Data communication is provided to Serial Transfer Control block 540 (FIG. 49). Exte The rnal Serial Interface 544 may be a UART or a synchronously or asynchronously controlled system. Other devices that provide real data transfer may be used. External Serial Interfac e544 (Figure 44) is out for off-chip generation of special audio effects Some digital signal processors (DSPs) or bidirectional serial data communication It can be connected for serial communication with other devices that can. Also, External Ser ial Interface 544 is serial data from the External Synthesizer Serial Input Port 542. Data path. In addition, bidirectional data transfer is performed using the Serial Transfer Control This can also be done via the data path between l540 and Local Memory Control 790. Wear.   Various loopback and data conversion functions related to Serial Transfer Control 540 Are shown in more detail in FIGS. 49 and 49a.   The CODEC 505 has an A / D (analog / digital) conversion function in the recording path, Includes a D / A (digital / analog) conversion function. These conversion functions A / D and D / A operations can be performed simultaneously at different sample rates It can operate independently and has different sample rates and data formats. Have The loop access circuit (in the Mixing block 606) Sample the voice signal, perform A / D operations at one rate, digitize the signal, Then play the samples digitized by playback D / A at different sample rates It has a function that can be played.   Counters, Timers and Miscellaneous Digital Functions518 with block specification Has A / D and D / A conversion of CODEC 505, format conversion blocks 532, 536, and A circuit for controlling the data transfer function is included. In CODEC505 operation, Data format is possible. That is, 8-bit unsigned linear, 8-bit Μ-law, 8-bit A-low, 16-bit signed little endian, 16-bit signed Big endian, or 4-bit 4: 1 IMAADPCM format.   Figure 45 shows the CODEC analog mixer 60 of the Mixing and Analog Functions block 510. Six left channels are depicted. The layout of the right channel of mixer606 is the left channel. Same as channel, but not shown in FIG. Minor signal name correction With the exception of, all descriptions of left channel signals and functions are also apply.   CODEC analog mixer 606 is more programmable than previous CODEC audio devices It has various features and functions. Five input lines to analog mixer 606 in Figure 45 (LTNFINL682, MICL684, AUXIL686, AUX2688, and MONOIN690) And programmable attenuation / amplification control circuits 608, 610, 612, 614 and 696 respectively. It is rare. All inputs and outputs to analog mixer 606 are stereo signals You. However, only the input MONOIN690 and the output MONOOUT668 are mono signals. Also, It is possible to specify whether the audio signal is mono or stereo, input or output.   The triangle block in FIG. 45 shows a programmable attenuation / amplification control circuit. Control each attenuation / amplification control circuit and the attenuation / amplification range for that circuit The registers are shown next to each triangle block in FIG. It is in the er block 566. The description and location of each of these registers is given below. It is on the street. The individual bits in these registers are described in the ″ Method and Apparatus for  Modifying the Contents of a Register via a Command Bit ″ As described in application Ser. No. 08 / 171,313 of U.S. Pat. This includes Describes how to operate on a single bit without specifying the entire register, It is specified in the common assignee of the present invention and is hereby incorporated for all purposes. Have been included.   The range of attenuation values for these registers is shown in FIG. 45a. each The value stored in the attenuation / amplification control register can be found in Counters, Timers and Misc. Digit al Function block 518 and the Gain / Attenuation block described below. In the CODEC control logic in step 734 (Fig. 47), the specified amplification value or attenuation value is Used to supply. Analog audio signal input to each attenuation / amplification circuit Force amplitude is controlled by the value stored in each attenuation / amplification control register. Is controlled.   A summary of the registers used in CODEC505Register block 566 and their desired The new features are as follows: CODEC505 is CS4231 (modes 1 and 2) and AD1848 and its It is designed to be generally register compatible with other previous technologies. Indirect ad The addressless method is used for accessing most CODEC registers. Model 1 (below) Has 16 indirect registers and model 2 (below) has 28 indirect registers , And Model 3 (below) have 32 indirect registers.   In the following register definition, reserved bits are indicated by RES or RESERVED. all Must write such a field as 0. In reading, undefined value Will come back. The read-modify-write operation allows you to write back the value you read. CODEC direct register CODEC INDEX ADDRESS REGISTER (CIDXR) Address: PCODAR + 0 Read and write Default: 0100 0000 Mode: Bits [7: 5, 3: 0] Modes 1, 2, and 3; Bit [4] Modes 2 and 3 INIT Initialization. CODEC is in initialization phase and responds to I / O activity            If not, consider read-only bit high            Is done. This bit is set only by a software reset,            Clear when 16MHz oscillator is stable and CODEC 505 is initialized            It is. MCE mode can be changed. This bit protects CPDFI, CRDFI, and CFIG1I from writing.            (Except CFIG1I [1: 0], which can be changed at any time). This bit            If the signal is high, the protection register can be changed. Also, DAC output            (CLDACI and CRDACI) are forcibly muted. Bit must be high            The protection register cannot be changed. DTD DMA transfer is not possible. If this bit is high, CSR3R sample            DMA transfer when one of the data interrupts becomes active            Is stopped. Mode 1: DMA is stopped (regardless of playback or recording)            Zu). And after the sample counter interrupts,            The pull counter stops; the active FIFO no longer has data.            Data cannot be transferred to CODEC 505. GINT is cleared or DTD is            When cleared, DMA transfers, FIFO transfers, and sample counters            Resumes. Modes 2 and 3: Record sample counter interrupted            Cause recording DMA, recording FIFO, and recording sample counter            Stops; when the playback sample counter interrupts,            The raw DMA, playback FIFO, and playback sample counter stop.            The appropriate interrupt bit in CSR3I is cleared or            When the DTD is cleared, the appropriate DMA transfer and sample counter            To resume. In mode 3, this bit also controls the CODECFIFO, LMRF, and LMPF            Works to stop data transfer between. LA [4: 0] Indirect address pointer. These bits are used by registers in the indirect address space.            Used to indicate a star. In mode 1, 16-bit register space            Is defined; LA [4] is reserved. Models 2 and 3 use 32-bit            Register space is defined. CODEC INDEXED DATA PORT (CDATAP) Address: PCODAR + 1 read / write Modes: 1, 2, and 3   This is the access port through which all CODEC index registers ( These are pointed to by the CODEC index address register (CIDXR [4: 0]) ) Is read or written. CODEC state 1 REGISTER (CSR1R) Address: PCODAR + 2 read (and writing to this address clears GINT Do) Default: 11001110 Modes: 1, 2, and 3   This register reports interrupt status and various playback and recording FIFO conditions. Ma When this register is read, CSR2I [7: 6] and CSR3I [3: 0] are set if they are set. Once cleared. Writing to this register will cause all CODEC interrupts Cleared. RULB Record channel upper / lower byte indication. Record when this bit is high          When reading the FIFO, the upper byte (bits [15: 8]) of the 16-bit sample is          Returned, or indicates that the recorded data is 18 bits or less          .          If this bit is not high, a 16-bit sample          Indicates that the lower byte of the pull (bits [7: 0]) is returned. Finally          After the last byte of the sample is read from the recording FIFO,          The state of this bit in that byte until a sample of          does not change. RLR Recording channel left / right sample indication. Record when this bit is high          Reading the FIFO returns the left sample, or the recording path is          No mode or ADPCM mode (or both)          You. If this bit is not high, the read returns the right sample          . Last byte of last received sample is read from record FIFO          After that, this view on that byte is received until the next sample is received.          The state of the kit does not change. RDA recording channel data valid. If this bit is high, read from the record FIFO.          Indicates that valid data exists. If this bit is not high,          Indicates that nothing is in the FIFO. SE sample error. Recording FIFO over          Run or underrun of the playback FIFO (OR of CSR2I [7: 6])          This bit is set when data is lost. Re-record channel          If both raw channels are valid, the specific          The channel is determined by reading CSR2I or CSR3I. PULB Play channel upper / lower byte instruction. Play if this bit is high          The next write to the FIFO is the upper byte (bit          [15: 8]) or the playback data is 8 bits or less          Is shown. If this bit is not high, writing to the playback FIFO is 16          Indicates the lower byte (bits [7: 0]) of the bit sample. Regeneration          When the FIFO is full, the last write until the FIFO is full          The state of the inserted byte does not change. PLR Play channel left / right sample instruction. Play if this bit is high          The next write to the FIFO will be the left sample or the playback path will be          No mode or ADPCM mode. This bit must be high          If so, the right sample is assumed. When the playback FIFO is full,          Until the FIFO becomes free, the state of the last written byte changes.          Absent. PBA playback channel buffer enabled. When this bit is high, the playback FIFO          Indicates that there is room for additional data. If the bit is not high,          Indicates that the FIFO is full. GINT Global interrupt status. Active that can request an interrupt          This bit is set when in the state. This is in CODEC: CSR3I [6: 4]          By ORing all of the interrupt sources          Implemented. Playback and recording data register (CPDR, CRDR) Address: PCODAR + 3 Read (Record FIFO), Write (Play FIFO) Modes: 1, 2, and 3   The data written to this address is loaded into the playback FIFO. This ad The data read from the address is removed from the recording FIFO. In status register 1 Bits indicate whether the data is on the left or right channel and the 16-bit sample Indicates the top or bottom of the sample. Is the playback FIFO in DMA mode? Or the playback path is not valid (CFIG1I). Writes to the I / O are ignored; the recording FIFO is in DMA mode or the recording path is If it is not valid (CFIG1I), reading from this address is invalid. Is seen. CODEC CIDXR, CDATAP index register   Left and right A / D input control (CLICI, CRICI) Address: PCODAR + 1 read, write; left index CIDXR [4: 0] = 0, right in Dex CIDXR [4: 0] = 1 Default: 000X 0000 (both) Mode: 1, 2, 3   This pair of registers specifies the input source to the A / D converter and can be used for individual signal paths. Used to specify the magnitude of the applied gain. These two registers are the same One controls the left channel and the other controls the right channel. LSS [1: 0] Left and right ADC source specification. These bits specify which input source. RSS [1: 0] Sent to the analog-to-digital converter. RWB read / write bit. This bit has no control. Writing              Everything you read is read back. LADIG [3: 0] Left and right A / D input gain specification. The specified input source has a gain stage              A / D via RADIG [3: 0] Transmitted to the converter. These four bits are applied to the signal applied to the signal.              The amount of in is indicated. These values are from 1.5h in 0h = 0dB              It changes up to 0Fh = + 22.5dB (see FIG. 45a). Left and right AUX1 / SYNTH input control (CLAX1I, CRAX1I) Address: PCODAR + 1 read / write; left index CIDXR [4: 0] = 2, right index               Index CIDXR [4: 0] = 3 Default: 1XX0 1000 (both) Mode: 1, 2, 3   This pair of registers is multiplexed by SYNTH (CFIG3I [1]) to left and right AUX1 or MIXER. Control input). The two registers are the same, one is the left channel The other controls the right channel. LA1ME, left and right AUX1 / SYNTH mute enabled. This bit is high RA1ME and the specified input sound are muted. If not high             Input is done normally. LA1G [4: 0], AUX1 / SYNTH gain specification for left and right. This allows the RA1G [4: 0] Indicates the amount of gain applied to the AUX1 / SYNTH input signal             It is. These values are from 1.5h to 00h = + 12dB to 1Fh =             It changes to -34.5dB (see Figure 45a). AUXILIARY input control for left and right (CLAX2I, CRAX2I) Address: PCODAR + 1 read / write; left index             CIDXR [4: 0] = 4, right index CIDXR [4: 0] = 5 Default: 1XX0 1000 (both) Mode: 1, 2, and 3   This pair of registers controls the left and right AUX2 inputs to the MIXER. These two records The registers are the same, one controls the left channel and the other controls the right channel. Control. LA2ME, left and right AUX1 / SYNTH mute enabled. This bit is high RA2ME and AUX2 inputs are muted. If not high, input             It is done through. LA2G [4: 0], left and right AUX2 gain specification. This allows the AUX2 input signal The amount of gain applied to RA2G [4: 0] is shown. These values are 1.5dB             The unit changes from 00h = + 12dB to 1Fh = -34.5dB (Fig.             45a). Left and right playback DAC control (CLDACI, CRDACI) Address: PCODAR + 1 read / write; left index             CIDXR [4: 0] = 6, right index CIDXR [4: 0] = 7 Default: 1X00 1000 (both) Modes: 1, 2, and 3   This pair of registers controls the left and right DAC analog output when input to MIXER I do. The two registers are the same, one controls the left channel and the other One controls the right channel. LDME, left and right silence enabled. When this bit is high, RDME DAC input is muted. If not high, input is           Will be LA [5: 0], left and right DAC attenuation specification. This allows the signal to be applied to the DAC input signal. RA [5: 0] indicates the amount of attenuation. These values are 00h = 0 in 1.5dB units.           It varies from dB to 3Fh = -94.5dB (see Figure 45a). Playback data format register (CPDFI) Address: PCODAR + 1 read and write;             Index CIDXR [4: 0] = 8 Default: 0000 0000 Mode: The definition of this register changes based on the mode.   This register determines the sample rate (which of the two oscillators to use, Specify the oscillator division), stereo or mono, linear or companded data , 8 bits or 16 bits. The mode change enable bit (CIDXR [6]) is active This change can only be made when.   In mode 1, this register controls both the playback path and the recording path.   In mode 2, bits [3: 0] of this register determine the recording sample rate and playback sample rate. Control both pull rates (these must be the same), bits [7: 4] Indicates the state of the data format of the reproduction path.   In mode 3, this register controls only the playback path; recording sample rate Is controlled by CRDFI. PDF [2: 0] Playback data format selection. These three bits are for CODEC            2 shows a reproduction data format of the first embodiment. * Modes 2 and 3 only. In mode 1            Means that PDF [2] is treated as 0 regardless of the user's specification. PSM playback stereo / mono selection. When this bit is high, stereo operation is disabled.            Selected; samples alternate between left and then right. this            If no bit is set, mono mode is selected; playback sample            Is sent to both the left and right FIFOs. Recording sample (mode 1            At) comes only from left ADC. PCD [2: 0] Regeneration clock division specification. With these three bits, play in mode 3            The clock rate is set to the recording rate and playback rate in mode 1 and mode 2.            Indicates a port number. * This function works when XTAL1 is less than 18.5MHz.            These division values can be reduced. PCS playback crystal designation. When this bit is high, the playback sample frequency is            A 16.9344 MHz crystal oscillator (XTAL2) is used for the number. This bit            If not high, a 24.576 MHz crystal oscillator (XTAL1) is used.            It is. Configuration Register 1 (CFIG1I) Address: PCODAR + 1 read and write;             Index CIDXR [4: 0] = 9 Default: 00XX 1000 Mode: 1, 2, 3   This register allows the I / O cycle or DMA to service the CODEC FIFO. Used, DMA operation is one channel or two channels, recording path and Specify whether to enable or disable the playback path. Bits [7: 2] are protected CIDXR [MCE] must be set to write to protected bits. Absent. RFIOS Record FIFO I / O designation. If this bit is high, the recording FIFO is          It is serviced by Kuru. If not, DMA operations are supported. PSIOS Playback FIFO I / O designation. If this bit is high, the playback FIFO is          It is serviced by Kuru. If not, DMA operations are supported. CALEM Calibration emulation. This is a read / write bit. This is high          If so, it affects CSR2I [5]. DSI / 2 One or two channel DMA operation specification. If this is high, a single channel          Panel operation is specified; only recording operation or only playback operation is possible          But not both; both record and playback DMA operations are possible in this mode          If so, only playback transfer is served. This must be high          For example, DMA operation on two channels is possible. RE recording enabled. When this is high, the recording CODEC pass is valid. Standing         If not, the recording path is disconnected and the recording data use status bit (status register         Star 1) is kept unavailable. PE regeneration enabled. When this is high, the playback CODEC path is valid. Standing          If not, the playback path is disconnected and the playback buffer usage status bit (status          Register 1) remains unavailable. External control register (CEXTT) Address: PCODAR + 1 read and write;             Index CIDXR [4: 0] = Ah Default: 00XX 0X0X Mode: 1, 2, 3   This register has two general purpose external output pins together with global interrupt enable control. Includes control bits for GPOUT [1: 0] General purpose output flags. The state of these bits is reflected on GPOUT [1: 0] pins              Is done. RWB read / write bit. This is a readable and writable bit              is there. No control is performed in the device. GIE Global Iantarupt permission. If this is high, the CODEC interrupt              Becomes effective. If not high, a CODEC interrupt is specified              Not passed to the IRQ pin. The status bit indicates the status of this bit.              Therefore it is not affected. Status register 2 (CSR2I) Address: PCODAR + 1 read and write;             Index CIDXR [4: 0] = Bh Default: 0000 0000 Mode: 1, 2, 3   This register indicates the status of certain FIFO errors and the data request bits for recording and playback. Report. And allow testing of the A / D path for clipping. RFO Record FIFO overrun. Recording FIFO is full, CODEC             Need to load some samples (the samples are discarded)             Whenever this bit is set. This bit is             Read or clear when CIDXR [MCE] changes from 1 to 0              Is done. PFU Playback FIFO underrun. The playback FIFO is emptied and the CODEC is              This bit is set whenever a pull is needed. this              The bit is read from CSRIR or CIDXR [MCE] changes from 1 to 0.              Cleared when touched. In mode 1, the previous sample is              Used once. In modes 2 and 3, CFIG2I [0] programming              Second, the previous sample is used again or the data is forced              To 0). CACT Calibration activity simulation. This bit if CFIG1I [3] is high              Indicates that the mode change enable bit (CIDXR [6]) has become inactive              Is set up. This bit completes the first continuous read of CSR2I.              Where it is cleared. DRPS DMA request pin status. This bit indicates whether the record or playback DMA request pin is              You can stand whenever you are active. RADO [1: 0], left and right out of range detection. These pairs of bits are Whether the signal to DAC at LADO [1: 0] is clipping            Or changed to reflect that. Mode designation, ID register (CMODEI) Address: PCODAR + 1 read and write;           Index CIDXR [4: 0] = Ch Default: 100X 1010 Mode: 1, 2, 3   This register specifies the mode of operation of the CODEC and reports the revision number of circuit C . ID [4], revision ID number. With these 5 bits, the CODEC times of the present invention ID [3: 0] Specify the revision number of the road C (the first number is 1,1010). This             These numbers are read-only and cannot be changed. MODE [1: 0] Specify the mode. (0,0) = mode 1; (1,0) = mode 2; (0,1) = reserved; (1,              1) = Mode 3. To switch to mode 3, write 6Ch to this port              Must be done; that is, bit [5]              Cleared for writing. Loopback control register (CLCI) Address: PCODAR + 1 read and write;             Index CIDXR [4: 0] = Dh Default: 000 00X0 Mode: 1, 2, 3   This register controls the output of the gain stage of the ADC path (at the time of input to the ADC) and DA Allows and specifies the analog path attenuation to and from the C loopback sum input. This Register affects both left and right channels. LBA [5: 0] Loopback attenuation. Suitable for loopback signals before summing at the DAC output.            Specifies the amount of attenuation used. 00h = 0dB in 1.5dB steps            To 3Fh = -94.5dB (see Figure 45a) LBE loopback permission. If this is high, the loopback path will exit the DAC.            Mix with power is allowed. When cleared, the signal is rejected and the signal            Muted. Upper and lower playback count registers (CUPCTI, CLPCTI) Address: PCODAR + 1 read and write;           Upper index CIDXR [4: 0] = Eh,           Lower index CIDXR [4: 0] = Fh, Default: 0000 0000 (both) Mode: The definition of these registers depends on the mode   These registers together make up the 16-bit used by the playback sample counter. Supply preload values. CUPCTI provides upper half preload bits [15: 8], CLPCTI Supplies the lower half preload bits [7: 0]. All 16 bits write upper byte The counter is loaded while writing; therefore, the lower byte is written first. However, only the lower byte is written and the counter Will cause a new value to be placed in the timer. Reading these registers and writing to them is not the current state of the counter The returned value is returned. In Model 1, this register is used for both playback and recording. Modes 2 and 3 are only used for playback. Configuration Register 2 (CFIG2I) Address: PCODAR + 1 read and write;             Index CIDXR [4: 0] = 10h Default: 0000 XXX0 Mode: 2, 3 OFVS output maximum voltage specification. When this is high, the maximum output is 2.9V for Vcc = 5V        And becomes 1.34 for Vcc = 3.3V. If not high, the maximum output is        It becomes 2.0V for Vcc = 5V and 5V for Vcc = 3.3V. This bit        Affects the left and right signals exiting the Mixer before entering CLOAI and CROAI        This bit also changes the input to the recording multiplex. TE timer enabled. When this is high, the timer and its associated        Is activated. If not, the timer does not run. timer        The counter is specified by CLTIMI and CUTIMI. RSCD recording sample counter invalid. If this is high, the recorded sample cow        Will not work. This bit is valid only in mode 3,        It only affects the sample counter. PSCD playback sample counter invalid. If this is high, the playback sample cow        Will not work. This bit is valid only in mode 3,        It only affects the sample counter. DAOF D / A output forced valid. If this is high, the playback FIFO has an underrun error        Whenever occurs, the output of the D / A converter is forcibly set to the intermediate value of the maximum output.        You. When this is cleared, the last valid sample is an underrun        Output in the state of Configuration Register 3 (CFIG3I) Address: PCODAR + 1 read and write;             Index CIDXR [4: 0] = 11h Default: 0000 X000 Mode: bits [7: 1] mode 3; bits [0] modes 2 and 3   In mode 3, this register is used to program the FIFO threshold and the I / O mode F Provides interrupt generation for IFO services. RPIE Record FIFO service request interrupt enabled. I / O operation with recording path enabled           Is specified (CFIG1I), the FIFO / DMA interface of status register 3           Generate an interrupt request whenever the interrupt bit is set           Becomes possible. This bit can be accessed only in mode 3. PPIE Play FIFO service request interrupt enabled. Playback path is valid and I / O operation           Is specified (CFIG1I), the FIFO / DMA interface of status register 3           Generate an interrupt request whenever the interrupt bit is set.           Is possible. This bit can be accessed only in mode 3.           You. FT [1: 0] FIFO threshold specification. These two bits are either DMA or           Record and playback FIFO thread for when a           Specify the shoulder. These bits are only accessible in mode 3.           Mode 2 and mode 2 have no effect. PVFM playback variable frequency mode. When this bit is high, the playback variable frequency mode is        Is selected. In this mode, the sample rates are CPDFI [0] and CPVFI        Variable frequency between 3.5KHz and 32KHz, selected by coupling        Becomes When in this mode, audio quality may be reduced. This        Are accessible only in mode 3. SYNA AUX1 / SYNTH signal selection. This bit is set to CLAX1I before entering the left and right Mixers.        Select the signal source that enters the CRAX1I attenuator. If this bit is not set        , AUX1 [L, R]. When this bit is high, the output of the SYNTHDAC         Select This bit can be accessed only in mode 3. RWB read / write bit. This bit enables reading and writing. Inside the device        Does not control anything. This is only accessible in mode 2 and mode 3        Is possible. Left and right line input control registers (CLLICI, CRLICI) Address: PCODAR + 1 read and write;             Left index CIDXR [4: 0] = 12h,             Right index CIDXR [4: 0] = 13h Default: 1XX0 1000 (both) Mode: 2, 3   This pair of registers controls the gain / attenuation applied to the LINEIN input to the Mixer. I will. These registers are the same, one controls the left channel and the other one Control the right channel. LLIME, left and right LINE input mute enabled. When this bit is high, RLIMF, LINEIN input sound is suppressed. Otherwise normal             Works. LLIG [4: 0], left and right LINE input amplification designation. This is the LINEIN [L, R] input signal Specifies the amount of amplification applied to RLIG [4: 0]. These values are only 1.5 dB             From 0 = + 12 to 1Fh = -34.5dB (see Figure 45a             reference) Upper and lower timer registers (CLTIMI, CUTIMI) Address: PCODAR + 1 read and write;             Lower index CIDXR [4: 0] = 14h,             Upper index CIDXR [4: 0] = 15h, Default: 0000 0000 (both) Mode: 2, 3   Together, these registers are 16-bit pre-rows used by general-purpose timers. Supply the value. These counts are expressed in 10 microseconds (650 millimeters total). Seconds). CUTIMI sets the upper half preload bits [15: 8] and CLTIMI sets the lower half preload bits. Supply the data bits [7: 0]. Writing CLTIMI turns all 16 bits into a general-purpose timer Loaded. Reading these registers will return the value of the counter instead of the current value. Is returned. Left and right MIC input control registers (CLLICI, CRLICI) Address: PCODAR + 1 read and write;             Left index CIDXR [4: 0] = 16h,             Right index CIDXR [4: 0] = 17h Default: 1XX0 1000 (both) Mode: 3   This pair of registers controls the left and right MIC inputs to the Mixer. These regis The same, one controls the left channel and the other controls the right channel . LLME, RMME Left and right MIC silencing allowed. When this bit is high, the MIC input is muted. Is done. If not high, it works as usual. LMG [4: 0], RMG [4: 0] Left and right MIC gain specification. This applies to MIC [L, R] input signals. Specify the amount of gain to be applied. These values range from 0 = + 12 to 1Fh = -34.5dB in 1.5dB steps. Changes (see Figure 45a) Status register 3 (CSR3I) Address: PCODAR + 1 read, write (to clear certain bits); Index CIDXR [4: 0] = 18h Default: X000 0000 Mode: 2, 3; The definition of bits [5: 4] depends on the mode.   This register is the cause of various interrupts with other FIFO status information. And report. TIR, RFDI, and PFDI bits each have 0 as the active bit Cleared by writing. Writing 1 is ignored. These bits Is also cleared by writing an arbitrary value to CSR1R. Obera [3: 0] of the under-run bits are cleared by reading CSR1R Is done. These bits also clear the CIDXR mode change enable bit. Sometimes cleared. TIR timer interrupt request. When this bit is set, the timer Indicates that there is a tap request. This writes a 0 to this bit, or Cleared by writing any value to CSR1R. RFDI record FIFO interrupt request. When this bit is set, the recording path Indicates that there is a put. This writes 0 to this bit or any value Is written to CSR1R. Mode 2: This bit is recorded Indicates that there is an interrupt from the sample counter. CFIG1I [7] = 0 in mode 3 (DMA): This bit indicates that there is an interrupt from the recording sample counter. Show. In mode 3, CFIG1I [7] = 1 (I / O): This bit is the recording FIFO threshold (CFIG3 Indicates that I) has been reached. PFDI Play FIFO interrupt request. When this bit is set, the playback path interrupt Indicates that there is a put. This writes 0 to this bit or any value Is written to CSR1R. Mode 2: This bit is played Indicates that there is an interrupt from the sample counter. CFIG1I [6] = 0 in mode 3 (DMA): This bit indicates that there is an interrupt from the playback sample counter. Show. In mode 3, CFIG1I [6] = 1 (I / O): This bit sets the playback FIFO threshold (CFIG3 Indicates that I) has been reached. RFU Record FIFO underrun (modes 2 and 3). Read from empty record FIFO Once this bit is set. RFO Record FIFO overrun (modes 2 and 3). ADC fills record FIFO with sun This bit is set if a pull needs to be loaded. This is the same as CSR2I [RFO] One. This bit is set if there is a PFO. PFU Playback FIFO underrun (modes 2 and 3). ADC sampled from empty replay FIFO This bit is set if a request is needed. This is the same as CSR2I [PFU] is there. Left and right output attenuation register (CLOAI, CROAI) Address: PCODAR + 1 read / write; left index CIDXR [4: 0] = 19h, Default: 1XX0 0000 (both) Mode: only 3; in mode 2, CLOAI reads 80h when reading This is a dedicated register. This pair of registers controls the left and right MONO and LINE output levels. Also LINE output The MUTE control bit is also in this pair of registers. LLOME, RMOME line output mute enable. When high, the LINE output is mu Is If not high, it works as usual. LLOA [4: 0], RLOA [4: 0] LINE output attenuation specification. This applies to MONO and LINE output signals Specify the amount of attenuation to be applied. These values are from 00h = 0 to 1Fh = -46.5dB in 1.5dB steps. Changes (see Figure 45a) MONO I / O control register (CLOAI, CROAI) Address: PCODAR + 1 read / write; Index CTDXR [4: 0] = 1Ah Default: 110X 0000 Mode: bits [7: 6, 4: 0] modes 2 and 3; bit [5] mode 3   This register specifies the amount of attenuation applied to the MONO input path. MONO input and Here is also the silence control of the output. MIME MONO input silence permission. When this bit is set, the MONO input is muted. If not high, it works as usual. MOME MONO output silence permission. When this bit is set, the MONO output is muted. If not high, it works as usual. AR3S AREF to high impedance. AREF is high when this bit is set. It is set to the speed mode. If not high, it works normally. This bit is Access is possible only in C3. MIA [3: 0] MONO input attenuation. This indicates the amount of attenuation applied to the MONO input path. these Varies from 0 = 0 to 0Fh = -45dB in 1.5dB steps (see Figure 45a) Recording data format register (CRDFI) Address: PCODAR + 1 read / write; Index CIDXR [4: 0] = 1Ch Default: 0000 0000 Modes: 2 and 3; register definitions vary by mode.   This register determines the sample rate (which of the two oscillators is used, And specify the splitting element for that oscillator), stereo operation or mono operation, Indicates whether it is linear data or companded data, 8-bit data or 16-bit data. Mo This change can be made only when the code change permission bit (CIDXR [6]) is active.   In mode 2, bits [3: 0] are not used (record pass sample rate is CPDF I defined). Bits [7: 4] indicate the data format of the recording path.   In mode 3, this entire register controls the attributes of the recording path; the playback attribute is CP Controlled by DFI. RDF [2: 0] Recording data format specification. With these three bits This shows the recording data format for CODEC. Only in modes 2 and 3 The unit is accessible. RSM recording stereo / mono selection. When this bit is set, stereo operation is selected. Selected; samples alternately switch to the left and then to the right. This bit stands If not, mono mode is selected; recording samples come only from the left ADC. This Are accessible only in modes 2 and 3. RCD [2: 0] Specify recording clock division. These three bits are the recording clock Specify a rate. These bits can be accessed only in mode 3. Mo In mode 2, these bits are reserved. * When XTAL1 is smaller than 18.5MHz In order to work, these division values can be reduced. PCS recording crystal selection. When this bit is set, the playback sample frequency is set to 1 A 6.9344 MHz crystal oscillator is used. 24.57 if this bit is not high A 6MHz crystal oscillator is used. This bit can be accessed only in mode 3. No; in mode 2, this bit Reserved. Upper and lower recording count registers (CURCTI, CLRCTI) Address: PCODAR + 1 read and write; upper index CIDXR [4: 0] = 1Eh, Lower index CIDXR [4: 0] = 1Fh, Default: 0000 0000 (both) Modes: 2 and 3: In mode 1, functions are transferred to CUPCTI and CLPCTI.   These registers together are the 16-bit used by the recorded sample counter. Supply preload values. CURCTI provides upper half preload bits [15: 8], CLRCTI Supplies the lower half preload bits [7: 0]. All 16 bits write upper byte The counter is loaded while writing; therefore, the lower byte is written first. However, only the lower byte is written and the counter Will cause a new value to be written into the timer. You. Reading these registers writes to them instead of the current state of the counter. The returned value is returned. Reproduction variable frequency register (CPVFI) Address: PCODAR + 1 read / write; Index CIDXR [4: 0] = 1Dh Default: 0000 0000 Mode: 3 only. This 8-bit register is used when variable frequency playback mode is enabled in CFIG3I [2]. Shows the reproduction frequency of the. The reproduction frequency is PCS / (16 * (48 + CPVFI). CS is the frequency of the oscillator specified by CPDFI [0]. 3.5KHz for 16.9MHz oscillator Supply up to 22.05KHz, and the 4.5MHz oscillator supplies from 5.0KHz to 32KHz. When changing the value of this register, it is not necessary to set CIDXR [MCE].   In the Mixer 606 of FIG. 45, the state of the control register CLICI604 for the recording pass of the CODEC 505 Means that four analog audio signals are attenuated / gay The multiplexer (MUX) 602 is controlled so as to pass through the multiplexer control circuit 664. If decrease If the sound is not muted by the attenuation / gain control circuit 664, the designated signal is Passed to the ADC 666 or loopback through the attenuation / gain control circuit 606. And the output of the playback Mixer 678 and the output of the left playback DAC 680 are summed. This loopback Is performed through the loopback path 676. Loopback path 676 is in playback mode The output signal of MICL684, LINEINL682, AUX1L686, LEFT SYNTH DAC692 is left playback DAC6 System to be superimposed through audio signals coming out of 80 outputs Provides a loopback path for testing and "dub-over" functions. This is "Ka The stored audio signal output from the left reproduction DAC 68 is supplied to the rioke-type ″.   The contents of control register CFIG3I [SYNA] are analog input AUX1L686 and LEFT SYNTH DAC Used to control LEFT SYNTH694 for selection between 694. Selected The analog audio signal is then input to the MUX 602 and the attenuation / gain control circuit 612. Passed. The output of the attenuation / gain control circuit 612 is then input to the primary Mixer 698. And mated with all other non-silent analog audio input signals.   Primary Mixer loopback path 677 feeds Mixer 698 output to MUX 602 input . Also, the output of Mixer 698 is attenuated / gained to pass to Mono Mixer 672 as LEFTOUT. It is supplied to the in-control circuit 674. For Mixer672, LEFTOUT and right channel Mixer These analog outputs RIGHOUT616 are combined. Signals LEFTOUT and RIGHOUT are mono mix sum in er672, then through mute control 604, analog output signal MONOOU Transmitted to T668. The LEFTOUT signal is also input to the attenuation / gain control circuit 602 . Unless muted, LEFTOUT is the analog output left channel stereo signal LINEOUT Used as L670.   The analog audio input signal 960 passes through the attenuation / gain control circuit 696, and becomes an input signal. Handed over to the main Mixer698. The right channel is used as the analog mono input signal 618. Passed to Le Major Mixer.   As shown in FIG. 47, CODEC 505 is an individual analog audio in analog Mixer 606. The amplitude of the signal is adjusted to ensure that the signal is maintained until it reaches its normal value. Includes roads. This is achieved by the zero detection circuit 715. New decay / ge The analog audio signal to be operated with the in-control value is 0 volt 714 (FIG. 46). ) Or the timeout count is 25ms with timer 718 Until that time, the modified attenuation / gain control information is stored in the respective attenuation / gain control registers. Will not be loaded. When the timeout occurs, the contents of the Register block 566 (Fig. 50) A new attenuation / gain control value is loaded into each attenuation / gain control register. Will be.   The attenuation / gain control circuit 710 surrounded by the dotted line in FIG. Reserved for each attenuation / gain control register in lock 566 . Specifically, 16 attenuation / gain control registers (CLCI, CLICI, CRICI, CLAX1I , CRAX1I, CLAX2I, CRAX2I, CLDACI, CRDACI, CLLICI, CRLICI, CLMICI, CRMICI , CLOAI, CROAI and CMONOI), which store the gain and attenuation stored therein. Written to change the control value. And the values are written in order Of the analog audio signal being processed by a particular attenuation / gain control register. Used to change the amplitude. More or less in other applications A decay / gain control register has been implemented.   During operation, whenever one of the attenuation / gain control registers is written, gister Select Decode block 716 passes attenuation / gain control value to GainLatch730 . After decrypting the data written to the attenuation / gain control register, select Register Decode block 716 is 25ms Timer block 718 and 100 TO 300 Microsecond Time r An operation signal is sent to the block 720, and electricity flows. Then electricity is 100-300 my For 100 seconds to 300 microseconds for each of the Near Zero Detect blocks 732  The Comparator Power-On block 720 is activated by the Timer block 720. And supplied.   25ms Timer block 718 counts up to 80 using 3.15KHz clock ICLK3K. To The timing of the 100 TO 300 Microsecond Timer block 720 is 3.15 kHz. Taken by the logic waiting for the two ends of the lock ICLK3K. When electricity flows, sound Near Zero Detect block 732 is triggered when voice input signal 740 approaches the nominal voltage. Generate lobes.   The zero detection logic in the Near Zero Detect block 732 uses comparators and audio input signals 7 An output signal can be provided whenever 40 equals a predefined reference voltage. Can be realized by using the above circuit. Zero detection strobe has new attenuation / gain for LATCH726 Used to send in value. Zero detection circuit part 732 is fixed 25 ms Timer71 Power does not drop until 8 finishes counting.   The analog reference voltage (AREF) is that when VCC is 5 volts, the value of AREF is nominally V Used to be CC * 0.376. When VCC is 3.3 volts, the value of AREF is The name is VCC * 0.303. By controlling CMONOI [AR3S], AREF is 250 Can be raised to icroamps.   If input signal 740 reaches nominal voltage for 25 ms before Timer 718 finishes counting If not, the new attenuation / gain control value, as a default condition, but still Loaded into each attenuation / gain control register. 25 ms timeout Before writing to any of the attenuation / gain control registers in REGISTER block 566 (Figure 50) If there is a write, Timer718 resets for 25 ms regardless of the state of the counter Is done.   The zero detection circuit 715 is a “zipper” when the amplitude of the input signal 740 increases or decreases. Minimize noise and discontinuous sounds. When the attenuation / gain register is written Zero crossing is sensed by powering up the zero sense circuit 732 only when Each time the comparator or other voltage detection circuit in the Near Zero Detect block 732 The required noise is removed.   In FIG. 46, by increasing the gain at the zero crossing point 732 of the input signal, Signal discontinuities are removed. By using the Zero Detect block 732 , The input signal 740 changes amplitude at the point of zero crossing, and as output signal 736 (FIG. 47) Output from zero sense circuit 715, and continues at new amplitude along curve 712 .   All CODEC505 programmable attenuation / gain control circuits (Analog Mixer6 (Triangle 06) includes a zero detection circuit 715. Zero detection circuit 715 is Register Equally for each attenuation / gain control register in lock 566 (Figure 50) Execute.   The additional noise management of the CODEC 505 is used to eliminate power-up noise. Used. Power is applied to audio abnormalities from audio output LINEOUT670 and MONOOUT668 (Figure 45) Or when being removed from the CODEC 505 or entering a low power mode They are removed when they leave. All power ups or power downs During this period, the output amplification of the CODEC 505 in the muffling circuits 602 and 64 is in a mute state.   16.9MHz system clock rising edge to improve CODEC performance Digital operation is performed on the falling edge of the system clock or the system clock. At some point before the next rising edge of the tuck, analog operation is performed. Generally, digital Controls must be attenuated as much as possible before analog controls are performed. Noise. Uses different ends of the system clock and is more digital Regarding the clock used in the circuit, the system clock used in the analog circuit Delaying the clock generated from the clock has the desired effect. Analog functions require quiet supply and grounding. For example, a comparator has the right ratio To be able to make comparisons, make sure that low-level background noise can detect 1 millivolt. Need to be   The CODEC 505 recording and playback paths use different sample rates for recording and playback. It can be independently programmed to supply. Continuous variable rate playback mode Provided for playback DAC 514 (FIG. 44). This gives two samples from 3.5 to 22.05KHz and from 5.0 to 32.00KHz -The clock can be specified. 256 increase for each sample rate Includes clock rate. Change the state of control register CFIG3I [2] to By enabling the variable playback mode, the playback frequency for the DAC514 is 256 An audio sample rate that can be changed continuously over steps to produce high quality sound Can make a smooth transition between them. Previously, only 14 different samples Sample rate data was increased and rewritten because rate was used. I had to get it. Then, transition between the required sound and the sample rate In order to be able to do so, the rate must be increased again and the signal rewritten won. This required excessive processor intervention.   Using the feedback loop in CODEC Analog Mixer606 (Figure 45), The sample rate of the recording ADC 516 and the playback DAC 514 can be programmed independently to allow The analog audio signal can be sampled and recorded at one rate. Can now be converted to files. This feature includes recording and replaying at different sample rates. It has a function to convert between generated audio signals. For example, compact Disc (CD) directly, or formatted without extreme deterioration of sound quality Digital audio data (DAT) to a tape that has been analyzed is analyzed through a 44.1KHz playback DAT514. Created by the CD audio data that is converted to audio and then recorded through the ADC516 circuit Serial or parallel recorded by an external audio device with a 48KHz DAT It can be used as digital audio data.   In the present invention, the continuous variable reproduction frequency mode increases sampling and rewrites. Playback in CODEC 505 without the intervention of an external processor. It is possible to specify that the pull rate is gradually increased. If possible, The number range is specified by control register CPDFI [0] in Register block 566 (FIG. 50). Field is desirable. This control register is programmable, always uses the playback frequency, You can specify whether a clock is used. See FIG. For this, some sort of External processor intervention requires loading frequency-specific instructions, but earlier It's not as burdeny as our voice system. Software compatibility with existing systems For this purpose, the playback variable frequency mode uses 14 samples of the playback DAC 514 and the recording ADC 516. Different from rate mode operation.   Oscillator 560 with external crystal (Fig. 50) is for playback variable frequency mode Used to generate the frequency range of If possible, two with ON-CHIP circuit Two external crystals, one at 24.576 MHz and the other at 16.9344 MHz. The field used to make the lock is desirable. 16.9MHz at SELECTLOGIC circuit 762 When the clock is specified, one 256 step frequency range from 3.5KHz to 22.05KHz Is provided. If you specify a 24.5MHz crystal, 15.0 from 35.0KHz to 32.00KHz Two 256 step frequency ranges are provided. To supply each of the 256 steps in one specified frequency range, specify Crystal oscillator makes X256 clock (256 times sample rate) To divide by three or more. Then, convert X256 clock to X64 clock (sample Divided by 4 to make 64 times the rate). X64 clock is in the specified range Repeat a periodic pattern of 8 cycles to generate frequencies within. Figure 48 The various clocks generated by the divider logic of FIG. Used to change the sample rate (pitch) during playback. as a result The higher the sample rate, the higher the pitch, the lower the sample rate The pitch is also lower. This continuously variable playback sample rate feature However, it can be used and is not limited to the Σ- △ reproduction DAC 514 described here.   Table C1 contains the priority for specifying the sample frequency for each band. The formula used is noted.   Table C2 shows that the first clock frequency in one band is 16.9MHz external crystal oscillation Fig. 4 shows a method produced using a vessel.   Table C3 shows the preferred method of using X256 to create the waveforms shown in Table C2. doing. The 4-cycle pattern shown in Table 3 is the state of register SMX64 [1: 0]. X64 clock is preferably 50% load cycle Should be used to ensure that the file is maintained.   Figure 48 shows a sample rate that can be specified independently for the recording and playback paths of CODEC 505. Clock designator circuit and a continuously variable playback sampler for the playback DAC 514. The rate. Playback DAC514 and recording The ADC516 (Figure 44) each has 14 different sample rates ranging from 5.5 to 48.0 KHz. It can operate on one of the ports. These sample rates are preferentially two clear Extracted from the stall oscillator 560 (FIG. 50). CODEC505 SELECTLOGIC circuit 762 , Depending on which sample rate is being used, the 16 MHz or 24 MHz oscillator Controls 2: 1 MUX766 to specify output.   GATELOGIC block 752 in the recording path and 764 in the playback path are slower than specified LOGIC block 754, divides specified clock signal to supply clock Supply to 756, 760 and 757 respectively. As shown in FIG. 48, the control register C PDPI [0], CPDFI [3: 1], CRDFI [0], CRDFI [3:10], CFIG3I [2] and CPVFI [7: 0] Control the split LOGIC to be used to generate the specified clock signal I will. Clock CP256X is used to control the operation of playback DAC 514. K Lock CP64X is used to control the operation of the quasi-digital filter 804 ( (Figure 51).   In Figures 49 and 49a, CODEC 505 has logic for converting serial digital audio data. And control, parallel to serial (TS) conversion block 788,789, and serial to parallel (STP) conversion logic 782 is included. Record multiplexer (MUX) 784 is a control register It is controlled by the star ICMPTI [8: 6]. If bits [8: 6] are 0, MUX784 The parallel digital audio data is designated from the recording ADC 516. If bits [8: 6] are 1 If so, the MUX 784 specifies the output of the STP conversion logic 782. In the recording path, the output of MUX784 Power is supplied to the CODEC regeneration FIFO538. Referring to FIG. 44, the output of the recording FIFO 538 is REG On the ISTER DATABUS526, the signal passes through the parallel converter 789, parallel transfer control 540, and data path 550. LOCALEMORY CONTROL790 (this is OF data for storage as a record FIFO) Transfer to F-CHIPLOCALMEMORY110, on Figure 44) and at the input of PTS block 789 ,Available. The PTS block 789 allows the data to be transferred to the SERIALTRANSFERCONTROL block. After lock 540, record FIFO 538, playback FIFO 532 (Converter from serial to parallel 782) or supplied to EXTERNAL SERIALINTERFACE544 Is done.   As shown in FIG. 49a, in the CODEC playback path, the playback MUX 794 controls the control register. It is controlled by ICMPTI [8: 6] and LMFSI [PE]. If ICMPTI [8: 6] is not 1 Or if LMFSI [PE] is 1, then the audio data from STP block 782 Are available as inputs to the playback FIFO 532. Otherwise, REGISTER DATA B Data from US526 is available in FIFO532. As shown in FIG. 49a, L Data from OCALMEMORY CONTROL790 (this has data from LOCAL MEMORY110 44) is passed to the playback FIPO 532 via the playback MUX 794. SYNTH DSP79 6, or data from the record FIFO 538, is also available at the input of the playback MUX 794 . As shown in Figure 49a, the value of ICMPT [8: 6] controls the operation of serial transfer control MUXES 554 and 548. I will. The operation of the serial transfer control MUX 546 is controlled by the state of LMFSI [PE].   As shown in FIG. 44, the audio data from SYNTH DSP796 also Available when entering 12 The output of SYNTH DAC512 is CODEC analog Mixer606 (Fig. 45) to the left SYNTH DAC MUX649 (and the right SYNTH DACMUX, not shown) Provided as input. The SYNTH DSP796 can be an external device or a CODEC5 As a CODEC device 505, to increase the flexibility and speed of operation between 05 and SYNTH It may be in the SYNTH module on the same monolithic IC.   STP and PTS conversion logic blocks 782 and 789, respectively, and SERIAL TRANSFERC By placing ONTROL 540, the digital between the recording and playback path of CODECC 505 ・ The loop function has been completed. This allows external devices or OFF from the record FIFO 538 or the playback FIFO 532, or via the LOCAL MEMORY CONTROL 790 -To CHIPLOCALMEMORY110 (Fig. 44) or to an external system memory The flexibility of data transfer and test is increased. PTS and STP blocks Through 789 and 782, the digital data path (Figures 44 and 49) is connected to the record FIFO 538 output. Pictured during the playback FIFO532 input. Between the playback DAC 514 output and the recording ADC 516 input The loop is analog, in the Mixer 606, Figure 680, left playback 680 to the left recording ADC666 It is drawn in a loop.   EXTERNAL SERIAL INTERFACE544 is connected to SYNTHDSP with serial input and output. Is also good. This causes the SYNTH DSP to go through the SERIAL TRANSFERCONTROL block 540 Serial data can be received from the recording FIFO 538, and the SERIAL TRANSFERCONTRO The serial data can be sent to the reproduction FIFO 532 via the L block 540.   Recording and playback MUXES784 and 79 in the serial data conversion logic of CODEC 505 4 means that bitstream MUX is desirable. Perform a transfer if possible To generate and operate the necessary control signals and clocks, a state machine Is preferably used. Description of control signals during serial data transfer above checking ... Most transfers within the SERIAL TRANSFERCONTROL block 540 2.1MHz 50% load divided by 16.9344MHz crystal oscillator by 8 Operate in cycles. Transfers from DSP796 to external devices are based on the SYNTHDSP frame rate. Uses 32 clocks per frame, based on frame rate. STP logic broser RANSF The pulse STSYNC generated by the ERCONTROL block 540 is first MSB, then Followed by 16-bit data.   For PTS blocks 788 and 789, the data structure and order are for a 16-bit DMA transfer. The same is true. S after the LSB of each 16-bit left or right data sample is transferred TSYNC switches. In the conversion operation of each PTS conversion block 788, 789, 16 bits Data is sequentially shifted. The number, data structure and data order for transfer are as follows Depends on the specified transfer mode.   The PTS blocks 788, 789 are for 16-bit DMA, as described in Table C4 below. It operates similarly to the transfer to the FIFO. (For example, if you are in 8-bit mode, , The first sample is LSB and the second is MSB Thus, there is one serial transfer for every two data samples. 16-bit station In Leo mode, there are two transfers for each sample received. )   PTS blocks 788 and 789 have flags set and there is data to transfer Is shown. The serial transfer control block 540 indicates transfer of serial data starting from the MSB. Responds by generating a pulse, STSYNC (serial transfer SYNC). 16 bit After the transfer, the clear pulse is sent from the serial transfer control block 540 to the PTS block 78. 8, sent to 789. As a result, new data is loaded into PTS blocks 788 and 789. You. If possible, all audio data multiplexed by the serial transfer control block 540 Desirably has three input sources and three output destinations.   The contents of the control register, ICPMTI in REGISTER block 566, are shown in Table C5. The various modes of operation can be specified by modifying the Can be determined.   Generally, if the recording or reproduction FIFO 538, 532 is a data output destination, Format and sample rate must match those shown in Table C5 No. Otherwise, the data transfer will not be accurate. For example, if STM = 2 Then the playback path sample rate and format are Synth DSP796 (16 bit Teleo, 44.1MHz). If STM = 3, the playback path sun The pull rate and format must match the recording path. In mode 4 Has a playback sample rate of 44.1KHz or less. In that mode, SynthDSP796 The sample rate can be less than 44.1KHz and the synthesizer global The value in the mode register SGMI [ENH] is 0, indicating that the active synthesizer voice is active. Register SAVI [AV] is set to 14 or more. You That is, if more than 14 voices or signals have been processed, -The rate is possible even at 44.1KHz or less. Otherwise, the first 14 signals are 4 Processed at 4.1KHz. For STM = 1 and STM = 2 modes, CODEC 505 is 44.1KHz Support sample rate. In these two modes, if Synth DSP796 Does not work properly if it operates at other than 44.1KHz.   While in the playback mode, as shown in FIG. 50, the external system memory Digital audio data can be DMA or I / O in several specifiable formats. EXTER via transfer CONTROL LOGIC & EXTERNAL BUS INTERFACE568 Passed to NAL BUS 562, and as 16-bit stereo data for left and right channels, It is sent to GISTERDATA BUS526, and finally 32 bit playback FIFO532 or LMPF528 (Figure 44).   The LMPF528 (Figure 44) is an existing 16-bit digital stereo left and right channel. Download audio data directly to the playback FIFO 532 through REGISTER BUS526. You may.   By doing so, previous I / O or DMA transfers can be Made between memory and LMPF528, between external system memory and CODEC playback FIFO532 Many DMA transfers required will be reduced. During playback, most data transfer common The main mode is DMA transfer between the external system memory and the CODEC reproduction FIFO 532. I Even in the case of a shift, the audio data is then output to the playback FIFO 532 and Formats 16-bit signed data as described in ONVERSION block 534. (Decomposed) and then as 16-bit signed data to the playback DAC 514. Is entered. That data is then described earlier in connection with the description of FIG. 45, Sent to MIXING FUNCTION block 510 containing left and right analog Mixers.   In the recording path, an external analog sound input through CODEC analog input pin 520 Voice signals are sent through the MIXING AND ANALOGFUNCTION block 520, Passed to recording ADC 516 as channel stereo 16 bit signed digital signal . The 16-bit left and right channel stereo data from the recording ADC 516 * 538 is sent to the format specified in advance, and is sent to REGISTER DATA BUS5 26, then to EXTERNAL BUS 562, and then by DMA or I / O data transfer. To the external system memory or LMRF 530 (FIG. 44). In recording mode, D MA data transfer is LMRF530 (LMRF530 uses audio data from ON-CHIP RECORD FIFO538 Or external system memory through EXTERNALBUS562 Alternatively, it is performed directly between the ON-CHIP RECORD FIFO 538 and the external system memory.   CODEC 505 is an external system memory and CODEC ON-CHIP recording and playback FIFO 538, 532 System, and also between system memory and the OFF-CHIP LMPF528 and LMPF530. I / O can be performed to increase system flexibility.   In FIG. 50, the playback path of the CODEC 505 is in the mono mode, and the control register CPDFI [4] When the bit is not set, the left and right channel stereo DA of the playback DAC514 block C is the same as the audio data from playback FIFI532 Things are passed. If the recording path is in mono mode and the bit in control register CPDFI [4] When the camera is not standing, data from only the left stereo ADC (Data from the right stereo ADC is ignored) and passed to the recording FIFO 538 It is desirable.   In another structure of stuff mode, only the data from the right stereo ADC is recorded FIF Passed to O538. The audio signal frequency is greater than the Nyquist rate, i.e. 0. Wrapping problem when processed at a rate greater than 5f (1/2 the sample rate) Occurs. The passband and the cutoff circuit reduce signal reflections that are multiples of f and reduce signal frequency. Used to add or subtract. Pass at .6F for 22KHz Preferably, the band discontinuity is at least 75 dB. Passband sever, regenerate To reduce high-frequency images (reflection) during the DAC / D / A conversion, an analog filter Used with Luther. Oversampling is lower in the recording ADC 516 This is done by multiplying the sample rate by 64 during bit analysis. The signal is then required Until you get the analysis result and sample rate, for example 44.1KHz for 16 bit , Are sampled and filtered in the recording ADC 516. Recording ADC516 circuit function and operation The detailed explanation of the work is as follows. Table C4 above shows the DMA transfer unit Sample of audio data to be transferred, DMA for 8-bit or 16-bit DMA transfer It contains information about the number of cycles per transfer. This number is the specified DMA Depends on the type of For example, in 8-bit DMA transfer mode, 4-bit ADP The audio data formatted as CM mono audio data is two in one DMA cycle. Are transferred. In 16-bit DMA transfer mode, four 4-bit ADPCM monosamples are transferred in one DMA cycle. 16-bit DMA cycle The first byte to the playback FIFO 532 is [7: 0] and the second byte is bits [15: 8]. Simultaneous recording and playback operations (read and write) are possible . During I / O activity, the external system processor determines if I / O activity is required In order to CODEC505 Status register to determine which part of CODEC 505 requested the data. , Specify CODEC505 via CONTROL LOGIC ANDEXTERNAL BUS INTERFACE568 . External system control asynchronously transfers data to playback or recording FIFOs (532, 538) To perform I / O operations. For record FIFO538 and playback FIFO532 Error conditions are shown in Table C6.   16 bits are dedicated to left channel data and 16 bits are dedicated to right channel The 16-sample, 32-bit recording and playback FIFOs 538, 532 provide 0, 7, 15 support. Recording and playback at the sample address FIFO538, 532 threshold, so-called tap Corresponds to “sky”, “half full”, and “full”. I / O interrupt required Request (IRQ) or DMA request (DRQ) of the CODEC 505 These ads can be generated by state (only mode 3 and described below). Signals are monitored by control logic block 568. This behavior will be explained in detail later. explain.   Separate DRQ signals are generated for the recording and playback FIFOs 538,532. One for CODEC505 In an external system that can only use the DMA channel of A mode is provided that allows it to function as a recording DMA or playback DMA . Alternatively, a system without a DMA function may use I / O transfer. DMA transfer mode Is a Register This is specified in the configuration control register CFIG11 of the block 566 (FIG. 50). If the record or If the playback path is not valid (through CFIG11 [1: 0]), the corresponding DRQ request signal Active, as if the audio data samples were waiting for an acknowledgment Transfer continues as if the source was still active. The last audio sample After being transferred, no other DMA requests are serviced.   If the recording path is not valid according to CFIG1I [1], or both recording and playback Path is being enabled for DMA transfers, but single-channel DMA operation is If 1I [2: 0] = [1,1,1], the recording FIFO is reactivated. In order to prevent old data from being processed when All data is cleared. But before being disabled, it's record FIFO 538 The recording path before the transfer is performed by the format conversion block 536 (FIG. 44) and the It is not cleared during four sample periods, including the filter function.   When the playback path is invalid by CFIG1I [0], the playback audio is muted directly and replayed. All samples remaining in the raw FIFO 532 are output from the FIFO 532 at that sample rate. Removed. During four sample periods, the playback FIFO 532 is in the later FIFO playback path. After being emptied with 0 at, the playback path is disabled to minimize power consumption .   OFF-CHIP LOCAL MEMORY110 (Fig. 44) is preferably ON-CHIP playback and recording FIFO 532, 538 However, it is desirable to use it. LOCALMEMORY110 is as large as possible Read and record FIFOs 532 and 538, each with an approximate 8-bit address of 16 megabytes It is desirable to configure the bit size. CODEC COUNTERS, TIMERS The 19-bit counters in the block 518 are used to make the respective LMPF523 and LMRF530 Is programmed to specify the area size of the DRAM. These are 512K sun It can be configured to hold up to the pull. LMPF528 and LMRF530 or local me Approximate voice sample memory for mory, design and application requirements Composed of Low cost and low power It is desirable to use DRAM instead of SRAM for this purpose.   CODEC 505 interleaves data transfer between external system memory and LMPF528. Have a mode for In data mode with interleave, external digital Audio data samples are stored in the external system memory as L1, R1, L2, R2, ... Number, and transfer to LOCALMEMORY CONTROL790 (Fig. 49) through EXTERNAL BUS562. Sent. In the CONTROLLOGIC block 528, before the data is stored in the LMPF528 The format has been converted. And the left channel data sample is OFF-CHIP LOC Stored in one area of the AL MEMORY 110 as L1, L2, L3 ... blocks. Right cha Channel data samples are stored in another area of the LOCAL MEMORY 110 in the R1, R2, R3 ... It is stored as a lock. In mono mode, the same data is available in both blocks of LOCALMEMORY. Stored in the lock. The same method is used in reverse for the CODEC505 recording mode. For example, the same sample is sent from LMRF 530 to external system memory.   There are two 16-sample counters in the COUNTER, ETC block 518 (Figure 44). One for raw FIFO532 and one for record FIFO538. Sample counters are stored in individual FIFOs. Count the number of samples coming or going. The individual counters are AD In non-PCM modes, it is decremented by one for each sample period. Counter goes to 0 If unmasked, an interrupt will occur and the counter Will be reloaded. The count value of the counter is calculated in the REGISTER block 566 (Fig. 50). Record and playback count register (CURCTI, CORCTI, CUPCTI, CLPCTI) Is grammed. The status of the counter is passed through the control register CSR3I of the REGISTER block 566. Will be reported. In mode 3, as described below, the CODEC playback counter When MA transfer is performed from external system memory to OFF-CHIP LOCAL MEMORY110, Also, ON-CHIP recording or playback FIFO 538, 532 from external system memory is performed. When it is reduced.   Table C7 shows the relationship between the data format and the event that decreases the sample counter. The clerk is shown.   Table C8 lists the events that decrease the sample counter and the variables used in the Boolean equations below. There is. These are used to provide valid inputs to the counter.   Table C9 shows that audio data is recorded and replayed from external systems and microprocessors. Indicates the format passed or received to the raw FIFO 538,532. Table C9 The letter "S" refers to "sample" and the number after the letter "S" refers to the sample number . "R" or "L" after sample number is right or left channel stereo Refers to audio data.   The CODEC timer in the COUNTERS ANDTIMES block 518 (Figure 44) Used to time external system functions, such as the length of time to issue. When the timer count is completed, an interrupt is generated. CODEC505 is the machine It is desirable to use as few timers as possible for use. But industry It is necessary to provide this function for interchangeability and expandability.   The CODEC 505 can operate in three modes during playback or recording. CODEC505 Generally operates in mode 1 and mode 2 to allow the It is compatible with Vista. The indirect addressing method is that of REGISTER block 566 (Fig. 50). Used to access most of the CODEC registers inside. In mode 1 , Preferably 16 indirect registers. In mode 2, there are 28 indirect registers. Is desirable. In mode 3 unique to CODEC505, there are 32 indirect registers. desirable. The operation in these modes is as follows.   Mode 1.The playback sample counter in the COUNTERS, ETS block 518 Is valid (CFIG1I [0]) or when the recording path is valid (CFIG1I [1]). Be sent. If both paths are valid, only the playback path affects the counter and the recording Not used for sample counters. REGISTER CODEC INDEX ADDRESS REGISTERCID If XR [DTD] is set and the active path causes an interrupt (CSRI R [GINT]), the sample counter stops counting. The counter indicates that interrupt When the count or CIDXR [DTD] is cleared, counting starts again. DMA Alternatively, the I / O cycle control bits, CFIG1I [7: 6], It does not affect.   Mode 2.The playback sample counter indicates when the playback path is valid (CFIG1I [0]). Is reduced. The recording sample counter indicates when the recording path is valid (CFIG1I [1]). If CFIG1I [2] and CFIG1I [0] are not valid, they are decremented. CODEC INDEX ADDRES SREGISTERCIDXR [DTD] is set and the active path is interrupted When it wakes up (CSR3R [5: 4]), each path that requested an interrupt stops working . When the interrupt or CIDXR [DTD] is cleared, the data path is activated. Start the work and start counting again. DMA or I / O cycle control bit, CF IG1I [7: 6] does not affect the operation of the sample counter.   Mode 3.Sample counter counts when in I / O mode (CFIG1I [7: 6]) The same operation as in mode 2 is performed except that the operation is not performed. Also, configuration register, CFIG The sample counter can be operated while 2I [5: 4]. This is an altitude mode with independent recording And playback pass sample rate, record and playback programmable FIFO threshold, Sy Additional analog Mixer input valid for nth DAC audio signal, Mixer606 (Fig. 45) LIME / MONO Attenuation / gain control for output, programmable continuously variable sump in playback path Frequency mode is possible.   Modes 2 and 3 provide a programmable 16-bit timer. This The immer is roughly on the order of 10 milliseconds and uses a 100KHz clock, CLK100K. You. Enabled by timer CPIG2I [6].   A pair of programmable registers in the CODEC505 is 16BITCOUNTERPRESET (CUTIM I, CLTIMI), and the counter is decremented to 0 every 10 milliseconds. 0 Then, the timer interrupt bit is set in the status register 3 and the status register Interrupt bit is set in data 1 and if enabled (CEXTI [1]) , An interrupt occurs. The CUTIMI value and CLTIMI value will be changed again at the next timer clock. Load Is done.   The record and playback FIFOs 538 and 532 are stored in the respective FIFOs from the external system memory. Is a programmable threshold for communicating IRQ or DRQ to the FIFO. Or taps. The threshold operation is as follows: record and playback If the pointer tree is 0 in the FIFOs 538 and 532, the address has no data and is 1 If so, data exists. For a specific address in either FIFO, When the pointer tree transitions from 1 to 0, the external system is set in advance. To fill the playback FIFO 532 above the threshold level (playback) Below the preset threshold level (recording) for the external system Trigger an IRQ or DRQ interrupt to empty the recording FIFO 538.   CODEC logic control block 568 (Figure 50) is connected to one of the FIFO taps You. The configuration register CFIG3I [4,5] threshold specification is empty, full, or medium. Determine which of the thresholds will be selected. Logic control block 568 pulls Monitors taps continuously and features that are designed to perform it automatically Generate and execute (ie, generate DMA or I / O interrupts). Tap is thread Detect if the shoulder address is empty (play) or full (record) Depending on whether the tap is full, empty or medium in the FIFO. Request is generated. COUNTERS, TIMERS, DMA counter of ETC block 518 (Fig. 44) Is set so that a certain number of data samples are transferred to and from CODEC 505 . When a counter completes its count, an interrupt request is generated.   The value of the index pointer of the recording and reproduction FIFO 538, 532 is set to the CODEC control block 568. Passed to. When the index pointer reaches the FIFO threshold, the REGISTER block One bit in one status register of lock 566 is changed. This state The unit is read by external system processing to perform recording and playback operations with the FIFO. REGISTER block 566 Status register is set when the threshold (tap) changes from 1 to 0 by FIFO. Changed to Zodiac. When that happens, a bit in the status register toggles. When the status register is checked by an external system processor, The processor determines which device is requesting the interrupt. REGISTER The CODEC register of block 566 is directly addressed through REGISTER DATA BUS526, Alternatively, depending on the index register method in REGISTER block 566, Addressed through the contact address.   The CODEC 505 generates the following interrupts: (1) Record and Playback FIPOI / O The threshold has been reached; (2) the record and playback sample counter has reached zero; (3 ) The CODEC timer has reached 0. CODEC in CONTROL LOGIC block 568 (Fig. 50) The results of the interrupt logic are combined into one interrupt signal, IACODEC, To be. It passes to the interrupt selection logic of CONTROL LOGIC block 568 Is done. The interrupt is masked by Global enable, CEXTI [1] . The status of the interrupt is indicated by the GLOBAL STATUS REGISTER in the REGISTER block 566. , Displayed in CSRIR [0] (Fig. 50).   The following interrupt equation is the CONTROL LOGIC block associated with the CODEC505 interrupt. To set (CSET) or clear (CCLR) the logic of lock 568 Shows the necessary state. Activate any of the three interrupt status bits on CSR2I There is one latch in the CONTROL LOGIC block 568 to allow See Table C10 Then the definition of the variables is given in the following interrupt equation.   Two general control signals, GPOUT [1: 2], are passed from CONTROL LOGIC block 568 . The state of these digital outputs is controlled by external control in the REGISTER block 566 (Figure 50). It shows the state of the corresponding control bit in the register (CEXTI).   CODEC has a low power mode. The three programmable bits are CODEC 505 low power shutdown state, power control level in REGISTER block 566 (FIG. 50) Specify the register PPWRI [2: 0] to specify the recording path, playback path or analog The circuit can be disabled. Other structures use some bits Maybe. In shutdown mode, the external crystal oscillator 560 (Figure 50) Disabled, but all registers in REGISTER block 566 are readable is there. In hibernate mode, specified by the external computer system or processor The CODEC 505 has all three bits in the power control register, PPWRI. As if selecting a low power state, both oscillators 560 were disabled and the CODECI / O pin To run as if most of them are inaccessible. Dedicated hibernation mode The control pin, SUSPEND #, forces the CODECI / O pin up, down, or Switches to digital or analog high impedance mode. Table C11 three It describes the state of the I / O pins in hibernate mode. clock How to reduce the power consumed by the working circuit is described in application serial number 07/918 , 622 Title "Clock Generator capable of Shut-Down Mode and Clock gen eration Method ", which is designated as a shared assignee in the present invention and It is incorporated here for all purposes.   Table C12 shows what PPWRI [2: 0] causes to CODEC 505 in shutdown mode. Has been described.   When the SUSPEND # pin becomes active, the CODEC will put it in shutdown mode. Make a movement similar to the one you take. The signal ISUSPRQ is Depending on the lock, the logical sum of I2LSUSPRQ and I2SSUSPRQ is obtained. ISUSPIP is intelligent Is ORed with I2LSUSPIP. If the CODEC 505 is in shutdown mode when SUSPEND # is confirmed, (1 ) The I / O pins are changed to meet the requirements for the sleep mode described above. And (2) Reproduction DAC514, recording ADC516, and Synth DAC512 (if Synth DAC512 is CODEC CODEC 505 analog circuit (if incorporated as a processing block in 505) , If it is not already in that mode, it is put into a low power mode.   After the SUSPEND # has been verified, the logic of the CONTROL LOGIC block Before stopping the clock and before disabling the oscillator, Wait on. 16MHz clock ICLK16M and 24MHz clock ICLK24M are free from distortion and abnormalities. As such, it is disabled. When the clock is in one of the high phases, hibernate mode It remains so until it is invalidated. After SUSPEND # pauses, The shaker 560 does not re-toggle the wide K24M until the oscillator 560 stabilizes after 4 to 8 seconds. This occurs after the oscillator 560 has successfully measured 64K times. Low output clock After toggling for at least 100 microseconds, the SUSPEND # signal goes to the remaining logic of CODEC 505. Is placed in an indeterminate state to activate the lock. While the clock is not valid, The signal ISUSPIP (during sleep) goes active. It depends on the I / O for each pause requirement in Table C11. Used to change pin state.   The CODEC 505 can operate with VCC = + 3.3 or 5 volts. Control logic The power detection circuit in block 568 (Figure 50) operates in CODEC 3.3 or 5 volt operating mode. Determine if there is. The operating state depends on the output of the voltage detection circuit register AVCCIS5. It is determined. External computer or processor has signal greater than operating VCC An operation detection circuit is used so that it is notified that it is not running. for example For example, when operating at 3.3 volts, no 4 volt signal is generated. It is also analog It is also used to set the maximum reference voltage and the range of digital I / O pin driving force. You.   CODEC505 can interact with external CD-ROM interface 568 (Figure 50) Noh. Chip designation, DMA request, DMA acknowledgment, and CD-ROM interface Signals containing these interrupt requests are supported by CODEC 505.   External serial EPROM or EEPROM (Fig. 50) uses CODEC505 Plug-n-Play (PNP) with ISA, ET Used by CODEC 505 to be compatible with SA or other industry standard buses and equipment Is also good. Configure CODEC 505 for external computer or processor Commercially available PNP software is used to control serial EPROM and EEPROM as You may. If an external serial EPROM or EEPROM is not available for the PNP function, The CD-ROM interface cannot be accessed with the CODEC. A. Digital signal processing section of CODEC playback path CODEC playback DAC514 (Fig. 44), if DAC512 is included in CODEC505, Synth DAC51 2 is an interpolation block 800 (Fig. 51), NOISE Shaper802, semi-digital FIR filter80 Includes 4 for left and right channel stereo audio data. Left channel An injury is shown in FIG. 51 and will now be described. The operation of the right channel is similar .   The operation of the CODEC playback DAC 514 will now be described. Synth512 included in CODEC505 If so, the operation is the same. If not, it will be different.   The 16-bit digital audio signal 806 comes from the FORMAT CONVERTION block 534 (Fig. 44). The INTERP of the playback DAC 514, which outputs and combines the signals as signed data signals Input to OLATOR block 800 (FIG. 51). After the first three interpolation stages, The digital audio signal 840 with several bits collected is output to the input to NOISE SHAPER802. Where it is quantized and converted to a 1-bit digital output signal 842. One The cut signal 842 is then input to a semi-digital FIR filter 804. There What is important is removed from the band frequency and the signal is converted to an analog audio signal 808 Is done. Then, it is used when the reproduction DAC 514 outputs. Left channel analog audio The signal 808 is used as an input to the left channel CODEC playback Mixer 678.   Referring to the front part of the reproduction DAC 514 in FIG. 52, the 16-bit digital audio signal 806 is It is interpolated first, then quantized and noise shaped. Play DAC 514 At the sample rate f, a 16-bit digital audio signal 806 is received as input, and INTERPO When outputting the LATOR block 800 (Fig. 51), One sample that was sampled at 64 times the sample rate (64 times oversampling) The cut signal 840 is generated. Because one stage requires a lot of filters The interpolation is performed in three stages in the INTERPOLATOR block 800. Circuit duplication The complexity is 2 for Interp. 1 blocks 810 and 812, 2 for Interp. 2 block 814, and I In nterp.3 block 816, three interpolation Minimized by performing 64 up-sampling interpolations on the page .   The specific input spectrum to Interp. 1 blocks 810, 812 is for frequencies up to f / 2. Components and unwanted images concentrated at integer multiples of f. specific See FIG. 53a for the input spectrum.   To perform the first interpolation in Interp. 1 block 810 for f = 2 × f, Has a number or bandwidth expanded to about 0.40f as much as possible, and also at about 0.60f Preferably, an FIR filter with a stop band that starts is used. Also The passband expands to about 0.45f, and it is hoped to start the stopband at about 0.55f. Good. The stop band attenuation of the filter should be 100 dB or more if possible, Desirably, the passband ripple is about +/- 0.1 dB. For this, 0.45f or less The lower frequency image is guaranteed to be attenuated every 100 dB. However Higher frequencies along with the image are inside the transition band of the filter. And the attenuation is reduced. Therefore, useful bandwidth is about 3.6KHz at f = 8KHz Or about 19.8 KHz at f = 44.1 KHz.   The spectrum of the output of Interp. 1 blocks 810 and 812 is applied to the input indicated by 53a. In contrast, it is shown in FIG. 53b.   The impulse response coefficients used in Interp. 1 blocks 810 and 812 are as shown in Table C13. It is on the street. The values of these coefficients will differ if the passband or stopband changes. Come.   This interpolation filtering works in the analog domain when operating at the lowest rate. Done digitally to avoid filtering. At the lowest rate Rapid transitions, requiring unlog filters. Such an analog filter Without, the image will not appear on output. Analog filter is sump It is necessary to have a variable cutoff to accommodate changes in ring rate.   The second interpolation stage executed in block 814 is the sampling rate. Is changed to f = 4f. In this stage, a sinc filter is used, roughly 30dB image attenuation is provided. Spectrum of output of second interpolation stage 814 Is depicted in FIG. 53c.   The third interpolation stage, executed in Interp. 3 block 816, has a coefficient of 16 Further change the sampling rate to f = 64f. With two differential delays, sin c interpolator is used. This interpolator serves the following purpose: Interpolation, so as not to exceed the noise level introduced by noiseshaper802 The vessel decays approximately 4f. And 0 is introduced again at 2f. It is the interpolation stage 28 Along with 14, provide sufficient attenuation for roughly 2f images. Third stay The spectrum for the output of di 816 is as in FIG. 53d.   The last block in front of the playback DAC, and the last stage of the interpolation filter The fifth order is noise shaper 802 (FIG. 52). noise shaper802 Multi-bit output 840 from the third stage 816 to 1-bit signal 842 Convert. It shapes its noise according to Chebyshev fast transform function . The spectrum for the noise shaper 802 output is as shown in FIG. 53e. noise sh The operation of the aper block 802 is described herein.   The 1-bit signal from the noise shaper 802 is then converted to a semi-digital FIR filter80 Filtered in 4 (Figure 51). semi-digital FIR filter 804 is noise shaper8 Compensate for the attenuation caused by 02. Also, about 20KHz when f = 8KHz To achieve a relatively smooth noise level that is enlarged to noise shaper802 gain Is less than unity gain.   The spectrum of the semi-digital FIR filter 804 analog output is as shown in Figure 53f. You. Processed by interpolator 800, noise shaper 802, semi-digital FIR filter 804 FIG. 54 illustrates an example of the time domain of the digital signal.   B. Interpolator processing blocks (810.812, 814, and 816) Interp. 1 blocks 810, 812 Is symmetric (with 2N-1 taps (N separate coefficients) and N = 40 in this structure) Linear phase) FIR filter. The interpolation coefficient of this block is 2. So This is due to the attenuation of about 100 dB or more in the stopband and about +/- 0.1 dB or less in the passband. Designed to have a pull. The passband response is sinc Interp. 2 Introduced by Jib 814, sinc Interp. 3 Stageb 816, and noise shaper802 The semi-digital used in the reconstructed DAC514D / A conversion process, as well as the gain variation Compensate for roll-off introduced by FIR filter 804 To compensate.   The FIR filter in this Interp.1 block 810, 812 will be introduced in the next stage Pass achieved by combining all the frequency variations performed into one function Includes band compensation.   Referring to FIG. 52, when used as an interpolator, the FIR filter It operates on the input sequence of the bit input signal 806. Where all data samples go to 0 Equal (because it is interpolated by 2). This is because one odd output sample signal 832 is Int This is because the calculation is performed using only the odd coefficients of the erp.1 phase 2 block 812. So Then, the next even-numbered output sample signal is the even-numbered signal of Interp. It is calculated using only numbers, but with the same set of 16-bit input signals 806. This This is shown in FIG. Polymorphic implementations shown as 1 810 and 812 (In the case of U, two phases).   There, two sub-filters are run in parallel and filter outputs 832 to 834 Are interleaved in a known manner to produce an Interp. 1 signal output 836. So 836 is then passed to Interp. 2 block 814.   In the time domain, odd and even outputs from the two phases of Interp. Signals 834 and 832 are: Phase 1 (even coefficient) for even output signal 834, for odd output signal 832 Is phase 2 (odd coefficient): All delays are made at the input sampling rate.   Interp.1 blocks 810 and 812 have phase linearity and impulse response is midpoint Symmetric about the value. The symmetry condition is given by: This reduces the structure of filters 810 and 812, respectively, as shown in FIGS. Reflects.   In particular, the impulse response contains very small coefficients. Larger outage bandwidth , These coefficients are very important. To keep precision, the coefficient is , Are scaled such that their magnitudes are between 1 and 1/2. Then go In the circuit 818 (FIGS. 55 and 56), the partial product corresponding to the smallest coefficient is added first, and Leveled and then added to the product corresponding to the next higher coefficient. If the word width is This is not summed in any order unless increased to preserve precision Means that. That is, the taps are performed in the same order as the modified order. 2. Interpolator 2.   The second interpolation stage 814Interp.2 is a sinx interpolator filter. This block There are two interpolation coefficients. The attenuation provided by the semi-digital filter 804 For this, a high attenuation of 2 × f is not required and a relatively simple structure is used.   The filter forwarding function for Interp.2 stage 814 is: Expanded to Thus, the Interp. 2 filter 814 has coefficients of only integers. Pass band Roll-off is compensated in Interp. 1 blocks 810 and 812.   The Interp. 2 filter 814 is interpolated by two, so other filters are used as shown below. It operates on a sequence in which the number is zero.   This is similar to Interp. 1810, 812 block, as shown in FIG. Leads to one implementation. In H2a and H2b, a delay occurs at the input sampling rate f. Interp.2 filter 81 In both phases of 4, the common term of the transformation function saves some hardware. ing. FIG. 57 shows the configuration of the Interp. 2 filter 814. The magnification of 2 is the whole Applied through.   The frequency response, normalized to DC, is shown in FIGS. 58 and 59. 3. Interpolator 3   The transfer function of Interp. 3 block 816 is: The interpolation coefficient of the blocks is 16. The differential delay is two. order is 2. The implementation structure of the transfer function is shown in FIG. Differentiator 839 is more Running at a lower rate, integrator 841 runs faster. Differentiator with two delays is 1 It is decomposed into a differentiator with one delay and two accumulators. That is: Another block diagram for Interp. 3 block 816 is shown in FIG. Each These signal samples are used 16 times higher by the integrator 846, which runs at the highest rate. You. 0 is introduced at 4f. The two delay blocks 841A and 841B in FIG. 60 and 846A in FIG. Operate to introduce another 0 at f. It is an interpolator sinc filter 814 Provide sufficient image attenuation together with the sinc for Interp. 2 block 814 More economical than using filters. Frequency response of interpolator 3 filter 816 Is normalized to DC and is shown in FIGS. 62a and 62b. You. C. Noise shaper   The final phase of the interpolator, Noise Shaper block 802 (FIGS. 51, 52), is the third complement. Interstage stage, receives multi-bit signal output from Interp. 3 block 816 (Fig. 52). And while adjusting the quantization noise according to the fast function, Convert to issue. A shaper for Shaper802, preferably a fifth order shape The lock diagram implementation is shown in FIG. 1 bit The output signal 842 is also input to the integrator 822.   Predefined as determined by the rest of the digital path shown in Figure 63 To stabilize the loop over a range of input amplitudes, the integrator 822 input is You must have the rate, k1-5. Simple additive noise shown in Figure 63 The model is used to represent quantization.   Two transfer functions are defined for this circuit. Signal transfer function (STF) Y / X, here Where X is the digital audio input signal 840 (Figure 52) and its noise transfer function (NTF) Y / E, where E is the quantization noise (modeled as additive, white, uniformly distributed noise). NTF Is fixed, the STF is also determined. Because the system is not a FIR filter , The response is no longer directly phase linear. However, in the passband Dose variation is very small, on the order of 0.05, and the amplitude is .1 Can be interpolated in 810 and 812 blocks.   The signal flow graph (SFG) for the noise shaper block 802 is shown in Figure 64 I have.   The transfer function is developed as follows: Forward path gain: Cumulative gain of all possible directional paths from input to output: Non-touching Loops:   The Gain product of the loop sets that do not have any common nodes is calculated. At first, A pair of Non-touching Loops must be identified. Then the 3 bit Site is found, then 4 bits, etc. In the illustrated configuration, a pair of non- Switch loop exists. A pair of Non-touching Loops must be identified. Then the 3 bit Site is found, then 4 bits, etc. In the illustrated configuration, a pair of non- Switch loop exists.    L1, G1    L1, G2    L1, L2 queue It is defined from the loop gain as follows: In the illustrated configuration, there are no 3-bit bytes in the non-touch loop, so Submatrix For X:   All loops are touched by T1. So △1= 1   For E:         T1 = 1-LI-L2 + L1LTwoAgainst1= △   Transfer functions can be created for X and E using Manson's rules. here, For noise, the transfer function is: For signals, Referring now to FIG. The coefficients are chosen to match the Chebyshev function. And pass band and smooth An equiripple quantization noise in a clear stop band is obtained. The values for Ai and Bi are , By matching the noise TF to the required shape function, Ci and W in the above equation Obtained from i.   If possible, evenly spaced within the noise stop band (ie, signal band) For NTFs that have zero and a smooth high frequency response, Preferably, a number is chosen. For the illustrated configuration, the stop area edge, stop attenuation, And the filter order must be determined. Stopband attenuation is 90 if possible dB, stopband edge is approximately 6 kHz for an input sampling rate of 8 kHz, and Thus, for a maximum sampling rate of 48KHz, it is about 36KHz, and filter ord er is preferably 5. I.e. noise stop for noise shaper802 The bandwidth is extended by at least 0.70f, and preferably to 0.75f.   It exceeds the signal bandwidth by more than 0.25f. This allows the quasi-digital fill The design requirements for the data are slightly less stringent.   First, a continuous time zero and poles are obtained. Where zero is given by Is: And the poles are given by: Where N = 5, m is from 0 to 4, ω = stop band edge = 2π.36000, and ε1 is related to attenuation G And given in dB by: A pole-zero diagram in the s-plane is shown in FIG. Frequency up to 300MHZ A plot of the response is depicted in FIG. Next, discrete zeros and poles use bilinear equations Can be obtained: Here, T = 1 / f, and f = 64 × 48 KHz = 3.072 MHz. This activates the noise shaper Highest sampling rate, highest sampling rate for input signal Corresponds to 64 times oversampling. However, noise shaper is It is necessary to know that it operates at the (lower) sampling rate.   Solving these equations gives the following: Figure 67 shows a pole-zero diagram in the Z-plane for the noise shaper802. You. K is the gain of NTF at f = f / 2 (or z = -1) and is an important parameter for stability. You.   The desired frequency response of the discrete filter for the noise shaper 802 is shown in Figure 68. ing.   The numerator of the transfer function of the specified structure must match the discrete filter. The zero property realized by that is to set the numerator of the noise NTF to zero and calculate the following equation Can be found by: The root of this equation is z1 = 1; the other roots are given by C1 and C2 are not independent. Because they are as shown by the NTF equation , B1 and B2. The formula to get the other four roots is:   The structure shown in FIGS. 63 and 64 allows one zero and two pairs of duplicates at DC (z = 1). Prime zero is now possible. They both have real parts equal to one You. This means that they are not on a single cycle. However, If their angles are small enough, they will be well damped. Single cycle In order to be able to actually have zero in Loops (ie, more coefficients) must be used.   B1 and B2 are the same angles as required by the ideal transfer function with zero as possible Is specified. This is shown in Figure 69, where the angle is exaggerated It is drawn.   Then, B1, B2 are set negative. Then the individual angles α are: The values of BL, B2 also depend on the values of K2 and K4. Generally, shown as k1-k5 in FIG. The reference coefficient k is the noise shaper 802 within the required range of the amplitude for the input signal. Need to be adjusted to be stable. If possible, follow the criteria below: Should be: ・ The reference coefficient k is equal for the second and fourth integrators 822a (FIG. 63), and the third The same is true for the eye and the fifth integrator 822b. This allows the two integrators 822 and One hardware block 830 including a series of adders 830 changes the reference coefficient k. It can be reused without using it. Hardware block 830 is surrounded by a dotted line in FIG. You. ・ The reference coefficient k is the only negative power of two. So, do not multiply, Only a wear shift is performed. ・ The reference coefficient k is the output of the integrator 822 such that the required word length is uniform throughout the structure. To make the signal width the same. ・ The reference coefficient k is set so that the stability range is compatible with the required input signal level. Cut. The reference coefficients reserved for an input signal range of +/- 0.25dB are:    k1 = 0.25    k2 = 0.5    k3 = 0.25    k4 = 0.5    k5 = 0.125 The feedback coefficient values B1 and B2 use these reference coefficients to make them zero. Is secured. if you can, The coefficients for the denominator of the NTF equation, H (z), are given by To obtain the above Wi value, the denominator D of the discrete filter and then the given equation And by combining the values of B1 and B2. In this example, FIG. Then there is a unique solution. To locate the poles, the feedback coefficient of this example A1-A2 is: A1 = -4.273 A2 = -4.3682518 A3 = -5.2473373413 A5 = -1.28061104 These feedback factors are 10 times before the STF begins to be affected in the signal band. Quantized to bits. here: A1 = -4.265625 A2 = -4.359375 A3 = -5.234374 A4 = -1.75 A5 = -1.265625   The actual size of the NTF is the NTF obtained with all zeros at DC (z = 1) in FIG. Is compared to the size of The noise power of the signal band uses Chebyshev zero For a given structure, it is easier than it is for a simple structure with all zeros in DC. Seems to be about 16.3dB. 1. Single transfer function (STF) for Noise Sahper   Once the feedback coefficients, A and B, shown in FIG. The STF for e Sahper 802 is fixed. If oversampling rate is large enough At best, the STF has little effect on the signal bandwidth. Otherwise, the poles are to some extent Pulled, but undesirable because stability is compromised. Better structure Compensates for any distortion in the first interpolation filter interp. 1 blocks 810, 812. ST The magnitudes of F and NFT over the entire frequency range are shown in FIG. Pass band The desired STF response in the region is detailed in FIG. Glue in the passband The loop delay is shown in FIG.   Passband tilt has a desirable +/- 0.1dB ripple requirement for the entire playback path Meaningful enough to violate. However, with regard to group delay, it is still But acceptable.   The difference between the maximum and minimum group delay is 21.95 nanoseconds. f = 8KHz at 3.6KHz The phase deviation from the shape is equal to: 2. Noise transfer function (NTF) for Noise shaper   In the linear analysis employed to obtain the transfer function described above, the quantizer is off. Predict signal level effects when additional noise model fails due to overload Can not. However, it is known that stability is directly related to the maximum value of NTF. Have been. A value close to 2 is the limit for stable operation. Maximum value of NTF in the structure shown Is obtained for f = f / 2 (z = -1). There, the parameters of the NTF interact . ・   For a fixed stop band, the larger the noise attenuation, the greater the noise gain K, f = f / 2 The value at becomes larger. ・   For fixed noise attenuation, the larger the stop band, the larger the noise gain value. It will be good.   The fixed value of the noise gain K at f / 2 is equal to the noise attenuation if the bandwidth is correct. Can be obtained for any value. FIG. 74 illustrates a constant noise gain shape.   In the structure presented, a noise gain of 1.7 is used, which gives almost the best stability Amplitude Amax close to. Noise gain of K = 1.85 or more seems to have poor stability Seems to be.   This means that the transition from stable (K = 1.7) to unstable (K = 1.85) is rather steep. The maximum input amplitude Amax that the circuit can tolerate before becoming unstable is directly determined by the noise gain value Related to   For example, all loop configurations that keep shape for K = 1.8 have Amax = 0.2 . On the other hand, for the shape with respect to K = 1.71, A = .4. The arrow in Fig. 74 is safe in GB space. It shows the direction from constant to unstable. Amax increases to infinity as K increases Absent. It is highest at K = 1.71. This is partially determined by the value of the integrator gain. (Figure 75).   If the bandwidth is constant and the noise attenuation G changes, for a bandwidth of 20 kHz, Amaxvs. K is as shown in FIG. If the noise attenuation G is constant and the bandwidth changes, The pole result is as shown in FIG. This was obtained for G = 90 dB. K = The 1.8 stability reaches its limit at around 40KHz bandwidth. For a bandwidth of about 36KHz, The noise gain value K is about 1.707, which also matches the peak Amax = 0.4 I do. To ensure stable operation, the maximum amplitude into the loop, preferably It is desirable to keep it at 0.25.   Implementation of digital sigma-delta modulator that creates noise shaper The options are as follows:   Referring to FIG. 121, the noise shaper filter block 2010 is a multi-bit digital filter. One input signal 2012 (preferably 64xF, preferably 25 bits in frequency) Perform a sigma-delta conversion to convert to a digital output signal. This one Quantization to a cut output signal causes noise in the signal. It is the next high-speed signal transfer function. Adjusted according to number. This noise shaper filter 2010 has the following noise transfer function:   Where E (Z) is the digital noise input signal. Coefficients C1, C2, C3, C4, C5 are Given in table C19.   As shown in FIG. 121, this noise shaper block 2010 has a total of 12 2 3-bit addition operation, two multiplication operations, and five in five integration stages I1-I5 A scaling operation is included. The addition operation of 12 is executed by the adders a1-a12. The multiplication operation of 2 is performed by the multipliers 2016 and 2018. The five normalization operations are illustrated 121 (ie, 1/8, 1/2, 1/4, 1 / 2, and 1/4). The scaling is performed by a bit shifting operation. Noise sha in Figure 122 Used to control the data path implementing per block 2010 The clock signal used is set at a rate 256 times the sample frequency (256F). The coefficients C1-C5, which implement the poles for the transfer function above, are transferred in the signal band. It is quantized to 10 bits without adversely affecting the transfer function. noise shaper block The implementation of 2010 is based on the quantization output 2014 (+1 or -1) of the quantizer 2020. Have any value) and have coefficients C1-C5 multiplied by Coefficient C6 And C7 implement the transfer function zero and are reduced to two items. So Each of the items It is a power of two. The values of the coefficients C1-7 are shown in Table C19.   The noise shaper block 2010 output signal 2014 has four 256F clock cycles, or Or at a rate 64 times the sample frequency (64F). Data input and output are 6 Occurs at the rate of 4F. The fixed bit length in the noise shaper block is Filter-normalized data consisting of 23 bits, 3 of which are 19-bit integers G is a decimal number. Implementation of noise shaper block 2010 in Figure 121 Is schematically depicted in FIG. 122.   There, some adders are used to save hardware or increase efficiency. It is used.   The digital sigma-delta modulator and noise shaper circuit shown in Figure 122 The structure of the 2050 is shown in Figure 121 with the sigma-delta modulator noise shaper function block. An implementation of locking that reduces the number of adders required. Thus, the amount of hardware could be reduced. Thus, as shown in FIG. The structure used uses an adder as depicted therein. That is, FIG. The five stages of integration shown in FIG. 1 are reduced by the structure shown in FIG. No adder, and the multiplexed adder here in FIG. The adder of Figure 122 can be multiplexed to perform more than a force-by-force integration operation. And is performed by In FIG. 121, for each of the five integration stages Each adder performs only one operation per output. As a result, FIG. The depicted structure is more efficient and cost effective It is designed to be useless.   Some adders (mux3 controlling adder 1, mux4 controlling adder 4, addition Mux6 controlling adder 2, mux2 controlling adder 5, and mux1 controlling adder 1 122) controlling the multiplexing device shown in FIG. 122 or the multiplexing device shown in FIG. For other devices that select one digital output signal from among many digital input signals Therefore, the implemented device is selected.   Adders a1, a4, a9, and a11 are powers of two and are then drawn in Figure 121. The scaling factor being implemented is implemented by a bit shift operation . In FIG. 121, the addition operation of the adder a6, the standardization operation of 1/4 between the adders a6 and a7, The addition operation of the adder a7 and the shifter3 in FIG. It is executed. The input sh3 to shift3 ¥¥ in FIG. 122 is generated by the control circuit, The adder 1 is shifted by 2 to the power of 2 or 2 to the power of 3 as necessary in the calculation.   In FIG. 121, the two addition operations performed by the adders a11 and a12 on the basis of 1/4 are the minimum. During the first clock cycle, it is implemented by adder 1 and adder 2 in the structure of FIG. Is performed. In FIG. 121, the addition operation of the adder a4, the normalization of 1/2 between the adders a4 and a5, Then, the addition operation of the adder a5 is a fixed shift of 2 −2 after the adder in FIG. 122 is performed by the adder 4 and the adder 5 in FIG. In FIG. 121, the adder a9 And the two addition operations performed by adder a10, together with the scaling by 1/2, Executed by adder a4 and adder a5 in the structure diagram in FIG. 122 during one clock cycle Is done. That is, as described earlier, another click other than the operations of a4 and a5 in FIG. 121 is performed. The lock cycle is also executed on the adders 4 and 5 in FIG.   In FIG. 121, the addition operation of the adder a1, the normalization of 1/8 between the adders a1 and a2, and the addition The addition operation of the adder a2 is executed by the adder 2 and the adder 3 in FIG. Control input Shifter3 raises the output of the adder 1 to the power of 2−3 by the force sh3. In FIG. 121, the adder a3 Therefore, the addition operation performed is mux3 set to 1. set to 0 by sel By "1" input to mux3 and by clearing register r8 This is performed as depicted in FIG.   In FIG. 121, the addition operation performed by the adder a8 is performed by the adder 4 and the adder 5 in FIG. It is executed. The addition operation performed by the adder diagram a8 in FIG. 121 is a sum of two terms. Therefore, the input to the adder 4 in FIG. cleared using clr And the output of adder 4 is added to the output from mux2 in adder 5 By doing so, it is kept at zero.   The feedback coefficients C6 and C7 in FIG. 121 are shifter1, shifter2, and shif in FIG. Executed by ter1. These two feedback coefficients are given in Table C19 Are quantized by the shift sum of two terms shown in FIG. A series of 64F clocks are noi Used to generate se shaper circuit 2050. Different blacks in this series In the clock cycle, the values in integrators I3 and I5 in FIG. 121 are supplied to register r3 in FIG. 122. It is. Inputs C6-7 allow shifter1 to read the data in register r3 and C6 and C7 respectively. With a factor of 2−3 or 2−2 as required to implement Shift. The registers r1-r8 of FIG. 122 are the integration stages I1, I2, I3, I4 of FIG. , And is used to hold the value of I5 along with the outputs of adders a3 and a9 . Its value is 256F, and the eight registers in FIG. It will continue to be measured to make the data available.   The feedback term that implements the zero in the transfer equation is equal to the integrator I3 in FIG. It works by multiplying the output by a factor C6 and adding the product to the input of integrator I2. Can be   Similarly, the output of the integrator I5 is multiplied by the coefficient C7 and added to the input of the integrator I4. At different clock cycles in the order of the four 64F clocks, the integrators I3 and I5 in FIG. Is supplied to the register r3 in FIG. Product with feedback filter coefficient C6 The product of the output of the integrator I5 and the output of the integrator I5 is Similarly, it is executed using shifter1 and shifter2 in FIG. Control input C6-7 is suitable Control shifter1 and shifter2 to implement coefficients C6 and C7 when appropriate Used to do. shifter1 is -2 **-3 and 2 **-2 magnification for C6 and C7 respectively Can be switched between operations. shifter2 is 2 **-5 and 2 **-7 times for C6 and C7 respectively Switch between rate calculations available. The product of C6 and integrator I3 is held in register r11 in FIG. 4 used. Then, the product of C7 and integrator I5 is held in register r11 in FIG. 122. You.   The order of the four clock cycles and the operations performed there is provided in Table C20. Provided.     There, each clock cycle is at a rate of 64F.   In the previous paper, assigned to Crystal Semiconductor of Austin, TX, U.S Pat. For "Fourth Order Digital Delta-Sigma Modulator". No.5,196 , 850 include a sigma-delta modulator consisting of a series of cascaded integrators. To implement a single adder with a row of registers connected in series. The use is described. As revealed, the output of the integrator is Must be bundled to produce the output of the digital sigma delta. Current In the invention, the digital sigma-delta modulator uses two sets of adders . Each set contains calculations for the integration stage and outputs for the coefficients and the integration stage. To implement the sum of the quantized output multiplied by the force In this configuration, there are five adders. To calculate 1-bit output Is shown in Table C20. The calculations shown in the circuit of FIG. Assigned to one of the four clocks used to calculate each output value . In table C20, n produces one quantized output 14 shown in FIG. Represents the current order of four clock cycles. Q (n) is a 1-bit quantum Output signal 14 representing the polarity of the output 2022 of the integrator I5 in order n You. Ix represents the value of each of the five integrators I1-I5 in FIG. Where x = 1-5 It is. Description of the operation of table C20 for each clock cycle   In cycle 0, two intermediate values are calculated at the outputs of adders a3 and a9 in FIG. Addition The output of the interpolator a3 is C4 multiplied by the current interpolator I1 output and the 1-bit quantized output 2014. Is the sum of The output of a3 is stored.   The output of a8 is the sum of the current interpolator I3 output and C2 multiplied by 2014. a8 Is stored.   In cycle 1, a new value for interpolator 1 is calculated. Coefficient C5 and scaled input The sum of the output 2014 multiplied by 2012 is scaled by 1/8. The sum is interpolated Is added to the previous value of unit I1. This new value of I1 is stored. Also, interpolator I5 The product of the coefficient I7 is stored.   In cycle 2, the new value of interpolator 5 is calculated. Output 2014 is multiplied by coefficient C1 Is added to the previous value of the interpolator I4. The sum is scaled by 1/4 and before the interpolator I5 Is added to the value of This new value of I5 is stored. In cycle 2, supplementary The new value of the interstellar I5 is calculated. The output of adder a8 previously stored in cycle 0 is In cycle one, it is added to the product of the previously stored coefficient C7 and the output 2014. Or that The sum is scaled by 1/2 and added to the previous value of the interpolator I4. This new I4 The value is stored. In cycle 2, the product of the interpolator I3 and the coefficient I6 is stored.   In cycle 3, the new value of interpolator 3 is calculated. Output 2014 is multiplied by coefficient C3 Is added to the previous value of the interpolator I2. The sum is scaled by 1/4 and before the interpolator I3 Is added to the value of This new value of I3 is stored. In cycle 3, supplementary The new value of the interstellar I2 is calculated. First, adder a3 previously stored in cycle 0 Is added to the product of the coefficient C6 and the interpolator I3. This sum is scaled by 1/2, Added to previous value of interpolator I2. This new value of I2 is stored. This series 4 One cycle is repeated. A series of operations using the noise shaper circuit 2050 in Fig. 122 The calculations made for each of the four clock cycles are shown in Table C21. You. Table C21 contains each clock cycle for noise shaper circuit 2050. The data transfer made in the file is depicted. Used by noise shaper circuit 2050 122 is generated to the outside of FIG. Multiplexer control signal, coefficient C Toggle input to shifters 1 and 2, select between shifters 1 and 2 to select between inputs 6 and C7 Input, input to shifter3, then clear signal for registers rII and r8. Fig. 121 Shifter3 has a 1/8 scaling factor before the integrator (I1) and a 1/4 scaling factor before I3 and I5. Number Used to implement. Shifter3 to scale by a factor of 1/4 Shifts a multi-bit digital signal by 2 bits. To normalize by a factor of 1/8 Next, shifter3 shifts the bit stream by 3 bits. Register r1-r8 is 256F It is measured continuously with a clock. If I5 output signal 2020 (Fig. 121) is less than 0 Then, the quantized output bit signal 2030 in FIG. 122 takes a value of 1.   If the output signal 2020 is greater than or equal to zero, it takes a value of zero. In this way, the output signal No. 2030 is the code of the quantized output bit signal 2014 of the noise shaper block 2010 in FIG. 121. Express the issue.   FIG. 122 shows two groups of data registers arranged in series. . The registers r5-r8 store the output of the adder a8 and the data values representing the values of I2 and I4 in FIG. 121. Is a group of serially configured data registers used to . The output of the adder 5 is passed to the first data register r5 in the serial configuration. Series configuration The last register r8 in the group of data registers is passed as input to mux3 and mux2. It is. Another group of serially configured data registers includes registers r1-r4 In. This group of serially configured data registers is just the output of adder a3. Data values, and the values of the integrators I1, I3 and I5 in FIG. 121. You. The first data register r1 in this group receives input from the output of adder 2. You. The last data register r4 in this group passes its output as input to mux6 . Each of the two groups of data registers arranged in series has two middle There is a data register between them. In the first group they are r6 and r7. Second In the group they are r2 and r3. In the first group, the output of r6 is one Passed to mux4 as input. In the second group, the output of r3 is one input Are passed to mux6 and mux5, and are also passed as one input to shifter1 and adder 3.   The coefficient decoding (coef.decode) block 2032 may be a RAM, ROM, Is another memory storage device, but the output from the coefficient decoding block 2032 is sent to the adder 1. External control circuit to select the coefficients C1, C3, C4 or C5 to be Receive the control signal. If the 1-bit output in Figure 121 or Q (n) is equal to 1 If so, the decryption block 2032 inserts the one's complement multiplication of Cx * (-1) by the selected coefficient. Execute to implement. The Q (n) value in Figure 121 is based on the number of click cycles. Then, as the output of register r9 or r10 in FIG. Is forced. The purpose of mux1 is to make its output 2034 equal to the quantized output of integrator 5, Qn. It is to be. The new value of integrator 55n + 1 still requires the current quantized output Qn. Both are stored in registers r9 and r10, since they are calculated while they are needed. You. In FIG. 122, the input r9 from one control circuit Ten ck is adder 2 in cycle 3 Is latched in the register r9 as Qn + 1. Regis in this same cycle The current Qn of r9 is Latched by the register r10.   As shown in Table C20, during clock cycle 0-2, for mux1 The mux selection signal is set to 0, so that the output of r3 becomes the mux1 output signal 2034. Passed. During clock cycle 3, the mux select signal for mux1 is set to one. As a result, the output of r10 is passed as the mux1 output signal 2034. mux1 out Force signal 2034 to complete the two's complement of the selected coefficients C1, C2, C3, or C5 Is used as carry-in (cin) 36 to the adder 1.   Many operations in table C21 are implemented in noise shaper circuit 2050 in FIG. The common hardware is integration and multiplication of noise shaper block 2050 in Figure 121 , So that the addition function can be executed. For example, cycle on table C21 At zero, the coefficient C4 from FIG. 121 is prescaled by 4 and then C4 * 4 It is stored in FIG. 122 and then scaled by 1/4 in shifter3 of FIG. 122. This operation , Shifter3 is the integration stage I1, I3, or I5 from FIG. As shown, whether or not it was performed by the implementation in Figure 122 The shift required by shifter3 so that the signal can be scaled by 1/4 or 1/8. Is performed to reduce the number of   In cycle 0, a fixed multiplication coefficient of 1/2 is executed by the adder a4 output signal 2042. To compensate for this, the value of register r1 is set to 2 before r1 output signal 40 enters mux. It is put on the standard of. Thus, the five stages of integration shown in FIG. All of (I1-I5) is achieved by the hardware shown in FIG.   In the cycle 0, the outputs of the adders 2 and 5 in FIG. 3 and the output of the adder 8. Fig. 122 The sum of the adder 2 is calculated by the coefficient decoding block 2032. This is the result from the input C4 that selects the coefficient C4 * 4. Coefficient C4 is implemented in shifter3 The common coefficient of 1/4 is stored as C4 * 4 to allow for other calculations. mux The output at 3 is a 0 from register r8. That r8 is r8 Cleared by clr. Addition The output of arithmetic unit 1 is equal to Qn * C4 * 4. With input sh3 = 0, shifter3 is the result of Qn * C4 1 Shift this value by 2 for a factor of / 4. The output of the integrator 1I1 in FIG. 122 is in the register r3. Input mux6 sel = 1 and Fig.122 adder The output of No. 2 is the output of a3 in FIG. 121 and is equal to I1n * C4 * Qn. This value is then Stored in the register r1. In cycle 0, the sum of the adder 5 in FIG. sel = 0 , Mux4 sel = 1, r11 This is the result from clr = 1. This r11 clr = 1 is the integrator I of FIG. The output of the adder 4 in FIG. 122 is made equal to the value of the register r1 which is the output of 3n. Adder The output of 4 is reduced by 1/2, mux2 Added to Q2 * C2 from sel = 0. Figure 122 Adder The output of 5 is the output of FIG. 121a8. This value is then stored in register r5.   In cycle 1, the output of adder 2 of FIG. 122 is the new output of integrator 1I1n + 1 of FIG. is there. Input c5 and mux1 sel = 0 selects coefficient decoding block 2032 and follows Qn2034 To output the coefficient C5 or -C5. There it is added to the input value. With input sh3 = 1 , Shifter3 shifts the output of the adder 3 by 3 for a 1/8 coefficient. Input mux6 se l = 0. The output of shifter3 is the register that holds the current output of integrator 1I1n in Figure 121. Add to r4. The output of the adder 2 in FIG. 122 is the new output of the integrator 1I1n + 1 in FIG. is there. This value is then stored in register r1. In cycle 1, FIG. The output of 2 shifter 2 is the feedback from integrator 5I5n to FIG. 121a9. Entering Force C6 By 7 = 1, the value I5n of the register r3 in FIG. Multiplied by the coefficient C7 using The one's complement of C7 * I5n is stored in register r11. It is. When this term is used in cycle 2, the carry to adder 4 in FIG. Input signal r11 The use of ck gives the two's complement. In cycle 1 , The output of FIG. 122 is not used.   In cycle 2, the output of adder 2 of FIG. 122 is the new output of integrator 5 I5n + 1 of FIG. It is. Input C1, mux3 sel = 1 and mux1 sel = 0 selects coefficient decoding block 2032. And outputs coefficient C1 or -C1 according to Qn2034. So it is the register in Figure 122 It is added to the value of integrator 4 I4n in FIG. When input sh3 = 0, shifter3 is 1/4 Shift the output of adder 1 by 2 with respect to the number. Input mux6 sel = 0. shifter3 output Is added to a register r4 having the current output of the integrator 5I5n in FIG. Figure 1 The output of adder 2 of 22 is shown in FIG. This is a new output of 5I5n + 1. This value is then stored in register r1. Also In cycle 2, the output of the adder 5 in FIG. 122 is the new output of the integrator 4 I4n + 1 in FIG. It is. input mux4 from r6 mux2 from sel = 0 and r8 sel = 1 is the register in Figure 122 The output of the adder a8 previously stored in FIG. 121 is selected from the output of the In addition to the feedback previously stored in FIG. Output of adder 4 The force is shifted by 1 by a factor of 1/2 and applied to the integrator 4 I4n of FIG. 121 in register r8 of FIG. available. FIG. 121 The new value of the integrator 4 I4n + 1 is stored in the register r5.   In cycle 2, input C6 7 = 0, the integration of Figure 121 in register r3 of Figure 112 The unit value I3n is multiplied by a coefficient C6 using the term shown in Table C19. . The one's complement of 67 * I3n is stored in register r11. This term is used in cycle 3. When the input signal r11 is carried as a carry to the adder 4 in FIG. to use ck Thus, a two's complement is obtained. After the new Figure 121 integrator 5I5n + 1 output is calculated In order to measure the value Qn in the register r10 and the value Qn + 1 in the register r9 in the next cycle, Input r9 Ten ck changes from 0 to 1.   In cycle 3, the output of adder 2 in FIG. 122 is the new output of integrator 3I3n + 1 in FIG. is there. Input C3 and mux1 sel = 1 selects coefficient decoding block 2032 and follows Qn2034 To output the coefficient C3 or -C3. So it's Figure 122 Integration in Figure 122 register r8 2I2n. When input sh3 = 0, shifter3 adds 2 for 1/4 coefficient The output of the unit 1 is shifted. Input mux6 sel = 0. The output of shifter3 is the integrator 3 in Figure 121. Add to register r4 which has the current output of I3n. Output of adder 2 in FIG. 122 Is the new output of the integrator 3I3n + 1 in FIG. Then this value is stored in register r1 It is memorized.   In cycle 3, the output of the adder 5 in FIG. 122 is the new output of the integrator 2 I2n + 1 in FIG. Output. Input mux4 sel = 1, muz5 sel = 1 and mux2 sel = 1 is the register in Figure 122 The output of the adder a3 previously stored in FIG. 121 is selected from the output of the In addition to the feedback previously stored in FIG. Output of adder 4 The force is shifted by 1 by a factor of 1/2 and applied to the integrator 2I2n of FIG. 121 in register r8 of FIG. 122. available. Figure 121 The new value of integrator 2 I2n + 1 is It is stored in the register r5.   As can be seen by carefully reading table C21, noise shaper block 20 in FIG. The operation here in 10 is implemented by the calculation formula of table C21. D.Playback Semi-Digital Filter (SDF)   Semi-Digital Filter 804 is the last elementary stage of CODEC playback DAC 514, Sample for a 16-bit input signal 806 that is the input to the block 800 (FIG. 51). Filter the 1-bit signal 842 at 64 times the rate and convert the 1-bit signal 842 to an analog signal. Signal output signal 808. Semi-DigitalFilter804 coefficient should be a positive value if possible It is desirable that the ratio between the maximum value and the minimum value is 40 or less. Figure 77 shows the impulse response FIG. 78 shows the frequency response of the Semi-Digital Filter 804. . Semi-Digital Filter 804 performs the following functions: 1) A single digital signal Convert to a analog signal. 2) Filter high-frequency noise created by noise shaper802 Luta out. Semi-DigitalFilter804 has D / A conversion function and analog low-speed filter Data function. By doing so, high frequency noise can be Remove distortion.   The Semi-Digital Filter 804 includes a shift register 850 (FIG. 79). data Tap 853 is the input point to a series of flip-flops 852 in shift register 850 It is in. The logic state of each data tap 853 is coupled to the corresponding data tap 853 Used to switch current sink 855. The value of the current sink 855 here is Represents the coefficients used to produce the desired impulse for the filter I have. All current sinks 855 use opamp 854 and resistor856 They are combined and converted into one voltage.   Shift register 850, which is preferably a 107-bit long shift register I made a digital delay line. Thus, each flip flop 852 is 1 Represents the unit delay. That way, if the input to shift register 850 is x (k) If present, the first data tap 853 has the same value as x (k) but is delayed by one clock unit Thus, the next data tap 853 is represented by x (k-2), and so on. Before As noted, individual data taps 853 control individual current sinks 855. Like this Thus, the total current, IOUT857, is equal to the sum of the respective current sinks 855. this is , Represented by the following equation:   The op amp 854 and the resistor 856 convert the current IOUT857 into a voltage output signal VOUT858. This is represented by the following equation:   The coefficient of the Semi-Digital Filter 804 is determined by the value of each current. Current The value of each coefficient represented by link 855 is not a function of 1-bit signal 842. So The function of helps maintain the linearity of the structure.   In another configuration shown in FIGS. 80 and 81, two different currents, IOUT857 and IOU T * 859, is used. There are only two 1-bit signals 842 output from noises haper802 Value: take logic1 and logic0. For each bit of shift register 850, If logic1 exists, the current sink 855 corresponding to that bit is connected to the IOUT line. It is. If logic0 is present, the current sink 855 corresponding to that bit is the IOUT * line Connected to The following is an example of a Semi-Digital Filter with two taps is there. In this example, there are four possibilities, as shown in table C14.   There are two things to note about table C14. First, the current sink Since the data tap can be used and only the value of 0 and 1 can be made with Turkey, UT857 and IOUT * 859 are positive or zero. Thus, the Semi-Digital Filter There are built-in DC offsets that must be excluded. In the previous example, IOUT857 And IOUT * 859 take values from 0 to I0 + I1. As a result, the unique DC offset is IO Present in UT857 and IOUT * 859. These two bit examples have a value of (I0 + I1) / 2. ing. The DC offset in this example is a fixed amount of current (I0 + IOUT) from IOUT857 and IOUT * 859. 1) effectively exclude by subtracting / 2 be able to. Eventually, the effective IOUT85 7 and IOUT * 859 current are as shown in Table C15.   In Figures 80 and 81, two offset current sources, 880 and 882 exclude intrinsic DC offset Have been used to Current source IOFFSET * 880 is the total current node 88 of amp1 1860 Connected to 4. Current source IOFFSET882 connected to sum current node 886 of amp1 2861 Have been. The values of the current sources IOFFSET * 880 and IOFFSET882 are (I0 + I1 + ... + In) / 2.   For each shift register data tap combination, IOUT * 859 is IOUT Has the same amplitude and opposite sign as 857. Distortion and common mode as differential structure Noise is reduced. The differential current is then applied to a pair of op amps, op amp1 860 and op a Converted to voltage by mp2861. Each has a resistor resistor as shown in Figure 81. It has feedback 862 and storage device 865, and voltage signal DACOUTA 863 is DACOUTB864 Is made. The high frequency is in parallel with the resistor 862 corresponding to amp1 860 and amp1 861. Excluded by the livestock electronics 865. The differential voltage DACOUTA-DACOUTB is a resistor 872 , 874, 876, and the differential single-ended conversion circuit including the 878 and the op amp3 870. Thus, the signal is converted into a single-ended voltage output signal VOUT858. positive to op amp3870 The input is coupled to a reference voltage VREF through a resistor 878. This reference voltage is For example, it is desirable to be ground, but an intermediate voltage between VCC and ground may be used. E.CODEC Recording ADC architecture   The CODEC recording ADC 516 (Fig. 82) changes the sampling rate of the input signal from 64xf to f. While reducing (where f is the output sampling rate), the CD quality (90 dB Maintain a high signal-to-distortion ratio (STD) compatible with (higher) speech. Record The ADC 516 uses a decimal filter block 902 to convert the 64x oversampled signal by 64. Reduce the oversampled audio signal so that it is unsampled. The following reduction process To reduce the circuit complexity by using coefficients of 16, 2 and 2 respectively. This is done in three stages within the decision filter block 902.   82 and 83, recording ADC 516 receives analog audio signal 906 as input. this The signal is 64xf oversampling rate according to fourth order Σ- △ A / D900. The signal is converted into a 7-bit signal 908 by the default (64x oversampling). decimation f The ilter block 902 receives the 7-bit input signal 908 and has a sampling rate f Produces a 16-bit output signal 910.   The spectrum of the sampled analog input signal 906 has frequency components up to f / 2. And the image is clustered near an integer multiple of 64xf. Here, Force signal 908 is banded by an anti-aliasing filter in the recording path before Σ- △ A / D900. It is assumed to be band limited (filter out high frequencies). Wrap prevention Filter is installed by the user on the Mixer606 or somewhere in front of the Σ- △ A / D900. You may tall.   The output spectrum of the recorded ADC 516 is shown in FIG. 84 up to 64 × f / 2. Passband details (4KHz in this case) is shown in FIG. Decim.1 914 changes the first decision to f = 4xf (16 Sinc filter is used to execute up to the decimation coefficient. Decim. The output spectrum of 1914 is shown in FIG.   The next decision stage Decim.2 916 increases the sample rate from f '= 4 to f ″ = 1 / 2f' = 2 Change to f. Half band filters are used with stopband attenuation of approximately 100 dB. The spectrum of the output is shown in FIG. Last Decimation Stage Decim. 3918 Changes the sample rate to f ′ = f with a coefficient of 2 using a linear phase filter. This stay The filter is an equiripple FIR filter with a passband broadened to approximately 0.45f and a 0.55f It consists of stop bands starting with f. Stop band attenuation of Decim.3918 is 100 dB or more. Therefore, the stop band ripple is +/- 0.1 dB or less. As a result, the frequency below 0.45f Numbers guarantee no wrapping. F.Additional explanation of processing block 1. Decim.1 Stage   decimator is a sinc integrator-comb filter, implemented as shown in Figure 89. Has been mentioned.   All register 920 shown in FIG. 89 have the same MSB weight (this is the input word length). Depends), the decision factor (16), and the order of the decimeter (6). This time Is that Decim.3 914 correctly represents all possible input levels in output signal 915 You have been chosen to be able to. Here, saturation is performed and the maximum analog input Get closer to power. LSB truncation is done using known methods. The indicated bee The cut length is kept around 120dB STD. Register 920 implemented as RAM If done, they will all be the same length.   Each integrator includes a summing node 922 and a delay block 920. 64xf integrator Works at high rates. Each differentiator 924 has a differential node 923 and a delay block 920. Contains. Differentiator 924 operates at a low rate of 4xf. 16 generated by integrator 921 Operates on one of the samples. The transfer functions performed in this block are: The frequencies are shown in FIG.   The response is not flat in the pass band. Roll-off details are shown in Figure 91 . 2. Decim.2 Stage   The second decimator, Decim. 2916, is a half-band linear phase FIR filter. This file The filter has a stop band of the same size as the pass band. Stop ripple is 100dB Filter must be flat in the passband because it is very low to ensure attenuation There is. This filter has the impulse response with all other coefficients equal to 0. There are characteristics. However, the middle coefficient is equal to one.   Decim.2 when configured as one decimal by two filters 916 is structured into two basic types. The first is the modification "direct", the structure shown in Figure 92 become. The second is obtained by inverting the first signal follow graph in the replacement form. 93 is shown in FIG. In FIG. 93, C1-C5 are coefficients, and the coefficient of xnm1 is equal to 1. individual Multiplier 925 multiplies the same input signal sample by the individual filter coefficients C1-C5 It is. The delay block 926 and the total nodes 927 and 928 are connected as shown in FIG. Person in charge The outputs of the individual multipliers 925 for the numbers are passed to summing nodes 927 and 828. Coefficient C1 Is passed to the delay block 926 and the summing node 928. Replacement of Figure 93 The structure has several advantages other than the direct advantages of FIG.   ・ Minimum delay   All processors can run at low rates The frequency response performed by the Decim. 2916 filter is shown in FIGS. The coefficients for Decim.2916 are as follows: 3. Decim.3 Stage   Decim.3 916 is a symmetric FIR filter. 100dB reduction in stopband It is designed to have decay and a ripple of +/- 0.1dB or less in the pass band. flat So that the bandpass filter is followed by a compensation filter Is designed. The frequency response of the half-band Decim.3 918 is shown in Figures 97 and 98. You.   When used as a decimator, Decim.3916 filter 918 has two samples Calculate one sample each time there is an input. In Figure 93, all filters are data Replacement half-band to operate at lower sampling rates including tap correction Structure is adopted.   Decim.3916 has a linear phase characteristic, which impulse response is It guarantees that there is. Where the symmetry condition is hk is a filter coefficient. If possible, N is odd and N has different symmetry conditions Desirably, it is even.   The symmetry condition where N is an odd number is reflected in the structure of Decim.3 916 filter 918. This is similar to that of FIG. In this structure, the block flow point method can be used. I can't. It can be used with the direct form shown in FIG.   The first 30 coefficients for the 916 filter 918 are listed. Half bandwidth filter Filter's response is stored in Table C17 using the coefficients listed in Table 17. Inserting zeros between the individual coefficients listed, as shown in Table C17 Similar to the format, it can be obtained after the intermediate coefficients have been reduced to one. Four. Compensation filter   Nyquist FIR compensation filter 904 (FIG. 53) can be coupled to the output of Decim.3916. Ma The sinc Decimator filter Decim.3914 provides a smooth response and gain compensation. Used to compensate for the roll-off introduced to provide compensation. FIR Filter 904 includes a series of multipliers 930. This is because the compensation input signal 910 and the compensation It is obtained by multiplying each of the filter coefficients C1-C4. The product of each multiplier 930 is Input to the total node 934.   The compensated audio output signal 912 (FIG. 96) is a 16-bit signed digital audio signal. Passed to the format conversion block 536 (FIG. 44) and the overrange detection circuit 913. It is. In the overrange detection circuit 913, the amplitude of the compensation output signal is , Detect whether output bits B0 and B1 are set. These bits are Used by the user to adjust the gain of the audio signal being detected . However, users must know how. Appropriate attenuation / gain control The circuit can be programmed to increase or decrease the signal amplitude.   The compensating filter 904 operates on the Nyquist rate, and only requires seven data taps. It is also a shape phase. It requires four coefficients. Decim after compensation filter 904 The frequency response of the ator is shown in FIG. Full for decimeter in passband The frequency response is shown in FIGS. 100 and 101.   Compensation filter 914 performs the following transfer function. : Here, “freq” is a normalized frequency.   The impulse response coefficients for the compensation filter 914 are as follows: V. Synthesizer module   A. Synthesizer module overview   This section gives an overview of the synthesizer module. Synths introduced in this section Various aspects of the sizer module are discussed in detail in the next section.   Synthesizer module includes 8 delay based effects and 32 high quality A wavetable synthesizer that can generate an audible digital signal or voice is there. Synthesizer module with tremolo and vibrato for any sound Effect can be added. This synthesizer module is Provides several improvements to the synthesizing table, and previously unavailable features Provides power enhancement.   Figure 102 shows the synthesizer module and local memory control module. Interface with the system control module 2 and the system bar of the system control module 2. Interface 14, CODEC module 4, and synthesizer DAC FIG. Furthermore, the logic inside the synthesizer module 6 4 shows a signal flow.   During each frame, which is about 22.7 microseconds in duration, the synthesizer Module 6 produces one digital output on each side. 32 for each frame Where each data sample (S) of the 32 possible voices is It is processed separately through the signal path shown at 102.   For each voice processed during a frame, the address generator 1000 Generates the address of the next data sample (S) read from the motion table data 1002 Let it. The wavetable address for data sample S includes an integer and a fractional part. Integer part The minute is an address for data sample S1, and data sample S2 is an address Is incremented by one to determine The fractional part is used to interpolate the data sample S The distance from S1 to S2 is specified. Based on this address, the interpolation logic 100 4 are two data samples S1 and S2 to be read from the wavetable data 1002. Cause. Wave table data is stored in a local dynamic random access storage (DR). AM) and / or read-only storage (ROM). This data , The interpolation logic 1004 extracts the data sample S. This interpolation process will be described in detail. Wavetable data can be compressed by μ-method. μ-law pressure In the case of compression, S1 and S2 control the signal path of the synthesizer module discussed below. It is scaled down before interpolation.   After generating each data sample S, the volume generator 1012 generates an envelope, low frequency Add shaker (LFO) fluctuation, right offset, left offset, and sound effect Generate a data sample to be multiplied by the three volume components. Left and right offset Provides positioning of the stereoscopic view, the effect volume is used when generating the echo effect , LFO fluctuations in volume add trelmo to the voice. LFO generator 1021 is LF O fluctuation is generated. As described in detail below, LFO generator 102 1 changes the LFO at the wavetable addressing ratio to add vibrato to the voice Used to generate. LOUT1006, ROUT1008, EOUT 1010 is the output resulting from the data sample S multiplied by the three volume components.   LOUT1006 and ROUT1008 are the left and right accumulators 1014, 1 016. If effect processing is occurring, EOUT1010 Sum to one of the effect accumulators 1018. All audio in the frame is processed After processing, the left 16-bit width and the right 16-bit width (total 32-bit width) ) Is converted from the parallel format by the converter 1019. Converted to serial format.   After conversion to serial format, the data in the left accumulator and the right accumulator Synthesizer DAC Interface Circuitry 10 25 can be output in series. Synthesizer DAC interface -Kitley 1025 has synthesizer module 6 with synthesizer DAC5 Connect 12 The interface circuitry is: (i) clock divider Control logic (not shown) for controlling circuitries and clock dividers; (Ii) A clock generation server for clocking the operation of the synthesizer DAC512 Kitley (not shown); and (iii) a serial-to-parallel converter (not shown). You. See also FIG. Clock Divider Circuitry And submitted here for reference. Hazard-free Div. US by David Suggs, entitled "ider Circuit") Patent application Serial No. Is described in   The serial-to-parallel converter in the interface circuit 1025 is an accumulator. Data to a parallel format, and convert this parallel data to an analog signal. To the synthesizer DAC 512 for conversion. Synthesizer DAC512 Preferably comprises the same circuitry as the CODEC playback DAC 514. The output of the synthesizer DAC512 is the analog mixer of the CODEC module 4. -606 (FIG. 45), the left synthesizer DAC MUX649 As the left analog input (also not shown, the right synthesizer DA (As right analog input to C MUX). To play the generated sound Applying the resulting analog signal to audio amplifiers and speakers Can be. See Section IV. See CODEC module.   Each effect accumulator 1018 may have any of the , Or collect all effect data, without having to collect any data Good. The data stored in the effect accumulator is the wave table data that is read later. Are written back as data. The effect accumulator 1018 is one sound to another sound Store a value that is longer than one speech processing time that allows signal flow to the voice.   The accumulator data of left 16-bit width and right 16-bit width are serially In a format, the serial trace of the CODEC module 4 is output through the serial output line 1020. It can also be output to the transfer control block 540. Accumley External data through the serial transfer control block 540. It can be output on line 1023 to Alport 798. See the section IV. See CODEC module. Test equipment, external DAC, or digital A signal processor can be connected to the external serial port 798. Siri Input data through the external serial port 798 and the synthesizer DAC Line to Interface Circuitry 1025 1047 to the serial-to-parallel converter in the interface circuitry. Convert to parallel format, then send to synthesizer DAC512 it can.   Synthesizer registers 1022 are programmed to govern each audio processing Included parameters. This section on the synthesizer module We will refer to these various registers through See Section V. N. The details are discussed in the register. Voice parameters Is a register data buffer with programmed input / output (PIO) operations. Register 1024 is programmed through register 1024.   FIG. 103 illustrates a signal flow during sound generation and effect processing. register When the bit EPE of the SMSI is set to zero (SMSI [EPE] = 0), the thin The synthesizer module 6 acts as a signal generator and produces a sound or Is recorded from the wave table data 1002 contained in the local ROM or the DRAM. Play back the data. For local memory, see Section VI. local It is discussed in detail in the memory control module. Wave table data 10 02 addressing rate controls the pitch or frequency of the generated audio output signal. I will. The address generator 1000 controls this addressing rate, which is It also depends on the LFO fluctuation. In FIG. 103, the reference numeral FC (LFO) is LFO. Frequency control that depends on variation (that is, affects the pitch or frequency of speech (Wave table addressing rate). LFO fluctuations add vibrato to audio You.   After the wave table data 1002 is addressed and the data sample S is interpolated , The data samples are sent through three multipliers as shown in FIG. De When a data sample passes through any of the three volume multipliers, three Multiplied by two individual volume components.   The first volume component is VOL (L). (L) is this volume under register control This shows that the components can be looped and tilted. The second volume component is V OL (LFO), which gives a volume LFO variation. LFO fluctuations in the volume Give Remolo. As shown, VOL (L) and VOL (LFO) After multiplying the components, the audio signal path is split into three, each with three volume multiplier paths . The top two paths generate stereophonic left and right data output for audio.   Stereophonic positioning of audio can be controlled in one of two ways: : (I) one pan value, placing the signal in one of the 16 pan positions from left to right Or (ii) where in the stereo field Also, separate the left and right offset values, ROFF and LOFF, to place the audio. You can ram. ROFF and LOFF affect full volume output Can also be used. The left and right volume outputs for this audio are then generated during the same frame. And the sum of all the left and right outputs of the other voices. Left and right outputs collected for the frame The force is then output to the synthesizer DAC 512 of the CODEC module 4.   EVOL (effect volume) controls the volume of the third signal path. This third signal path For effect processing. Effect data for any or all effect accumulators 1018 or not to any effects accumulator You may not. Each of the eight effect accumulators 1018 has a total Total audio output.   When bit EPE of the register SMSI is set to 1, the synthesizer module Module 6 acts as an effects processor. During this effect processing module, The synthesizer module 6 is used to control echoes, residual sounds, chorus and flanges An effect based on the delay can be generated. Audio is specified for effect processing If so, the data is stored in one of the eight effect accumulators 1018. After that, the synthesizer module 6 writes the data to the wave table data 1002. Put in. The current write address for this data is the synthesizer effect address register. Set to star. The current read address for all audio to be generated is This is the value in the synthesizer address register. Write address and read address Les differences provide a delay for echoes and aftereffects. Write address is always 1 Only incremented. The read address is incremented by an average of one, but appended by the LFO. It can have a given time variation. These LFO fluctuations cause chorus and flange Create an effect.   After reading the delay data, multiply the data by the volume components in the left and right To determine if such amount of delay data is cut off and the stereophonic position of the output . The audio signal path through the EVOL to the effect accumulator 1018 is Selected by setting the bit AEP in the data SMSI. SMSI [ [AEP] is not set, the synthesizer module 6 enters the sound generation mode. Yes, before the interpolated data sample S is output to the synthesizer DAC 512, Does not move through the effect processing path.   Synthesizer module 6 waves from one of the effect accumulators 1018 Data samples are written to table data 1002 and later After reading one, if the SMSI [AEP] is set, the data sample It can be sent back to the effect accumulator 1018. Data sample is effective When sent back to accumulator 1018, the volume will be Can only be attenuated. Data sample sent back to the same accumulator Provides a delay in the volume of the data sample to create an echo effect if EVOL can be used for this.   B. Sound generation   Synthesizer module 6 (Synthesizer global mode register (Controlled by the bit ENH in the uplift mode) Module 6 generates up to 32 voices at a constant 44.1KHz sample rate Can be done. The bit DAV of the register SMSI is used to process a specific voice. To control whether If bit DAV is set to 1, specific audio will be processed Will not be. When no audio is processed, the synthesizer module 6 Without updating any of the register values, the local memory control module 8 Will not require memory cycles from. Unused to save power Audio is not processed and other local memory control memory Eliminate Molly cycle restrictions.   When not in the uplift mode, a sample rate of 44.1 KHz will result in up to 14 active sounds Will only be maintained for voice. When the 15th sound is added, almost 1 . Add 6 milliseconds to the sample period and increase the sample rate of 41.2 kHz. Will result. For a more detailed description of frame enlargement, see the section VI. See local memory control module. 19.4KHz This same process continues when adding each voice up to 32 voices at a sample rate of . When sound generation is not performed in the uplift mode, the following equation is used to determine the sample rate. You can use:         Sample period = AV. 1.6 μsec Where AV equals the number of active voices, which is the synthesizer active voice register Controlled by AV may be in the range of values from 14 to 32. Sump If the audio rate changes, adjust all audio frequency control values to maintain the true pitch of the sound Must. Slow sample rates reduce audible quality. However, The option with this mode is when the synthesizer module 6 Make it fully compatible with the synthesizer. Quoted here for reference, "Wave Table Synthesizer" by Traverse et al. ("Wave Table")   Synthesizer "), in U.S. Patent Application Serial No. See 072,838.   C. Address control   Sound generation is at the position programmed in the synthesizer address register At the address generator 1000 that addresses the wave table data 1002 Start. The calculation of the next value stored in the synthesizer address register is 4 bits. Set: ENPCM (Modulated Enable Pulse Code), LEN (Loop Enable) ), BLEN (bidirectional loop enable) and DIR (direction) It is. LEN, BLEN and DIR are synthesizer address control registers Stored in the star. In essence, setting one or a combination of these bits The synthesizer module addresses through a block of wavetable data Then stop or let the synthesizer module loop through the data blocks. Or the synthesizer module is passing data forward or backward through the data. Decide whether to specify the dress. FIGS. 104a-104f show six addressing controls Options: (i) one pass in the forward direction; (ii) one pass in the reverse direction; (iii) forward (Iv) looping in the reverse direction; (V) two-way looping; and (vi) PCM playback. Show Thus, when enabled, each time an address boundary is crossed, an interrupt is generated . Address boundaries are defined by the synthesizer address start register and the synthesizer address. Address end register.   Digitally store any length of sound using a small fixed amount of storage Use ENPCM in synthesizer volume control register to play be able to. ENPCM interrupts the address control logic at an address boundary But continue to move addresses in the same direction without being affected by address boundaries. So that you can   A standard player that plays digitally recorded sounds with the synthesizer module 6 The law is as follows:         1. Add the first block of recorded data using DMA or PIO The data is stored in the local memory from the address START to the address END1.         2. START and END1 are set as address boundaries, and ENPCM = The audio processing is started by setting 1, LEN = 0, BLEN = 0, and DIR = 0.         3. Address the next block of recorded data using DMA or PIO END1 to an address END2.         4. When the audio causes an interrupt due to crossing END1, the address The data boundary is changed from END1 to END2, and LEN = 1 is set.         5. Add the next block of recorded data using DMA or PIO The data is stored in the local memory from the address START to the address END1.         6. When the audio causes an interrupt due to crossing END2, Change the data boundary from END2 to END1 and set LEN = 0.         7. Steps 3 to 6 are repeated until the reproduction of the recorded data is completed. De Using the synthesizer module 6 as a digital mixer, The above steps can be repeated for sound reproduction.   Further, the address generator 1000 controls the write address for effect processing. . When programming audio for effects processing, the write address is the read address Will form a loop between the START and END address boundaries. Present The current write address is stored in the synthesizer effect address register. Would. The effective mode of looping for write addressing is FC = 1, LE N = 1, BLEN = 0 and DIR = 0. Rubin for read addressing The mode of FC is FC = 1, LEN = 1, BLEN = 0, ENPCM = 1 and DI R = 0. Current write held in synthesizer effect address register Address and the current read address held in the synthesizer address register. The difference between wrestling sets the amount of delay for the effect. Distance between START and END address boundaries Sets the maximum delay available for release.   FC (LFO) determines the rate of increase or decrease of the synthesizer address register. Control. FC (LFO) is composed of components FC and FLFO. FC is a synth This is the value programmed into the sizer frequency control register. FLFO is LFO This value is modified by the synthesizer frequency LFO register. It is memorized. FLFO is added to FC before address calculation. FLFO If it is a signed value and FLFO is negative, the pitch of the sound will decrease, while F If the LFO is positive, the pitch of the sound will increase.   The table below shows all combinations of wavetable addressing and internal flags BC (intersection boundaries) Affects the next wavetable address. (END- (AD D + FC (LFO))) is negative and DIR = 0, or ((ADD− When FC (LFO) -START) is negative and DIR = 1, BC becomes 1. Wavetable interrupt request (IRQ) energy in the synthesizer address control register When enabled by an event, condition BC = 1 causes an interrupt. Ne The xt ADD column uses ADD, FC (LFO), START and END Shows the formula used to calculate the next address. ADD is a synthesizer This is the value contained in the Ether Address Register. START and END are synths Sizer start address register and synthesizer end address register This is the address boundary for address looping included in the address.   Bit ENH of register SGMI is equal to zero, LEN = 1, BLEN = When 0, if the data at the END and START addresses are not the same, Discontinuities within the signal can occur. Data addressed by END address And there is no interpolation method between the data addressed by the START address , A discontinuity occurs. SGMI [ENH] = 1, SACI [LEN] = 1, SACI [BLEN] = 0, SACI [DIR] = 0, and SVCI [ENPC M] = 1 is the combination between END addressing data and START addressing. Enable the data synthesizer module to interpolate. Digital audible playback And use this new interpolation mode during effects processing. In this new interpolation mode, E ND until the addressing data is no longer needed for interpolation. Interrupts that normally occur when crossing dresses are not generated.   When the SMSI [ROM] = 0, the synthesizer module 6 has 8-bit and 1 Use of an 8-bit wide DRAM to obtain 6-bit data samples. Can be. For audio using 8-bit data, in the address register All addresses represent the actual address space. Actual address space Indicates an adjacent DRAM address space. Sound using 16-bit data For voice, the address from the address register to the actual address space Conversion is performed. The conversion is performed by the synthesizer module 6 in the same way as 8-bit. Enables generation of addresses for 16-bit data and allows local memory Control module 8 accesses the two 8-bit values to provide a 16-bit sample. Enable DRAM first page mode to provide pull You. For address translation, see Section VI. Local memory control This will be described in the module.   When the SMSI [ROM] = 1, the synthesizer module 6 has 8-bit A 16-bit wide ROM can also be used to obtain 16-bit data samples. Wear. For audio using 8-bit data, the least significant bit of the address ( LSB) is maintained internally and which byte of the 16-bit wide ROM word is used. Decide what to use. If LSB = 0, the lower byte of the word is sampled If LSB = 1, the higher byte of the word is used . For audio consisting of 16-bit data, address generator 1000 directly Address the ROM.   D. μ-law expansion   Μ-law compression of wave table data to save local memory space can do. Before interpolating the data, the synthesizer module 6 Expand bit μ-law data to 16-bit linear data. Synthesizermo The ULAW bit in the module select register is set to 1 and the μ-law data Enlarge the data. μ-law expansion is based on the synthesizer signal path described below. Is controlled. To convert μ-law data to 16-bit linear data The algorithm used is specified by the IMA compatibility project. Reference IMA Compatibility Project, cited here for , Proposal for Standardized Audio Int update Formats (IMA Compatibility Project, Standardized Proposal for Audio Interchange Format, Version 2.12 (1992) April 24).   E. FIG. interpolation   During audio generation, interpolation logic 100 in the synthesizer module signal path (described below) 4 is the address specified by the integer part of the synthesizer address register. In step S1, a sample S1 is captured from the wave table data 1002. Then the integer part The minute is incremented by one and a sample S2 is captured from the wavetable data 1002. Supplement To obtain the interleaved sample S, the interpolation logic 1004 uses the synthesizer address Use samples S1 and S2 together with the fractional part of the register (ADDfr). S Use the following equation to derive The interpolation process is a 10-bit interpolation. Exactly 10-bit for 1024 divisor Must be multiplied by Thus, there is a possibility between samples S1 and S2. 1023 additional data samples can be interpolated.   F. Volume control   Control of automatic volume control device 1012 and signal path of synthesizer module (described later) Below, using three volume multiplying signal paths, the envelope, LFO variation, right offset, A left offset and an effect volume are added to each sound. See FIGS. 102 and 103 . The three signal paths are left, right and effect. In each signal path, three volume components Multiply each voice. After calculating the three components, they are summed and the sound of the three signal paths Used to control the amount. Below are three volume equations for each of the three signal paths Shown in The terms of the formula are defined below.     (1) Volume left = VOL (L) + VOL (LFO) -LOFF     (2) Volume right = VOL (L) + VOL (LFO) -ROFF     (3) Volume effect = VOL (L) + VOL (LFO) −EVOL, S When MSI [AEP] = 0     Note: Volume effect = EVOL, SISI [AEP] = 1. In other words, Synthesizer module 6 switches to alternate effect path mode (SMSI [AEP] = 1) At one time, the volume of a data sample can only be controlled by EVOL before it is output Can be adjusted. V. I. See Effect Volume EVOL.   The exact formula for volume multiplication is: Where O is the output data, V is the volume value, and S is the interpolated data sample. Value. The increment from 1 to V is about 0.0235 dB change in output O Cause. This formula must be implemented directly in digital logic for exponential terms Is difficult, but piecewise linear approximation is relatively easy to perform. The sum of each volume is 1 2-bit value. The 12-bit value is a 2-bit field, V [11: 8] and V [7: 0]. V [11: 8] and V [7: 0] bit fields Is used to provide the following volume multiplicative approximation:   This equation is used three times to obtain the right audio output, the left audio output, and the effect output. The error introduced by approximation for 0 ≦ V ≦ 4095 is 0 dB to 0.52 dB And the average is 0.34 dB. The difference in power below 1 dB is Error cannot be perceived if output electricity is performed by approximation because it cannot be perceived . After generating all volume components, sum them for each multiplied signal path volume I do.   Advances or reverses the VOL (L) component of the volume, or sounds in two directions Can be looped between volume boundaries, or ramped up and down to volume boundaries May just be. The VOL) L) component is for adding an envelope to speech. . The next value stored in the synthesizer volume level register is calculated in three bits. G: LEN (loop enable), BLEN (bidirectional loop enable), and And DIR (direction). LEN, BLEN and DIR are synthesizers It is stored in the Iser volume control register. 105a105105e shows five volume controls The control options are illustrated. If enabled, split each time a volume boundary is crossed. Will occur. See FIGS. 105a 105e. Volume boundaries are synthesis The sound volume is held in the start and end registers.   The table below shows the sound with UVOL (updated volume) and internal flag BC (crossing boundary). How all combinations of volume control affect the formula for the next volume level after VOL (L) Is shown. UVOL is an internal that controls the rate at which VoL (L) is modified This is a flag. If the volume rate bit in the synthesizer volume rate register is V Set the rate of OL (L) correction. The number of times the audio has been set by the volume rate bit The UVOL will remain at zero until processed. When UVOL becomes 1, V OL (L) increases under the control of LEN, BLEN, DIR. BC sets the volume boundary Whenever it crosses it will be 1. Volume I in the synthesizer volume control register BC will generate an interrupt if enabled by RQ enable U. "Next VOL (L)" column is VOL (L), VINC (volume increase) , START and END to calculate next volume level of VOL (L) Here are the formulas used for VINC is stored in the synthesizer volume ratio register Is done. START and END are the synthesizer start volume register and the synth The volume boundaries for volume looping contained in each sizer end volume register. You.   In the bit definition section of the synthesizer volume rate register described below, The effect of the volume rate bit on volume increase is defined, but the register For ramming, the following equation best describes the rate of change of volume: In this equation, I [5: 0] and R [1: 0] are the fields in the SVRI register. It is Ludo. The change in volume caused by the increase of 1 in VOL (L) is 0.0235 dB. The basic rate for updating VOL (L) is 44100 Hz. This Implementation differs from that used by ultrasonic wavetable synthesizers. Yes, but the calculations are compatible.   The volume increase (decrease) method of the present invention removes zipper sounds for slow rate bit values There is an advantage of doing so. Ultrasound wave table synthesizers produce sounds generated at a slow rate Increases the volume of the voice and may cause a zipper sound when the volume increase value is high. You. This bit shifting leaves only three bit positions for I [5: 0], It can be used to set volume increase, thereby slow volume increase Makes it impossible to take incremental steps greater than 7 at the rate. Of course, the present invention Are easily modified to prepare different maximum increase steps with slow volume increase rate obtain. The three bits shifted from I [5: 0] are the bit positions of register SVLI. To the position F [2: 0]. In bit position F [2: 0] of register SVLI The data is used to represent looping volume, VOL (L) values at high resolution. Includes additional data used. Section V. N. See Register.   G. FIG. LFO volume VOL (LFO)   The LFO generator 1021 generates an LFO fluctuation (VOL (LFO)), and Can be used to continuously modify the sound volume. Tremolo for continuous correction of audio volume Create an effect. VOL (LFO) value is the synthesizer volume LFO register Is within. VOL (LFO) is an LFO meter sequentially executed by the LFO generator 1021. This is the final result of the operation. The LFO generator 1021 and LFO operation are described in detail below. explain.   H. Volume offset / pan ROFF, LOFF   The sound volume generator 1012 performs stereophonic sound positioning of the sound generated by the following two methods. Control: (i) audio can be placed in one of 16 pan positions; or ( ii) Program right and left offset to sound anywhere in the stereo field You can put your voice. OFFE in the synthesizer mode select register N controls two different modes of stereophonic positioning. The table below shows 16 breads The left and right offsets corresponding to the position are shown. Note that equally spaced To place the sound in one of the 16 stereo positions placed That both methods of mounting can be used. The values listed in the table apply to all pan positions. In order to keep the total power constant. Synthesizer pan register value, left offset value, left attenuation (dB), right Offset value, right attenuation (dB)   The following equation gives the left and right offsets to give a finer pan position at a constant total power. To decide. The formula is executed by the system software. The following equation determines the attenuation resulting from the calculated offset: PanMax + 1 is the total number of desired pan positions. Bread is between zero and PanMax Is the desired stereo position.   Offset control allows the user to directly and accurately control the stereo position I do. In addition, the user can turn off the left and right volume output or separate from all other volume components Or to control the overall volume output. Once the total volume When negative, the volume multiplier sets the maximum attenuation for that signal path, so Each output is switched off by programming all offsets to 1. Can be Users should consider the left and right offset created by the two components Thus, the overall sound volume can be controlled. One component is a stereo position And is unique for left or right offsets, while the other component is It is common to the offset and controls the overall volume of the audio. Users can use system software Combines two components in the software to control both overall volume and stereo position Program the synthesizer offset register to   When bit OFFEN = 1 of the register SMSI, two registers are used. To control the value of each offset. Registers SROI and SLOI are offset to the left. (LOFF) and the current value of the right offset (ROFF). Register SR OFI and SLOFI contain the final values of SROI and SLOI. SROI and SLOI Until the current value in registers reaches the final value contained in registers SROFI and SLOFI. Is increased or decreased by 1 LSB per sample frame. This is one time Smooth offset change is possible only by writing. Smooth offset change Prevents zipper noise. Same for both current value register and last value register By writing the same value, an instantaneous offset change can be performed. Bit If OFFEN = 0, the current value cannot be increased or decreased. This mode Is used for compatibility with ultrasonic wavetable synthesizers.   I. Effect volume EVOL   EVOL affects the output volume of the effect signal path. As shown in FIG. In addition, the signal path for the effect is different from the signal path for sound generation. Register SMSI The [AEP] controls this difference. In case of voice generation, SMSI [AEP] is zero The division of the effect signal path comes after VOL (L) and VOL (LFO). Since VOL (L) and VOL (LFO) add an envelope and tremolo to the sound, V It is important to place the effect signal path split after OL (L) and VOL (LFO). You. Effects processing should be performed on all sounds including the envelope and tremolo. EV OL is a subtraction, and therefore provides a volume decay.   In the case of the effect processing, the SMSI [AEP] is 1, and the effect signal path is obtained after interpolation. To divide. In this mode, after the effect delay is created, it is the effect accumulator You can use EVOL to adjust the volume of the signal before it is sent back to 1018. it can. EVOL is not summed with the other volume components, but by itself It works to control the volume.   Two registers are used to control the value EVOL. Register SEVI is E Contains the current value of the VOL. SEVFI contains the final value of SEVI. Register SE The current value in VI stays until it reaches the final value contained in register SEVFI. It is increased or decreased by 1 LSB every sample frame. This is one time writing It enables a smooth change just by including Smooth changes prevent zipper noise I do. Write the same value to both SEVI and SEVFI registers. Thus, an instantaneous offset change can be performed.   J. Voice storage   After generating the left and right outputs for audio data samples, the synthesizer module The accumulation logic in the rule 6 has already been generated during the same frame as the left and right outputs. Sum the left and right outputs. See FIG. Left and right outputs are left and right accumulators 1014 and 1016. Synthesizer module 6 has the same frame Continue this process until all of the audio output processed during . The sum of the left and right accumulators 1014 and 1016 is CODEC module 4. Sent to the synthesizer DAC512 inside the for possible mixing functions Is converted to analog left and right output. Section IV. CODEC module reference. The voice storage logic will determine when the sum exceeds the maximum value, Ensure that you clip instead of making changes.   K. Effect accumulation   During delay-based effects processing, the audio is sent to eight effect accumulators 1018 It can be turned off, turned on all, or not turned on at all. Shin The synthesizer effect output accumulator select register controls this processing . During effects processing, one of the eight effect accumulators 1018 is connected to audio. Can come off. The table below shows which effect accumulator is connected to which effect sound And how to turn the sound effect path into an effect accumulator Indicates whether to turn. For example, audio 12 may be programmed to perform effects processing. If so, it will be connected to the effect accumulator 4. Synthesizer Set the Iser effect output accumulator select register to 10 hex. Directs any audio to have its effect path processed by audio 12. Can be This directs the effect path to the effect accumulator 4 .   If one or more voices are to have the same delay-based effect, these Summing each of the voices together into one of eight effect accumulators 1018 Can be. For example, if some voices are piano tones, add the chorus effect to the total Sum them into the first effects accumulator so that they can be generated Can be Furthermore, if two other sounds are flute timbres, this sum So that they can produce residual effects in the second effect Can be summed.   During the frame, the local memory control module 8 To allow up to eight accesses to the wavetable DRAM. Thus, in this manner Can generate up to eight delay-based effects during a frame. Up As mentioned, some sounds can be summed into one of eight accumulators. Generate one of eight possible effects for the voice summed into one of these Can be done.   One of ordinary skill in the art would instead be able to replace any of the accumulators 1018 with one After completing the collection of voice or data from multiple voices, from the accumulator Write the collected data to local memory and clear the accumulator You will easily recognize that voice can be used to do so. Once accumulator Clears the collected data from another sound or many different sounds. The accumulator can be reused for data. In this way, the eight The fact that there is a cumulator is a delay-based effect available between frames Is not necessarily limited to eight. The number of delay-based effects available during the frame Access to local memory allowed in a given time frame Based on numbers.   As described above, up to 32 sounds and up to 8 effects can be generated between frames. Can be. However, a frame is a set time with 32 slots Thus, there is a reciprocal relationship between the number of sounds generated and the number of effects generated. For example , If up to 8 effects are generated during one frame, up to 24 Can occur between two frames. Between this generated sound and the effect Reciprocity should not create unreasonable constraints on high quality sound generation.   L. Low frequency oscillators (LFOs)   If SGMI [GLFOE] = 1, all LFOs are enabled. Two Triangle LFOs are assigned to each of the 32 possible voices. One LFO is Vib Rate (frequency modulation), and other LFOs are dedicated to tremolo (amplitude modulation). You. All parameters for operation of the LFO generator 1021 are First, the data is written to the local memory. Then, during operation, Data is read and written by the LFO generator 1021. Each LFO Can be ramped from its current value to any value within the depth range You. The following is a summary of the capabilities of each LFO:   Various parameters are programmed for each LFO, at the address below Stored in local memory: The base address is a 14-bit programmable register, SLFOBI. You. VOICE is the number of voices associated with the two LFOs. V / T is LFOs Choose between; high vibrato and low tremolo. DATA SEL is as follows Will be decrypted as: There are two values for DEFO and WAVE for each LFO. Which value is the LFO Its use is controlled by the WS bit in the CONTROL word. this Features allow LFOs to be modified during their operation. For example, if LFO is T While using WAVE [0] and DEPTH [0], the LFO has a new program. Fixed copy TWAV without worrying about overwriting the programmed value E [1] and DEPTH [1] can be modified. After writing the correction value, The WS bit in the CONTROL word can be changed and converted to a modified value .   The CONTROL byte contains the following data:   LEN LFO Enable: If this is high, enable LFO                       Is done. If this is low, it may be necessary to process the LFO.                       No access occurs anymore.   WS wave selection: TWAVE [0] and DEPTH [0], or                       Or select between TWAVE [1] and DEPTH [1].                       You.   SH shift: waveform starts at 0 and rises to 7FFFh                       Shift the waveform to the right.   INV Invert: Flip the waveform around the x-axis.   TWAVEINC [10: 0] LFO frequency: This is the LFO frequency.                       specify. Values range from 21.5 for 7FFh to 00                       The range is up to 95 seconds for 1 h. LFO frequency                       The formula for is:   Frame, LFO frame, ramp frame: 1 LFO for each frame Be updated. Each 64 frames are converted to LFO frames (to update all LFOs) Required time). The current position for a depth of 1 LFO is updated every 8 frames. Be renewed. The depth for all LFOs is 8 LFO frames or 512 (64 × 8 ) Updated every frame. The 8LFO frame constitutes a lamp frame.   Processing each LFO typically requires four accesses to local memory. I However, during the lamp update cycle, the LFO needs six accesses. I do. Usually the first three accesses are CONTROL, DEPTTH, and TWAV Read E; after the new value is calculated, the fourth access writes TWAVE return. During the lamp update cycle, obtain DEPTTHFINAL and DEPTHINC. Another read cycle is needed to store the new value of DEPTH. Another write cycle is used for this.   Lamping: DEPTH is DEPTTHFINAL for each lamp frame ● Compared to 32. If they are equal, no ramping occurs. DEPT If H is smaller, the sum of DEPTH + DEPTHINC is calculated; Instead, if DEPTH is greater, the difference between DEPTH-DEPTHINC is Is calculated. If the sum / difference is greater / less than DEPTHFINAL32, The new value written to DEPTH is DEPTTHFINAL 32; so Otherwise, the value written is the sum / difference. The time required for the ramp is:   LFO Math: Modify either frequency or volume, register SF Creating the final LFO value stored in the LFOI or SVLFOI involves the following steps: Is done according to: TWAVEINC is added to TWAVE for each LFO frame. LFO wave Multiplying the shape size by the depth results in the final LFO. Figures 106a and 106b used It is a graph of four possible waveforms. For waveform selection, set INV bit and SH bit to LF Controlled by programming in the CONTROL byte of O.   The final LFO is an 8-bit two's complement value. Synthesizer register Ray describes the LFO amplitude / variation value used to modify the frequency and volume of the audio. Remember This value is added to the FC for the vibrato and Added to volume for b: If the last LFO is positive, the sign extensions are all zeros; if the last LFO is negative, In this case, the sign extensions are all ones. This is the maximum vibrato depth of 12.4% (FC 1) and provides a tremolo depth of 12 dB.   Over a set time period, each LFO uses the same LFO amplitude / variation as the audio frequency. Add to / decrease from volume. Thus, at the end of this set period, the audio The frequency and volume are the same as if no LFO amplitude / fluctuation was added.   One skilled in the art will be able to provide LFO variations in the frequency and amplitude of the generated speech. In addition, it is easy to recognize that a low frequency other than a low frequency triangular wave may be appropriate. There will be. For example, only used to provide LFO variation, assuming low frequencies. Nominating one of the 32 possible generated sounds as the sound to be used May be appropriate.   M. Handling interrupts   Synthesizer module 6 has an address for each active voice to be processed. A boundary interrupt between the source and the volume can be generated. Address and volume interrupt Is treated similarly for reporting and clearing. These two tags There are three levels of reporting for type I interrupts. Borders during audio processing When inserted, depending on the boundary, the voice specific register bit W of the register SACI TIRQ, or register SVCI voice-specific register bit VIRQ Either indicates the type of interrupt and the global register in register SVII The TARBIT WTIRQ # or VIRQ # will be set. Register S VII also contains the number of voices that caused the interrupt. Bits WTIRQ # and V IRQ # is a bit of the register UISR in the system control module 2. Reflected in LOIORQ and VOLIRQ. The interrupt service routine is The register UISR can be read to determine the interrupt source. And then The interrupt service routine stores the value of 8Fh in the register IGIDXR (system And the register SVII , This acts as a notification that an interrupt has taken place, and Process is latched and all three levels of reporting are cleared. You can start the service. Immediately after writing to IGIDXR with a value of 8Fh, The UISR [LOOIRQ, VOLIRO] bit is cleared. Interrupt When the generated speech is processed next, the SACI [WTIRQ] and SVCI [V IRQ] is cleared and all three levels of reporting are cleared .   Load multiple audio interrupts into specific registers in synthesizer module 6 Can be stacked. During processing, the audio reaches the boundary and register SVII is already active. If an active interrupt is included, the active interrupt is sent from register SVII Until cleared, register SACI voice-specific register bits Either WTIRQ or VIRQ holds the new interrupt. register The SVII is updated with a new interrupt while processing a new interrupt voice.   By reading register SVIRI, SVII [WTIRQ #, VI RQ #] and the number of voices that caused the interruption. register -Reading SVIRI clears any of the stored interrupt reporting bits. Do not rear. In this way, the interrupt service routine Before the interrupt reporting bit is cleared. In addition, the boundary state that caused the interrupt can be changed. Only SVII reads If dropped, you may get multiple interrupts reported for the same boundary condition it can.   M. register   Unless otherwise specified, all of the contents in the synthesizer module registers 1022 RES (reserved) bit must be written as zero. RES bit Reading the data returns an indeterminate value. Read-modify-write operation of the RES bit The read value can be written back.     1. Direct register   Synthesizer audio select register (SVSR): Synthesizer audio The select register is an audio-specific indirect for reading or writing data. Used to select a register. Synthesizer audio select register -0 ̄31 (0h ̄1) to select one of the 32 sounds to be programmed Fh). Also, the register IGIDXR stores each write Bit to allow automatic increase to I8DP or I16DP at the same time. Can be set to 1. AI is held at 0 when SGMI [ENH] = 0 . Address: P3XR + 2h Read / Write Default: 00h     2. Indirect registers   There are two types of indirect registers in the synthesizer module 6. Gro Global registers affect the operation of all audio, and audio-specific registers -Affects the operation of only one voice. Access to global registers Is the same as accessing any other indirect register. Access to voice-specific registers Access to the synthesizer audio select register (SVSR) You have to specify the number of voices by inserting Audio specific registers A read is initiated by writing the read address to IGIDXR. sound Writing to the voice-specific register is done after writing to IGIDXR and SVSR. General 16-bit or 8-bit I / O data ports, I16DP and I8 Start by writing to DP. In addition, it is necessary to program audio. To reduce the number of necessary accesses, set SVSR [AI] to 1 and set register I The value in GIDXR automatically increases to I8DP or I16DP simultaneously with each write. Can be added. These features are described in the table below. Derive several different ways to access audio specific registers.   Standard access for writing and reading, column access for writing and reading Access, column access for writing, auto increment access for writing   The audio-specific register values in the synthesizer module 6 are stored in the register array. It is included in a dual port RAM called 1032. One side of the register array Is the system control module 2 system Interface 14 and the other side is a synthesizer module Access by core blocks 1000, 1012, 1028, 1032 Wear. Section V. O. See synthesizer module structure   When audio is generated, the synthesizer module core block registers Read the programmed value of the audio from the ray. When the sound generation ends, the core The block writes the self-correcting register value back to register array 1032. Les The read of the system bus interface 14 of the Must wait until read / write from register array is finished No. Synthesizer to speed up register array read access The read index of the indirect register of the Ether module is the write index And different. This makes it possible to pre-read the read data. Fast bus In the case of access, the system waits until the register array 1032 can respond. IOC while reading the data byte register to the system bus interface 14 HRDY pins are used.   When the system bus interface 14 writes to the register array, Miha: (i) The core block of the synthesizer module reads any audio (Ii) the sound modified by the writing Have to wait until it is no longer processed by the synthesizer module 6. No. The second state is a self-correcting register by the system bus interface 14. The data written to the star is stored in the register array 1 at the end of the audio processing. 032 is not changed by writing the core block.   Writing to the register array 1032 of the system bus interface 14 Is buffered. Index register or synthesizer audio select register Before writing the next system bus interface to the star, register array If the 1032 is not taking buffered data, the IOCHRDY pin will also Can be used to hold interface 14.   The present invention uses self-correcting to avoid having overwritten data. Suppose you have the system bus interface write data to the register twice It is designed to avoid undesirable methods in the prior art. Preceding Compared to this method in technology, the present invention guarantees the writing of data and Reduces the time that the user reads / writes from certain self-modifying registers I believe it will increase your confidence in your work.   Special care must be taken when writing to the active audio register. Synthesizer The core block of the Ether module writes a pair of audio-specific registers When reading register array 1032 during a short period, the generator performs undesired activities. May be Voice-specific registers with a pair of registers are: Address start, synthesizer address end, synthesizer address , The synthesizer effect address, and the synthesizer offset.   The synthesizer register is initialized by PCARST #. III. See System Control Module for a detailed discussion of PCARST #. The global register is initialized when PCARST # is active and voice specific Register array with registers PCARST with 128 clock sequence Initialized following an inactive edge of #. Four 16MHz clock sequences During the synthesis, the synthesizer module core block of the register array 1032 Writes from the side are initialized for each audio-specific register bit for a specific audio .   URSTI [RGF1] = 0 also uses registers SVII, SVIRI, SGMI, Initialize SLFOBI. Generally, URSTI [RGFI] = 1 is set for all systems. The operation of the synthesizer module 6 is stopped. Synthesizer module 6 Operate and read from / write to registers in the synthesizer module URSTI [RGFI] must equal one in order to perform Synth 16 MHz clock with PCARST # of 128 To a value that is compatible with the ultrasonic wavetable synthesizer. Be initialized. At this point, as occurs in the ultrasonic wavetable synthesizer , URSTI [RGF1] Will Reset Ultrasound Compatible Functions . SGMI [ENH] is set to 1, a new register and a new register Access to another PCARST # or their default state. Only the initialization routine that writes the register is compatible with the synthesizer module 6. State can be returned. URSTI [RGF1] = 0 is the register array This condition exists because it does not initialize the voice-specific registers within.     3. Global register       a. Synthesizer Active Voice Register (SAVI)   Synthesizer active voice register is an ultrasonic wave table synthesizer Only needed to maintain compatibility with. In uplift mode, the synthesizer Controlled by setting ENH in the global mode register to 1; The output of the synthesizer active voice register has no effect on operation. EN When H = 0, this register determines which audio produces output and affects the output sample rate. Used to control the effect. The number of active voices ranges from 14 to 32. May be in the enclosure. With 14 active voices, the output sample rate is 44.1K Hz or a sample period of about 22.7 microseconds. 14 Each additional sound exceeds 1.6 microseconds during the sample period I do. When ENH = 0, the frequency control value is delayed when 14 or more voices are active. Must be adjusted to compensate for the poor output sample rate. Programmed The value is equal to the number of active voices minus one. This register's programmed The value may range from 13 (CDh) to 31 (DFh). Address: P3XR + 5h Read / Write; Index IGIDX R = 0Eh write or IGIDXR = 8Eh read Default: CDh RES Reserved bits: When read bits 7 = 1, 6 = 1 and 5 = 0. AV [4: 0] Active Voice: These bits are the number of active voices. Is shown.       b. Synthesizer Voice IRQ Register (SVII)   The Synthesizer Ouis IRQ register indicates which audio requires interrupt service. And what type of interrupt service is needed. This cash register By indexing the star with the register IGIDXR = 8Fh, Synthesizer volume control specific to the audio that caused the / Or the IRQ bit in the synthesizer address control register Clear and then clear VOLIRQ and LOOIRQ in the IRQ status register. I do. Address: Read P3XR + 5h; Index IGIDXR = 8Fh   reading Default: E0h WTIRQ # Wave table IRQ: When this bit is 0, V [4: 0]                 The indicated voice crosses an address boundary, causing an interrupt.                 Let VIRQ # Volume IRQ: When this bit is 0, the finger is pressed by V [4: 0].                 The sound shown crosses the loudness boundary, causing an interrupt. RES Pending bit: will read 1. V [4: 0] Number of voices: These bits determine which voices require interrupt service.                 Indicate whether you need it. All bits except the RES bit are self-correcting.       c. Synthesizer voice IRQ read register (SVIRI)   Synthesizer voice IRQ read register is same as SVII register Includes bits but is read without clearing the internally stored interrupt condition Can be Address: Read P3XR + 5h; Index IGIDXR = 9Fh   reading Default: E0h WTIRQ # Wave table IRQ: When this bit is 0, V [4: 0]                 The indicated voice crosses an address boundary, causing an interrupt.                 Let VIRQ # Volume IRQ: When this bit is 0, the finger is pressed by V [4: 0].                 The sound shown crosses the loudness boundary, causing an interrupt. RES Pending bit: will read 1. V [4: 0] Number of voices: These bits determine which voices require interrupt service.                 Indicate whether you need it. All bits except the RES bit are self-correcting.       d. Synthesizer global mode register (SGMI)   Synthesizer Global Mode Register is an operation that affects all sounds Control the mode. Address: P3XR + 5h Read / Write; Index IGIDX                 R = 19h write or IGIDXR = 99h read Default: 00h RAMTEST Ramtest: By setting to 1, the synthesizer ad                 AF [0] of res register is in bit position 15 of SAHI                 Be written / read. NOWVTBL No wavetable: If set to 1, the synthesizer will use a wavetable.                 Use no data, but instead up to 16-bit positive                 Value (LSB = 0) and negative maximum 16-bit value (LSB = 1)                 Synthesizer address register to interpolate between                 Will be used. GLFOE Global LFO Enable: By setting to 1, all                 Enable LFO operation. ENH Elevation mode: Elevation added to ultrasonic wavetable synthesizer                 Enabled features by 1.       e. Synthesizer LFO base address register (SLFOBI)   The synthesizer LFO base address register contains the audio LFO parameters Holds the base address for the location. Address: P3XR + (4-5) h Read / Write; Index I                 GIDXR = 1Ah writing or IGDXR = 9Ah                 reading Default: 0000h A [23:10] LFO base address: audio LFO parameter                 Base address for location.     4. Audio-specific registers       a. Synthesizer upper address register (SUAI)   The upper address register of the synthesizer is the upper bit of the wavetable address for audio. Including The upper bits of the wavetable address are the synthesizer address for each voice. Start, synthesizer address end and add to synthesizer address Is done. The upper address bits store the audio in four 4 megabytes of memory space. Fix to one. Synthesizer module 6 is the upper address bits, It has access to 16 megabytes of memory. When SGMI [ENH] = 0, S UAI is kept at the default value. Address: P3XR + 5h Read / Write; Index IGIDX                 R = 10h write or IGIDXR = 90h read; sound                 Voice index SVSR = (00h ̄1Fh) Default: 00h AI [23:22] Upper address bits.       b. Synthesizer address start register   When the sound is moving through the wavetable data 1022, the synthesizer address The integer part of the start register specifies the boundary address. Synthesizer The value of the dress start register is the value of the synthesizer address end register Less than. Allow voice to access 4MB of wavetable memory Therefore, AI [21:20] is added. When SGMI [ENH] = 0, AI [21:20] will be kept at zero.         (I) Synthesizer address start high register (SASHI ) Address: P3XR + (4-5) h Read / Write; Index I                 GIDXR = 02h or IGDXR = 82h                 Read; voice index SVSR = (00h ̄1Fh) Default: 0000h         (Ii) Synthesizer address start low register (SASL) I) Address: P3XR + (4-5) h Read / Write; Index I                 Write GIDXR = 03h or IGDXR = 83h                 Read; voice index SVSR = (00h ̄1Fh) Default: 0000h AI [21:20] Start address: 4 MB                 Extended integer part of the start address added to AI [19: 0] Start address: Integer part of start address. AF [3: 0] Start address: These 4 bits are the synthesizer frequency                 10-bit, completely represented in the control register                 Represents the upper bit of the fractional part.       C. Synthesizer address end register   The integer part of the synthesizer address end register is the wave table data 1002 Specifies the boundary address within The value of the synthesizer address end register is It is larger than the value of the synthesizer address start register. Voice is a wave table memo In order to be able to access Lee's 4 megabytes, AI [21:20] Has been added. AI [21:20] is kept at 0 when SGMI [ENH] = 0 Is done.         (I) Synthesizer address end high register (SAEHI) Address: P3XR + (4-5) h Read / Write; Index I                 GIDXR = 04h write or IGDXR = 84h                 Read; voice index SVSR = (00h ̄1Fh) Default: 0000h         (Ii) Synthesizer address end low register (SAELI) ) Address: P3XR + (4-5) h Read / Write; Index I                 Write GIDXR = 05h or IGDXR = 85h                 Read; voice index SVSR = (00h ̄1Fh) Default: 0000h AI [21:20] End address: To access 4 MB                 Extended integer part of end address appended to. AI [19: 0] End address: The integer part of the end address. AF [3: 0] End address: These 4 bits are the synthesizer frequency control                 10-bit portion completely displayed in the control register                 Represents the upper bits of several parts.       d. Synthesizer address register   The integer part of the synthesizer address register is the current From where the synthesizer module 6 captures the sample data You. The fractional part is a sample of the location addressed by AI [21: 0] , AI [21: 0] +1 and the sample at the location addressed by Used for a while. This register is self-correcting, and the audio is The value changes as you move through the tree. AI [21:20] has sound wave It is added to allow access to 4 megabytes of table memory. When SGMI [ENH] = 0, AI [21:20] will be held at zero. An additional address fractional bit, AF [0], is used for interpolation, but is usually No access for mining. The reset and write of the SALI is AF [0 ] Is cleared. RA in the synthesizer global mode register If MTEST = 1, access AF [0] through bit 15 of SAHI it can.         (I) Synthesizer address high register (SAHI) Address: P3XR + (4-5) h Read / Write; Index I                 GIDXR = Ah writing or IGDXR = 8Ah reading                 Take; voice index SVSR = (00h ̄1Fh) Default: 0000h         (Ii) Synthesizer address low register (SALI) Address: P3XR + (4-5) h Read / Write; Index I                 GIDXR = Bh write or IGDXR = 8Bh read                 Take; voice index SVSR = (00h ̄1Fh) Default: 0000h AI [21:20] Address: Added to access 4 MB                 The expanded integer part of the address being addressed. AI [19: 0] Address: The integer part of the address. AF [3: 0] Address: Fractional bits used during interpolation. All bits except RES are self-modifying.       e. Synthesizer effect address register   During effect processing, the synthesizer effect address register stores data in the wavetable data. Indicates the current address to be written into the data 1002. The data to be written is From the effect accumulator 1018. Data is being written Therefore, the effective address is only an integer. The local DRAM has wave table data 100 Acts as 2.         (I) Synthesizer effect address high register (SEAHI) Address: P3XR + (4-5) h Read / Write; Index I                 GIDXR = 11h writing or IGDXR = 91h                 Read; voice index SVSR = (00h ̄1Fh) Default: 0000h         (Ii) Synthesizer effect address low register (SEALI) Address: P3XR + (4-5) h Read / Write; Index I                 GIDXR = 12h writing or IGIDXR = 92h                 Read; voice index SVSR = (00h ̄1Fh) Default: 0000h AI [21: 0] Effect address All bits except RES are self-modifying.       f. Synthesizer frequency control register (SFCI)   The synthesizer frequency control register uses the address generator 1000 Control the rate of travel through the wrestling. This sets the pitch of the generated voice. Decimal The modulo 1.0 default value represents the synthesizer frequency control register value. , It will regenerate the wavetable data 1002 at the same rate as when it was recorded. 1 F0 has been added to increase the fractional frequency resolution to 0-bits. F0 Is held at 0 when SGMI [ENH] = 0. Address: P3XR + (4-5) h Read / Write; Index I                 GIDXR = 01h writing or IGIDR = 81h                 Read; voice index SVSR = (00h ̄1Fh) Default: 0400h I [5: 0] Frequency control: integer part of frequency control F [9: 1] Frequency control: Fractional part of frequency control F0 frequency control: added to increase resolution to 10-bit                 Fractional part of frequency control       g. Synthesizer frequency LFO register (SFLFOI)   Synthesizer frequency LFO register used to modify audio frequency Including the value generated by the generated LFO generator 1021. SGMI [ENH] When = 0, SFLFOI is held at the default value. Address: P3XR + 5h Read / Write; Index IGIDX                 R = 17h writing or IGIDXR = 97h reading; sound                 Voice index SVSR = (00h ̄1Fh) Default: 00h FLFO [7: 0] LFO frequency value All bits are self-correcting.       h. Synthesizer address control register (SACI)   The synthesizer address control register is the wavetable of the synthesizer module. Controls how data 1002 and data width of wavetable data are addressed . Address: P3XR + 5h Read / Write; Index IGIDX                 R = 00h write or IGIDXR = 80h read; sound                 Voice index SVSR = (00h ̄1Fh) Default: 01h WTIRQ Wavetable IRQ: When this bit is 1, WRITEN is set.                 And the wavetable address depends on the start or end address.                 Intersects with set boundaries. This bit is the audio interrupt                 Condition loaded into the synthesizer audio IRQ register                 The value 8F is written to the total index register.                 Cleared when inserted. This bit interrupts                 0 to clear or 1 to cause an interrupt                 Either can be written. DIR Direction: This bit sets the direction in which the wavetable is addressed.                 Set. If DIR = 0, the address is                 Increase toward the boundaries set by the jitter. DIR =                 If 1, the address is determined by the address start register                 Decreases towards a set boundary. This bit is a bidirectional                 Is enabled and the address generator is enabled when BLEN = 1                 Modified by 1000. WREN wavetable IRQ enable: if WTIEN = 1, address                 The WTIRQ bit is set when crossing a data boundary. WT                 If IEN = 0, WTIRQ is cleared and can be set.                 Absent. BLEN bidirectional loop enable: when BLEN = 1, wave table add                 The address changes direction at the start and end addresses. BLE                 If N = 1, the wavetable address is the start and end address.                 Will change direction. If BLEN = 0, wave table                 Address continues to loop in the same direction when crossing the end point                 Will be. When LEN = 0, BLEN is indifferent. LEN Loop enable: When LEN = 1, the wave table address is BL                 Loop between address boundaries controlled by EN and DIR                 Will do. When LEN = 0, the wave table address is the start and end                 To the boundary of the memory block indicated by the start address                 Move or in the synthesizer volume control register                 If ENPCM is set, move beyond that boundary.                 Will be. DW data width: This is 16-bit data for wavetable data 1002                 Addressed by data or 8-bit data                 If DW = 1, 16-                 Access bit data. If DW = 0, wave table data                 Data to access 8-bit data. STP1 Stop 1: Writing 1 to this bit is a sound generation activity                 To stop. STP1 and ST to control voice processing                 P0 must be 0. STP0 Stop 0: This bit is set by the address generator 1000.                 Will be modified. The audio is set to stop at the boundary                 If so, STP0 is set to 1 when crossing the boundary. sound                 A one can also be written to stop the voice. When reading                 To, it represents the state of the voice. To control the sound,                 Both STP1 and STP0 must be 0. * Indicates a self-correcting bit.       i. Synthesizer volume start register (SVSI)   The synthesizer volume start register contains the low point of the volume ramp (slope). No. Address: P3XR + 5h Read / Write; Index IGIDX                 R = 07h writing or IGIDXR = 87h reading; sound                 Voice index SVSR = (00h ̄1Fh) Default: 00h V [7: 0] Volume start value       J. Synthesizer volume end register (SVEI)   The synthesizer volume end register contains the high point of the volume ramp (slope). No. Address: P3XR + 5h Read / Write; Index IGIDX                 R = 08h writing or IGIDXR = 88h reading; sound                 Voice index SVSR = (00h ̄1Fh) Default: 00h V [7: 0] Volume end value       k. Synthesizer volume level register (SVLI)   The synthesizer volume level register contains the current value of the volume looping component . The volume is three of the three used for higher resolutions when choosing a slow rate increase. It has fraction bits (F [2: 0]). These three bits increase their bits. Until the volume rolls over to the LSB of V [11: 0]. Has no effect. Address: P3XR + (4-5) h Read / Write; Index I                 Write GIDXR = 09h or IGIDXR = 89h                 Read; voice index SVSR = (00h ̄1Fh) Default: 0000h V [11: 0] Current looping volume value F [2: 0] Fractional volume value All bits except RES are self-modifying.       1. Synthesizer volume rate register (SVRI)   The synthesizer volume ratio register controls the rate at which the amount of looping Control the addition. Address: P3XR + 5h Read / Write; Index IGIDX                 R = 06h writing or IGIDXR = 86h reading; sound                 Voice index SVSR = (00h ̄1Fh) Default: 00h R [1: 0] Volume rate bits: These bits are the rate of increase added to the volume                 Controls the increment split.                 R [1: 0] = 0 Add increment value for each frame                       = 1 Add (increased value) / 8 every 8 frames                       = 2 Add (increment value) / 8 for every 8th frame                 To                       = 3 Add (increased value) / 8 every 64th frame                 Get I [5: 0] Volume increase bits: These bits control the amount of increase.       m. Synthesizer volume control register (SVCI)   Synthesizer volume control register starts the looping component of the audio volume Controls how it moves from to the end of the volume. This register also Enables sound to be played continuously in blocks of scode modulated (PCM) data Therefore, it also includes the ENPCM which controls the wave table addressing. VIRQ, DIR and And STP0 are self-correcting bits. Address: P3XR + 5h Read / Write; Index IGIDX                 R = 0Dh write or IGIDXR = 8Dh read; sound                 Voice index SVSR = (00h ̄1Fh) Default: 01h VIRQ Volume IRQ: When this bit is set to 1, VIEN                 Is set and the volume is set by the start or end volume                 Intersects with the boundaries that have been set. This bit is the audio interrupt condition.                 Is loaded into the synthesizer audio IRQ register                 And the value 8F is written to the total index register                 Cleared when it is This bit clears the interrupt                 0 to trigger or 1 to cause an interrupt                 You can write in it. DIR Direction: This bit controls the volume increase or decrease. this                 The bit is 0 to increase the volume, and                 Is 1. This bit enables bidirectional looping,                 Modified by volume generator 1012 when BLEN = 1                 You. VIEN Volume IRQ enable: If VIEN = 1, the volume boundary                 VIRQ is set when crossing. When VIRQEN = 0,                 VIRQ is cleared and cannot be set. BLEN Bi-directional loop enable: volume starts when BLEN = 1                 And change the direction at the end volume. Even if BLEN = 0                 If the volume continues to loop in the same direction as when crossing the end point,                 There will be. When LEN = 0, BLEN is indifferent. LEN Loop enable: When LEN = 1, the volume is BLEN and DI                 Will loop between endpoints controlled by R                 U. When LEN = 0, the volume moves to the volume boundary, and the volume                 Will be kept constant. ENPCM Enable PCM operation: If this bit is set to 1,                 If the wavetable address continues to cross the wavetable address boundary,                 There will be. This enables continuous play of PCM data. E                 NPCM = 1, synthesizer address control register                 -LEN = 1 in the synthesizer global mode                 New interpolation mode possible when ENH = 1 in register                 Enabled. This new mode is a synthesizer address                 Data addressed by the start register                 Address specified by the synthesizer address end register                 Allows interpolation between the data to be processed. STP1 Stop 1: Writing 1 to this bit is the volume loop.                 The change of the switching component is stopped. Changes in the volume looping component                 To enable STP1 and STP0 to be non-zero                 No. STP0 Stop 0: This bit is modified by volume looping logic                 Is done. If the volume is set to stop at a boundary,                 When crossing the world, STP0 is set to one. Volume lupine                 Can also be written to stop logging. Read                 At times, it indicates the state of volume looping. Operate audio                 For this purpose, both STPI and STP0 must be 0. * Indicates a self-correcting bit.       n. Synthesizer volume LFO register (SVLFOI)   The synthesizer volume LFO register is used to modify the volume of the audio Including the value generated by the LFO generator 1021. Address: P3XR + 5h Read / Write; Index IGIDX                 R = 18h writing or IGIDXR = 98h reading; sound                 Voice index SVSR = (00h ̄1Fh) Default: 00h VLFO [7: 0] Volume LFO value. All bits are self-correcting.       o. Synthesizer offset register   The synthesizer offset register is the sound generated in the stereo field Control voice placement. The synthesizer offset register is the synthesizer It has two operation modes according to OFFEN in the mode select register. O When FFEN is 0, use SROI [11: 8] to control left and right offset. To use. In this mode, 16 positions of the pan are available. The decimal value of 0 is The voice is placed on the far left, a value of 15 places the voice on the far right. This mode is ultrasonic Compatible with wavetable synthesizers. When OFFEN is 1, SROI [15: 4] and SLOI [15: 4] separately affect left and right channel outputs of audio Contains the current left and right offset values. The final value for the left and right offsets is the SROFI level. Included in the Sister and SLOFI registers. Audio processing Between the values RO [11: 0] and LO [11: 0] are equal to the values of ROF [11: 0] and LO It is increased or decreased by 1 LSB close to F [11: 0]. Synthesizer reflex Offset register affects operation when OFFEN is set Only.         (I) Synthesizer write offset register (SROI) Address: P3XR + (4-5) h Read / Write; Index I                 GIDXR = 0Ch write or IGDXR = 8Ch                 Read; voice index SVSR = (00h ̄1Fh) Default: 0700h RO [11: 0] Right offset current value. All bits except RES are self-modifying.         (Ii) Synthesizer write offset final value register (SRO) FI) Address: P3XR + (4-5) h Read / Write; Index I                 GIDXR = 1Bh writing or IGDXR = 9Bh                 Read; voice index SVSR = (00h ̄1Fh) Default: 0700h ROF [11: 0] Right offset current value. All bits except RES are self-modifying.         (Iii) Synthesizer left offset register (SLOI) Address: P3XR + (4-5) h Read / Write; Index I                 GIDXR = 13h writing or IGDXR = 93h                 Read; voice index SVSR = (00h ̄1Fh) Default: 0000h LO [11: 0] Left offset current value. All bits except RES are self-modifying.         (Iv) Synthesizer left offset final value register (SLO FI) Address: P3XR + (4-5) h Read / Write; Index I                 GIDXR = 1Ch write or IGDXR = 9Ch                 Read; voice index SVSR = (00h ̄1Fh) Default: 0000h LO [11: 0] Left offset current value.       p. Synthesizer effect volume register (SEVI)   The synthesizer effect volume register contains the current value of the volume that controls the sound effect. No. During the audio processing, the value EV [11: 0] is changed to the value EVF [11] included in SEVFI. : 0]. Address: P3XR + (4-5) h Read / Write; Index I                 GIDXR = 16h or IGDXR = 96h                 Read; voice index SVSR = (00h ̄1Fh) Default: 0000h EV [11: 0] Special effect sound volume present value. All bits except RES are self-modifying.       q. Synthesizer effect sound volume final value register (SEVFI)   The synthesizer effect volume final value register controls the final value of SEVI. Address: P3XR + (4-5) h Read / Write; Index I                 GIDXR = 1Dh write or IGDXR = 9Dh                 Read; voice index SVSR = (00h ̄1Fh) Default: 0000h EVF [11: 0] Special effect sound volume final value.       r. Synthesizer effect output accumulator selection register (SEA           SI)   The synthesizer effect output accumulator selection register determines which effect accumulator It controls whether the lator 1018 receives the effect output. Effect accumulator Any or all of them can be selected, and none of them need be selected. Numbers 0-7 There are eight effect accumulators attached. When SGMI [ENH] = 0, SEASI is kept at the default value. Address: P3XR + 5h Read / Write; Index IGIDX                 R = 14h writing or IGIDXR = 94h reading; sound                 Voice index SVSK = (00h ̄1Fh) Default: 00h ACC [7: 0] Accumulator selection       s. Synthesizer mode select register (SMSI)   Synthesizer mode select register enables various features in audio Control. In addition, audio may be processed through sound generation or effect processing, or Controls whether to proceed without being processed. Programming unprocessed audio Does not cause access to wavetable data 1002 when the audio is processed, Allows a lot of access to local memory for the function. Address: P3XR + 5h Read / Write; Index IGIDX                 R = 15h writing or IGIDXR = 95h reading; sound                 Voice index SVSR = (00h ̄1Fh) Default: 02h ROM ROM: 1 allows audio data to come from external ROM                 To ULAW μ-law: 1 means that the voice input data is within μ-law.                 to enable. Get 8-bit sample from local memory                 When ULAW is 1, SACI [DW] is also set to 0                 It must be. OFFEN offset enable: synthesizer offset register                 -Can control the left and right volume of audio separately with 1                 I do. AEP Alternate Effect Path: 1 enables an alternate signal path for audio. Deactivate DAV audio: specific when DAV is set to 1                 Is not processed. EPE effect processor enable: EPE is set to 0                 At times, the synthesizer module acts as a signal generator.                 Synthesizer module when EPE is set to 1                 Acts as an effect processor. Local memory 1                 During effect processing, the SACI                 [DW] must be set to 1.   O. Synthesizer module structure   This section is the next core block of the synthesizer module 6: the address generator 10 00 (FIG. 107); volume generator 1012 (FIG. 109); signal path 1028 (FIG. 11). 6); and the structure of the accumulation logic 1030 (FIG. 118) will be described. Furthermore, the synthesis The user module is a synthesizer register array 1032 (see FIG. 111). And an LFO generator 1021 (FIG. 115), a clock controller (not shown), And a start generator (not shown).     1. Address generator   FIG. 107 shows an address generator 1000, an address generator and a synthesizer Gister array 1032, storage logic 1030, local memory control module 8, the LFO generator 1021, and the junction with the signal path 1028 are shown. B Local memory control module 8 is described in section VI. Local memory The control module will be described. The address generator 1000: Controller 1034; result bus 1036; register array bus 1038; Signal extension logic 1040; adder / subtractor 1042; temporary registers 1044, 1 047, 1055; Number generators 1048, 1049; Foldable transistors Loader address incrementer 1035; effect address Data FIFO buffers 1037, 1039; address fraction buffer 104 1: LFO fluctuation register 1043; clocking line PHI1; and star Address generation line 1045.   As shown, sign extension logic 1040, adder / subtractor 1042 and temporary The register 1044 is shared with the address generation controller 1034. To both the result bus 1036 and the register array bus 1038. one The time register 1047 and the number generator 1048 are connected to the result bus 1036 and the address. Foldable transistor 1 while connected to 050, number generator 1049 and temporary register 1055 Device 1038 and an address generation controller 1034. Rhodab Address incrementer 1035, effective address / data buffer 103 7, 1039, address fraction buffer 1041, and L The FO fluctuation register 1043 is also connected to the register array bus 1038 and the address generation Controller 1034.   The loadable address incrementer 1035 is also Synthesizer register SUA through the memory control block 8 I. The effect address buffer 1037 is routed through line 1053. Connected to the register SUAI and the effect address / data buffer 103 9 is connected. The effect address data 1039 is stored in a register in the storage logic 1030. Star, storage logic control line LDED, and control lines LADDIN and LDAT B is connected to the local memory control block 8.   The address fraction buffer 1041 is a register and control line of the signal path 1028. It also has connections to DRADDFR and LDBUF. Address generation controller Roller 1034 directly contacts signal path 1028 through the start signal path control line. Continued. The LFO fluctuation register 1043 is a register of the LFO generator 1021. And an additional connection to the control line LDNFLFO. LFO generator Control line LFO audio match connects to address generation controller 1034 .   Through various control lines described below, the address generation controller 1034 It controls all of the circuit components of the address generator 1000 connected to it. Star Address generation controller through the G signal path and the LFO audio match control line 1034 is a signal path 1028 and the LFO generator 10 outside the address generator 1000. Directly connected to 21 logical components. Explain the functions of these other control lines I do.   The address generation controller 1034 has the following in the register array 1032. Synthesizer registers: SACI, SVCI, SGMI, SMSI, Synth Synthesizer address start register, synthesizer address end register Synthesizer address register, synthesizer effect address register , SFCI and SFLFOI. These synthesizer regis The following bit of the loader is the load control line (LDCTR) L): SACI [WTIEN, BLEN, LEN, STP1], SVCI [EN Address generation through PCM], SGMI [ENH], and SMSI [1,0] Connected to controller 1034. These bits are the address for address generation. Set the mode of the source controller. On the other hand, set the interrupt condition and To set the direction of table addressing and stop sound generation when crossing a boundary , The next bit in these registers: SACI [WTIRQ], and SACI [DIR, STP0] is passed through the LDCTRL line to control the address generation. Can be modified by the error 1034.   The following synthesizer registers store special parameters for address generation Do:     Synth address start register: stores start address information                                         Do     Synth address end register: Writes end address information.                                         Remember     Synth address register: The current address (ADD)                                         Remember     Synth effect address register: current wave for effect processing                                         Stores the table write address                                         To     SFCI: Store FC information     SFLFOI: Stores FLFO information The address parameters stored in these registers are the load register signals Line and drive register signal line (DR REG SINGALS, LD   REG SIGNALS) to register array bus 1038 You.   The sign extension logic 1040 adds / decreases another signed binary number of a different bit size. It is used to sign extend a signed binary number so that it can be calculated. LDSE system Control lines are signed from register array bus 1038 to sign extension logic 1040 Control number loading. DRSE line sign extension Move the number to result bus 1036.   Adder / subtractor 1042 converts the binary number on register array bus 1038 into a result buffer. Add or subtract with a binary number on step 1036. INVRES if enabled The control line and the INVRA control line are connected to the result bus 1036 and the register array bus. The data loaded from 1038 to the adder / subtractor 1042 should be negative. You. These control lines cannot be enabled at the same time. LDADDER line is added Latch the addition / subtraction result from the adder / subtractor 1042, and Drives the result to result bus 1036, while the DRADDDERRA line The result is moved to the register array bus 1038. SIGN line is address The result is provided to the generation controller 1034 in code. SIGN = 1 is a negative result While SIGN = 0 is a positive result. 108a and 108b to be described later. As reflected in the timing diagram, the values on the SIGN line indicate certain conditions. Show.   Temporary registers 1044 and 1047 store data used in address generation operations. Used to temporarily store data. Data is LDTEMP1 line and L Load register 1044 from result bus 1036 by DTEMP2 line These registers are controlled by the DRTEMP1 and DRTEMP2 lines. -Moved to result bus. Data is the result bus by LDTEMP3 line Loaded from 1036 into register 1047, by DRTEMP3 line The result bus is moved from this register.   When activated by the DR1 line, the number generator 1048 returns 1 as a result buffer. While activated by the DR0 line while moving to Moved by bus 1036. On the other hand, the number generator 1049 controls the DRN1 control line. When activated by the switch, a negative one is brought to the register array bus 1038.   Folding transistor 1050 is a 32-bit wide register array bus Used to move a zero to a particular bit position within 1038. Registrar If the data moved on ray bus 1038 is not 32-bit wide, zero is Is moved to a bit position that contains no data. Foldable transistor 1050 are DRPD [5: 0], DRPD [9: 6], DRPD [15: 8 ], DRPD [31:16], and DRPD [32] lines. It is made.   The PHI1 line uses the clocking control to clock the address generation operation. Clocking signal from the address generator (not shown) to the address generation controller 1034. Supply the issue. The start address generation line 1045 is connected to the register array 103. 2 starting pulses. This start pulse is applied to the address generation controller 10. 34 is controlled to start operation. A start generator (not shown) generates a start pulse. And send it to the register array. After some time, the register array is added. Start controller 1034 and volume controller 1056 To send a pulse. See FIG. Then the address generation controller 1034 controls start of signal path 1028 through the start signal path control line I do. Next, signal path 1028 is routed through the accumulation storage control line to the accumulation logic 103. 4 (see FIG. 116). In this way, the synthesizer module The sequence of all operations in rule 6 is governed.   The loadable address incrementer 1035 is controlled by the control line LDSA. When activated, address S1 is low from register AREIBASU 1038. When activated by the control line LDAINC, the address S2 is obtained. To increase this address by one. Addresses S1 and S2 are local memory LADDIN control line to capture data samples S1 and S2 from Is loaded into the local memory control block 8. Line 1051 is Loadable address incrementer 1035 included in register SUAI Connect to the top two address bits and add two bits to the S1 and S2 address fields Increase only By increasing the address field by 2 bits, The address generator 1000 uses a total of 16 megabytes of storage instead of 4 megabytes. Site can be addressed.   The effect address buffer 1037 can store up to three effect addresses. A possible FIFO buffer. Effect when control line LDEA is activated Address is from register array 1038 to the top of buffer 1037 Loaded. Line 1053 places buffer 1037 above register SUAI Part 2 bits, the address field of the effective address is increased by 2 bits Let   The effect address / data buffer 1039 is also a FIFO buffer and has five pairs. The effect address and its related effect data are stored. Effect address data The effect data associated with each effect address loaded in the buffer 1039 is a storage theory. When loaded into the top of the buffer from a register in the From the bottom of the effective address buffer 1037 to the effective address / data buffer. -Loaded on top of 1039. The storage logic control line LDED is a data low. Control the loading. When the control line LADDIN is activated, the effect data The effective address in the buffer 1039 is stored in the local memory from the bottom of this buffer. -While being transferred to the control block 8, the control line LDATAN is activated. When the effect data is stored in the local memory control from the bottom of this buffer Move to block 8. The local memory control block 8 has an effect address Store the effect data in local memory.   Effect The address and data buffers 1037 and 1039 are effective based on eight delays. The fruits are generated continuously. Appropriate effects, cited here for reference Noris. U.S. Pat.    See 4,805,139 and 5,095,462.   The LFO fluctuation value generated by the LFO generator 1021 is based on the LFO generator control line. When the in-LDNFLFO is activated, the signal in the LFO generator (see FIG. 115) Transferred from register to register 1043. LFO fluctuation value is associated with which voice Data indicating whether or not the address is generated by the LFO voice match control line. Controller 1034. DRNFLFO line shows LFO fluctuation Move from register 1043 to register array bus 1038. The value is It is stored in the star SLFFOI. Address generator 1000 sounds vibrato Use the LFO variation to add to the voice.   LDADDFR line is stored in the SYTHH address register ADDfr value (data used during interpolation) of register array bus 1038 Control the loading into the buffer 1041. Signal path 1028 control line DRADDFR moves this value to the signal path. See also FIG. Buffer 104 1 can store up to two ADDfr values. Certain voices are inactive Buffer 1041 stores only one ADDfr value. Signal path 102 LDBUF control line from 8 pushes this one value to the bottom of buffer 1041. When the DRADDFR control line is activated, its value can be moved to the signal path. Can be.   108a and 108b are timing diagrams for different modes of the address generation operation. is there. FIG. 108b shows bit ENH of register SGMI and bit ENH of register SVCI. Bit ENPCM and bit LPE of register SACI are all set to 1. And bits BLEN and DIR of register SACI are set to zero FIG. 7 is a timing diagram for the boundary mirror mode that occurs at times. Figure 108a shows the address FIG. 9 is a timing diagram for all other modes of occurrence. These timing diagrams are Each clock cycle of a set of 12 clock cycles in a given mode During this time, the operations performed by the address generator 1000 are described. these The timing diagram is tabulated and for each of the twelve clock cycles: (I) what data is on the result bus and the register array bus; (ii) If so, which operation is being performed on the data; (iii) which other Such operations are performed; and (iv) the formula for which arithmetic operation is executed Indicate that The "Expression" and "Comment" columns show the It reflects the general operation performed by the address generator 1000 in succession. Operation "18s" and "34s" in the operation column indicate that the bit width of the operation result is 18-bit, Or, indicate whether the number is a 34-bit signed number.     2. Volume generator   FIG. 109 shows a volume generator 1012, and a volume generator and a synthesizer register. 10 shows a junction with the array 1032, the LFO generator 1021, and the signal path 1028. Volume generator 1012 includes: volume generator controller 1056; result bus 1058; Register array bus 1060; sign extension logic 1062; adder / subtractor 106 4: Bus driver logic 1066; Temporary register 1068; Shift logic 10 70; bus transfer logic 1072; number generator 1074; folding type Transistor 1076; ROM 1078; right and left volume buffers 1059; 1061 and effect volume buffer 1063; LFO fluctuation register 1065; Clocking lines PHI1 and FR8, FR64; 1057 is included.   As shown, sign extension logic 1062, adder / subtractor 1064, shift theory 1070 and the bus transfer logic 1072 are volume generation controllers. 1056 and the result bus 1058 and the register array bus 106 0 is connected to both. Temporary register 1068 and number generator 1074 While connected to the result bus 1058 and the volume generation controller 1056, The transistor 1076 and the ROM 1078 are connected to the register array bus 1060. And the volume generation controller. The shift logic 1070 is a volume control. Connected to roller 1056, results bus 1058 and right and left volume buffers 1059 and 1061 and an effect sound volume buffer 1063.   The LFO fluctuation register 1065 is connected to the register array bus 1060 and the volume generation command. Controller 1056. The LFO fluctuation register 1065 also stores the LF It is also connected to the register of the O generator 1021 and the LDNVLFO control line. Figure See 115. LFO generator control line LFO audio match is volume generation control 1056.   In addition to being connected to the bus driver logic 1066, the right and left volume buffers 10 59, 1061 and the effect volume buffer 1063 are connected to the signal path 1028 (see FIG. 116). ), Signal path control lines LDBUR, DRRVOL, DRL VOL and DRVOL, and volume generation controller control line LDRVOL, Connected to LDLVOL and LDEVOL. Right volume buffer 10 59 stores up to two right volume values, and the left volume buffer 1061 stores up to two right volume values. The left volume value is stored, and the effect volume buffer 1063 stores up to two effect volume values. I do.   Through various control lines, the volume generation controller 1056 is connected to it. Control all the circuit components of the volume generator 1012 to be controlled. These control line machines Noh will be described.   The volume generation controller 1056 performs the following operations in the register array 1032. Synthesizer registers: SVCI, SVRI, SGMI, SMSI, SVSI , SVEI, SVRI, SVLFOI, SROI, SLOI, SEVI It is. The following bits in these synthesizer registers are load controlled Line (LDCTRL): SVRI [1: 0], SGMI [ENH], SVC I [VIEN, BLEN, LEN, STPI] and SMSI [OFFEN, AEP, 0] to the volume generation controller 1056. these The bit sets the mode of the volume generation controller for volume generation. On the other hand, interrupt Set the conditions, set the volume direction (increase or decrease), and To stop volume generation or to stop volume looping, Next bit of register: SVCI [VIRQ] and SVCI [DIR, STP 0] is corrected by the volume generation controller 1056 through the LDCTRL line. it can.   The following synthesizer registers store special parameters for volume generation :     SVSI: Stores volume start information     SVEI: Stores volume end information     SVLI: Stores volume level (VOL) information     SVRI: Stores the volume ratio (VINC) information     SVLFOI: Stores volume LFO value (VINC) information     SLOI: Stores left offset (LOFF) information     SROI: Stores right offset (ROFF) information     SEVI: Stores effect volume (EVOL) information The volume parameters stored in these registers are the same as the load register signal line. And drive register signal lines (DR SINGALS, LD SIGN) ALS) to register array bus 1060.   Sign extension logic 1062 adds / decreases to another signed binary number of different bit size It is used to sign extend a signed binary number so that it can be calculated. LDSE system Control lines are signed from register array bus 1060 to sign extension logic 1062 Control number loading. The DRSE line connects the sign extension numbers. Move to fruit bus 1058.   Adder / subtractor 1064 converts the binary number on register array bus 1060 into a result buffer. Add or subtract with a binary number on step 1058. If enabled, INVRA system Control line and the INVRES control line are connected to the register array bus 1060, respectively. The data loaded from the result bus 1058 to the adder / subtractor 1064 becomes negative. To do. These control lines cannot be enabled at the same time. LDADDER line Latches the addition / subtraction result from the adder / subtractor. DRADDER line Move the result from bus driver logic 1066 to result bus 1058. SIG The N line provides the result to the volume generation controller 1056 in code. SIGN = 1 is a negative result, while SIGN = 0 is a positive result. FIG. 110 described later. As reflected in the timing chart, the value on the SIGN line To instruct. The CLIP line indicates that when the volume value reaches the maximum and minimum values, Control ripping. If bit 16 of the addition / subtraction result is 1, the result is recognized. Less than the minimum value obtained, zero is the output from adder / subtractor 1064. If bit 15 of the addition / subtraction result is 1 and bit 16 is zero, the result is A binary value greater than the maximum allowed and equal to 32,767 is the adder / subtractor 1 064. If bits 15 and 16 are zero, the result of the addition / subtraction is It is between the minimum and maximum values and the result is output from adder / subtractor 1064. sound Clipping of the volume value when the volume value reaches zero does not result in a negative result Guarantee.   Left and right volume and effect volume are controlled by control lines LDRVOL, LDLVOL, LDEVO L, the right and left volume buffers 1059, 1061 and the effect Respectively loaded into the sound volume buffer 1063. When a particular voice is inactive, Each of the buffers 1059, 1061, and 1063 stores only one value. signal The LDBUF control line from path 1028 is connected to buffers 1059, 1061, 10 63 is pressed against the bottom of the buffer and the signal path control line DRR When VOL, DRLVOL, and DREVOL are activated, they move to the signal path. To be done.   The temporary register 1068 stores data used in the volume generation application. Used to temporarily store data. Data is transmitted by the LDTEMP1 line. Loaded from the result bus 1058 and these registers by the DRTEMP1 line. Carry from Jister to result bus.   Shift logic 1070 shifts the data loaded in shift logic to the right by 3 bits Thereby effectively dividing the data by eight. Shift logic 1070 slow volume increase At a rate, a volume increase step greater than 7 is prevented. LDSFT line and DRS HFT lines load and drive data to / from shift logic 1070, respectively . The DIV8 line enables bit shifting.   When enabled, bus transfer logic 1072 transfers data to result bus 10. 58 to the register array bus 1060. This bus transfer is DR Enabled by the XFER line.   When activated by the DR0 line, the number generator 1074 returns zero as the result buffer. To 1058.   The folding transistor 1076 is a folding transistor in the address generator 1000. Serves the same purpose as transistor 1050. Foldable transistor -1076 are DRPD-200, DRPD0603, DRPD08, and DRPD-200. It is selectively activated by the PD1409 line.   Dynamic ROM 1078 places audio in one of 16 evenly distributed stereo locations. For example, the left offset value and the right offset value are stored. The LDPAN line is where The 4-bit data from SROI [11: 8] representing the desired pan position is stored in ROM Load at 1078. The DROFF line indicates the left offset value or right offset value. 2 × 12-bit data representing the default value is read from the ROM 1078. Move to Gister Array Bus 1060. The INVPAN line is ROM1078 Controls whether to output the left offset value or the right offset value. EVA The L control line evaluates the ROM with this data input.     The LFO fluctuation value generated by the LFO generator 1021 is controlled by the LFO generator control. When the line LDNVLFO is activated, the LFO generator (see FIG. 115) Moved from register to register 1065. LFO fluctuation value is associated with which voice Data indicating whether or not the volume is generated by the LFO voice match control line. It is loaded on the controller 1056. The DRNVLFO line detects the LFO fluctuation value. Move from register 1056 to register array bus 1060. This value is Is stored in the SVLVFOI. Volume generator 1012 adds tremolo to audio For this purpose, the LFO fluctuation value is used.   The PHI1 line uses a clocking controller to clock the volume generation operation. -Supply clocking signal to volume generation controller 1056 from (not shown) I do. FR8 and FR64 lines are also controlled by the clocking controller The clocking signal is supplied to the controller 1056. The signal is especially tied to increase the volume every 8 frames and every 64 frames. Provide mining. The start volume generation line 1057 is the volume generation controller 10 The start of the operation of 56 is controlled.   FIG. 110 illustrates during each clock cycle of a set of 12 clock cycles, The operation performed by the volume generator 1012 is described. Figure 110 is a table And for each of the twelve clock cycles: (i) which data is on the result bus And (ii) if any, which operation is performed on the register array bus. (Iii) what other operations are being performed; and (iv) ) Indicate which arithmetic operation the expression is being executed for. The Expression column and the "Ment" column is performed by the volume generator 1012 in conjunction with volume generation. Reflect general operations. "17s" and "15u" in the operation column indicate that the operation result A 17-bit signed number or a 15-bit unsigned number Indicate if it is a member.     3. Register array   FIG. 111 shows the structure for the register array 1032, and the register array and the register. Star data bus 1024, I / O channel ready 1180, address generator 1 000, volume generator 1012, storage logic 1030, and connection with signal path 1028 Indicates a part. Register array 1032: dual port static RAM 1178; Register data port 1182; register array I / O bus 1184; RA M I / O port 1186; I / O port bus 1187; voice select register 1 188; column comparison circuitry 1190; column selection circuitry 1192; Star select register 1194; I / O read / write timing generator 119 6; dual port RAM timing generator 1198; synthesizer core read Read / write timing generator 1200; core I / O port 1202; A port bus 1202.   4 synthesizer core blocks, address generator to process audio 1000, storage logic 1030, volume generator 1012 and signal path 1028 Requires audio-specific parameters programmed by the I need it. At the start of audio processing, the entire length of the dual port static RAM 1178 is Is read. The result of reading is in the core I / O port 1202 during audio processing In the read buffer. Core blocks 1000, 1030, 1012 , And 1028 access readings during various processing stages. Furthermore, the processing stage During the floor, the core block places a value in the I / O port 1202 write buffer. After the audio processing is completed, the data in the write buffer is stored in the dual-port static RAM. It is written back to 1178. A complete read-to-write cycle is more than audio processing Since it takes longer, RAM cycles for audio overlap. This is the core The write buffer in I / O port 1202 contains the value from the previous audio while reading This means that the take buffer contains the data for the next audio.   The core read / write timing generator 1200 has four synthesizer cores. Overruns required to update locks 1000, 1030, 1012, 1028 -Generate lap timing. It has dual port static RAM 1178 A dual port RAM timing generator 1198 to be driven directly Drive. Column selection circuitry 1192 has audio number as input for reading And use the old voice number as input for writing.   Sound generation so that the system microprocessor can generate sound During this time, the parameters of the sound need to be corrected or inspected. System micro The processor goes over the register data bus 1024 to the dual port RAM1 178 can be read / written. From the register I / O side, Report RAM 1178 stores 32 voices (columns) in 26 voice-specific registers. Organized. To access one of 26 voice-specific registers for voice First, the system microprocessor first writes to the audio select register 1188. No. This selects one of the 32 audio register strings. Next, the system manager The microprocessor writes to the register select register 1194. This One of the 26 voice-specific registers is selected for access. Finally Read from the 16-bit register data port register 1182 Taken or 16-bit register data port register 118 2 is written. Register select register 1194 auto increments Includes a counter that allows you to. SVSR [AI] is set to 1 When data is written to the register data port register 1182 In addition, the register selection register 1194 automatically increases the current value in the register I do. RAM I / O port 1186 is dual with system microprocessor It acts as an interface between the report RAMs 1178. Register Day RAM I / O for system read of dual port RAM 1178 Latched at port 1186, but only for write to dual port RAM Is not latched.   Four synthesizer core blocks 1000, 1030, 1012, 1028 The access time of the system microprocessor is Dual Port RAM 1178 must be in time when not in use. Furthermore, writing from the system microprocessor occurs after audio processing To prohibit overwriting due to the writing of the synthesizer core, Writing to the audio of the system microprocessor You have to wait until after the write occurs. They read audio and audio It cannot occur during a write. The first criterion is the I / O read / write tie Generator 1196 from the core read / write timing generator 1200 It is satisfied by gating with the / O gating signal 1197. This It has dual port RAM 1178 access to the system microprocessor. Guarantee to occur during unused hours. System microprocessor In order to prevent the writing of the server from being overwritten, the audio selection register The output and the audio number are compared by the column comparison circuitry 1190. It If they are the same, the output of the I / O read / write timing generator 1196 is Gated. To make the system microprocessor access wait Use the I / O channel ready signal on line 1180. I / O channel Ready does everything to make system microprocessor I / O cycles longer Is a signal of the ISA specification used in the PC system.   To speed up the I / O cycle of dual port RAM 1178 , Writing is buffered. This is a dual port system microprocessor The RAM 1178 can be written only once, and the data is stored in a 16-bit register. -Held in data port 1182 and waiting for access to dual port RAM Means one. If a second write is attempted, the I on line 1180 Extend the I / O cycle using the / O channel ready signal. 16-bit cash register Writing to the star data port 1182 results in the dual port RAM 11 The writing to 78 is started. To speed up the read I / O cycle, Uses different register selection values for writing. This is a read cycle Write to the register select register 1194 to start System microprocessor reads 16-bit register data port Before the dual port RAM 1178 has a 16-bit register data port Only when data to 1182 cannot be obtained, the I / O channel ready used. While reading a register contained in dual port RAM 1178, the Only sense amplifiers associated with the jitter column are enabled. Dual port R The remaining columns in the AM1178 go through a normal read cycle, but Not evaluated by This saves power and probably results in PC audio It will reduce the noise on the analog part of the integrated circuit. Dual port RAM Associate to a register contained within 1178 during a write to that register Only the column is driven. Again, the remaining columns go through a normal read cycle. This allows you to modify only the selected columns.   At startup, the values in dual port RAM 1178 must be initialized . This pushes the initial values on all columns out of the core I / O port 1202 , Through all 32 voice selections.   When the sound is inactive, no processing for that sound occurs. This saves power and reduces Simplify programming. Bit to determine if a particular voice is active If is included in the register array, determine if the audio is active Need to read a dual port RAM in order to do so. Read dual port RAM In order to save the power needed to filter, the present invention Bit is placed on the edge of the dual port RAM on line 1206 You. Each of the RAM cells at the edge of the dual port RAM 1178 has a voice active To determine if the dual port RAM should be read In addition, an additional output that can be looked up on line 1206 at the beginning of the voice cycle Have the power.   FIG. 112 shows a timing diagram for the operation of the register array 1032. FIG. The operations / signals referenced in the left column of 2 are as follows:   Start SSGA CLKS generator clocking.   SRG CLKS Machine clock status 0-11 (1 per audio                   2 clocks).   Read dual port RAM from RD CYC synthesizer core                   cycle.   WR CYC Dual port RAM write cycle. RD (N) is current                   Represents a reading for the current voice. WR (N-1) is a synthesizer                   Represents the current audio write from Isercore.   RDATA Read data output from dual port RAM.   WD Write data input to dual port RAM.   DLY1, DLY2 to match the appropriate timing of the associated logic                   Used to delay the signal.   WRRAM1 Write buffer timing.   CKSBIRQ Gating signal (for system bus interface request)                   Check for).   VN Voice number.   VN (N-1) Old voice number.   LDOVN Load old voice number.   ADDR Column select address bus.   SVIROCYC,     SVIWRCYC System bus interface write / read                   Kulu.   Load LOAV active voice.   AV active voice bus.   As shown in FIG. 113, the core I / O port 1202 is connected to the core port bus ( Paths (not shown) include paths 1216, 1218 and 1220, Current value register 1212 and final value register 1 in port static RAM 1178 Includes an incrementer 1208 and a comparator 1210 connected to 214 . Synthesizer core block also has dual port RAM1 through path 1220 178. This structure is used to control the overall volume increase / decrease Is done.   The current value in register 1212 is output by the volume generator from the synthesizer module. Value used to add volume to force. The final value in register 1214 is The value at which the current value equals after increasing or decreasing over several sample frames It is.   In the first operation mode, the current value is incremented so as to approach the final value. 1208. In this mode, the system microphone The processor writes the final value to the final value register 1214. Process audio The current value is less than, greater than, or equal to the final value To this end, the current value and the final value are compared by a comparator 1210. Regis The current value from the counter 1212 is passed to the incrementer 1208 by the path 1218. , And loaded into comparator 1210 by path 1220 and At 1220, it is sent to the synthesizer core block. Register 1214 Is loaded into comparator 1210 by path 1222.   The current value loaded into the incrementer 1208 is Is incremented or decremented by 1, depending on the comparison of the current value with the final value Remains the same. If the current value is less than the final value, the incrementer controls Receives 1 from comparator 1210 on lines 1226, 1224, and Increase the value by one. If the current value is greater than the final value, the incrementer is Receives zero on control line 1226 and one on control line 1224 and returns the current value. Decrease by one. If the current value is the same as the final value, the incrementer 120 8 receives zero on control line 1224 and does not increase or decrease the current value.   At the end of the audio processing, the current value updated by the incrementer 1208 is passed. To the current value register 1212 of the dual port RAM 1178 through 1216 Written back. The next time this audio is processed, the comparison is done again and the current value is final It is increased or decreased by one to approach the value.   In the second operation mode, the current value needs to be changed immediately. This is the current value Writing the same value to both the register 1212 and the final value register 1214 Thus it can be achieved.   In the third mode, the PAN value of the ultrasonic wave held in the SROI register is increased. Not necessary for compatibility with ultrasonic wavetable synthesizers. This In this mode, the current value is increased using bit OFFEN of the register SMSI. Disable addition and reduction.   The current value registers are SROI, LROI and SEVI, and the last value register Are SROFI, SLGFI and SEVFI.   FIG. 114a is a logic diagram showing a preferred layout of the comparator 1210. You. FIG. 114b is a timing chart associated with the logic diagram of FIG. 114a. Ko The comparator 1210 determines whether one value is greater than, less than, or equal to another. The current value and the final value are compared to determine whether they are the same. Comparator 121 0 is a static comparator.   The comparator 1210 first determines the MSB of the current value and the MSB of the final value, V1 And V2, then two values are equal or one value is greater than the other If necessary to determine whether a bit is small, Continue comparing the default positions. The comparison of the MSB positions is the left stage of the circuit shown in FIG. (Or cell) 1228, while the MSB-1 position comparison is shown The LSB position comparison is performed in the middle stage 1230 of the In step 1232 to the right of the road. The current value and the final value to be compared are 12- The comparator 1210 requires 12 comparison stages (or cells). Note that for simplicity, only three stages (or cells) are shown in FIG. 114a. ing.   First, to determine the highest difference, the MSB of the current value and the final value, V1 and V2 is compared. At each stage, the current value and the final value, the bit position of each of V1 and V2 Are input on lines 1236 and 1234, respectively. Input bit When there is a difference between them, the signal DIFF on line 1238 is one. DI equal to 1 The FF closes the CMOS transfer gate 1240 and one NMOS transistor Breaking the carry chain by dropping the output at star 1242 U. The carry chain is a CMOS that passes the voltage VCC (ie, a value of 1) from left to right. It is formed by the transfer gate 1240. Carry chain is carry chain By detecting how much one MSB has transmitted at the input to the chain To determine the highest difference.   Each bit comparison stage has as input a carry-in for that cell (signal DIFF). It has a NAND gate 1244 with power. EVAL is set by carry chain This is a timing signal that does not rise until it is completed. When EVAL goes high, At the stage having the highest difference, the CMOS transfer gate 1246 If V1 is determined to be smaller than V2 by the comparison, If so, 0 will be moved to line 1248. V1 and V2 Are equal, the carry chain transmits a 1 over its entire length.   The signal at the end of the carry chain on line 1250 is signaled on line EQ. And EVAL by NAND gate 1252 to generate You. The signal NEQ, which is the complement of the signal on line EQ, is Inputs to 54 and 1256. Further, NAND gate 1254 has as its input It has an EVAL timing signal and a signal on line 1248. Further NAND Gate 1256 has as its inputs the EVAL timing signal and NAND gate 12 It has an output from 54. NAND gates 1254 and 1256 each have a line Signals are output on LT and GT. When V1 and V2 are equal, signal NEQ is NAND Gates 1254, 1256 are prohibited from draining power. When V1 and V2 are equal , Line 1248 floats. When V1 is less than V2, LT is equal to 1 and V1 When 1 is greater than V2, GT is equal to 1, and when V1 and V2 are equal, EQ is equal to 1. equal.   Comparator 1210 is an improvement over prior art comparators that use adders It is. Since the comparator 1210 does not use an adder, it is small, Uses less power than a comparator that uses a detector. Further comparators -1210 is not believed to be achievable in a one-circuit static comparator The comparison value is determined. Comparator 1210 has a value less than another value Is greater than or equal to, or whether the two values are equal. Prior art static compa In one circuit: (i) equal values; or (ii) one Value is greater than another value, or one value is less than another value, or another value It is believed that you can only judge whether equal to.     4. LFO generator   FIG. 115 shows an LFO generator 1021, and an LFO generator and a local memory controller. The structure for the LDATOUT and LDATIN joints with the troll module It is illustrated. The LFO generator 1021 includes: LFO generator controller 1148 Data buffer 1150; registers 1152, 1154, 1156; Bar generator 1158; adder 1160; comparator 1162; -1166. LFO generator controller 1048 can be used for various control lines Therefore, it is connected to each of these circuit components. About the functions of these control lines Will be explained.   As shown, the data write from the local memory control module LDATOUT and LDATIN are connected to a data buffer 1150. Change The data buffer 1150 has a register 11 in addition to the accumulator 1164. It also has connections to 52, 1154, 1156. Register 1152, 115 4, 1156 are connected to the data buffer 1150 and the adder 1160. naan Bar generator 1158 is connected to adder 1160. The adder 1160 is a comparator Data 1162, register 1166, and by paths 1168 and 1174 Connected to accumulator 1164. Comparator 1162 is adder 11 60. Accumulator 1164 follows paths 1174 and 1168 To adder 1160, to register 1166 by path 1170, and 1172 connects to the data buffer 1150. Register 1166 Is connected to accumulator 1164 by path 1170.   As described above, various parameters for each LFO are stored in local memory. It is. These parameters are read from local memory on the line LDATOUT It is loaded into the data buffer 1150. Local memory control module Module (not shown) is connected to the control line LLFORD._Data buffer 11 by L Control the loading of data into 50. Data in data buffer 1150 Is the control line LLFOWR_L writes to local memory. B The local memory control module is the control line LLFOWR_By L Driving data from data buffer 1150 onto line LDATAN Control. Bits 14 and 15 from data buffer 1150 are the LFO waveform Determine quadrant and LFO generator controller -1148.   The data from the data buffer 1150 is stored in each control line LDCTRL, L The data is loaded into registers 1152 and 1154 by the DMC, The adder 116 from these registers by the control lines DRCTRL and DRMC. Moved to zero. Data from the data buffer 1150 is transferred to the control line LDMP. Is loaded into the register 1156. The data in register 1156 is By simultaneously activating the DRMP and SHFTMP control lines, the shift Can be When the control line DRMP is activated, the register All bits in 1156 are moved to adder 1160 while control line DRM When PHI is activated, eight MSBs are moved and control line DRM When the PLO is activated, eight LSBs are moved.   The number generator 1158 is activated when the control line DRZEROB is enabled. Move zero to adder 1160.   Adder 1160 adds the binary number on its B input to the binary number from its A input. The INVA control line causes the A input to go negative, while the INVB line Make the force negative. It is not possible to enable these control lines at the same time. No. When the control line ZEROA is enabled, the A input is zero. A input is Either zero or the value from path 1168. Enter B Force is the value on pass 1176.   The output of the adder 1160 is a comparator 1162 and an accumulator 1164 Can be sent to When the control line LDCMP is activated, the output data Data is loaded into the comparator 1162. The output value of the comparator 1162 is Is negative or positive, and according to this determination SLGM_ZERO or SLGM_Signal the LFO generator controller 1148 on the NEG line. When the control line LDACC is enabled, the accumulator 1164 The output data of the arithmetic unit 1160 is loaded. Control lines LDACC and SHFTA When CC is activated at the same time, data is stored by accumulator 1164 Shifted right.   Data in accumulator 1164 is buffered along path 1172 -1150. Control line LLRORD_L is the data of this data. Data buffer 1150 is controlled. Accumulator 116 The data from 4 can also be sent to register 1166. Control line LDO The FF controls the loading of this data into register 1166. register -1166 is also the line SSGA from the start generator_LN and SSGA_LT Data, each of which indicates an LFO number to be processed, Data is directed to the volume generator 1012 or the address generator 1000 Indicate if it is pointed.   The data in register 1166 is line SLGM_Move on DATA and add Register 1043 or volume generator of the sound generator 1000 (see FIG. 107). It is loaded into any of the registers 1065 at 1012 (see FIG. 109). Register 1166 is line SLGM_LNUM and SLGM_Data on LTYPE Data to the LFO generator controller 1148, which processes each And the register data is sent to the volume generator 1012. Or directed to the address generator 1000. System Control lines LDNFLFO and LDNVLFO store data in register 1043 or Controls which of 1065 is loaded. LFO voice match control line Are the address generator 1000 (see FIG. 107) and the volume generator 1012 (FIG. 109). ) To indicate the audio number associated with the LFO to be processed.   The PH1 line uses a clocking controller (Fig. Clocking signal (not shown) to the LFO generator controller 1148 I do. SSGA_The FSYNC line operates the LFO generator controller 1148 Supply a start pulse to start the operation. Line SGMI_Letter on GLFOE The signal is sent from the register SGMI and indicates whether all LFOs have been enabled. Show.     5. Signal path   FIG. 116 shows the signal path 1028 and the signal path and the local memory control mode. Module 8, volume generator 1012, address generator 1000, and storage logic 10 FIG. Signal path 1028: Signal path controller 1080; A Bus 1082 and B bus 1084; number generator 1088; adder / subtractor 10 90; S register 1092, S1 register 1096, and latch register 1098; data buffer 1104; shift logic 1094; bus transfer Logic 1100; multiplier bus 1086 and operand bus 1087; multiplier 110 2: Temporary register 1112; ROUT register 1114, LOUT register Star 1116, including EOUT register 1118.   As shown at the top of FIG. 116, the number generator 1088 is an adder / subtractor. 1090 and connected to B bus 1084; adder / subtractor 1090 generates number Unit 1088, connected to A bus 1082 and B bus 1084, and shift logic 1094 The S register 1092 has a junction with the A bus 1082 and shift logic 1094. Shift logic 1094 includes adder / subtractor 1090, S register -1092, connected to the latch register 1098, the S1 register 1096; S1 register 1096 is connected to shift logic 1094 and B bus 1084; Switch 1098 includes shift logic 1094, S1 register 1096 and A Connected to bus 1082; data buffer 1104 is connected to A bus 1082 Connected to the memory control module 8. Number generator 1088; Adder / subtractor 1090; S register 1092, S1 register 1096, And latch register 1098; data buffer 1104 and shift logic 109 4 is also connected to the signal path controller 1084 through various control lines described later Is done.   As shown at the bottom of FIG. 116, multiplier 1102 is a multiplier bus 1086, a sound bus. Connected to the quantity generator 1012 and the address generator 1000; 112 is connected to multiplier bus 1086; ROUT register 1114, LOU The T register 1116 and the EOUT register 1118 are connected to the multiplier bus 1086. Connected to product logic 1030. In addition, ROUT register, LOUT register The EOUT register is connected together at line 1106. Multiplier 11 02 and registers 1112, 1114, 1116, and 1118 Connected to the signal path controller 1080 through various control lines described later. It is.   The signal path controller 1080 connects to it through various control lines described below. It controls all the circuit components of the following signal path 1028. Various other control lines In this way, the signal path controller 1080 also controls the circuit components outside the signal path 1028. Connected. The functions of these control lines will be described.   The bus transfer logic 1110 transfers data from the A bus to the multiplier bus and vice versa. Send data. Transmission to A bus is possible by DRXFERUP control line While transmission to the multiplier bus is enabled by the DRXFERDN control line. Enabled.     The PHI1 line uses a clocking controller to clock the operation of its signal path. A clocking signal from a roller (not shown) is sent to a signal path controller 1028. To supply. Start Signal Pat from address generator 1000 The h line controls the start of operation of the signal path controller 1028. Start The Accumulation line controls the start of operation of the accumulation logic 1030.   The SMSI [ULAW] line is connected to bit ULAW of register SMSI. It is. The setting of this bit sets the signal path 1028 to 8-bit before interpolating the data. Control whether to extend the μ-law data of the default to 16-bit linear data .   Depending on whether control line DR0 or DR33 is activated, Bar generator 1088 moves a binary 0 or 33 to adder / subtractor 1090.   Adder / subtractor 1090 converts the binary number on A bus 1082 to the B bus 1084 Add or subtract by binary 33 or 0 from binary or number generator 1088 Calculate. The INVA and INVB control lines are respectively A bus 1082 and B bus 10 The data loaded from 84 into the adder / subtractor 1090 is made negative. These control lines cannot be enabled. The output of the adder / subtractor is a shift logic 10 94.   The S register 1092 temporarily stores data. Line LDS uses data While loading the S register from the A bus 1082, the line DRULAW Move to A bus on line 1108 and shift logic 1094 on line YYY You.   Shift logic 1094 shifts the data stored therein. Line SHY YY and SH2 are each: (i) a 3-bit binary number on line YYY; or (i i) whether the data has been shifted by 2 bits to multiply the data by 4 To determine   S1 register 1096 temporarily stores data from shift logic 1094 . Line LDS1 loads data from shift logic 1094 into S1 register , DRS1 lines move data from the S1 register to the B bus 1084.   Latch register 1098 also temporarily stores data. Line LDADDL AT loads data from shift logic 1094 into the latch register, The DLAT line moves data from the latch register to the A bus 1082.   The control line DRDATA is transmitted from the data buffer 1104 to the A bus 1082. Move the motion table data. This wave table data is stored in the address Data from the local memory control module 8 The buffer 1150 is loaded by the control line LDATOUT.   Multiplier 1102 converts the data on multiplier bus 1086 to volume generator 1012 or Multiply by the data from the address generator 1000. LDMULT line is data To the multiplier 1102, and the DRMULT line outputs the multiplication result to the multiplier bus 1010. Move to 86. The volume generator data is stored in the right volume buffer 1059 and the left volume buffer. Address from the buffer 1061 and the effect volume buffer 1063. The creature data is sent from the address fraction buffer 1041. Control line DR Which buffer is RVOL, DRLVOL, DREVOL, and DRADDFR It controls whether to move the data to the multiplier 1102. LDBUF system The control line is connected to the buffer 1041 in the address generator 1000, Connected to the buffers 1059, 1061, 1063 in the quantity generator 1012 Ensures that the data in these buffers is available to move to the signal path I do.   Temporary register 1112 temporarily stores data. LDTEMP1 rye Load data from multiplier bus 1086 into this register while The MP1 line moves data from this register to the multiplier bus.   Register ROUT 1114, LOUT 1116, EOUT 1118 Also temporarily store data. Data is stored in each control line LDROUT, LDL OUT, and these registers from multiplier bus 1086 by LDEOUT. Is loaded. As will be described later, data is transmitted through control lines DRROUT, DRLO UT, DREOUT driven from these registers to storage logic 1030 It is. See also FIG.   FIG. 117 shows during each of the set 12 clock cycles. FIG. 14 is a timing chart illustrating the operation performed by the signal path 1028. FIG. 117 For each of the twelve clock cycles: (i) which data is the multiplier bus, A bus (Ii) which buffer (address) (Fraction, right volume, left volume, or effect volume); (iii) if If so, what arithmetic operation is being performed on the data; (iv) what other The operation being performed; and (v) the formula for which arithmetic operation is being performed To indicate. "MULT" column and "ADD / SUB" column are signal path 1 028 reflects the general operations performed.     6. Accumulation logic   FIG. 118 shows the storage logic 1030, the storage logic 1030 and the address generator 100. 0, signal path 1028, and junction with synthesizer DAC 512. Accumulation The product logic 1030 includes: a storage controller 1120; a number generator 1122; And an accumulator register 1124.   As shown: number generator 1122 is adder / subtractor by path 1132 The storage controller 1 is connected to the 120; signal path 1028 is connected to adder / subtractor 11 by path 1134. 26; adder / subtractor 1126 generates number by path 1132 To the signal path 1028 via path 1134 and to paths 1136 and 1 138 is connected to the accumulation register 1124; 4 to adder / subtractor 1126 via paths 1136 and 1138 and path 1128 To the address generator 1000, and to the synthesizer DA by the path 1130. Connected to C 512. The accumulation register 1124 is controlled by the following control line Connected to the storage controller 1120:         LDSFT         DREACC7         DREACC6         DREACC5         DREACC4         DREACC3         DREACC2         DREACC1         DREACC0   As detailed below, through its control line, the storage controller 1120 controls all circuit components of the storage logic 1030 connected to it. other The storage controller 1120 passes through the signal line 1028, It is also connected to the SEASI and address generator 1000. These other controls The function of the line will also be described later.   When enabled by the DR0 control line, the number generator 1122 passes Move the zero on 1132 to adder / subtractor 1126.   ROUT register 1114, LOUT register 1 in signal path 1028 116, the data from the EOUT register 1118 is passed on adder / It is moved to the subtractor 1126. Control lines DRROUT, DRLOUT and D REOUT determines which of these registers will use that data as adder / subtractor 112. Decide whether to move to 6.   Adder / Subtractor 1126 passes data from pass 1132 or 1134 to pass 1 Add the data on 138. The result of this addition is the adder / subtractor 1 126 to the accumulation register 1124. When the sum exceeds the maximum value, Adder / subtractor 1126 may perform a rolling over or sign change instead of performing Clip data.   The accumulation register 1124 consists of ten 16-bit registers. This Two of these registers store left and right output data. The remaining 8 cash registers Stars accumulate effect data. By enabling the LSHFT control line And two steps occur: (i) data from path 1136 is stored Loaded into the top register of star 1124; and (ii) this data After the data is loaded, this data and the data previously existing in other registers To the next register or, if the bottom register, the register Is shifted to the top register. For example, before the shift, the data If arranged as shown at 118, after shifting, the data is arranged as follows Will be:     Top register → R. ACC.                           E. FIG. ACC. 7                           E. FIG. ACC. 6                           E. FIG. ACC. 5                           E. FIG. ACC. 4                           E. FIG. ACC. 3                           E. FIG. ACC. 2                           E. FIG. ACC. 1                           E. FIG. ACC. 0       Bottom register → L. ACC. Thus, both storage registers are implemented as 16-bit wide shift registers. To use. Shifting data accumulates appropriate data and corrects the data It is guaranteed to be stored in place.   When the control line LDED is activated due to the delay-based effect processing, Data is addressed on path 1128 from one of the top eight accumulation registers. The data is sent to the effect data buffer 1039 in the creature 1000. As aforementioned, Finally, under the control of the local memory control module 8, the effect data Is sent to the wavetable, where the address generated by the address generator 1000 is Written in.   Under the control of the start generator and the control line DRACC, the synthesizer module The left and right output data from the storage register 1124 on path 1130 Output to the column converter 1019 in parallel format. Then the data is serialized Transfer control block 540 or interface It is sent in series to the serial-to-parallel converter 1144 of Kitley 1025. Series-Normal The column converter 1144 converts the data in a parallel format into the synthesizer DAC 512. Send to After all possible numbers of speech in the frame have been processed, the DRACC control The start generator (not shown) causes this data to be Start output.   The lower three bits of the number of voices to be processed 120. The storage controller 1120 uses these three bits to It controls which data in the accumulation register 1124 is to be written.   Bits [7: 0] of register SEASI are stored by control line 1140 Connected to controller 1120. Based on the setting of these bits, The controller 1120 determines which of the accumulation registers 1124 stores the specific effect data. Control what you receive.         The PHI1 line uses a clocking controller to clock its accumulation operation. Clocking signal from roller (not shown) to storage controller 1120 Supply. Start Accumulation line from signal line 1028 The above signal controls the start of operation of the accumulation controller 1120.   FIG. 119 shows during each of the set twelve clock cycles. FIG. 9 is a timing chart illustrating operations performed by the accumulation logic 1030. FIG. Are arranged in a table and for each of the 12 clock cycles: (i) which (Ii) which operation is performed on the data (Iii) Indicate which arithmetic operation is being performed I do. The "expression" and "comment" columns are performed by the accumulation logic 1030 To reflect common operations.   FIG. 120 shows blocks and local memory controllers in the synthesizer module. FIG. 4 is a timing chart illustrating the overall timing of the operation of the troll module. . The timing diagram depends on the column, the following synthesizer module blocks: Start generator ("SSG"); Register array ("SRG"); Address generation Locomotive ("SAG"); volume generator ("SVG"); signal path ("SSP"); This reflects the timing of the storage logic ("SAC"). Local memory controller Roll module ("LMC") timing is listed in the last column .   The timing diagram shows that when the synthesizer module is powered up, Or various blocks and locals from the time the operation is started after a pause 5 shows the operation timing of the memory control module. Asterisk(* The operations in the columns SRG and SSP marked with) are issued after reset or power up. Do not live. In the column SAC, the timing and operation are controlled by the synthesizer module. Is in power-up / reset mode, indicated by line A, or Is the restart after the pause mode or the continuous operation mode indicated by line B Depending on what they have, they have different starting points. Timing diagram shows some audio synths Reflects the timing for processing of the user module. Those skilled in the art will see FIG. From 0 will easily recognize the timing that occurs for the processing of all audio .   The numbers after some operations in the timing diagram are which audio numbers are processed Indicates For example, "ADDfr (in) 31" in the column SSP is for audio 31 The address fraction value of The notation “(in)” or “(out)” refers to data Indicate if sent in / from a given block. For example, "ADDfr ( in) 31 "indicates that the address value for voice 31 is being sent to the signal path. .   In column SSG, “FSYNC” indicates that the synthesizer is operating in the uplift mode. Or operate in the frame extension mode. "LFSYNC" is Indicates that the mode has been set by the local memory control module. "AV" indicates whether a particular voice is active. "VN" is a specific voice number Indicates that processing for the bar has been completed.   In column SRG, read data from register array for specific voice There are two cycles to read (“RD”) and write data to the register array. There are two cycles to insert ("WR").   Those skilled in the art will appreciate the synthesizer module structure diagram and the timing diagrams described above, And section VI. From the local memory control module, Easily recognize the operations described in the SAG, SVG, SSP, SAC and LMC Will be.   System control module, CODEC module, local memory Things including control module and MIDI / game port module As a module formed on a lithic PC audio integrated circuit, I've been talking about a synthesizing table. However, instead, the system Control module, synthesizer DAC, and local memory control Form a wavetable synthesizer on a monolithic integrated circuit with Can be In another alternative, the wavetable synthesizer is With module module and local memory control module It can be formed on a circuit. Like the resulting alternative monolithic integrated circuit Can be used in various applications. For example, these integration times Any of the roads may use commercially available CODECs, storage devices and / or DACs, etc. , Along with other integrated circuits that support its operation, A sound card for use in a pewter can be formed. VI. Local memory control module   In FIG. 1, the circuit C includes a local memory control module 8. In this specification May refer to the local memory control module 8 as the LMC 8. L The MC 8 is connected to the MLC bus interface 250 and the block 252 in FIG. Includes a set of registers, latches, and logic circuits that are shown briefly. LMC 8 is off-chip Between the local memory device and the synthesizer module 6, The data is transferred between the interface 14 and the CODEC module 4. Turning to FIG. First, the DRAM circuit 110, the ROM circuit 86 and the IS A The serial EEPROM 78 that supports the Plug-n-Play standard is included.   A. Main function block   In FIG. 29, LMC 8 has a master state machine 254, a register data bus system. Control block 256, suspend mode refresh block 258, refresh request Block 260, priority encoder block 262 and memory interface Source block 264. In addition to these functional blocks, LMC 8 Includes multiple registers to be described.   The master state machine 254 and the priority encoder 262 provide a possible memory cycle. Determine which of the memory sources are allowed access and use that memory interface Source block 264 to generate the cycle. Also, LMC 8 has P lug-n-Play logic is included for Plug-n-Play access. Provides an interface to the serial EEPROM 78. Plug-n- The control of the Play compatible EEPROM 78 is performed by the PNPCS 76 and the PNPCS 76 shown in FIG. And executed on the PNP CON pin 265 (FIG. 29) corresponding to You.   Master state machine 254 receives input signals related to speech production via input 266. Take away. The audio input 266 has a register value SAVI (serial) indicating the number of audio to be processed. (See the description of the registers in the description of the sensor). Power down input Force 268 performs a general or modular stop, or Of several internally generated power-down signals to enter power-down mode Any one. These modes are described in the description of the system control module. This will be described in detail. Specifically, the power-down input 268 is a bit PWRL (local Active when power to memory changes from high to low I2L disables 16.9 Mhz clock to local memory control SUSRQ followed by I2LSUSRQ (see Figure 26) or ISUSP RG is immediately activated. All circuits are interrupted. Active in response to pin input. I2LSUSPIP (interruption continued). Logical sum of ISUSPRQ is taken Thus, 12 LSUSPIP is obtained. One time to activate I2LSUSRQ PPWRI [6 :: 1] is cleared by writing, and the above-described I2LSUSP Subsequent to this, the system enters the system stop mode.   The circuit activity signal provided on input 272 (FIG. 9) is at PUACT1 [0]. Generated in response to a condition. PUACT1 [0] is a voice function activation bit (system See the description of the system control register), which is low when all audio function Disable decoding of dress space, interrupts and DMA channels.   Output 72 is FRSYNC # generated at the beginning of each frame of audio processing, As described in the description of the system control module above, the priority encoder 262 The signal is multiplexed via a terminal 72 and output. ACSYNC♯ output signal 7 3 is one pulse representing the starting point of each 4-clock cycle memory access described below. This is a synchronization signal. Output 75 is 2 from state machine 254 to priority encoder 262. Bit MSM [1: 0] one-of-four memory cycle type signal.   1. Master state machine   The master state machine 254 has a frame length of 44.1 kHz samples. Count the game. Each frame has 32 sub-times, which is the time required to process each audio Consists of frames. Each subframe has three 4-clock accesses to local memory. Including Seth. SYNTH, EVEN, ODD and WAIT And each access type is described in the following priority encoder section. 3 illustrates different ways of prioritizing memory cycle requests. trout State machine 254 generates MSM [1: 0] specifying the current access type. You. The order in which these access types are generated is as follows. FIG. 30 is a state diagram showing the mode of MSM [1: 0].   The master state machine passes MSM [1: 0] to the priority encoder to allow for possible support. Cycle type (for example, synchronous patch access, CODEC, DMA, I / O , Refresh, etc.) to be performed.   a. Initialization Referring to FIG. 30, PCARST is active in state 287. , MSM [1: 0] = WAIT in state 290. PCA After RST # goes inactive, circuit C is activated by PUACTI [0]. Before the operation is completed, MSM [1: 0] = SYNTH in state 292 and the DRAM   Refresh to 110 is possible. After startup, master state machine 254 is in state Start the first SYNHTH access for subframe 0 at 275, and at that point To continue. The state machine 254 has eight clock syntheses for each subframe. Access type (states 275, 294) followed by four even clocks (state 2 96), eight synthesizers (states 298-300), and four odd clocks. (State 302). This pattern consists of all 32 subframes Repeated in states 304 and 306 until completed.   b. Frame extension mode This mode is Gravis Forte Ultra provided for obtaining compatibility with the asound GF-1. Frey As described in the description of the synthesizer module above, the SGMI [E [NH] can be used. In this mode, each frame Finally, a time delay of about 1.6197 microseconds x [SAVI-14] is added. . SAVI is a programmable register that specifies the number of active voices. The number of delay cycles is SAVI-14. This delay alternates with the first delay cycle. Wait for 27 clock cycles and the next delay cycle for 28 clock cycles. It is approximated by taking und. As shown in FIG. State in state 276 if the value of the file is set as SAVI-14. Enter extended mode. In state 278, four even numbers The cycle and four odd cycles are repeated three consecutive times. These 24 cycles Followed by a wait of three clocks in state 280, and an odd delay cycle Returning to the state 276, in the case of an odd delay cycle, further entering the waiting clock in the state 284 You. When all delayed clocks have ended in state 276, the subframe As long as the system number is reset and ISUSPRQ is not active in state 286. This process is restarted.   c. FRSYNC♯, EFFECT♯ and ACSYNC♯ As shown in FIG. As such, at the beginning of each new frame, the master state machine 254 has the RRSYNC { One clock pulse on ACSYNC and one clock pulse on ACSYNC A signal is issued indicating the beginning of each four clock cycle access time. EFFE CT # is clocked appropriately and the write (4 clock cycles) and read Active during the memory cycle of a set (8 clock cycles).   d. Suspend and stop mode ISUSPRQ from system control module Becomes active, master state machine 254 completes the current frame and state 28 Enter the WAIT mode at 6 and 290 (FIG. 30). LMC 8 is interrupt mode Any memory control when interfacing with the refresh cycle No signal is left.     As shown in FIG. 31, the interrupt mode continuing signal ISUSPIP # is activated. Then, the interrupt mode refresh cycle is executed at 32 Khz clock . When ISUSPIP is deactivated, the current suspend mode refresh Cycle ends on the next edge of the 32 Khz clock and all RAS # and C AS becomes inactive. Master status after ISUSPRQ goes inactive The state machine resumes operation for the next frame. Also, suspend mode refresh In the cycle, the circuit C enters the stop mode as described in the description of the system control module. Occurs at certain times.   2. Priority encoder   As shown in FIG. 29, priority encoder 262 includes an input 310 and a register. Respective outputs 31 from data bus control 256 and refresh control 260 Memory cycle requests are received via 2 and 314. MSM [1: 0], the priority encoder 262 will allow which cycle Is determined. The priority of the request is shown below. DMA cycle or SBI I / O cycle is every other ODD cycle There is a restriction that it is possible at least once. Therefore, the synthesizer module Rule is not allowed to assert an LFO access request in two consecutive ODD cycles. Not done. The local memory access mode output signal is output 316 and the memory The cycle specified by input 318 to interface 264 is generated. You.   3. Refresh request block   Refresh request module 260 is used when DRAM refresh is required RSHRQ # (refresh required) to priority encoder 262 via output 314 Request). The interval between refreshes is stored in the LMC configuration register (LMCFI). Therefore, it is set to 15, 62 or 125 microseconds. This value contains 2 bits. Input to refresh request module 260 via force 320. This block The refresh request counter (RSHRQCT [2: 0]. RSH after refresh interval elapses RQCT [2: 0] is incremented, and a refresh cycle to the DRAM is performed. Is executed, RSHRQCT [2: 0] is decremented. refresh Execution of the cycle is based on the ready signal provided at output 324 and input 326. Therefore, the refresh request mode is sent from the encoder 262. It is notified to Joule 260. When the counter is between 1 and 7, RSHRQ ♯ is active. RSHRRQT [2: 0] is in suspend mode (ISUSPIP ♯ is active) is set to 7.   4. Suspend mode refresh   Interrupt mode refresh block at input 330 due to power down condition An input to step 258 is generated. ISUSPI from system control module 2 After P $ is activated, it is provided by C32KHZ pin 70 (FIG. 5). The suspend mode refresh is operated using the 32 Khz clock. Input 32 8, the local memory control register (LMCI) is refreshed. Select type to be 62 or 125 microseconds or DRAM Choose to use self-refresh mode. All DRAM banks Refreshed at the same time. Suspend mode RAS and CAS outputs 332 and 3 34 is supplied to a memory interface 264 that generates the cycle. Figure 34 is a state diagram schematically showing a refresh cycle. FIG. 33 shows the suspend mode It is a timing diagram of a fresh cycle.   The C32KHZ clock signal remains inactive even after SUSPEND # goes inactive. Disconnect mode state machine works properly without RAS and CAS glitches Oscillation must be continued so as to end.   5. Register data bus control bank   As shown in FIG. 29, the register data control block 256 is connected via a system bus. Local memory registers that can be read and written by Needed to provide control of the system and system bus / register data bus interfaces A simple set of simple logics. Details of these registers and control functions Details will be described in other parts of this specification.   6. Plug-n-Play interface   After PCARST becomes non-linear, circuit C goes to PUACTI [0]. Therefore, before being activated, the LMC logic is in Plug-n-Play (PNP) mode. become. In this mode, MD [2: 1] is serialized from the system control module. Output to EEPROM 78 (MD [2] for SK, DI MD [1]), MD [0] is the serial returned to system control module 2. This is an input from an EEPROM (DO). System control for these attributes It is described in the module section and in FIG.   7. Memory interface   As shown in FIG. 29, the memory interface bus 264 has a maximum 10 banks, 4 banks of EPROM 86 and PNP serial Supports EEPROM 78 (FIG. 6). As described above, BKSEL [3: 0] is Multiplexed and used to select both RAM and ROM banks. RAS♯ , ROMCS}, and PNPCS are used for memory type selection. Local memory address Address used to access DRAM and ROM Are all linearly distributed from byte addresses or zero to the end of memory. Based on the address (RLA [23: 0]. Some of these 24 bits are shown in FIG. Depending on whether RAM or ROM is accessed, MA [10: 0] Or RA [21:11]. The table below shows the various registers (A Before the local memory address written in [23: 0]) becomes the real address The mode converted from the circuit C is shown. Some address registers in circuit C are (For example, all synthesizer address Real addresses are used for the other registers. Synthesizer patch ac For access, the access width is determined by SACI [2] and the DMA access The width is determined by the number of DMA request acknowledgments (channels 0, 1, and 2). 8 for bits 3 and 16 and 16 for channels 5, 6 and 7 is there). 16-bit access always assumes an even byte array, so that RLA [ 0] low specifies the LSB, and RLA [0] high specifies the MSB.   The four banks of DRAM 110 supported by DRAM circuit C There are several possible configurations specified by the register LMCFI. Each DRAM The width of the bank is 8 bits. Use each half of this data bus as two banks (For example, BKSELO # drives the CAS line corresponding to bits [7: 0]). BKSEL1} drives bits [15: 8]). Thus, a 16-bit DRAM can be used. Row address lines and The number of column address lines must be symmetric.   The following table shows the real addresses (RLA) on the rows and columns (MA [10: 0]). The multiplexing mode of [21: 0] is shown.   In systems with DRAM space required for 24-bit addressing The two most significant bits of the real address RLA [23:22] of the DRAM are encoded. And transferred from the circuit C via BKSEL [3: 0].   8-bit DRAM access FIG. 34a shows the timing of 8-bit DRAM access. FIG. The CLK in this timing diagram and the CLK below it are 16.9344.   Khz clock.   16-bit DRAM access FIG. FIG. High-speed page mode is used for 16-bit data access .   DRAM refresh FIG. 34c shows the timing of the DRAM refresh cycle. FIG. DRAM refresh cycle is CAS-before-RA The S method is used. 15, 62, 125 My when not suspended or stopped A microsecond refresh rate is supported (LMCFI).   ROM Each of the four 16-bit wide banks of ROM 86 (if any) B) must be the same size. The ROM size is specified in the LMCFI register. Is determined. Its value ranges from 128K × 16 (256 KB / bank) to 2M × 1 6 (4 megabytes / bank). A 16-bit ROM External latch 108 must be provided.   As described in detail above, a ROM access can carry 16 bits at a time Thus, the use of the address bus and the data bus is multiplexed. ROM access When an I / O write to the memory is performed, the MWE signal is active during the cycle. Be in a state. In the timing chart of FIG. 35, the real address (RA [23: 0]) is supplied from the circuit C. It shows the manner in which it is supplied. The width of the ROM bank is assumed to be 16 bits. From the above, RA [1] enters A [0] of the ROM, and points out that the same applies to the following. deep.   8. Local memory recording / reproducing FIFO   Local memory recording and playback FIFOs (LMRF and LMPF) are local This is a FIFO stored in the DRAM 110. In these FIFO registers This will be described in the description of CODEC. LMPF is from DRAM 110 Used for automatic data transfer to the CODEC playback FIFO 532 (FIG. 1). L The MRF reads from the CODEC recording FIFO 538 to the local DRAM 1 10 for automatic data transfer.   As shown in FIG. 36, the local memory recording and reproduction FIFO Provided within the FO control circuit 321, this circuit includes a programmable base address card. Counter 318, a 19-bit offset counter 320, and a programmable A FIFO size selection register 322 is included. FIFO size is offset cow By selecting a bit from the counter that resets the offset address to zero. Controlled. FIFO sizes range from 8 bytes to 256 Kbytes .   The output of offset counter 320 is output from register 318 at gate 324. It is logically ORed with the output base address and the real address of each access to the DRAM 110 is obtained. A dress is generated. The register 318 has LMRFAI and LM described below. The local memory record and playback FIFO address is supplied from the PFAI register. It is. Each byte transferred between DRAM 110 and CODEC 4 causes The offset counter 320 is incremented. Host CPU has normal I / O Writing LMPF data to DRAM 110 by access and DRAM The LMRF data is read from 110. Next LMBDR and LMS See the description of the BAI register. Local memory FIFO access is input In response to the FIFO access signal supplied to And is controlled by a controlled driver circuit 326 that supplies the data. Data transfer Signals and control signals are transmitted to the local memory FIFO via the register data bus 12. It is supplied to the control circuit 321.   CODEC sample counter CODEC record FIFO 538 to LMRF The CODEC sample counter is decremented by each sample transferred to It is. For each sample transferred from the LMPF to the CODEC playback FIFO 532 Therefore, the CODEC reproduction sample counter is decremented. CODEC F Point at which data is transferred to and from the IFO and the sample counter is decremented This will be described in detail in the CODEC part of this specification.   9. DMA data transfer   Two types of data transfer are possible between the system and the local memory. GF- The control of one compatible DMA is specified by LDMACI, The address is specified by LDSALI and LDSAHI. Inn The control of the starved DMA is specified by LDICI, and the base address is specified. Is specified by LDIBI. Use both types of DMA If done simultaneously, the results are unpredictable. LMC module 8 is a system The DMA logic described in the control module becomes the DRG signal output to the ISA bus. Becomes Similarly, the DAK # signal from the ISA bus is received by the DMA block. Is passed to the LMC module 8.   Local memory start address must be the same for all DMAs Absent.   TC interrupt TC signal from ISA bus is latched as soon as it becomes active. And remain active for the remainder of the DMA acknowledgment. The signal LLATT C is clocked into a flip-flop on the trailing edge of IOR # or IOW #. That Bit LTCIRQ is the output read into LDMACI [6]. Also this The bit is the AdLib-Sound Blast in the system control module. r is the bit written to LDMACI [6] before it is ORed with the interrupt, TC This is ANDed with the interrupt enable. Using the occurrence of TC, the Clear either LDMACI [5] or LDICI [9] depending on the type By doing so, the DMA transfer is stopped.   10. Interleaved DMA data mode   DMA allows local memory to be transferred from system memory to local DRAM 110. Transfer of interleaved data so that tracks are separated in memory. It is possible to To do this, the n of the interleaved audio data Are stored in the system memory (n is the register LDI Programmable in the range of 1 to 32 by CI [7: 3]. Each track The size of each track is also programmable by LDICI [2: 0]. The number of bytes in the loop is 2 ^ (9 + LDDICI [2: 0]) (512 to 64 K range). The data transfer method is as shown in the table of FIG. Depends on the width of the DMA channel and the width of the sample.     As shown in FIG. 39, a local memory for the interleaved DMA function The address is obtained by ORing the base register and the offset counter 335. Obtained. The generated address is a real address, and the local DRAM 11 Indicates a byte in 0.     Further, as shown in FIG. 39, the offset counter is used for writing to the LDIBI. Each time, or PCA on line 332 via ORGATE 337_R Cleared when the ST signal is input. As shown in the figure, the LDIBI field Control the offset counter. LDICI [7: 3] is interleaved Specify the number of data tracks. This is shown simply as register 334. Tiger The clock size register 336 is controlled by LDICI [2: 0]. This service The MSB starting from the bit defined by the Incremented each time. The sample specified by the track register After the number LDICI [7: 3] is transferred, the LS is output by the track circulation output 368. B is incremented and MSB is cleared by the output 348 of the decoder 350 Is done. This DMA function is supported if the track register is set to zero. Operates in the same way as one-track transfer with the circulation point specified by the size register. You. LDIBI is added to the 5-bit down counter shown in the figure above The number of tracks is loaded each time data is written to LDI Is not loaded).   The 5-bit track register 334 is output on a 5-bit bus line 340, A number from 0 to 31 supplied to the down counter 342 is designated. Counter 3 42 is decremented on each DMA cycle via inputs 344 and 346; It is reset at count zero. Input from the counter 342 to the decoder 350 The enable output signal simply indicates the MSB of counter 335 on line 348. Cleared via the R [16: 9] output. The limit for clearing output 348 is MS A track that defines a boundary bit between B (number of tracks) and LSB (track size) Defined by input 352 from size register 336. Specified R input 348 activates OR gate 358 when enabled. The corresponding flip-flop 331 is supplied to the clear input of the corresponding flip-flop 331.   Similarly, size register 336 has three bits on line 354 to decoder 356. And the decoder provides a 3: 8 signal on the 8-bit bus 360. Provide the bit-decoded output S [16: 9]. The output signal on line 360 is The LSB of the counter 335 is incremented and the memory corresponding to the next track group is incremented. Address the next block of. The LSB of counter 335 is equal to line 360 It is incremented by the corresponding multiplexer 362.   B. Overview of local memory control pins   FIG. 7 shows an outline of external pins and functions of the local memory control module 8.   C. Overview of the local memory control register   1. LMC byte data register (LMBDR) Address: P3XR + 7 Read, write   This is retrieved by the LMALI and LMAHI I / O address counters. 8-bit port to local memory. LMCI [0] is auto increment The I / O address counter is set to the Increment by 1 for each set.   2. DMA control register (LDMACI) Index: P3XR + 5 read; Index IGIDXR = 41h Default: 00h   This register controls GF-1 compatible DMA access to local memory. Used for control. INV:   MSB inversion. When this bit is high, local memory The MSB of the DMA data to the memory is inverted. When low, this data Passed without change. Bit [6] of this register sets the MSB to bit [ 7] or bit [15]. This bit is a GF-1 compatible D Affects only MA and does not affect interleaved DMA. DMATC:   (DMATC for reading, IB15 for writing) End count. This bit separates the read and write functions. Logic 1 , This indicates that the DMA TC interrupt is active. This read also clears this interrupt bit (interrupt is When this bit is read for the first time after being set, its value returns to high and The rest is low. )   Bit 15 inversion (IB15). Writing this bit high clears the system memo. The data width of DMA data from the memory to the local memory is specified as 16 bits. Is written low, 8-bit data is specified. This is the cash register Only used for the INV bit of the star. Note: IB15 is LMCI [6] Can be read out via DIEN:   DMA IRQ enable. If this bit is high, the TC The function that interrupts at the end of a certain block in the memory-local memory DMA is Cable. This bit is set when LDMACI [0] is active or Is active when LDICI [9] is active, but the CODEC DM A is not active (this bit is free to drive the TC interrupt). The output of the AND gate is ANDed with the output of the flip-flop. Drive. DIV [1: 0]:   DMA rate divider. This is based on local memory and (internal DRQMEM signals) Controls the possible data rate to and from the system memory You. This bit only affects GF-1 compatible DMAs, It does not affect DMA.   At the given time, a new DMA request is set from the end of the DMA acknowledgment. Measured before However, when this time has elapsed, the previous DMA cycle If the local memory cycle corresponding to the file has not yet completed, this logic After the completion of the memory cycle, the DRQ signal is set. WID:     DMA width. This read-only bit is used between system memory and local memory. Specifies the data width of the DMA channel for transfer. UDCI [2: 0] requires DMA It is high when the request acknowledge signal 5, 6, or 7 is set. In other cases Are all low. DIR:     direction. If this bit is low, it indicates that the local memory DMA transfer is System memory read and local memory write RY. If this bit is high, this indicates a local memory DMA conversion. Transfer to local memory and write to system memory. It is specified. This bit only affects GF-1 compatible DMA. , Does not affect interleaved DMA. EN:   Enable GF-1 compatible DMA. If this bit is high, the system A DMA transfer occurs between the stem bus and local memory (this is a CODEC Does not affect DMA). First DMA request since this bit is set high There is a delay of 0.5 to 1.0 microseconds before is issued. This bit is reset by hardware when the TC line is asserted.   3. LMC DMA start address low register (LDSALI) Index: P3XR + (4-5) Write; Index IGI DXR = 42h Default: 0000h   This 16-bit register is a GF-1 compatible D indicating local memory. Designate the lower part A [19: 4] of the MA address counter. To this register A [3: 0] of the DMA address counter is automatically cleared by writing. You. Based on whether an 8-bit or 16-bit DMA channel is used Between the real address and the address programmed in the DMA register See LMC module memory interface section for details No.   4. LMC DMA start address high register (LDSAHI) Index: P3XR + 5 read / write; Index IGI DXR = 50h Default: 00h   This is via A [23:20] and A [3: 0] for the DMA cycle. GF-1 compatible DMA address counter pointing to local memory 110 Specify the upper and lower parts of. Is A [3: 0] a reason for compatibility? Is automatically cleared during writing to LDSALI. Odd byte address Starting a DMA transfer is not allowed. 8-bit or 16-bit DMA The real address and DMA registers are based on which channel is used. For conversion to and from the programmed address, refer to the memory See the interface section.     5. LMC address row (LMALI) Index: P3XR + (4--5) Write; Index IG IDXR = 43h Default: 0000h   This is via A [15: 0] for the programmed I / O cycle. Designates the lower part of the I / O address counter pointing to local memory 110 . The rest of this address is in LMAHI. The corresponding data port is LMBDR for site access and LMSBAI for 16-bit access is there. The LSB of this register is ignored for 16-bit accesses. 16 Writing of bit data cannot be started from an odd address. LMCI When [0] is set to the auto increment mode, the I / O address The counter increments by one for each access via LMBDR and the LMS Increment by 2 for each access via BAI.   6. LMC address high (LMAHI) Index: P3XR + 5 write; Index IGIDXR = 44h Default: 00h   This is via A [23:16] for the programmed I / O cycle. Designates the upper part of the I / O address counter pointing to local memory 110 . The rest of this address is in LMALI. The corresponding data port is LMBDR for site access and LMSBAI for 16-bit access is there. The LSB of this register is ignored for 16-bit accesses. LM If CI [0] is set to the auto increment mode, the I / O address The counter increments by one for each access via LMBDR and L Increment by 2 for each access via MSBAI. SGMI [E NH] is set to GF-1 compatibility mode In this case, A [23:20] is secured.   7. LMC 16-bit access register (LMSBAI) Index: P3XR + (4-5) read, write; index IGIDXR = 51h   This is retrieved by the LMALI and LMAHI I / O address counters. 16-bit port to local memory 110 to be accessed. LMCI [0] is automatic When set to the increment mode, the I / O address counter Increment by 2 for each access through the port. LMALI LS B is always treated as zero during access through this port.   5. LMC configuration register (LMCFI) Index: P3XR + (4-5) read, write; index Kusu IGIDXR = 52h Default: 0000h SR [1: 0] Suspend mode refresh rate (see table below) NR [1: 0] Normal mode refresh rate (see table below) RM [2: 0]:   ROM configuration. The size of the four ROM banks 86 is specified. 128K × 16 In the case (RM [2: 0] = 0), in the case of 256K × 16 (RM [2: 0] = 1), In the case of 512K × 16 (RM [2: 0] = 3), in the case of 1M × 16 (RM [2: 0] = 4) and 2M × 16 (RM [2: 0] = 5-7) is secured. DR [3: 0]: DRAM configuration (all values are bytes)     9. LMC control register (LMCI) Index: P3XR + 5 write; Index IGIDXR = 44h Default: 00h IB15:   Bit 15 inverted. This bit is read-only. This bit is LDMAC Provides CPU read access to I [6]. When this bit is high The width of DMA data from system memory to local memory is specified as 16 bits Is done. Writing this bit low specifies 8-bit data. this is Used only for LDMACI [INV]. ROMIO:     DRAM / ROM selection for I / O cycle. 0 = DRAM1; 1 = ROM AI:   Automatic increment. When this bit is low, this is via LMBDR. LMSBAI specifies I / O read and write to local memory Do not automatically increment the I / O address counter. This bit is high At this time, such an access causes the I / O address counter to access the address via the LMBDR. Access is incremented by 1 and access via LMSBAI is And then increment by two.   10. Local memory recording / reproducing FIFO base address (LMRFAI and LMPFAI) Index: P3XR + (4-5) read, write; read Index IGIDXR = 54h, Reproduction Index IGIDXR = 55h Default: 0000h   These registers store the base address of the local memory record and playback FIFO. The real (byte-oriented) address bits A [23: 8] are specified. To LMRFAI The LMRF offset counter is reset to 0 by writing. LMPF The writing to the AI resets the LMPF offset counter to zero.   11. Local memory FIFO size (LMFSI) Index: P3XR + (4-5) read, write; index SGIDXR = 56h Default: 0000h RE:   LMRF enable. When high, from LODEC recording FIFO 538 Are transferred to the LMRF.   RFSIZE. This is the circulation point of the LMRF offset counter 320. That is, the size of the FIFO is specified. FIFO size is 2 ^ (RFSIZE + 3 ). This size ranges from 8 bytes to 256 Kbytes. PE:   LMPF enable. When high, the sample from the LMPF is CODEC The data is transferred to the reproduction FIFO 532. RFSIZE:   LMPF size. This is the circulation point of the LMPF offset counter 320. That is, the size of the FIFO is specified. FIFO size is 2 ^ (RFSIZE + 3). This size ranges from 8 bytes to 256 Kbytes.   12. LMC DMA Interleave Control Register (LDICI) Index: P3XR + (4-5) read, write; index SGIDXR = 57h Default: 0000h IEN:   Interleaved DMA enable. When this bit is high, the interface Leaved DMA is enabled (ie, while this bit is high, A starved DMA cycle occurs). This bit is set to (terminal count pin T Terminal count reached (after DMA cycle corresponding to this function where C is active) Cleared by hardware when done. W16: The data width is 16 bits. When high, this bit is interleaved. Specifies that the width of each sampled sample is 16 bits. If low, 8 Specify the data of the bit width. ITRK [4: 0]:   Number of tracks interleaved. For example, 00h is 1 track, 01h Specifies two tracks. ISIZE [2: 0]:   The size of the interleaved track. The size of each track is 2 ^ (9+ ISIZE) sample. The range is (8 bit DMA channel and 16 bit From the 512 bytes to 64 bytes, regardless of which DMA channel is selected). K bytes.   13. LMC DMA Interleave Base Register (LDIBI) Index: P3XR + (4-5) read, write; index SGIDXR = 58h Default: 0000h   This 16-bit register ORs with the offset controlled by LDICI. RLA [23: 8] to be specified. This register is set to the width of the DMA channel. The actual description in the memory interface part of the LMC module Specify an address. VII. MIDI and game port modules A. Game port overview   Referring now to FIG. 1 and FIG. 40, the game port module 10 of the circuit C It has features found in standard C game ports. These are generally up to Used to interface to two joysticks 372 and 374. Each joystick has potentiometers 376 and 3 in the X and Y directions, respectively. 78 and two function buttons 380 and 382. Joystick The inputs to circuit C from 372 and 374 are GAMIN [3: 0] pin group and G Four element input lines 384 and 386 to the AMIO [3: 0] pin group Done via The software uses a game port to control each joystick The X and Y positions of the buttons are determined, and the state of each button is determined. 1. GAMIN pin   The four GAMIN pins are 6K ohm (nominal: + or -2K ohm) resistors. The pins are internally lifted via a pin, and the state of these pins is described later and 1 via a register GGCR schematically included in block 390. Returned to the system control module. 2. GAMIO pin   Referring to FIG. 41, the software uses the GAMIO pin to (1) GAM Writing to the game port that the IO pin 392 has been set to the high impedance state To determine the joystick position and (2) the game port By polling the X potentiometer in the joystick Time used to charge an external capacitor via the Y potentiometer To determine. The measurement from time to voltage is performed by the differential amplifier 402 and the flip-flop. 404. The threshold voltage for the GAMIO bit is Joyce Joystick based on value stored in tick trim DAC register 398 It is controlled by a DAC 396, which is called a back trim DAC.   External potentiometers 376, 378 typically operate from 2.2K ohms to about 10 It varies in the range of 0K ohms. The external condenser 394 is usually 5600 picof Rad (pF).   The four GAMIO pins are connected to ground, high impedance, and There are three possible states: transfer state. These states are shown in FIG. 41a.   Ground: Most of the time, the GAMIO pin is grounded. In this state , Circuit C outputs logic level 0.   High impedance state: software writes to game control register 390 When writing, the GAMIO pin transitions to a high impedance state. this In the state, these pins are connected to the joystick trie via the differential amplifier 402. And internally compared with respect to the voltage level set by the DAC. To comparator The control level driven by the comparator 402 because the input of the To ensure that glitches are not sent to the On the output of 402 is a digitally synthesized hysteresis.   Ground transition state: This state is, for a certain GAMIO pin, the voltage of that pin Is started when the value exceeds the value of the joystick trim DAC 396. At this time At this point, the GAMIO control flip-flop 404 is cleared and the voltage on the pin is Becomes grounded. With a load of 5600 picofarads, the current on each pin Is limited to 18 mA or less during the transition (i = Cdv / dt). transition The time is less than 2 microseconds. At the end of the transition state, the GAMIO bit Is reported to the host CPU via the game control register 390. You.   Suspend mode: Suspend mode (refer to the power consumption mode of the system control module) ), The GAMIO pin 392 connects the joystick Is forced into a high impedance state so as not to be pulled out. The pin is medium After exiting the disconnect mode, the pins reach ground and the next The ground transition mode is set immediately until the writing of the data is completed. 3. Joystick trim DAC   The joystick trim DAC 396 is a 5-bit DAC that varies linearly. is there. The digital input to the joystick trim DAC 396 is static , It is called the joystick trim DAC register 398 and the SB114 Set by registers controlled by.   Suspend mode: When in suspend mode or when port module 10 is When disabled by PPWRI (power off in system control module) Cost mode), conventional register ladders used in DAC designs consume current Can not be done. B. MIDI port overview   MIDI (instrument digital interface) is a low-performance local area network Music industry including work (LAN) specifications and descriptions of data passed to the LAN Is a standard created by the world (this data is It is designed to be suitable for controlling the vessel). MIDI port on circuit C Can transmit and receive continuous data at the digital level. The external circuit uses these as MID It needs to interface to the ILAN.   Referring now to FIG. 42, the MIDI port 10a has a UART 4 for continuous transfer. 12 and a reception FIFO 414. Here, the merger for all purposes A group entitled Improved Universal Asynchronous Transceiver, assigned to Ming's common assignee U.S. Pat. No. 4,949,333 to Rick et al. Discloses a UART / FIFO configuration. One embodiment has been described. Software to send MIDI data Stores the bytes to be transmitted in the MIDI transmission data register 410 (GMTDR). Write. To read MIDI data received by UART 412 , It reads the MIDI receive data register 416 (GMDRD). UA 16 byte FIFO between RT 412 and MIDI receive data register 416 There is O414.   The circuit C receives data from the MIDI reception data register 416 or transmits Data that completes the process being performed, or as a result of either, Can be programmed to generate an interrupt. 1. MIDI UART   The MIDI interface 10a operates at 31.25 KHz +/- 1%, Based on Motorola MC6850 compatible UART 412. For sending and receiving data Is shown in FIG.   The UART 412 operates asynchronously. 2. MIDI receive FIFO and register   Referring again to FIG. 42, the 16-byte FIFO 414 includes the UART 412 and the M It interfaces with the IDI reception data register 416. MIDI reception When the communication data register 416 has data, an interrupt occurs ( If it is interruptible). An interrupt is generated by the system control module described above. This is explained at Register 416 is read by software The interrupt is cleared. Before this byte is read, When the MIDI data is received by the FIFO, the new data is stored in the FIFO 414. Can be put in. MIDI reception data register 416 reads If the FIFO 414 has more data after the Transferred from the FIFO 414 to the register 416, another interrupt occurs. This Thus, the IRQ pin to which the MIDI interrupt is assigned reads the data. Transitions from high to low, the data is transferred from FIFO 414 to register 4 When it is passed to 16, it transitions from low to high immediately. Including FIFO 414 Then the maximum allowed interrupt latency is about 320 microseconds to 5.44 millimeters Increase to the second. Data is directly transferred via software using GMRFAI. Later, it can be put in the MIDI reception FIFO. 3. MIDI loopback logic   Referring now to FIG. 42, the MIDI port 10a is connected to the MIDITX line 420 Provides the option of folding the above data directly to the MIDIRX line 422 For this purpose, a folding logic 418 is provided. This is described in the System Control section above. This is controlled by bits in the UMCR described above. Occasionally When in return mode, the MIDITX 424 pin is still folded Functions to transmit data to an external device. But the MIDIRX input 426 , Data cannot be received. C. MIDI and Game Port Pin Summary D. Overview of MIDI and gameport registers 1. Game control register (GGCR) Address: Write 201h   Writing any value to this register starts the capacitor charging cycle 4 GAMIOs to determine the XY position of the joystick All pins 392 go into a high impedance state. Address: 201h read Default: XXXX 0000 binary value GAMIN [3: 0] These bits indicate the state of the four GAMIN pins 392. To reflect. GAMIO [3: 0] Each of these GAMIO pins has a high impedance. -High in dance mode and ground transition mode, low in all other Read. 2. Joystick trim DAC register (GJTDI) Address: P3XR + 5 read, write; index IGIDXR = 4Bh Default: 1Dh TDAC [4: 0] The joystick trim DAC396 levels are as follows: Set as follows.   These values vary linearly with VCC. 3. MIDI control register (GMCR) Address: P3XR + 0 Write, Read (If IVERI [RRMD] Is active). Default: 0X0X XXX0 (reset by URSTI [RGF1] Note: When IVERI [RRMD] is active, this register Key is readable. If IVERI [RRMD] is not active, Readings from this address give the data in the GMSR. IVERI [RR MD] interrupt enable reading is performed in each of the MRST field and the TINT field. Give each one bit. Bits [6 and 1] are unknown for these reads Bit [0] indicates that the MRST is written in [1.1] (MIDI port). Bit [5] is low when TINT is reset to an active state). When it is written in [0.1] (IRQ is active), it is high. RINT Receive data interrupt enabled. 0 = Reception interrupt disabled. 1 = Receive interrupt Permission. TINT [1: 0] Transmission interrupt. 00 = IRQ disabled. 10 = IRQ disabled.           Interrupt enable bit. 01 = IRQ enabled. 11 = IRQ disabled.   This field contains one flip-flop, due to the combinational logic before combining the states. It is realized only by lop. MRST [1: 0] MIDI reset. 00 = normal operation. 10 = normal operation.           01 = normal operation. 11 = MIDI port reset.   The MIDI port reset command is used to reset all bits in the GMSR, receive FI The FO 414, the GMTDR, and the MIDI transmission / reception UART 412 are reset. This does not reset GMRDR. This command allows another I / O write Stay active until GMCR [1: 0] is changed to something other than [1: 1]. You. This field contains one flip, due to the combinational logic before combining the states. It is realized only by the flop. 4. MIDI status register (GMSR) Address: P3XR + 0 Read Default: 0X00 XX10   Note: When IVERI [RRMD] is active, the data in this register Data cannot be accessed. MIRQ MIDI interrupt request. This bit can be RDAT, TDAT, or Goes high when any one of MORERR is active. The equation is R   MIRO = GMCR [1] * (RDAT + MORERR) + (GMCR [6: 5] == (0,1) * TDAT; MOR ERR MIDI overrun error. This bit is the MIDI receive FIFO 41 4 goes full when an additional byte of MIDI data is received. You. This is cleared by reading GMRDR. MFRERR MIDI frame error. This bit is a stop bit (Fig. 3 ) Is read as other than the logic level 1, and becomes active. This is the MID The subsequent reception of a correctly framed byte in the I data It is reared. TDAT MIDI transmission data register (GMTDR) available Noh. This bit indicates that there is no data to be transmitted on MIDITX pin 424 , When the UART 412 is ready to accept another byte of data, Is set to a. This occurs when writing to GMTDR starts data transfer. , Cleared low. This means that the MIDI port reset (to (1,1) GMRDR [1: 0] write), goes low and returns high after reset. . RDAT MIDI receive data register (GMDRD) full. This bit is High when there is a valid byte of data in register 416 (GMDRR). Is set. This bit indicates that the byte is from register 416 (GMDRD). When read, it is cleared low. Data exists in the MIDI receive FIFO If present, this bit is read from register 416 (GMDRD). It goes high again about 2 microseconds after. 5. MIDI transmission data register (GMTDR) Address: P3XR + 1, write Pin group 1. 5 bolt specifications DC characteristics, VCC = 5 volts Maximum drive for Vol, Voh specification, VCC = 5 volts Note 1: The maximum drive capacity for these signals is PSEENI [ISAD R]. Note 2: There is no Ioh value for open collector output. Note 3: EFFECT # and FRSYNC # are SUSPEND # input and C32K Multiplexed by HZ input. CD-IRQ is output as ESPCLK. You can choose. 2. Voltage specifications DC characteristics, VCC = 3.3 volts Maximum drive for Vol, Voh specification, VCC = 3.3 volts Note 2: There is no Ioh value for open collector output. Note 3: EFFECT # and FRSYNC # are SUSPEND # input and C32K Multiplexed by HZ input. CD-IRQ is output as ESPCLK. You can choose.   The foregoing disclosure and description of the invention is illustrative and illustrative of the invention and Circuit elements, specifications, connections and implementation details, without departing from the spirit of The operation method can be variously changed.

───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 08/333,460 (32)優先日 1994年11月2日 (33)優先権主張国 米国(US) (31)優先権主張番号 08/333,467 (32)優先日 1994年11月2日 (33)優先権主張国 米国(US) (31)優先権主張番号 08/333,536 (32)優先日 1994年11月2日 (33)優先権主張国 米国(US) (31)優先権主張番号 08/333,564 (32)優先日 1994年11月2日 (33)優先権主張国 米国(US) (31)優先権主張番号 08/334,461 (32)優先日 1994年11月2日 (33)優先権主張国 米国(US) (31)優先権主張番号 08/334,462 (32)優先日 1994年11月2日 (33)優先権主張国 米国(US) (31)優先権主張番号 08/510,139 (32)優先日 1995年8月3日 (33)優先権主張国 米国(US) (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),JP,KR (72)発明者 ブレーマー、 ジェフリー・イー アメリカ合衆国、テキサス州 78947、レ キシントン、ボックス30ビービー 1 (72)発明者 ブラウン、 グレン・ダブリュ アメリカ合衆国、テキサス州 78748、オ ースティン、ブーツヒル・ドライブ 11414 (72)発明者 ケイブラー、 カーリン・ドルー アメリカ合衆国、テキサス州 78737、オ ースティン、コーナー・ブルック・パス 12101 (72)発明者 フィームスター、 ライアン アメリカ合衆国、テキサス州 78704、オ ースティン、カサリン・パス 2930 (72)発明者 ゲーシオ、 デイビッド アメリカ合衆国、テキサス州 78736、オ ースティン、レッド・ウィロー・ドライブ 8005 (72)発明者 ガリック、 デイル・イー アメリカ合衆国、テキサス州 78748、オ ースティン、フェスタス・ドライブ 3122 (72)発明者 ホーガン、 マイケル アメリカ合衆国、テキサス州 78746、オ ースティン、ウエストレイク・ドライブ 4250 (72)発明者 リンツ、 アルフレード・アール アメリカ合衆国、テキサス州 78739、オ ースティン、リッカーヒル・レーン 5925 (72)発明者 ノーリス、 デイビッド アメリカ合衆国、テキサス州 78736、オ ースティン、ドーン・ヒル・サークル 7504 (72)発明者 シュニッツライン、 ポール・ジー アメリカ合衆国、テキサス州 78737、オ ースティン、アントラー・ベンド・ロード 11410 (72)発明者 ソーケス、 マーティン・ピー アメリカ合衆国、テキサス州 78735、オ ースティン、ファーン・ラン 4702 (72)発明者 スパック、 マイケル・イー アメリカ合衆国、テキサス州 78640、カ イル、ボックス 170、ルート 1 (72)発明者 サグス、 デイビッド・エヌ アメリカ合衆国、テキサス州 78728、オ ースティン、ショアライン・ドライブ・ナ ンバー311 3101 (72)発明者 トロック、 アラン ティー アメリカ合衆国、テキサス州 78660、プ フルガービル、デューンズ・ドライブ 2400────────────────────────────────────────────────── ─── Continuation of front page    (31) Priority claim number 08 / 333,460 (32) Priority date November 2, 1994 (33) Priority country United States (US) (31) Priority claim number 08 / 333,467 (32) Priority date November 2, 1994 (33) Priority country United States (US) (31) Priority claim number 08 / 333,536 (32) Priority date November 2, 1994 (33) Priority country United States (US) (31) Priority claim number 08 / 333,564 (32) Priority date November 2, 1994 (33) Priority country United States (US) (31) Priority claim number 08 / 334,461 (32) Priority date November 2, 1994 (33) Priority country United States (US) (31) Priority claim number 08 / 334,462 (32) Priority date November 2, 1994 (33) Priority country United States (US) (31) Priority claim number 08 / 510,139 (32) Priority Date August 3, 1995 (33) Priority country United States (US) (81) Designated countries EP (AT, BE, CH, DE, DK, ES, FR, GB, GR, IE, IT, LU, M C, NL, PT, SE), JP, KR (72) Inventor Bramer, Jeffrey E             United States, Texas 78947, Les             Kisington, Box 30 Bebe 1 (72) Inventor Brown, Glen W.             United States, Texas 78748, Ohio             Austin, Boots Hill Drive             11414 (72) Inventor Caibler, Carlin Dru             United States, Texas 78737, Ohio             Austin, Corner Brook Pass             12101 (72) Inventor Famestar, Ryan             United States, Texas 78704, Ohio             Austin, Katherine Pass 2930 (72) Inventor Gesio, David             United States, Texas 78736, Ohio             Austin, Red Willow Drive               8005 (72) Inventor Garrick, Dale Y             United States, Texas 78748, Ohio             Austin, Festas Drive 3122 (72) Inventors Hogan, Michael             United States, Texas 78746, Ohio             Austin, Westlake Drive             4250 (72) Inventor Linz, Alfred Earl             United States, Texas 78739, Ohio             Austin, Rickerhill Lane 5925 (72) Inventor Norris, David             United States, Texas 78736, Ohio             Austin, Dawn Hill Circle             7504 (72) Inventor Schnitzline, Paul Gee             United States, Texas 78737, Ohio             Austin, Antler Bend Road               11410 (72) Inventor Sookes, Martin P.             United States, Texas 78735, Ohio             Austin, Fern Run 4702 (72) Inventor Spac, Michael E             United States, Texas 78640             Il, Box 170, Route 1 (72) Inventors Sagus, David N.             United States, Texas 78728, Ohio             Austin, Shoreline Drive             Number 311 3101 (72) Inventor Trok, Arantee             United States, Texas 78660             Hulgerville, Dunes Drive             2400

Claims (1)

【特許請求の範囲】 1. 中央演算処理装置、システム・メモリ、およびシステム内でデータ、制御信 号およびアドレス信号を転送するためのプロセッサ・アクセス可能バスを含むホ スト・パーソナル・コンピュータ・システムに音声拡張機能を提供するためのモ ノリシック集積回路であって、前記モノリシック集積回路は、 プロセッサがアクセス可能なバスへのインタフェースを提供するシステム制御モ ジュールと、 アナログからデジタルへおよびデジタルからアナログへの信号変換を実現するた めのコーディング復号化モジュールであって、前記コーディング復号化モジュー ルが、さらに、 外部ソースとディスティネーションとの間でアナログ信号を送受するためのアナ ログ入力回路およびアナログ出力回路と、 前記システム制御モジュールに対して、デジタル音声データを送受するためのデ ジタル音声入力回路およびデジタル音声出力回路と、 デジタル音声信号を作成するためのデジタル音声信号シンセサイザ・モジュール と、 を具備するコーディング復号化モジュールと、 を具備するモノリシック集積回路。 2. 請求項1に記載される集積回路であって、前記制御モジュールが、さらに、 前記モジュールのそれぞれと通信する、前記集積回路全体でデータを分散するた めのレジスタ・データ・バスと、 を具備する集積回路。 3. 請求項2に記載される集積回路であって、前記レジスタ・データ・バスが、 さらに、 プロセッサ・アクセス可能バスにデータ、制御、およびアドレス接続を提供する ための外部バス・インタフェース回路を具備する集積回路。 4. 請求項1に記載される集積回路であって、前記システム制御モジュールが、 さらに、 回路要件に応えてプロセッサ割込み信号を作成、管理するための割込み回路と、 を具備する集積回路。 5. 請求項1に記載される集積回路であって、前記システム制御モジュールが、 さらに、 回路要件に応えてダイレクト・メモリ・アクセスの要求信号および肯定応答信号 を作成、管理するためのダイレクト・メモリ・アクセス回路と、 を具備する集積回路。 6. 請求項1に記載される集積回路であって、前記システム制御モジュールが、 さらに、 さまざまな回路動作を反映または制御するデータ・ビット、制御ビットおよびス テータス・ビットを記憶するための複数の集積回路制御レジスタと、 を具備する集積回路。 7. 請求項1に記載される集積回路であって、前記システム制御モジュールが、 さらに、外部発振器入力信号を受信し、出力回路クロック信号を提供するための 内部クロック回路を具備する集積回路。 8. 請求項7に記載される集積回路であって、前記内部クロック回路が、さらに 、クロック安定化回路を具備し、前記安定化回路が外部発振器信号が劣化してい る期間中、前記回路クロック信号をディスエーブルするための手段を具備する集 積回路。 9. 請求項8に記載される集積回路であって、前記クロック安定化回路が、外部 発振器信号の状況を検出し、外部発振器信号の状態を表すクロック制御信号を作 成するための発振器安定化回路と、 回路クロック信号をイネーブルまたはディスエーブルするために前記クロック制 御信号に応えるように適応されたクロック制御回路と、 を具備する集積回路。 10. 請求項1に記載される集積回路であって、前記シンセサイザ・モジュール が、さらに、 合成されたデジタル音声データを前記コーディング復号化モジュールに転送する ためのデジタル信号転送回路と、 を具備する集積回路。 11. 請求項1に記載される集積回路であって、前記シンセサイザが、 複数の音声用のデジタル音声データを作成するための手段と、 前記音声の前記デジタル・データを複合デジタル音声信号に結合する手段と、 複数のプログラマブル・シンセサイザ音声制御レジスタと、 前記プログラマブル・レジスタの状態に応えて各音声の周波数を変化させるため の手段と、 を具備する集積回路。 12. 請求項1に記載される集積回路であって、前記シンセサイザ・モジュール が、さらに、 音声信号データを外部ソースから獲得するためのデータ入力回路と、 を具備する集積回路。 13.請求項12に記載される集積回路であって、前記シンセサイザ・モジュールが 、さらに、デジタル音声データを一時的に記憶するためのメモリ回路を具備する 集積回路。 14.請求項1に記載される回路であって、さらに、 ゲーム・ポート・モジュールを具備し、前記ゲーム・ポート・モジュールが、ゲ ーム制御信号を外部装置から受信するためのアナログ入力回路と、 アナログ入力信号をデジタル信号に変換するためのアナログ・デジタル変換回路 と、 を具備する回路。 15. 請求項1に記載される回路であって、さらに、前記回路と外部装置の間で データ通信を提供するための楽器デジタル・インタフェース・モジュールを具備 する回路。 16. 請求項1に記載される回路であって、さらに、 前記集積回路を外部記憶装置と直接インタフェースするためのローカル・メモリ 制御モジュールと、 を具備する回路。 17. 請求項16に記載される回路であって、前記ローカル・メモリ制御モジュ ールが、前記集積回路と外部記憶装置の間でのデータ転送をイネーブルするため にアドレス信号および制御信号を作成するためのメモリ・インタフェース回路を 具備する回路。 18. 請求項17に記載される回路であって、前記メモリ・インタフェース回路が 、外部ランダム・アクセス・記憶装置と読取り専用記憶装置とインタフェースす るための手段を具備する回路。 19. 請求項18に記載される回路であって、前記ローカル・メモリ制御モジュー ルが、ランダム・アクセスまたは読取り専用アクセスの独立した記憶サイクルを 定義するための論理回路、および共通導線上の前記集積回路と前記外部記憶装置 の間でアドレス、制御、およびデータ通信を多重化するための制御回路を具備す る回路。 20. 請求項17に記載される回路であって、前記メモリ・インタフェース回路が 、さらに、 外部記憶装置からシリアル・データを受け取るためのシリアル・データ通信回路 、および外部記憶装置に制御信号を作成するための論理回路を具備する回路。 21. 請求項17に記載される回路であって、前記ローカル・メモリ制御モジュー ルが、さらに、 前記集積回路の選択されたモジュールが、外部記憶装置へのアクセスを許可され ている時間期間を定義、制御するための状態機械を具備する回路。 22. 請求項21に記載される回路であって、前記システム制御モジュールが、1 つ以上のメモリ・モード制御信号を作成するためのメモリ・アクセス・モード制 御レジスタおよびモード制御信号作成回路を具備し、前記状態機械が、拡張モー ド制御信号に応えて外部記憶装置へのアクセスの延長された時間期間を実現する ために遅延状態を作成するための論理回路を具備する回路。 23. 請求項17に記載される回路であって、前記メモリ・インタフェース回路が 、外部動的ランダム・アクセス記憶装置にリフレッシュ信号を作成するための回 路を具備する回路。 24. 請求項23に記載される回路であって、前記集積回路が、エネルギーを保全 するために、レジスタ制御式パワー・ダウン信号作成回路を具備し、前記リ フレッシュ回路が、削減された速度でリフレッシュ信号を提供するためのパワー ・ダウン信号に呼応する論理回路を具備する回路。 25. 請求項17に記載される回路であって、前記メモリ・インタフェース回路が 、外部記憶装置に具備されるメモリのブロックの開始アドレスおよび終了アドレ スを定義するためのアドレス定義レジスタ、および定義されたブロックの最初か ら最後まで連続アドレス信号を作成するための自動アドレス作成回路を具備する 回路。 26. 請求項17に記載される回路であって、前記ローカル・メモリ制御モジュー ルが、 ホスト・システム・プロセッサに割込み要求信号を作成するための割込み回路と 、 ホスト・メモリからデータを受け取るための手段と、 受け取られたデータを外部記憶装置に転送するための手段と、 を具備する回路。 27. 請求項26に記載される回路であって、前記ローカル・メモリ制御モジュー ルが、 ホスト・システムの中央演算処理装置にダイレクト・メモリ・アクセス要求信号 を作成するためのダイレクト・メモリ・アクセス手段と、 ダイレクト・メモリ・アクセス制御下でホスト・システム・メモリからデータを 受け取るための手段と、 ホスト・システム・メモリから外部記憶装置にデータを転送するための手段と、 を具備する回路。 28. 請求項27に記載される回路であって、前記ダイレクト・メモリ・アクセス 手段がデータが外部記憶装置内に記憶されるに従い、ホスト・システム・メモリ から受け取られるデータをインタリーブするための手段を具備する回路。 29. 請求項17に記載される回路であって、前記メモリ・インタフェース回路が 、外部記憶装置への8ビット・アクセスまたは16ビット・アクセスをイネーブル するための手段を具備する回路。 30. 請求項17に記載される回路であって、前記メモリ・インタフェース回路 が、外部記憶装置の先入れ/先出しレジスタを定義するためにアドレス信号およ び制御信号を作成するための手段を具備する回路。 31. 請求項2に記載される回路であって、前記レジスタ・データ・バスが、2 つの8ビット・データ・バス素子を具備し、前記システム制御モジュールが、前 記集積回路とホスト・システムの間での8ビットまたは16ビットの入出力アクセ スをイネーブルするための手段を具備する回路。 32. 請求項1に記載される回路であって、前記回路のアナログ信号入出力端子 が、デジタル入出力端子から隔離される回路。 33. 請求項1に記載される回路であって、システム電力入力端子およびシステ ム接地入力端子が、前記集積回路の感知アナログ信号端子に提供される回路。 34. 請求項7に記載される回路であって、前記内部クロック回路が、デジタル 回路動作に第1タイミング信号を提供するためのデジタル・クロック作成回路、 およびアナログ回路動作に第2タイミング信号を提供するためのアナログ・クロ ック作成回路を具備し、前記第2タイミング信号が前記第1タイミング信号から 独立している回路。 35. 請求項1に記載される回路であって、前記集積回路が、複数のアドレス指 定可能レジスタを具備し、前記システム制御モジュールが、外部プロセッサまた は制御回路により回路レジスタへのダイレクト・アクセスをイネーブルするため の手段を具備する回路。 36. 請求項に記載される回路であって、前記システム制御モジュールが、前記 集積回路とプロセッサ・アクセス可能バスの間で通信される入出力信号をバッフ ァに入れるためのバッファリング回路を具備する回路。 37. 請求項36に記載される回路であって、前記バッファリング回路が、前記集 積回路とプロセッサ・アクセス可能バスの間の続く入出力動作を、バッファに入 れられた入出力動作が完了するまで遅延させるための手段を具備する回路。 38. ステレオ音声符号器・復号器(コーデック)回路であって、 (a)複数の入力および出力を備えるアナログ・ミキサ回路と、 (b)少なくとも1つの入力および1つの出力を備え、多段補間フィルタ回路、 雑音整形器回路、および半デジタルFIRフィルタ回路を備えるデジタル・アナロ グ変換回路であって、それにより前記少なくとも1つの出力が前記アナログ・ミ キサ回路の入力に接続されるデジタル・アナログ変換回路と、 (c)少なくとも1つの入力および1つの出力を備え、四次シグマ・デルタ変調回 路、多段デジタルdecimationフィルタ回路およびデジタル補正回路を備えろアナ ログ・デジタル変換回路であって、それにより少なくとも1つの入力が前記アナ ログ・ミキサ回路の出力に接続されるアナログ・デジタル変換回路と、 (d)前記デジタル・アナログ変換回路の前記少なくとも1つの入力に、および前 記アナログ・デジタル変換回路の前記少なくとも1つの出力に接続されるデータ ・フォーマット変換回路と、 (e)デジタル音声信号を記憶するための1チップ・メモリであって、それにより 前記データ・フォーマット変換回路が前記1チップ・メモリに接続され、前記1 チップ・メモリに入力されるまたは前記1チップ・メモリから出力されるデータ のデータ圧縮/圧縮解除動作を実現する1チップ・メモリと、 を具備し、 前記デジタル・アナログ変換回路および前記アナログ・デジタル変換回路が、独 立プログラマブル・サンプル速度で動作できる、 ステレオ音声符号器・復号器(コーデック)回路。 39. 請求項38に記載されるコーデックであって、さらに、前記1チップ・メモ リに接続される直列転送制御回路を具備するコーデック。 40. 請求項38に記載されるコーデックであって、さらに、前記デジタル・アナ ログ回路および前記アナログ・デジタル回路が動作するサンプル速度を制御する ために、独立したクロック信号を選択できるように作成するためのクロック作成 回路を具備するコーデック。 41. 請求項38に記載されるコーデックであって、さらに、前記アナログ・ミキ サ回路へ入力されるまたは前記アナログ・ミキサ回路から出力される信号の振幅 を制御するための音声信号零交差検波回路を具備するコーデック。 42. 請求項38に記載されるコーデックであって、さらに、前記1チップ・メモ リから外部システム・メモリへ入力されるデータをインタリーブするか、あ るいは、前記データが前記1チップ・メモリに入力される前に前記外部システム ・メモリから検索されるインタリーブされるデータをインタリーブするための回 路を具備するコーデック。 43. 請求項39に記載されるコーデックであって、前記直列転送制御回路が、外 部DSPと前記1チップ・メモリの間で双方向シリアル・データを提供するコーデ ック。 44. 請求項38に記載されるコーデックであって、さらに、入力および出力を備 えるシンセサイザ・データ・デジタル・アナログ変換回路を具備し、前記シンセ サイザ・データ・デジタル・アナログ変換回路の前記出力が、前記アナログ・ミ キサの入力に接続されるコーデック。 45. さらに、オフチップ・ローカル・メモリを具備する請求項38に記載される コーデックであって、前記ローカル・メモリが前記オンチップ・メモリに接続さ れるコーデック。 46. 請求項45に記載されるコーデックであって、デジタル・データ経路が前記 オフチップ・ローカル・メモリと外部DSPの間に存在するコーデック。 47. 請求項38に記載されるコーデックであって、さらに、前記コーデックが、 外部CD-ROMインタフェースに制御信号を提供するコーデック。 48. 請求項38に記憶されるコーデックであって、さらに、プラグを差し込むだ けで即使用できる互換性を具備するための不揮発性シリアル・メモリ・インタフ ェースを具備し、前記不揮発性シリアル・メモリ・インタフェースが外部オペレ ーティング・システムと通信するコーデック。 49. 請求項45に記載されるコーデックであって、前記オフチップ・ローカル・ メモリが、前記オンチップ・メモリにデータを提供し、前記オンチップ・メモリ からデータを受け取るためのPIFOとして構成されるコーデック。 50. 請求項45に記載されるコーデックであって、前記オフチップ・ローカル・ メモリが、オンチップ・データ・サンプル・カウンタにより制御され、前記デー タ・サンプル・カウンタがシステム・レベル割込みを作成する機能を持つコーデ ック。 51. 請求項38に記載されるコーデックであって、前記ミキサに入力されるア ナログ・マイクロフォン信号が、前記ミキサに入力される複数のそれ以外のアナ ログ信号で合計されるコーデック。 52. 請求項39に記載されるコーデックであって、前記ミキサを通るアナログ経 路が、前記デジタル・アナログ変換回路からの入力と、前記アナログ・デジタル 変換回路の間に存在するコーデック。 53. 請求項38に記載されるコーデックであって、前記アナログ・ミキサ回路が 、入力信号として、シンセサイザ・デジタル・アナログ変換回路から出力される アナログ信号を具備するコーデック。 54. 請求項38に記載されるコーデックであって、前記オンチップ・メモリがプ レーバック経路FIFOおよび録音経路FIFOを具備し、前記PIFOのそれぞれが、シス テム・レベル割込みまたはDMAスケジューリングあるいはその両方を作成するた めのプログラマブルI/Oスレッショルドを具備するコーデック。 55. 請求項38に記載されるコーデックであって、前記アナログ・ミキサ回路が 、前記複数のミキサ出力の内の少なくとも1つの減衰/利得を制御するためのプ ログラマブル・マスタ・ボリューム制御回路を具備するコーデック。 56. 請求項41に記載されるコーデックであって、前記零交差検波回路が、さら に、前記零交差検波回路内に具備されるコンパレータ回路がパワー・アップされ たままとなる時間の長さを制御するための少なくとも1つの固定タイマを具備す るコーデック。 57. 請求項40に記載されるコーデックであって、前記クロック作成回路が、第 1または第2あるいはその両方の周波数範囲内で変化する周波数の選択可能クロ ック信号を作成するコーデック。 58. 請求項39に記載されるコーデックであって、前記シリアル・データ転送制 御回路が、前記オフチップ・ローカル・メモリと前記デジタル・アナログ変換回 路の間に第1デジタル・データ・ループバック経路を、前記オフチップ・ローカ ル・メモリと前記アナログ・デジタル制御回路の間に第2デジタル・データ・ル ープバック経路を具備するコーデック。 59. 請求項39に記載されるコーデックであって、前記直列転送制御回路が、外 部シンセサイザDSPへの双方向デジタル・データ経路を具備するコーデック。 60. 請求項38に記載されるコーデックであって、前記アナログ・デジタル変換 回路、または前記デジタル・アナログ変換回路、あるいはその両方が、独立プロ グラマブル・サンプル速度を備え、前記独立プログラマブル・サンプル速度が、 1サンプル期間内に、前記アナログ・デジタル変換回路およb前記デジタル・ア ナログ変換回路でのアナログ回路の動作をディスエーブルすることなく、変更さ れるコーデック。 61. 請求項59に記載されるコーデックであって、前記デジタル・アナログ変換 回路の前記独立プログラマブル・サンプル速度が、約256ステップで可変かつプ ログラム可能であるコーデック。 62. 請求項38に記載されるコーデックであって、さらに、前記コーデックの少 なくとも一部への電力を選択できるようにして中断するための電力管理回路を具 備するコーデック。 63. 請求項45に記載されるコーデックであって、前記オフチップ・ローカル・ メモリと前記オンチップ・メモリの間のデータ転送動作を制御するためのローカ ル・メモリ制御回路を具備するコーデック。 64. 請求項38に記載されるコーデックであって、さらに、前記コーデックが3.3 ボルトで動作しているのか、あるいは5.0ボルトで動作しているのかに関するス テータス情報を外部システムに提供するための3.3/5.0ボルト検出回路を具備す るコーデック。 65. 複数のアナログ入力および出力、アナログ信号混合機能、デジタル・アナ ログ変換回路、およびアナログ・デジタル変換回路を具備する方の音声制御回路 であって、複数のアナログ入力信号とアナログ・デジタル変換回を具備する録音 信号経路路、デジタル入力信号とデジタル変換回路を具備するプレーバック信号 経路、前記デジタル・アナログ回路から出力端子へ変換済みアナログ信号を転送 するための回路、および前記プレーバック信号経路デジタル・アナログ変換回路 、または前記録音信号経路アナログ・デジタル変換回路あるいはその両方のサン プリング速度を独立して制御するための論理制御回路とを具備する音声制御回路 。 66. 請求項59に記載されるコーデックであって、それにより前記デジタル・ アナログ変換回路の前記独立プログラマブル・サンプル速度が、複数の周波数ス テップで可変かつプログラム可能となるコーデック。 67. アナログ入出力、アナログ信号混合機能、デジタル・アナログ変換回路、 およびアナログ・デジタル変換回路を具備する型の音声制御回路であって、複数 のアナログ入力信号とアナログ・デジタル変換回路を具備する録音信号経路、デ ジタル入力信号とデジタル・アナログ変換回路を具備するプレーバック信号経路 、前記デジタル・アナログ変換回路に入力されるデジタル音声データ・サンプル を記憶するためのオンチップPIPOメモリとオフチップ・ローカル・メモリを、お よび前記プレーバック信号経路デジタル・アナログ変換回路および前記録音信号 経路アナログ・デジタル変換回路のサンプリング速度を独立して制御するための 論理制御回路を具備する音声制御回路。 68. 請求項38に記載される、前記雑音整形器回路が、5次シグマ・デルタ変換 回路を具備するコーデック。 69. 1ビット雑音整形器回路であって、 複数のフィードバック経路を備える5次デルタ・シグマ変換回路ネットワークを 具備し、それにより前記雑音整形器回路に入力されるnビット・デジタル信号が 、1ビット・デジタル出力信号に変換され、nが1を上回り、前記雑音整形器回 路の雑音通過帯域が少なくとも0.20f、前記雑音整形器回路の信号帯域を超過す る1ビット雑音整形器回路。 70. 請求項69に記載される1ビット雑音整形器回路であって、前記回路が、以 下に示す信号転送関数を設定され、 、この場合X(z)は、デジタル音声入力信号であり、それにより、 、この場合Wkについては、 となり、A1-5が極位置決めフィードバック係数であり、B1-2が零位置決めフィー ドバック係数であり、K1-5が桁移動子である1ビット雑音整形器回路。 71. 請求項69に記載される1ビット雑音整形器回路であって、前記回路に以下 の雑音転送関数が設定され、 それにより、 となり、A1-5が極位置決めフィードバック係数であり、B1-2が零位置決めフィー ドバック係数であり、K1-5が桁移動子である1ビット雑音整形器回路。 72. 請求項69に記載される1ビット雑音整形器回路であり、前記1ビット出力 信号が、約0.05度を上回らない位相変動を備える1ビット雑音整形器回路。 73. 請求項69に記載される1ビット雑音整形器回路であって、それにより前記 回路が、前記n-ビット・デジタル入力信号のサンプリング周波数が約8KHzであ るときに約6KHzの通過帯域雑音縁、および前記n-ビット・デジタル入力信号の サンプリング周波数が約48KHzのときに約36KHzの通過帯域雑音縁を具備する1ビ ット雑音整形器回路。 74. 請求項69に記載される1ビット雑音整形器回路であって、それにより前記 回路が以下のゼロおよび極を備え、 および この場合、 および となる1ビット雑音整形器回路。 75. 請求項70に記載される1ビット雑音整形器回路であって、桁移動子K1-5お よびフィードバック係数B1-2に以下の値が設定される、 k1=0.25,k2=0.5,k3=0.25,k4=0.5、およびk5=0.125、ならびに B1=-0.039326867、B2=-0.0149988 1ビット雑音整形器回路。 76. 請求項71に記載される1ビット雑音整形器回路であって、桁移動子に以下 の値が設定される k=0.5およびk4=0.5 1ビット雑音整形器回路。 77. 請求項69に記載される1ビット雑音整形器回路であって、前記5次デルタ ・シグマ変換回路ネットワークに約1.85を下回る雑音利得因数が設定される1ビ ット雑音整形器回路。 78. n-ビット・デジタル入力信号および1ビット出力信号を備える型の雑音整 形器回路であって、 (a)入力と出力を備える第1積分器と、 (b)複数の入力および出力を備える第1加算ノードであって、それにより前記第 1加算ノードのある入力が前記第1積分器の前記出力に接続され、前記第1加算 ノードの別の入力が第1フィードバック信号経路に接続される第1加算ノードと 、 (c)複数の入力および出力を備える第2加算ノードであって、それにより前記第 1加算ノードの前記出力が前記第2加算ノードのある前記入力に接続され、第2 フィードバック信号経路が前記第2加算ノードの別の前記入力に接続される第2 ノードと、 (d)入力および出力を備える第2積分器であって、それにより前記入力が前記第 2加算ノードの前記出力に接続される第2積分器と、 (e)複数の入力および1つの出力を備える第3加算ノードであって、それにより 前記第2積分器の前記出力が前記第3加算ノードの前記入力の1つに接続され、 前記第3加算ノードの前記入力の別のものが第3フィードバック信号経路に接続 される第3加算ノードと、 (f)入力および出力を備える第3積分器であって、前記第3積分器の前記入力が 前記第3加算ノードの前記出力に接続され、前記第3積分器の前記出力が前記第 2フィードバック信号経路に接続される第3積分器と、 (g)複数の入力および1つの出力を備える第4加算ノードであって、それにより 前記第4加算ノードのある入力が前記第3積分器の前記出力に接続され、前記第 4加算ノードの別の入力が第4フィードバック信号経路に接続される第4加算ノ ードと、 (h)複数の入力および1つの出力を備える第5加算ノードであって、それにより 前記第5加算ノードのある入力が前記第4加算ノードの前記出力に接続され、前 記第5加算ノードの別の入力が第5フィードバック信号経路に接続される第5加 算ノードど、 (i)入力および出力を備える第4積分器であって、それにより前記第4積分器の 前記入力が、前記第5加算ノードの前記出力に接続される第4積分器と、 (j)複数の入力および1つの出力を備える第6加算ノードであって、それにより 前記第6加算ノードのある入力が、前記第4積分器の前記出力に接続され、 前記第6加算ノードの別の入力が第6フィードバック信号経路に接続される第6 加算ノードと、 (k)入力および出力を備える第5積分器であって、それにより前記入力が前記第 6加算ノードの前記出力に接続され、前記第5積分器の前記出力が、前記第5フ ィードバック信号経路および1ビット信号出力ノードに接続される第5積分器と 、 (l)複数の入力および1つの出力を備える入力加算ノードであり、それにより、 前記入力加算ノードの前記入力の内の1つが前記n-ビット・デジタル入力信号に 接続され、前記入力加算ノードの別の入力が第7フィードバック信号経路に接続 され、前記入力加算ノードの前記出力が前記積分器の前記入力に接続される入力 加算ノードと、 を具備する雑音整形器回路。 79. 請求項69に記載される1ビット雑音整形器回路であって、前記雑音通過帯 域が、0.25f、前記雑音整形回路の前記信号帯域を超過する1ビット雑音整形器 回路。 80. n-ビットのデジタル入力信号を1-ビットのデジタル出力に変換する方法で あって、この場合、nは1を上回り、 (a)n-ビット・デジタル入力信号を5次シグマ・デルタ変換回路に提供するステ ップと、 (b)前記シグマ・デルタ・ネットワークの雑音通過帯域を、前記ネットワークの 信号帯域を少なくとも0.20f超えて拡張するステップと、 (c)前記n-ビット入力信号を前記5次ネットワークで1-ビット・デジタル出力信 号に変換するステップと、 を構成する方法。 81. (a)マルチビット入力およびマルチビット出力を備える多段補間フィルタ回 路と、 (b)マルチビット入力および1-ビット出力を備える雑音整形器回路であって、前 記雑音整形入力が、前記多段補間フィルタ回路から出力される前記マルチビット 出力に接続される雑音整形器回路と、 (c)デジタル入力およびアナログ出力を備える半デジタルFIRフィルタ回路であっ て、前記FIRフィルタ・デジタル入力が前記雑音整形器回路から出力される前記1 -ビットに接続される半デジタルFIRフィルタ回路と、 を具備するデジタル・アナログ変換(DAC)回路。 82. 請求項81に記載されるDAC回路であって、前記多段補間フィルタの第1段が 入力、出力、および2N-1タップを備える線形位相FIRフィルタを具備し、それに より前記第1段が、前記第1段に入力されるデジタル音声信号の周波数を前記デ ジタル音声入力信号のサンプル速度の2倍にオーバーサンプルするDAC回路。 83. 請求項82に記載されるDAC回路であって、前記多段補間フィルタの第2段が 、入力および出力を備える2相sinc5補間第2段を具備し、前記第2段入力が、 前記第1補間段の前記出力に接続され、それにより前記sinc5段が、前記第1補 間段に入力される前記デジタル音声信号のサンプル速度の4倍にオーバーサンプ ルし、前記第2段の前記入力が第1乗算器および第1遅延ブロックに接続され、 前記第1遅延ブロックの出力が第2遅延ブロックおよび第2乗算器に入力され、 第2遅延ブロックの出力が第3乗算器に入力され、前記第1乗算器が第1処理経 路内にあり、前記第2乗算器が第2処理経路内にあり、前記第3乗算器が第3経 路内にあり、前記第1処理経路、第2処理経路、および第3処理経路が並列で動 作し、前記第1処理経路の出力が、第1加算ノード内の前記第2処理経路の出力 で合計され、前記第3処理経路の出力および前記第2処理経路の出力が、第2加 算ノードで合計され、前記第2段の出力におけるオーバーサンプラが、前記第1 加算ノードの出力と前記第2加算ノードの間で選択式でサンプルし、前記第2段 の前記出力に、そのように選択されたサンプルを出力するDAC回路。 84. 請求項83に記載されるDAC回路であって、前記多段補間フィルタの第3段が 、入力および出力を備えるsinc2補間第3段を具備し、前記第3段出力が前記sin c5第2段の前記出力に接続され、それにより前記sinc2第3段が前記sinc5段の前 記出力を前記第1補間段に入力される前記デジタル音声信号のサンプル速度の64 倍にオーバーサンプルし、前記第3段入力が、二重遅延ブロ ックに入力され、第1加算ノードに入力され、前記二重遅延ブロックの出力が負 の入力として前記第1加算ノードに入力され、前記第1加算ノードの出力が第1 単独遅延ブロックに入力され、第2加算ノードに入力され、前記第1単独遅延ブ ロックの出力が前記第2加算ノードに入力され、前記第2加算ノードの出力がオ ーバーサンプラに接続され、前記オーバーサンプラが前記第2加算ノードの出力 を選択式でサンプルし、選択された前記サンプルのそれぞれを、前記第3加算ノ ードのクロック速度の16倍で第3加算ノードの入力に入力し、前記第3加算ノー ドの出力が、第2単独遅延ブロックに入力され、前記第2単独遅延ブロックの出 力が前記第3加算ノードの入力にフィードバックされるだけではなく64倍でオー バーサンプルされた信号として前記第3段から出力されるDAC。 85. 請求項82に記載されるDAC回路であって、前記線形位相FIRフィルタ第1段 がさらに、2相フィルタを具備し、第1相サブフィルタが、奇数の係数により前 記デジタル音声入力信号を乗算することによって奇数の信号サンプルを作成し、 第2相サブフィルタが、前記デジタル音声入力信号を偶数の係数により乗算する ことによって偶数の信号サンプルを作成し、それにより前記サブフィルタが並列 で実行するDAC回路。 86. 請求項81に記載されるDAC回路であって、前記雑音整形器回路が5次シグマ ・デルタ変換回路を具備するDAC回路。 87. 請求項86に記載されるDAC回路であって、前記5次シグマ・デルタ変換回路 に以下の信号転送関数が設定され、 、この場合、X(z)がデジタル音声入力信号であり、それにより、 、この場合Wkには、 となり、A1-5は極位置決めフィードバック係数であり、B1-2はゼロ位置決めフィ ードバック係数であり、K1-5が桁移動器であるDAC回路。 88. 請求項81に記載されるDAC回路であって、前記雑音整形器回路が前記回路の 雑音通過帯域を少なくとも約0.7fに拡張するDAC回路。 89. 請求項81に記載されるDAC回路であって、前記雑音整形器回路が雑音通過帯 域を少なくとも約0.70fに拡張するDAC回路。 90. 請求項81に記載されるDAC回路であり、前記雑音整形器回路が、前記整形器 回路の雑音通過帯域を約0.75fに拡張するDAC回路。 91. 請求項86に記載されるDAC回路であり、前記5次シグマ・デルタ変換回路に 以下の雑音転送関数が設定され、 それにより、 、この場合Wkには、 となり、A1-5が極位置決めフィードバック係数であり、B1-2が零位置決めフィー ドバック係数であり、K1-5が桁移動子であるDAC回路。 92. 請求項81に記載されるDAC回路であって、前記雑音整形器回路が、5つの積 分器を備える5次シグマ・デルタ・ネットワークを具備し、それにより前記積分 器の内の2つが、前記積分器のそれ以外の2つの桁移動子係数と同じ値であるDA C回路。 93. 請求項81に記載されるDAC回路であって、前記雑音整形器回路が、約1.85を 下回る雑音利得係数(K)が設定される5次シグマ・デルタ・ネットワークを具備 するDAC回路。 94. 請求項81に記載されるDAC回路であて、前記半デジタルFIRフィルタが、 (a)クロック入力、1-ビット・デジタル音声信号入力および複数のデータ出力タ ップを備えるシフト・レジスタと、 (b)複数の電流シンクと、 (c)複数のDCオフセット電流ソースと、 (d)第1電流加算動作増幅器および第2電流加算動作増幅器であって、前記電流 加算動作増幅器が電圧出力ノードおよび正の入力ノードと負の入力ノードを備え 、前記電流加算動作増幅器ごとの前記負の入力ノードが、前記DCオフセット電流 ソースの異なったノードに接続され、前記電流シンクのいずれかに選択式で接続 される電流加算入力ノードであり、前記電流加算動作増幅器ごとの前記正の入力 ノードが基準電圧に接続され、第1抵抗器が前記第1電流加算動作増幅器上での 前記電流加算ノードと前記電圧出力ノードの間で接続され、第2抵抗器が前記第 2電流加算動作増幅器上での前記電流加算ノードと前記電圧出力ノードの間で接 続され、前記電流加算動作増幅器のそれぞれの前記電圧出力ノードでの電圧が前 記電流加算動作増幅器ごとの前記電流加算ノードに選択式で接続される前記電流 シンクの値に関係する第1電流加算動作増幅器および第2電流加算動作増幅器と 、 (e)シングル・エンド電圧出力ノードおよび、正と負の電圧入力ノードを備える 動作増幅器であって、前記負の電圧入力ノードが第3抵抗器を通して前記第1ま たは第2電流加算動作増幅器の電圧出力ノードに接続され、前記正の電圧入力ノ ードが第4抵抗器を通して前記他の電流加算動作増幅器の電圧出力ノードに接続 され、第5抵抗器が基準電圧に接続され、第6抵抗器が前記負の電圧入力ノード と前記シングル・エンド電圧出力ノードの間で接続され、それにより前記シング ル・エンド電圧出力ノード上での電圧が前記電流加算動作増幅器ごとの前記電流 加算ノードに選択式で接続される前記電流シンクの値に関係する動作増幅器と、 を具備するDAC回路。 95. n-ビット・デジタル信号をアナログ信号に変換する方法であって、 (a)前記n-ビット信号を多段補間回路フィルタ回路に入力するステップと、 (b)前記入力されたn-ビット・デジタル信号を前記n-ビット信号のサンプル速度 の64倍に補間するステップと、 (c)前記補間された信号を雑音整形器回路に出力するステップと、 (d)前記補間された信号を1-ビット出力信号に変換するステップと、 (e)前記1-ビット出力信号を半デジタルFIRフィルタ回路に入力するステップと、 (f)前記1-ビット信号をアナログ出力信号に変換するステップと、 を構成する方法。 96. n-ビット・デジタル音声信号をアナログ音声信号に変換する方法であって 、 (a)前記n-ビット音声信号を3段補間回路フィルタ回路に入力するステップと、 (b)第1段補間回路の前記入力されたn-ビット・デジタル信号を前記n-ビット・ デジタル音声信号のサンプル速度の2倍に補間するステップと、 (c)前記第1段補間信号を第2段補間回路に出力するステップと、 (d)前記第1段補間信号を前記n-ビット・デジタル音声信号のサンプル速度の4倍 に補間間するステップと、 (e)前記第2段補間信号を第3段補間回路に出力するステップと、 (f)前記第2段補間信号を前記n-ビット・デジタル音声信号のサンプル速度の64 倍に補間するステップと、 (g)前記第3段補間信号を1-ビット雑音整流器回路に出力するステップと、 (h)前記第3段補間信号を1-ビット信号に変換するステップと、 (i)前記1-ビット信号を半デジタルFIRフィルタ回路に出力するステップと、 (j)前記1-ビット信号をアナログ音声出力信号に変換するステップと、 を構成する方法。 97. 請求項96に記載される方法であって、前記第1補間回路が線形位相FIRフィ ルタを具備する方法。 98. 請求項96に記載される方法であって、前記第2段補間回路がsinc5フィルタ を具備する方法。 99. 請求項96に記載される方法であって、前記第3補間回路がsinc2フィルタを 具備する方法。 100. 請求項94に記載されるDAC回路であって、第1コンデンサが前記第1抵抗 器と並列で接続され、第2コンデンサが前記第2抵抗器と並列で接続されるDAC 回路。 101. 請求項96に記載される方法であって、さらに、 (k)前記アナログ音声出力信号を低域ろ波するステップと、 を構成する方法。 102. (a)マルチビット・デジタル入力と、 (b)複数の入力および1つの出力を備える第1マルチプレクサであって、前記デ ジタル入力信号が前記第1マルチプレクサの前記入力の内の1つに接続される第 1マルチプレクサと、 (c)複数の入力および1つの出力を備える第1加算器であって、前記第1マルチ プレクサ出力が前記複数の第1加算器の内の1つに接続される第1加算器と、 (d)入力及び出力を備えるシフト・レジスタであって、前記第1加算器の前記出 力が前記シフト・レジスタ入力に接続されるシフト・レジスタと、 (e)複数の入力および1つの出力を備える第2加算器であって、前記シフト・レ ジスタ出力が前記複数の第2加算器入力の内の1つに接続される第2加算器と、 を具備し、 前記第2加算器出力が、1-ビット・デジタル出力信号として出力用量子化器に提 供される、デジタル・アナログ変換(DAC)回路用シグマ・デルタ変調回路。 103. (a)前記デジタル入力回路とデータ・レジスタの第1直列構成から出力さ れる信号の間で選択するための第1装置であって、前記選択された信号が第1加 算器に提供される第1装置と、 (b)前記選択された信号と合計される、前記第1加算器に提供されているフィー ドバック信号および選択係数値と、 (c)第2加算器に提供される前に概算される前記第1加算器の出力と、 (d)データ・レジスタの第2直列構成から出力される2つの信号の内の1つの間 で選択する第2選択装置であって、前記選択された2つの信号の内の1つが、前 記概算された第1加算器出力信号と合計される前記第2加算器に提供される第2 選択装置と、 を具備し、 1-ビット出力信号が前記第2加算器から出力される、 マルチビット・デジタル入力信号を1-ビット・デジタル出力信号に変換するため のデジタル・シグマ・デルタ変調回路。 104. 請求項103に記載される変調回路であって、前記第2加算器出力が量子化 器に提供される変調回路。 105. 請求項104に記載される変調回路であって、前記量子化器がフリップフロ ップを具備する変調回路。 106. (a)マルチビット入力信号と、 (b)直列に接続されたデータ・レジスタの第1グループと、 (c)直列に接続されたデータ・レジスタの第2グループと、 (d)前記マルチビット・デジタル入力信号と、前記直列に接続されたデータ・レ ジスタの第1グループの最後のレジスタからの出力信号の間で選択する第1マル チプレクサであって、前記第1マルチプレクサにより選択される前記信号が第1 加算器の入力に提供される第1マルチプレクサと、 (e)前記直列に接続されたデータ・レジスタの第2グループの最後のレジスタか らの出力信号と前記直列に接続されたデータ・レジスタの前記第2グループ内の 中間レジスタからの出力信号の間で選択する第2マルチプレクサであって、 前記第2マルチプレクサにより選択される前記信号が、第2加算器の入力に提供 され、 前記第1加算器の出力が概算されてから、前記第2加算器の別の入力に提供され 、 前記第2加算器の出力が、1-ビット・デジタル出力信号として出力用量子化器に 提供される、 第2マルチプレクサと、 を具備する、デジタル・アナログ変換回路用oversamplingデジタル・シグマ・デ ルタ変調回路。 107. 請求項106に記載されるシグマ・デルタ変調回路であって、前記量子化器 がフリップフロップを具備するシグマ・デルタ変調回路。 108. 請求項106に記載されるシグマ・デルタ変調回路であって、さらに、第 1または第2データ・レジスタに選択式で接続される入力を備え、前記第1加算 器の別の入力に接続される出力を備える係数復号化回路を具備するシグマ・デル タ変調回路。 109. 請求項106に記載されるシグマ・デルタ変調回路であって、前記第2加算 器の前記出力も、前記直列に接続されるデータ・レジスタの第2グループ内の第 1レジスタに提供されるシグマ・デルタ変調回路。 110. 請求項106に記載されるシグマ・デルタ変調回路であって、前記1-ビット デジタル出力信号が、第1係数で前記1-ビット信号を乗算してから、第3マルチ プレクサへの入力として前記乗算の積を提供する第1マルチプレクサに提供され るシグマ・デルタ変調回路。 111. 請求項110に記載されるシグマ・デルタ変調回路であって、前記直列に接 続されるデータ・レジスタの第1グループの前記最後のレジスタからの前記出力 信号が、やはり前記第3マルチプレクサへの別の入力として提供されるシグマ・ デルタ変調回路。 112. 請求項111に記載されるシグマ・デルタ変調回路であって、前記第3マル チプレクサの出力が第3加算器への入力として提供されるシグマ・デルタ変調回 路。 113. 請求項106に記載されるシグマ・デルタ変調回路であって、直列に接続さ れるデータ・レジスタの前記第1および前記第2グループのそれぞれが、少なく とも3つのデータ・レジスタを具備するシグマ・データ変調回路。 114. マルチビット・デジタル入力信号を、デジタル・フィルタを使用して、1- ビット・デジタル出力信号に変換する方法であって、 (a)カスケードされた積分段の集合を提供するステップと、 (b)前記積分段の集合にマルチビット・デジタル入力信号と1-ビット・デジタル 出力信号を提供するステップと、 (c)前記1-ビット・デジタル出力信号を量子化するステップと、 (d)複数のフィルタ係数で、前記量子化された1-ビット出力信号を乗算するステ ップと、 (e)前記積分段の集合の中の個々の集合段の間で廃棄されたノードに、前記乗 算された複数の係数を提供するステップと、 を構成する方法。 115. 請求項114に記載される方法であって、前記乗算するステップが1-ビット 乗算で達成される方法。 116. マルチビット・デジタル入力信号を1-ビット・デジタル出力信号に変換す る方法であって、 (a)マルチビット・デジタル入力信号、1-ビットデジタル出力信号、および複数 の加算器の集合を備えるシグマ・デルタ変調回路フィルタを提供し、加算器の各 集合が2つのデータ項の合計を計算するステップと、 (b)前記アドレスの集合のそれぞれにより計算される2つのデータ項の前記合計 を概算するステップと、 (c)第3データ項を、前記加算器の集合のそれぞれの2つのデータ項の前記概算 された合計を加算するステップと、 を構成する方法。 117. 請求項116に記載される方法であって、少なくとも1つの前記加算器の集 合に概算する前記ステップが、前記2つのデータ項をシフトすることにより計算 される方法。 118. 請求項116に記載される方法であって、さらに、前記1-ビット・デジタル 出力信号を量子化するステップを構成する方法。 119. 請求項118に記載される方法であって、さらに、少なくとも1つのフィル タ積を作成するために、少なくとも1つのフィルタ係数で前記量子化された1-ビ ット・デジタル出力信号を乗算するステップを構成する方法。 120. 請求項119に記載される方法であって、前記加算器の集合の少なくとも1 つで合計されている前記データ項が、少なくとも1つの前記フィルタ積を構成す る方法。 121. 請求項116に記載される方法であって、さらに、 (d)少なくとも1つの追加単独加算器を提供するステップと、 (e)フィードバック・フィルタ係数を、前記シグマ・デルタ変調回路フィルタに 含まれる積分段から出力されるデータ・フィードバック項で乗算することに より、フィルタ積を少なくとも1つの追加単独加算器で計算するステップと、を 構成する方法。 122. デジタル・シグマ・デルタ変調回路を使用して、マルチビット・デジタル 入力信号を1-ビット・デジタル出力信号に変換する方法であって、 (a)前記マルチビット・デジタル入力信号を入力するステップと、 (b)前記入力信号と、直列に接続されるデータ・レジスタの第1グループから出 力される信号の間で選択するステップと、 (c)前記選択された信号をフィードバック信号と加算するステップと、 (d)前記加算された信号を概算するステップと、 (e)前記概算された信号を、直列に接続されるデータ・レジスタの第2グループ から出力される第1選択信号で加算するステップと、 (f)前記概算された信号および前記シグマ・デルタ変調回路からの第1選択信号 の前記合計を、1-ビット・デジタル出力信号として出力するステップと、を構成 する方法。 123. 請求項114に記載される方法であって、さらに、前記直列に接続されたデ ータ・レジスタから出力される信号と、前記データ・レジスタの第2グループ内 の中間レジスタから出力される信号の間で選択するステップと、前記概算された 信号と合計される前記直列に接続されるデータ・レジスタの第2グループから出 力される前記信号として前記選択された信号を提供するステップとを構成する方 法。 124. 請求項115に記載される方法であって、さらに、選択された係数値を前記 選択信号と前記フィードバック信号と合計するステップを構成する方法。 125. 請求項125に記載される方法であって、前記概算するステップが、前記合 計された選択信号を最小2ビット桁シフトすることで達成される方法。 126. (a)フィルタ出力を備える複数の積分段と、 (b)前記複数の積分段の中の第1積分段に入力されるマルチビット・デジタル入 力信号であって、 前記フィルタ出力が、量子化器に入力され、前記量子化器が出力を備え、 前記量子化器出力が、1-ビット・デジタル出力信号を具備し、 前記1-ビット出力信号がフィルタ係数により乗算されてから、前記複数の積分段 のそれぞれにフィードバックする、 マルチビット・デジタル入力信号と、 を具備するデジタル・シグマ・デルタ変調回路フィルタ。 127. デジタル遅延ベース音声効果を作り出すために、デジタルwavetable音声 シンセサイザを使用する方法であって、 (a)外部wavetableメモリに記憶されるデータから第1デジタル音声信号を作成ス テップと、 (b)前記シンセサイザに前記第1デジタル音声信号を記憶するステップと、 (c)前記シンセサイザから前記第1デジタル音声信号を前記wavetableメモリに書 き込むステップと、 (d)ステップ(c)の後の選択時に、前記wavetableメモリから前記第1デジタル音 声信号を読み取るステップと、 (e)前記wavetableメモリから読み取られる前記第1デジタル音声信号から、前記 第1デジタル音声信号の遅延バージョンを表す第2デジタル音声信号を作成する ステップと、を構成する方法。 128. 請求項127に記載される方法であって、さらに、 前記第1デジタル音声信号、前記第2デジタル音声信号、または前記第1デジタ ル音声信号と前記第2デジタル音声信号両方を、ボリューム構成要素で乗算する ステップと、 を構成する方法。 129. 請求項127に記載される方法であって、さらに、 ステップ(a)-(e)を希望に応じて反復するステップと、 を構成する方法。 130. 請求項129に記載される方法であって、さらに、 ステップ(a)-(e)が反復されるたびに、LFO作成手段を使用して、ステップ(d)の 前記選択時間を変化させるステップと、 を構成する方法。 131. 遅延ベース音声効果を作り出すために、デジタルwavetable音声シンセ サイザを使用する方法であって、 (a)外部wavetableメモリに記憶されるデータから第1デジタル音声信号を作成す るステップと、 (b)前記シンセサイザに前記第1デジタル音声信号を記憶するステップと、 (c)前記シンセサイザから前記wavetableメモリに前記第1デジタル音声信号を書 き込むステップと、 (d)ステップ(c)の後の選択時に、前記wavetableメモリから前記第1デジタル音 声信号を読み取るステップと、 (e)前記wavetableメモリから読み取られる前記第1デジタル音声信号から第1遅 延ベースのデジタル音声信号を作成するステップと、 (f)前記シンセサイザに前記第1遅延ベース・デジタル音声信号を記憶するステ ップと、 (g)前記シンセサイザから前記wavetableメモリに前記第1遅延ベース・デジタル 音声信号を書き込むステップと、 (h)ステップ(g)の後の選択時に、前記wavetableメモリから前記第1遅延ベース 音声信号を読み取るステップと、 (i)前記wavetableメモリから読み取られた前記第1遅延ベース・デジタル音声信 号から第2遅延ベース音声信号を作成するステップと、 を構成する方法。 132. 請求項131に記載される方法であって、前記第1遅延ベース音声信号が前 記wavetableメモリに書き込まれる前に、前記遅延ベース音声信号が、ボリュー ム構成要素で乗算される方法。 133. 遅延ベース音声効果を作成するために、デジタルwavetableシンセサイザ を使用する方法であって、 (a)外部wavetableメモリに記憶されるデータから第1デジタル音声信号を作成す るステップと、 (b)前記シンセサイザに前記第1デジタル音声信号を記憶するステップと、 (c)前記シンセサイザから前記wavetableメモリに前記第1デジタル音声信号を書 き込むステップと、 (d)ステップ(c)の後の選択時に、前記wavetableメモリから前記第1デジタル音 声信号を読み取るステップと、 (e)前記wavetableメモリから読み取られる前記第1デジタル音声信号から第1遅 延ベース・デジタル音声信号を作成するステップと、 (f)最後のステップがステップ(e)であった場合には、前記シンセサイザに前記第 1遅延ベース音声信号を記憶するステップか、あるいはステップ(f)-(i)が反復 されている場合には、前記シンセサイザでのステップ(i)で最後に作成された前 記続く遅延ベース音声信号を記憶するステップと、 (g)前記シンセサイザから前記wavetableメモリにステップ(f)の前記シンセサイ ザに記憶される前記遅延ベース・デジタル音声信号を書き込むステップと、 (h)ステップ(g)の後の選択時に、前記wavetableメモリから、ステップ(g)の前記 wavetableメモリに記憶される前記遅延ベース音声信号を読み取るステップと、 (i)ステップ(h)の前記外部メモリから読み取られる前記遅延ベース音声信号から 続く遅延ベース音声信号を作成するステップと、 (j)ステップ(f)-(i)を希望に応じて反復するステップと、 を構成する方法。 134. 請求項133に記載される方法であって、ステップ(f)の前に、ステップ(f) の前記シンセサイザに記憶される前記遅延ベース音声信号がボリューム構成要素 により乗算される方法。 135. 請求項133に記載される方法であって、さらに、 ステップ(f)-(i)が反復されるたびに、LFO作成手段を使用して、ステップ(h)の 前記選択時間を変化させるステップと、 を構成する方法。 136. (a)前記シンセサイザにより作成されるデジタル音声信号を記憶するため の記憶装置と、 (b)前記記憶装置に記憶される前記デジタル音声信号を外部wavetableに書き込む ための手段と、 (c)前記信号が、前記書き込むための手段により前記外部メモリに書き込まれ た後の選択時に前記外部wavetableから前記デジタル音声信号を読み取るための 手段と、 を具備する遅延ベース効果を作り出す機能を持つデジタルwavetable音声シンセ サイザ。 137. 請求項136に記載されるシンセサイザであって、前記記憶装置が1つ以上 のアキュムレータを具備し、前記書き込むための手段がアキュムレータから前記 外部メモリにデジタル音声信号を書き込むシンセサイザ。 138. 請求項136に記載されるシンセサイザであって、さらに、前記記憶装置と 前記外部wavetableの間でインタフェースし、前記外部装置に書き込むために、 前記書き込むための手段の前記記憶装置から、一時的に前記デジタル音声信号を 記憶するFIFOバッファを具備するシンセサイザ。 139. 請求項138に記載されるシンセサイザであって、前記記憶装置が1つ以上 のアキュムレータを具備するシンセサイザ。 140. 請求項136に記載されるシンセサイザであって、前記書き込むための手段 が、さらに、前記記憶装置をクリアする機能を持つシンセサイザ。 141. 請求項137に記載されるシンセサイザであって、前記書き込むための手段 が、さらに、前記1つ以上のアキュムレータのそれぞれをクリアする機能を持つ シンセサイザ。 142. 請求項138に記載されるシンセサイザであって、前記書き込むための手段 が、前記記憶装置をクリアする機能を持つシンセサイザ。 143. 請求項139に記載されるシンセサイザであって、前記書き込むための手段 が、さらに、前記1つ以上のアキュムレータのそれぞれをクリアする機能を持つ シンセサイザ。 144. (a)前記シンセサイザにより作成されるデジタル音声信号を蓄積するため の1つ以上のアキュムレータと、 (b)前記1つ以上のアキュムレータにより蓄積されるデジタル音声信号を記憶す るための一時記憶装置と、 (c)前記一時記憶装置に記憶される前記デジタル音声信号を外部wavetableに書き 込むための手段と、 (d)前記信号が、前記書き込むための手段により前記外部メモリに書き込まれた 後の選択時に、前記外部wavetableから前記デジタル音声信号を読み取るための 手段と、を 具備する遅延ベース効果を作り出すことができるデジタルwavetable音声シンセ サイザ。 145. 請求項144に記載されるシンセサイザであって、前記一時記憶装置がFIFO バッファであるシンセサイザ。 146. 請求項144に記載されるシンセサイザであって、前記書き込むための手段 が、さらに、前記1つ以上のアキュムレータのそれぞれをクリアする機能を持つ シンセサイザ。 147. 請求項145に記載されるシンセサイザであって、前記書き込むための手段 が、さらに、前記1つ以上のアキュムレータのそれぞれをクリアする機能を持つ シンセサイザ。 148. (a)前記シンセサイザにより作成されるデジタル音声信号を蓄積するため の複数のアキュムレータと、 (b)前記複数のアキュムレータにより蓄積されるデジタル音声信号を記憶するた めの一時記憶装置と、 (c)前記一時記憶装置に記憶される前記デジタル音声信号を外部wavetableに書き 込むための手段と、 (d)前記信号が、前記書き込むための手段により前記外部メモリに書き込まれた 後の選択時に、前記外部wavetableから前記デジタル音声信号を読み取るための 手段と、 を具備する遅延ベース効果を作り出す機能を持つデジタルwavetable音声シンセ サイザ。 149. 請求項140に記載されるシンセサイザであって、さらに、 前記複数のアキュムレータの内のどれが、前記シンセサイザにより作成される特 定のデジタル音声信号を蓄積するのかを選択するための手段と、 を具備するシンセサイザ。 150. 請求項148に記載されるシンセサイザであって、前記一時記憶装置が FIFOバッファであるシンセサイザ。 151. 請求項148に記載されるシンセサイザであって、前記書き込むための手段 が、さらに、前記複数のアキュムレータのそれぞれをクリアする機能を持つシン セサイザ。 152. 請求項149に記載されるシンセサイザであって、前記書き込むための手段 が、さらに、前記複数のアキュムレータのそれぞれをクリアする機能を持つシン セサイザ。 153. 請求項150に記載されるシンセサイザであって、前記書き込むための手段 が、さらに、前記複数のアキュムレータのそれぞれをクリアする機能を持つシン セサイザ。 154. デジタルwavetable音声シンセサイザ用の低周波発振器(LFO)ジェネレータ であって、前記シンセサイザが(i)少なくともフレーム時間期間中に複数のデジ タル音声信号を作成かのう出あり、前記複数のデジタル音声信号のそれぞれが、 前記シンセサイザによりアドレス指定されるwavetableデータから作成され、(ii )作成中の前記デジタル音声信号のそれぞれにwavetableデータ・アドレス指定を 設定するアドレス・ジェネレータを具備し、前記LPOジェネレータが、 (a)前期wavetableアドレス指定速度を、生成中の前期デジタル音声信号の内の少 なくとも1つの間、変調するために、前期アドレス・ジェネレータにより使用さ れるLFO変動値を計算するための手段と、 (b)前期LFO変動値を前期アドレス・ジェネレータに提供するための手段と、 (c)前期LFO変動値を定期的に更新するための手段と、 を具備する低周波発振器ジェネレータ。 155. 請求項154に記載されるLFOジェネレータであって、前期LFO変動値の前期 計算および更新が、深度パラメータ、傾斜更新速度パラメータ、周波数パラメー タ、LFO更新速度パラメータ、現在位置パラメータ、および最終位置パラメータ に依存するLFOジェネレータ。 156. 請求項155に記載されるLFOジェネレータであって、前期パラメータが外部 メモリに記憶されるLFOジェネレータ。 157. デジタルwavetable音声シンセサイザ用低周波発振器(LFO)ジェネレータで あって、前期シンセサイザが、(i)少なくともフレーム時間期間中複数のデジタ ル音声信号を 作成する機能を持ち、(ii)作成中の前期デジタル音声信号のそれぞれにボリュー ム構成要素を提供するボリューム・ジェネレータを具備し、前期LPOジェネレー タが、 (a)作成中の前期デジタル音声信号の内の少なくとも1つの間、前期ボリューム 構成要素を変調するために、前期ボリューム・ジェネレータにより使用されるLF O変動値を計算するための手段と、 (b)前期LFO変動値を前期ボリューム・ジェネレータに提供するための手段と、 (c)前期LFO変動値を定期的に更新するための手段と、 を具備する低周波発振器ジェネレータ。 158. 請求項157に記載されるLFOジェネレータであって、前期LPO変動値の前期 計算および更新が、深度パラメータ、傾斜更新速度パラメータ、周波数パラメー タ、LFO更新速度パラメータ、現在位置パラメータおよび最終位置パラメータに 依存するLFOジェネレータ。 159. 請求項158に記載されるLFOジェネレータであって、前期パラメータが外部 メモリに記憶されるジェネレータ。 160. デジタルwavetable音声シンセサイザ用低周波発振器(LFO)ジェネレータで あって、前期シンセサイザが、(i)少なくともフレーム時間期間中、複数のデジ タル音声信号を作成することが可能であり、前期複数のデジタル音声信号のそれ ぞれが、前期シンセサイザによりアドレス指定されるwavetableデータから作成 され、(ii)作成中の前期デジタル音声信号のそれぞれにwavetableデータ・アド レス指定速度を設定するアドレス・ジェネレータを具備し、(iii)作成中の前期 デジタル音声信号のそれぞれにボリューム構成要素を提供するボリューム・ジェ ネレータを具備し、前期LPOジェネレータが、 (a)作成中の前期デジタル音声信号の少なくとも1つの間、前期wavetableアドレ ス指定速度を変調するために、前期アドレス・ジェネレータにより使用されるヴ ィブラートLFO変動値、および作成中の前期デジタル音声信号の少なく とも1つの間、前期ボリューム構成要素を変調するために、前期ボリューム・ジ ェネレータにより使用されるトレモロLFO変動値を計算するための手段と、 (b)前期計算するための手段により計算されたヴィブラートLFO変動値を、前期ア ドレス・ジェネレータに提供し、前期計算するための手段により計算されたトレ モロLFO変動・値を前期ボリューム・ジェネレータに提供するための手段と、 (c)前期計算するための手段により計算されるヴィブラートLPO変動値およびトレ モロLFO変動値を定期的に更新するための手段と、 を具備する低周波発振器ジェネレータ。 161. 請求項160に記載されるLFOジェネレータであって、前期ヴィブラートLPO 変動値およびトレモロLFO変動値の前期計算および更新が、深度パラメータ、傾 斜更新速度パラメータ、周波数パラメータ、LFO更新速度パラメータ、現在位置 パラメータ、および最終位置パラメータに依存するLPOジェネレータ。 162. 請求項161に記載されるLFOジェネレータであって、前期パラメータが外部 メモリに記憶されるLFOジェネレータ。 163. デジタルwavetable音声シンセサイザ用低周波発振器(LPO)ジェネレータで あって、前期シンセサイザが、(i)少なくともフレーム時間期間の間、複数のデ ジタル音声信号を作成することが可能であり、前期複数のデジタル音声信号のそ れぞれが、前期シンセサイザによりアドレス指定されるwavetableから作成され 、(ii)作成中の前期デジタル音声信号のそれぞれにwavetableデータ・アドレス 速度を設定するアドレス・ジェネレータを具備し、前期LFOジェネレータが、 (a)作成中の前期デジタル音声信号の内の1つの選択のための前期wavetableアド レス指定速度を変調するために、前期各時間フレームの間に前期アドレス・ジェ ネレータにより使用されるLFO変動値を計算するための手段と、 (b)前期アドレス・ジェネレータに前期LFO変動値を提供するための手段と、 (c)前期LFO変動値を定期的に更新するための手段と、 を具備する低周波発振器ジェネレータ。 164. 請求項163に記載されるLFOジェネレータであって、前期LFO変動値の 前期計算および更新が、深度パラメータ、傾斜更新速度パラメータ、周波数パラ メータ、LFO更新速度パラメータ、現在位置パラメータ、および最終位置パラメ ータに依存するLFOジェネレータ。 165. 請求項164に記載されるLFOジェネレータであって、前期パラメータが外部 メモリに記憶されるLFOジェネレータ。 166. デジタルwavetable音声シンセサイザ用低周波発振器(LFO)であって、前期 シンセサイザが、(i)少なくとも、フレーム時間期間中複数のデジタル音声信号 を作成する可能であり、(ii)作成中の前期デジタル音声信号のそれぞれにボリュ ーム構成要素を提供するボリューム・ジェネレータを具備し、前期LPOジェネレ ータが、 (a)作成中の前期デジタル音声信号の内の1つの選択のための前期ボリューム構 成要素を変調するために、前期ボリューム・ジェネレータにより使用されるLFO 変調値を各前期時間フレーム中に計算するための手段と、 (b)前期ボリューム・ジェネレータに前期LFO変動値を提供するための手段と、 (c)前期LFO変動・値を定期的に更新するための手段と、 を具備する低周波発振器ジェネレータ。 167. 請求項166に記載されるLFOジェネレータであって、前期LFO変動値の前期 計算および更新が、深度パラメータ、傾斜速度パラメータ、周波数パラメータ、 LFO更新速度パラメータ、現在位置パラメータ、および最終位置パラメータに依 存するLFOジェネレータ。 168. 請求項167に記載されるLFOジェネレータであって、前期パラメータが外部 メモリに記憶されるLFOジェネレータ。 169. デジタルwavetable音声シンセサイザ用の低周波発振器であって、前期シ ンセサイザが、(i)少なくとも、フレーム時間期間中複数のデジタル音声信号を 作成することが可能であり、前期複数のデジタル音声信号のそれぞれが、前期シ ンセサイザによりアドレス指定されるwavetableデータから作成され、(ii)作成 中の前期デジタル音声信号のそれぞれにwavetableデータ・アドレス指定速度を 設定するアドレス・ジェネレータを具備し、(iii)作成中の前期デジタル音声信 号のそれぞれにボリューム構成要素を提供するボリュームジェ ネレータを具備し、前期LFOジェネレータは、 (a)作成中の前期デジタル音声信号の内の1つの選択のための前記wavetableアド レス指定速度を変調するために、前記アドレス・ジェネレータにより使用される ヴィブラートLFO変動値、または作成中の前記デジタル音声信号の内の1つの選 択のための前記ボリューム構成要素を変調するために、前記ボリューム・ジェネ レータにより使用されるトレモロLFO変動値のどちらかを指定されたフレーム時 間期間中に計算するための手段と、 (b)前記計算するための手段により計算されるヴィブラートLFO変動値を、前記ア ドレス・ジェネレータに提供し、前記計算するための手段により計算されるトレ モロLFO変動値を、前記ボリューム・ジェネレータに提供するための手段と、 (c)前記計算するための手段により計算されるヴィブラートLPO変動値およびトレ モロLFO変動値を定期的に更新するための手段と、 を具備する低周波発振器ジェネレータ。 170. 請求項169に記載されるLFOジェネレータであって、前記ヴィブラートLFO 変動値およびトレモロLFO変動値の更新が、深度パラメータ、傾斜更新速度パラ メータ、周波数パラメータ、LFO更新速度パラメータ、現在位置パラメータ、お よび最終位置パラメータに依存するLFOジェネレータ。 171. 請求項170に記載されるLFOジェネレータであって、前記パラメータが外部 メモリに記憶されるLFOジェネレータ。 172. ヴィブラート効果をデジタルwavetable音声シンセサイザにより作成され るデジタル音声信号に追加する方法であって、前記シンセサイザが、少なくとも 、(i)フレーム時間期間中に複数のデジタル音声信号を作成することが可能であ り、前記複数のデジタル音声信号のそれぞれが、前記シンセサイザによりアドレ ス指定されるwavetableデータから作成され、(ii)作成中のデジタル音声信号ご とに、ある種の速度でwavetableデータをアドレス指定することが可能で、 (a)低周波発振器(LFO)変動・値を作成するステップと、 (b)作成中の前記デジタル音声信号の内の少なくとも1つの前記wavetableア ドレス指定速度を前記LFO変動値出変調するステップと、 (c)前記wavetableアドレス指定速度を変調するために使用される前記LFO変動値 を定期的に更新するステップと を構成する方法。 173. 請求項172に記載される方法であって、LFO変動値が、深度パラメータ、傾 斜更新速度パラメータ、周波数パラメータ、LFO更新速度パラメータ、現在位置 パラメータおよび最終位置パラメータから作成される方法。 174. 請求項173に記載される方法であって、さらに、 ステップ(a)以前に外部メモリから前記パラメータを検索するステップと、 を構成する方法。 175. トレモロ効果をデジタルwavetable音声シンセサイザにより作成されるデ ジタル音声信号に追加する方法であって、前記シンセサイザが、(i)少なくとも( i)フレーム時間期間中に複数のデジタル音声信号を作成することが可能で、(ii) 作成中の前記デジタル音声信号のそれぞれにボリューム構成要素を提供すること が可能であり、 (a)低周波発振器(LFO)変動パラメータ値を作成するステップと、 (b)作成中の前記デジタル音声信号の内の少なくとも1つの前記ボリューム構成 要素を、前記LFO変動値で変調するステップと、 (c)前記ボリューム構成要素を変調するために使用される前記LFO変動値を定期的 に更新するステップと、 を構成する方法。 176. 請求項175に記載される方法であって、前記LFO変動値が、深度パラメータ 、傾斜更新速度パラメータ、周波数パラメータ、LFO更新速度パラメータ・現在 位置パラメータおよび最終位置パラメータから作成される方法。 177. 請求項176に記載される方法であって、さらに、 ステップ(a)の前に、外部メモリから前記パラメータを検索するステップと、 を具備する方法。 178. デジタルwavetable音声シンセサイザにより作成されるデジタル音声信号 に、ヴィブラート効果およびトレモロ効果を追加する方法であって、前記 シンセサイザが、少なくとも(i)指定されたフレーム時間期間中に複数のデジタ ル音声信号を作成することが可能であり、前記複数のデジタル音声信号のそれぞ れが、前記シンセサイザによってアドレス指定されるwavetableデータから作成 され、(ii)作成中のデジタル音声信号ごとに、ある種の速度でwavetableデータ をアドレス指定することが可能であり、(iii)作成中の前記デジタル音声信号の それぞれにボリューム構成要素を提供することが可能であり、 (a)ヴィブラート低周波発振器(LFO)変動値およびトレモロLPO変動値を作成する ステップと、 (b)前記デジタル音声信号の内の少なくとも1つの、前記wavetableアドレス指定 速度を、前記ヴィヴラートLFO値で、前記デジタル音声信号の内の少なくとも1 つの前記ボリューム構成要素を、前記トレモロLPO変動値で変調するステップと 、 (c)前記wavetableアドレス指定速度を変調するために使用された前記ヴィブラー トLFO変動値、および前記ボリューム構成要素を変調するために使用された前記 トレモロ値を定期的に更新するステップと、 から構成される方法。 179. 請求項178に記載される方法であって、前記ヴィヴラートLFO変動値および トレモロLFO変動値が、それぞれ、深度パラメータ、傾斜更新速度パラメータ、 周波数パラメータ、LFO更新速度パラメータ、現在位置パラメータ、および最終 位置パラメータから作成される方法。 180. 請求項179に記載される方法であって、 ステップ(a)以前に外部メモリから前記パラメータを検索するステップと、 を構成する方法。 181. デジタルwavetable音声シンセサイザにより作成されるデジタル音声信号 に、ヴィブラート効果およびトレモロ効果を追加する方法であって、前記シンセ サイザが、少なくとも、(i)指定されたフレーム時間期間中に複数のデジタル音 声信号を作成することが可能であり、前記複数のデジタル音声信号のそれぞれが 、前記シンセサイザによりアドレス指定されたwavetableデータか ら作成され、(ii)作成中のデジタル音声信号ごとに、ある種の速度でwavetable データをアドレス指定することが」可能であり、(iii)作成中の前記デジタル音 声信号のそれぞれにボリューム構成要素を提供することが可能出あり、 (a)指定された時間フレーム期間内に、低周波発振器(LFO)へん同値を作成するス テップと、 (b)作成中のデジタル音声信号の前記wavetableアドレス指定速度またはボリュー ム構成要素のどちらかを、前記LFO変動値で変調するステップと、 (c)前記wavetableアドレス指定速度または前記ボリューム構成要素を変調するた めに使用された前記LPO変動値を定期的に更新するステップと、 を構成する方法。 182. 請求項181に記載される方法であり、前記LPO変動値が、深度パラメータ、 傾斜更新速度パラメータ、周波数パラメータ、LFO更新速度パラメータ、現在位 置パラメータ、および最終位置パラメータから作成される方法。 183. 請求項182に記載される方法であり、さらに、 ステップ(a)の前に、外部メモリから前記パラメータを検索するステップと、 を構成する方法。 184. 中央演算処理装置、システム・メモリ、およびシステム内でデータ、制御 信号、およびアドレス信号を転送するためのシステム・バスを具備する型のホス ト・パーソナル・コンピュータに音声拡張機能を提供するためのモノリシック集 積回路であって、前記モノリシック集積回路が、 システム・バスにインタフェースを提供するためのシステム制御モジュールであ って、前記制御モジュールが、さらに、 前記集積回路全体で、システム・バス復号化回路と通信してデータを分散するた めのレジスタ・データ・バスと、 割込み信号制御と、 複数の集積回路制御レジスタ、および内部クロック作成回路および内部クロック 制御回路と、 を具備するシステム制御モジュールと、 デジタル信号を外部装置に送信するためのデジタル出力端子と、 デジタル音声信号を作成するためのデジタルwavetable音声シンセサイザ・モジ ュールであって、さらに、 前記出力端子に合成されたデジタル音声信号を転送するためのデジタル信号転送 回路と、 1つ以上の外部記憶装置から音声信号データを獲得するためのデータ入力回路と 、 を具備するデジタルwavetable音声シンセサイザ・モジュールと、 前記集積回路を外部記憶装置とインタフェースするためのローカル・メモリ制御 モジュールであって、前記メモリ制御モジュールが、前記シンセサイザ・モジュ ールまたは前記システム・バス・インタフェースと外部記憶装置の間でデータを 転送するために前記レジスタ・データ・バスと通信するローカル・メモリ制御モ ジュールと、 を具備するモノリシック集積回路。 185. 請求項184に記載される回路であって、さらに、 ゲーム制御信号を外部装置から受け取るためのアナログ入力回路と、 アナログ入力信号をデジタル信号に変換するためのアナログ・デジタル変換回路 と、 前記レジスタ・データ・バスと前記アナログ入力回路と前記変換回路の間で通信 を実現するためのインタフェース回路と、 を具備するゲーム・ポート・モジュールを具備する回路。 186. 請求項184に記載される回路であって、さらに、前記データ・バスと外部 装置の間でデータ通信を実現するための楽器デジタル・インタフェース・モジュ ールを具備する回路。 187. 請求項184に記載される回路であって、前記ローカル・メモリ制御モジュ ールが、前記集積回路と外部記憶装置の間デのデータ転送をイネーブルするため に、アドレス信号および制御信号を作成するためのメモリ・インタフェース回路 を具備する回路。 188. 請求項187に記載される回路であって、前記メモリ・インタフェース回 路が、外部ランダム・アクセス記憶装置および読取り専用記憶装置とインタフェ ースするための手段を具備する回路。 189. 中央演算処理装置、システム・メモリ、およびシステム内でデータ、制御 信号、およびアドレス信号を転送するためのシステム・バスを具備する型のホス ト・パーソナル・コンピュータに音声拡張機能を提供するためのモノリシック集 積回路であって、前記モノリシック集積回路が、 システム・バスへのインタフェースを提供するためのシステム制御モジュールで あって、前記制御モジュールが、さらに、 前記集積回路全体で、システム・バス復号化回路と通信して、データを分散する ためのレジスタ・データ・バスと、 割込み信号制御と、 複数の集積回路制御レジスタと、内部クロック作成回路と内部クロック制御回路 と、 を具備するシステム制御モジュールと、 デジタル・アナログ信号変換を実現するためのシンセサイザ・デジタル・アナロ グ変換回路であって、前記シンセサイザ・デジタル・アナログ変換回路が、さら に、 アナログ信号を外部装置に送信するためのアナログ出力端子と、 デジタル音声信号を受け取るためのデジタル音声信号入力回路と、 を具備するシンセサイザ・デジタル・アナログ変換回路と、 デジタル音声信号を作成するためのデジタルwavetable音声シンセサイザ・モジ ュールであって、前記シンセサイザ・モジュールが、さらに、 合成されたデジタル音声信号をシンセサイザ・デジタル・アナログ信号変換回路 に転送するためのデジタル信号転送回路と、 音声信号データを1つ以上の外部メモリ・デバイスから獲得するためのデータ乳 六回路と、 を具備するデジタルwavetable音声シンセサイザ・モジュールと、 前記集積回路を外部記憶装置とインタフェースするためのローカル・メモリ制御 モジュールであって、前記メモリ制御モジュールがシンセサイザ・モジュー ル、前記シンセサイザ・デジタル・アナログ変換回路または前記システム・バス ・インタフェース、および外部記憶装置の間でデータを転送するために前記レジ スタ・データ・バスと通信しているローカル・メモリ制御モジュールと、 を具備するモノリシック集積回路。 190. 請求項189に記載される回路であって、さらに、 ゲーム制御信号を外部装置から受け取るためのアナログ入力回路と、 アナログ入力信号をデジタル信号に変換するためのアナログ・デジタル変換回路 と、 前記レジスタ・データ・バスと前記アナログ入力回路と前記変換回路の間で通信 を実現するためのインタフェース回路と、 を具備するゲーム・ポート・モジュールを具備する回路。 191. 請求項189に記載される回路であって、さらに、前記レジスタ・データ・ バスと外部装置の間でデータ通信を実行するために、楽器デジタル・インタフェ ース・モジュールを具備する回路。 192. 請求項189に記載される回路であって、前記ローカル・メモリ制御モジュ ールが、前記集積回路と外部記憶装置の間でのデータ転送をイネーブルするため に、アドレス信号および制御信号を作成するためのメモリ・インタフェース回路 を具備する回路。 193. 請求項192に記載される回路であって、前記メモリ・インタフェース回路 が、外部ランダム・アクセス記憶装置および読取り専用記憶装置とインタフェー スするための手段を具備する回路。 194. (a)シンセサイザ動作の制御パラメータを指定するレジスタ・アレイと、 (b)wavetableアドレス指定手段と、 (c)ボリューム作成手段と、 (d)前記アドレス作成手段および前記ボリューム作成手段に接続される信号経路 手段と、 を具備するデジタルwavetable音声シンセサイザ。 195. 請求項194に記載されるデジタルwavetale音声シンセサイザであって、 さらに、 前記信号経路手段に接続される蓄積手段と、 を具備するデジタルwavetable音声シンセサイザ。 196. 請求項194に記載されるデジタルwavetable音声シンセサイザであって、さ らに、 前記アドレス作成手段および前記ボリューム作成手段に接続される低周波発振器 作成手段と、 を具備するデジタルwavetable音声シンセサイザ。 197. 請求項195に記載されるデジタルwavetable音声シンセサイザであって、さ らに、 前記アドレス作成手段および前記ボリューム作成手段に接続される低周波発振器 作成手段と、 を具備するデジタルwavetable音声シンセサイザ。 198. 請求項194に記載されるデジタルwavetable音声シンセサイザであって、さ らに、前記デジタルwavetable音声シンセサイザをシンセサイザDACにインタフェ ースするための回路を具備するデジタルwavetable音声シンセサイザ。 199. (a)シンセサイザ動作の制御パラメータを指定するレジスタ・アレイと、 (b)wavetableアドレス指定手段と、 (c)ボリューム作成手段と、 (d)前記アドレス作成手段および前記ボリューム作成手段に接続される信号経路 手段と、 (e)前記シンセサイザから出力されるデータを蓄積するための少なくとも1つの 第1アキュムレータ、およびwavetableに書き込まれるデータを蓄積するための 少なくとも1つの第2アキュムレータを具備する、前記信号経路手段に接続され る蓄積手段と、 を具備するデジタルwavetable音声シンセサイザ。 200. 請求項199に記載されるデジタルwavetable音声シンセサイザであって、さ らに、 前記アドレス作成手段および前記ボリューム作成手段に接続される低周波発振器 作成手段と、 を具備するデジタルwavetable音声シンセサイザ。 201. 請求項199に記載されるデジタルwavetable音声シンセサイザであって、さ らに、前記デジタルwavetable音声シンセサイザをシンセサイザDACにインタフェ ースするための回路を具備するデジタルwavetable音声シンセサイザ。 202. (a)前記シンセサイザから出力されるデータを蓄積するための第1アキュ ムレータと、 (b)wavetableに書き込むデータを蓄積するための第2アキュムレータと、 (c)前記第1アキュムレータおよび第2アキュムレータで選択式でデータを蓄積 するための手段と、 を具備するデジタルwavetable音声シンセサイザ用蓄積論理。 203. 請求項202に記載される蓄積論理であって、前記データを選択式で蓄積す るための手段が、前記データの合計が値の範囲外となるときに蓄積されたデータ を削除する機能を備える蓄積論理。 204. (a)前記第1シンセサイザから出力されるデータを蓄積するための第1ア キュムレータと、 (b)wavetableに書き込まれるデータを蓄積するために第2アキュムレータと、 (c)前記第1アキュムレータおよび第2アキュムレータでデータを選択式で蓄積 するための手段と、 を具備するデジタルwavetable音声シンセサイザ用蓄積論理。 205. 請求項204に記載される蓄積論理であって、前記第1アキュムータが、ス テレオ左出力データを蓄積するための左アキュムレータおよびステレオ右出力デ ータを蓄積するための右アキュムレータを具備する蓄積論理。 206. 請求項204に記載される蓄積論理であって、データを選択式で蓄積するた めの前記手段が、前記データの合計が値の範囲外にあるときに、蓄積されたデー タを削除する機能を備える蓄積論理。 207. (a)前記シンセサイザから出力されるデータを蓄積するための第1アキュ ムレータと、 (b)wavetableに書き込まれるデータを蓄積するための第2アキュムレータと、 (c)前記第1アキュムレータおよび第2アキュムレータにデータを選択式で蓄積 するための手段と、 を具備するデジタルwavetable音声シンセサイザ用蓄積論理。 208. 請求項207に記載される蓄積論理であって、前記第1アキュムレータがス テレオ左出力データを蓄積するための左アキュムレータと、ステレオ右出力デー タを蓄積するための右アキュムレータを具備する蓄積論理。 209. 請求項207に記載される蓄積論理であって、データを選択式で蓄積する前 記手段に、前記データの合計が値の範囲外にあるときに、蓄積されたデータを削 除する機能を備える蓄積論理。 210. 請求項208に記載される蓄積論理であって、データを選択式で蓄積する前 記手段に、前記データの合計が値の範囲外にあるときに、蓄積されたデータを削 除する機能を備える蓄積論理。 211. (a)前記シンセサイザから出力されるデータを蓄積するための第1蓄積手 段と、 (b)wavetableに書き込まれるデータを蓄積するための第2蓄積手段と、 (c)前記第1蓄積手段および第2蓄積手段に選択式でデータを蓄積するための手 段と、 を具備するデジタルwavetable音声シンセサイザ用蓄積論理。 212. 請求項211に記載される蓄積論理であって、データを選択式で蓄積する前 記手段に、前記データの合計が値の範囲外にあるときに、蓄積されたデータを削 除する機能を備える蓄積論理。[Claims] 1. Data and control signals within the central processing unit, system memory, and system Including a processor-accessible bus for transferring signal and address signals. For providing audio enhancements to personal computers A monolithic integrated circuit, wherein the monolithic integrated circuit comprises: A system control module that provides an interface to a bus accessible by the processor. Jules, Achieve analog-to-digital and digital-to-analog signal conversion. A coding and decoding module for coding, said coding and decoding module. But also An analog signal for transmitting and receiving analog signals between an external source and the destination. A log input circuit and an analog output circuit, Data for transmitting and receiving digital audio data to and from the system control module. A digital audio input circuit and a digital audio output circuit; Digital audio signal synthesizer module for creating digital audio signals When, A coding decoding module comprising: A monolithic integrated circuit comprising: 2. The integrated circuit according to claim 1, wherein the control module further comprises: Distribute data across the integrated circuit, communicating with each of the modules A register data bus for An integrated circuit comprising: 3. The integrated circuit according to claim 2, wherein the register data bus comprises: further, Provides data, control, and address connections to a processor-accessible bus Integrated circuit having an external bus interface circuit for the same. 4. The integrated circuit according to claim 1, wherein the system control module comprises: further, An interrupt circuit for creating and managing processor interrupt signals according to circuit requirements; An integrated circuit comprising: 5. The integrated circuit according to claim 1, wherein the system control module comprises: further, Request and acknowledge signals for direct memory access depending on circuit requirements A direct memory access circuit for creating and managing An integrated circuit comprising: 6. The integrated circuit according to claim 1, wherein the system control module comprises: further, Data bits, control bits and switches that reflect or control various circuit operations A plurality of integrated circuit control registers for storing status bits; An integrated circuit comprising: 7. The integrated circuit according to claim 1, wherein the system control module comprises: Further, an external oscillator for receiving an input signal and providing an output circuit clock signal. An integrated circuit having an internal clock circuit. 8. The integrated circuit according to claim 7, wherein the internal clock circuit further comprises: A clock stabilizing circuit, wherein the stabilizing circuit has a deteriorated external oscillator signal. A means for disabling the circuit clock signal during a period of time. Product circuit. 9. The integrated circuit according to claim 8, wherein the clock stabilizing circuit is an external circuit. Detects the state of the oscillator signal and creates a clock control signal that indicates the state of the external oscillator signal. An oscillator stabilizing circuit for The clock control to enable or disable a circuit clock signal. A clock control circuit adapted to respond to control signals, An integrated circuit comprising: 10. The integrated circuit according to claim 1, wherein said synthesizer module. But also Transferring the synthesized digital audio data to the coding / decoding module A digital signal transfer circuit for An integrated circuit comprising: 11. The integrated circuit according to claim 1, wherein the synthesizer comprises: Means for creating digital voice data for a plurality of voices; Means for combining the digital data of the audio into a composite digital audio signal; A plurality of programmable synthesizer audio control registers; To change the frequency of each audio in response to the state of the programmable register Means, An integrated circuit comprising: 12. The integrated circuit according to claim 1, wherein said synthesizer module. But also A data input circuit for obtaining audio signal data from an external source; An integrated circuit comprising: 13. 13. The integrated circuit according to claim 12, wherein the synthesizer module is And a memory circuit for temporarily storing digital audio data. Integrated circuit. 14. The circuit of claim 1, further comprising: A game port module, wherein the game port module has a game port module. An analog input circuit for receiving a frame control signal from an external device; Analog-to-digital converter for converting analog input signals to digital signals When, A circuit comprising: 15. The circuit of claim 1, further comprising a circuit between the circuit and an external device. Instrument digital interface module for providing data communication Circuit to do. 16. The circuit of claim 1, further comprising: Local memory for directly interfacing the integrated circuit with an external storage device A control module; A circuit comprising: 17. The circuit of claim 16, wherein the local memory control module is To enable data transfer between the integrated circuit and an external storage device. A memory interface circuit for creating address and control signals Circuit to be equipped. 18. The circuit according to claim 17, wherein the memory interface circuit is Interface between external random access storage and read-only storage A circuit comprising means for: 19. The circuit according to claim 18, wherein the local memory control module The independent storage cycle for random or read-only access. Logic circuit for defining, and the integrated circuit and the external storage device on a common conductor With control circuitry for multiplexing address, control, and data communication between Circuit. 20. The circuit according to claim 17, wherein the memory interface circuit is ,further, Serial data communication circuit for receiving serial data from external storage device And a logic circuit for generating a control signal in the external storage device. 21. The circuit of claim 17, wherein the local memory control module But also A selected module of the integrated circuit is allowed access to an external storage device. Circuit with a state machine to define and control the time period in which 22. The circuit according to claim 21, wherein said system control module comprises: Memory access mode control to create one or more memory mode control signals A control register and a mode control signal generating circuit, wherein the state machine has an extended mode. An extended time period of access to an external storage device in response to a load control signal Circuit with a logic circuit for creating a delay state for 23. The circuit according to claim 17, wherein the memory interface circuit is For generating a refresh signal on an external dynamic random access storage device A circuit with a path. 24. The circuit of claim 23, wherein the integrated circuit conserves energy. And a register-controlled power-down signal generation circuit, The power of the fresh circuit to provide a refresh signal at reduced speed A circuit including a logic circuit corresponding to the down signal; 25. The circuit according to claim 17, wherein the memory interface circuit is , Start address and end address of a block of memory provided in the external storage device. Address definition register to define the address and the beginning of the defined block Automatic address generation circuit for generating a continuous address signal from end to end circuit. 26. The circuit of claim 17, wherein the local memory control module Is An interrupt circuit for generating an interrupt request signal in the host system processor; , Means for receiving data from the host memory; Means for transferring the received data to an external storage device; A circuit comprising: 27. The circuit according to claim 26, wherein the local memory control module is Is Direct memory access request signal to the central processing unit of the host system Direct memory access means for creating the Data from host system memory under direct memory access control Means for receiving, Means for transferring data from the host system memory to the external storage device; A circuit comprising: 28. The circuit according to claim 27, wherein said direct memory access Means for storing data in the host system memory as the data is stored in the external storage device; A circuit comprising means for interleaving data received from the circuit. 29. The circuit according to claim 17, wherein the memory interface circuit is Enables 8-bit or 16-bit access to external storage A circuit comprising means for performing 30. The circuit of claim 17, wherein the memory interface circuit Address and signal to define the first-in / first-out register of the external storage device. And means for generating control signals. 31. The circuit of claim 2, wherein the register data bus comprises Comprising eight 8-bit data bus elements, wherein the system control module comprises 8-bit or 16-bit I / O access between the integrated circuit and the host system A circuit comprising means for enabling 32. The circuit according to claim 1, wherein an analog signal input / output terminal of the circuit. Is a circuit isolated from digital input / output terminals. 33. The circuit according to claim 1, wherein the system power input terminal and the system power input terminal. A circuit wherein a grounded input terminal is provided to a sensed analog signal terminal of the integrated circuit. 34. The circuit of claim 7, wherein the internal clock circuit is a digital circuit. A digital clock generation circuit for providing a first timing signal to circuit operation; And an analog clock for providing a second timing signal to analog circuit operation. A clock generation circuit, wherein the second timing signal is derived from the first timing signal. An independent circuit. 35. The circuit of claim 1, wherein the integrated circuit comprises a plurality of address fingers. The system control module includes an external processor or Is used to enable direct access to the circuit registers by the control circuit A circuit comprising: 36. The circuit according to claim, wherein said system control module comprises: Buffers input and output signals communicated between the integrated circuit and the processor accessible bus A circuit including a buffering circuit for storing the data in the buffer. 37. The circuit according to claim 36, wherein the buffering circuit comprises the integrated circuit. Subsequent I / O operations between the integrated circuit and the processor accessible bus are buffered. A circuit comprising means for delaying completion of an input / output operation. 38. A stereo audio encoder / decoder (codec) circuit, (a) an analog mixer circuit having a plurality of inputs and outputs, (b) a multi-stage interpolation filter circuit having at least one input and one output, Digital analog with noise shaper circuit and semi-digital FIR filter circuit A conversion circuit, whereby the at least one output is connected to the analog mixer. A digital-to-analog conversion circuit connected to the input of the mixer circuit; (c) a fourth-order sigma-delta modulation circuit having at least one input and one output. Circuit, multi-stage digital decision filter circuit and digital correction circuit A log-to-digital conversion circuit, whereby at least one input is said analog An analog-to-digital conversion circuit connected to the output of the log mixer circuit; (d) at least one input of the digital-to-analog conversion circuit; Data connected to the at least one output of the analog-to-digital conversion circuit A format conversion circuit; (e) a one-chip memory for storing digital audio signals, whereby The data format conversion circuit is connected to the one-chip memory; Data input to or output from the chip memory A one-chip memory for realizing the data compression / decompression operation of With The digital / analog conversion circuit and the analog / digital conversion circuit are independent. Can operate at up to programmable sample rates, Stereo audio encoder / decoder (codec) circuit. 39. The codec of claim 38, further comprising the one-chip memo. Codec having a serial transfer control circuit connected to the 40. The codec of claim 38, further comprising the digital analyzer. Controlling the sample rate at which the log circuit and the analog / digital circuit operate Clock to create an independent clock signal so that you can select Codec with circuit. 41. The codec according to claim 38, further comprising the analog mixer. Amplitude of a signal input to or output from the analog mixer circuit Codec having a zero-crossing detection circuit for controlling an audio signal. 42. The codec of claim 38, further comprising the one-chip memo. Interleave the data coming into the external system memory from the Alternatively, the external system may be used before the data is input to the one-chip memory. .Times. For interleaving interleaved data retrieved from memory A codec with a path. 43. The codec according to claim 39, wherein the serial transfer control circuit comprises an external For providing bi-directional serial data between the DSP and the one-chip memory Check. 44. The codec according to claim 38, further comprising an input and an output. A digital-to-analog conversion circuit, The output of the sizer data digital-to-analog conversion circuit is Codec connected to the input of the mixer. 45. The method of claim 38, further comprising off-chip local memory. A codec, wherein the local memory is connected to the on-chip memory. Codec. 46. The codec of claim 45, wherein the digital data path is Codec that exists between off-chip local memory and external DSP. 47. The codec according to claim 38, further comprising: A codec that provides control signals to an external CD-ROM interface. 48. The codec stored in claim 38, further comprising plugging in. Non-volatile serial memory interface to provide ready-to-use compatibility And the nonvolatile serial memory interface is connected to an external operating system. Codec that communicates with the operating system. 49. The codec of claim 45, wherein the off-chip local A memory providing data to the on-chip memory, the on-chip memory A codec configured as a PIFO to receive data from. 50. The codec of claim 45, wherein the off-chip local The memory is controlled by an on-chip data sample counter and the data Data sample counter has the ability to create system level interrupts. Check. 51. The codec according to claim 38, wherein the input to the mixer is The analog microphone signal is applied to a plurality of other analog inputs to the mixer. Codec summed by log signal. 52. The codec of claim 39, wherein the analog signal passes through the mixer. A path between the input from the digital / analog conversion circuit and the analog / digital Codec that exists between conversion circuits. 53. The codec of claim 38, wherein the analog mixer circuit is Output from the synthesizer digital-analog conversion circuit as an input signal Codec with analog signal. 54. The codec of claim 38, wherein the on-chip memory is a processor. It has a layback path FIFO and a recording path FIFO, each of said FIFOs Create system-level interrupts and / or DMA scheduling Codec with programmable I / O thresholds for 55. The codec of claim 38, wherein the analog mixer circuit is A control for controlling attenuation / gain of at least one of the plurality of mixer outputs. A codec equipped with a programmable master volume control circuit. 56. The codec of claim 41, wherein the zero crossing detection circuit further comprises: Then, a comparator circuit provided in the zero-crossing detection circuit is powered up. Comprising at least one fixed timer for controlling the length of time that it remains Codec. 57. The codec according to claim 40, wherein the clock generation circuit comprises a Selectable clocks for frequencies that change within the first and / or second frequency range A codec that creates a clock signal. 58. The codec of claim 39, wherein the serial data transfer control is performed. The control circuit is configured to control the off-chip local memory and the digital-to-analog conversion circuit. A first digital data loopback path between the off-chip local Between the digital memory and the analog / digital control circuit. Codec with loopback path. 59. The codec according to claim 39, wherein the serial transfer control circuit comprises an external Codec with bi-directional digital data path to external synthesizer DSP. 60. The codec of claim 38, wherein the analog to digital conversion is performed. Circuit, or the digital-to-analog conversion circuit, or both, may be independent A programmable sample rate, wherein said independent programmable sample rate comprises: Within one sample period, the analog-to-digital conversion circuit and the digital Changes can be made without disabling the operation of the analog circuit in the analog converter. Codec. 61. The codec of claim 59, wherein the digital-to-analog conversion is performed. The independent programmable sample rate of the circuit is variable and programmable in approximately 256 steps. A codec that is programmable. 62. The codec of claim 38, further comprising: Implement power management circuitry to allow power to be selected for at least some Codec to be equipped. 63. The codec of claim 45, wherein the off-chip local Local for controlling data transfer operation between a memory and the on-chip memory Codec including a memory control circuit. 64. The codec of claim 38, wherein the codec is 3.3. A slate on whether the unit is operating on volts or 5.0 volts. Equipped with a 3.3 / 5.0 volt detection circuit to provide status information to external systems Codec. 65. Multiple analog inputs and outputs, analog signal mixing, digital A voice control circuit provided with a log conversion circuit and an analog / digital conversion circuit Recording comprising a plurality of analog input signals and an analog-to-digital conversion circuit Signal path, digital input signal and playback signal with digital conversion circuit Route, transfer the converted analog signal from the digital / analog circuit to the output terminal And a playback signal path digital-to-analog conversion circuit Or the recording signal path analog / digital conversion circuit or both. Voice control circuit having a logic control circuit for independently controlling the pulling speed . 66. The codec of claim 59, wherein the digital If the independent programmable sample rate of the analog conversion circuit is more than one A codec that is variable and programmable in steps. 67. Analog input / output, analog signal mixing function, digital / analog conversion circuit, And a voice control circuit having an analog-to-digital conversion circuit. Recording signal path and data comprising an analog input signal of Playback signal path with digital input signal and digital-to-analog conversion circuit Digital audio data sample input to the digital-to-analog conversion circuit On-chip PIPO memory and off-chip local memory for storing And the playback signal path digital / analog conversion circuit and the recording signal Path to independently control the sampling rate of the analog-to-digital converter. An audio control circuit including a logic control circuit. 68. The noise shaper circuit according to claim 38, wherein the noise shaper circuit is a fifth-order sigma-delta transform. Codec with circuit. 69. A one-bit noise shaper circuit, 5th-order delta-sigma converter network with multiple feedback paths So that the n-bit digital signal input to said noise shaper circuit is Is converted to a 1-bit digital output signal, and n exceeds 1, and the noise shaper circuit The noise passband of the path is at least 0.20f, exceeding the signal bandwidth of the noise shaper circuit 1-bit noise shaper circuit. 70. The one-bit noise shaper circuit of claim 69, wherein the circuit comprises: Set the signal transfer function shown below, , In this case X (z) is the digital audio input signal, whereby , In this case, about Wk, A1-5 is the pole positioning feedback coefficient, and B1-2 is the zero positioning feedback coefficient. A 1-bit noise shaper circuit where the feedback coefficient is K1-5 and the digit shifter is K1-5. 71. The one-bit noise shaper circuit of claim 69, wherein the circuit comprises: The noise transfer function is set, Thereby, A1-5 is the pole positioning feedback coefficient, and B1-2 is the zero positioning feedback coefficient. A 1-bit noise shaper circuit where the feedback coefficient is K1-5 and the digit shifter is K1-5. 72. The one-bit noise shaper circuit of claim 69, wherein the one-bit output. A 1-bit noise shaper circuit wherein the signal has a phase variation not exceeding about 0.05 degrees. 73. The one-bit noise shaper circuit of claim 69, wherein the one-bit noise shaper circuit comprises The circuit has a sampling frequency of about 8 KHz for the n-bit digital input signal. When the passband noise edge of about 6 KHz and the n-bit digital input signal One bit with a passband noise edge of about 36 KHz when the sampling frequency is about 48 KHz Noise shaping circuit. 74. The one-bit noise shaper circuit of claim 69, wherein the one-bit noise shaper circuit comprises The circuit has the following zeros and poles, and in this case, and 1-bit noise shaper circuit. 75. The one-bit noise shaper circuit according to claim 70, wherein the digit shifters K1-5 and K1-5 And the following values are set for the feedback coefficient B1-2, k1 = 0.25, k2 = 0.5, k3 = 0.25, k4 = 0.5, and k5 = 0.125, and B1 = -0.039326867, B2 = -0.0149988 1-bit noise shaper circuit. 76. The one-bit noise shaper circuit of claim 71, wherein the digit shifter comprises: Value is set k = 0.5 and k4 = 0.5 1-bit noise shaper circuit. 77. The one-bit noise shaper circuit of claim 69, wherein the fifth-order delta 1-bit sigma conversion circuit network with noise gain factor less than about 1.85 Noise shaping circuit. 78. Noise control of the type with n-bit digital input signal and 1-bit output signal A shaper circuit, (a) a first integrator having an input and an output; (b) a first summing node having a plurality of inputs and outputs; An input of a one adder node is connected to the output of the first integrator and the first adder A first summing node having another input of the node connected to the first feedback signal path; , (c) a second summing node having a plurality of inputs and outputs, wherein said second summing node The output of the one addition node is connected to the input of the second addition node; A second feedback signal path connected to another of said inputs of said second summing node; Nodes and (d) a second integrator having an input and an output, whereby the input is the second A second integrator connected to the output of the two adding node; (e) a third summing node having a plurality of inputs and one output, whereby: The output of the second integrator is connected to one of the inputs of the third summing node; Another of the inputs of the third summing node is connected to a third feedback signal path A third addition node to be (f) a third integrator having an input and an output, wherein the input of the third integrator is Connected to the output of the third summing node, wherein the output of the third integrator is A third integrator connected to the two feedback signal paths; (g) a fourth summing node having a plurality of inputs and one output, whereby An input of the fourth summing node is connected to the output of the third integrator, Another input of the fourth addition node is connected to a fourth feedback signal path. And (h) a fifth summing node having a plurality of inputs and one output, whereby: An input of the fifth summing node is connected to the output of the fourth summing node; Another input of the fifth summing node is connected to a fifth feedback signal path. Arithmetic node, (i) a fourth integrator having an input and an output, whereby the fourth integrator comprises A fourth integrator having the input connected to the output of the fifth summing node; (j) a sixth summing node comprising a plurality of inputs and one output, wherein An input of the sixth summing node is connected to the output of the fourth integrator; Another input of the sixth summing node is connected to a sixth feedback signal path. An addition node, (k) a fifth integrator having an input and an output, whereby the input is the 6 is connected to the output of the summing node, and the output of the fifth integrator is connected to the fifth A fifth integrator connected to the feedback signal path and the one-bit signal output node; , (l) an input summing node having a plurality of inputs and one output, whereby One of the inputs of the input summing node is connected to the n-bit digital input signal. Connected, another input of the input summing node connected to a seventh feedback signal path Wherein the output of the input summing node is connected to the input of the integrator An addition node, A noise shaper circuit comprising: 79. The one-bit noise shaper circuit of claim 69, wherein the noise passband 1-bit noise shaper whose bandwidth exceeds 0.25f and the signal band of the noise shaping circuit circuit. 80.By converting an n-bit digital input signal to a 1-bit digital output So, in this case, n is greater than 1, (a) providing an n-bit digital input signal to a fifth-order sigma-delta conversion circuit; And (b) the noise passband of the sigma-delta network is Extending the signal band beyond at least 0.20f; (c) converting the n-bit input signal into a 1-bit digital output signal through the fifth network; Converting to an issue; How to configure. 81. (a) Multi-stage interpolation filter circuit with multi-bit input and multi-bit output Road and (b) a noise shaper circuit having a multi-bit input and a 1-bit output, The noise shaping input is the multi-bit output from the multi-stage interpolation filter circuit. A noise shaper circuit connected to the output, (c) A semi-digital FIR filter circuit having a digital input and an analog output. Wherein the FIR filter digital input is output from the noise shaper circuit. -A semi-digital FIR filter circuit connected to the bit, A digital-to-analog conversion (DAC) circuit comprising: 82. The DAC circuit according to claim 81, wherein a first stage of the multi-stage interpolation filter is A linear phase FIR filter with input, output, and 2N-1 taps, The first stage converts the frequency of the digital audio signal input to the first stage into the DAC circuit that oversamples the digital audio input signal at twice the sampling rate. 83. The DAC circuit according to claim 82, wherein a second stage of the multi-stage interpolation filter is Comprising a two-phase sinc5 interpolation second stage comprising an input and an output, said second stage input comprising: Connected to the output of the first interpolation stage so that the sinc5 stage Oversampling at 4 times the sampling rate of the digital audio signal input to the interstage The input of the second stage is connected to a first multiplier and a first delay block; An output of the first delay block is input to a second delay block and a second multiplier, An output of the second delay block is input to a third multiplier, and the first multiplier performs a first process. Path, the second multiplier is in a second processing path, and the third multiplier is in a third path. And the first processing path, the second processing path, and the third processing path operate in parallel. The output of the first processing path is the output of the second processing path in a first summing node. And the output of the third processing path and the output of the second processing path are The oversampler at the output of the second stage is summed at the Sampled selectively between the output of the summing node and the second summing node; A DAC circuit for outputting the sample thus selected to said output. 84. The DAC circuit of claim 83, wherein a third stage of the multi-stage interpolation filter is , A third stage of sinc2 interpolation with inputs and outputs, said third stage output comprising said sin c5 is connected to the output of the second stage so that the third stage of the sinc2 is The output is 64 times the sampling rate of the digital audio signal input to the first interpolation stage. Oversampled by a factor of two and the third stage input Input to the first summing node, and the output of the double delay block is negative. Is input to the first addition node, and the output of the first addition node is Input to the single delay block, input to the second addition node, and The output of the lock is input to the second addition node, and the output of the second addition node is Connected to an oversampler, wherein the oversampler is an output of the second summing node. Are sampled by a selection formula, and each of the selected samples is added to the third addition node. Input to the input of the third summing node at 16 times the clock speed of the third summing node. The output of the second independent delay block is input to the second independent delay block. The force is not only fed back to the input of the third DAC output from the third stage as a bar-sampled signal. 85. The DAC circuit according to claim 82, wherein the linear phase FIR filter first stage. Further comprises a two-phase filter, wherein the first-phase sub-filter is preceded by an odd number of coefficients. Create an odd number of signal samples by multiplying the digital audio input signal A second phase sub-filter multiplies the digital audio input signal by an even number of coefficients Thereby creating an even number of signal samples, whereby the sub-filters DAC circuit to run on. 86. The DAC circuit according to claim 81, wherein the noise shaper circuit is a fifth-order sigma. -A DAC circuit including a delta conversion circuit. 87. The DAC circuit according to claim 86, wherein said fifth-order sigma-delta converter circuit The following signal transfer function is set to , Where X (z) is the digital audio input signal, and , In this case Wk A1-5 is the pole positioning feedback coefficient and B1-2 is the zero positioning feedback coefficient. DAC circuit with feedback coefficient and K1-5 as digit shifter. 88. The DAC circuit according to claim 81, wherein the noise shaper circuit is an integrated circuit of the circuit. A DAC circuit that extends the noise passband to at least about 0.7f. 89. The DAC circuit according to claim 81, wherein the noise shaper circuit comprises a noise passband. A DAC circuit that extends the range to at least about 0.70f. 90. The DAC circuit of claim 81, wherein the noise shaper circuit comprises the shaper. DAC circuit that extends the noise pass band of the circuit to about 0.75f. 91. The DAC circuit according to claim 86, wherein the fifth-order sigma-delta conversion circuit is provided. The following noise transfer function is set, Thereby, , In this case Wk A1-5 is the pole positioning feedback coefficient, and B1-2 is the zero positioning feedback coefficient. A DAC circuit with the feedback coefficient and K1-5 as the digit shifter. 92.   82. The DAC circuit of claim 81, wherein the noise shaper circuit comprises five products. A fifth-order sigma-delta network comprising a divider, Two of the integrators have the same value as the other two digit shifter coefficients of the integrator. C circuit. 93.   83.The DAC circuit of claim 81, wherein the noise shaper circuit comprises about 1. 85 to 5th order sigma delta network with lower noise gain factor (K) set DAC circuit. 94.   The DAC circuit according to claim 81, wherein the semi-digital FIR filter comprises: (a) Clock input, 1-bit digital audio signal input, and multiple data output A shift register with a flip-flop; (b) a plurality of current sinks; (c) a plurality of DC offset current sources; (d) a first current adding operational amplifier and a second current adding operational amplifier, wherein the current Summing amplifier has voltage output node and positive and negative input nodes The negative input node for each of the current summing operational amplifiers is the DC offset current Connected to different nodes of source and selectively connected to one of the current sinks The positive input of each current summing operational amplifier. A node is connected to a reference voltage and a first resistor is connected to the first current summing operational amplifier. A second resistor connected between the current summing node and the voltage output node; 2 A connection is made between the current summing node and the voltage output node on the current summing operation amplifier. The voltage at each of the voltage output nodes of the current summing operational amplifier is The current selectively connected to the current summing node for each current summing operation amplifier; A first current adding operational amplifier and a second current adding operational amplifier related to the value of the sink; , (e) With a single-ended voltage output node and positive and negative voltage input nodes An operational amplifier, wherein said negative voltage input node is connected to said first and second terminals through a third resistor. Or the second current summing operational amplifier is connected to the voltage output node, and the positive voltage input Is connected to the voltage output node of the other current summing operation amplifier through a fourth resistor. A fifth resistor is connected to the reference voltage, and a sixth resistor is connected to the negative voltage input node. And the single-ended voltage output node. The voltage on the output node is the current for each of the current summing operational amplifiers. An operational amplifier related to the value of the current sink selectively connected to a summing node; DAC circuit comprising: 95.   A method of converting an n-bit digital signal to an analog signal, (a) inputting the n-bit signal to a multi-stage interpolation circuit filter circuit; (b) converting the input n-bit digital signal into a sample rate of the n-bit signal Interpolating 64 times of (c) outputting the interpolated signal to a noise shaper circuit; (d) converting the interpolated signal to a 1-bit output signal; (e) inputting the 1-bit output signal to a semi-digital FIR filter circuit; (f) converting the 1-bit signal to an analog output signal; How to configure. 96.   A method for converting an n-bit digital audio signal to an analog audio signal, , (a) inputting the n-bit audio signal to a three-stage interpolation circuit filter circuit; (b) converting the input n-bit digital signal of the first stage interpolation circuit to the n-bit Interpolating to twice the sample rate of the digital audio signal; (c) outputting the first-stage interpolation signal to a second-stage interpolation circuit; (d) the first-stage interpolation signal is four times the sampling rate of the n-bit digital audio signal Interpolating between (e) outputting the second-stage interpolation signal to a third-stage interpolation circuit; (f) The second-stage interpolation signal is set to 64 of the sample rate of the n-bit digital audio signal. Interpolating twice, (g) outputting the third stage interpolation signal to a 1-bit noise rectifier circuit; (h) converting the third stage interpolation signal to a 1-bit signal; (i) outputting the 1-bit signal to a semi-digital FIR filter circuit; (j) converting the 1-bit signal to an analog audio output signal; How to configure. 97.   The method of claim 96, wherein the first interpolator is a linear phase FIR filter. A method that includes ruta. 98.   97. The method according to claim 96, wherein the second stage interpolator is a sinc5 filter. A method comprising: 99.   97. The method according to claim 96, wherein the third interpolator includes a sinc2 filter. How to prepare. 100.   95. The DAC circuit according to claim 94, wherein a first capacitor is the first resistor. DAC connected in parallel with a resistor and a second capacitor connected in parallel with the second resistor circuit. 101.   The method of claim 96, further comprising: (k) low-pass filtering the analog audio output signal; How to configure. 102.   (a) a multi-bit digital input; (b) a first multiplexer having a plurality of inputs and one output, wherein the first multiplexer has A digital input signal is connected to one of the inputs of the first multiplexer. One multiplexer, (c) a first adder comprising a plurality of inputs and one output, wherein the first adder A first adder having a multiplexer output connected to one of the plurality of first adders; (d) a shift register having an input and an output, wherein the output of the first adder is A shift register whose input is connected to the shift register input; (e) a second adder having a plurality of inputs and one output, wherein A second adder having a register output connected to one of the plurality of second adder inputs; With The output of the second adder is provided to the output quantizer as a 1-bit digital output signal. Sigma-delta modulation circuit for digital-to-analog conversion (DAC) circuit provided. 103.   (a) output from the first serial configuration of the digital input circuit and the data register; A first device for selecting between signals to be selected, wherein the selected signal is a first adder. A first device provided to the calculator; (b) a field provided to the first adder that is summed with the selected signal. The feedback signal and the selection coefficient value, (c) an output of the first adder that is approximated before being provided to a second adder; (d) between one of the two signals output from the second serial configuration of the data register; A second selection device for selecting at one of the two signals, wherein one of the two selected signals is A second sum provided to the second adder summed with the estimated first adder output signal. A selection device; With A 1-bit output signal is output from the second adder; To convert a multi-bit digital input signal to a 1-bit digital output signal Digital sigma-delta modulation circuit. 104.   104. The modulation circuit of claim 103, wherein the output of the second adder is quantized. Modulation circuit provided to the instrument. 105.   The modulation circuit according to claim 104, wherein the quantizer is a flip-flop. A modulation circuit having a flip-flop. 106.   (a) a multi-bit input signal; (b) a first group of data registers connected in series; (c) a second group of data registers connected in series; (d) the multi-bit digital input signal and the serially connected data A first register for selecting between output signals from the last register of the first group of registers; A multiplexer, wherein the signal selected by the first multiplexer is a first multiplexer. A first multiplexer provided to the input of the adder; (e) the last register of the second group of the serially connected data registers Output signals and the serially connected data registers in the second group of data registers. A second multiplexer for selecting between output signals from the intermediate register, The signal selected by the second multiplexer is provided to an input of a second adder And The output of the first adder is approximated and then provided to another input of the second adder , The output of the second adder is output as a 1-bit digital output signal to an output quantizer. Provided, A second multiplexer; Oversampling digital sigma digital Luther modulation circuit. 107.   107. The sigma-delta modulation circuit according to claim 106, wherein the quantizer Is a sigma-delta modulation circuit having a flip-flop. 108.   The sigma-delta modulation circuit according to claim 106, further comprising: An input selectively connected to a first or second data register; Dell with coefficient decoding circuit having an output connected to another input of the detector Modulation circuit. 109.   107. The sigma-delta modulation circuit according to claim 106, wherein the second addition is performed. The output of the device is also the first in the second group of data registers connected in series. A sigma-delta modulation circuit provided in one register. 110.   107.The sigma-delta modulation circuit according to claim 106, wherein the 1-bit After the digital output signal is multiplied by the 1-bit signal by the first coefficient, A first multiplexer that provides the product of said multiplications as an input to a plexer Sigma-delta modulation circuit. 111.   The sigma-delta modulation circuit of claim 110, wherein the sigma-delta modulation circuit is connected in series. The output from the last register of a first group of data registers to be connected The sigma. Signal is also provided as another input to the third multiplexer. Delta modulation circuit. 112.   112. The sigma-delta modulation circuit according to claim 111, wherein the third multiplexer A sigma-delta modulation circuit whose output is provided as an input to a third adder. Road. 113.   107.The sigma-delta modulation circuit of claim 106, wherein the sigma-delta modulation circuit is connected in series. Each of the first and second groups of data registers to be A sigma data modulation circuit including three data registers. 114.   Multi-bit digital input signal is converted to 1- Converting to a bit digital output signal, (a) providing a set of cascaded integration stages; (b) a multi-bit digital input signal and a 1-bit digital Providing an output signal; (c) quantizing the 1-bit digital output signal; (d) multiplying the quantized 1-bit output signal by a plurality of filter coefficients. And (e) The nodes discarded between the individual collection stages in the set of integration stages Providing a plurality of calculated coefficients; How to configure. 115.   115.The method of claim 114, wherein said multiplying comprises 1-bit The method achieved by multiplication. 116.   Converts a multi-bit digital input signal to a 1-bit digital output signal Method (a) Multi-bit digital input signal, 1-bit digital output signal, and multiple A sigma-delta modulator circuit filter comprising a set of adders The set computing the sum of the two data terms; (b) the sum of two data terms calculated by each of the set of addresses; Estimating, (c) dividing the third data term by the approximation of each two data terms of the set of adders; Adding the calculated sum; How to configure. 117.   117. The method of claim 116, wherein the collection of at least one said adder. The step of estimating the sum by shifting the two data terms How to be. 118.   The method of claim 116, further comprising the 1-bit digital A method comprising the step of quantizing an output signal. 119.   119. The method of claim 118, further comprising at least one fill. The quantized 1-bit with at least one filter coefficient to create a data product. And multiplying the digital output signal by a digital signal. 120.   120. The method according to claim 119, wherein at least one of said set of adders. The data terms summed together form at least one of the filter products Way. 121.   The method of claim 116, further comprising: (d) providing at least one additional single adder; (e) adding the feedback filter coefficient to the sigma-delta modulation circuit filter Multiplying by the data feedback term output from the included integration stage Calculating the filter product with at least one additional single adder, How to configure. 122.   Using a digital sigma-delta modulator, multi-bit digital A method of converting an input signal into a 1-bit digital output signal, (a) inputting the multi-bit digital input signal; (b) output from the first group of data registers connected in series with the input signal; Selecting between the signals to be applied; (c) adding the selected signal to a feedback signal; (d) estimating the summed signal; (e) transferring the estimated signal to a second group of data registers connected in series; Adding with a first selection signal output from (f) the estimated signal and a first selection signal from the sigma-delta modulation circuit Outputting the sum of the two as a 1-bit digital output signal. how to. one two Three.   115. The method of claim 114, further comprising the serially connected data. A signal output from the data register and a signal in the second group of the data register. Selecting between signals output from an intermediate register of the Out of a second group of said serially connected data registers summed with signals. Providing the selected signal as the signal to be applied. Law. 124.   The method of claim 115, further comprising: selecting the selected coefficient value. A method comprising summing a selection signal and said feedback signal. 125.   126. The method of claim 125, wherein the estimating step comprises: A method achieved by shifting the measured select signal by a minimum of two bits. 126.   (a) a plurality of integration stages with a filter output, (b) a multi-bit digital input input to a first integration stage of the plurality of integration stages; A force signal, The filter output is input to a quantizer, the quantizer comprising an output, The quantizer output comprises a 1-bit digital output signal; After the 1-bit output signal is multiplied by a filter coefficient, the plurality of integration stages Feedback to each of the A multi-bit digital input signal, A digital sigma-delta modulation circuit filter comprising: 127.   Digital wavetable audio to create digital delay-based audio effects A method of using a synthesizer, (a) Create a first digital audio signal from data stored in an external wavetable memory Tep, (b) storing the first digital audio signal in the synthesizer; (c) writing the first digital audio signal from the synthesizer to the wavetable memory And the steps involved (d) upon selection after step (c), the first digital sound from the wavetable memory; Reading a voice signal; (e) from the first digital audio signal read from the wavetable memory, Creating a second digital audio signal representing a delayed version of the first digital audio signal Steps and how to configure. 128.   The method of claim 127, further comprising: The first digital audio signal, the second digital audio signal, or the first digital audio signal; Multiplying both the audio signal and the second digital audio signal by a volume component Steps and How to configure. 129.   The method of claim 127, further comprising: Repeating steps (a)-(e) as desired; How to configure. 130.   The method of claim 129, further comprising: Each time steps (a)-(e) are repeated, use LFO creation means to Changing the selection time; How to configure. 131.   Digital wavetable audio synth to create delay-based audio effects A method of using a sizer, (a) Create a first digital audio signal from data stored in an external wavetable memory Steps (b) storing the first digital audio signal in the synthesizer; (c) writing the first digital audio signal from the synthesizer to the wavetable memory; And the steps involved (d) upon selection after step (c), the first digital sound from the wavetable memory; Reading a voice signal; (e) a first delay from the first digital audio signal read from the wavetable memory; Creating a post-based digital audio signal; (f) storing the first delay-based digital audio signal in the synthesizer; And (g) the first delay-based digital from the synthesizer to the wavetable memory; Writing an audio signal; (h) upon selection after step (g), the first delay base from the wavetable memory; Reading an audio signal; (i) the first delay-based digital audio signal read from the wavetable memory; Generating a second delay-based audio signal from the signal; How to configure. 132.   132. The method of claim 131, wherein the first delay-based audio signal is Before being written to the wavetable memory, the delay-based audio signal is The method by which the components are multiplied. 133.   Digital wavetable synthesizer to create delay-based sound effects The method of using (a) Create a first digital audio signal from data stored in an external wavetable memory Steps (b) storing the first digital audio signal in the synthesizer; (c) writing the first digital audio signal from the synthesizer to the wavetable memory; And the steps involved (d) upon selection after step (c), the first digital sound from the wavetable memory; Reading a voice signal; (e) a first delay from the first digital audio signal read from the wavetable memory; Creating a post-base digital audio signal; (f) If the last step was step (e), the synthesizer Step of storing one-delay-based audio signal or repeating steps (f)-(i) If it has been created before the last time it was created in step (i) on the synthesizer. Storing a subsequent delay-based audio signal; (g) the synthesizer of step (f) from the synthesizer to the wavetable memory; Writing the delay-based digital audio signal stored in the (h) at the time of selection after step (g), from the wavetable memory, reading the delay-based audio signal stored in a wavetable memory; (i) from the delay-based audio signal read from the external memory of step (h) Creating a subsequent delay-based audio signal; (j) repeating steps (f)-(i) as desired; How to configure. 134.   A method according to claim 133, wherein prior to step (f), step (f) Wherein said delay-based audio signal stored in said synthesizer is a volume component Multiplied by. 135.   The method of claim 133, further comprising: Each time steps (f)-(i) are repeated, use LFO creation means to Changing the selection time; How to configure. 136.   (a) for storing a digital audio signal created by the synthesizer Storage device; (b) writing the digital audio signal stored in the storage device to an external wavetable Means for (c) the signal is written to the external memory by the writing means; After reading the digital audio signal from the external wavetable at the time of selection Means, Digital wavetable audio synth with the ability to create delay-based effects with Siza. 137.   139. The synthesizer according to claim 136, wherein the storage device is one or more. Wherein the means for writing comprises an accumulator from the accumulator. A synthesizer that writes digital audio signals to external memory. 138.   The synthesizer according to claim 136, further comprising: the storage device; To interface between the external wavetables and write to the external device, Temporarily storing said digital audio signal from said storage device of said means for writing Synthesizer with FIFO buffer to store. 139.   139. The synthesizer according to claim 138, wherein said storage device is one or more. Synthesizer comprising the accumulator of the above. 140.   139. The synthesizer according to claim 136, wherein said means for writing However, a synthesizer further having a function of clearing the storage device. 141.   140. The synthesizer according to claim 137, wherein said means for writing Has the function of clearing each of the one or more accumulators Synthesizer. 142.   139. The synthesizer according to claim 138, wherein said means for writing However, a synthesizer having a function of clearing the storage device. 143.   140. The synthesizer according to claim 139, wherein said means for writing. Has the function of clearing each of the one or more accumulators Synthesizer. 144.   (a) for storing digital audio signals created by the synthesizer One or more accumulators of (b) storing the digital audio signal accumulated by the one or more accumulators; A temporary storage device for (c) writing the digital audio signal stored in the temporary storage device to an external wavetable Means for (d) the signal is written to the external memory by the means for writing At a later time, for reading the digital audio signal from the external wavetable. Means and Digital wavetable audio synth that can create delay-based effects Siza. 145.   The synthesizer according to claim 144, wherein the temporary storage device is a FIFO. A synthesizer that is a buffer. 146.   148. The synthesizer according to claim 144, wherein said means for writing Has the function of clearing each of the one or more accumulators Synthesizer. 147.   148. The synthesizer according to claim 145, wherein said means for writing Has the function of clearing each of the one or more accumulators Synthesizer. 148.   (a) for storing digital audio signals created by the synthesizer Multiple accumulators, (b) storing digital audio signals accumulated by the plurality of accumulators; A temporary storage device for (c) writing the digital audio signal stored in the temporary storage device to an external wavetable Means for (d) the signal is written to the external memory by the means for writing At a later time, for reading the digital audio signal from the external wavetable. Means, Digital wavetable audio synth with the ability to create delay-based effects with Siza. 149.   The synthesizer according to claim 140, further comprising: Which one of the plurality of accumulators is created by the synthesizer Means for selecting whether to store a fixed digital audio signal, Synthesizer comprising: 150.   The synthesizer according to claim 148, wherein the temporary storage device A synthesizer that is a FIFO buffer. 151.   148. The synthesizer according to claim 148, wherein said means for writing Has a function of clearing each of the plurality of accumulators. The synthesizer. 152.   150. The synthesizer according to claim 149, wherein said means for writing Has a function of clearing each of the plurality of accumulators. The synthesizer. 153.   150. The synthesizer according to claim 150, wherein said means for writing Has a function of clearing each of the plurality of accumulators. The synthesizer. 154.   Low frequency oscillator (LFO) generator for digital wavetable speech synthesizer Wherein said synthesizer comprises: (i) at least a plurality of digital A digital audio signal is generated, and each of the plurality of digital audio signals is Created from wavetable data addressed by the synthesizer, (ii Waveform data addressing for each of the digital audio signals being created An address generator for setting, wherein the LPO generator comprises: (a) Reduce the wavetable addressing speed of the previous digital audio signal Used by the address generator to modulate for at least one Means for calculating the LFO variation value to be calculated; (b) means for providing the LFO change value to the address generator, (c) means for periodically updating the LFO fluctuation value in the previous period; A low frequency oscillator generator comprising: 155.   157. The LFO generator according to claim 154, wherein the LFO change value is in the previous period. Calculations and updates are based on depth, slope update speed, and frequency parameters. Data, LFO update speed parameter, current position parameter, and final position parameter LFO generator that depends on. 156.   157. The LFO generator according to claim 155, wherein the parameter is external. LFO generator stored in memory. 157.   With a low frequency oscillator (LFO) generator for digital wavetable voice synthesizers And the synthesizer is configured to (i) use a plurality of digital Audio signal (Ii) each of the digital audio signals being created has a volume Equipped with a volume generator that provides system components, Is (a) During at least one of the digital audio signals being created, the volume LF used by the volume generator to modulate components O means for calculating the variation value; (b) means for providing the LFO fluctuation value to the volume generator in the previous period; (c) means for periodically updating the LFO fluctuation value in the previous period; A low frequency oscillator generator comprising: 158.   157. The LFO generator according to claim 157, wherein the LPO change value is in the previous period. Calculations and updates are based on depth, slope update speed, and frequency parameters. Data, LFO update speed parameter, current position parameter and final position parameter LFO generator that depends. 159.   158. The LFO generator according to claim 158, wherein the parameter is external. Generator stored in memory. 160.   With a low frequency oscillator (LFO) generator for digital wavetable voice synthesizers And the synthesizer is configured to (i) transmit a plurality of digital signals for at least a frame time period. It is possible to create a digital audio signal, Each created from wavetable data addressed by the previous synthesizer (Ii) add a wavetable data address to each of the digital audio signals Address generator to set the specified speed, and (iii) A volume gage that provides a volume component for each of the digital audio signals Equipped with a generator, and the LPO generator (a) During at least one of the digital audio signals being created, the wavetable address Used by the address generator to modulate the specified speed. Of the digital audio signal during the To modulate the volume component during the first Means for calculating the tremolo LFO variation used by the generator; (b) The vibrato LFO fluctuation value calculated by the means for calculating Provided to the dress generator and calculated by the means for calculating the previous period Means for providing Moro LFO fluctuations and values to the volume generator in the previous period, (c) Vibrato LPO fluctuations calculated by the means for calculating Means for periodically updating the Moro LFO fluctuation value; A low frequency oscillator generator comprising: 161.   160. The LFO generator according to claim 160, wherein the vibrato LPO is Pre-calculation and update of variability and tremolo LFO variability are performed using depth parameter, slope Oblique update speed parameter, frequency parameter, LFO update speed parameter, current position LPO generator depending on parameters and final position parameters. 162.   164. The LFO generator according to claim 161 wherein the parameter is external. LFO generator stored in memory. 163.   With a low frequency oscillator (LPO) generator for digital wavetable voice synthesizers And the synthesizer is configured to (i) provide a plurality of data for at least a frame time period. Digital audio signals can be created. Each is created from a wavetable addressed by the synthesizer , (Ii) a wavetable data address for each of the digital audio signals being created Equipped with an address generator for setting the speed, the LFO generator (a) a wavetable ad for selecting one of the digital audio signals being developed; Address modulation during the previous time frame to modulate the specified speed. Means for calculating the LFO variation value used by the Nerator; (b) means for providing the previous term LFO fluctuation value to the previous term address generator; (c) means for periodically updating the LFO fluctuation value in the previous period; A low frequency oscillator generator comprising: 164.   164. The LFO generator according to claim 163, wherein the LFO variation value is The calculation and update in the previous period are the depth parameter, the slope update speed parameter, and the frequency parameter. Meter, LFO update speed parameter, current position parameter, and final position parameter LFO generator depending on data. 165.   164. The LFO generator according to claim 164, wherein said parameter is external. LFO generator stored in memory. 166.   A low frequency oscillator (LFO) for digital wavetable voice synthesizers, The synthesizer comprises: (i) at least a plurality of digital audio signals during a frame time period; (Ii) volume for each of the digital audio signals being created. Equipped with a volume generator that provides the Data (a) the volume structure for the selection of one of the digital audio signals being created; LFO used by the volume generator to modulate the component Means for calculating a modulation value during each said time frame; (b) means for providing the previous term LFO fluctuation value to the previous term volume generator; (c) means for periodically updating the LFO fluctuations and values in the previous term; A low frequency oscillator generator comprising: 167.   166. The LFO generator according to claim 166, wherein the LFO change value is in the previous period. Calculations and updates include depth parameters, ramp rate parameters, frequency parameters, LFO update speed parameter, current position parameter, and final position parameter LFO generator that exists. 168.   167. The LFO generator according to claim 167, wherein the parameter is external. LFO generator stored in memory. 169.   A low frequency oscillator for digital wavetable audio synthesizers, The synthesizer (i) outputs at least a plurality of digital audio signals during a frame time period. Each of the plurality of digital audio signals can be Created from wavetable data addressed by the synthesizer, and (ii) created Wavetable data addressing speed for each of the middle digital audio signals (Iii) the digital audio signal being created Volume components that provide volume components for each of the The LFO generator is equipped with a (a) the wavetable address for selecting one of the digital audio signals being created; Used by the address generator to modulate the specified speed Vibrato LFO variation or selection of one of the digital audio signals being created The volume generator to modulate the volume component for selection. At the specified frame, one of the tremolo LFO fluctuation values used by the Means for calculating during the interim period; (b) calculating the vibrato LFO fluctuation value calculated by the calculating means; A train provided to the dress generator and calculated by the means for calculating. Means for providing a Moro LFO variation to the volume generator; (c) the vibrato LPO fluctuation value and the train calculated by the calculating means; Means for periodically updating the Moro LFO fluctuation value; A low frequency oscillator generator comprising: 170.   The LFO generator according to claim 169, wherein the vibrato LFO Updating of the fluctuation value and the tremolo LFO fluctuation value is based on the depth parameter and the inclination update speed parameter. Meter, frequency parameter, LFO update speed parameter, current position parameter, LFO generator depending on and final position parameters. 171.   The LFO generator of claim 170, wherein the parameter is external. LFO generator stored in memory. 172.   Vibrato effect created by digital wavetable speech synthesizer A digital audio signal, wherein the synthesizer comprises at least (I) It is possible to create multiple digital audio signals during a frame time period. Each of the plurality of digital audio signals is addressed by the synthesizer. (Ii) The digital audio signal being created is created from the specified wavetable data. At the same time, it is possible to address wavetable data at some speed, (a) creating a low frequency oscillator (LFO) variation and value; (b) at least one of said wavetable elements of said digital audio signal being created; Modulating the dress designation speed to the LFO fluctuation value, (c) the LFO variation value used to modulate the wavetable addressing speed Steps to regularly update How to configure. 173.   172. The method of claim 172, wherein the LFO variation value is a depth parameter, a slope parameter. Oblique update speed parameter, frequency parameter, LFO update speed parameter, current position Method created from parameters and final position parameters. 174.   The method of claim 173, further comprising: Step (a) searching for the parameter from an external memory before, How to configure. 175.   Tremolo effect created by digital wavetable speech synthesizer Digital audio signal, wherein the synthesizer comprises: (i) at least ( i) it is possible to create multiple digital audio signals during the frame time period, and (ii) Providing a volume component for each of the digital audio signals being created Is possible, (a) creating a low frequency oscillator (LFO) variation parameter value; (b) the volume configuration of at least one of the digital audio signals being created Modulating an element with the LFO variation value; (c) periodically changing the LFO variation value used to modulate the volume component Updating to How to configure. 176.   175. The method of claim 175, wherein the LFO variation value is a depth parameter. , Tilt update speed parameter, frequency parameter, LFO update speed parameter A method created from the location parameters and the final location parameters. 177.   The method of claim 176, further comprising: Before step (a), retrieving the parameter from external memory; A method comprising: 178.   Digital audio signal created by digital wavetable audio synthesizer A method of adding a vibrato effect and a tremolo effect, wherein If the synthesizer has at least (i) more than one digital A plurality of digital audio signals. Created from wavetable data addressed by the synthesizer (Ii) for each digital audio signal being created, wavetable data at some speed (Iii) the digital audio signal being created It is possible to provide volume components for each, (a) Create a vibrato low frequency oscillator (LFO) fluctuation value and tremolo LPO fluctuation value Steps and (b) the wavetable addressing of at least one of the digital audio signals Velocity is at least one of the digital audio signals at the Vivrat LFO value. Modulating the two volume components with the tremolo LPO variation value; , (c) the vibler used to modulate the wavetable addressing speed The LFO variation value, and the value used to modulate the volume component Regularly updating the tremolo value; A method consisting of: 179.   178.The method of claim 178, wherein the Vivrat LFO variation value and The tremolo LFO fluctuation values are the depth parameter, the slope update speed parameter, Frequency parameter, LFO update speed parameter, current position parameter, and final Method created from location parameters. 180.   The method of claim 179, wherein Step (a) searching for the parameter from an external memory before, How to configure. 181.   Digital audio signal created by digital wavetable audio synthesizer A vibrato effect and a tremolo effect, wherein the synth The sizer must be able to (i) at least Generating a voice signal, wherein each of said plurality of digital voice signals is The wavetable data addressed by the synthesizer (Ii) wavetable at a certain speed for each digital audio signal being created. Addressing data '' and (iii) said digital sound being created. It is possible to provide a volume component for each of the voice signals, (a) Create a low-frequency oscillator (LFO) equivalency within a specified time frame period. Tep, (b) the wavetable addressing speed or volume of the digital audio signal being created; Modulating one of the system components with the LFO variation value; (c) modulating the wavetable addressing speed or the volume component; Periodically updating the LPO fluctuation value used for; How to configure. 182.   181.The method of claim 181, wherein the LPO variation value is a depth parameter, Tilt update speed parameter, frequency parameter, LFO update speed parameter, current position Method created from the position parameter and the final position parameter. 183.   The method of claim 182, further comprising: Before step (a), retrieving the parameter from external memory; How to configure. 184.   Central processing unit, system memory, and data and control within the system Signal and a host having a system bus for transferring address signals. Monolithic collection to provide audio enhancements to personal computers An integrated circuit, wherein the monolithic integrated circuit comprises: A system control module that provides an interface to the system bus. Thus, the control module further comprises: The entire integrated circuit communicates with the system bus decoding circuit to distribute data. A register data bus for Interrupt signal control, Plurality of integrated circuit control registers, and internal clock generation circuit and internal clock A control circuit; A system control module comprising: A digital output terminal for transmitting a digital signal to an external device, Digital wavetable audio synthesizer module for creating digital audio signals And, furthermore, Digital signal transfer for transferring a digital audio signal synthesized to the output terminal Circuit and A data input circuit for acquiring audio signal data from one or more external storage devices; , A digital wavetable audio synthesizer module comprising: Local memory control for interfacing the integrated circuit with an external storage device A memory control module comprising: the synthesizer module; Or data between the system bus interface and external storage. A local memory control module that communicates with the register data bus for transfer. Jules, A monolithic integrated circuit comprising: 185.   The circuit of claim 184, further comprising: An analog input circuit for receiving a game control signal from an external device; Analog-to-digital converter for converting analog input signals to digital signals When, Communication between the register data bus, the analog input circuit, and the conversion circuit An interface circuit for realizing A circuit comprising a game port module comprising: 186.   184. The circuit of claim 184, further comprising the data bus and an external Instrument digital interface module for realizing data communication between devices Circuit with a rule. 187.   184. The circuit according to claim 184, wherein said local memory control module is To enable data transfer between the integrated circuit and an external storage device. Memory interface circuit for generating address and control signals A circuit comprising: 188.   187. The circuit of claim 187, wherein the memory interface circuit Path interfaces with external random access storage and read-only storage. A circuit comprising means for installing 189.   Central processing unit, system memory, and data and control within the system Signal and a host having a system bus for transferring address signals. Monolithic collection to provide audio enhancements to personal computers An integrated circuit, wherein the monolithic integrated circuit comprises: A system control module to provide an interface to the system bus And the control module further comprises: Communicate with the system bus decoding circuit to distribute data throughout the integrated circuit A register data bus for Interrupt signal control, Multiple integrated circuit control registers, internal clock generation circuit and internal clock control circuit When, A system control module comprising: Synthesizer digital / analog for digital / analog signal conversion A conversion circuit, wherein the synthesizer digital-to-analog conversion circuit further comprises: To An analog output terminal for transmitting an analog signal to an external device, A digital audio signal input circuit for receiving a digital audio signal, A synthesizer digital-analog conversion circuit comprising: Digital wavetable audio synthesizer module for creating digital audio signals Wherein the synthesizer module further comprises: Synthesizer digital-to-analog signal conversion circuit for synthesized digital audio signal A digital signal transfer circuit for transferring the Data milk for obtaining audio signal data from one or more external memory devices Six circuits, A digital wavetable audio synthesizer module comprising: Local memory control for interfacing the integrated circuit with an external storage device Wherein the memory control module is a synthesizer module. The synthesizer digital-to-analog conversion circuit or the system bus The interface and the register for transferring data between the external storage device; A local memory control module in communication with the master data bus; A monolithic integrated circuit comprising: 190.   The circuit of claim 189, further comprising: An analog input circuit for receiving a game control signal from an external device; Analog-to-digital converter for converting analog input signals to digital signals When, Communication between the register data bus, the analog input circuit, and the conversion circuit An interface circuit for realizing A circuit comprising a game port module comprising: 191.   189. The circuit of claim 189, further comprising the register data To implement data communication between the bus and external devices, an instrument digital interface Circuit comprising a source module. 192.   199. The circuit of claim 189, wherein said local memory control module is To enable data transfer between the integrated circuit and an external storage device. Memory interface circuit for generating address and control signals A circuit comprising: 193.   199. The circuit of claim 192, wherein said memory interface circuit Interface with external random access storage and read-only storage A circuit comprising means for performing 194. (a) a register array that specifies control parameters for synthesizer operation; (b) wavetable addressing means, (c) volume creation means, (d) a signal path connected to the address creating means and the volume creating means Means, Digital wavetable speech synthesizer with 195.   A digital wavetale speech synthesizer according to claim 194, further, Storage means connected to the signal path means; Digital wavetable speech synthesizer with 196.   195. A digital wavetable audio synthesizer according to claim 194, wherein: In addition, Low frequency oscillator connected to the address creating means and the volume creating means Creation means, Digital wavetable speech synthesizer with 197.   199. A digital wavetable audio synthesizer according to claim 195, wherein In addition, Low frequency oscillator connected to the address creating means and the volume creating means Creation means, Digital wavetable speech synthesizer with 198.   195. A digital wavetable audio synthesizer according to claim 194, wherein: In addition, the digital wavetable audio synthesizer is interfaced to a synthesizer DAC. Digital wavetable speech synthesizer with circuitry for 199. (a) a register array that specifies control parameters for synthesizer operation; (b) wavetable addressing means, (c) volume creation means, (d) a signal path connected to the address creating means and the volume creating means Means, (e) at least one for storing data output from the synthesizer; A first accumulator, and for storing data written to the wavetable Connected to the signal path means, comprising at least one second accumulator Storage means, Digital wavetable speech synthesizer with 200.   199. A digital wavetable audio synthesizer according to claim 199, comprising: In addition, Low frequency oscillator connected to the address creating means and the volume creating means Creation means, Digital wavetable speech synthesizer with 201.   199. A digital wavetable audio synthesizer according to claim 199, comprising: In addition, the digital wavetable audio synthesizer is interfaced to a synthesizer DAC. Digital wavetable speech synthesizer with circuitry for 202.   (a) a first accumulator for accumulating data output from the synthesizer; Murator, (b) a second accumulator for accumulating data to be written to the wavetable; (c) Data is selectively stored in the first and second accumulators. Means for Storage logic for digital wavetable speech synthesizers with 203.   202. The storage logic of claim 202, wherein said data is stored selectively. Means for storing the data accumulated when the sum of the data is out of the range of values. Storage logic with the ability to delete. 204.   (a) a first algorithm for accumulating data output from the first synthesizer; An accumulator, (b) a second accumulator for storing data written to the wavetable; (c) selectively accumulating data in the first and second accumulators Means for Storage logic for digital wavetable speech synthesizers with 205.   204. The storage logic of claim 204, wherein the first accumulator is Left accumulator and stereo right output data for storing teleo left output data Storage logic with a right accumulator for storing data. 206.   204. The storage logic according to claim 204, wherein the data is selectively stored. Means for storing the accumulated data when the sum of the data is outside the range of values. Storage logic with the ability to delete data. 207.   (a) a first accumulator for accumulating data output from the synthesizer; Murator, (b) a second accumulator for storing data to be written to the wavetable; (c) selectively storing data in the first accumulator and the second accumulator Means for Storage logic for digital wavetable speech synthesizers with 208.   207. The storage logic of claim 207, wherein the first accumulator is a storage logic. Left accumulator for storing teleo left output data and stereo right output data Storage logic with a right accumulator for storing data. 209.   210. The storage logic of claim 207, wherein the data is stored selectively. The storage means deletes the accumulated data when the total of the data is out of the range of the value. Storage logic with the ability to remove 210.   210. The storage logic according to claim 208, wherein the data is stored selectively. The storage means deletes the accumulated data when the total of the data is out of the range of the value. Storage logic with the ability to remove 211.   (a) a first storage means for storing data output from the synthesizer; Steps and (b) second storage means for storing data to be written to the wavetable; (c) means for selectively storing data in the first storage means and the second storage means; Steps and Storage logic for digital wavetable speech synthesizers with 212.   220. The storage logic according to claim 211, wherein data is stored selectively. The storage means deletes the accumulated data when the total of the data is out of the range of the value. Storage logic with the ability to remove
JP8516131A 1994-11-02 1995-11-02 Monolithic PC audio circuit Pending JPH10509544A (en)

Applications Claiming Priority (19)

Application Number Priority Date Filing Date Title
US33446194A 1994-11-02 1994-11-02
US33345194A 1994-11-02 1994-11-02
US08/333,460 US5585802A (en) 1994-11-02 1994-11-02 Multi-stage digital to analog conversion circuit and method
US08/333,536 1994-11-02
US08/334,462 1994-11-02
US08/334,462 US6047073A (en) 1994-11-02 1994-11-02 Digital wavetable audio synthesizer with delay-based effects processing
US08/333,564 1994-11-02
US08/333,536 US5659466A (en) 1994-11-02 1994-11-02 Monolithic PC audio circuit with enhanced digital wavetable audio synthesizer
US08/333,386 1994-11-02
US08/334,461 1994-11-02
US08/333,451 1994-11-02
US08/333,467 1994-11-02
US08/333,467 US5589830A (en) 1994-11-02 1994-11-02 Stereo audio codec
US08/333,564 US5668338A (en) 1994-11-02 1994-11-02 Wavetable audio synthesizer with low frequency oscillators for tremolo and vibrato effects
US08/333,460 1994-11-02
US08/333,386 US5598158A (en) 1994-11-02 1994-11-02 Digital noise shaper circuit
US08/510,139 US5581253A (en) 1995-08-03 1995-08-03 Implementation and method for a digital sigma-delta modulator
US08/510,139 1995-08-03
PCT/US1995/014254 WO1996015484A2 (en) 1994-11-02 1995-11-02 Monolithic pc audio circuit

Publications (1)

Publication Number Publication Date
JPH10509544A true JPH10509544A (en) 1998-09-14

Family

ID=27578814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8516131A Pending JPH10509544A (en) 1994-11-02 1995-11-02 Monolithic PC audio circuit

Country Status (3)

Country Link
EP (1) EP0789868A2 (en)
JP (1) JPH10509544A (en)
WO (1) WO1996015484A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019087809A1 (en) * 2017-10-31 2019-05-09 株式会社村田製作所 A/d converter

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997049189A1 (en) * 1996-06-20 1997-12-24 Advanced Micro Devices, Inc. Fourth order digital noise shaper circuit
US5928342A (en) * 1997-07-02 1999-07-27 Creative Technology Ltd. Audio effects processor integrated on a single chip with a multiport memory onto which multiple asynchronous digital sound samples can be concurrently loaded
US6373954B1 (en) 1997-10-14 2002-04-16 Cirrus Logic, Inc. Single-chip audio circuitry, method, and systems using the same
WO1999020006A2 (en) * 1997-10-14 1999-04-22 Crystal Semiconductor Corp. Single-chip audio circuits, methods, and systems using the same
JP4363721B2 (en) * 1999-11-12 2009-11-11 オリンパス株式会社 Electronic device manufacturing method and electronic device
RU200448U1 (en) * 2020-07-20 2020-10-26 Открытое акционерное общество Омское производственное объединение "Радиозавод имени А.С. Попова" (РЕЛЕРО) DEVICE FOR FORMATION OF DIGITAL COMPLEX STEREO PHONIC SIGNAL
US11522555B1 (en) * 2021-06-14 2022-12-06 Tetramem Inc. Multistage analog-to-digital converters for crossbar-based circuits
US11659329B2 (en) 2021-08-05 2023-05-23 Infineon Technologies Ag Efficient seamless switching of sigma-delta modulators
CN114553616B (en) * 2022-01-12 2023-11-24 广州市迪士普音响科技有限公司 Audio transmission method, device and system of conference unit and terminal equipment
US11804814B1 (en) 2022-04-13 2023-10-31 Stmicroelectronics S.R.L. Noise shaper fader

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4389915A (en) * 1980-12-18 1983-06-28 Marmon Company Musical instrument including electronic sound reverberation
US4570523A (en) * 1981-07-30 1986-02-18 Nippon Gakki Seizo Kabushiki Kaisha Reverberation tone generating apparatus
US4731835A (en) * 1984-11-19 1988-03-15 Nippon Gakki Seizo Kabushiki Kaisha Reverberation tone generating apparatus
US4706291A (en) * 1985-06-25 1987-11-10 Nippon Gakki Seizo Kabushiki Kaisha Reverberation imparting device
US5000074A (en) * 1988-06-23 1991-03-19 Yamaha Corporation Effect imparting device for an electronic musical instrument or the like apparatus
JP2915452B2 (en) * 1989-11-28 1999-07-05 ヤマハ株式会社 Tone generator
WO1991011863A1 (en) * 1990-01-31 1991-08-08 Analog Devices, Inc. Sigma delta modulator
US5061925A (en) * 1990-08-22 1991-10-29 Crystal Semiconductor Corporation Phase equalization system for a digital-to-analog converter utilizing separate digital and analog sections
US5166464A (en) * 1990-11-28 1992-11-24 Casio Computer Co., Ltd. Electronic musical instrument having a reverberation
JPH04329714A (en) * 1991-04-30 1992-11-18 Nec Ic Microcomput Syst Ltd Noise shaver
US5243124A (en) * 1992-03-19 1993-09-07 Sierra Semiconductor, Canada, Inc. Electronic musical instrument using FM sound generation with delayed modulation effect
US5297231A (en) * 1992-03-31 1994-03-22 Compaq Computer Corporation Digital signal processor interface for computer system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019087809A1 (en) * 2017-10-31 2019-05-09 株式会社村田製作所 A/d converter

Also Published As

Publication number Publication date
WO1996015484A3 (en) 1997-02-06
EP0789868A2 (en) 1997-08-20
WO1996015484A2 (en) 1996-05-23

Similar Documents

Publication Publication Date Title
US6272465B1 (en) Monolithic PC audio circuit
US5675808A (en) Power control of circuit modules within an integrated circuit
US5659466A (en) Monolithic PC audio circuit with enhanced digital wavetable audio synthesizer
US6047073A (en) Digital wavetable audio synthesizer with delay-based effects processing
US5668338A (en) Wavetable audio synthesizer with low frequency oscillators for tremolo and vibrato effects
US6246774B1 (en) Wavetable audio synthesizer with multiple volume components and two modes of stereo positioning
US5598158A (en) Digital noise shaper circuit
US5589830A (en) Stereo audio codec
US5585802A (en) Multi-stage digital to analog conversion circuit and method
US5621675A (en) Digital decimation and compensation filter system
US6373954B1 (en) Single-chip audio circuitry, method, and systems using the same
US5579004A (en) Digital interpolation circuit for a digital-to-analog converter circuit
US6665409B1 (en) Methods for surround sound simulation and circuits and systems using the same
US5955691A (en) Software sound source
CN100495532C (en) Musical tone generating method and device
JPH04248593A (en) Digital audio and method and device for simultaneously outputting midi composite music
JPH10509544A (en) Monolithic PC audio circuit
US6064743A (en) Wavetable audio synthesizer with waveform volume control for eliminating zipper noise
WO1996015484A9 (en) Monolithic pc audio circuit
US5809466A (en) Audio processing chip with external serial port
JP2013152477A (en) Electric musical instrument digital interface hardware instruction set
JPH1020860A (en) Musical tone generator
US5194684A (en) Method and apparatus for selective reduction of upper harmonic content in digital synthesizer excitation signals
US5956680A (en) Virtual audio generation and capture in a computer
WO1999020006A2 (en) Single-chip audio circuits, methods, and systems using the same