胡澤華
摘 要:為滿足航電產(chǎn)品對顯示控制系統(tǒng)的個性需求,本項目以STM32F4微控制器為核心,搭載了實時要求高、啟動速度快、內(nèi)核精簡的UC/OS操作系統(tǒng),集成了通用性、可移植性強的UC/GUI圖形系統(tǒng),完成了一種專用顯示控制系統(tǒng)方案設(shè)計。文章闡述了系統(tǒng)平臺的軟硬件架構(gòu),介紹了各模塊接口的特點,并通過自主編寫的某航電設(shè)備應(yīng)用程序,驗證了系統(tǒng)平臺的可行性,測試結(jié)果表明,該系統(tǒng)啟動速度快,顯示穩(wěn)定,性能可靠,實用性強。
關(guān)鍵詞:顯示控制系統(tǒng);STM32;Cortex-M4;UC/OS;UC/GUI.
高性能TFT液晶顯示控制系統(tǒng)方案作為電子產(chǎn)品設(shè)計開發(fā)的重要組成部分,在航電、機載艦載等國防設(shè)備上的應(yīng)用也越加廣泛。啟動快、穩(wěn)定、可靠、方便移植的顯示控制系統(tǒng)方案,對國防產(chǎn)品的總體水平有較大推進(jìn)作用。意法半導(dǎo)體STM32F429系列微處理器集成ARM Cortex-M4內(nèi)核,帶FPU功能,主頻180MHZ,片內(nèi)Flash大小為2MB,片內(nèi)SRAM大小為256+4KB,內(nèi)置的LCD-TFT顯示控制器和DMA-2D圖形加速器,使高品質(zhì)的圖形顯示界面成為可能。本文基于STM32F429處理器,完成了顯示控制系統(tǒng)的軟硬件架構(gòu)設(shè)計,為增強系統(tǒng)移植和升級可操作性,系統(tǒng)軟件集成了UC/OS-III操作系統(tǒng),UC/GUI圖形系統(tǒng),目前已在航電產(chǎn)品上初步驗證了本平臺方案的可行性,顯示效果理想。本文主要介紹系統(tǒng)平臺的軟硬件架構(gòu)和各模塊特點,系統(tǒng)移植要點,并通過自主編寫的某航電設(shè)備應(yīng)用程序,驗證系統(tǒng)平臺的可行性。
1 系統(tǒng)硬件結(jié)構(gòu)
顯控平臺嵌入式系統(tǒng)擬用于航電設(shè)備顯示控制器,實現(xiàn)設(shè)備信息的人機交互。系統(tǒng)架構(gòu)如圖1所示,主芯片型號STM32F429,用USART2作為調(diào)試串口與PC通信;通過USART1串口與主控系統(tǒng)通訊,完成電臺、羅盤、高度表等接口設(shè)備的信息收集;主芯片通過UART接口與LCM交互控制信息,通過RGB接口傳輸LTDC控制器圖形數(shù)據(jù),顯示相應(yīng)狀態(tài)到液晶顯示(LCM)控制面板;通過按鍵輸入實現(xiàn)接口設(shè)備工作模式和參數(shù)配置;使用FMC接口管理SDRAM,為DMA2D圖形加速模塊提供內(nèi)存需求。
2 系統(tǒng)軟件結(jié)構(gòu)
系統(tǒng)軟件結(jié)構(gòu)如圖2所示,軟件設(shè)計包括驅(qū)動BSP設(shè)計、UC/OS-III操作系統(tǒng)集成、UC/GUI圖形系統(tǒng)集成、APP設(shè)計4個部分。驅(qū)動部分主要包括LCM、SDRAM、串口、按鍵等外設(shè)模塊;操作系統(tǒng)集成方便多任務(wù)管理,有利于硬件平臺升級;圖形系統(tǒng)的集成為應(yīng)用程序圖形界面開發(fā)提供標(biāo)準(zhǔn)接口,在應(yīng)用程序移植方面的幫助較大;APP設(shè)計是根據(jù)用戶具體需求,編制信息顯示和參數(shù)管理界面,為用戶提供清晰的數(shù)據(jù)信息和便捷的控制方式。
3 BSP設(shè)計
顯控系統(tǒng)BSP外設(shè)驅(qū)動設(shè)計主要包括LCM、SDRAM、串口、按鍵KEY等模塊,除了外設(shè)驅(qū)動,為提升圖形顯示效果,開啟了DMA2D圖形加速模塊功能;同時,為實現(xiàn)電臺等設(shè)備的參數(shù)存儲功能,本方案預(yù)留了內(nèi)部FLASH最后一個扇區(qū)(第23區(qū))128KB空間用于保存參數(shù),并為應(yīng)用程序提供讀寫接口函數(shù),主要接口特性如下。
3.1 LCM液晶模塊設(shè)計
本方案選用LCM液晶模塊型號LCM050VA07,液晶顯示模塊分辨率為640×480,采用RGB666并行18bit接口,該模塊符合GJB150-1986軍用設(shè)備環(huán)境試驗要求,滿足低溫貯存、低溫工作、高溫貯存、高溫工作、溫度沖擊、溫度-高度、加速度、沖擊、振動、霉菌、鹽霧等環(huán)境要求,符合航電產(chǎn)品要求。
LTDC模塊支持24bit RGB控制模式,本方案LCM接口為18bit。因此,引腳只需要高6位即可,圖層支持2個,LTDC控制模塊可以滿足LCM模塊驅(qū)動要求。本方案采用的LCM模塊,除了LCD-RGB圖形數(shù)據(jù)接口外,還提供了自檢、加熱、亮度設(shè)置、晝夜模式等可控功能,遵循標(biāo)準(zhǔn)的RS232通信方式,按照LCM通信協(xié)議,驅(qū)動模塊需要為上層提供封裝好的功能函數(shù)API接口。視頻信號驅(qū)動原理類似常用的C51 8080總線,點時鐘驅(qū)動,在控制信號的相互配合下,按順序把數(shù)據(jù)寫入液晶屏。不同型號LCM模塊,其時序控制和時鐘等參數(shù)是不同的,因此,對LCD-TFT控制器HSYNC and VSYNC width,HBP,HFP,VBP,VFP等時序參數(shù)及時鐘配置,需要根據(jù)具體的LCM設(shè)備要求來設(shè)置。
3.2 SDRAM模塊設(shè)計
使用UC/GUI和DMA2D加速控制器模塊后,需要為LTDC模塊分配圖形緩存空間,LTDC入口如果采用ARGB8888模式,每Pixel需要占用4字節(jié)內(nèi)存,最小存儲空間需要640×480×4=1,228,800Byte。如果采用2個圖層,需要占用存儲2.5MB左右,因此,使用內(nèi)部RAM的方法不可取,必須擴張外部SDRAM。存儲接口建立后,用戶對圖形的操作,相當(dāng)于寫相應(yīng)的SDRAM存儲。LTDC控制模塊通過讀取映射的SDRAM地址,實現(xiàn)對LCD圖形接口的控制。
本方案選用SDRAM芯片型號為MT48LC8M16A2P-75。存儲大小為8M×16bit= 128Mbit,12位地址線,16位數(shù)據(jù)線,控制線有CLK,CKE,CS,WE,CAS,RAS,BA0,BA1。主芯片STM32F4x9支持2片SDRAM,分別是NE1和NE2,本方案選用SDNE1接口。
3.3 內(nèi)部FLASH模塊設(shè)計
主芯片內(nèi)部FLASH大小為2MB,UC/OS和UC/GUI系統(tǒng)集成后,程序燒寫約占用0.5MB空間,在控制中文字庫大小的基礎(chǔ)上,內(nèi)部FLASH有足夠空間用于存儲平臺參數(shù),因此,外部擴展FLASH的方案可以暫時保留。為實現(xiàn)內(nèi)部FLASH保存參數(shù)的功能,底層需要為應(yīng)用層提供讀寫接口。內(nèi)部FLASH共24個扇區(qū),為防止用戶參數(shù)功能和主程序存儲使用的沖突,如果該功能被使能,必須保證BIN文件燒寫占用的空間小于1920KB(2MB~128KB),否則需要考慮擴展外部FLASH的方案。
3.4 串口模塊設(shè)計
STM32F429主芯片提供了8個同步異步串口,串口的調(diào)用,首先是串口初始化,包括硬件、引腳參數(shù)配置、中斷配置等。初始化完成后,串口通過讀寫功能函數(shù)交互信息,讀寫可通過中斷方式觸發(fā),寫串口時,通過調(diào)用發(fā)送接口函數(shù),將待傳信息打包到指定結(jié)構(gòu)體,使能中斷,當(dāng)發(fā)送條件滿足時,觸發(fā)中斷函數(shù)執(zhí)行信息的發(fā)送。同理,需要接受串口信息時,先調(diào)用讀函數(shù)入口,準(zhǔn)備緩存空間和SIZE,調(diào)用接收接口函數(shù),打包信息,使能中斷,當(dāng)?shù)讓訖z測到有信息被接受時,會觸發(fā)接收中斷函數(shù),進(jìn)行信息的接收;接收完成后,可以根據(jù)用戶的需要,對接重寫的回調(diào)函數(shù),對接收的信息進(jìn)行處理。
3.5 鍵盤模塊設(shè)計
當(dāng)目標(biāo)設(shè)備按鍵數(shù)量不多時,可以考慮用中斷的方法來實現(xiàn)按鍵設(shè)計。由于本案需要用到12個按鍵,并且有多個旋鈕開關(guān),因此,鍵盤模塊使用行列掃描的方法來實現(xiàn),3×4的矩陣鍵盤,可以滿足本案需求;在uC/OS的任務(wù)管理器調(diào)度基礎(chǔ)上,為矩陣鍵盤單獨開啟一個任務(wù),每200ms掃描一次鍵盤即可,經(jīng)實際驗證,效果理想。
4 系統(tǒng)軟件移植
UC/OS系統(tǒng)是基于優(yōu)先級的可搶占式硬實時內(nèi)核,包括任務(wù)調(diào)度、任務(wù)管理、時間管理、內(nèi)存管理和任務(wù)間通信與同步等基本功能。UC/OS-III移植需要重點檢查Ports的3個文件:os_cpu.h,os_cpu_c.c,os_cpu_a.asm,這3個文件中,os_ cpu.h文件是與處理器和編譯相關(guān)的代碼,os_cpu_c.c是用C語言編寫的與操作系統(tǒng)相關(guān)的函數(shù),os_cpu_a.asm是用匯編語言編寫的與處理器相關(guān)的函數(shù)。
UC/GUI圖形系統(tǒng)的集成是為了給應(yīng)用程序提供友好和標(biāo)準(zhǔn)的接口,方便應(yīng)用程序圖形界面的開發(fā)和移植。該系統(tǒng)具有開源、占用資源少、高性能、高可靠性、可移植、可配置等特點。該系統(tǒng)移植主要針對CONFIG文件進(jìn)行配置,主要涉及系統(tǒng)接口和驅(qū)動配置文件,為適應(yīng)個性化的LCD硬件,主要修改GUIConf.h和LCDConf.h文件,如果是觸摸屏,需要修改GUITouchConf.h文件。另外,顯示器需要支持中文輸出,需要集成中文字庫。
5 應(yīng)用軟件設(shè)計及測試效果
顯控系統(tǒng)擬用于航電設(shè)備的顯示控制器,操作系統(tǒng)和圖形系統(tǒng)集成到系統(tǒng)平臺后,結(jié)合驅(qū)動部分提供的按鍵和LCM控制功能接口,可以非常方便的實現(xiàn)人機交互控制程序,開發(fā)出滿足用戶需求的應(yīng)用程序。本顯控系統(tǒng)方案已在航電設(shè)備項目上初步驗證,程序內(nèi)核精簡,編譯總大小可控制在1.2MB以內(nèi),系統(tǒng)啟動速度快,整個啟動過程在1秒內(nèi)完成,性能穩(wěn)定,各項環(huán)境測試符合要求;開發(fā)初期的試驗效果理想,實際測試效果如圖3所示。
6 結(jié)語
本設(shè)計實現(xiàn)了一種基于STM32F429平臺的顯示控制系統(tǒng),利用串口實現(xiàn)與主控板的信息交互,監(jiān)控各設(shè)備的狀態(tài)信息,與常見的Linux,VxWorks系統(tǒng)相比,本方案具有啟動時間快、內(nèi)核精簡、性能穩(wěn)定、移植方便等優(yōu)點;系統(tǒng)移植了UC/GUI圖形系統(tǒng),標(biāo)準(zhǔn)圖形接口的使用,有利于硬件平臺的更新升級。本方案適用于環(huán)境要求比較高的專業(yè)平臺,擬用于航電設(shè)備,為航電設(shè)備的顯示控制提供個性支持。同時,本文對應(yīng)用STM32F4系列平臺搭建嵌入式顯示控制系統(tǒng)具有一定的參考價值。
[參考文獻(xiàn)]
[1]邵青.基于STM32F4x9的LCD顯示設(shè)計方案[J].單片機與嵌入式系統(tǒng)應(yīng)用,2014(6):82-83.
[2]廖義奎.ARM Cortex-M4嵌入式實戰(zhàn)開發(fā)精解[M].北京:北京航空航天大學(xué)出版社,2013.
Design of Embedded Display Control System Based on STM32F429
Hu Zehua
(Guangzhou Haige Communications Group Incorprated Company, Guangzhou 510000, China)
Abstract: In order to meet the individual needs of display control system in the avionics products, we designed a special platform which use the stm32f4 micro controller as the core, equipped with UC/OS operating system that is high real-time, fast boot, streamline kernel, integrated the universal and transplantable UC/GUI graphics system. This paper introduced the software and hardware architecture, and the characteristics of each module interface. Through the special application of avionics equipment, the feasibility of the system be verified. The test results show that the system has fast starting speed, stable and reliable performance and strong practicability.
Key words: display control system; STM32; Cortex-M4; UC/OS; UC/GUI