CAN總線汽車顯示儀表設(shè)計(jì)_第1頁
CAN總線汽車顯示儀表設(shè)計(jì)_第2頁
CAN總線汽車顯示儀表設(shè)計(jì)_第3頁
CAN總線汽車顯示儀表設(shè)計(jì)_第4頁
CAN總線汽車顯示儀表設(shè)計(jì)_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、成都學(xué)院學(xué)士學(xué)位論文(設(shè)計(jì))目 錄第1章 緒論11.1 CAN總線汽車顯示儀表概述11.2 CAN總線汽車顯示儀表國(guó)內(nèi)外研究現(xiàn)狀11.2.1國(guó)外現(xiàn)狀11.2.2 國(guó)內(nèi)現(xiàn)狀11.2.3 發(fā)展趨勢(shì)21.3 本課題研究?jī)?nèi)容概述3第2章 CAN總線技術(shù)42.1 CAN總線的性能特點(diǎn)42.2 CAN總線的技術(shù)規(guī)范42.3 CAN總線的節(jié)點(diǎn)組成4第3章 uC/OS-II操作系統(tǒng)移植53.1 uC/OS-II操作系統(tǒng)簡(jiǎn)介53.2 STM32系列Cortex-M3核微控制器簡(jiǎn)介53.3 如何把uC/OS-II移植到STM325第4章 CAN總線汽車顯示儀表設(shè)計(jì)方案64.1 系統(tǒng)總體設(shè)計(jì)思路64.1.1 嵌入式

2、汽車虛擬儀表系統(tǒng)整體設(shè)計(jì)方案。64.1.2 基于CAN總線及TFT-LCD顯示技術(shù)的硬件平臺(tái)設(shè)計(jì)64.1.3 確定系統(tǒng)內(nèi)核、設(shè)計(jì)驅(qū)動(dòng)程序,搭建汽車虛擬儀表軟件開發(fā)環(huán)境64.1.4 嵌入式車載儀表信息處理算法、顯示系統(tǒng)顯示界面的設(shè)計(jì)及軟件實(shí)現(xiàn)64.2 方案選擇及可行性分析74.2.1 虛擬儀表硬件方案選擇74.2.2 虛擬儀表軟件方案選擇8第5章 系統(tǒng)硬件方案105.1 主控芯片系統(tǒng)105.1.2 電源模塊115.1.3 CAN收發(fā)器模塊115.1.4 JTAG調(diào)試模塊125.2 TFT-LCD顯示模塊125.2.1 ILI9341控制器結(jié)構(gòu)135.2.2 像素點(diǎn)的數(shù)據(jù)格式145.2.3 ILI

3、9341的通訊時(shí)序155.3 輔助調(diào)試硬件電路16第6章 軟件及算法設(shè)計(jì)方案176.1 系統(tǒng)軟件移植176.2 驅(qū)動(dòng)程序設(shè)計(jì)176.2.1 STM32驅(qū)動(dòng)TFT-LCD屏176.2.2 STM32驅(qū)動(dòng)CAN總線176.3 應(yīng)用軟件設(shè)計(jì)176.3.1 虛擬儀表面板設(shè)計(jì)176.3.2 儀表數(shù)據(jù)處理程序設(shè)計(jì)17第7章 調(diào)試結(jié)果分析187.1 虛擬儀表實(shí)時(shí)性187.2 CAN通訊可靠性18第8章 結(jié)論與展望19致謝20參考文獻(xiàn)21附錄1 硬件原理圖22附錄2 部分程序 23II第1章 緒論 1.1 CAN總線汽車顯示儀表概述隨著汽車電子產(chǎn)業(yè)的快速發(fā)展,越來越多的電子信息新技術(shù)被應(yīng)用于汽車制造。儀表作為

4、汽車整個(gè)系統(tǒng)中十分重要的部分,是提高汽車綜合性能的重要方面之一。隨著計(jì)算機(jī)軟硬件技術(shù)、總線技術(shù)、電子技術(shù)等快速發(fā)展,控制系統(tǒng)臃腫、接線布線復(fù)雜、占用空間大的傳統(tǒng)電磁機(jī)械儀表漸漸被淘汰,虛擬儀表以其時(shí)尚、界面友好、功能強(qiáng)大等優(yōu)點(diǎn),成為了汽車電子領(lǐng)域的研究熱點(diǎn)之一。本項(xiàng)目的主要研究目的:利用目前最先進(jìn)的薄膜場(chǎng)效應(yīng)晶體管LCD(TFT-LCD)顯示技術(shù),以CAN總線技術(shù)為基礎(chǔ),研制出一套界面友好、功能豐富、性能優(yōu)越的汽車虛擬顯示儀表系統(tǒng)。該系統(tǒng)能通過軟件模擬出各種真實(shí)汽車儀表的動(dòng)態(tài)圖像,在LCD顯示屏上實(shí)時(shí)顯示出汽車當(dāng)前的車速、油量、燈光等狀態(tài)信息。 1.2 CAN總線汽車顯示儀表國(guó)內(nèi)外研究現(xiàn)狀 1

5、.2.1國(guó)外現(xiàn)狀虛擬儀表顯示技術(shù)最早出現(xiàn)在航空和軍事領(lǐng)域,而現(xiàn)在諸如駕校的汽車駕駛模擬器和賽車游戲都有虛擬儀表出現(xiàn)。國(guó)外虛擬儀表技術(shù)在汽車上的應(yīng)用研究始于上世紀(jì)九十年代初,一般在大學(xué)的研究實(shí)驗(yàn)室和大型汽車公司的研發(fā)實(shí)驗(yàn)室進(jìn)行,經(jīng)過十多年的實(shí)驗(yàn)研究,該項(xiàng)技術(shù)已經(jīng)比較成熟,目前的主要研究投入是用于降低該項(xiàng)技術(shù)的實(shí)現(xiàn)成本。在虛擬儀表技術(shù)應(yīng)用方面,梅賽德斯-奔馳是該項(xiàng)技術(shù)的領(lǐng)頭羊,早在2006年的全新一代奔馳S級(jí)豪華橋車上就裝備了這種虛擬儀表, 自此之后,路虎攬勝、捷豹XJ、福特Fusion Hybrid等品牌的汽車上相繼開始采用這一項(xiàng)技術(shù),它們裝備的虛擬儀表系統(tǒng)技術(shù)先進(jìn)、性能優(yōu)越,表盤設(shè)計(jì)合理、美觀

6、大氣。可見近幾年來,國(guó)外這項(xiàng)技術(shù)已經(jīng)快速走向成熟,開始在汽車上推廣使用。 1.2.2 國(guó)內(nèi)現(xiàn)狀我國(guó)國(guó)內(nèi)電子產(chǎn)業(yè)和軟件產(chǎn)業(yè)相對(duì)國(guó)外發(fā)展滯后緩慢,嵌入式汽車虛擬儀表系統(tǒng)和相應(yīng)的控制設(shè)備開發(fā)起步較晚,開發(fā)成本較國(guó)外高,功能上也相對(duì)單一,和國(guó)外同類產(chǎn)品在與整車的兼容性方面也存在很大的差距,而且技術(shù)上不是很成熟,市場(chǎng)上應(yīng)用的非常少。國(guó)內(nèi)民族汽車儀表領(lǐng)域的廠商,很少有批量生產(chǎn)嵌入式汽車虛擬儀表顯示終端的。目前國(guó)內(nèi)的部分高校開展了嵌入式汽車虛擬儀表系統(tǒng)的研究,如武漢理工大學(xué)、北京工業(yè)大學(xué)、安徽大學(xué)和南京航空航天大學(xué)等,但是技術(shù)都不是很成熟,沒有應(yīng)用到具體的汽車上,只處在研發(fā)的階段。目前嵌入式汽車虛擬儀表的研

7、究,硬件平臺(tái)大都采用ARM體系結(jié)構(gòu),ARM處理速度快,體積小,代表了未來嵌入式處理的發(fā)展方向。嵌入式操作系統(tǒng)目前應(yīng)用的比較多的是Linux、windows CE.net,通信方式一般采用CAN總線,而圖形顯示界面的開發(fā)一般用MiniGUI,或者Qt,當(dāng)然也有用Labview進(jìn)行界面開發(fā)的。一般都用觸摸屏來實(shí)現(xiàn)人機(jī)交互。 1.2.3 發(fā)展趨勢(shì)汽車儀表技術(shù)的發(fā)展趨勢(shì)雖然具體過程還不清楚, 但總的趨勢(shì)還是比較明朗的, 那就是充分應(yīng)用光技術(shù)和機(jī)、電一體化技術(shù), 并突出現(xiàn)代信息技術(shù)和網(wǎng)絡(luò)技術(shù)的應(yīng)用, 其功能將極大拓寬, 指示形式將演變成計(jì)算機(jī)終端顯示器。就目前技術(shù)條件而言,僅從技術(shù)本身的角度出發(fā),制約新

8、技術(shù)在汽車儀表上應(yīng)用的主要因素是制造成本。因?yàn)槠噧x表是一個(gè)量大、對(duì)成本極為敏感的產(chǎn)品, 在其改進(jìn)和創(chuàng)新的過程中, 不僅要考慮技術(shù)的可行性、功能的拓寬、性能的改善、使用的可靠性等, 更重要的是其制造成本。脫離制造成本談汽車儀表, 那只能是概念性的汽車儀表。在有關(guān)技術(shù)使用費(fèi)用, 特別是其依賴的硬件成本進(jìn)一步降低的前提下, 汽車儀表未來可能發(fā)展趨勢(shì)如下。1)未來汽車儀表的功能將不局限于現(xiàn)在的車速、里程、發(fā)動(dòng)機(jī)轉(zhuǎn)速、油量、水溫、方向燈指示等功能。2)電光學(xué)技術(shù)將在汽車儀表上得到廣泛應(yīng)用。顯示和內(nèi)照明器件不再用白熾燈泡, 而是選用高效冷光源發(fā)光器件, 如LED、電致發(fā)光器件等。導(dǎo)光系統(tǒng)更多體現(xiàn)出光學(xué)領(lǐng)

9、域的新技術(shù), 如儀表面板顏色可變等滿足個(gè)性化要求設(shè)計(jì)等。同時(shí),現(xiàn)在的后視光學(xué)反光鏡有可能被取消, 而改用電子攝像顯示后視系統(tǒng), 駕駛員的視野范圍將更寬。3)自動(dòng)導(dǎo)航和定位系統(tǒng)可能也是未來汽車儀表上不可缺少的部分, 包括全球衛(wèi)星定位系統(tǒng)和電子地圖等。4)具備完善的通訊系統(tǒng)。將來汽車上的計(jì)算機(jī)系統(tǒng)會(huì)與公共互連網(wǎng)相連, 以便充分共享信息資源, 處理通訊作業(yè)將是汽車儀表計(jì)算機(jī)系統(tǒng)工作內(nèi)容的一部分。5)汽車儀表的計(jì)算機(jī)系統(tǒng)具備對(duì)娛樂、空調(diào)等舒適性設(shè)備進(jìn)行監(jiān)管的功能, 可以自動(dòng)控制這些設(shè)備或支持駕駛員遠(yuǎn)程操縱。 1.3 本課題研究?jī)?nèi)容概述本項(xiàng)目采用虛擬儀器技術(shù)模擬汽車儀表盤,設(shè)計(jì)綜合數(shù)據(jù)采集、信號(hào)分析、儀

10、器面板等多項(xiàng)內(nèi)容的虛擬汽車儀表盤。利用傳感器節(jié)點(diǎn)采集轉(zhuǎn)速、耗油、速度等模擬或數(shù)字信號(hào),進(jìn)行預(yù)處理后通過CAN總線傳送到嵌入式車載計(jì)算機(jī),進(jìn)行分析處理,得到發(fā)動(dòng)機(jī)轉(zhuǎn)數(shù)、汽車車速、油耗、溫度及轉(zhuǎn)向燈等信息,然后將它們?cè)赥FT-LCD顯示屏以虛擬儀表的形式形象的顯示出來。第2章 CAN總線技術(shù)CAN(Controller Area Network)是控制器局域網(wǎng)絡(luò)的簡(jiǎn)稱,是由德國(guó)Bosch公司于80年代為解決現(xiàn)代汽車中各種過程控制器、執(zhí)行機(jī)構(gòu)、監(jiān)測(cè)儀器、傳感器之間的數(shù)據(jù)通訊而提出并開發(fā)的總線式串行通訊網(wǎng)絡(luò),1981年由ISO制定為國(guó)際標(biāo)準(zhǔn),稱為IS011898。作為一種設(shè)備級(jí)總線網(wǎng)絡(luò),CAN的國(guó)際標(biāo)

11、準(zhǔn)中只定義了物理層和數(shù)據(jù)鏈路層,而其他的高層協(xié)議則交給用戶完成,這樣,對(duì)于CAN的開發(fā)就有更大的靈活性。 2.1 CAN總線的性能特點(diǎn)CAN總線由于采用了許多新技術(shù)及其獨(dú)特的設(shè)計(jì),與一般的通信總線相比,CAN總線的數(shù)據(jù)通信具有突出的可靠性、實(shí)時(shí)性和靈活性。CAN本身的特點(diǎn)可概括如下: ,(1)多主方式傳送和接收數(shù)據(jù),利用這一特點(diǎn)可方便地構(gòu)成多機(jī)備份系統(tǒng);(2)CAN總線網(wǎng)絡(luò)上的節(jié)點(diǎn)信息具有不同的優(yōu)先級(jí),可滿足不同的實(shí)時(shí)要求;(3)采用短幀結(jié)構(gòu),傳輸時(shí)間短,受干擾率降低,具有極好的檢錯(cuò)效果;(4)每幀信息都有CRC校驗(yàn)及其它檢錯(cuò)措施,保證了數(shù)據(jù)出錯(cuò)率極低;(5)采用非破壞性總線仲裁技術(shù),保證了在

12、網(wǎng)絡(luò)負(fù)載重的情況下不會(huì)出現(xiàn)網(wǎng)絡(luò)癱瘓;(6)通信介質(zhì)可靈活選擇、通訊距離最遠(yuǎn)可達(dá)10km(傳輸率為lkbps)、通訊速率最高可達(dá)1MbPs(傳輸距離為40m);(7)總線節(jié)點(diǎn)數(shù)可達(dá)110個(gè);(8)實(shí)時(shí)性強(qiáng)、抗電磁干擾能力強(qiáng)、成本低。 2.2 CAN總線的技術(shù)規(guī)范 2.3 CAN總線的節(jié)點(diǎn)組成第3章 uC/OS-II操作系統(tǒng)移植 3.1 uC/OS-II操作系統(tǒng)簡(jiǎn)介 3.2 STM32系列Cortex-M3核微控制器簡(jiǎn)介 3.3 如何把uC/OS-II移植到STM32第4章 CAN總線汽車顯示儀表設(shè)計(jì)方案 4.1 系統(tǒng)總體設(shè)計(jì)思路 4.1.1 嵌入式汽車虛擬儀表系統(tǒng)整體設(shè)計(jì)方案。本部分內(nèi)容是項(xiàng)目初

13、期必須重點(diǎn)完成的內(nèi)容,是項(xiàng)目能否實(shí)現(xiàn)預(yù)期指標(biāo)的關(guān)鍵部分之一,需首先對(duì)汽車虛擬儀表必須達(dá)到的各項(xiàng)性能指標(biāo)、實(shí)現(xiàn)的功能、可接受的成本及擬采用的新技術(shù)等進(jìn)行綜合分析,確定出系統(tǒng)最終采用的軟硬件實(shí)現(xiàn)方案,并在此基礎(chǔ)上完成硬件選型工作。 4.1.2 基于CAN總線及TFT-LCD顯示技術(shù)的硬件平臺(tái)設(shè)計(jì)本部分內(nèi)容的研究是建立在(1)所確立的硬件實(shí)現(xiàn)方案上的,研究的重點(diǎn)在于CAN總線技術(shù)和TFT-LCD技術(shù)在汽車上的硬件實(shí)現(xiàn)方式。在此基礎(chǔ)上,圍繞選取得嵌入式核心處理器設(shè)計(jì)出整個(gè)系統(tǒng)的硬件電路圖,然后做出PCB板及其它支撐結(jié)構(gòu),焊接元器件,實(shí)現(xiàn)系統(tǒng)的硬件集成。 4.1.3 確定系統(tǒng)內(nèi)核、設(shè)計(jì)驅(qū)動(dòng)程序,搭建汽車

14、虛擬儀表軟件開發(fā)環(huán)境對(duì)應(yīng)嵌入式系統(tǒng),為了能夠充分、高效的利用系統(tǒng)的硬件資源,必須為其配備操作系統(tǒng)。目前,可用于嵌入式系統(tǒng)的操作系統(tǒng)有多種,但各有特點(diǎn),需通過系統(tǒng)功能需要、開發(fā)難易度等合理選取。此部分的重點(diǎn)研究?jī)?nèi)容是在操作系統(tǒng)上設(shè)計(jì)傳感器、輸入設(shè)備、TFT-LCD屏等的驅(qū)動(dòng)程序,良好的驅(qū)動(dòng)程序,有助于充分發(fā)揮各硬件設(shè)備的功能,提升整個(gè)系統(tǒng)的性能指標(biāo)。 4.1.4 嵌入式車載儀表信息處理算法、顯示系統(tǒng)顯示界面的設(shè)計(jì)及軟件實(shí)現(xiàn) 本部分是整個(gè)項(xiàng)目的重點(diǎn)研究部分,研究的內(nèi)容包括虛擬表盤顯示圖形設(shè)計(jì)、虛擬表盤應(yīng)用軟件程序結(jié)構(gòu)流程設(shè)計(jì),在此基礎(chǔ)上采用一種高級(jí)計(jì)算機(jī)語言,編寫出簡(jiǎn)潔、高效的程序代碼,實(shí)現(xiàn)虛擬表

15、盤的顯示功能。 4.2 方案選擇及可行性分析 4.2.1 虛擬儀表硬件方案選擇根據(jù)系統(tǒng)功能、性能需要,擬通過如圖4-1所示系統(tǒng)結(jié)構(gòu)框圖構(gòu)建虛擬儀器的硬件平臺(tái)。圖4-1 虛擬儀表硬件結(jié)構(gòu)框圖該硬件平臺(tái)可分為如下兩個(gè)部分:第一部為核心處理器部分,本部分負(fù)責(zé)虛擬儀表盤的實(shí)現(xiàn)、CAN總線數(shù)據(jù)接收、實(shí)時(shí)刷新顯示儀表信息??紤]到ARM系列處理器的強(qiáng)大的處理能力和完善的開發(fā)工具,這里選用自帶CAN模塊的ARM Cortex-M3系列處理器STM32作為該虛擬儀表系統(tǒng)的核心處理器。通過對(duì)開發(fā)成本以及可靠性等綜合分析,最終確定采用STM32F103VET6處理器。選取TFT-LCD作為虛擬儀器系統(tǒng)的顯示屏,是該

16、項(xiàng)目的創(chuàng)新之處,是本項(xiàng)目的研究重點(diǎn)之一。先根據(jù)需要選擇所需TFT-LCD屏,然后設(shè)計(jì)TFT-LCD控制器,編寫驅(qū)動(dòng)程序。根據(jù)多方面考慮,本設(shè)計(jì)采用3.2寸TFT-LCD屏。第二部分為汽車狀態(tài)信號(hào)采集部分,包括車速、燈光信號(hào)、油量等傳感器以及信號(hào)預(yù)處理電路,負(fù)責(zé)汽車狀態(tài)參數(shù)信號(hào)的采集和預(yù)處理。為了降低設(shè)計(jì)成本,各部分信號(hào)均通過模擬完成調(diào)試。為了提高設(shè)計(jì)的可靠性,本設(shè)計(jì)增加了CAN調(diào)試處理器模塊,本模塊目的是產(chǎn)生汽車所需的模擬數(shù)字信號(hào),如車速(模擬信號(hào)),燈光燈(數(shù)字信號(hào)),將產(chǎn)生的信號(hào)通過CAN總線發(fā)送給核心處理器。如此設(shè)計(jì),不僅模擬了汽車各種信號(hào)還檢驗(yàn)了CAN總線。本模塊硬件電路采用STC89

17、C58RD+SJA1000+SJA1050。 4.2.2 虛擬儀表軟件方案選擇虛擬儀表軟件部分是虛擬儀表系統(tǒng)能否實(shí)現(xiàn)其全部功能、達(dá)到預(yù)定效果的關(guān)鍵。虛擬儀表軟件開發(fā)主要有2個(gè)內(nèi)容:開發(fā)環(huán)境的搭建、虛擬儀表應(yīng)用程序的設(shè)計(jì),其軟件結(jié)構(gòu)框圖如圖4-2所示圖4-2 虛擬儀表的軟件結(jié)構(gòu)圖選擇一個(gè)合適的嵌入式操作系統(tǒng),在該操作系統(tǒng)平臺(tái)下編寫虛擬儀表的驅(qū)動(dòng)程序和應(yīng)用程序,再選擇一款圖形化界面開發(fā)工具庫設(shè)計(jì)虛擬儀表軟面板。應(yīng)用程序的主要功能是,當(dāng)接收到信號(hào)后,將其有用數(shù)據(jù)提取并加以存儲(chǔ),然后調(diào)用儀表顯示程序,將需要的顯示內(nèi)容顯示到不同的虛擬儀表盤中,同時(shí)判斷各項(xiàng)參數(shù)是否正常,若出現(xiàn)異常則調(diào)用報(bào)警子程序。具體流

18、程如圖4-3。圖4-3 應(yīng)用程序流程圖通過對(duì)可行性論證,本設(shè)計(jì)核心處理器軟件最終采用KEIL開發(fā)平臺(tái)、uC/OS-II操作系統(tǒng)以及uC/GUI圖形支持軟件來實(shí)現(xiàn)。第5章 系統(tǒng)硬件方案 5.1 主控芯片系統(tǒng)主控芯片采用STM32F103VET6處理器,外圍模塊包含TFT-LCD顯示模塊、JTAG調(diào)試模塊、電源模塊、CAN收發(fā)器模塊。 5.1.1 單片機(jī)最小系統(tǒng)STM32單片機(jī)支持串口下載和JLINKV8。兩種下載方式STM32F103第94號(hào)腳BOOT0設(shè)置有點(diǎn)不一樣,在此需要注意。采用串口下載時(shí),下載程序時(shí),BOOT0必須撥到VCC,下載完后程序需要運(yùn)行,BOOT0必須撥到GND。采用JLIN

19、KV8下載時(shí),BOOT0不做要求,但是下載完后程序需要運(yùn)行,BOOT0必須撥到GND。本設(shè)計(jì)采用JLINKV8下載,因此設(shè)置BOOT0一直為GND。STM32系統(tǒng)時(shí)鐘有HSI振蕩器時(shí)鐘(8M)、HSE振蕩器時(shí)鐘(416M)、LSE時(shí)鐘(32768Hz)。最小系統(tǒng)原理如圖5-1所示。圖5-1 最小系統(tǒng)原理圖 5.1.2 電源模塊電源模塊采用多種供電方式,支持USB供電、穩(wěn)壓電源供電等,STM32工作電壓為3.3V。對(duì)輸入5V采用AMS1117-3.3進(jìn)行穩(wěn)壓。本模塊需要兩種地供單片機(jī)的模擬地和數(shù)字地,因此采用電感電容起一個(gè)隔離濾波作用,降低兩地之間的干擾。旁路電容起濾波作用,降低電源的高頻干擾。

20、電源模塊原理如圖5-2所示。圖5-2 電源模塊原理圖 5.1.3 CAN收發(fā)器模塊每個(gè)CAN節(jié)點(diǎn)需要三部分組成:控制器、CAN控制器、CAN收發(fā)器。接核心控制器的CAN節(jié)點(diǎn)控制器當(dāng)然是STM32,由于STM32內(nèi)部集成了一個(gè)bxCAN模塊,所以CAN控制器也是STM32,本設(shè)計(jì)所使用的收發(fā)器是TJA1050。在總線末端均接有抑制反射的終端負(fù)載電阻,阻值為120。CAN收發(fā)器原理如圖5-3所示。圖5-3 CAN收發(fā)器原理圖 5.1.4 JTAG調(diào)試模塊本設(shè)計(jì)采用JTAG下載調(diào)試核心控制器程序。由于JTAG采用的是并口與電腦相接,而現(xiàn)在電腦很多都不具備并口接口。為了方便調(diào)試,本設(shè)計(jì)的調(diào)試工具使用J

21、LINK。JLINK實(shí)現(xiàn)USB轉(zhuǎn)JTAG功能。JTAG接單片機(jī)接口如圖5-4所示。圖5-4 JTAG接口 5.2 TFT-LCD顯示模塊因?yàn)镾TM32內(nèi)部沒有集成專用的液晶屏控制接口,所以在顯示面板中應(yīng)自帶含有驅(qū)動(dòng)芯片的驅(qū)動(dòng)電路,STM32芯片通過驅(qū)動(dòng)芯片來控制液晶屏,與STM32接口電路如圖5-5。本設(shè)計(jì)選用3.2寸TFT-LCD屏(240*320)。它使用ILI9341芯片控制液晶屏。 圖5-5 TFT-LCD接口后面部分ILI9341控制器介紹摘自野火團(tuán)隊(duì)零死角玩轉(zhuǎn)STM32高級(jí)篇P5558。在此感謝野火團(tuán)隊(duì)的辛勤付出。 5.2.1 ILI9341控制器結(jié)構(gòu)液晶屏的控制芯片內(nèi)部結(jié)構(gòu)非常復(fù)

22、雜,在此只做簡(jiǎn)單介紹。ILI9341控制器內(nèi)部框圖如圖5-6所示。其最主要的是位于中間GRAM(Graphics RAM ),可以理解為顯存。GRAM中每個(gè)存儲(chǔ)單元都對(duì)應(yīng)著液晶面板的一個(gè)像素點(diǎn)。它右側(cè)的各種模塊共同作用把GRAM存儲(chǔ)單元的數(shù)據(jù)轉(zhuǎn)化成液晶面板的控制信號(hào),使像素點(diǎn)呈現(xiàn)特定的顏色,而像素點(diǎn)組合起來則成為一幅完整的圖像??驁D的左上角為ILI9341的主要控制信號(hào)線和配置引腳,根據(jù)其不同狀態(tài)設(shè)置可以使芯片工作在不同的模式,如每個(gè)像素點(diǎn)的位數(shù)為6、16還是18位;使用SPI接口還是8080接口與MCU進(jìn)行通訊;使用8080接口的哪種模式。MCU通過SPI或8080接口與ILI9341進(jìn)行通

23、訊,從而訪問它的控制寄存器(CR)、地址計(jì)數(shù)器(AC)、及GRAM。在GRAM的左側(cè)還有一個(gè)LED控制器。LCD為非發(fā)光性的顯示裝置,它需要借助背光源才能達(dá)到顯示功能,LED控制器就是用來控制液晶屏中的LED背光源。圖5-6 ILI9341控制器內(nèi)部框圖 5.2.2 像素點(diǎn)的數(shù)據(jù)格式圖像數(shù)據(jù)的像素點(diǎn)由紅(R)、綠、藍(lán)三原色組成,三原色根據(jù)其深淺程度被分為0255個(gè)級(jí)別,它們按不同比例的混合可以得出各種顏色。如R:255,G:255,B:255混合后為白色。根據(jù)描述像素點(diǎn)數(shù)據(jù)的長(zhǎng)度,主要分為8、16、24及32位。如以8位來描述的像素點(diǎn)可表示28=256色,16位描述的為216=65536色,稱

24、為真彩色,也稱為64K色。實(shí)際上受人眼對(duì)顏色的識(shí)別能力的限制,16位色與12位色已經(jīng)難以分辨了。ILI9341最高能控制18位的LCD,但為了數(shù)據(jù)傳輸簡(jiǎn)便,我們采用它的16位控制模式,以16位描述的像素點(diǎn)。按照標(biāo)準(zhǔn)格式,16位的像素點(diǎn)的三原色描述的位數(shù)為R:G:B=5:6:5,描述綠色的位數(shù)較多是因?yàn)槿搜蹖?duì)綠色更敏感。16位的像素點(diǎn)格式如圖5-7所示。圖5-7 16位像素點(diǎn)格式圖中的是默認(rèn)18條數(shù)據(jù)線時(shí),像素點(diǎn)三原色的分配狀況,D1D5為藍(lán)色,D6D11為綠色,D13D17為紅色。這樣分配有D0和D12位是無效的。若使用16根數(shù)據(jù)線傳輸像素點(diǎn)的數(shù)據(jù),則D0D4為藍(lán)色,D5D10為綠色,D11D

25、15為紅色,使得剛好使用完整的16位。RGB比例為5:6:5是一個(gè)通用的顏色標(biāo)準(zhǔn),在GRAM相應(yīng)的地址中填入該顏色的編碼,即可控制LCD輸出該顏色的像素點(diǎn)。如黑色編碼為0X0000,白色編碼為0XFFFF,紅色編碼為0XF800。 5.2.3 ILI9341的通訊時(shí)序目前,大多數(shù)的液晶控制器都使用8080或6800接口與MCU進(jìn)行通訊,它們的時(shí)序十分相似,野火以ILI9341使用的8080通訊時(shí)序進(jìn)行分析,實(shí)際上ILI也可以使用SPI接口來控制。ILI9341的8080接口有5條基本的控制信號(hào)線:1、 用于片選的CSX信號(hào)線;2、 用于寫使能的WRX信號(hào)線;3、 用于讀使能的RDX信號(hào)線;4、

26、 用于區(qū)分?jǐn)?shù)據(jù)和命令的D/CX信號(hào)線;5、 用于復(fù)位的RESX信號(hào)線。其中帶X的表示低電平有效。除了控制信號(hào),還有數(shù)據(jù)信號(hào)線,它的數(shù)目不定,可根據(jù)ILI9341框圖中的IM3:0來設(shè)定,這部分一般由制作液晶屏的廠家完成。為便于傳輸像素點(diǎn)數(shù)據(jù),野火使用的液晶屏設(shè)定為16條數(shù)據(jù)線D15:0。使用8080接口的寫命令時(shí)序圖如圖5-8所示。由圖可知,寫命令時(shí)序由CSX信號(hào)線拉低開始,D/CX信號(hào)線也置低電平,表示寫入的是命令地址,以WRX信號(hào)線為低,RDX信號(hào)為高表示數(shù)據(jù)傳輸方向?yàn)閷懭?,同時(shí),在數(shù)據(jù)線17:0輸出命令地址,在第二個(gè)傳輸階段傳送的為命令參數(shù),所以D/CX要置高電平,表示寫入的是命令數(shù)據(jù)。

27、當(dāng)我們需要向GRAM寫入數(shù)據(jù)的時(shí)候,把CSX信號(hào)線拉低后,把D/CX信號(hào)置為高電平,這時(shí)由D17:0傳輸?shù)臄?shù)據(jù)則會(huì)被ILI9341保存至它的GRAM中。圖5-8 使用18條數(shù)據(jù)線的8080接口寫命令時(shí)序 5.3 輔助調(diào)試硬件電路輔助調(diào)試硬件模塊由單片機(jī)模塊、按鍵和LED模塊、MAX232模塊、CAN處理器模塊和CAN收發(fā)器模塊組成。輔助調(diào)試硬件電路作用是通過CAN總線為STM32傳輸汽車信息。本設(shè)計(jì)汽車信息采用模擬實(shí)現(xiàn)。模擬信號(hào)由電位器實(shí)現(xiàn),數(shù)字信號(hào)由按鍵模擬。具體硬件電路詳見附錄。第6章 軟件及算法設(shè)計(jì)方案 6.1 系統(tǒng)軟件移植 6.2 驅(qū)動(dòng)程序設(shè)計(jì) 6.2.1 STM32驅(qū)動(dòng)TFT-LCD

28、屏ILI9341的8080通訊接口時(shí)序可以由STM32使用普通I/O接口進(jìn)行模擬,但這樣效率較低,STM32提供了一種特別的控制方法使用FSMC接口。 FSMC簡(jiǎn)介FSMC(flexible static memory controller),譯為靜態(tài)存儲(chǔ)控制器??捎糜赟TM32芯片控制NOR FLASH、PSRAM、和NAND FLASH存儲(chǔ)芯片。其結(jié)構(gòu)如圖6-1所示。本設(shè)計(jì)使用FSMC的NORPSRAM模式控制LCD,所以在此重點(diǎn)分析框圖中NOR FLASH控制信號(hào)線部分??刂芅OR FLASH主要使用到信號(hào)線如圖6-2所示。根據(jù)STM32對(duì)尋址空間的地址映射,如圖6-3所

29、示。地址0x6000 00000x9fff ffff是映射到外部存儲(chǔ)器的,而其中的0x6000 00000x6fff ffff則是分配給NOR FLASH、PSRAM這類可直接尋址的器件。當(dāng)FSMC外設(shè)被配置為正常工作,并且外部接了NOR FLASH,這時(shí)若向0x6000 0000地址寫入數(shù)據(jù)0xffff,F(xiàn)SMC會(huì)自動(dòng)在各信號(hào)線上產(chǎn)生相應(yīng)的電平信號(hào),寫入數(shù)據(jù)。該過程的時(shí)序圖如圖6-4所示。圖6-1 FSMC結(jié)構(gòu)圖圖6-2 FSMC控制NOR FLASH的信號(hào)線圖6-3 NOR FLASH 存儲(chǔ)器映像圖6-4 FSMC寫NOR時(shí)序圖它會(huì)控制片選信號(hào)NEx選擇相應(yīng)的某塊NOR芯片,然后使用地址線A25:0輸出0x6000 0000,在NEW寫使能信號(hào)線上發(fā)出寫使能信號(hào),而要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論