何晏平
(上海平揚電子科技有限公司,上海201600)
新型號的汽車在進入路試后,經常碰到各種各樣的故障,需要專業人員進行及時的數據分析處理,以判定是哪一個系統和部件出了問題。通過數據采集器采集車輛數據,然后及時本地壓縮存儲后再通過4G 無線網絡上傳到遠在千里之外的云平臺存儲備份。讓專業人員進行數據分析,查找問題,加快研發進度。
系統分三部分組成,帶數據采集器的路試車輛、負責云端數據接收和分發的后臺服務器以及應用和操控的網絡電腦。在路試的每個車輛,配備一個數據采集器,其ID 與車輛的特征碼綁定,以區分是那一輛車的數據。每個數據采集器最多可提供八路的can 信號的數采集。分布式的應用電腦透過網絡讀取后臺服務器的數據開展業務。
本設計為滿足汽車數據采集而設計,考慮到系統的復雜性及成本,最多提供八路高速can2.0 采樣,速率250kbps, 500kbps,1Mbps可以調整。預留一路LIN Bus 信號采樣。采集數據除了can 數據外,還包含設備身份信息,定位和采集時間的基本信息,可以滿足使用要求。數據無線傳輸使用4G 網絡和wifi 網絡傳輸到指定的后臺。且4G 網絡和wifi 網絡自動切換。在硬件方面,由于是和汽車一起野外測試,要求穩定可靠,能夠抗得住極低溫和極高溫以及強烈震動的不良使用環境下的考驗。還要滿足汽車惡劣的電磁環境的使用要求。所以,在設計采集器時,我們選擇了帶汽車級別的AECQ100 認證的主動器件,以及帶AECQ200 認證的被動器件,以保證在-40~85℃環境下使用的可靠性。在PCBA 上的設計使用了八層板的設計,EDS 器件的使用,金屬外殼的使用。保證了該設備在強電磁環境下的穩定可靠。最終測試滿足汽車部件的企業考核標準。
數據采集方面本設備具有八路獨立CAN 通道采集數據功能。速率支持250Kbps 及500Kbps,1Mbps,支持CAN2.0A 及CAN2.0B數據采集格式。支持CAN 數據ZIP 及GZ 壓縮算法,可以擴展其它壓縮算法;CAN 數據在本地循環存儲,并且使用FTP 上傳到后臺。LED 可以實時顯示數據收發狀態。使用GPS 及無線網絡NTP 對系統進行校時。設備留有以太網網口,支持10M/100M/1000M 高速以太網數據存儲及通信。提供4G 高速上網功能。具有WIFI 客戶端聯網功能。外擴SD/T 卡功能,可以將數據導出到移動存儲設備。
在圖1 中,數據采集器主要由采集電路、數據處理電路、數據傳輸電路三部分組成。數據采集電路由八路獨立的CAN 數據采集器完成從外部總線上的數據采集。CN1 到CN8 是接線端子,CAN 信號的輸入。U12 是CAN 信號收發器,完成信號的電平和傳輸方式的轉換。U13 是CAN 信號控制器,起到將來自于MPU 的數據按CAN信號的格式進行收發。其他路與此相同。U1 是MPU,它與U3 PMIC,U4 EMMC,以及U5 DDR3 共同構成了最小數據處理SOC 系統。來自于CAN 信號控制器的數據在MPU 時序的控制下,進入MPU,在這里與來自于U2 的定位信號以及來自于RTC 的時間數據,完成數據的整合與壓縮及打包。數據傳輸由U2 完成,它是4G 無線通訊模塊,通過它與后臺交互數據。還有電源系統U10 提供了電源供給,U9 是MCU,進行開關機時序的管理。

圖1 系統框圖
在架構選定后,硬件設計包含元器件的選型,原理圖的建立以及后面的PCB 布局和線路板設計與仿真。
數據處理的核心是MPU,MPU 的計算能力必須要滿足大量數據的實時計算與壓縮和打包。 IMX6Q 是一個內部帶有Cortex A9的4 核ARM 處理器,主頻高達1.2GHz 以上。IMX6Q 芯片帶有WEIM 接口,支持16/32bit 的地址/數據總線混合模式,這個接口可靈活配置地址/數據端口,支持外接SRAM、NorFalsh 和OneNAND等設備,與外圍的SJA1000T 總線控制器數據接口通過電平轉換器匹配。

圖2 軟件架構圖
CN1,CN2,CNX,CN8 是8 路can bus 數據采集的輸入口連接器,可以接收can2.0 的數據,支持速率250kbps 和500kbps 的數據取樣。最高可到1Mbps 的速率。U12 是NXP 的TJA1042,是其中一路的can2.0 數據的信號收發器,它將兩線制的can 差分信號轉換成TXD 與RXD 的串行信號與can 信號的控制器銜接。U13 是NXP 的SJA1500T,它是can 數據的收發器,與后面的處理器銜接。將發送的并行的數據轉換成can 信號發送出去,也可將前級送來的can 信號,轉換成并行信號被處理器接受。該收發器可設置不同的波特率,以適應采集信號的要求。同時,每接受16 幀can 信號后,給處理器發出一個INT 請求,也可報錯。處理器在收到INT 請求后,由于內置64bytes 的FIFO。一次性可讀取16 幀can 信號,同時指示一路LED 燈亮。U1 是IMX6Q 是一個內部帶有Cortex A9 的4 核ARM 處理器,主頻高達1.2GHz 以上。它與周邊的U3,U4,U5 和U6構成了最小的SOC 系統。配置了DDR3 1G bytes 的內存,32G Bits Flash 存儲器。 U3 是電源管理器,DC 5V 的輸入,它提供了整個SOC 的供電。以及上電時序的管理。本地的SD 卡提供循環存儲備份。U20 是wifi 模塊,支持IEEE802.11bgn,U2 是4G 無線通訊模塊,帶衛星定位功能。通過協議打包的數據,使用wifi 網絡及4G網絡上傳數據。U10 是DC/DC,由DC12V 轉換成DC3V3 供外設使用,5V 供USB,MPU 系統使用,3V8 供給4G 模塊單元使用。 U9是32 位的MCU,對系統的電源,上電時序進行管理。可以監控CAN 信號是不是存在。U8 是RTC,給系統提供時間,由網絡和GPS校時。
系統從下到上依次為硬件層、OS 層、平臺層、服務層及應用層。硬件層主要由MPU MCU 及外圍電路組成,OS 層為負責車端的RTOS 及負責應用的Linux 系統組成,平臺層主要為各種硬件及操作系統資源的抽象層,服務層主要提供CAN、WiFi、file、LED、storage、4G 等services,應用層通過調用service 層提供的服務來實現具體的功能。
MPU OS 采用Linux kernel4.9.11 版本,采用RAM 高速緩存存儲CAN 幀,然后轉存至外存,采用ZIP 壓縮,CPU 占用小、效率高,采用FTP 上傳,支持斷線重傳。采用循環存儲策略,有效防止存儲溢出。 MCUOS 為UCOSRTOS,采用高速CAN 實時采集車況數據,并發送控制指令。 MPU 系統高速采集多路并行CAN 總線數據。Platform 層主要是SOC 及外設驅動適配層, 維護及監控整個板卡的工作狀態。Service 層主要為4G 撥號上網,WIFI 熱點鏈接,高速以太網連接,GPS 定位、CAN 數據采集。APP 應用層主要包含CAN 數據壓縮存儲及上傳,LED 狀態更新,網絡時間同步,GPS 數據的存儲上傳,4G 撥號、WIFI、以太網配置等。
上電后MCU 率先啟動,打開MPU 電源,初始化RAM/ROM,引導 進 入Linux OS。初 始 化UART、EMMC、RTC、LED、Ethernet、WIFI、CAN 等設備驅動,初始化文件系統、TCP/IP 協議棧、shell 環境等。接下來啟動4G module,使用PPPD 進入撥號流程,獲取公網DNS 及IP 地址。然后是WIFI 熱點鏈接,在linux 上映射為WIFI0網口,綁定DHCP client 及DNS client,搜索到WIFI AP 后,加入到網絡中,在4G 網絡不可用時,切換gateway 為WIFI0。上述過程ready 后MCU 會同linux 進行時間同步,系統啟動后,linux 需要從MCU 獲取車輛VIN 碼,并和MCU 進行時間同步,同時LINUX 會從網絡上獲取基站時間。MCU VIN 碼的獲取是在車輛上電后,MCU 會啟動CAN 協議棧,發送UDS 診斷包,車輛收到診斷包后,發出VIN 序列號給到MCU,MCU 收到后存入ROM 中,并且通過UART 接口發送給MPU 系統。接下來是CAN 幀采集, 實時從can接口抓取CAN 幀,并寫入設備序列號、CAN 端口號、時間序列等。經過上一步打包的CAN 幀,轉存入RAM 高速緩存中,并啟動壓縮程序。隨著ZIP 壓縮程序的啟動,CAN 幀原始文件,經過ZIP 壓縮打包后,存至EMMC 中。這時候系統會啟動FTP 數據上傳。為了實現循環存儲,CAN 幀原始文件在轉存至EMMC 后,監控程序會輪訓文件夾大小,size 超限后,刪除時間最老的文件。整個過程會伴隨著LED 狀態的更新,監控程序會檢查CAN 網絡包的狀態,根據數據統計結果更新點亮LED 指示燈,在5S 內數據統計不再跳動,則熄滅LED 燈。
滿載八路CAN 信號發生器接到CAN 采集器上,采集器抓取到CAN 幀,打上時間戳并發送到測試后臺,測試后臺抓取到數據包,轉交由分析程序分析。分析程序解判定收到的幀的丟幀率和錯誤率。
采集器在有CAN 數據流時點亮指示燈,反之熄滅LED 指示燈。在4G 在網絡正常時,可以正常撥號上網。在WIFI 網絡正常時,可以正常接入到WIFI 熱點。在插入以太網后,可以正常獲取DNS及IP 地址。設備可以從基站獲取時間,并且MPU 和MCU 可以保持時間同步。CAN 幀可以正常壓縮上傳,并且在遠端FTP 服務器上可以收到CAN 幀,并且CAN 幀完整無異常。EMMC 外存在存儲達到上限后,自動刪除,達到循環存儲要求。
測試下來八路CAN 同時加載的情況下誤碼率不超過千萬分之一,達到預期設計驗證效果。
本文通過對無線多路汽車數據采集器的設計與分析,簡單分析了其系統網絡工作環境,對其特點以及工作原理進行了簡單描述,從設計的角度對其硬件配置以及重要元器件進行了描述,隨后通過系統軟件設計使其得以實現,通過系統測試后,運行良好,達到預期驗證效果,無線多路汽車數據采集器的應用既可以幫助相關工作人員處理問題又可以提高工作效率,再此領域起積極作用。