このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。
16.4.3.2.1.3. 複数ブロックのデータ
ctypeレジスターが1ビット、4ビット、または8ビットのデータ転送に設定されている場合、データはそれぞれ1、4、または8つのデータラインで送信されます。また、CRC‑16は個別に生成され、1、4、または8つのデータラインでそれぞれ送信されます。†
1つのデータブロックが送信されると、データ送信のステートマシンは、カードからCRCステータスを受信します。残りのバイトカウントが0になると、データパスはデータ転送が完了したことをBIUに通知します。これは、rintstsレジスターのdtoビットが1に設定されると発生します。†
残りのデータバイトが0より大きい場合、データパスのステートマシンは別のデータブロックの送信を開始します。†
カードから負のCRCステータスを受信した場合、データパスは、rintstsレジスターのdcrcビットを設定してデータのCRCエラーをBIUに通知し、すべてのバイトが送信されるまでデータの送信を続けます。†
CRCステータスのスタートビットをデータブロックの終了後2クロックサイクルで受信しない場合は、rintstsレジスターのebeビットを設定することによってCRCステータスのSBEがBIUに通知され、それ以降のデータ転送は終了します。†
cmdレジスターでsend_auto_stopビットが1に設定されている場合は、最後のデータブロックの転送中にSD/SDIO STOPコマンドが内部で生成され、それ以上のバイトはカードに転送されません。STOPコマンドのエンドビットは、最後のデータブロックのCRCステータスのエンドビットと正確に一致しない場合があります。†
1ビット、4ビット、または8ビットのカードデータ幅に対してブロックサイズがそれぞれ4、16、または32未満の場合、データ送信のステートマシンは、すべてのデータが転送されるとデータ転送を終了します。この際に、内部で生成されたSTOPコマンドがコマンドパスにロードされます。†
bytcntが0の場合 (ブロックサイズは0より大きくなければなりません)、転送はオープンエンドのブロック転送です。このタイプのデータ転送におけるデータ送信のステートマシンは、ホスト・ソフトウェアがSD/SDIO STOPコマンドまたはSTOP_TRANSMISSION (CMD12) コマンドを発行するまでブロック書き込みのデータ転送を続けます。†