Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは~

ここでは、既定の PSI5S の例 (iLLD_1_0_1_11_0__TC3xx_Demos) を使用してデータを送信します。ただし、データ レジスタ SDRx にデータを書き込むことはできません。TX ポートは常に TBUF からデータを送信します。TBUFにデータを入力しなかったのに、チャネルIDに応じて自動的に変更されるのはなぜですか。

SDRxレジスタ値を変更しようとしましたが、チャネルが有効になっていなくても書き込みが機能しません(GCR.CENx = 0)

それで、私は考えられる理由が何であるかを尋ねたいと思います、ありがとう。

0 件の賞賛
3 返答(返信)
Translation_Bot
Community Manager
Community Manager
Community Manager

https://www.infineon.com/dgdl/Infineon-AURIX_Peripheral_Sensor_Interface-Training-v01_10-EN.pdf?file...

スライドから、PSI5TXは、センサーからのデータ収集用のデータフレームをトリガーする同期パルスの同期伝送モードで使用されます。 あなたの質問についてもっと情報を提供していただけますか? ありがとうございました。

 

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

まずは迅速な対応ありがとうございました。

私が尋ねたいモジュールは PSI5モジュールではなくPSI5-Sであり、ECUからセンサーへの通信をサポートしています。または、PSI5-Sモジュールについて次の2つの質問をすることもできます

1.どのような状況でSDRxレジスタに値を書き込む CAN か。

いくつかの試みをしましたが、チャネルが有効になっていなくても書き込みが機能しません(GCR。CENx = 0)

2.チャネルを有効にした後にTBUFのレジスタが変更されるのはなぜですか。

ありがとうございました。

 

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager
IFX_INLINE void IfxPsi5s_setSleepMode(Ifx_PSI5S *psi5s, IfxPsi5s_SleepMode mode)
{
    uint16 passwd = IfxScuWdt_getCpuWatchdogPassword();
    IfxScuWdt_clearCpuEndinit(passwd);
    psi5s->CLC.B.EDIS = mode;
    IfxScuWdt_setCpuEndinit(passwd);
}

上記の関数のようにレジスタを操作する関数を書くことができます。

TBUFについては、以下の機能を参照してください。

IFX_INLINE void IfxPsi5s_fillAscTransmitBuffer(Ifx_PSI5S *psi5s, uint32 *data)
{
    psi5s->TBUF.U = *data;
}
0 件の賞賛