CAN_EXAMPLE_S32k344をノーマルモードで動作するように変換しましたが、オシロスコープがCANの伝送波形を示しているにもかかわらず、レシーバーとして使用しているadafruitのcan485ボードでは検出されません。https://learn.sparkfun.com/tutorials/ast-can485-hookup-guide/all#example-simple-can-network
ブロッキング送信は常にタイムアウトします。
誰かが私が持っている波形を見て、何が間違っているのか教えてくれますか?メッセージ ID を 200 に変更しましたが、何も壊れるはずはないと思います。セグメントの設定が間違っていますか?私は250k bpsで作業しているというだけで、それをどのように正確に配布することになっているのかわかりません
カンバスハイ
カンバスロー
オシロスコープからの出力
FlexCan設定とボーレート
プロトコルクロックを24MHzではなく16MHzに編集し(16MHzの発振器が接続されているので、これが問題だったと思います)、セグメントを調整すると修正されたため、クロックの問題であるように見えました
こんにちは@pb632146
設定がレシーバーデバイスの要件を満たしているかどうかを確認するために、FlexCANモジュールの設定パラメータと考慮すべき制限についてより深く理解するためのガイドをこのメッセージに添付しました。
このドキュメントは、 S32K3 Trainingでご覧いただけます。
- RomanVR。
では、ユーザーマニュアルを読むと、私の時間セグメントが間違っている可能性はありますか?私はビットレートを250kにすることだけに焦点を当てました。ビットレートとボーレートはCANbusと同義ですか?
このことから、私の時間セグメント1は15で、時間セグメント2は3だけであることがわかります。図404は、"Classical CAN format (Bosch CAN 2.0B)" と書かれているため、Can 2.0Bの正しいビットタイムセグメントの数値です。これは、従来のCANとCan 2.0bが同義語であることを意味します。
さらに、 "Canプロトコル仕様、バージョン2.0B"のみを送信したい場合
「柔軟なデータレートでできる(can fd)」としたら、元の投稿とは異なり、ここにあるすべてのボックスをオフのままにしますか?2.0bがデフォルトかどうかはわかりませんが、使用方法がわからない場合、FDを有効にするとエラーが発生する可能性があると思います。
こんにちは@pb632146
FlexCanドライバーが正常に動作していることを確認するいただきありがとうございます。
FlexCANは、ISO 11898-1:2015規格およびCAN 2.0 Part Bプロトコル仕様に準拠したCANプロトコルを実装する通信コントローラです。詳細については、S32K3xxリファレンスマニュアルRev.9の第73章(CAN(FlexCAN))を参照することをお勧めします。
また、S32K3 CAN_43_FLEXCAN Driver Integration ManualとRTDsに付属のユーザーマニュアルも確認することをお勧めします。これらのドキュメントには、ドライバーの制限、ハードウェアとソフトウェアの要件、使用手順、構成ガイドラインなど、ドライバーに関する詳細情報が記載されています。これらは、ドライバーの機能をより深く理解するのに役立ちます。これらのリソースは、次の場所にあります。
C:\ NXP \ SW32K3_S32M27x_RTD_4.4_4.0.0_P24 \ eclipse \ plugins \ Can_43_FLEXCAN_TS_T40D34M40I0R0 \ doc
または
C:\ NXP \ S32DS.3.5 \ S32DS \ソフトウェア\PlatformSDK_S32K3\RTD \ Can_43_FLEXCAN_TS_T40D34M30I0R0\doc
- ロマンVR
実際にコードをアップロードするのを忘れました
明確にするために、私は342ボードを使用しているので、コードを少し編集する必要がありましたが、344evbのように有効にする必要のない独自のトランシーバーも編集しました。https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ProductDocuments/DataSheets/20005991B...
sparkfunボードレシーバーは、同じボードの別のものを使用すると機能しますが、同じトランシーバーを使用しているにもかかわらず、342ボードからの缶メッセージを拾いません。
これとarduinoコードの間で缶メッセージを送信しようとして見逃している可能性のある考慮事項はありますか?
従来の can/can fd は、can 2.0a や can 2.0b と比較して何を意味しますか?[周辺機器] タブまたはコード自体で 1 つまたは別の設定を選択するための特定の設定はありますか?
Hi @pb632146.
あなたの説明によると、送信機としてのあなたのS32K344は問題なく機能しているようですので、送信機が実際に出力信号を生成していることを考えると、受信機デバイスまたは回路を確認することをお勧めします。
注:CANモジュールが正しく動作しているかどうかをテストする場合は、EVB(評価ボード)でサンプルコードを実行し、CANモジュールが自身のレシーバーに情報を送信する「ループバック」機能を使用できます。
- RomanVR。