現在、PIC32MXのフラッシュ プログラミング仕様を実装しようとしています。PIC32MX512L と PIC32MX512H を使用しています。PIC32MX512L は、最終的にプログラムを PIC32MX512H の PGEC2 と PGED2 の 2 つのワイヤに転送する必要があります。
今、デバイスチェック操作を実行しようとしています。指定されているように、TDI クロックが低いままである間に、TMS クロックで MCLR ジャグリングと SetMode (6b011111) を実行することによって、プログラミング モードに入ります。TAP コントローラーはゼロで応答します (すべての TDO がロー)。
その後、SendCommand( MTAP_SW_MTAP ) を実行して MTAP コントローラーを選択する必要があります。シフトするシーケンスは
(header) 01 01 00 00_ | (data) 00 00 10 00 00 | (most sign. bit) 01 | (footer) 01 00
各ペアの最初のビットは TDI で、2 番目のビットは TMS です。最初のクロックで TDI を書き込み、2 番目のクロックで TMS を書き込み、3 番目と 4 番目のクロックで TDO を読み取ります。このシーケンスは、左から右に供給されます。シフトされたビットは、クロックが立ち下がるたびにその値を保持します。
問題
最初の 4 ペアをシフトした後、TDO ラインは 4 番目のペアでハイ (3 番目のクロック) になり、その 4 フェーズ部分の終わり (4 クロック) でローになります。上記のシーケンスでは、このスポットにアンダースコアを付けました。その後、コントローラはそれ以降のコマンドを無視します。次の SendCommand( MTAP_COMMAND ) では、TDO は低いままで、後で XferData( MCHP_STATUS ) の TDO は、コマンドを送信する頻度に関係なく低いままです。
オシロスコープから小さなスクリーンショットを作成しました。青線が時計、緑線がデータです。右側のホップは、私が意味するものです。
質問
第 4 フェーズで TDO が高い状態で、TAP コントローラーが何を伝えようとしているか知っている人はいますか?
前もって感謝します!