TI中文支持网
TI专业的中文技术问题搜集分享网站

FlexRay静态帧数据段无法发送数据

我用的TMS570LS1225的芯片验证设计的FlexRay通信功能,硬件上用两个1225作为两个节点进行通讯。

程序上是使用的TI提供的FlexRay的例程,收发器选用的TJA1080,但是程序中NDAT寄存器并未接收到数据。

测试过程中可以进行连续的Communication Cycle,静态段帧头数据均正常,其中一、二帧的sync、start up位均为1,但是数据段均没有数据,同时EIR寄存器中提示通讯周期中接收到的同步帧数量不足2。请问一下这是什么原因造成的。

①两个节点是否够用以测试其通讯?还是要三个以上的节点?

②在发送和接收的过程中有哪些需要注意的地方,是否我没有注意,如寄存器配置等等?

gaoyang9992006:

在一个Flexray网络中,至少要有两个同步节点,然后网络中的各个节点的时间配置都要严格一致。

1106.TMS570LS31x_FlexRay_Sample_Code.zip

给你个例程,这个是可以使用的

Dide Zhang:

回复 gaoyang9992006:

我之前也找到了这个例程,因为用的是TMS570LS1225所以把它移植到1227的工程中使用。

HALCoGen中没有对FlexRay进行相关配置的选项于是我也没有作其他的相关设置。

程序中是不是还有两个动态帧?运行的时候我用示波器看总线数据,可以看见两帧,帧头中相关的flag都正常,也有CRC和frame ID的内容,帧尾的CRC一直在变化,但是中间的数据段只有BSS的高低电平,数据并没有发出来,NDAT寄存器也没有内容,所以不知道问题出在哪。

各节点的时间配置是另外配置的吗?还是在这个例程中的?

赞(0)
未经允许不得转载:TI中文支持网 » FlexRay静态帧数据段无法发送数据
分享到: 更多 (0)