用MS430F149实现GS时间数据处理及CAN总线通信系统

来源 :电子世界 | 被引量 : 0次 | 上传用户:fencer_2000
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】本文介绍一种使用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:
  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.电源输入及电源切换电路
  由于本系统要接收GPS数据,并用MCU进行守时,守时阶段由电池对MCU和晶体电路进行供电,MCP2515、GPS OEM板和PCA82C250不工作。
  非守时阶段,即系统正常工作时,所有功能模块均由外部电源供电,电池不工作。
  电源切换电路的具体实现如图2:其中D1、D2为低压降的二极管。1K阻值的R1,其作用是当输入电源中的一方断电时,确保另外一方不对断电方提供漏电压。输入电压经过DC/DC芯片TPS76030变换后,产生3V电压(com_3v),对MCU和晶体电路进行供电。其余电路部分分别由外部输入的3.3V和5V供电。
  四、系统软件模块设计
  系统软件的设计主要分三部分:MCU的UASRT1口配置为UART模块,进行GPS串行数据的接收和组织;MCU的TIMERA和TIMERB进行有效时间数据的加载和守时;MCU的UASRT0口配置为SPI模块,采用三线SPI的主机模式,与MCP2515进行数据交互,实现CAN总线系统的搭建。
  1.GPS串行数据的接收
  本部分由一个状态机控制,为了简化设计,共分为3个状态{同步头状态,命令头状态,GPS数据保存、分析状态},分别对应于:
  (1)缺省状态:同步头“$”搜索、捕获状态。
  (2)语句命令头“GPRMC”搜索、捕获状态。
  (3)GPS数据信息的保存和分析状态。
  (4)即回到状态1,重新进入同步头“$”搜索、捕获状态。
  详细数据处理流程见图3:
  2.守时模块的软件设计
  全局变量的使用如下:hour、minute、second、day、month、year,分别作为时、分、秒、日、月、年的计数单元。cnt3125为计320us的计数单元,计3125次即为1秒。数组gps_data[55],为接收GPS数据的缓存。data_to_timerA,数据是否已经加载完毕的标志。gps_flag,作为GPS数据是否有效的标志。
  主程序中,当GPS数据有效标志gps_flag=‘1’时,把gps_data[55]对应单元中的时间数据由ASCII码转换为二进制数据,并进行“时”数据的“+8”处理后,分别加载到hour、minute、second、day、month、year中。令data_to_timerA=‘1’,通知TimerA,数据已成功加载到守时计数单元。同时,打开TimerB,进行秒输入间隔超过1秒的超时判断。   使用了3个中断:定时器TimerA和TimerB中断,还有GPS秒输入信号中断。
  TimerA中断主要是完成模块守时,并实时产生秒输出信号。
  TimerB中断是完成GPS秒输入信号间隔大于1秒的处理。当秒间隔超过1秒时,令data_to_timerA=‘0’,清除GPS有效数据加载标志。
  GPS秒输入信号中断,当data_to_time—rA=‘1’时,对cnt3125计数单元清零,清除timerA计数初值,然后启动timerA,进行“增计数”,同时产生秒输出信号,最后令data_to_timerA=‘0’。
  GPS数据与秒输入信号共有4种可能的情形:
  (1)GPS数据有效,GPS秒输入有效,见图4:
  (2)GPS数据有效,GPS秒输入无效,见图5:
  (3)GPS数据无效,GPS秒输入无效,见图6:
  (4)GPS数据无效,GPS秒信号输入有效:其具体处理同第3种情形,即TimerA持续“开”,进行基本秒单元的计时和时、分、日、月、年单元的计数守时。同时实时产生GPS秒输出信号。TimerB一直关闭,不工作。
  3.CAN总线部分的软件设计
  MCU通过SPI总线与MCP2515进行接口,其数据传输速率设为1.6Mbps。MCU通过SPI的“串口发送中断”来对MCP2515进行写操作,通过“查询”的方式来获得MCP2515的状态信息以及数据信息。本系统中,CAN数据速率设置为1Mbps。
  MCU对MCP2515的数据接收:当MCP2515的接收缓冲器中接收满CAN数据时,在MCP2515的/INT管脚产生中断信号,通过MCU的I/O口中断来得知CAN数据已接收好,即时把CAN数据接收到MCU。
  MCU对MCP2515的数据发送:只需要被发送的信息帧传送到CAN的发送缓冲器,然后传送一条“请求发送”指令,启动数据的发送。
  该模块通信软件由3部分组成:MCP2515初始化、CAN數据接收、CAN数据发送。
  (1)MCP2515的初始化:
  主要完成CAN的通信速率设置、接收寄存器设置、ID屏蔽寄存器和ID过滤寄存器设置以及CAN收/发中断功能的设置。MCU对MCP2515所有寄存器的操作,都必须通过SPI接口,用MCP2515内置的读写命令来完成。
  因为MCP2515初始化完成后,默认处于“配置”模式,所以需要在初始化完成后,将其置为“正常”模式,否则MCP2515将一直停留于“配置”模式,而无法正常工作。
  (2)CAN数据的接收:
  MCU调用函数ReceiveMsg(),功能为:验收、滤波正确之后,收到的信息自动存放在MCP2515的接收缓冲中,由MCP2515产生中断,通知MCU进行CAN数据的接收和后续处理。其详细流程见图7:
  (3)CAN数据的发送:
  MCU组织好要发送到CAN总线的数据后,发送一条“读状态”命令,来判断MCP2515把前面一条报文是否已发送完毕。若前一条报文已发送完成,则调用发送函数SendMsg(),功能为:把待发送数据装载到MCP2515的数据发送缓冲,把待发数据的长度DLC、报文发送优先级、相应的节点ID信息依次装载到MCP2515的对应寄存器后,最后发送一条“数据发送请求”命令,来启动数据向CAN总线的发送。
  具体的数据发送流程图见图8:
  4.守时时间数据与CAN总线的数据交互
  MCU的主程序中,检测到can_flag=‘1’,就转而进行已接收CAN数据的分析。当发现CAN总线传来的命令是要求守时模块进行时间传输时,立即组织相应的时间数据,并通过CAN总线发送出去。
  五、结束语
  经实践证明,该系统能很好的完成GPS OEM板数据的接收、超低功耗MCU的软件守时以及与CAN总线的数据交互工作。软件全部采用C语言进行编写,具有较强的通用性、扩展性和可移植性。
  参考文献
  [1]秦龙.MSP430单片机C语言应用程序设计实例精讲[M].电子工业出版社,2006.
  [2]陈桂珍.利用MATLAB实现GPS OEM板与计算机的通讯及信息处理[J].盐城工学院学报,2006.
  [3]邬宽明.CAN总线原理和应用系统设计[J].北京航空航天大学出版社,1996.
  [4]王继国.CAN总线控制器MCP2515的原理及应用[J].电测与仪表,2004.
其他文献
【摘要】团购作为近年来兴起的一种全新电子商务模式日益受到消费者的欢迎。而这种全新的购物方式也给消费者权益的保护带来了新的问题和挑战。鉴于我国目前法律规范的不足和缺陷,团购消费者权益经常受到侵害的情况,应尽快出台《电子商务法》,实行举证责任倒置制度,确立团购网站、特约商家连带责任制度,完善网络消费者诉讼管辖原则;完善网络支付的相关法律法规、规范网络支付平台;工商部门也应加强监管,严格执法。  【关键
期刊
【摘要】绪论课不仅是一节课,更是学好一门课程的重要开始,一节好的绪论课可以让学生在接触本课程之初就产生浓厚的学习兴趣,从而带着更多的期盼、更明确的目标来学习电子线路这门课程。本文以电子线路专业基础课课程标准为准绳,以新课改思想为指引,结合电子线路中常见的、实用的应用电路,从教学实际出发,着重阐述如何在绪论课中培养学生的学习兴趣,调动学生学习本课程的积极性和主动性,从而全面提高学生的技能操作能力、理
期刊
【摘要】本文结合江苏省惠山中等专业学校在开展“工学结合、半工半读”培养模式中所出现的问题,分析了“工学结合、半工半读”培养模式的利弊关系并提出自己对“工学结合、半工半读”培养模式的思考。  【关键词】工学结合;企业;学生  工学结合这种教育模式由来已久,最早可以追溯到英国桑得兰德技术学院(Sundert and Technical College)工程系和土木建筑系于1903年开始实施的“三明治”
期刊
【摘要】帆板控制系统以AVR单片机为核心,采用距离测量传感器计算帆板与风扇之间的距离,采用高精度角度传感器对帆板的转动角度进行实时检测,通过键盘预置帆板的转角,采用PWM信号来调控风扇的转速,改变风力的大小,实现对帆板转角的精确控制。  【关键词】角度传感器;距离测量传感器;PWM信号;帆板控制  一、设计任务  1.赛题要求  设计并制作一个帆板控制系统,通过对风扇转速的控制,调节风力大小,改变
期刊
【摘要】本文重点探讨基于工作过程的教学方法在计算机教学课程中的应用。分析了高职院校课程模式的现状,提出了基于工作过程的教学模式改革的建议。任务驱动型的教学方法就是将教程的教学内容设计成一个个“任务”,将这些“任务”贯穿于教学过程的始终。每一个任务的设计要求来源于生产实际的工作过程,设计的整体思路是精心挑选出既满足教学大纲的要求,又能增强学生学习兴趣的“任务”。这是基于工作过程的教学方法的重点,也是
期刊
【摘要】在我国人身保险中,有关保险利益皆采用“同意推定主义”,在我国保险法的规定中有所体现,且我国《保险法》只规定投保人对被保险人具有保险利益,而不规定受益人对被保险人具有保险利益,这难以有效地遏制道德风险的发生。可见,我国《保险法》所规定的与投保人有保险利益关系的主体之范围过于狭窄。我国《保险法》应规定:人身保险合同在订立时投保人和受益人对被保险人应当具有保险利益;投保人、受益人对与其有其他经济
期刊
【摘要】本文作者基于广泛应用于质量管理工程的“PDCA”理论建设性的提出“S-PDCA”方法,并将其置入校园网建设的实践应用当中。将监测作为校园网建设管理过程中重要一环的“S?-PDCA”以其独特的项目质量监督控制方法,可以更加有效完成校园网建设任务。通过对“S-PDCA”方法在校园网建设期间的实践应用进行总结与分析后,作者发现采用新的方法后校园网建设更加高效与缜密,网络运维成本大幅下降。  【关
期刊
【摘要】诚信是中华民族的传统美德,是全人类所认同的道德规范。诚信,对于提升整个社会的道德水平,促进经济的发展、社会的稳定等方面具有重大的意义。当代大学生是国家的未来建设者和接班人,他们的诚信状况将直接关系到我国社会主义现代化建设的顺利进行。当今大学生的诚信问题是一个非常重要的议题  【关键词】诚信;缺失;大学生;考试作弊  从哲学的意义上说,“诚信”既是一种世界观,又是一种社会价值观和道德观,无论
期刊
【摘要】设计出应用于直流电动机的单闭环直流调速系统,结合控制理论的相关知识以及直流调速系统的新型算法,采用光电传感器测速,采用了目前比较流行的数字信号处理器(DSP)作为系统的控制器,其处理速度较高,正好符合本实现实时性要求高的特点;在主电路上,本系统采用了传统的三相桥式全控整流电路,从而使该系统更适用于调速系统。  【关键词】直流电机,TMS320LF2407,DSP控制  1.绪论  在工程实
期刊
【摘要】主要介绍了一种在FPGA中实现SPI总线通信串口模块的方法,并给出了设计方案、仿真结果以及硬件测试结果。本设计可以广泛应用于常规处理控制器件(单片机、DSP等)同外部外设及其它处理器之间进行SPI数据通信的系统中,特别是需要快速构建数据通信系统的应用环境,在通信、消费电子及工业控制等诸多领域有广阔的应用前景。  【关键词】SPI接口;VHDL;FPGA  1.引言  串行外设接口(SPI)
期刊