图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会输出相应的驱动信号,以控制这些机构。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循环一次。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』