インテルのみ表示可能 — GUID: iga1405558386943
Ixiasoft
インテルのみ表示可能 — GUID: iga1405558386943
Ixiasoft
5.4.3.2. txdataレジスター
マスター・ペリフェラルは、送信されるデータをtxdataレジスターに書き込みます。statusレジスターのTRDYビットが1の場合は、txdataレジスターが新しいデータに対して準備が整っていることを示しています。txdataレジスターが書き込まれると、TRDYビットは0に設定されます。データがtxdataレジスターから送信シフトレジスターに転送されると、TRDYビットは1に設定され、これにより、txdata保持レジスターで新しいデータの受信が可能になります。
マスター・ペリフェラルは、トランスミッターが新しいデータに対して準備が整うまで、txdataレジスターへの書き込みを行うことができません。TRDYが0の際に、マスター・ペリフェラルがtxdataレジスターに新しいデータの書き込みを行うと、送信オーバーラン・エラーが発生し、statusレジスターのTOEビットが1に設定されます。この場合、新しいデータは無視され、txdataの内容は変更されません。
例えば、SPIコアがアイドル状態 (つまり、txdataレジスターと送信シフトレジスターが空) の際に、CPUがデータ値の書き込みをtxdata保持レジスターに行ったとします。TRDYビットは直ちに0に設定されますが、txdata内のデータが送信シフトレジスターに転送されると、TRDYは1に戻ります。CPUが2番目のデータ値をtxdataレジスターに書き込むと、TRDYビットは再度0に設定されます。今回の書き込みでは、シフトレジスターが最初のデータ値を転送しておりビジー状態のため、TRDYビットはシフト動作が完了するまで0で維持されます。動作が完了すると、2番目のデータ値が送信シフトレジスターに転送され、TRDYビットは再度1に設定されます。