近幾年嵌入式技術(shù)快速發(fā)展,對人機(jī)界面的要求越來越高,友好的圖形人機(jī)界面為嵌入式系統(tǒng)的人機(jī)交互提供豐富的圖形圖像信息、直觀的表達(dá)方式。嵌入式GUI(Graphical User Interface)作為人機(jī)界面的軟件系統(tǒng),具有簡潔、美觀、方便好用且更具人性化的特點(diǎn),采用嵌入式GUI進(jìn)行人機(jī)界面設(shè)計(jì)能夠提高設(shè)備開發(fā)效率,節(jié)省維護(hù)成本,豐富人機(jī)交互信息,因而,已經(jīng)被越來越多的領(lǐng)域所采用。uC/GUI是一款不僅可以實(shí)現(xiàn)快速開發(fā),而且能夠提供低功耗型GUI支持的軟件。用戶可以使用它方便地定制出自己的圖形用戶界面,完成各種應(yīng)用程序的開發(fā)。
一、系統(tǒng)總體方案構(gòu)想
我們所設(shè)計(jì)的應(yīng)用系統(tǒng)是一個(gè)便攜式高精度數(shù)據(jù)采集與液顯人機(jī)交互系統(tǒng),系統(tǒng)集高精度數(shù)據(jù)采集、快速數(shù)據(jù)處理、彩色液晶顯示于一體。應(yīng)用系統(tǒng)的硬件部分主要由兩大塊構(gòu)成,即前端數(shù)據(jù)采集、處理電路和后端數(shù)據(jù)處理、液晶顯示電路組成,這兩部分是通過RS-232串行接口進(jìn)行通信。系統(tǒng)的總體方案構(gòu)圖如圖1所示。
我們所設(shè)計(jì)的這套系統(tǒng),前后端硬件部分接口豐富,擴(kuò)展性強(qiáng),硬件一旦成型就相對固定。使用時(shí),根據(jù)具體的應(yīng)用場合不同,前端輔以不同類型的傳感器,組成高精度的數(shù)據(jù)采集傳輸模塊,前后端分別編寫相應(yīng)的應(yīng)用軟件完成高精度的數(shù)據(jù)采集、處理和人機(jī)交互顯示。系統(tǒng)的架構(gòu)在一定的應(yīng)用領(lǐng)域具有通用性,可廣泛用于工業(yè)過程控制、醫(yī)療儀器、智能傳感器等各個(gè)領(lǐng)域。
二、數(shù)據(jù)采集部分的軟硬件設(shè)計(jì)
1.硬件電路設(shè)計(jì)
數(shù)據(jù)采集部分的核心器件MSC1210是德州儀器公司推出的系統(tǒng)級高精度ADC芯片系列,內(nèi)置24位低功耗Σ—ΔADC前端信號調(diào)理電路——多路模擬開關(guān)、緩沖器、PGA(可編程增益放大)、電壓參考,且集成了高性能8051處理器內(nèi)核、Flash存儲器和32位累加器、兼容SPI串口等多種片上外設(shè)。
數(shù)據(jù)采集部分的電路結(jié)構(gòu)原理圖和PCB截圖如圖2所示。
由電路結(jié)構(gòu)原理圖可知,整個(gè)數(shù)據(jù)采集電路是以片上系統(tǒng)——MSC1210Y5為中心的電路,由前面介紹可以看出這個(gè)IC芯片已經(jīng)集成了模擬電路和控制邏輯,一方面內(nèi)部邏輯功能比較強(qiáng),另一方面包含了比較完整的測量通道。因此所需要的外圍電路很少,是一種結(jié)構(gòu)緊湊的實(shí)用電路。由圖2可見線路中主PuGCSqnU5Vb36vNQ7z2b1A==要2塊IC芯片為:MSC1210Y5和MAX3223,前者是一個(gè)片上系統(tǒng),工作頻率為1.8432MHz,并且包含32kB Flash存儲器;后者提供片上系統(tǒng)與后端人機(jī)交互系統(tǒng)串口通信的RS-232接口。由于IC芯片的功耗很低,板上的DVdd電源(3.3V)由后端系統(tǒng)通過RS—232接口提供,除了RS—232接口的接線,就只需要接入J1、J2插座的信號(8個(gè)AIN線、REF及公共地)線,不再需要其它連接,使用非常方便。此外,在電路中還預(yù)留一部分接口線供以后系統(tǒng)功能擴(kuò)展使用,包含第二串行口以及四根可配置為SPI接口、中斷輸入和I/O端口線等。
2.軟件設(shè)計(jì)
在基于此電路的智能高精度測溫模塊應(yīng)用中,MSC1210Y5完成了微弱信號的多路切換、信號緩沖、PGA編程放大、24位Δ—ΣA/D轉(zhuǎn)換、數(shù)字濾波、數(shù)據(jù)處理、信號校準(zhǔn)及串口通信等功能。MSC1210Y5包含2個(gè)串口,我們選取其中的一個(gè)串口用來與后端人機(jī)交互系統(tǒng)通信,負(fù)責(zé)接收后端發(fā)送的控制命令和控制參數(shù)以及發(fā)送前端采集、處理的數(shù)據(jù)。因此數(shù)據(jù)采集電路的程序主要任務(wù)為以下幾點(diǎn)。
?。?)控制內(nèi)部的ADC的測量過程,讀取轉(zhuǎn)換的數(shù)據(jù)。
?。?)與后端(S3C44B0X系統(tǒng))通信,讀取上位機(jī)的命令和有關(guān)的控制參數(shù),同時(shí)向上位機(jī)傳送轉(zhuǎn)換的數(shù)據(jù)。
圖3表示了數(shù)據(jù)采集電路的程序控制流程。
程序開始部分設(shè)置串口通信的基本參數(shù),如設(shè)置波特率、數(shù)據(jù)格式、定時(shí)/計(jì)數(shù)器工作方式、時(shí)間常數(shù)等,同時(shí)使串口處于“接收”狀態(tài)——等待上位機(jī)送過來的命令和數(shù)據(jù),在框圖中將依次讀到的后端系統(tǒng)的2個(gè)字節(jié)的串碼(暫存在R6,R7)的控制字傳送到MSC1210Y5內(nèi)部寄存器ADCON1和ADCON0,實(shí)現(xiàn)對于ADC的控制命令寫入。其后還將ADCON3、ADCON2、ADMUX和PDCON這幾個(gè)寄存器的內(nèi)部寫入相應(yīng)的命令或參數(shù)值,通過這些過程就能夠完成對于MSC1210Y5內(nèi)的ADC的設(shè)置和啟動(dòng)。在這之后內(nèi)部ADC的轉(zhuǎn)換過程就不需要用程序干預(yù)了,控制程序的任務(wù)則是不斷地去讀取ADC轉(zhuǎn)換結(jié)果,并且向上位機(jī)傳送。在程序流程的后半部分是一個(gè)循環(huán)過程,在這個(gè)循環(huán)部分的開始是將MSC1210Y5串口轉(zhuǎn)換為“發(fā)送”狀態(tài)——向后端系統(tǒng)發(fā)送數(shù)據(jù),由于它的ADC是24位精度,轉(zhuǎn)換數(shù)據(jù)必須分為3個(gè)字節(jié)傳送,依次向上位機(jī)發(fā)送——即首先將ADC轉(zhuǎn)換結(jié)果寄存器1的數(shù)據(jù)通過SBUF發(fā)送,然后是ADC轉(zhuǎn)換結(jié)果寄存器2的數(shù)據(jù),最后是ADC轉(zhuǎn)換結(jié)果寄存器3。當(dāng)然這個(gè)過程還應(yīng)包含:發(fā)送同步字符,CRC校驗(yàn)等過程,這些不是本文研究的重點(diǎn),因此在此不加細(xì)述。
三、嵌入式GUI應(yīng)用系統(tǒng)概述
前面已經(jīng)介紹了整個(gè)應(yīng)用系統(tǒng)的總體結(jié)構(gòu),已知整個(gè)系統(tǒng)在硬件上是由兩大塊組成,一個(gè)是上面介紹的前端的數(shù)據(jù)采集部分,另外的一個(gè)即是后端的基于S3C44B0X微處理器的數(shù)據(jù)處理和液晶顯示部分,兩部分是通過RS—232串行接口進(jìn)行通信。
后端的硬件部分主要是由三大塊構(gòu)成:以S3C44B0X為核心的系統(tǒng)板,集JTAG調(diào)試電路、系統(tǒng)電源、LCD接口電路的輔助板,液晶屏。
為了整個(gè)系統(tǒng)的便攜性,我們在設(shè)計(jì)的過程中充分考慮了系統(tǒng)的整體結(jié)構(gòu),首先是根據(jù)實(shí)際應(yīng)用的需要進(jìn)行了液晶屏型號的選取,我們選擇的是5.7寸的256色,320×240像素的STN液晶屏,然后根據(jù)液晶屏的尺寸大小并結(jié)合最終應(yīng)用系統(tǒng)的外形結(jié)構(gòu)特點(diǎn),繪制了以S3C44B0X為核心的系統(tǒng)板和集JTAG調(diào)試電路、系統(tǒng)電源、LCD接口電路的輔助板。這三大塊的構(gòu)成模型如圖4所示。
后端的軟件部分也是由三個(gè)部分所組成:系統(tǒng)啟動(dòng)加載程序Boot loader程序,嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)uC/OS-II,基于uC/OS-II的應(yīng)用程序。根據(jù)系統(tǒng)應(yīng)用的需要,其中基于uC/OS-II的應(yīng)用程序主要包括串行口通信程序和基于uC/GUI的圖形用戶接口程序。圖5為后端軟件部分的啟動(dòng)和運(yùn)行過程。
本文研究設(shè)計(jì)的基于ARM微處理器和嵌入式實(shí)時(shí)操作系統(tǒng)的嵌入式GUI應(yīng)用平臺的方案,完成了系統(tǒng)硬件電路的設(shè)計(jì)與調(diào)試,實(shí)現(xiàn)了包括:系統(tǒng)啟動(dòng)加載程序Boot Loader、uC/OS-II操作系統(tǒng)的移植、串口通信程序、uC/GUI圖形軟件應(yīng)用等系統(tǒng)軟件平臺的設(shè)計(jì)與應(yīng)用。該嵌入式GUI應(yīng)用平臺既可以滿足用戶對應(yīng)用系統(tǒng)實(shí)時(shí)性和快速處理的要求,又能夠給用戶提供生動(dòng)、直觀的圖形人機(jī)交互界面,具有廣泛的應(yīng)用前景。
注:“本文中所涉及到的圖表、公式、注解等請以PDF格式閱讀”