肖振隆,王貴錦,李家祥
(1.清華大學 電子工程系,北京 100084;2.廈門雅迅網絡股份有限公司)
?
使用雙處理器的汽車行駛記錄儀設計
肖振隆1,2,王貴錦1,李家祥2
(1.清華大學 電子工程系,北京 100084;2.廈門雅迅網絡股份有限公司)
隨著車聯網技術的不斷發展,為了提高客戶的體驗度及車貸功能安全,各個車廠爭相推出帶有各自特色的車載終端。由于功能的不斷堆加,傳統的單處理器設計方案已不再滿足于現有車廠對設備的要求。隨著功能越來越多,單處理器容易產生業務相互干擾,效率、實時性差等問題。針對于此,本設計在基于傳統單處理器行駛記錄儀基礎上,采用雙處理器方式進行設計,加快數據處理,提高系統的擴展空間,保證網絡通信的實時性和并發性。
行駛記錄儀;Cortex-M3;GPS/BDS;CAN總線
汽車行駛記錄儀主要是記錄和存儲汽車行駛過程中的各種狀態數據,通過車輛相關狀態信息的記錄并分析,可以較精確地掌握車輛相關時刻的狀態數據。這些數據在事故分析鑒定中發揮著重要的作用,通過數據的監控,能夠有效地約束駕駛人員的不良駕駛行為,預防道路交通事故,保障車輛的行駛安全,提高營運管理水平[1]。同時,隨著車聯網的發展,車廠在滿足于公安部標準[2]和交通部標準[3]的同時,增加了各自特色的發動機控制功能,用于確保車貸安全及增加車輛的安全性及可靠性。因此隨著數據信息采集量的加大、數據類型的增多,對于行駛記錄儀的數據處理能力有著較高要求。
本文設計實現基于手機模塊(支持二次開發的手機模塊)與MCU組合的雙處理器的汽車行駛記錄儀。本設計采用負載均衡設計思路,采用雙處理器方式,數據采用雙重備份方式,確保產品相關數據穩定性;將車聯網相關業務放置到手機模塊上處理,將車身相關的業務放置在MCU中處理,將汽車信號以及位置信息遠程控制等任務均衡設計,確保在設備異常的情況下不影響整車CAN節點,確保整車行駛安全。
本設計中為確保產品相關數據的穩定性及增加數據的處理,整個系統分為三個部分:電源模塊、手機模塊及MCU模塊。系統總體結構圖如圖1所示。

圖1 系統總體結構圖
其中,電源模塊主要將汽車電瓶提供的12 V或者24 V轉換為系統所需的電壓電平,供整機正常工作。在電源模塊設計中,考慮到車輛點火會出現瞬態電壓,在設計上增加抑制瞬態電壓的功能。手機模塊處理車聯網相關業務,如獲取定位模塊采集的位置信息、處理音視頻信息、與營運平臺進行交互等業務。MCU模塊處理相關車身業務,主要通過CAN總線進行發動機相關數據采集,傳輸平臺下發相關指令,以及通過開關量檢測及模擬量檢測采集車輛相關硬線信號,如車輛脈沖、轉向燈信號等;同時Cortex-M3模塊也執行人機交互功能,實現顯示、操作、打印及數據導出等功能。
2.1 處理器的選擇
目前汽車行駛記錄儀終端廠大都采用單處理器解決方案,迫于市場成本壓力,作為主要硬件成本之一的處理器勢必不能占用過高成本,所以趨向于選取性價比較高的處理器。隨著車廠功能的增加,單處理器既負責通信網絡AT指令交互,又負責與車身交互業務處理,其同一時間只能優先處理一類業務,而犧牲另一類業務的實時性。例如在響應CAN中斷時必然無法響應網絡通信業務,在響應網絡通信業務(AT指令交互,串口中斷)時,必然無法響應CAN中斷,業務之間相互干擾,效率、實時性差。
隨著通信技術的發展和市場的不斷變化,越來越多的用戶認識到OpenCPU(支持二次開發的CPU方案)解決方案的優勢,特別是它低成本、高可靠性的現實優勢,備受行業用戶的青睞。MTK的OpenCPU解決方案,可以簡化客戶對無線應用的開發流程,精簡硬件結構設計,從而降低產品成本。
本設計采用“手機模塊(OpenCPU)+MCU”的雙處理器的方式進行設計,與車身交互相關的業務,由輔助處理器來進行負載分擔,可以快速響應硬件中斷而不影響車聯網的網絡通信,既保證了硬件中斷響應的實時性,又保證了網絡通信的實時性,并發性好。
本設計中手機模塊采用SIMCOM的SIM800V模塊,該模塊采用MTK平臺的MT6252A,時鐘頻率高達104 MHz,內置128 MB的NOR Flash和32 MB的RAM。
MCU采用意法半導體(ST)公司基于ARM的Cortex-M3內核架構下的32位處理器STM32F105RCT6[4],本芯片具有突出的處理器性能,低功耗及較高的性價比。該芯片主頻高達72 MHz;指令運行速度高達1.25 DMips/MHz(Dhrystone2.1);256 KB內置Flash存儲器,64 KB內置SRAM存儲器;0等待周期的存儲器;單周期乘法和硬件除法;5路USART接口;2路的CAN總線通信接口;支持CAN2.0;2個I2C接口(SMBus/PMBus);3個SPI同步串行接口(18 Mbps);1個USB 2.0全速接口;2個16位ADC,1 μs轉換時間(16通道);51個多功能雙向5V兼容的I/O口,所有I/O口可以映像到16個外部中斷;12通道DMA控制器;支持定時器、ADC、SPI、I2C和USART。
手機模塊與MCU之間采用UART串口進行通信交互,MCU將車身相關數據采集分析后傳輸給手機模塊,手機模塊通過無線網絡與平臺進行交互。
2.2 電源模塊設計
電源模塊的穩定關系著整個系統的正常運行與穩定工作,電源模塊的設計在整個設計中占有及其重要的部分。由于車輛中的電瓶同時給整個電氣系統供電,存在電壓不穩及瞬間電干擾、電磁干擾等問題,為確保電源的抗干擾能力,在設計過程中增加抑制瞬態電壓的能力及EMC處理。
本系統包含電源類型為:汽車電瓶電源、濾波后的電源、5 V電源、4.2 V電源、3.3 V電源、GSM電源、GPS電源,備用電池也屬于該電源模塊的一部分。系統中的電源通過DC-DC轉換,有的通過LDO轉換,最終都通過開關控制提供給相關模塊工作。通過軟件可以根據需求關閉部分模塊,從而降低系統功耗。整個電源模塊電路框圖如圖2所示。

圖2 電源模塊
2.3 手機模塊
手機模塊處理相關車聯網業務,主要通過定位模塊采集位置信息、處理音視頻信息,通過與營運平臺進行交互實現車聯網業務,其主要組成部分有手機模塊、定位模塊、音頻模塊及拍照模塊等。Open手機模塊結構圖如圖3所示。

圖3 Open手機模塊結構圖
各個組成模塊功能如下所示:
① 手機模塊:手機模塊集成了CPU、文件系統、操作系統、TTS以及GSM/GPRS移動通信的功能,負責整個系統的功能運轉和集中控制。通信內容主要有:上報采集數據、統計得到的數據,包括定位、車輛狀態、里程統計等數據;接收來自管理中心的指令,包括報警解除、中心號碼設置等。
② 定位模塊:本設計采用北斗雙模模塊設計,主要接收北斗、GPS信號。采用以北斗為主融合GPS的組合定位算法完成定位,提供車輛的速度、經緯度位置、時間和方向信息,是實現車輛行駛軌跡監管的核心模塊。
③ 音頻模塊:音頻模塊主要分為音頻采集及輸出。音頻采集通過麥克風采集相關緊急狀態下的監聽狀態及通話功能。音頻輸出通過TTS播報,同時進行相關語音通信及播報相關超速等報警信息。
④ 拍照模塊:本設計中的拍照模塊采用232串口攝像頭,通過攝像頭采集相關車輛的圖片信息,可以監控緊急狀態下的車輛內部及外部信息,為交通執法提供現場依據,同時可根據具體需求安裝多路攝像頭。
2.4 MCU模塊
MCU模塊處理相關車身業務,主要通過CAN總線進行發動機相關數據采集,通過傳輸平臺下發相關指令,以及通過開關量檢測及模擬量檢測采集車輛相關硬線信號(如車輛脈沖、轉向燈信號等)。主要實現功能包括數據導出、碰撞檢測、打印機、車輛信息采集、CAN總線接口、駕駛員身份識別及人機交互等。其各個模塊功能如圖4所示。

圖4 MCU模塊結構圖
① 數據導出:數據導出模塊分為DB9串口導出及USB接口導出,部分功能用于交通執法過程中進行車輛駕駛信息讀取,有利于交通執法。
② 碰撞檢測:該模塊可在車輛發生碰撞或者側翻時及時將事故信息上傳到中心,中心確認信息后能夠及時通報相關單位進行救援。
③ 打印機:打印“兩標”相關要求的相關車輛信息及行駛數據。
④ 車輛信號采集:車輛信息采集主要包括模擬信號、數字信號和開關量信號采集。其中模擬信號包括油量、水溫等;數字信號采集主要采集車上相關脈沖信號,如車速脈沖、轉速脈沖等;開關量信號采集主要對車輛相關開關進行采集,如制動、遠光燈、近光燈、轉向燈、喇叭、倒車等。
⑤ CAN總線接口:系統提供車輛信息的實時監測診斷系統以及基本的車身控制,采用TJ1051T作為控制器局域網絡(Controller Area Network,CAN)總線收發器,MCU通過CAN收發器采集車輛相關信息,傳送給GSM模塊,同時接收遠程或者本地控制指令,通過CAN總線實現相應的車身控制。同時CAN總線接口也可用于車輛信息的監測,包括CAN總線協議支持的所有數據,如胎壓、汽車電瓶、油耗、里程、剎車狀態等。
⑥ 駕駛員身份識別:駕駛員身份識別主要用于人車的身份識別,在車輛啟動前通過IC卡讀取人車身份信息,上傳到中心管理平臺,同時記錄到存儲器中。
⑦ 人機交互:人機交互平臺,主要包括顯示模塊和按鍵模塊,實現人與設備的交互,如通信參數的設置、設備狀態的檢測等。

圖5 Open手機模塊流程圖
本設計軟件采用分層工程設計模式。總體架構上可分為3層:平臺層、抽象層/中間件和應用層。分層設計大大降低了系統復雜度,使得應用層業務開發人員無需了解平臺特性,只需專注于應用業務開發,而平臺開發人員無需關注應用業務開發,只需關注中間件的實現,軟件的可靠性得以保證,既縮短了開發周期,且更換平臺與應用業務無關,可以更快捷地完成平臺升級替代。Open手機模塊、MCV模塊流程圖如圖5、圖6所示。

圖6 MCU模塊流程圖

[1] 孫正席,裴東興,張瑜.基于Cortex-M3 的汽車行駛記錄儀設計[J].計算機測量與控制,2012,20(4) : 1148-1151.
[2] 汽車行駛記錄儀國家標準.GB/T 19056-2012[S].
[3] 道路運輸車輛衛星定位系統北斗兼容車載終端技術規范交通部標準.JT/T 794-2011[S].
[4] STMicroelectronics.STM32F105xx Reference Manual,2009.
[5] 項文炳,孫永榮,許睿,等.基于雙CPU的智能汽車行駛記錄儀[J].工業控制計算機,2010,23(6):105- 107.
肖振隆、李家祥(助理工程師),主要研究方向為汽車電子應用領域;王貴錦(副教授),主要研究方向為立體視覺、深度成像、多媒體處理、目標檢測及跟蹤、智能交互、智能監控。
[3] 劉常清,黃文君,詹源.基于PowerPC的車載通信系統設計[J].計算機工程,2012,38(7):207-209.
[4] 徐娟娟.STM32F103的汽車遠程防盜系統設計[J].單片機與嵌入式系統應用,2012(11):66-69.
[5] 關麗敏,李思慧,李偉剛.STM32F107VC的嵌入式遠程監控終端設計[J].單片機與嵌入式系統應用,2014(6):72-75.
[6] 朱玉龍.汽車電子硬件設計[M].北京:北京航空航天大學出版社,2011.
[7] 曾邵明,宮輝. μC/OS-III 在S12X架構上的移植[J].單片機與嵌入式系統應用,2013(4):78-81.
[8] 黃彬,徐海賢,龐慶.μC/OS-III 在STM32處理器上的移植[J].中國儀器儀表,2014(3):37-42.
[9] 陳立軍.車載通信系統電磁兼容性設計[J].計算機與網絡,2007,11:42-43.
關曉菡(副教授),主要研究方向為車聯網硬件系統設計、嵌入式系統應用、電源技術;馬曉,主要研究方向為嵌入式系統應用。
(責任編輯:楊迪娜 收稿日期:2016-08-17)
Vehicle Traveling Data Recorder Based on Dual-processor
Xiao Zhenlong1,2,Wang Guijin1,Li Jiaxiang2
(1.Department of Electronic Engineering,Tsinghua University,Beijing 100084,China;2.Yaxon Network Co.,Ltd.)
With the continuous development of Internet of vehicles technology,in order to improve the customer experience and car loan function safety,each car factory is competing to launch the vehicle terminal with their own characteristics.As the function of the continuous heap,the traditional single processor design scheme is no longer satisfied with the existing car plant on the equipment requirements.As the functions are more and more,the single processor can easily generate the problems such as business of interference,efficiency,real-time and other issues.In view of this,based on the traditional single processor running recorder,the design uses dual-processor.The design can speed up the data processing and improve the system's extended space,ensure the real-time and concurrency of network communication.
vehicle traveling tata recoder;Cortex-M3;GPS/BDS;CAN bus
U463
A
?迪娜
2016-06-13)