用
MS430F149 实现 GS 时间数据处理及 CAN 总线通信系统
【
摘要 】本文介绍一种使用 TI 的 16 位超低功耗单片机 MSP430F149 来接收 GPS OEM
板的时间数据,进行守时处理,并把实时时间数据通过
CAN 总线来对外传输。其中,CAN
总线是利用
MSP430F149 单片机和独立 CAN 控制器 MCP2515 来实现的。
【关键词】
MSP430F149;GPS 数据;CAN 总线;MCP2515
一、引言
TI 的 MSP430 系列单片机是一种 16 位单片机。由于它集成度高、外围设备丰富、超低功
耗等优点,因此在许多领域内得到了广泛的应用。本设计中所涉及的
MSP430F149 功能模块
的利用:
2 个串行通信接口(USART0/1)、2 个 16 位的定时器(TimerA/B)、I/O 口的一般
I/O 功能和 P1 和 P2 口的 I/O 中断功能。
二、
CAN 总线简介
CAN 总线是一种串行数据通信协议,其通信接口集成了 CAN 协议的物理层和数据链
路层功能,可完成对数据的成帧处理。
CAN 总线支持全双工通信,采用对通信数据块编码
的方式,可使网络内节点个数在理论上不受限制,还可使不同的节点同时接收到相同的数
据。
CAN 总线以其可靠性高、通信速率快、稳定性好、抗干扰能力强等特点,成为工控领域中
最佳的选择。
三、系统硬件设计框图
该系统硬件主要由以下几部分组成:
GPS OEM 板,MCU 为 TI 的 MSP430F149,CAN
总线控制器为
MicroChip 公司的 MCP2515,CAN 收发器为 PHILIPS 的 PCA82C250,以及
电源输入与电源切换电路。:
1.GPS OEM 板性能与 GPRMC 语句
本文所采用
GPS OEM 板,其输出串行数据格式为:波特率 9600,无校验、8 个数据位、
1 个停止位。输出信息设置为符合 NMEA0183 VER2.0 协议的 ASCII 码。输出语句为 GPRMC
语句,其具体数据格式为:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*
hh
其中,
“$”表示串头;GP 为标识符;RMC 表示语句名;<1>,<2>,….,<12>为输出
语句的数据字段;
“*”表示串尾;hh 代表“$”和“*”之间所有字符代码的校验和。所有的语句
都必须以结束,即
ASCII 字符“回车”和“换行”。<1>表示 UTC 时间,格式为“hhmmss(时分
秒)
”,实际应用中必须对“时”数据进行加 8 处理,转化为标准的北京时间。<2>代表定位状
态有效(
“A”)或无效(“V”)。<9>为 UTC 日期,格式为“ddmmyy(日月年)”。
该
GPS OEM 板的串行数据输出管脚为标准 CMOS 逻辑电平,故可以直接与单片机的
串行数据接收管脚连接,而不需另加
RS—232 电平转换芯片进行逻辑电平的转换。
2.MCP2515 性能简介
完全支持
CAN V2.0B 技术规范,能收、发标准数据帧以及扩展数据帧,最高通信速率
为
1Mb/s;
两个接收缓冲器,三个发送缓冲器,能对接收帧进行屏蔽、过滤,且优先级可编程设定。
具有高速
SPI 接口(10MHz)。
有灵活的中断管理功能,方便数据的组织和信息的管理。
上述这些特性,使得
MCU 对于 CAN 总线的操作变得更方便、高效。
更多关于
MCP2515 芯片的描述,详见其数据手册,在此不做详谈。
3.电源输入及电源切换电路