单片机在CAN总线智能节点中的应用

出处:冰玉007 发布于:2007-06-02 14:30:02

  1 CAN总线概述  
       CAN, 全称为“Controller Area Network”,是国际上应用广泛的现场总线之一。20世纪80年代初,德国Bosch公司为了解决现代汽车中众多的控制与测试仪表之间的数据交换问题,开发出CAN总线。CAN总线能有效支持分布式控制或实时控制的串行通信网络,具有抗干扰性强和使用可靠等优点,初主要应用汽车工业,现在广泛应用于汽车工业、航空工业和工业控制等自动化领域,如分布式环境监测系统、温室环境监控系统、变电站变监测系统等。  
       CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对数据的成帧处理,用户可在其基础上开发适应系统实际需要的应用层通信协议。CAN协议的一个特点是废除了传统的站地址编码,而代之以对通信数据块编码,采用这种方法可使网络内节点个数在理论上不受限制,还可使不
 
同的节点同时收到相同的数据。  
       CAN总线提供高速数据传送,  在短距离(40m)条件下具有高速(1Mbit/s)数据传输能力,而在距离10000m时具有低速(5kbits/s)传输能力,极适合在高速的工业自控应用上,CAN总线可在同一网络上连接多种不同功能的传感器(如位置,温度或压力等)。  
       CAN总线的其他特点如下:  
       (1)它是一种多主总线,即每个节点机均可成为主机,且节点机之间也可进行通信;  
       (2)通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mbps;  
       (3)数据段长度多为8个字节,可满足通常工业领域中控制命令,工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性;  
       (4)CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。  
       CAN可以以多主方式工作,网络上任意节点均可以在任意时刻主动地向总线上其它节点发送信息,实现点对点、一点对多点及全局广播几种方式发送接收数据;CAN采用非破坏性总线仲裁技术,当两个节点同时向总线上发送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,节省了总线冲突仲裁时间。  
       图1-1为一个CAN总线应用系统,主要有主机和各节点组成,主机和节点之间通过CAN收发器及CAN控制器相连,单个节点包括一个单片机控制器、一个CAN收发器和一个CAN控制器。其中一个典型的应用是:主机接收各节点发送的现场数据,如现场温度、电流或压力等参数,主机经过综合计算、判断作出相应的控制命令,这些命令将通过CAN总线传送至各节点。各节点由单片机作为控制器,它用于采集现场的各项参数,并执行主机发送的各项命令,这些命令将终传送至各执行机构,如阀门、电机或泵等。

CAN总线应用系统

                                                         图1-1 CAN总线应用系统  
       本文将介绍基于凌阳8位通用型工控单片机的CAN总线智能节点的设计。本文将阐述智能节点中的主控器SPMC65P2404A在本方案中的应用特点,及主控器与CAN总线控制器之间的通信。
 2 芯片特性简介  
       SPMC65P2404A是凌阳推出的8位工业控制单片机,工作频率为8MHz,工作电压3.0V~5.0V,有192字节的RAM和4K字节的OTP ROM,具备23个可编程IO口,内置上/下拉电阻,8通道10位A/D转换器(100KHz),SPMC65P2404其他特性包括:  
       ◆凌阳科技8位单片机    ☉182条指令    ☉11种寻址模式    ☉支持位操作(Set,Clear,Inverse,Test)  
       ◆2个8位可编程定时器/计数器(可自动预置初始计数值)    ☉普通的定时/计数器    ☉具有8位捕获功能    ☉具有8位比较功能  
   
 
    ◆2个16位可编程定时器/计数器(可自动预置初始计数值)    ☉普通的定时/计数器    ☉具有8或16位捕获功能    ☉具有16位比较功能    ☉12位PWM输出  
       ◆中断方式    ☉支持IRQ和NMI中断    ☉4种外部中断    ☉12种内部中断  
       ◆具有SPI总线:通信速率为2Mbps  
       ◆5种复位功能:上电复位、低电压复位、看门狗复位、外部复位及错误地址复位  
       ◆支持3种时钟电路:晶体振荡器、RC振荡、外部信号   
       ◆2种低功耗模式:Halt模式和Stop模式    
       ◆一个蜂鸣器驱动输出口
       3 智能节点硬件设计  
       在工业控制中,通常需要进行电压、电流、温度等信号的实时采集、可靠传输和实时显示,实现了PC端对CAN智能节点的有效控制。为了达到工业控制上这些控制要求,CAN总线上的节点通常需要有微控器作为节点的主控器。主控器完成现场各项参数的采集、响应相关的外部事件、接受外部按键命令、产生驱动信号、显示相关参数及与CAN总线控制器通信。图3-1为SPMC65P2404A作为节点控制器,各个部件的连接示意图。

智能节点示意图

点击看原图


                                                     图 3-1 智能节点示意图
       数据采集部件:  
       在工业控制现场,通常会有各类传感器,如电流互感器、温度传感器、压力传感器等,将现场的电流、温度及压力等参数转化为模拟电信号,这些模拟信号输入MCU中的A/D转换器,终得到可传输的数字信号。SPMC65P2404A具有8通道10位的A/D转换器,并可以选择内部或外部参考电压,能够满足多通道、高的模数转换。
   现场人机交互部件:  
       人机交互部件可以实现工作人员在现场对某个节点进行操作控制,人机交互部件包括键盘、红外遥控器、LED或LCD显示。比如,显示模块可以实时显示现场参数,工作人员操作键盘或遥控器上的某些按键,可以启动电机或电阀门等执行机构,使系统达到预设定的效果。SPMC65P2404A具有多组捕获功能,使用捕获功能,可以很方便的实现红外信号解码。
       快速响应外部突发事件:  
       在工业控制现场,突发事件保护机制非常重要。对现场的突发事件实行快速响应,并做出保护动作将使控制现场更安全。在节点设计中,可以使用MCU快速响应外部中断,在MCU的中断程序中,切断驱动信号的输出。SPMC65P2404A能够响应4个外部中断,并且每个外部中断可以设定为非屏蔽中断或屏蔽中断。
       产生执行机构的驱动信号:  
       工业控制现场会有多种执行机构,如电机、电阀门等,正对各种每种执行机构,MCU会输出相应的驱动信号,以控制这些机构。S
 
PMC65P2404A具有2路12位的PWM输出能力,有2路比较输出功能,同时,每个I/O口都具备驱动LED的能力。利用SPMC65P2404A的这些功能,并配合相应的驱动电路,就可以有效控制电机、电阀门等。
       节点通信连接:  
       在智能节点的设计中,需要使用CAN控制器及CAN收发器,作为主控器与CAN总线之间的连接媒介。本智能节点使用MCP2510作为CAN控制器和PCA82C250作为CAN收发器。它们之间的连接是:MCU主控器通过SPI总线与CAN控制器通信,CAN控制器通过光电隔离器件与CAN收发器连接。SPMC65P2404A内部集成SPI总线,SPI总线支持全双工同步传输,具有主、从两种模式,通信速率为2Mbps。CAN控制器MCP2510也具备SPI总线。 
       4   智能节点软件设计  
       智能节点程序包括主程序和中断程序两部分,主程序处理常规的数据采集及控制操作,中断程序则处理异常事件及红外信号解码。  
       主程序包括系统初始化、按键扫描、红外信号处理、显示处理、电流信号采集、温度数据采集、压力信号采集、与CAN控制器通信、驱动信号产生等模块。程序流程图如图4-1所示:

主程序流程图

点击看原图


                                                     图 4-1 主程序流程图  
       主流程采用分时结构,在每个不同的时间片进行不同的工作。对主程序的循环时间实行定时,使得主程序每1ms循环。 
参考文献:   
[1] 杜尚丰等. 中国温室环境控制硬件系统研究进展  
[2] 于群等. 基于现场总线的10kV高压开关柜在线检测及故障诊断系统. 仪器仪表学报,  2002.

[3] MCP2510 datasheet https://www.dzsc.com/datasheet/MCP2510_477304.html.
[4] PCA82C250 datasheet https://www.dzsc.com/datasheet/PCA82C250_542618.html.

关键词:CAN  CAN总线单片机总线

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!