0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

实现ETC系统中实时HDLC编解码的方法

电子设计 来源:互联网 作者:佚名 2018-03-21 08:26 次阅读

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

MSP430介绍

TI公司的MSP430 单片机产品系列具备16-bit RSIC架构,超低功耗。作为MSP430最新产品序列,F5xxx首次采用0.18um工艺,1MIPs消耗的电流低到了惊人的160uA,主频达到25MIPs 。同时,MSP430F5xxx提供了丰富的片上功能模块,例如,硬件的RTC,12-bit ADC,灵活的时钟系统,硬件CRC16,电源管理模块和多通道的灵活强大的DMA,支持待机模式下的数据交换。

高速公路不停车收费系统(ETC)介绍

不停车收费系统(又称电子收费系统Electronic Toll Collection System,简称ETC系统)是利用RFID技术,实现车辆不停车自动收费的智能交通子系统。该系统通过路侧单元RSU(Road Side Unit)与车载电子标签之间OBU(On Board Unit)的专用短程通信,在不需要司机停车和收费人员操作的情况下,自动完成收费处理过程。

ETC车载单元结构

图 1. ETC OBU结构图

如图一所示,OBU由电池系统,MCU射频,显示和读卡部分(ESAM卡,CPU卡,射频卡)组成。MCU作为整个系统的中心,负责管理显示,读卡以及与射频部分的数据处理及交换。

FM0编码方式介绍

在车辆通过收费站时,OBU和RSU通过5.8G的载波调制,进行高速的数据交换。数据采用HDLC FM0调制。FM0编码遵循以下三个规则:

A.一个周期内有电平跳变表示”0” ;
B.一个周期内没有电平跳变表示”1”;
C.相邻两个周期电平相反。

数据形式请参考图2

图 2. FM0编码方式

车载电子标签(OBU)对MCU的挑战

车载电子标签系统对MCU有两个挑战 。一是低功耗;二是高速数据通信能力。
车载电子标签的电池要求有5年以上寿命或者能够支持1万次以上交易。整个系统的低功耗设计成为工程师们的首要任务。其次,RSU对OBU下行数据波特率达到了256Kbps,上行数据波特率512Kbps。由于车辆通行时间非常短,需要OBU对RSU的数据和命令快速响应。而数据包最长能够达到1Kbits,不允许OBU收下整个数据包之后再解码,这要求MCU有实时编解码的能力。
一般情况下,对FM0的软解码需要得到数据的电平宽度,从而实现解码。通常有两种方式,一种是Timer捕获数据沿,然后软件在中断中判断数据沿之间的宽度。另外一种是定时采样数据口线的电平,通过计数方式得到电平宽度。ETC下行数据速率达到256Kbps,对数据“0”来讲,数据跳变沿之间的宽度只有2uS。对数据“1”来讲,数据沿宽度只有4uS。以第一种方式为例,传统的软解码方式过程如下:

图 3. Timer 捕获中断方式

如图2所示,数据接收过程中,Timer会每2uS或者4uS捕获到一个数据沿,并把数据沿保存到对应寄存器。所以,Timer捕获寄存器里的数据会最快每2uS更新一次。这就需要CPU速度足够快,能够在至少2uS之内完成解码过程。否则,Timer捕获寄存器的数据就会被新的数据覆盖掉,造成解码错误。假设MCU完成1个bit解码的时间需要50个cycle,那么至少需要MCU主频达到25MIPS以上才能实现实时解码。通常,我们会选取主频超过40MIPs的MCU,而这些高速MCU功耗往往难以满足ETC系统的要求。所以,很多ETC生产商采用双MCU的方式,由一颗高速MCU实现FM0实时编解码,另外还有一颗低功耗MCU,通常是MSP430来管理整个系统的功耗。这增加了系统的成本和复杂度。MSP430F5xxx的问世,能够同时满足ETC系统对MCU所有的挑战,解决了客户的困扰。

用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所示:

图 4. DMA自动数据搬移的解码方式

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

图 5. FM0 DMA方式解码图示

解码过程说明:

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

图 6. 程序流程图

实测结果:

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

图 7. 串口接收到的数据

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

图 8. 解码实时性

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • msp430
    +关注

    关注

    178

    文章

    2223

    浏览量

    228525
  • 车载电子
    +关注

    关注

    0

    文章

    53

    浏览量

    17508
  • rsic
    +关注

    关注

    0

    文章

    2

    浏览量

    2775
收藏 人收藏

    评论

    相关推荐

    基于CPLD的CMI编解码电路的设计与实现

    数字通信过程,基带信道对传输信号的码型有严格的限制。针对数字光纤通信传输信号码型的要求,介绍了CMI码的编解码原理,提出了一种基于可编程逻辑器件EPM240T100C5实现CMI编解码
    发表于 05-06 09:06

    音频记录PCM编解码系统

    本帖最后由 luna 于 2011-3-3 14:44 编辑 PCM编解码系统的编码器,传输变换两路音频信号为一路带有冗余信息的PCM信号。冗余信息包含纠正记录或重放期间产生的随机误差所增加
    发表于 03-03 00:08

    MSP430F5xxx在高速公路不停车收费系统ETC的应用

    摘要本文探讨了使用MSP430F5xxx实现ETC系统实时HDLC
    发表于 09-26 11:01

    求一种基于FPGA的HDLC协议编解码器设计方案

    本文主要围绕WTB链路控制的帧格式进行研究。鉴于IEC61375-1标准规定的WTB帧数据格式与IS03309定义的HDLC(High Level Data Link Control)格式一致,基带Manchester-Bi
    发表于 05-08 06:45

    基于HarmonyOS编解码能力,实现Camera实时预览流的播放

    解码能力播放预览画面。通过本教程,你将实现不受视频格式限制、不受视频完整性的影响、确保设备可以实时播放视频流数据,也可以以此为基础实现分布式相机预览、直播、视频聊天等功能。图1-1
    发表于 09-17 10:56

    H.264 便携式实时编解码器的设计

    采用 Qpixel 公司推出的高性能SoC 芯片QL202B 设计了一个H.264 标准的便携式实时编解码系统,重点介绍了系统和硬、软件模块的结构和设计,在测试的基础上介绍了这个
    发表于 12-28 11:13 16次下载

    接口协议智能编解码方法研究

    针对当前复杂信息系统仿真中,关于接口协议编解码方法的缺陷,从接口协议的存储、程序设计的数据结构和编解码流程几个方面,给出了复杂信息系统仿真中
    发表于 02-21 11:07 20次下载

    WTB网络HDLC在FPGA中的实现

    在WTB底层协议的研究中,其基本帧格式与ISO3309的HDLC要求一致,故设计了一种基于FPGA的HDLC编解码器。重点介绍了协议和实现方法
    发表于 12-11 16:07 26次下载
    WTB网络<b class='flag-5'>HDLC</b>在FPGA中的<b class='flag-5'>实现</b>

    用XC9572实现HDB3编解码设计

    用XC9572实现HDB3编解码设计 介绍了HDB3编解码的原理和方法,给出了用CPLD(Complex Programmable Logic Device)
    发表于 03-28 15:15 1484次阅读
    用XC9572<b class='flag-5'>实现</b>HDB3<b class='flag-5'>编解码</b>设计

    二维条码的编解码系统实现

    本文在研究二维条码的码制标准的基础上,设计并实现了 DataMatrix 和QR Code 两种二维条码的编解码系统,提出了针对不同二维条码的图像识别方法
    发表于 09-20 16:01 0次下载
    二维条码的<b class='flag-5'>编解码</b>及<b class='flag-5'>系统</b><b class='flag-5'>实现</b>

    RS编解码的FPGA实现-说明

    RS编解码的FPGA实现-说明RS编解码的FPGA实现-说明。
    发表于 05-04 15:59 21次下载

    基于FPGA的JPEG实时图像编解码系统

    基于FPGA的JPEG实时图像编解码系统
    发表于 08-29 16:05 15次下载

    MSP430F5xxx 实现高速公路不停车收费系统实时HDLC编解码

    本文探讨了使用MSP430F5xxx实现ETC系统实时HDLC编解码
    发表于 04-26 17:55 1669次阅读
    MSP430F5xxx <b class='flag-5'>实现</b>高速公路不停车收费<b class='flag-5'>系统</b><b class='flag-5'>实时</b><b class='flag-5'>HDLC</b><b class='flag-5'>编解码</b>

    FFMPEG视频编解码流程 H.264硬件编解码实现

    本文阐述了基于FFMpeg的 H.264视频 硬件编解码在 S3C6410 处理器上的实现方法,为数字娱乐、视频监控和视频通信系统开发过程中的高清视频硬件
    发表于 04-03 11:28 1.9w次阅读
    FFMPEG视频<b class='flag-5'>编解码</b>流程 H.264硬件<b class='flag-5'>编解码</b><b class='flag-5'>实现</b>

    NANDFLASH快速BCH编解码算法及便件实现

    NANDFLASH快速BCH编解码算法及便件实现(嵌入式开发自学网)-NANDFLASH快速BCH编解码算法及便件实现        
    发表于 07-30 14:14 5次下载
    NANDFLASH快速BCH<b class='flag-5'>编解码</b>算法及便件<b class='flag-5'>实现</b>