鄧汝奎,范毅,覃雪蓮,馬亞勤
?
簡易式發動機數據顯示系統設計*
鄧汝奎1,范毅1,覃雪蓮1,馬亞勤2
(1.南寧學院,廣西 南寧 530200;2.廣西農業職業技術學院,廣西 南寧)
發動機實驗臺架實驗運行過程中,需要實時監控各項動態數據,文章結合CAN總線數據采集技術,采用51單片機為系統核心,CAN總線通信的主要通道,使用LCD1602作為系統數據流顯示載體,設計一款低成本、使用簡便的發動機數據流顯示系統,實現發動機工況數據的實時監測。
發動機;數據流;CAN總線;單片機
發動機實驗臺架廣泛應用于汽車生產廠家和各類教學研究單位,單靠儀表顯示,往往無法全面觀測數據,發動機電控系統通過安裝各類傳感器采集發動機運行過程中的實時數據,監控發動機是否處于正常工作狀態,并對相應的數據進行加工處理,最終驅動電控系統中的各類執行器,達到控制發動機運轉的目的。在此過程中,發動的傳感器和執行器的實時數據都會通過CAN總線傳送給汽車上的其它ECU,因此,可以利用汽車電氣系統的這一特性,設計一款CAN總線通信系統。通過分析其通訊協議,建立總線與汽車網絡中其它控制系統數據的共享,滿足對發動機優化所需的實時發動機數據監測的需求。

圖1 電壓轉換電路
單片機正常運行電路必須滿足三個基本條件:正常的電源電壓、復位電路、晶振電路。汽車供電電壓為12V,51單片機供電電壓為5V,因此需要將12V電壓降至5V才能供單片機系統使用。AMS1117-5是一個正向低壓降穩壓器,具有輸出電壓精度高,適用溫度范圍廣的特點,內部集成過熱和過流保護功能,如圖1所示。
51單片機復位腳采用高電平復位,當單片機出現工作異常時,按下復位開關時,接入5V電壓,單片機重新復位,恢復正常運行。
晶振電路:51單片機采用12M晶振,其XTAL1和XTAL2為晶振外接管腳,晶振兩端通過連接22pF電容接地,保證單片機能夠按照正常頻率工作。通過上述設計,完成51單片機最小系統設計,如圖2所示。

圖2 89C51單片機最小系統
CAN控制器和CAN收發器共同組成了CAN總線網絡中節點的控制單元,CAN控制器完成對CAN總線的通信協議規定,實現CAN總線協議底層以及數據鏈路層[1]。同時CAN控制器也接收來自CAN收發器傳來的數據,對這些數據進行處理,并傳給控制單元的微處理器[2]。
1.2.1 CAN 控制器
出于經濟性考慮,控制核心采用51單片機,成本低,性能可靠,但資源配置較少,工作頻率較低,因此,選用的CAN控制器必須有較高的獨立工作能力,以減少單片機的資源開銷。MCP2515作為一款CAN總線的主流控制器,有著廣泛的應用。支持CAN2.0B技術規范,而2.0B 給出了標準和擴展的兩種格式[3],自帶2個屏蔽寄存器和6個濾波器,能夠通過設置,主動屏蔽掉不需要的CAN信息,達到減小單片機消耗的效果,提高系統運行速度。MCU通過SPI接口與該器件連接,使用標準的SPI讀/寫指令以及專門的SPI口令來讀/寫的寄存器[4]。
1.2.2 CAN 收發器
CAN收發器TJA1050連接在CAN總線和CAN控制器之間,起到電壓信號轉換的作用,主要運用電壓差分原理,將控制器的單線電壓轉換為CAN總線的雙線電壓差分信號,達到數據發送和接收的功能。其具有很強的電磁抗干擾性,傳輸速率最高可達1Mbit/s,完全能夠滿足本次設計要求。
1.2.3 單片機與CAN模塊通信電路設計
MCP2515通過MISO和MOSI引腳與單片機的SPI通信引腳連接,但51單片機不配置有SPI通信接口,因此通過普通IO口模擬SPI通信,即將MISO和MOSI引腳接至單片機的IO引腳即可。
MCP2515和TJA1050之間的通信,通過CAN-TX和CAN-RX連接,通過電壓的高低變化,傳遞CAN信息。接口電路如圖3所示。

圖3 收發器和控制器電路圖
通過圖3,我們可以清晰的看出,CAN信息流的傳動線路,接收CAN信息時,數據自 CAN接線插座流入,經TJA1050電壓差分后,由CAN-RX傳至MCP2515,再經MOSI口傳至51單片機。為避免CAN總線信息傳遞時的電壓浪涌,電路設計時,會在CAN通信節點配置終端電阻,由于原車車載網絡系統已經匹配有120歐姆的終端電阻,此時不需在另外并聯匹配電阻。
LCD是發動機數據流的顯示終端,為了減少裝置的體積,較小系統功耗和重量,采用1602作為本次設計的顯示屏,將發動機的實時數據流通過滾動顯示的方式,將各項參數直觀地顯示出來,最終達到對數據的觀測和分析的效果。
LCD1602與51單片機的連接電路如圖4所示,控制端接口RS、RW、E通過單片機IO口的時序讀寫,控制顯示屏的信息顯示,DB0-DB7則為顯示信息的并行數據接口,具體的顯示信息,通過上述8個接口輸入。

圖4 51單片機與LCD1602引腳連接圖
發動機數據采集是通過OBD診斷口與發動機CAN總線連接,以OBD診斷口作為通信節點,軟件系統功能主要包括系統配置初始化、CAN通信、LCD顯示。系統程序由三大功能模塊組成:系統初始化模塊、CAN通信模塊、數據流顯示模塊,如圖5所示。

圖5 軟件系統組成
系統程序根據實際應用情況,調用下屬的三個子模塊,并協調相互之間的工作流程,確保能夠系統有序的運行。
初始化模塊決定單片機的資源配置的消耗,正確的初始化能夠提高系統的運行效率和功率消耗,初始化主要包括IO口的選擇及其功能定義、系統時鐘頻率的配置、相應功能寄存器的配置,從而保證系統的正常運行。
CAN通信模塊包括CAN信息的接收和發送,以及針對發動機CAN通信協議,提取有用的數據流信息。LCD 顯示模塊,在CAN通信模塊成功提取發動機數據流,經單片機識別處理后,通過滾動顯示的方式顯示出來。
主程序作為軟件系統核心框架,主要是明確各子模塊的運行次序,功能分配,針對不同的程序判別條件,作出相應的控制決策。主程序流程圖如圖6所示。

圖6 系統主程序運行流程圖
CAN通信模塊包括MCP2515初始化、CAN信息發送、SPI通信模擬、CAN信息接收四個部分,其中SPI模擬主要是51單片機不具備SPI通信功能,需通過普通IO進行SPI通信模擬。
CAN通信能夠正常發送和接收數據,對MCP2515正確的配置是基本前提,這一過程主要包括對控制器內部的寄存器、發送緩沖器、接收緩沖器、接收濾波器、接收中斷、通信速率的配置。完成上述操作后,按照發動機CAN總線數據CAN通信特點,確認好采用的工作模式后,CAN模塊才能夠進入工作狀態,實現CAN數據的采集。
MCP2515內置2個接收緩沖器,每個緩沖器內又有多個可以配置的驗收濾波器,能夠高效地過濾掉無用的CAN信息。MCP2515通過TJA1050接收到發動機CAN總線信息后,產生內部中斷,然后將然后從接收濾波器讀取報文數據進行處理并釋放該接收緩沖器,使其進入待接收狀態,無需單片機介入處理,能夠很好地減少MCU開銷,CAN數據接收流程如圖7所示。

圖7 CAN總線節點接收數據流程圖
發動機數據流采集后,需要在終端顯示出來,從而達到發動機運行工況監測的目的。LCD1602內置存儲單元,對顯示模式的選擇配置、寄存器配置等初始化設置完成后,就能夠正常顯示數據
LCD1602顯示原理與LED點陣類似,通過編程選擇屏幕中需要點亮的區域,有選擇性的進行區域供電,即可達到所需的顯示效果,一般按照逐行的設置的方式,逐步按字模點亮每一行屏幕。LCD工作流程圖如圖8所示。

圖8 LCD顯示流程圖
本文研究并設計了簡易式的發動機數據流顯示裝置,該裝置基于CAN總線通信技術,利用OBD診斷口,巧妙地接入到發動機車載網絡系統,根據車載網絡通信協議特點,獲取發動機數據流,通過簡便的方式顯示,達到發動機臺架實驗數據流實時監測的目的。該裝置運用51單片機、LCD1602等低成本元器件,搭建數據流采集電路模塊,集成化程度高、性價比高,具有很高的應用推廣價值。
[1] 邱鑫.基于CAN總線的汽車LCD智能儀表研究與開發[D].重慶交 通大學,2014.
[2] 岳麗.簡介汽車CAN-BUS總線控制系統[J].黑龍江科技信息, 2010(09):9.
[3] 耿雪貞.嵌入式以太網技術在現場總線中的應用[D].中國海洋大學,2004.
[4] 陸姣.智能化金屬浮子流量計的研制[D].東北大學,2009.
Design of simple engine data display system
Deng Rukui1, Fan Yi1, Tan Xuelian1, Ma Yaqin2
(1.Nanning University, Guangxi Nanning 530200; 2.Guangxi Vocational and Technical College of Agriculture, Guangxi Nanning 530200)
In the process of engine test bench running, it is necessary to monitor all kinds of dynamic data in real time. In this paper, a low-cost and easy-to-use engine data is designed by combining the CAN bus data acquisition technology, using 51 single-chip microcomputer as the system core, the main channel of CAN bus communication and LCD1602 as the display carrier of system data stream,The flow display system realizes real-time monitoring of engine condition data.
Engine; data flow; CAN bus; single chip microcomputer
B
1671-7988(2018)22-132-04
U467
B
1671-7988(2018)22-132-04
U467
鄧汝奎(1985-)男,本科,講師,研究方向為汽車電氣及控制技術。
2015邕寧區科學研究與技術開發計劃項目,項目編號 20150217A;南寧學院2017年校級科研項目,項目編號 2017XJ14。
10.16638/j.cnki.1671-7988.2018.22.047