资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
SPMC65单片机在 CAN总线智能节点中的应用文章来源:凌阳单片机推广中心 发布时间:2006-1-11 15:55:47摘 要: 本文主要介绍如何使用 SPMC65P2404A单片机设计开发 CAN总线中的智能节点。关键词:SPMC65 单片机、CAN 总线、智能节点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总线传送至各节点。各 节点由单片机作为控制器,它用于采集现场的各项参数,并 执行主机发 送的各项命令, 这些命令将最终传 送至各执行机构,如阀门、电机或泵等。图 1-1 CAN总线应用系统本文将介绍基于凌阳 8 位通用型工控单片机的 CAN总线智能节点的设计。本文将阐述智能节点中的主控器 SPMC65P2404A 在本方案中的应用特点,及主控器与 CAN总线控制器之间的通信。2 芯片特性简介SPMC65P2404A 是凌阳推出的 8 位工业控制单片机,最高工作频率为 8MHz,工作 电压 3.0V5.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总线:最高通信速率为 2Mbps5 种复位功能:上电复位、低电压复位、看 门狗复位、外部复位及错误地址复位支持 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 会输出相应的驱动信号,以控制 这些机构。SPMC65P2404A 具有 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 循环一次。5 参考文献 1 杜尚丰等. 中国温室环境控制硬件系统研究进展2 于群等. 基于现场总线的 10kV 高压开关柜在线检测及故障诊断系统. 仪器仪表学报, 2002.
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号