1 引言
在ff、lonworks、profibus、can、hart等主流现场总线工业通讯技术之中,can(controller area network,又称控制器局域网)总线除了具备现场总线的开放式、互操作性、数字化通讯等特点外,还具有以下特点:(1)以多主机方式工作;(2)can上的节点信息分不同的优先级,可满足不同的实时要求;(3)采用非破坏性总线仲裁技术,节省了总线冲突仲裁时间;(4)采用短帧结构,传输时间短,受干扰率降低,具有极好的检错效果;(5)每帧信息都有crc校验及其它检错措施,数据出错率极低;(6)通信介质可灵活地选择;(7)can上的节点数高达110个;(8)有很高的可靠性和性能价格比等。CAN总线的这些特点使得其能同时满足过程控制和制造业自动化的需求,[1]因而can总线的研究与应用已成为工业数据总线领域的热点。在总线系统中,传统的4-20ma的
2 硬件设计
can通信的核心芯片是can控制器,can的通信协议主要是由它完成的,它可以实现物理层和数据链路层的所有功能。can控制器有许多芯片结构,独立芯片的例如philips的sja1000,西门子的82c900等,还有和
can收发器即总线驱动器是can控制器与物理总线之间的接口,可以提供对总线的差动发送和接受功能,can总线驱动器种类有82c250/251、tja1040、tja1050等多种,适用于不同场合。philips公司的高速总线驱动器82c50,它采用双线差分驱动,抗干扰强。can总线驱动器与单片机接线如图1所示,为实现总线上节点之间的电气隔离 can驱动器通过高速光藕6n137与pic18f458进行相连。在can总线两端的can接头上接入120欧匹配电阻,以消除阻抗不连续时的反射现象,总线与地各自并联一个30pf的小电容,以防电磁辐射和抗高频干扰[2]。注意在实际应用中,节点之间的电源也要隔离,+5v隔离后才能接vcc,否则也会有干扰。
图1 82c250与pic18f458接线图
3 软件设计
软件采用mplab ide7.5开发平台及mcc18软件,为了有利于程序的移植和修改可将程序设计成能相对独立的子程序。can总线的各种协议已经被集成在pic18f458的can模块里面,只要对相应的寄存器进行操作就可完成can系统通信。pici8f458的can通信程序主要包括can初始化、接受子程序、发送子程序等。can初始化主要对can进行配置,设置发送邮箱、接收邮箱标识符及初始化数据,设置波特率、can工作模式,初始化接受滤波器和接受屏蔽。接受使用中断方式,发送采用查询方式。在can总线上的所有节点必须有相同的波特率,设波特率fosc=4mhz,同步时间段sync_seg=1tq,传输时间段prop_seg=1tq,相位缓冲时间段1phase_seg1=3tq,相位缓冲时间段2phase_seg2=3tq,标称位时间=8tq,位率=0.125mhz。在can总线通讯中,can的初始化非常重要[3]。
3.1 can初始化子程序
3.2 接收中断子程序
3.3 发送子程序
写好这三部分程序,就很容易写出通讯程序了。
4 结束语
本项目设计可用于各种电气设备形成can接口,也可在此基础上继续开发,加入设备的控制算法,对设备进行总线化智能化改造。利用pic18f458设计的can总线接口进行了dkj直行程电动执行机构的智能化改造,与上位机实现了can总线通讯,试验效果理想。
上一篇:提高嵌入式软件质量
下一篇:ADμC812在存储测试系统中的应用
- 热门资源推荐
- 热门放大器推荐
- 阅读是德科技 Power Supply、汽车电子精彩专题,让您的设计更精准!参与答题赢好礼!
- 是德感恩月:有奖征文免费送示波器啦!
- 答题赢好礼|英飞凌带你走进碳化硅 (SiC)世界
- 先到先得双重有礼 成为体验FLUKE新品的先锋者
- 下载Mentor白皮书,迎接电路板与晶片日益复杂的设计挑战,还有好礼相送哟!
- Littelfuse【智能家居的电路保护方案】在线研讨会 11月22日10点 强势登场!预报名、参与研讨会赢好礼!
- MPS 送福利 | 商城上线送单,送京东卡,8000元好礼等你拿!
- 报名有礼:【TI C2000在实时控制系统中的新特性】网络直播诚邀您参与!
- 借助 TI 工业应用参考设计,加快产品上市时间