APP下载

基于CAN总线的单片机实验教学系统的设计

2019-05-22龙芬

电脑知识与技术 2019年6期
关键词:PC机总线单片机

龙芬

摘要:随着智能制造及CAN总线的迅猛发展,急需大量掌握现场总线的技术人才,而大多数高职院校的单片机实验设备落后,教学内容需要更新。为解决这一问题,设计了基于CAN总线的单片机实验教学系统,该设计以SJA1000为总线控制器,以TJA1040作为通信模块的总线收发器,可实现CAN总线报文的点到点、一点到多点的接收发送。结果表明,通过本教学系统的学习,能提高学生对CAN总线技术的设计与开发能力。

关键词:CAN总线;51单片机;SJA1000;TJA1040

中图分类号:TP368.2 文献标识码:A 文章编号:1009-3044(2019)06-0139-03

Design of MCU Experiment Teaching System Based on CAN Bus

LONG Fen

(Institute of Technology of XianNing Vocational Technical College, XianNing 437100, China)

Abstract:With the rapid development of intelligent manufacturing and CAN bus, there is an urgent need to master a lot of technical personnel of CAN bus, and most of the higher vocational colleges MCU experimental equipment backward, teaching content needs to be updated. In order to solve this problem, a experiment teaching system based on CAN bus is designed. The design uses SJA1000 as the bus controller and TJA1040 as the bus transceiver of the communication. It can send and receive of the point-to-point, point to many point. The results show that, through the study of this teaching system, CAN bus technology can improve students' design and development ability.

Key words: CAN bus; MCS-51; SJA1000; TJA1040

随着智能制造的发展,CAN现场总线得以迅速发展,目前已经广泛应用于汽车、工业控制、安防监控、工程机械、楼宇自动化等领域,社会对掌握现场总线的人才需求量很大。作为培养高级技术型人才的高职院校,单片机的教学主要还是停留在51系列,通信部分主要学习的是串行通信,由于没有合适的实验设备仪器,基本上没有开设CAN现场总线的课程。因此,以CAN现场总线为基础的实验设备的开发和引进是非常有必要的。

1 CAN总线概述

CAN(Controller Area Network)即控制器局域网络,是由德国Bosch公司为汽车应用而開发的多主机局域网络,最初主要应用于汽车的监测和控制[1]。作为通信总线的一种,CAN总线具有以下几个突出优点:可靠性高、功能完善、成本较低,且具有良好的实时性和灵活性。目前,CAN已经形成国际标准,最远传输距离可达10km,数据传输速率高达1Mbit/s[1]。由于CAN总线的突出特性,Intel、NXP、Siemens、Freescale等芯片生产厂商都推出了独立的CAN控制芯片,或者带有CAN控制器的MCU芯片。

2 CAN总线与51系列单片机硬件电路设计

利用高职院校现有的实验教学条件,设计了一款基于CAN总线的单片机实训系统。系统框图如图1所示,整个电路主要由5部分构成:微控制器STC85C52、CAN控制器SJA1000、CAN收发器TJA1040、DC/DC电源隔离模块、高速光电耦合器6N137。

SJA1000是NXP半导体公司的一种独立CAN控制器,可以在Basic CAN、PeliCAN两种协议下工作:Basic CAN支持CAN 2.0A协议,PeliCAN工作方式支持具有很多新特性的CAN 2.0B协议[1]。工作方式通过时钟分频寄存器中的CAN方式位来选择,上电复位默认工作方式是BasicCAN方式[2]。

TJA1040是CAN驱动器和物理总线之间的接口,速度可达1Mbit/s。TJA1040可以为总线提供差动的发送功能,为CAN控制器提供差动的接收功能,有良好的电磁兼容性,在不上电状态下有理想的无源性能,可以进行低功耗管理,支持远程唤醒功能[2]。

2.1 CAN控制电路的设计

STC89C52通过控制SJA1000实现数据的收发功能。如图2所示为CAN控制器电路,单片机的P0口与SJA1000的AD0~AD7相连,单片机的P2.7连接到SJA1000的CS脚,当P2.7输出为低电平时SJA1000被选中,SJA1000的RD、WR、ALE、INT引脚分别与单片机的第17脚、18脚、30脚、12脚。单片机可通过中断方式访问SJA1000。

2.2 DC/DC电源隔离电路的设计

在实际应用中,供电电源可能存在干扰信号多、电压波动大等缺点。为了抑制干扰,提高通信的可靠性,CAN总线电源必须采用DC/DC电源隔离电路。电路如图3所示,电源隔离模块我们选用B0505D-1W。为了满足其输出最小负载不能小于满负载的20%,我们在输出端并联了两个120Ω的电阻[3]。

2.3 光电隔离电路的设计

为了实现总线上各CAN节点的电气隔离,增强CAN总线的抗干扰能力,SJA1000的TX0、RX0引脚通过两个高速光耦6N137与TJA1040的TXD、RXD引脚相连。光电隔离电路如图4所示,光耦部分电路所采用的两个电源VCC和CAN-V必须完全隔离,否则光耦也就失去了意义[4]。

2.4 CAN收发器电路的设计

为了保护TJA1040免受过流的冲击,我们利用电阻的限流作用,在TJA1040的CANH和CANL引脚处接了一个5Ω的电阻,然后再与CAN总线相连,具体的收发电路如图5所示。

3 双节点CAN总线通信系统软件设计

下面我们以双节点CAN总线通信实验为例,说明单片机教学系统软件设计的流程。设计的实验内容为:用两块CAN总线实训板,实训板A每隔一定时间将连接在P1口的按键状态发送给实训板B;实训板B接收到A发送过来的数据后,通过LED灯显示出来,并通过CAN转232串口程序,把接收到的数据上传到PC机上[5]。

通过分析实验内容,节点A只需通过CAN总线发送数据,节点B不仅要接收PC机发来的命令,执行对CAN总线的操作,还需要在CAN总线的其他节点有报文传来的时候,接收报文并发给PC机。其软件流程如图6所示。

4 小结

本系统以51单片机为核心,对基于CAN总线的单片机实验板进行了详细的设计,形成了CAN实验的最小系统,配置了基本的外围电路,实现了各个节点之间的通信及节点与PC机的通信,使学生可以通过实际操作掌握CAN总线的基本设计与开发技能。本系统还可以进行功能扩展,开发出可以实现不同实验的功能模块,以适应不同专业的学习要求,为学生充分掌握CAN现场总线提供更好的技术支持。

参考文献:

[1] 牛跃听,周立功.从入门到实践CAN总线嵌入式开发[M].北京:北京航空航天大学出版社,2012(1):45-52

[2] 蒋荣.基于CAN总线的教学实验系统研究和开发[D].东南大学,2006:18-33

[3] 张明轩,胡卓敏.基于STC89C51的CAN总线点对点通信模块设计[J].新特器件应用,2010(6):1-4

[4] 谢桂波.基于SPI的CAN总线控制器与MCS-51单片机的接口设计[J].电子设计应用,2010(1):50-52

[5] 钱震宇,肖昌汉,李志新.基于51單片机的CAN总线转串口通信卡的设计与实现[J].船电技术,2011(12):32-34

【通联编辑:王力】

猜你喜欢

PC机总线单片机
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
基于PC机与单片机的多机通信技术及抗干扰方法
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
VC.NET下实现dsPIC单片机与PC机的通信
排除OLT设备登录故障
Microchip推出两个全新PIC单片机系列