梁妍 原立格 郝洋洲
(1.鄭州工商學院,河南 鄭州 451400;2.河南省航空物探遙感中心,河南 鄭州 450053)
基于STM32的CAN總線接口控制系統設計
梁妍1原立格1郝洋洲2
(1.鄭州工商學院,河南鄭州451400;2.河南省航空物探遙感中心,河南鄭州450053)
本文設計了一種汽車的接口控制系統,以STM32為主控器,搭配傳輸速度快且性能穩定的TJA1042 CAN收發器,可以與CAN總線數據和串行數據同時通信,該接口與多種多媒體設備連接,使車身在融合了強大的娛樂功能的同時又可以更加方便地對車輛進行監控和控制,實現汽車智能化。
接口控制;STM32;CAN總線;通信;智能化
近年來,嵌入式在車身上的應用愈加流行,與CAN總線的高效通信也提高了車輛的總體性能。CAN總線是一種實時總線,有一定的通信協議來作為標準,數據的傳輸可以用普通的線束也可以用雙絞線,而且是一種多主多控的通信總線,帶有自檢功能,還能有效抵抗電子干擾,傳輸速率最高可達1Mbps。隨著嵌入式技術的快速發展,在汽車應用中將嵌入式與CAN總線配合使用,不僅降低了制造成本,提高了運算傳輸速度和安全性,還更加靈活、易操控[1]。
本文采用具有CAN接口的STM32開發板作為通信的主芯片,搭配具有CAN收發控制功能的TJA1042模塊,來實現一個完整的CAN通信網絡系統。總線連接的各模塊除了和主芯片通信以外,還可以依據總線協議相互通信。在汽車上將汽車CAN總線數據轉化為串口數據與智能產品對接,用作監控車輛信息,指示車身動態,還可以警示開車人員等,同樣將與串口對接的電子產品發出的串口數據轉化成能夠控制汽車的CAN總線數據,就能控制車載空調、倒車雷達、車輛照明、車輛設置等車輛已有的與總線對接的車載電子,使汽車智能化的功能更加強大[2]。
硬件總體是以STM32為主控芯片,通過CAN收發器與CAN總線對接,從而控制CAN總線的收發。總體結構設計如圖1所示。該結構中的顯示屏模擬及車輛模型是調試模擬模塊。STM32的I/O口經硬件電路轉換后輸出10V電壓,然后STM32對ACC、ILL(背光)、SONAR(倒車雷達使能)等進行控制,通過串口直接連到串行總線上。CAN總線網絡結構如圖2所示,總線的兩端都有一個120Ω的電阻。

圖2 CAN總線網絡結構
2.1主控模塊設計
本設計選用的主控芯片是STM32072C8,是高性能的32位RISC內核的MCU,工作頻率高達48MHz,具有高速嵌入存儲器以及各種增強性外設和I/O,提供標準的通信接口、USB全速器件、CAN等功能,主要用在應用控制和用戶接口、手持設備、A/V接收器和數字TV、PC外設、游戲和GPS平臺、PLC、逆變器、打印機、掃描儀、告警系統視頻互連和HVAC。該芯片使用時供電電壓是2.0~3.6V。主控模塊的最小系統包括時鐘電路和復位電路兩部分,其電路如圖3所示。該時鐘電路選用8MHz的晶振,配合2個20PF的電容器件構成,整個最小系統電路結構簡單,容易實現。

圖3 STM32最小系統電路
2.2CAN通信模塊
由于STM32072集成了CAN控制器,所以STM32可直接與CAN收發器相連來控制CAN總線數據的收發。本設計用的CAN收發器為TJA1042,其是一款高速CAN收發器,是CAN控制器和物理總線之間的接口,為CAN控制器提供差動發送和接收功能。該收發器專為汽車行業的高速CAN應用設計,傳輸速率高達1Mbit/s,供電電源選用5V電源。圖4是STM32的CAN模塊通信接口的原理圖。

圖4 CAN模塊通信接口原理圖
2.3電源電路設計
本設計采用的是12V供電系統,而主芯片需要3.3V電源,CAN通信模塊需要5V電源,為了給主芯片和CAN收發器提供合適的電壓,實現了5V和3.3V 2個供電系統。其中,5V電源電路設計如圖5所示,電路中選用了CJ78L05穩壓器,輸出5V穩定電壓。圖6為3.3V電源電路設計,選用的穩壓器為ZTP1117,輸出穩定電源3.3V。

圖55 V電源電路設計圖

圖63.3V電源電路設計圖
2.4主控器外圍接口控制電路的設計
在控制器的外圍可以接多個電路,如車輛各種智能功能的控制電路等。在控制器與CAN總線的配合下,可以完成數據的收發及控制。若連接顯示模擬器,經USB轉串口(FT232)發出串口數據,主控芯片接收到串口數據之后,從CAN_TX經I/O口轉CAN總線數據(TJA1042)來控制與CAN總線相連的各汽車ECU模塊。若連接的是車輛模型的各種功能口,既可以完成STM32經TJA1042來監控車身發出的CAN總線數據,再由串口TX發送給顯示屏,顯示當前的汽車信息,又能實現主控芯片接收到CAN總線數據之后經電路轉換直接控制ACC、背光、倒車雷達使能。設計以控制ACC功能為例,說明主控芯片直接控制汽車相關功能。控制電路圖如圖7所示,該電路與STM32的14引腳連接,主控芯片接收到CAN總線數據之后經過電路轉換直接控制ACC功能的實現。

圖7 控制硬件ACC輸出
2.5仿真調試接口設計
在線調試采用串行單線調試(SWD),只需要1根時鐘信號線(SWCLK)和1根信號線(SEDIO)再加上3.3V供電和連接地線即可。與標準的JTAG仿真調試相比,不僅提高了調試速率,減少GPIO口的使用,還節省了電路板的空間,簡化了PCB布線。SWD接口電路如圖8所示。

圖8 SWD接口電路
軟件是基于IAR Systems平臺來開發,選用C++語音進行編程,仿真模擬界面選擇G語言來實現。結構上采用模塊化方式,除ST公司提供的固件庫基礎配置外,程序主要分為幾個模塊:系統初始化模塊、應用程序模塊、應用程序基礎配置模塊、應用程序優化調用模塊。程序流程圖如圖9所示。

圖9 程序流程圖
初始化配置主要包括時鐘、I/O口、串行端口、CAN口、硬件輸出和中斷等的配置。串行通訊采用USART復用I/O口PA9和PA10作為串行總線的TX和RX,TX配置為輸出,速度為50MHz,RX配置為復用上拉輸入。采用標準USART通信接口,邏輯電平為3.3V,USART工作在8N1模式,即8位數據位,無奇偶校驗,一位停止位。工作方式和中斷配置,波特率固定在38 400bps。
CAN通訊采用復用I/O口PB9和PB8作為串行總線的CAN_TX和CAN_RX,CAN_TX配置為GPIO_PuPd_NOPULL(無上拉也無下拉)輸出,速度為2MHz,CAN_RX配置為復用上拉輸入。邏輯電平為4V,CAN通訊同樣工作在8N1模式,即8位數據位,無奇偶校驗,一位停止位。CAN通訊的配置參照CAN2.0標準幀格式,總線傳輸波特率為500KHz/s。

圖10 車輛模擬
本設計中運行結果的模擬以某一項功能為例,顯示屏模擬發出串口數據經控系統轉換成CAN總線數據發送給車輛模型,或控制系統接收到CAN總線數據以后直接轉硬件輸出高電平發送給車輛模型,運行結果依車輛模擬的狀態顯示為準,車輛模擬如圖10所示。控制系統接收總線數據,然后轉成串口數據發給顯示屏模擬,運行結果以顯示模擬的狀態顯示為準,顯示屏模擬如圖11所示。

圖11 顯示屏模擬
本設計的控制系統可以作為一個解碼盒來使用,利用嵌入式和CAN總線相結合的控制系統,不僅打破了傳統汽車娛樂系統的配置方法,給超智能汽車的打造留足了空間,可以在原有基礎上擴展更多的功能,極大地節約了成本,簡化了繁瑣的布線方式,提高了車載電子系統的穩定性[3]。智能娛樂車載電子系統離不開這樣一款解碼盒來充當媒介,越來越多且越來越智能、精美的電子產品需要與汽車結合來豐富人們的駕駛旅途生活,而市場的需求也將進一步推進車載解碼盒的快速研發升級,變得效率更高,功能更加強大,性能更加穩定,人們的駕駛生活也會更加安全、舒適。
[1]楊春杰,王曙光,亢紅波.CAN總線技術[M].北京:北京航空航天大學出版社,2010.
[2]盧有亮.基于STM32的嵌入式系統原理與設計[M].北京:機械工業出版社,2013.
[3]楊晶.CAN總線接口電路設計[J].辦公自動化,2010(2):34-35.
Design of CAN Bus Interface Control System Based on STM32
Liang Yan1Yuan Lige2Hao Yangzhou2
(1.Zhenzhou Technology and Business University,Zhengzhou Henan 451400;2.Henan Aero Geophysical Survey and Remote Sensing Center,Zhengzhou Henan 450053)
In this paper,the control system for a vehicle interface was designed,it took the STM32 as the main controller,matched the transmission speed and stable performance of the TJA1042 can transceiver,could communicate with CAN bus data and serial data at the same time,the interface and a variety of multimedia devices were connected,so that the body in the integration of powerful entertainment features at the same time could be more convenient vehicle for monitoring and control,to realize the intelligent car.
interface control;STM32;CAN bus;communication;intelligent
TP273.5
A
1003-5168(2016)06-0095-04
2016-05-10
河南省教育科學“十二五”規劃項目(〔2015〕-JKGHZD-0027)。
梁妍(1985-),女,碩士,講師,研究方向:電子信息、電氣自動化;原立格(1978-),女,碩士,講師,研究方向:電類、通信。