R2017b版Simulink Real-time中J1939库CAN报文收发配置咨询
R2017b Simulink Real-Time J1939 通道收发配置步骤
你已完成的DBC导入、CAN-AC2-PCI板卡基础配置属于正确前置操作,以下按模块逐一说明正确配置规则:
1. J1939 Controller Application 模块配置
- 通用选项卡确认三个核心参数和DBC定义完全匹配:节点名称(NAME)、首选地址、所属J1939网络,网络名称需和后续关联的Protocol Stack配置完全一致
- 网络管理选项卡的Arbitrary Address Capable 如果是简单点对点收发场景直接选
否即可,你当前开启该选项可能会因为地址协商流程未完成导致报文无法发出,仅当需要动态抢占地址的场景才需要开启该功能 - 收发两个节点要各自配置独立的J1939 Controller Application模块,地址不能重复
2. J1939 Protocol Stack 模块端口连接规则
收发通道需各挂载一个独立的Protocol Stack模块,不可共用,端口连接规则如下:
- 输入端口
CAN Msg端口:连接对应通道CAN板卡的接收FIFO输出,例如通道1的Protocol Stack接CAN-AC2-PCI的CAN1接收输出,通道2的Protocol Stack接CAN-AC2-PCI的CAN2接收输出N端口:直接连接对应通道的J1939 Controller Application模块的N输出端口,绑定节点配置
- 输出端口
CAN Msg端口:连接对应通道CAN板卡的发送FIFO输入,例如通道1的Protocol Stack输出接CAN-AC2-PCI的CAN1发送输入,通道2的Protocol Stack输出接CAN-AC2-PCI的CAN2发送输入
3. J1939 Transmit Message 模块配置
- 确认模块的所属J1939网络参数,和通道1的Protocol Stack、Controller Application的网络名称完全一致
- 报文配置页的源地址和通道1对应的Controller Application地址完全匹配,目的地址广播场景填
255,点对点场景填通道2对应的Controller Application地址 - 发送周期可直接在模块配置的周期参数中调整,单位为秒,输入端口直接连接待发送的报文信号即可
4. J1939 Receive Message 模块配置
- 确认模块的所属J1939网络参数,和通道2的Protocol Stack、Controller Application的网络名称完全一致
- 报文配置页的源地址填通道1对应的Controller Application地址,目的地址和通道2对应的Controller Application地址匹配,确保报文过滤规则正确
5. 必做校验项
- 确认CAN-AC2-PCI模块的两个通道波特率完全一致,J1939标准默认波特率为250kbps
- 模型求解器需设置为固定步长,步长需小于报文发送周期的1/10,例如100ms发送周期的报文步长最大设为10ms,避免丢包
- 确认两个CAN通道物理链路已连通,总线终端电阻已正确接入
内容的提问来源于stack exchange,提问作者omarkdj
相关产品推荐
相关产品推荐

