PSoC Creator™ 4.2 Analog Router: PSoC® 4 BLE のデザインを 128k から 256k フラッシュへ移行するとアナログ配置配線が失敗する - KBA222345 - Community Translated (JA)

Version 1

    Community Translated by  Motoo Tanaka        Version: **

     

    Translation - English:  PSoC Creator™ 4.2 Analog Router: Analog Routing Fails in PSoC® 4 BLE Design when moving from 128k to 256k Flash – KBA222345

     

    質問:

    PSoC Creator 4.2 で 128KB フラッシュの PSoC 4 BLE で正常にビルド出来ていたデザインを 256KB フラッシュのものにリターゲットしようとすると (error apr.M0003: Unable to find a solution to the analog routing というエラーで) ビルドに失敗するのはなぜですか? またはなぜ PSoC Creator 4.1 でビルド出来ていた 256K フラッシュ PSoC 4 BLE のデザインが PSoC Creator 4.2 ではビルド出来ないのでしょうか?

     

    回答:

     

    PSoC Creator は有効な配置配線に支障のあるリソース衝突を検出して正しく報告しています。

     

    デジタル制御信号の共有されている方式のため、SAR ポートのデジタル信号ピンとハードウェア シーケンスによるオペアンプの出力が、また逆にオペアンプの出力がデジタル信号インターコネクト (DSI) を通して制御されているときに衝突する可能性があります。衝突の原因に関する詳細は KBA220202 をご参照ください。

     

    128 KB フラッシュの PSoC 4 BLE では、DSI 制御をサポートしているのはオペアンプ 2 と 3 の出力スイッチだけです。256 KB フラッシュのデバイスでは、4つのオペアンプ全てが出力の切り替えに DSI 制御をサポートしています。

     

    256 KB フラッシュの PSoC 4 BLE には下記の制限があります:

    1) ポート 2 のピン 2 (P2[2]) または ポート 2 の ピン3 (P2[3]) はハードウェア ルートのデジタル信号を持ちます、SAR は自動ハードウェア制御シーケンスを使用して対応する P3[2] または P3[3] の信号をスキャンすることが出来ません。

    2) P3[2] または P3[3] のピンがハードウェア ルートのデジタル信号を持つ場合、SAR は自動ハードウェア制御シーケンスを使用して、対応する オペアンプ 0 または 1 の出力をスキャンすることが出来ません。

     

    最初の制限は全ての PSoC 4 BLE に共通で KBA220202 で議論されています。2つめの制限は 256 KB フラッシュのデバイスに特有なものです。

     

    もし DSI に接続されているピンが amux バスに接続された場合、これもピンの DSI 接続を消費します。SoC Creator の 4.2 より前のヴァージョンではこのリソースの衝突を検出することができないバグがあります。それらのヴァージョンではビルドは成功しますが、SAR のあるチャネルの信号が他のチャネルの変換結果に影響を与える状況が発生する可能性があります。

     

    ワークアラウンド:

     

    3つのワークアラウンドが可能です。

    1) ピンをハードウェア ルートデジタル信号に接続されないように P3[2:3] のピンを他のピンに変更する。

    2) SAR に接続されるオペアンプの出力が 2つだけであれば、オペアンプのロケーション 2 と 3 を使用する。

    3) もし前述のオペアンプのどちらもが使用できない場合で、チャネルの高速切り替えが必須ではない場合には、前述の制限に影響を受けないファームウェアによる SAR 入力のシーケンスを使用する。これは以下の手順で実現することが出来ます:

    a. ADC コンポーネントを 1 チャネルに設定する。サンプルモードを “hardware trigger” に設定して、“soc” ターミナルに “logic low” コンポーネントを接続する。

    b. ADC の入力を analog mux コンポーネントの出力に接続する (必要に応じてシングルエンドか、差動を選択)。

    c. ADC_StartConvert API を使用して最初の変換を起動する。

    d. ADC の変換終了毎に、ファームウェアで結果をストレージにコピーする (またはアプリケーション毎の必要に応じた処理を行う)。

    e. amux chaneel select API を使用して、入力を次の入力に切り替える。

    f. チャネル毎に SAR の設定が異なる場合には、必要であれば、SAR API をコールして次の入力チャネルの設定に調整する。

    g. スキャンを完了するまで入力毎にステップ c から f を繰り返す。