當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]一種低功耗的便攜式人機(jī)界面系統(tǒng)

在全站儀應(yīng)用于飛機(jī)的測(cè)量過(guò)程中,常會(huì)涉及到計(jì)算,以滿(mǎn)足不同的應(yīng)用環(huán)境與測(cè)量要求。本文選用了意法半導(dǎo)體公司基于ARM最新Cortex—M3內(nèi)核的STM32F103RB作為主控芯片,通過(guò)選擇合適的液晶模塊,構(gòu)建了一個(gè)高性能低功耗的中文人機(jī)界面系統(tǒng)。根據(jù)在全站儀應(yīng)用于飛機(jī)的測(cè)量過(guò)程中的實(shí)際需要,設(shè)計(jì)了用于測(cè)量計(jì)算的人機(jī)界面系統(tǒng),在該系統(tǒng)中,采用的處理器內(nèi)核為ARM最新的Cortex—M3,它基于最新ARMv7架構(gòu),采用了至今為止最小的ARM內(nèi)核,有效地降低了系統(tǒng)功耗。

  1 系統(tǒng)的工作原理

  本系統(tǒng)以STM32F103RBT6為核心,采用晶彩光電的AM240320TFT液晶屏作為顯示器,完成內(nèi)容的顯示,由于STM32F103RBT6內(nèi)部Flash為128 K,如果用來(lái)儲(chǔ)存漢字字庫(kù),對(duì)芯片資源是一種極大的浪費(fèi),所以本文中采用微控制器外掛SPI接口Flash的設(shè)計(jì)思路,將不用重復(fù)改變的中文字庫(kù)存放在外部Flash芯片里面,需要時(shí)再通過(guò)SPI口調(diào)入處理器。由于STM32F103RBT6不帶有FSMC,所以采用軟件模擬總線(xiàn)的方法,完成對(duì)液晶模塊的驅(qū)動(dòng)。

  2 系統(tǒng)硬件設(shè)計(jì)

  2.1 供電部分電路

  由于整個(gè)系統(tǒng)采用3.3 V供電,所以必須外部穩(wěn)壓電路將電壓穩(wěn)定到3.3 V,本設(shè)計(jì)中采用三端穩(wěn)壓芯片LM1117-3.3,將外部電池電壓穩(wěn)定為3.3 V位系統(tǒng)提供電源,為處理器、液晶顯示器、SPI Flash供電,采用二極管IN4007串接在電源正極,為系統(tǒng)提供電源反接保護(hù)。供電部分原理圖如圖1所示。

  

 

  2.2 液晶顯示部分電路設(shè)計(jì)

  液晶顯示部分主要由微控制器驅(qū)動(dòng)液晶顯示模塊完成人機(jī)界面狀態(tài)的顯示,通過(guò)發(fā)送命令字,完成液晶模塊的初始化以及漢字的顯示。

  2.2.1 STM32F系列ARM微控制器的特點(diǎn)

  STM32處理器采用ARM公司最新的V7體系架構(gòu)的內(nèi)核Cortex—M3,它的速度比ARM7快三分之一,功耗低四分之三,同時(shí)集成了分支預(yù)測(cè),單周期乘法,硬件除法等功能,大大地提高了處理器的數(shù)據(jù)處理能力,同時(shí)采用最新的Thumb-2指令集,有效地降低了代碼的密度,提高了程序的執(zhí)行效率,通過(guò)對(duì)功耗和性能的分析,本文中采用的處理器為STM32F103RBT6,該處理器工作頻率為72 MHz,內(nèi)置高速存儲(chǔ)器(高達(dá)128 K字節(jié)的閃存和20 K字節(jié)的SRAM),豐富的增強(qiáng)I/O端口和聯(lián)接到2條APB總線(xiàn)的外設(shè)。供電電壓2.0~3.6V,一系列的省電模式保證低功耗應(yīng)用的要求,達(dá)到了性能和功耗的平衡。

  2.2.2 TFT液晶顯示模塊的特點(diǎn)

  TFT液晶顯示屏是薄膜晶體管型液晶顯示屏。TFT液晶為每個(gè)像素都設(shè)有一個(gè)半導(dǎo)體開(kāi)關(guān),每個(gè)像素都可以通過(guò)點(diǎn)脈沖直接控制,因而每個(gè)節(jié)點(diǎn)都相對(duì)獨(dú)立,并可以連續(xù)控制。不僅提高了顯示屏的反應(yīng)速度,同時(shí)可以精確控制顯示色階,所以TFT液晶的色彩更真。

  由于大多數(shù)帶有LCD控制器的ARM處理器都沒(méi)有內(nèi)部的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器,而一般的Cortex—M3內(nèi)核微控制器都不帶有專(zhuān)門(mén)的LCD控制器,對(duì)于不帶有LCD控制器的系統(tǒng),一般長(zhǎng)常用Intel 8080接口或者M(jìn)otorola的6800接口,本系統(tǒng)中采用STM32高速的IO口模擬8080接口時(shí)序。綜上所述,選用的TFT液晶必須滿(mǎn)足兩個(gè)條件,第一,帶有獨(dú)立的顯存。第二,帶有8080接口。設(shè)計(jì)中采用了臺(tái)灣采用晶彩光電的AM2403 20TFT液晶屏,它的主控制芯片為ILI9320,自帶總大小為172 820(24Ox320x18/8)的顯存,模塊的16位數(shù)據(jù)線(xiàn)與顯寸的對(duì)應(yīng)關(guān)系為565方式,它支持包括8080接口在內(nèi)多種控制輸入信號(hào)。

  STM32采用外部8 MHz的晶振作為輸入時(shí)鐘,內(nèi)部鎖相環(huán)將時(shí)鐘倍頻到72MHz作為系統(tǒng)時(shí)鐘,采用GPIO口模擬8080時(shí)序并行驅(qū)動(dòng)2.8寸TFT屏,顯示部分的處理器和液晶顯示器的硬件電路接口電路如圖2所示。

  

[!--empirenews.page--]

2.3 SPI接口Flash存儲(chǔ)疊的特點(diǎn)

 

  由于在本系統(tǒng)中整個(gè)的漢字字庫(kù)需要存儲(chǔ)在外部Flash中,所以需要選擇一種Flash存儲(chǔ)芯片,F(xiàn)lash芯片選擇需要滿(mǎn)足以下要求。第一,盡量占用少的IO口,因?yàn)橐壕э@示器已經(jīng)采用了并行接口,如果繼續(xù)選用并行接口的Flash,對(duì)芯片的IO消耗較大,這樣勢(shì)必要選用IO更多的芯片,對(duì)于便攜式設(shè)備來(lái)說(shuō),這是不合理的,所以本系統(tǒng)的設(shè)計(jì)過(guò)程中選用的Flash為SST公司的SST25VF080B,它采用SPI接口,SPI是一種高速的,全雙工,同步的通信總線(xiàn),并且在芯片的管腳上只占用四根線(xiàn),節(jié)約了芯片的管腳,同時(shí)為PCB的布局上節(jié)省空間,提供方便,正是出于這種簡(jiǎn)單易用的特性,現(xiàn)在越來(lái)越多的芯片集成了這種通信協(xié)議,本文中的SPI Flash采用美國(guó)SST公司的SST25VF080B芯片,容量為8 M位,它工作電壓范圍為2.7~3.6 V,工作在SPI模式0或者模式3,最高工作在50MHz,最小擦除單位為4K字節(jié)的扇區(qū),可擦寫(xiě)10萬(wàn)次,數(shù)據(jù)保持100年以上。而STM32F103RBT6帶有高速的硬件SPI接口,可以很方便與SST25VF080B連接通信。所以我們采用SPI Flash來(lái)完成對(duì)漢字字庫(kù)的存儲(chǔ),字庫(kù)存儲(chǔ)部分的硬件電路接口圖如圖3所示。

  

 

  3 系統(tǒng)軟件設(shè)計(jì)

  系統(tǒng)軟件包括字庫(kù)的調(diào)用和TFT液晶顯示軟件設(shè)計(jì)兩個(gè)部分,字庫(kù)調(diào)用主要是通過(guò)STM32F103RBT6的SPI接口調(diào)用存儲(chǔ)在SST25VF080B中的中文字庫(kù)。TFT液晶顯示部分主要是通過(guò)STM32F103RBT6通用I/O口模擬16位的8080并口,實(shí)現(xiàn)對(duì)液晶顯示器的驅(qū)動(dòng),在軟件設(shè)計(jì)的過(guò)程中需要注意一個(gè)問(wèn)題。就是不同字庫(kù)編碼的標(biāo)準(zhǔn)時(shí)不一樣的,所以在解碼時(shí)略有不同,常用的漢字字庫(kù)有GB2312字庫(kù)和GBK字庫(kù)兩種。

  3.1 GB2312字庫(kù)和GBK字庫(kù)

  GB2312收錄簡(jiǎn)化漢字及符號(hào)、字母、日文假名等共7 445個(gè)圖形字符,其中漢字占6 763個(gè)。GB2312規(guī)定“對(duì)任意一個(gè)圖形字符都采用兩個(gè)字節(jié)表示,每個(gè)字節(jié)均采用七位編碼表示”,習(xí)慣上稱(chēng)第一個(gè)字節(jié)為“高字節(jié)”,第二個(gè)字節(jié)為“低字節(jié)”。GB2312—80包含了大部分常用的一、二級(jí)漢字,和9區(qū)的符號(hào)。該字符集是幾乎所有的中文系統(tǒng)和國(guó)際化的軟件都支持的中文字符集,這也是最基本的中文字符集。其編碼范圍是高位0xa1~0xfe,低位也是0xa1~0xfe;漢字從0xb0a1開(kāi)始,結(jié)束于0xf7fe。GB2312將代碼表分為94個(gè)區(qū),對(duì)應(yīng)第一字節(jié)(0xa1~0xfe);每個(gè)區(qū)94個(gè)位(0xa1~0xfe),對(duì)應(yīng)第二字節(jié),兩個(gè)字節(jié)的值分別為區(qū)號(hào)值和位號(hào)值加32(20H),因此也稱(chēng)為區(qū)位碼。01~09區(qū)為符號(hào)、數(shù)字區(qū),16~87區(qū)為漢字區(qū)(0xb0~0xf7),10~15區(qū)、88~94區(qū)是有待進(jìn)一步標(biāo)準(zhǔn)化的空白區(qū)。GB2312將收錄的漢字分成兩級(jí):第一級(jí)是常用漢字計(jì)3755個(gè),置于16~55區(qū),按漢語(yǔ)拼音字母/筆形順序排列:第二級(jí)漢字是次常用漢字計(jì)3 008個(gè),置于56~87區(qū),按部首/筆畫(huà)順序排列。故而GB2312最多能表示6763個(gè)漢字。

  而GBK內(nèi)碼完全兼容GB2312,同時(shí)支持繁體字,總漢字?jǐn)?shù)有2萬(wàn)多個(gè),編碼格式如下,每個(gè)GBK碼由2個(gè)字節(jié)組成,第一個(gè)字節(jié)為0X81~0XFE,第二個(gè)字節(jié)分為兩部分,一是0X40~0X7E,二是0X80~0XFE。其中與GB2312相同的區(qū)域,字完全相同。把第一個(gè)字節(jié)代表的意義稱(chēng)為區(qū),那么GBK里面總共有126個(gè)區(qū)(0XFE~0X81+1),每個(gè)區(qū)內(nèi)有190個(gè)漢字(0XFE~0X80+0X7E~0X40+2),總共就有126x190=23 940個(gè)漢字。點(diǎn)陣庫(kù)只要按照這個(gè)編碼規(guī)則從0X8140開(kāi)始,逐一建立,每個(gè)區(qū)的點(diǎn)陣大小為每個(gè)漢字所用的字節(jié)數(shù)乘以190。這樣,就可以得到在這個(gè)字庫(kù)里面定位漢字的方法:

  當(dāng)GBKL<0X7F時(shí):Hp=((GBKH-0x81)×190+GBKL-0X40)×(sizex2);

  當(dāng)GBKL>0X80時(shí):Hp=((GBKH-0x81)×190+GBKL-0X41)×(sizex2);

  其中GBKH、GBKLL分別代表GBK的第一個(gè)字節(jié)和第二個(gè)字節(jié)(也就是高位和低位),size代表漢字字體的大小(比如16字體,12字體等),Hp則為對(duì)應(yīng)漢字點(diǎn)陣數(shù)據(jù)在字庫(kù)里面的起始地址。[!--empirenews.page--]3.2 系統(tǒng)軟件流程

 

  對(duì)于GBK字庫(kù)和GB2312字庫(kù),他們的解碼部分部分略有不同,這個(gè)區(qū)別主要是由于他們的編碼方式不同引起的,對(duì)于GBK字庫(kù),解碼的方式如下:

  

 

  其中qh、ql分別代表GBK的第一個(gè)字節(jié)和第二個(gè)字節(jié)(也就是高位和低位),size代表漢字字體的大小(比如16字體,12字體等),foffset則為對(duì)應(yīng)漢字點(diǎn)陣數(shù)據(jù)在字庫(kù)里面的起始地址。

  系統(tǒng)啟動(dòng)以后,首先完成時(shí)鐘的初始化,采用外部8 MHz的晶振作為輸入時(shí)鐘,內(nèi)部鎖相環(huán)將時(shí)鐘倍頻到72 MHz作為系統(tǒng)時(shí)鐘,完成GPIO的初始化,作為L(zhǎng)CD驅(qū)動(dòng)IO的通用IO口的時(shí)鐘設(shè)置為50 MHz的推挽模式,接著完成硬件SPI1的初始化,SPI時(shí)鐘頻率設(shè)置為18 MHz,接著完成液晶的初始化,此過(guò)程是通過(guò)發(fā)送特定的命令序列來(lái)實(shí)現(xiàn)的,然后刷新顯示背景顏色,設(shè)置字體顏色,通過(guò)上面的程序完成字庫(kù)中漢字點(diǎn)陣序列的查詢(xún),將漢字點(diǎn)陣送液晶屏顯示。

  系統(tǒng)軟件設(shè)計(jì)的流程圖如圖4所示。

  

 

  采用方法還不但可以實(shí)現(xiàn)標(biāo)準(zhǔn)字體的顯示,還可以根據(jù)系統(tǒng)要求,采用專(zhuān)用軟件生成各種需要的字體,為設(shè)計(jì)多樣性的人機(jī)界面系統(tǒng)提供了一種可行的方案。

  4 結(jié)論

  采用SPI Flash來(lái)存儲(chǔ)漢字字庫(kù),通過(guò)彩色TFT液晶屏顯示,有效地?cái)U(kuò)展了應(yīng)用的范圍,經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,本系統(tǒng)的設(shè)計(jì)方法完全達(dá)到設(shè)計(jì)要求。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉