タイトル:複数のADCユニットを同時に使用した場合のFM4ソフトウェアの検討- KBA227598- Community Translated (JA)

Version 1

    Community Translated by keni_4440091          Version: **

     

    Translation - English: FM4 Software Consideration for Multiple ADC Units used Simultaneously - KBA227598

     

    質問:

    FM4製品で同時に複数のADCユニットを使用するためのソフトウェア検討事項は何ですか?

     

    回答:

    FM4製品には幾つかのタイプの製品があり、一部のFM4製品は製品の内部に複数のADCユニットがあります。これら複数のADCを同時に使うと、複数ADCユニットの間で比較クロック位相を同期する必要があります。比較クロック位相が複数ADCユニット間で同期されなかった場合、下記に示す様に、電源ラインやアナログリファレンス電圧にノイズが回り込む可能性があります。

     

    比較クロック位相同期

    周波数分周比は各々のADCユニットで構成することができ、異なるクロック周波数で動作します。従って、複数のADCユニット間でクロックを同期することは一般的には難しいです。

    ただし、すべてのADCユニットが同じ比較クロック周波数を使用し、かつ同時にA/D変換を動作させる場合、比較クロック位相は同期させることができます。

    これはシステムバスAPB1クロックを、要求されるADC比較クロックに設定する事で実現でき、クロック位相は複数のADCユニット間で同期されます。

    注意として、最初にシステムバスAPB1クロックを設定することが必要で、ADCを初期化します。初期化後、要求された周波数にAPB1クロックを設定します。より詳細な情報は下記のサンプルコードを参照して下さい。

     

    サンプルコード

     

    FM4_CRG-->APBC1_PSR = 0x82; // APB1 clock is set with HCLK divided by 4 (example: HCLK=160MHz then 40MHz)

    ADC_Initialization();      // Initialize ADC (example: the compare CLK: 40MHz)

                               // if ADCEN register is set, ADC divider circuit is worked.

    FM4_CRG-->APBC1_PSR = 0x80; // Example: APB1 is multiplied by 4 (same as HCLK=160MHz)

     

    APB1プリスケーラレジスタ(APB1_PSR)マッピングおよびAPB1バスクロック周波数分周設定を示します。

     

    32ビットマイクロコントローラFM4ファミリペリフェラルマニュアルを参照して下さい。

     

    システムバスAPB1を使用した同期実装の制限

    同期実装はシステムバスAPB1分周比からHCLK1/11/21/4、または1/8と併せて制限されます。例えば、HCLK160MHzの場合、ADC比較クロックは40MHzまたは20MHzになります。

    追記として、ADC比較クロックに低速クロックが必要な場合、コード内にNOP命令を挿入することによりタイミング(クロック位相)を調整することが必要となります。HCLKが低い周波数で設定される場合、HCLKはシステムの全てのクロックであることから、トータルシステムレベルでの影響を考慮する必要があります。