詳情及預覽
電子不停車收費系統(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輸入、圖形設計輸入、內存編輯輸入等輸入方法。