亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于STM32的便攜式人機界面系統(tǒng)

        2011-09-19 08:41:14興,貝,
        電子設(shè)計工程 2011年5期
        關(guān)鍵詞:字庫人機界面液晶

        邸 興, 陳 貝, 韓 俊

        (1.中國飛行試驗研究院 陜西 西安 710069;2.西安應(yīng)用光學(xué)研究所 陜西 西安 710065)

        在全站儀應(yīng)用于飛機的測量過程中,常會涉及到計算,以滿足不同的應(yīng)用環(huán)境與測量要求,以往的方式是測量后期編輯軟件在計算機上實現(xiàn),現(xiàn)代測量迫切需要一種便攜式手持計算系統(tǒng),來完成實時的測量要求,而這一系統(tǒng)中中文人機界面成為一種事實上的行業(yè)標(biāo)準(zhǔn)。實現(xiàn)顯示漢字的TFT液晶和可輸入數(shù)字的小鍵盤已成為智能設(shè)備必不可少的組成部分。同時作為便攜式設(shè)備基本要求的低功耗特性也貫穿于中文人機界面的設(shè)計始終,這種低功耗中文人機交互界面需要在選取處理器和具體元器件上有特殊考慮。微功耗、高性能應(yīng)作為選擇相關(guān)器件的首要要求。本文選用了意法半導(dǎo)體公司基于ARM最新Cortex-M3內(nèi)核的STM32F103RB[1-2]作為主控芯片,通過選擇合適的液晶模塊,構(gòu)建了一個高性能低功耗的中文人機界面系統(tǒng)。

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

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

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

        2.1 供電部分電路

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

        圖1 系統(tǒng)供電部分原理圖Fig.1 The schematic of power section

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

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

        2.2.1 STM32F系列ARM微控制器的特點

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

        2.2.2 TFT液晶顯示模塊的特點

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

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

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

        圖2 系統(tǒng)液晶接口原理圖Fig.2 The schematic of liquid crystal interface

        2.3 SPI接口Flash存儲器的特點

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

        圖3 SPI Flash接口部分原理圖Fig.3 The schematic of SPI Flash interface

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

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

        3.1 GB2312字庫和GBK字庫

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

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

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

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

        其中 GBKH、GBKL分別代表GBK的第一個字節(jié)和第二個字節(jié)(也就是高位和低位),size代表漢字字體的大?。ū热?6字體,12字體等),Hp則為對應(yīng)漢字點陣數(shù)據(jù)在字庫里面的起始地址。

        3.2 系統(tǒng)軟件流程

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

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

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

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

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

        圖4 漢字顯示部分程序流程圖Fig.4 The flow chart of chinese display

        4 結(jié) 論

        本文根據(jù)在全站儀應(yīng)用于飛機的測量過程中的實際需要,設(shè)計了用于測量計算的人機界面系統(tǒng),在該系統(tǒng)中,采用的處理器內(nèi)核為ARM最新的Cortex-M3,它基于最新ARMv7架構(gòu),采用了至今為止最小的ARM內(nèi)核,有效地降低了系統(tǒng)功耗。采用SPI Flash來存儲漢字字庫,通過彩色TFT液晶屏顯示,有效地擴展了應(yīng)用的范圍,經(jīng)過實驗驗證,本系統(tǒng)的設(shè)計方法完全達到設(shè)計要求。

        [1]李寧著.基于MDK的STM32處理器開發(fā)應(yīng)用 [M].1版.北京:北京航空航天大學(xué)出版社,2008.

        [2]王永虹,徐煒,郝立平.STM32系列ARM Cortex-M3微控制器原理與實踐[M].1版.北京:北京航空航天大學(xué)出版社,2008.

        [3]馬忠梅,徐琰,葉青林.ARM Cortex微控制器教程[M].北京:北京航空航天大學(xué)出版社,2010.

        [4]STMicroelectronics.STM32 reference manual RM0008[EB/OL]. (2010 -04 -05)[2010 -08 -21].http://www.st.com/stonline/products/literature/rm/13902.pdf.

        [5]STMicroelectronics.STM32 firmware library[EB/OL].(2008-09-19)[2010-08-21].http://www.st.com/stonline/products/support/micro/files/um0427.zip.

        [6]ILI Technology Corp.A-Si TFT LCD single chip driver 240RGBx320 resolution and 262K color datasheet preliminary[EB/OL].(2007-07-05)[2010-08-21].http://www.techtoys.com.hk/Displays/TY280T240320/datasheet/ILI9325DS_V0.28.pdf.

        猜你喜歡
        字庫人機界面液晶
        不可壓液晶方程組的Serrin解
        No.2 喜茶聯(lián)合漢儀字庫推出微型書和書簽
        《液晶與顯示》征稿簡則
        液晶與顯示(2020年8期)2020-08-08 07:01:46
        某型號產(chǎn)品的字庫遷移優(yōu)化設(shè)計
        電子世界(2018年7期)2018-04-26 08:51:35
        CBTC系統(tǒng)車載人機界面的設(shè)計與實現(xiàn)
        基于PLC與人機界面的經(jīng)編機電子橫移控制系統(tǒng)研究
        液晶與顯示2015年第30卷第1期 目錄
        液晶與顯示(2015年1期)2015-02-28 21:15:54
        CTCS-3級列控車載人機界面的系統(tǒng)設(shè)計與實現(xiàn)
        相同字庫條件下激光打印文件特征的變化規(guī)律和特點
        達人機界面DOP-B10VS511
        亚洲熟女乱一区二区三区| 国产成人啪精品午夜网站| 日韩少妇无码一区二区免费视频| 亚洲一区二区三区四区精品| 男女性杂交内射女bbwxz| 国产精品亚洲二区在线观看 | 91伊人久久| 亚洲中文字幕高清视频| 激情亚洲一区国产精品| 香港三级精品三级在线专区| 久久青草免费视频| 免费国产自拍视频在线观看| 我和丰满妇女激情视频| 亚洲av国产精品色午夜洪2| 亚洲欧洲日产国码久在线观看| 按摩偷拍一区二区三区| 国产乡下妇女做爰| 大伊香蕉在线精品视频75| 无码伊人久久大蕉中文无码| 中文字幕乱码亚洲在线| 伊人久久大香线蕉av不卡| 午夜婷婷国产麻豆精品| 日本在线免费一区二区三区| 桃红色精品国产亚洲av| 无码骚夜夜精品| 粉嫩高中生无码视频在线观看| 美女丝袜诱惑在线播放蜜桃| 国产欧美性成人精品午夜| 国产精品亚洲日韩欧美色窝窝色欲| 亚洲国产精品成人久久av| 国产午夜亚洲精品国产成人av| 国产精品亚洲一区二区三区在线| 亚洲日韩区在线电影| 久久久精品国产三级精品| 少妇人妻在线无码天堂视频网| 国内精品大秀视频日韩精品| 亚洲av色香蕉第一区二区三区| 欧美亚洲精品suv| 欲妇荡岳丰满少妇岳| 亚洲福利第一页在线观看| 亚洲av熟女少妇久久|