详情及预览
电子不停车收费系统(ETC)兴起于80年代,主要适用于道路、大桥和隧道收费站,由于过往车辆通过收费站时无须停车便能够实现自动收费,大大改善了目前普遍存在的路桥收费站停车收费造成交通堵塞的恶劣状况,受到各国政府和企业的广泛重视,许多世界著名的电子公司竞相开始研制,先后在北美、欧洲、日本、澳洲、新加坡等地广泛应用,已经成为智能交通的一大支柱产业。我国的ETC系统起步在上世纪90年代,主要靠引进国外的先进技术,虽然也取得了积极的效果,但由于起步晚,国内公路ETC工作仍处于试验和探索阶段。
整个ETC系统主要由车载单元(On board unit,OBU)与路边单元(Road side unit,RSU)组成,OBU与RSU之间的短距离双向通信属于专用短程通信(DSRC-Dedicated Short Range Communications)协议规范的范畴,该协议中的物理层可配置为A和B两个可选配置,其中配置A的上下行链路都定义为FM0,主要用于基本的ETC应用。线路FM0解码模块是ETC系统基带电路重要组成部分,这使得对FM0解码器的研究和优化提上日程。
本文介绍了在FPGA软件环境下用高级硬件描述语言VHDL实现FM0解码器设计,最终实现ETC系统中OBU和RSU中的FM0解码模块的逻辑功能。
1 FM0码介绍
FM0编码(即Bi-Phase Space)即为双相间隔码编码,编码规则是在每个码元的开始、结束以及‘0’码元正中间时刻发生跳变,其余时刻不变化。FM0编码以其便于位同步提取、频谱带宽较窄、实现电路简单而在短距离通信中得到了广泛的应用。编码的示意图如图1所示。
图1示出了代码序列为10110001时,FM0码的波形。图1(a)是源代码序列,图1(b)是FM0码的波形。比较图1(a)和图1(b)两个波形可以看出,FM0码实际上只要用一个与原始信号同步的时钟信号的跳变沿(上升沿或下降沿)以及‘0’码元对应的跳变沿(上升沿或下降沿)触发翻转,即可完成数据编码。
2 FM0解码器的实现方案选择
FM0解码器的实现方法主要可分为以下3种:第一种是使用专用集成芯片;第二种是软件编程实现,包括PC机和单片机;第三种是使用可编程逻辑器件实现,主要使用FPGA器件。目前市面上常用的FM0码的解码芯片比较少,例如STR715芯片,并且专业芯片的使用存在一定限制。软件编程方法尽管具有硬件结构简单、功能灵活等特点,但程序运行占用处理器资源多,执行速度慢,对信号的延时和同步性不易预测,只适用于低速信号处理。使用FPGA器件实现FM0解码,能够有效综合前两种方法的优点,因为FPGA采用硬件处理技术,可反复编程,能够兼顾速度和灵活性,并能并行处理多路信号,实时性能够预测和仿真。由于解码的算法多为逻辑运算和时序运算,采用灵活性极大的可编程逻辑器件FPGA完成FM0编解码更适合。
作为ALTERA公司第四代可编程逻辑器件开发软件,QuartusⅡ在设计流程的每个阶段都提供了图形模式和命令行模式等极为便利的输入手段,具有快速的编译和直接易懂的器件编程功能、对众多种芯片的支持和百万门级的设计能力。QuartusⅡ为FPGA设计者提供了原理图输入、HDL输入、图形设计输入、内存编辑输入等输入方法。
整个ETC系统主要由车载单元(On board unit,OBU)与路边单元(Road side unit,RSU)组成,OBU与RSU之间的短距离双向通信属于专用短程通信(DSRC-Dedicated Short Range Communications)协议规范的范畴,该协议中的物理层可配置为A和B两个可选配置,其中配置A的上下行链路都定义为FM0,主要用于基本的ETC应用。线路FM0解码模块是ETC系统基带电路重要组成部分,这使得对FM0解码器的研究和优化提上日程。
本文介绍了在FPGA软件环境下用高级硬件描述语言VHDL实现FM0解码器设计,最终实现ETC系统中OBU和RSU中的FM0解码模块的逻辑功能。
1 FM0码介绍
FM0编码(即Bi-Phase Space)即为双相间隔码编码,编码规则是在每个码元的开始、结束以及‘0’码元正中间时刻发生跳变,其余时刻不变化。FM0编码以其便于位同步提取、频谱带宽较窄、实现电路简单而在短距离通信中得到了广泛的应用。编码的示意图如图1所示。
图1示出了代码序列为10110001时,FM0码的波形。图1(a)是源代码序列,图1(b)是FM0码的波形。比较图1(a)和图1(b)两个波形可以看出,FM0码实际上只要用一个与原始信号同步的时钟信号的跳变沿(上升沿或下降沿)以及‘0’码元对应的跳变沿(上升沿或下降沿)触发翻转,即可完成数据编码。
2 FM0解码器的实现方案选择
FM0解码器的实现方法主要可分为以下3种:第一种是使用专用集成芯片;第二种是软件编程实现,包括PC机和单片机;第三种是使用可编程逻辑器件实现,主要使用FPGA器件。目前市面上常用的FM0码的解码芯片比较少,例如STR715芯片,并且专业芯片的使用存在一定限制。软件编程方法尽管具有硬件结构简单、功能灵活等特点,但程序运行占用处理器资源多,执行速度慢,对信号的延时和同步性不易预测,只适用于低速信号处理。使用FPGA器件实现FM0解码,能够有效综合前两种方法的优点,因为FPGA采用硬件处理技术,可反复编程,能够兼顾速度和灵活性,并能并行处理多路信号,实时性能够预测和仿真。由于解码的算法多为逻辑运算和时序运算,采用灵活性极大的可编程逻辑器件FPGA完成FM0编解码更适合。
作为ALTERA公司第四代可编程逻辑器件开发软件,QuartusⅡ在设计流程的每个阶段都提供了图形模式和命令行模式等极为便利的输入手段,具有快速的编译和直接易懂的器件编程功能、对众多种芯片的支持和百万门级的设计能力。QuartusⅡ为FPGA设计者提供了原理图输入、HDL输入、图形设计输入、内存编辑输入等输入方法。