本文主要是介绍Xilinx microblaze axi can 使用说明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本次主要描述在SDK上如何配置波特率和采样率这两个关键的信息。
XILINX官方提供的驱动包括循环方式和中断方式。配置波特率和采样率主要依靠XCan_SetBaudRatePrescaler和XCan_SetBitTiming这两个函数。主要参数:
#define TEST_BRPR_BAUD_PRESCALAR //分频系数
#define TEST_BTR_SYNCJUMPWIDTH //两个相位缓冲段的延长时间或缩短时间上限由再同步跳转宽度(SJW)给定。采样点是接收节点判断信号逻辑的位置,CAN通讯属于异步通讯,需要通过不断的重新同步才能保证收发节点的采样准确,所以SJW(同步跳转宽度)决定了接收节点是否能有比较好的兼容性。
#define TEST_BTR_SECOND_TIMESEGMENT // tBS2
#define TEST_BTR_FIRST_TIMESEGMENT // tBS1
总结的计算公式如下:
Sample Point = (1+tBS1+1) / (1+tBS1+1+tBS2+1)
CAN波特率=总线频率/((1+BRP)*(1+tBS1+1+tBS2+1))
借助工具计算参数,并填入define。需要注意的是使用分频系数可以通过公式反算出来。
其他的CAN具体相关知识可参考CSDN其他博主。
这篇关于Xilinx microblaze axi can 使用说明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!