<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 電動汽車車載智能顯示系統(tǒng)設(shè)計,包括源代碼、原理結(jié)構(gòu)圖

          電動汽車車載智能顯示系統(tǒng)設(shè)計,包括源代碼、原理結(jié)構(gòu)圖

          作者: 時間:2017-06-07 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/201706/350540.htm

          引言

          作為新型的交通工具,具有節(jié)能、污染小的特點,是目前最環(huán)保的新型交通工具,并被視為調(diào)整交通能源使用結(jié)構(gòu)和改善城市大氣環(huán)境質(zhì)量的有效途徑之一,是解決燃油車輛所帶來的能源和環(huán)境問題的最有希望的方案之一。在世界范圍內(nèi)的研究正在如火如荼進行;在國內(nèi),政府更是把的列為重點攻關(guān)的技術(shù)研究。因此電動汽車智能顯示系統(tǒng)的研發(fā)就在這種大背景下應(yīng)運而生。

          電動汽車智能顯示系統(tǒng)觸摸屏作為一種新穎的交互式設(shè)備越來越展現(xiàn)出巨大的應(yīng)用前景,電動汽車的智能顯示屏應(yīng)該具有良好的實時性和穩(wěn)定性,以符合汽車級產(chǎn)品的要求。

          1.總體方案設(shè)計

          該儀表顯示電動汽車特有的信息,主要包括電機,電機控制器,電池管理(BMS)和充電機等各個模塊的信息和實時狀態(tài)。用戶可以通過儀表模塊獲取例如電機的轉(zhuǎn)速、電機母線電壓、電機母線電流、電機相電流、電機溫度和電機轉(zhuǎn)速等信息。電池管理系統(tǒng)(BMS)采用電池容量優(yōu)化的估算方法,此方法能夠?qū)﹄姵氐氖S嗳萘孔龀霰容^準確的估算,同時還能夠?qū)﹄姵亟M的總電壓進行監(jiān)控,也可以對單節(jié)電池的電壓、溫度和電池容量等信息進行監(jiān)控和實時報警。同時充電機的狀態(tài)和信息也都可以在BMS中顯示。

          儀表顯示和各功能模塊之間的信息傳遞都是采用CAN總線的通訊方式,用戶可以通過觸摸屏方便快捷地實現(xiàn)與電動汽車各模塊之間的信息共享和雙向溝通。其主要功能如下:

          ①車輛的速度、里程、溫度、電池核電狀態(tài)(SOC)等信息實時顯示:

          • 車輛行駛速度顯示。

          • 電機轉(zhuǎn)速實時顯示。

          • 車輛行駛總里程表(掉電保存),最大里程數(shù):999,999Km。

          • 單次行駛里程計,最大記數(shù)里程999.9Km

          • 檔位指示,顯示車輛當前的檔位。

          • 控制器溫度指示

          • 電池剩余容量(SOC)實時顯示。

          ②電機控制器的信息和狀態(tài)實時顯示,參數(shù)設(shè)定:

          • 電機轉(zhuǎn)速顯示

          • 溫度顯示

          • 檔位顯示

          • 母線電壓,母線電流

          • 過流報警

          • 油門,剎車開關(guān)指示

          • 油門,剎車給定

          ③電池管理的信息和狀態(tài)實時顯示,參數(shù)設(shè)定:

          • 實時核電狀態(tài)顯示

          • 實時電池組總電壓顯示

          • 單節(jié)電池電壓實時顯示,欠壓、過壓報警。

          • 單節(jié)電池溫度實時顯示,過溫報警。

          • 單節(jié)電池容量實時顯示,過放、過充報警。

          • 電池充放電循環(huán)次數(shù)顯示。

          ④充電機狀態(tài)顯示:

          • 外接充電指示

          • 充電機輸出電壓、電流顯示。

          • 充電機通訊狀態(tài)指示

          ⑤車輛故障的實時和歷史記錄:

          • 車輛實時故障記錄顯示,最多可以記錄163條信息。

          • 車輛歷史故障記錄顯示,最多可以記錄163條信息。

          ⑥參數(shù)設(shè)置

          可以設(shè)置日歷、時鐘、語言、速比、輪徑、電機最大轉(zhuǎn)速。

          可以設(shè)置充電機最高輸出電壓和最大輸出電流。

          可以設(shè)置控制器參數(shù)

          可以設(shè)置管理的電池種類,數(shù)量,電池的ID號,可以設(shè)置電池SOC估算充放電數(shù)組數(shù)據(jù)和基準電壓

          ⑦采樣外部信號

          可以采樣8路外部模擬信號。

          2.電路硬件原理

          電動汽車智能顯示儀表系統(tǒng)硬件框圖如圖1所示,其主要分為電源部分、通信部分、數(shù)據(jù)存儲部分、實時時鐘部分等。

          圖1 電動汽車智能顯示儀表系統(tǒng)硬件框圖

          2.1 電源電路設(shè)計

          本設(shè)計中電源由電動汽車車載電池提供,給液晶屏、CAN隔離芯片、處理芯片PIC32MX、時鐘芯片PCF8563、轉(zhuǎn)換芯片MCP2515、存儲芯片AT24C256供電。

          圖2 電源電路設(shè)計

          車載電池電壓為48V,通過一個DC/DC電源模塊,輸出電壓為12V。液晶屏由TPS65150供電,其允許輸入電壓范圍為1.8V—6V;CAN供電電壓為5V,所以選用一個LM1117I-5將12V轉(zhuǎn)換為5V,給CAN與液晶屏供電芯片TPS65150供電。選用LM1117I-3.3將12V轉(zhuǎn)換為3.3V,給處理芯片PIC32MX、時鐘芯片PCF8563、轉(zhuǎn)換芯片MCP2515、存儲芯片AT24C256供電。本系統(tǒng)配備了電池,能防止掉電情況下,日歷時鐘數(shù)據(jù)丟失。時鐘芯片PCF8563在系統(tǒng)正常的工作狀態(tài)下由LM1117I-3.3供電,在系統(tǒng)掉電的工作狀態(tài)下由電池供電。

          2.2 A/D采樣通道

          PIC32MX A/D轉(zhuǎn)換模塊包含16個A/D轉(zhuǎn)換通道,模擬輸入通過兩個多路開關(guān)(MUX)連接到一個SHA??稍贑PU 休眠和空閑模式下工作。本系統(tǒng)數(shù)據(jù)采樣電路將8路外部模擬信號ANx_input,經(jīng)過濾波分壓,輸入到PIC32MX的A/D轉(zhuǎn)換模塊采樣通道ANx(x=0-9,12-15)。如圖3所示

          圖3 A/D采樣輸入電路設(shè)計

          2.3 數(shù)據(jù)存儲

          本系統(tǒng)使用存儲芯片AT24C256存儲電池狀態(tài)歷史數(shù)據(jù)及車輛運行故障歷史數(shù)據(jù)。AT24C256是ATMEL公司推出的256kB串行電可擦可編程只讀存儲器,結(jié)構(gòu)緊湊,8引腳雙排直插式封裝;存儲容量大,內(nèi)部有512頁,每一頁為64字節(jié),任一單元的地址為15位。能夠滿足本系統(tǒng)高容量數(shù)據(jù)儲存的要求。

          圖4 數(shù)據(jù)存儲及傳輸電路設(shè)計

          圖4為數(shù)據(jù)存儲及傳輸硬件接口電路圖。AT24C256存儲芯片AT24C256通過I2C數(shù)據(jù)線SDA、時鐘線SCL與PIC32MX相連接??商峁?56K存儲空間。在系統(tǒng)工作時,可記錄電池狀態(tài)歷史數(shù)據(jù)及車輛運行故障歷史數(shù)據(jù)。

          2.4通信設(shè)計

          本設(shè)計包含兩種通信方式,方式與RS485通信方式,兩種通信方式為液晶屏的通信兼容提供了可能。

          2.4.1 設(shè)計

          本液晶屏設(shè)計采用的主控芯片PIC32MX440F128L不帶有CAN功能,因此本設(shè)計中的采用MCP2515+ PCA82C250T且外加一個磁偶隔離芯片來實現(xiàn)CAN通信功能,通信波特率125Kbps,采用11位標準標志符,CAN通信網(wǎng)絡(luò)可連接節(jié)點最多112個,可滿足對110節(jié)單體電池的監(jiān)控。CAN通信原理框圖如圖5所示:

          圖5 CAN通信原理框圖

          從電池和電機控制器發(fā)出的信息通過CAN總線送到CAN收發(fā)器,再經(jīng)過轉(zhuǎn)換和隔離送入CAN控制器芯片,CAN信息經(jīng)過CAN控制器處理信息數(shù)據(jù)最后以SPI通訊方式傳送給主控芯片PIC32MX440F128L進行數(shù)據(jù)處理。電路原理如圖6所示:

          圖6 CAN通行原理圖

          其中MCP2515是一款CAN協(xié)議控制器,完全支持CAN V2.0B技術(shù)規(guī)范,通信速率為1Mb/s。該器件主要由三個部分組成:① CAN模塊,包括CAN協(xié)議引擎,驗收濾波寄存器,發(fā)送和接受緩沖寄存器。②用于配置該器件及其運行的控制邏輯和寄存器。③SPI協(xié)議模塊。MCP2515能發(fā)送和接收標準和擴展數(shù)據(jù)幀和遠程幀。PCA82C250T是CAN收發(fā)器,支持“ISO 11898”標準,通信速率可達1Mb/s,具有很強的抗電磁干擾和抗無線干擾的能力,是雙通道數(shù)字隔離器,采用了高速CMOS工藝和芯片級的變壓器技術(shù),工作電壓為2.7V到5V,符合車用等級,工作溫度可達到125°C。傳輸速率可達到25Mb/s。

          2.4.2 RS485通信

          液晶屏上配備有RS485通信接口,以方便液晶屏與外部進行通信。RS485是一種共模通信方式,具有較強的抗干擾能力。PIC32MX440F128L自帶RS485通信接口,其輸出信號送給MAX2M3425芯片,該芯片能發(fā)送、接收RS485信號,能進行半工和全雙工的傳輸方式,具有最大1M/S的傳輸方式,RS485通信電路原理圖如圖7所示:

          圖7 RS485通信接口電路原理圖

          2.5 液晶屏實時時鐘顯示設(shè)計

          本液晶屏設(shè)計時鐘顯示數(shù)據(jù)通過PCF8563實時時鐘/日歷芯片來產(chǎn)生。PCF8563是低功耗的CMOS實時時鐘日歷芯片,它提供一個可編程的實時時鐘輸出,一個中斷輸出和掉電檢測器。所有的地址和數(shù)據(jù)通過I2C總線接口串行傳遞,最大總線速度可達到400Kbit/S。PCF8563有16個8位寄存器,一個內(nèi)置32.768KHZ的振蕩器,一個分頻器,一個可編程的時鐘輸出,一個定時器,一個報警器,一個掉電檢測器和一個400KHZ的I2C總線接口。電路原理圖如圖8所示:

          圖8 日歷時鐘電路原理圖

          圖8中PCF8563芯片的5、6引腳為I2C總線用的兩個引腳,兩個引腳必須用一個上拉電阻與正電源連接,這兩個引腳與PIC32MX440F128L的I2C引腳相連實現(xiàn)PIC32MX440F128L與日歷時鐘芯片間傳遞數(shù)據(jù)。液晶屏工作時,PIC32MX440F128L主控芯片先通過I2C對PCF8563芯片進行初始化,設(shè)定好當前顯示的年月日以及時間信息,設(shè)定完成確認后,單片機將數(shù)據(jù)傳送給圖形處理器芯片,最后在液晶屏上顯示。如果在使用過程中想調(diào)整顯示的時間,可直接在液晶屏上通過按鈕修改。PIC32MX440F128L主控芯片會不斷地查詢液晶屏按鈕動態(tài)信息,并發(fā)送相應(yīng)的指令信息到PCF8563芯片修改時間。

          2.6 PIC32MX與SSD1926的接口電路

          SSD1926是一款中小規(guī)模的顯示控制芯片。采用128引腳LQFP封裝,256 KB靜態(tài)存儲空間和2D圖像引擎,可以支持單色和彩色LCD;32位內(nèi)部數(shù)據(jù)通道,可以提供高帶寬的顯示內(nèi)存,以實現(xiàn)快速的屏幕刷新;采用單電源供電和單時鐘輸入,具有很短的CPU訪問延遲時間,可以支持無READY/WAIT信號的微處理器。這些特點能夠極大地簡化外圍電路的設(shè)計。同時,SSD1926還具有強大的總線兼容性,可與多種類型的MCU連接,除了支持SRAM接口與ARM系列連接、ISA接口與NEC系列連接外,還支持8/16位8080時序間接尋址方式,能夠方便地與各種具有并口的MCU連接。本設(shè)計采用PIC32MX460F512L的8位/16位并行控制接口模塊與SSD1926接口。硬件接口框圖如圖9所示:

          圖9 PIC32MX440F128與SSD1926接口框圖

          CS為片選信號,RS為地址與數(shù)據(jù)選擇信號,RESET為復(fù)位信號,都可以由通用I/O口進行控制,分別用RD10、RC2和RC1與其連接。數(shù)據(jù)總線DB[15:0]與并行控制接口模塊中的PMD[15:0]引腳分別對接。WR和RD為讀寫信號,由并行控制接口模塊中的PMWR和PMRD引腳分別控制。SSD1926對接收到的數(shù)據(jù)進行處理之后,再通過與LCD的接口驅(qū)動TFT彩色液晶屏進行顯示。

          2.7 觸摸功能的硬件設(shè)計

          電阻式觸摸屏處于與外界完全隔離的工作環(huán)境,不怕灰塵和水汽,可以用任何物體來觸摸,可以寫字畫圖,廣泛應(yīng)用于工業(yè)控制領(lǐng)域中。觸摸屏工作時,上下導(dǎo)體層可以看作電阻網(wǎng)絡(luò)。當某一層電極加上電壓時,會在該電阻網(wǎng)絡(luò)上形成電壓梯度。若施加外力使得上下兩層電極在某一點相接觸,則在電極未施加電壓的另一層可以檢測出接觸點的電壓,從而換算出接觸點的坐標值。本作品選用4線電阻式觸摸屏,其電阻網(wǎng)絡(luò)工作原理如圖10所示。

          圖10 電阻網(wǎng)絡(luò)工作原理圖

          系統(tǒng)工作時,首先把AN11/RB11、AN4/RB4復(fù)用引腳設(shè)置為I/O引腳。RB11輸出高電平(+3.3 V),RB4引腳輸出低電平(0 V),在頂層的電極X+、X-上即產(chǎn)生了3.3 V的電壓。當有外力使得上下兩層在某一點接觸時,在底層Y+、Y-引腳上就會輸出接觸點處的電壓。此時,AN10/RB10、AN5/RB5設(shè)置為A/D輸入通道。采樣此引腳上的電壓信號,即可得到Y(jié)+、Y-引腳上的電壓值,根據(jù)式(1)可以計算出X坐標:

          觸點X坐標=X軸分辨率×X相電壓采樣值/1 024 (1)

          本設(shè)計為10位的精度A/D采樣,3.3 V輸入時對應(yīng)的采樣值即為1 024。然后,改變4個引腳的輸出定義,將A/D輸入引腳RB10設(shè)置為I/O引腳輸出高電平,RB5設(shè)置為I/O引腳輸出低電平,將3.3 V電壓切換到底層電極Y+、Y-上,設(shè)置AN11和AN4為A/D輸入引腳。對X+、X-引腳進行A/D采樣,測量得到接觸點處的Y相電壓,根據(jù)式(2)可以計算出Y坐標:

          觸點Y坐標=y軸分辨率×y相電壓采樣值/1 024 (2)

          2.8 電氣連接

          液晶屏共有6個接線引腳,如圖11所示。1,2腳是給儀表供電用DC48V輸入,接到電池組正極和負極。3,4腳是CAN+5V和CAN GND,這一組+5V電源由儀表電路產(chǎn)生,給CAN總線供電。5,6腳是CAN_H和CAN_L,與其它模塊的CAN通信線連接。電池檢測模塊如圖12所示。

          圖11 CAN通信電氣連接圖

          圖12 電池監(jiān)測模塊

          2.9 LED背光控制接口

          本設(shè)計提供了對LED背光電路的調(diào)節(jié)控制接口,其硬件接口電路如圖13所示??梢酝ㄟ^芯片PIC32MX輸出3路PWM(OCS2-OCS4)對LCD的背光電路進行控制,可以進行明暗調(diào)節(jié)。在某些工作狀態(tài),可關(guān)掉背光電源,降低電源損耗。

          PIC32440F128L

          圖13 LED背光控制硬件接口電路

          3.軟件設(shè)計

          本設(shè)計中的軟件主要包括兩方面的內(nèi)容:圖形顯示和數(shù)據(jù)通信。軟件部分包括設(shè)備驅(qū)動程序?qū)印D形元素層、圖形對象層和應(yīng)用層,設(shè)備驅(qū)動程序?qū)訛橛布峁┍匾尿?qū)動程序,圖形元素層直接與設(shè)備驅(qū)動程序?qū)υ?,圖形對象層提供控件驅(qū)動函數(shù)庫,應(yīng)用層通過控件繪制界面、開發(fā)應(yīng)用程序。設(shè)備驅(qū)動程序?qū)印D形原語層和圖形對象層都屬于系統(tǒng)層。

          3.1圖形顯示原理

          由于液晶屏在運行時需要顯示電機控制器,電機,電池模塊,以及充電機等的信息,這些信息量比較多,在一個界面里不能夠完全顯示。所以在本液晶屏中分別創(chuàng)建了電機控制器等顯示頁面用于檢測電機控制器及電機的相關(guān)信息,電池監(jiān)測頁面用于監(jiān)測電池的實時狀態(tài),充電機頁面和主界面以及一些利于人機交互的頁面,這些頁面的創(chuàng)建使電動汽車用戶能方便快捷的獲得電動汽車的信息。頁面創(chuàng)建的軟件框圖如圖14所示:

          圖14 頁面創(chuàng)建軟件框圖

          汽車各部分實時信息通過CAN總線送入PIC32MX440F128L芯片,并通過圖形處理芯片SSD1926芯片在液晶屏上生成圖像,顯示在液晶屏上。同時,通過液晶屏也可以對各個模塊的參數(shù)進行設(shè)置,具有良好的人機界面。

          圖形顯示是本設(shè)計的重點。本設(shè)計全部是用來開發(fā)的,系統(tǒng)層使用微芯(Microchip)公司圖形對象層(Graphics Object Layer,GOL)圖形驅(qū)動庫來實現(xiàn)。Microchip 的圖形庫針對范圍寬廣的顯示設(shè)備控制器,可與PIC 單片機配合使用;圖形庫提供應(yīng)用編程接口(API),完成基本圖形對象以及類似控件對象的繪制。 圖形庫也使得通過消息接口集成輸入設(shè)備變得容易。圖形庫的分層結(jié)構(gòu)設(shè)計使得所有這一切成為可能。Microchip 圖形庫的層次結(jié)構(gòu)如圖15所示。

          圖15 Microchip 圖形庫的層次結(jié)構(gòu)圖

          應(yīng)用層是使用圖形庫的程序。圖形對象層(Graphics Object Layer, GOL)生成控件,例如按鈕、滑動條和窗口等等??丶╳idget)指GOL 對象或其他對象。 為了控制這些對象,GOL 層具有一個消息接口,接收從應(yīng)用層來的消息。消息接口支持觸摸屏。圖形元素層實現(xiàn)基本繪圖功能。這些基本功能完成圖形對象的繪制,例如線、條和圓等。 液晶屏驅(qū)動程序是圖形庫結(jié)構(gòu)的設(shè)備相關(guān)層。這一層直接與顯示設(shè)備控制器對話。大量的API 允許應(yīng)用程序訪問圖形庫的任何一層。繪圖和消息處理在內(nèi)部進行,對應(yīng)用程序保持透明。圖形庫提供了兩種配置(阻塞式和非阻塞式),在編譯時進行設(shè)置。對于阻塞式配置,繪圖函數(shù)將延遲程序的執(zhí)行,直到繪圖完成。對于非阻塞式配置,繪圖函數(shù)不等待繪圖完成,就把控制權(quán)釋放給程序。因為程序能執(zhí)行其他任務(wù),而不必等待繪圖任務(wù)完成繪制,從而使得單片機時間的使用更為高效。

          對象狀態(tài)

          GOL 對象有兩種類型的狀態(tài):屬性狀態(tài)和繪圖狀態(tài) 。屬性狀態(tài)定義對象的行為和外觀。而繪圖狀態(tài)指出在顯示時對象是否需要被隱藏、部分重畫或完全重畫,一些常用的屬性狀態(tài)和繪圖狀態(tài)如表1 所示。

          表1 常用的對象狀態(tài)

          狀態(tài)

          類型

          說明

          OBJ_FOCUSED

          屬性

          對象處在聚焦狀態(tài)。通常用于表示對象被選中。有的對象沒有此屬性。

          OBJ_DISABLED

          屬性

          對象被禁止,忽略全部的消息。

          OBJ_DRAW_FOCUS

          繪圖

          聚焦應(yīng)被重畫的對象。

          OBJ_DRAW

          繪圖

          對象應(yīng)被完全重畫。

          OBJ_HIDE

          繪圖

          使用共同的背景色填充對象所占有的區(qū)域,把對象隱藏起來。這種狀態(tài)在所有繪圖狀態(tài)中,優(yōu)先級最高。當對象被設(shè)置成隱藏時,所有其他繪圖狀態(tài)將不再產(chǎn)生作用。

          式樣方案:

          所有對象都使用式樣方案來定義所使用的字體和顏色。在創(chuàng)建對象時,對象可以使用用戶定義的式樣方案。如果不存在用戶定義的方案,就將使用缺省的式樣方案。表2 概括了式樣方案的組成部分。

          表2 式樣方案的組成

          式樣的組成部分

          說明

          EmbossDkColor

          暗浮雕顏色,用于對象的三維效果。

          EmbossLtColor

          亮浮雕顏色,用于對象的三維效果。

          TextColor0

          TextColor1

          對象使用的一般文本顏色。隨著對象的不同,在用法上可能有所變化。

          TextColorDisabled

          已經(jīng)被禁止的對象所使用的文本顏色。

          Color0

          Color1

          對象繪制時使用的一般顏色。隨著對象的不同,在用法上可能有所變化。

          ColorDisabled

          已經(jīng)被禁止的對象繪制時使用的顏色。

          CommonBkColor

          對象的共同背景色。通常用于從屏幕中隱藏對象。

          pFont

          指向?qū)ο笏褂玫淖煮w的指針。有些對象不使用文本。

          活動對象鏈表:

          圖形庫把當前正在顯示和接收消息的對象放入一個鏈表中。任何時候,GOL 消息和繪圖函數(shù)針對的都是這張鏈表中的對象。

          繪圖

          為了繪制對象,應(yīng)用程序?qū)⒄{(diào)用繪圖管理器,GOLDraw()。這個函數(shù)將解析活動鏈表,使用設(shè)置的繪圖狀態(tài)重畫對象。當繪制完成后,對象的繪圖狀態(tài)自動清除。最先創(chuàng)建的對象將首先繪出。當前鏈表中的對象全部繪出后,GOLDraw() 調(diào)用GOLDrawCallback()函數(shù)。定制的繪圖可以在GOLDrawCallback() 函數(shù)中實現(xiàn)。

          消息的接收和發(fā)送:

          可移植性是圖形庫的關(guān)鍵特性。圖形庫支持大量的輸入設(shè)備。 圖形庫提供一個接口,用來接收來自輸入設(shè)備的消息。所有的輸入設(shè)備事件,都將采用GOL 消息結(jié)構(gòu)體的方式發(fā)送到庫里去。結(jié)構(gòu)體定義如下:

          typedef struct {

          BYTE type;

          BYTE event;

          int param1;

          int param2;

          } GOL_MSG;

          字段 type 定義輸入設(shè)備的類型ID。字段 event 表明行為的類型。字段type 和event 一起決定如何解釋 param1 和param2。某些情況下,僅使用param1,而另一些情況下可能兩個參數(shù)字段都需要。

          當屏幕被觸摸時,應(yīng)用程序必須先填充消息結(jié)構(gòu)體,然后把它傳送給庫中的消息處理函數(shù)GOLMsg(GOL_MSG*pMsg)。對象(包括它的x、y 位置),將根據(jù)目前的狀態(tài)和事件,改變其狀態(tài)。針對輸入事件而定制的行為,可以放在GOLMsgCallback() 函數(shù)中。一旦有對象收到有效的消息,這個函數(shù)就會被調(diào)用。

          圖形庫用法:

          圖形庫的設(shè)計,旨在使圖形接口能夠無縫地集成到應(yīng)用程序中去。通常,對象行為是通過圖形庫來進行管理的。把收到的消息進行處理,根據(jù)消息的內(nèi)容,改變受影響的對象狀態(tài)。然后,圖形庫自動地重畫對象,顯示狀態(tài)的改變。

          在用戶接口模塊和顯示驅(qū)動程序已被選擇和加載的前提下,調(diào)用InitGraph(),復(fù)位顯示設(shè)備控制器,把光標位置移動到(0,0) ,然后初始化顯示器成全黑狀態(tài)。然后,調(diào)用GOLCreateScheme(),定義用于對象的式樣方案。

          項目文件

          圖形庫安裝后,項目目錄結(jié)構(gòu)如圖16所示:

          圖16 Microchip項目層次結(jié)構(gòu)圖

          此目錄作為項目目錄,可以添加應(yīng)用程序代碼,也可以與圖形庫一道被編譯。Graghics Lib 子目錄下存放的是圖形庫。Source Files子目錄存放C 文件、文檔和實用程序。Headers子目錄包含子目錄Graphics Lib圖形庫的頭文件和其他頭文件。

          3.2軟件設(shè)計程序流程框圖

          本設(shè)計主程序流程圖如圖17所示:

          圖17 主程序流程圖

          當液晶屏啟動時開始對系統(tǒng)進行配置,對變量、EEPROM、定時計數(shù)器等進行初始化,等待50ms后,系統(tǒng)進入穩(wěn)定,并創(chuàng)建代替的樣式方案。隨后從EEPROM讀取單次行駛里程和總行駛里程,并在對語言和時鐘模式進行選擇時初始化用戶定義的式樣方案(例如字體,顏色)。在此之后執(zhí)行創(chuàng)建液晶屏頁面,處理觸摸信息,CAN接受處理等操作。最后是CAN信息的接收,處理和發(fā)送。

          在此要特別強調(diào)的是觸摸信息分為四種:①無觸摸信息②接觸觸摸屏③離開觸摸屏 ④觸摸在液晶屏上移動。當無觸摸信息時,液晶屏顯示原有界面。當有物體接觸觸摸屏?xí)r,進入中段,當接觸物體離開觸摸屏?xí)r進入下一界面。本設(shè)計暫時還沒有考慮第四種情況。這也是需要改進的地方。

          液晶屏顯示面積有限,不可能將所有的信息顯示在同一界面下,因此采用界面分層的層次結(jié)構(gòu)來滿足不同信息的顯示。每層下面對應(yīng)相應(yīng)的軟件流程框圖。顯示的層次結(jié)構(gòu)如圖18所示:

          圖18 層次結(jié)構(gòu)圖

          本設(shè)計中主要通信方式為CAN通信,也是電動汽車與液晶顯示屏對話的語言,其程序設(shè)計流程框圖如圖19所示。

          圖19 CAN通信結(jié)構(gòu)圖

          3.3 智能顯示儀表界面

          開機啟動時,屏幕進入主界面,如圖20所示:

          圖20 主界面

          圖20中顯示了車速,車輛行駛的距離,時間,電池等信息,各模塊具體信息通過點擊功能建進入圖21所示界面。

          圖21 液晶屏目錄界面

          這個界面包括:控制器矢量控制,控制器壓頻控制,控制器直接轉(zhuǎn)矩控制,小計里程清零,能量清零,電池,充電機,系統(tǒng)設(shè)置,故障,鎖定界面和返回。點擊其中一個按鍵將進入相應(yīng)的控制界面,進行更為詳細的信息顯示和設(shè)置。

          當點擊控制器矢量控制按鈕,進入控制器矢量控制界面,該界面可以監(jiān)視電機的相關(guān)信息,如圖22所示:

          圖22 矢量控制界面

          圖22中電機轉(zhuǎn)速,行駛速度,電機溫度,控制器溫度,電機電壓,電流,頻率等參數(shù)都由CAN總線傳送給Microchip-PIC32芯片,再由Microchip-PIC32信息處理后,將實時的數(shù)據(jù)在液晶顯示屏上進行顯示。

          當電池在充電或者放電時,電池電壓,溫度,SOC等信息都會發(fā)生變化。液晶屏程序?qū)Τ浞烹姸歼M行管理。當通信出現(xiàn)問題時,在液晶屏右上角將顯示通信故障。如果發(fā)生過充,或者過放,液晶屏上將對過充過放電池電壓顯示為紅色以引起司機注意。在必要的時候?qū)⒆詣雨P(guān)斷充電機阻止充電機對電池進行過充電,過放電也是如此。如圖23所示。

          圖24 電池狀態(tài)監(jiān)控界面

          本設(shè)計由于要滿足不同電池類型的需求,所以對鉛酸電池,錳酸電池,磷酸鐵鋰電池以及不同節(jié)數(shù)電池組成的電池組都進行了考慮。并進行了程序設(shè)計。當使用不同電池類型時,需要在系統(tǒng)設(shè)置中對電池類型進行選擇。在圖24中,1號,4號,6號電池由于沒接電池檢測芯片,所以顯示通訊故障。表3是不同電池類型的編號。

          表3不同電池類型的編號

          電池類型

          電池電壓(電池節(jié)數(shù))

          電池編號

          鉛酸

          6V

          0

          8V

          1

          12V

          2

          磷酸鐵鋰

          16節(jié)

          3

          24節(jié)

          4

          錳酸

          3.3V

          5

          缺省

          ----

          6

          該選擇必須進入系統(tǒng)設(shè)置,并輸入密碼才能進行修改。密碼保護功能能阻止系統(tǒng)被隨意設(shè)置,從而保證系統(tǒng)設(shè)置的正確性。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();