MSP430F5单片机实现ETC系统中的编码方法 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

MSP430F5单片机实现ETC系统中的编码方法

来源:电子发烧友  作者:中国一卡通网 收编  发布时间:2011-08-08 14:10:29  字体:[ ]

关键字:单片机  ETC  编码  

摘   要:本文探讨了使用MSP430F5xxx实现ETC系统中实时HDLC编解码的方法。MSP430F5xxx是TI公司MSP430家族最新产品序列,采用先进的0.18工艺,1MIPS消耗的电流低到了惊人的160uA。同时,F5xx产品都配备了高效灵活的DMA模块,对16bit数据进行搬移只需要2个时钟周期。本文给出了结合F5xx的DMA,TimerA,CRC16及SPI,实现几乎实时的HDLC FM0软解码办法和利用SPI的便捷的FM0编码方法。本文包括相关的两个实例代码。


  用F5xxx 片上DMA和TimerA捕获功能实现FM0实时解码的方法

  MSP430F5xxx卓越的低功耗特性能够满足ETC OBU的低功耗要求。作为MSP430最新产品序列,F5xxx首次采用0.18um工艺,1MIPs消耗的电流低到了惊人的160uA,片上PMM(电源管理模块)让用户能够根据MCU负荷灵活调节核电压,确保功耗最低。另外,具备多种低功耗状态。在典型的LPM3模式下,打开RTC,RAM数据保持的情况下功耗仅为2uA。

  除了卓越的低功耗特性外,MSP430F5xx主频虽然最高只能达到25MIPS,但由于有灵活的多通道DMA,能够与Timer联动,实现数据的自动搬移而不干扰到CPU,这极大的增强了MCU的数据吞吐能力,使主频不再成为瓶颈,而完成对FM0近乎实时的解码。另外,硬件的CRC16模块让MCU只需要操作寄存器就可以完成数据校验。利用DMA和CRC16的实时解码过程如图4所示:

  数据接收过程中,Timer每2uS或者4uS捕获到一个数据沿,这时会自动触发DMA,DMA自动将Timer寄存器的数据搬移到RAM区的指定数组当中。整个数据接收过程不需要CPU的参与。有了DMA的存在,CPU就不需要频繁的进出中断去取数据,也不用担心Timer捕获寄存器数据的丢失,只需专注于解码过程。

  解码过程说明:

  1. 待机状态:TimerA配置成捕获模式,使能TimerA中断,等待数据到来
  2. 捕获到第一个数据沿:在TimerA中断中使能DMA,使能TimerB及TimerB中断
  3. 数据接收:DMA自动将后续的数据沿搬移到内存数组中;同时MCU解码
  4. 数据结束:TimerB判断数据接收结束
  5. 解码结束

  采用120bytes的数据做FM0解码测试,其中数据位”1”和“0”约各占50%。MSP430F5438完成解码后,通过串口输出数据如图7所示:

  对上图1Kbits数据,实测MCU完成解码,滞后数据包接收完毕约220uS.如图8所示

  使用MSP430F5xx SPI及DMA实现FM0编码及发送的办法。

  ETC OBU系统MCU上行数据率是512Kbps。通过灵活应用片上DMA及SPI模块,可以方便的完成FM0数据发送。

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖