How are Message Buffers allocated among multiple CAN buses on MPC57xx?

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

How are Message Buffers allocated among multiple CAN buses on MPC57xx?

ソリューションへジャンプ
1,115件の閲覧回数
ranulf
Contributor IV

If multiple CAN buses are utilized on a MPC57xx with Rx FIFO how are the Message Buffers (MBs) distributed amongst the CAN buses? Also, which MB numbers are available for Tx?

In the simple case where a single CAN bus is used, MBs 0 through 5 are reserved by FIFO. Also additional consecutive MBs are reserved equal to the count of elements in the Rx FIFO Filter Table. The remaining higher numbered MBs are available for CAN Tx. This is explained in the documentation for the FCAN Configuration Block.The documentation is not clear on how the MBs are distributed when multiple CAN buses are implemented.

I have a CAN gateway that consists of DEVKIT-MPC5748G and DEVKIT-COMM. I make use of 5 CAN buses. 96 MBs are available. In each of the 5 CAN configuration blocks I have reserved 19 MBs as shown.
-- Have I allocated the MBs in the best way so I have access to all MBs?
-- Which MB numbers are reserved by each CAN Bus for Rx FIFO?
-- Which MB numbers are available to each CAN bus for Tx?
-- Are the MBs available for Tx shared amongst the 5 CAN buses?

ranulf_1-1639081360645.png

 

ranulf_0-1639081315713.png

 

タグ(3)
0 件の賞賛
1 解決策
1,033件の閲覧回数
paulvlase
NXP Employee
NXP Employee

Hi @ranulf ,

On MPC5748G each FlexCAN module includes 96 message buffers (MBs). FlexCAN0 has 96 MBs, FlexCAN1 another 96 MBs, and so on. The MBs are not shared between the CAN buses.

When the Rx FIFO is enabled, MBs 0–5 are used by the Rx FIFO engine.
An additional memory area occupied by MBs 6–37 depending on the Number Of Rx FIFO Filters setting, contains the ID filter table (configurable from 8 to 128 table elements) that specifies filtering criteria for accepting frames into the FIFO.

paulvlase_0-1644485396524.png

Regards,

Paul

元の投稿で解決策を見る

0 件の賞賛
1 返信
1,034件の閲覧回数
paulvlase
NXP Employee
NXP Employee

Hi @ranulf ,

On MPC5748G each FlexCAN module includes 96 message buffers (MBs). FlexCAN0 has 96 MBs, FlexCAN1 another 96 MBs, and so on. The MBs are not shared between the CAN buses.

When the Rx FIFO is enabled, MBs 0–5 are used by the Rx FIFO engine.
An additional memory area occupied by MBs 6–37 depending on the Number Of Rx FIFO Filters setting, contains the ID filter table (configurable from 8 to 128 table elements) that specifies filtering criteria for accepting frames into the FIFO.

paulvlase_0-1644485396524.png

Regards,

Paul

0 件の賞賛