鄧汝奎,范毅,覃雪蓮,馬亞勤
?
簡易式發(fā)動機(jī)數(shù)據(jù)顯示系統(tǒng)設(shè)計*
鄧汝奎1,范毅1,覃雪蓮1,馬亞勤2
(1.南寧學(xué)院,廣西 南寧 530200;2.廣西農(nóng)業(yè)職業(yè)技術(shù)學(xué)院,廣西 南寧)
發(fā)動機(jī)實驗臺架實驗運(yùn)行過程中,需要實時監(jiān)控各項動態(tài)數(shù)據(jù),文章結(jié)合CAN總線數(shù)據(jù)采集技術(shù),采用51單片機(jī)為系統(tǒng)核心,CAN總線通信的主要通道,使用LCD1602作為系統(tǒng)數(shù)據(jù)流顯示載體,設(shè)計一款低成本、使用簡便的發(fā)動機(jī)數(shù)據(jù)流顯示系統(tǒng),實現(xiàn)發(fā)動機(jī)工況數(shù)據(jù)的實時監(jiān)測。
發(fā)動機(jī);數(shù)據(jù)流;CAN總線;單片機(jī)
發(fā)動機(jī)實驗臺架廣泛應(yīng)用于汽車生產(chǎn)廠家和各類教學(xué)研究單位,單靠儀表顯示,往往無法全面觀測數(shù)據(jù),發(fā)動機(jī)電控系統(tǒng)通過安裝各類傳感器采集發(fā)動機(jī)運(yùn)行過程中的實時數(shù)據(jù),監(jiān)控發(fā)動機(jī)是否處于正常工作狀態(tài),并對相應(yīng)的數(shù)據(jù)進(jìn)行加工處理,最終驅(qū)動電控系統(tǒng)中的各類執(zhí)行器,達(dá)到控制發(fā)動機(jī)運(yùn)轉(zhuǎn)的目的。在此過程中,發(fā)動的傳感器和執(zhí)行器的實時數(shù)據(jù)都會通過CAN總線傳送給汽車上的其它ECU,因此,可以利用汽車電氣系統(tǒng)的這一特性,設(shè)計一款CAN總線通信系統(tǒng)。通過分析其通訊協(xié)議,建立總線與汽車網(wǎng)絡(luò)中其它控制系統(tǒng)數(shù)據(jù)的共享,滿足對發(fā)動機(jī)優(yōu)化所需的實時發(fā)動機(jī)數(shù)據(jù)監(jiān)測的需求。
圖1 電壓轉(zhuǎn)換電路
單片機(jī)正常運(yùn)行電路必須滿足三個基本條件:正常的電源電壓、復(fù)位電路、晶振電路。汽車供電電壓為12V,51單片機(jī)供電電壓為5V,因此需要將12V電壓降至5V才能供單片機(jī)系統(tǒng)使用。AMS1117-5是一個正向低壓降穩(wěn)壓器,具有輸出電壓精度高,適用溫度范圍廣的特點(diǎn),內(nèi)部集成過熱和過流保護(hù)功能,如圖1所示。
51單片機(jī)復(fù)位腳采用高電平復(fù)位,當(dāng)單片機(jī)出現(xiàn)工作異常時,按下復(fù)位開關(guān)時,接入5V電壓,單片機(jī)重新復(fù)位,恢復(fù)正常運(yùn)行。
晶振電路:51單片機(jī)采用12M晶振,其XTAL1和XTAL2為晶振外接管腳,晶振兩端通過連接22pF電容接地,保證單片機(jī)能夠按照正常頻率工作。通過上述設(shè)計,完成51單片機(jī)最小系統(tǒng)設(shè)計,如圖2所示。
圖2 89C51單片機(jī)最小系統(tǒng)
CAN控制器和CAN收發(fā)器共同組成了CAN總線網(wǎng)絡(luò)中節(jié)點(diǎn)的控制單元,CAN控制器完成對CAN總線的通信協(xié)議規(guī)定,實現(xiàn)CAN總線協(xié)議底層以及數(shù)據(jù)鏈路層[1]。同時CAN控制器也接收來自CAN收發(fā)器傳來的數(shù)據(jù),對這些數(shù)據(jù)進(jìn)行處理,并傳給控制單元的微處理器[2]。
1.2.1 CAN 控制器
出于經(jīng)濟(jì)性考慮,控制核心采用51單片機(jī),成本低,性能可靠,但資源配置較少,工作頻率較低,因此,選用的CAN控制器必須有較高的獨(dú)立工作能力,以減少單片機(jī)的資源開銷。MCP2515作為一款CAN總線的主流控制器,有著廣泛的應(yīng)用。支持CAN2.0B技術(shù)規(guī)范,而2.0B 給出了標(biāo)準(zhǔn)和擴(kuò)展的兩種格式[3],自帶2個屏蔽寄存器和6個濾波器,能夠通過設(shè)置,主動屏蔽掉不需要的CAN信息,達(dá)到減小單片機(jī)消耗的效果,提高系統(tǒng)運(yùn)行速度。MCU通過SPI接口與該器件連接,使用標(biāo)準(zhǔn)的SPI讀/寫指令以及專門的SPI口令來讀/寫的寄存器[4]。
1.2.2 CAN 收發(fā)器
CAN收發(fā)器TJA1050連接在CAN總線和CAN控制器之間,起到電壓信號轉(zhuǎn)換的作用,主要運(yùn)用電壓差分原理,將控制器的單線電壓轉(zhuǎn)換為CAN總線的雙線電壓差分信號,達(dá)到數(shù)據(jù)發(fā)送和接收的功能。其具有很強(qiáng)的電磁抗干擾性,傳輸速率最高可達(dá)1Mbit/s,完全能夠滿足本次設(shè)計要求。
1.2.3 單片機(jī)與CAN模塊通信電路設(shè)計
MCP2515通過MISO和MOSI引腳與單片機(jī)的SPI通信引腳連接,但51單片機(jī)不配置有SPI通信接口,因此通過普通IO口模擬SPI通信,即將MISO和MOSI引腳接至單片機(jī)的IO引腳即可。
MCP2515和TJA1050之間的通信,通過CAN-TX和CAN-RX連接,通過電壓的高低變化,傳遞CAN信息。接口電路如圖3所示。
圖3 收發(fā)器和控制器電路圖
通過圖3,我們可以清晰的看出,CAN信息流的傳動線路,接收CAN信息時,數(shù)據(jù)自 CAN接線插座流入,經(jīng)TJA1050電壓差分后,由CAN-RX傳至MCP2515,再經(jīng)MOSI口傳至51單片機(jī)。為避免CAN總線信息傳遞時的電壓浪涌,電路設(shè)計時,會在CAN通信節(jié)點(diǎn)配置終端電阻,由于原車車載網(wǎng)絡(luò)系統(tǒng)已經(jīng)匹配有120歐姆的終端電阻,此時不需在另外并聯(lián)匹配電阻。
LCD是發(fā)動機(jī)數(shù)據(jù)流的顯示終端,為了減少裝置的體積,較小系統(tǒng)功耗和重量,采用1602作為本次設(shè)計的顯示屏,將發(fā)動機(jī)的實時數(shù)據(jù)流通過滾動顯示的方式,將各項參數(shù)直觀地顯示出來,最終達(dá)到對數(shù)據(jù)的觀測和分析的效果。
LCD1602與51單片機(jī)的連接電路如圖4所示,控制端接口RS、RW、E通過單片機(jī)IO口的時序讀寫,控制顯示屏的信息顯示,DB0-DB7則為顯示信息的并行數(shù)據(jù)接口,具體的顯示信息,通過上述8個接口輸入。
圖4 51單片機(jī)與LCD1602引腳連接圖
發(fā)動機(jī)數(shù)據(jù)采集是通過OBD診斷口與發(fā)動機(jī)CAN總線連接,以O(shè)BD診斷口作為通信節(jié)點(diǎn),軟件系統(tǒng)功能主要包括系統(tǒng)配置初始化、CAN通信、LCD顯示。系統(tǒng)程序由三大功能模塊組成:系統(tǒng)初始化模塊、CAN通信模塊、數(shù)據(jù)流顯示模塊,如圖5所示。
圖5 軟件系統(tǒng)組成
系統(tǒng)程序根據(jù)實際應(yīng)用情況,調(diào)用下屬的三個子模塊,并協(xié)調(diào)相互之間的工作流程,確保能夠系統(tǒng)有序的運(yùn)行。
初始化模塊決定單片機(jī)的資源配置的消耗,正確的初始化能夠提高系統(tǒng)的運(yùn)行效率和功率消耗,初始化主要包括IO口的選擇及其功能定義、系統(tǒng)時鐘頻率的配置、相應(yīng)功能寄存器的配置,從而保證系統(tǒng)的正常運(yùn)行。
CAN通信模塊包括CAN信息的接收和發(fā)送,以及針對發(fā)動機(jī)CAN通信協(xié)議,提取有用的數(shù)據(jù)流信息。LCD 顯示模塊,在CAN通信模塊成功提取發(fā)動機(jī)數(shù)據(jù)流,經(jīng)單片機(jī)識別處理后,通過滾動顯示的方式顯示出來。
主程序作為軟件系統(tǒng)核心框架,主要是明確各子模塊的運(yùn)行次序,功能分配,針對不同的程序判別條件,作出相應(yīng)的控制決策。主程序流程圖如圖6所示。
圖6 系統(tǒng)主程序運(yùn)行流程圖
CAN通信模塊包括MCP2515初始化、CAN信息發(fā)送、SPI通信模擬、CAN信息接收四個部分,其中SPI模擬主要是51單片機(jī)不具備SPI通信功能,需通過普通IO進(jìn)行SPI通信模擬。
CAN通信能夠正常發(fā)送和接收數(shù)據(jù),對MCP2515正確的配置是基本前提,這一過程主要包括對控制器內(nèi)部的寄存器、發(fā)送緩沖器、接收緩沖器、接收濾波器、接收中斷、通信速率的配置。完成上述操作后,按照發(fā)動機(jī)CAN總線數(shù)據(jù)CAN通信特點(diǎn),確認(rèn)好采用的工作模式后,CAN模塊才能夠進(jìn)入工作狀態(tài),實現(xiàn)CAN數(shù)據(jù)的采集。
MCP2515內(nèi)置2個接收緩沖器,每個緩沖器內(nèi)又有多個可以配置的驗收濾波器,能夠高效地過濾掉無用的CAN信息。MCP2515通過TJA1050接收到發(fā)動機(jī)CAN總線信息后,產(chǎn)生內(nèi)部中斷,然后將然后從接收濾波器讀取報文數(shù)據(jù)進(jìn)行處理并釋放該接收緩沖器,使其進(jìn)入待接收狀態(tài),無需單片機(jī)介入處理,能夠很好地減少M(fèi)CU開銷,CAN數(shù)據(jù)接收流程如圖7所示。
圖7 CAN總線節(jié)點(diǎn)接收數(shù)據(jù)流程圖
發(fā)動機(jī)數(shù)據(jù)流采集后,需要在終端顯示出來,從而達(dá)到發(fā)動機(jī)運(yùn)行工況監(jiān)測的目的。LCD1602內(nèi)置存儲單元,對顯示模式的選擇配置、寄存器配置等初始化設(shè)置完成后,就能夠正常顯示數(shù)據(jù)
LCD1602顯示原理與LED點(diǎn)陣類似,通過編程選擇屏幕中需要點(diǎn)亮的區(qū)域,有選擇性的進(jìn)行區(qū)域供電,即可達(dá)到所需的顯示效果,一般按照逐行的設(shè)置的方式,逐步按字模點(diǎn)亮每一行屏幕。LCD工作流程圖如圖8所示。
圖8 LCD顯示流程圖
本文研究并設(shè)計了簡易式的發(fā)動機(jī)數(shù)據(jù)流顯示裝置,該裝置基于CAN總線通信技術(shù),利用OBD診斷口,巧妙地接入到發(fā)動機(jī)車載網(wǎng)絡(luò)系統(tǒng),根據(jù)車載網(wǎng)絡(luò)通信協(xié)議特點(diǎn),獲取發(fā)動機(jī)數(shù)據(jù)流,通過簡便的方式顯示,達(dá)到發(fā)動機(jī)臺架實驗數(shù)據(jù)流實時監(jiān)測的目的。該裝置運(yùn)用51單片機(jī)、LCD1602等低成本元器件,搭建數(shù)據(jù)流采集電路模塊,集成化程度高、性價比高,具有很高的應(yīng)用推廣價值。
[1] 邱鑫.基于CAN總線的汽車LCD智能儀表研究與開發(fā)[D].重慶交 通大學(xué),2014.
[2] 岳麗.簡介汽車CAN-BUS總線控制系統(tǒng)[J].黑龍江科技信息, 2010(09):9.
[3] 耿雪貞.嵌入式以太網(wǎng)技術(shù)在現(xiàn)場總線中的應(yīng)用[D].中國海洋大學(xué),2004.
[4] 陸姣.智能化金屬浮子流量計的研制[D].東北大學(xué),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-)男,本科,講師,研究方向為汽車電氣及控制技術(shù)。
2015邕寧區(qū)科學(xué)研究與技術(shù)開發(fā)計劃項目,項目編號 20150217A;南寧學(xué)院2017年校級科研項目,項目編號 2017XJ14。
10.16638/j.cnki.1671-7988.2018.22.047