基于MSP430系列单片机的CAN总线接口转换卡设计
摘要:IT公司的MSP430系列单片机是一种超低功耗的混合信号控制器,具有丰富的片内外设,有极其广阔的应用范围。介绍基于MSP430系列单片机的RS232/RS485 CAN总线通信转换接口的设计与实现,重点讨论其硬件配置和软件功能,给出电气原理和软件流程。
关键词:MSP430;CAN总线;接口;转换卡;设计
1 引言
控制器局域网(Controller Area Network,简称CAN)是德国奔驰公司20世纪80年代为解决汽车众多控制设备与仪器仪表之间的数据交换开发的一种串行通信协议。它作为现场总线的一种广泛应用于各种工业现场,根据不同的需要或以主从方式、或以多主方式工作。CAN总线使用的通信介质为双绞线或其他电缆,传输速率可达lMb/s。CAN总线与其他通信网的不同之处有二:一是报文传送中不包含目标地址,它是以全网广播为基础,各接收站根据报文中反映数据性质的标识符过滤报文,该收的收下,不该收的弃而不用。其好处是可在线上网下网、即插即用和多站接收;二是特别强化了对数据安全性的关注,满足控制系统及其他较高数据要求的系统需求。鉴于其极高的可靠性、独特的设计、高速率和传输距离较长等,特别适合于工业现场监控设备的互连。
2 系统简介
CAN总线采用总线式网络拓扑结构,如图l所示。采用CAN总线特有的多主传送方式,各个分机根据需要有数据时才主动发送,无需主机不停的轮询,从而节省网络上的数据流量,提高传输效率。
现有的监控设备大多采用的是RS一232或RS一485串行通信,为在此基础上组建CAN通信网络,笔者设计了一款便携式CAN总线接口转换卡,该转换卡可采用锂电池作为供电电源,功耗低、体积小、重量轻,可满足便携式需要。
3 系统硬件结构设计
德州仪器公司的MSP430系列单片机是一种超低功耗微控制器,电压范围为1.8V~3.6V。该处理器通过16位RISC系统、16位CPU、集成寄存器和常量发生器来获得最大代码效率。MSP430系列超低功耗微控制器是应用于工业控制、数字化电机控制、手持式仪表等设备中的理想微控制器。本设计选用MSP430F449型单片机,它具有丰富的片上模块:最多8路12位A/D转换器、48个I/O端口、2个UART看门狗、2个内置16位定时器、可在线仿真的Flash内存、7路PWM输出、LCD驱动等。
便携式CAN总线接口转换卡的电气结构原理框图如图2所示,它由电源模块、CAN通信接口电路、串口电平转换电路、缓存和LCD模块组成。
3.1 CAN通信接口电路
系统硬件以Philips公司的SJA1000型CAN总线控制器为核心,它是一款独立的CAN总线控制器,主要用于工业环境中。它也是Philips半导体PCA82C200型CAN控制器(Basic CAN)的替代产品,经过简单总线连接的SJA1000可完成CAN总线的物理层和数据链路层的所有功能。SJA1000由CAN核心模块、发送缓冲区、接口FIFO、验收滤波器和接口管理逻辑组成。CAN核心模块主要负责CAN信息帧的收发和CAN协议的实现,接口管理逻辑负责SJA1000与主控制器的接口。在进行数据传输时,主控制器把标识符和数据送入发送缓冲区后请求发送,从而启动CAN核心模块读取发送缓存区中的数据,再按CAN协议封装成完整的CAN信息帧,通过收发器发往总线,发送缓存区的容量为13字节。验收滤波器单元对接收到的信息进行处理后送到接收FIFO中,接收FIFO为64字节。PCA82C250型CAN总线收发器是CAN控制器与物理总线之间的接口,它提供了CAN控制器向总线的差动发送、接收能力。该收发器依靠引脚8(RS)的不同连接可以选择3种不同的工作方式:高速、斜率控制和待机方式。通过RS引脚对地连接的电阻器可对总线进行斜率控制,斜率正比于引脚RS上的电流输出。对于传输速率要求较高的应用场合,通常将引脚8直接接地以选择高速方式。在此方式下,发送器输出晶体管简单地以尽可能快的速度启闭,不采取任何措施限制上升和下降斜率,因此必须采用屏蔽电缆以避免射频干扰。CAN控制器的发送和接收端口分别通过1个光电隔离电路与PCA82C250连接,有效地抑制了总线引入的干
扰。
3.2 串口电平转换模块
在本设计中,MSP430F449只用1个USART接口,而CAN转换卡集成了RS232、RS485 2个通信模块,设计中通过DIP开关选择接口类型。RS232和RS485串口电平转换模块分别选用Maxim公司的MAX3221和MAX3485。
3.3 电源模块
整个系统除由锂电池供电外,还可以用小型变压器等外部电源供电,以满足不同场合的需求。选用TPS7333作为MSP430F449的稳压电源输出3.3V的系统供电电压。为保证数据正常传输,电源电路中还配有bq24012型电池充电管理电路,以便在电池电量较低、可能会影响正常数据传输时及时报警,提醒更换电池或充电。
3.4 缓存和LCD模块
为了节省PC的工作时间,设计时用TMS44400型动态存储器扩展动态存储区间,传输数据时首先读取报头信息以决定是实时传输还是缓存操作。MSP430F449带有液晶驱动模块,设计中选用东显公司的EDS805型液晶显示模块,用它实时显示系统的状态特性、数据的传输速度、剩余时间等,它还可以进行电源欠压报警。
CAN总线 相关文章:
- CAN总线—PROFIBUS-DP总线网关的实现方法(01-17)
- 汽车CAN总线(01-21)
- CAN总线控制器与DSP的接口(01-21)
- 基于ARM的CAN总线智能节点的设计(01-24)
- 基于WinCE的液位遥测系统软件设计(04-13)
- 基于ARM的CAN总线电缆沟道监测系统的设计(05-22)