MSP430F在ETC中的應用

2021-09-30 10:16:16 字數 3705 閱讀 7676

ti公司的

msp430

微控制器產品系列具備16-bit rsic架構,超低功耗。作為msp430最新產品序列,f5***首次採用0.18um工藝,1mips消耗的電流低到了驚人的160ua,主頻達到25mips 。同時,msp430f5***提供了豐富的片上功能模組,例如,硬體的rtc,12-bit adc,靈活的時鐘系統,硬體crc16,電源管理模組和多通道的靈活強大的dma,支援待機模式下的資料交換。

高速公路不停車收費系統(etc)介紹

etc系統由rsu、obu和**管理器三部分組成,無交易發生時,喚醒電路和msp430f5***待機,其他電路全部關閉,交易過程為:首先是obu的喚醒電路接收到 rsu的訊號,喚醒電路再去喚醒obu的5.8g通訊電路、編碼、解碼電路,解碼電路解出乙個方波,如果是正確的rsu訊號,方波的頻率應該是14k(國標規定)msp430來判斷是否是14k方波,判斷正確msp430起來工作, 進行資料交易,否則繼續待機,其中上行資料速度:512k,上行資料格式是fm0碼,下行資料速度:256k.

不停車收費系統(又稱電子收費系統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來管理整個系統的功耗。這增加了系統的成本和複雜度。msp430f5***的問世,能夠同時滿足etc系統對mcu所有的挑戰,解決了客戶的困擾。

用f5*** 片上dma和timera捕獲功能實現fm0實時解碼的方法

msp430f5***卓越的低功耗特性能夠滿足etc obu的低功耗要求。作為msp430最新產品序列,f5***首次採用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資料傳送

MSP430F149 中斷及案例

msp430f149內部有三種型別中斷 系統復位中斷,不可遮蔽中斷,可遮蔽中斷 中斷過程 完成當前正在執行的指令 把pc暫存器內容入棧 把sr暫存器內容入棧 如果同時有多個中斷,則選擇優先順序最高的中斷 如果中斷是單源中斷,則中斷標誌位自動復位 如果中斷是多源中斷,則需要中斷服務程式復位 sr清零,...

msp430f149的低功耗模式

430的低功耗確實很強啊,雖然和vr微控制器比起來速度慢了好多。在cpu進行工作時,如果沒有什麼事情幹,就得進入低功耗模式啦,lmpx 0 4 這幾種模式的具體事項就是如下的,得記住了。一,執行模式 msp430具有一種活動模式和五種軟體可選的低功耗執行模式。乙個中斷事件可以將晶元從五種低功耗模式中...

msp430f5310定時器的認識

a 有兩種型別的定時器 timer a和timer b,其中timer a中又有3個同型別的定時器,timera0 timera1和timera2,也就是說5310能夠提供給你4個定時器進行單獨配置使用。b 每乙個計數器中有兩個中斷向量,乙個專門為ccr0分配的中斷向量,另乙個為公用中斷向量。因為c...