3 CAN通信程序框图
SJA1000操作期间,在上电之前必须配置控制线路(中断、复位、片选等)用于建立与CAN控制器之间进行通信的硬件连接。初始化、CAN通信采用中断方式数据发送和接收子程序,其流程如图3、图4和图5所示。



如果在上电后独立CAN控制器在引脚17得到1个复位脉冲(低电平),它能够进入复位模式。在对SJA1000寄存器设置前,CAN控制器通过读复位模式/请求标志来检查是否已达到复位模式,因为要配置信息的寄存器仅在复位模式才能写入,涉及对控制寄存器(CR),验收码寄存器(ACR ),验收屏蔽寄存器(AMR ),总线定时寄存器(BTRO和BTR1)和输出控制寄存器(OCR)的初始化编程。
时钟分频寄存器,可以选择BasicCAN或PeliCAN工作模式,设置CLKOUT管脚使能用来选择频率,设置是否使用旁路CAN输入比较器和是否使用TX 1输出被用作专门的接收中断输出。
验收代码和验收屏蔽寄存器的设置可以过滤信息,为收到的信息定义验收代码为和验收代码相关位比较定义验收屏蔽代码。
总线定时寄存器,定义总线上的位速率。输出控制寄存器定义CAN总线输出管脚TX0和TX1的输出模式,定义TX0和TX1输出管脚配置是悬空、下拉、上拉或推挽以及极性。中断寄存器设置允许识别的中断源。
4 结论
多个智能仪表与通过CAN接口与PC联系成总线网,系统运行良好。这种基于现场总线的智能仪表系统抗干扰性强、性能可靠,无论是测量速度、精确度、自动化程序还是性价比都是传统仪表不能比拟的,是今后仪器仪表发展的方向。




