色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于STM32構建高性能低功耗的中文人機界面系統

電子工程師 ? 來源:網絡整理 ? 作者:工程師姚遠香 ? 2018-07-21 11:12 ? 次閱讀

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

1 系統的工作原理

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

2 系統硬件設計

2.1 供電部分電路

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



2.2 液晶顯示部分電路設計

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

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

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

2.2.2 TFT液晶顯示模塊的特點

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

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

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




2.3 SPI接口Flash存儲疊的特點

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



3 系統軟件設計

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

3.1 GB2312字庫和GBK字庫

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

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

當GBKL<0X7F時:Hp=((GBKH-0x81)×190+GBKL-0X40)×(sizex2);
當GBKL>0X80時:Hp=((GBKH-0x81)×190+GBKL-0X41)×(sizex2);

其中GBKH、GBKLL分別代表GBK的第一個字節和第二個字節(也就是高位和低位),size代表漢字字體的大小(比如16字體,12字體等),Hp則為對應漢字點陣數據在字庫里面的起始地址。

3.2 系統軟件流程

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


其中qh、ql分別代表GBK的第一個字節和第二個字節(也就是高位和低位),size代表漢字字體的大小(比如16字體,12字體等),foffset則為對應漢字點陣數據在字庫里面的起始地址。

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

系統軟件設計的流程圖如圖4所示。


采用方法還不但可以實現標準字體的顯示,還可以根據系統要求,采用專用軟件生成各種需要的字體,為設計多樣性的人機界面系統提供了一種可行的方案。

4 結論

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 液晶顯示
    +關注

    關注

    6

    文章

    588

    瀏覽量

    40371
  • 人機界面
    +關注

    關注

    5

    文章

    534

    瀏覽量

    44196
  • STM32
    +關注

    關注

    2270

    文章

    10923

    瀏覽量

    357077
收藏 人收藏

    評論

    相關推薦

    基于DSP芯片TMS320LF2407的人機界面設計

      筆者采用TMS320LF2407作為系統的控制芯片,通過選擇合適的液晶顯示模塊在3V電平構建了一個低功耗中文人機界面。此中文人機顯示
    發表于 09-02 10:39 ?2591次閱讀
    基于DSP芯片TMS320LF2407的<b class='flag-5'>人機界面</b>設計

    基于STM32高性能低功耗中文人機界面系統

    本文選用了意法半導體公司基于ARM最新Cortex—M3內核的STM32F103RB作為主控芯片,通過選擇合適的液晶模塊,構建了一個高性能低功耗
    發表于 01-25 22:53 ?2411次閱讀
    基于<b class='flag-5'>STM32</b>的<b class='flag-5'>高性能</b><b class='flag-5'>低功耗</b>的<b class='flag-5'>中文人機界面</b><b class='flag-5'>系統</b>

    基于MSP430單片機的微功耗中文人機界面設計

    基于MSP430單片機的微功耗中文人機界面設計   在現代便攜式智能儀器或手持設備中,中文人機界面成為一種事實上的行業標準。能顯示漢字的圖形點陣液晶和可輸入
    發表于 03-01 10:56 ?814次閱讀
    基于MSP430單片機的微<b class='flag-5'>功耗</b><b class='flag-5'>中文人機界面</b>設計

    一種低功耗的便攜式人機界面系統

    本文選用了意法半導體公司基于ARM最新Cortex—M3內核的STM32F103RB作為主控芯片,通過選擇合適的液晶模塊,構建了一個高性能低功耗
    發表于 09-21 11:02 ?2081次閱讀

    人機界面設計與應用

    本專題為你介紹人機界面設計及相關應用。內容包括人機界面人機交互的含義與區別,人機界面硬件選型、開發軟件下載,人機界面技術資料,
    發表于 11-30 13:53
    <b class='flag-5'>人機界面</b>設計與應用

    基于STM32的便攜式人機界面系統

    基于STM32的便攜式人機界面系統的論文
    發表于 11-06 17:05 ?20次下載

    使用STM32設計人機界面 (HMI)

    使用STM32設計人機界面 (HMI)
    發表于 11-25 14:49 ?0次下載

    hmi人機界面包括什么_hmi人機界面設計

     HMI是Human Machine Interface的縮寫,即“人機接口”,也叫人機界面。HMI人機界面系統和用戶之間進行交互和信息交換的媒介,它實現信息的內部形式與人類可以接受
    發表于 12-05 17:26 ?2.7w次閱讀
    hmi<b class='flag-5'>人機界面</b>包括什么_hmi<b class='flag-5'>人機界面</b>設計

    人機界面設計案例分析

    本文開始對人機界面的定義進行了詳細的介紹,其次闡述了人機界面的設計原則和人機界面的設計過程,最后對人機界面設計的三個案例進行了分析。
    發表于 03-12 10:25 ?3.3w次閱讀

    如何使用MSP430單片機進行微功耗中文人機界面的設計

    在現代便攜式智能儀器或手持設備中,中文人機界面成為一種事實上的行業標準。能顯示漢字的圖形點陣液晶和可輸入數字的小鍵盤已成為智能設備必不可少的組成部分。同時作為便攜式設備基本要求的低功耗特性也貫穿于中文人機界面的設計始終。
    發表于 03-06 17:04 ?14次下載
    如何使用MSP430單片機進行微<b class='flag-5'>功耗</b><b class='flag-5'>中文人機界面</b>的設計

    人機界面是什么意思_人機界面的特征

    的功能、性能和響應速度等因素。近年來,隨著人工智能、虛擬現實、增強現實等技術的發展,人機界面的形式和方式也在不斷地變化和創新。
    發表于 03-15 17:02 ?4903次閱讀

    人機界面的應用

    人機界面的應用 HMI是人機界面的簡寫,它為PLC控制系統、I/O模塊或者其他控制系統提供一個人性化的操作界面,而
    發表于 04-14 11:02 ?532次閱讀

    人機界面產品中有操作系統嗎?

    任何人機界面產品都有系統軟件部分。系統軟件運行在人機界面的處理器上,支持多任務處理。處理器需要一個小的操作系統管理
    發表于 04-14 15:21 ?744次閱讀

    人機界面集成框架

    人機界面(HMI)集成框架指的是一種用于構建、設計、管理和部署人機界面的軟件框架,它可以幫助開發人員和系統管理員快速創建、調整和維護HMI界面
    發表于 04-14 15:42 ?904次閱讀

    人機界面是什么意思

    可用性 人機界面必須具有良好的可用性,即能夠滿足用戶的需求,易于操作和理解。一個好的人機界面應該是直觀、簡單、易懂、易記、易于學習和使用。 2. 易學性 人機界面的設計應該注重易學性,即用戶可以很快地學會如何使用
    發表于 07-03 14:13 ?1459次閱讀
    主站蜘蛛池模板: 人妻激情综合久久久久蜜桃 | 俄罗斯兽交XXXXX在线 | 久久久久久91香蕉国产 | 成人网视频在线观看免费 | 久久亚洲欧美国产综合 | 美女被免费喷白浆视频 | 91九色网址| 国产女人91精品嗷嗷嗷嗷 | 日韩高清一区二区三区不卡 | 91福利潘春春在线观看 | 70岁妇女牲交色牲片 | 九九热视频免费观看 | 国产成人精品免费青青草原app | 久久99综合国产精品亚洲首页 | 免费精品国偷自产在线在线 | 黄色软件视频app | 久久精品视频在线看99 | 国模沟沟一区二区三区 | 午夜福利92看看电影80 | 久久日本精品国产精品 | 久久这里只精品国产99re66 | 欧美最猛性xxxxx亚洲精品 | 99久久久无码国产AAA精品 | 久久久精品日本一区二区三区 | 相声flash | 久久久久久久网站 | 久久综合色一综合色88中文 | 久久亚洲国产成人影院 | 日本中文一区 | 伊人久久大香线蕉综合bd高清 | 2021年国产精品久久 | 成年视频国产免费观看 | 成 人 片 免费播放 成 人 免费 黄 色 网站无毒下载 | 国内视频在线精品一区 | 亚洲人成影院在线播放 | 国产精品一区二区AV交换 | 高h肉辣文黄蓉 | 久久草这里全是精品香蕉频线观 | 亚洲黄色在线 | 捆绑调教网站 | 日韩午夜欧美精品一二三四区 |