JAJA929 July 2025 MSPM0G3507
Opcode:0b0000000000010000
ビット変更命令は、特定の CAN レジスタの個々のビットをセットまたはクリアするために使用されます。MASK ビットは、レジスタ内の変更可能なビットを特定します。マスクのビット1を使用すると、レジスタの対応するビットを変更でき、ビット0を使用するとビットの変更を阻止できます。
Opcode:0b0000000000100000
リセット命令は、SPI–CAN ブリッジデバイスの CAN モジュールをリセットします。CAN モジュールをリセットするには、ユーザーは、SPI プロトコルを通じて対応する opcode を送信する必要があります。
Opcode:0b0000000000110000
電源有効化および CAN 構成命令は、ブリッジデバイスの CAN モジュールに電力を供給するために使用されます。また、CAN モジュールが有効になった後で、事前定義された CAN メッセージ RAM 構成が行われます。
Opcode:0b00000000010000ab
TX バッファ読み込み命令は、選択した送信バッファに CAN フレームを読み込むために使用されます。送信バッファの選択は、opcode でエンコードされます。4つの送信バッファのうちの1つは、命令フィールドのa、bビットに基づき選択できます。
| a | b | バッファ |
| 0 | 0 | バッファ – 0 |
| 0 | 1 | バッファ – 1 |
| 1 | 0 | バッファ – 2 |
| 1 | 1 | バッファ – 3 |
Opcode:0b0000000001010000
TX FIFO 読み込み命令は、送信 FIFO に送信する CAN フレームを読み込むために使用されます。CAN フレームを送信 FIFO にロードする前に、ユーザーは、送信 FIFO が一杯にならないように注意する必要があります。
Opcode:0b00000000011000ab
TX バッファ送信リクエスト命令は、4つの送信バッファの1つに対する送信リクエストを追加します。送信バッファの選択は、opcode でエンコードされます。4つの送信バッファのうちの1つは、命令フィールドのa、bビットに基づき選択できます。
| a | b | バッファ |
| 0 | 0 | バッファ – 0 |
| 0 | 1 | バッファ – 1 |
| 1 | 0 | バッファ – 2 |
| 1 | 1 | バッファ – 3 |
Opcode:0b0000000001110000
TX FIFO 送信リクエスト命令は、送信 FIFO 配置インデックスに基づき、送信 FIFO 素子の1つに対する送信リクエストを追加します。ユーザーは、バッファ追加リクエストを送信する前に、送信 FIFO に CAN フレームがあることを確認する必要があります。
Opcode:0b0000000010000000
オフセットアドレス – レジスタデータを書き込むレジスタアドレスを指定します。
レジスタ書き込み命令は、SPI ペリフェラル経由で CAN レジスタを構成するために使用されます。データは、オフセットアドレスに基づき、該当するレジスタに書き込まれます。
Opcode:0b0000000010000000
オフセットアドレス – レジスタデータを読み取るためのレジスタアドレスを指定します。
レジスタデータ読み取り命令は、特定の CAN レジスタからデータを読み取るために使用されます。レジスタデータ読み取り命令は、レジスタの読み取りを行いますが、送信は行いません。したがって、レジスタデータ読み取り命令の後は、レジスタデータフェッチ命令が続く必要があります。
Opcode:0b0000000010100000
レジスタデータフェッチ命令は、レジスタデータ読み取り命令を使用して読み取ったレジスタ値の送信を行います。
Opcode:0b00000000101100xy
SPI-CAN ブリッジが CAN ネットワークから新しい CAN フレームを受信すると、図 2-12に示すように、SPI-CAN ブリッジは GPIO ピンをトグルし、フレームが SPI コントローラで受信されたことを示します。
SPI-CAN ブリッジで CAN モジュール RX バッファから受信した CAN フレームを取得するには、次のシーケンスに従う必要があります。
データの送信を完了するには、各 RX バッファ読み取り命令を対応する RX バッファデータフェッチ命令と組み合わせる必要があります。
RX バッファの選択は、opcode でエンコードされます。4つの RX バッファのうちの1つは、命令のx、yビットに基づいて選択できます。
| X | y | バッファ |
| 0 | 0 | バッファ – 0 |
| 0 | 1 | バッファ – 1 |
| 1 | 0 | バッファ – 2 |
| 1 | 1 | バッファ – 3 |
Opcode:0b0000000011000000
RX バッファデータフェッチ命令は、RX バッファ読み取り命令を使用して読み取られた RX バッファデータを送信します。
Opcode:0b0000000011010000
SPI-CAN ブリッジが CAN ネットワークから新しい CAN フレームを受信すると、図 2-14に示すように、SPI-CAN ブリッジは GPIO ピンをトグルし、フレームが SPI コントローラで受信されたことを示します。
SPI-CAN ブリッジ内で CAN モジュールの RX FIFO から受信した CAN フレームを取得するには、次のシーケンスに従う必要があります。
Opcode:0b0000000011100000
RX FIFO データフェッチ命令は、RX FIFO 読み取り命令を使用して読み出された RX FIFO データを送信します。
Opcode:0b0000000011110000
受信ステータスデータ読み取り命令は、SPI から CAN デバイスへの CAN モジュールのステータスビットを取得するために使用されます。この命令に対する応答として受信されたデータビットの意味を図 2-17に示します。
| LEC ビット [L2、L1、L0] | エラーコード |
|---|---|
| 000 | エラーなし |
| 001 | スタッフエラー |
| 010 | フォームエラー |
| 011 | Ack エラー |
| 100 | Bit1 エラー |
| 101 | Bit0 エラー |
| 110 | CRC 誤差 |
| 111 | 変更なし |
Opcode:0b0000000000001000
RX ステータスデータフェッチ命令は、RX ステータスデータ読み取り命令によってすでに読み取られ、変数に保存されている RX ステータスデータを受信するために使用されます。