Is bitrate 100kBit/s possible with FlexCAN on i.MX6?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Is bitrate 100kBit/s possible with FlexCAN on i.MX6?

ソリューションへジャンプ
1,765件の閲覧回数
albrechtuhlmann
Contributor I

Hi all,

we have here equipment with CAN interface that needs a birate of 100000. The controller is a i.MX6Q. Can someone please help how to setup for 100kBbit/s? According to docs, I found only examples for 125kBit/s.

We can test with a Linux, but eventually the application will run under QNX OS, so I must understand how clocks and registers must be configured to achieve the effect. Many thanks.

-Albrecht

ラベル(1)
タグ(2)
0 件の賞賛
返信
1 解決策
1,526件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Albrecht

you can look at SDK can example and document

iMX6_Firmware_Guide.pdf included to it. For 100Kbit/s one can add

next codes to function can_update_bitrate()  file can.c

i.MX 6Series Platform SDK : Bare-metal SDK for the i.MX 6 series

        case KBPS_100:
            presdiv = 11; // sets sclk ftq to 30/12=2.5 MHz = PEclk/12
            ts = time_segments[17]; // 25 time quanta (25-8=17 for array ID)
            break;

IMX6DQRM p.1315 explains

FlexCan bitrate.jpg

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

元の投稿で解決策を見る

0 件の賞賛
返信
2 返答(返信)
1,526件の閲覧回数
albrechtuhlmann
Contributor I

Thank you for your quick answer, it works for us!

0 件の賞賛
返信
1,527件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Albrecht

you can look at SDK can example and document

iMX6_Firmware_Guide.pdf included to it. For 100Kbit/s one can add

next codes to function can_update_bitrate()  file can.c

i.MX 6Series Platform SDK : Bare-metal SDK for the i.MX 6 series

        case KBPS_100:
            presdiv = 11; // sets sclk ftq to 30/12=2.5 MHz = PEclk/12
            ts = time_segments[17]; // 25 time quanta (25-8=17 for array ID)
            break;

IMX6DQRM p.1315 explains

FlexCan bitrate.jpg

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 件の賞賛
返信