基于STM32的便攜式人機(jī)界面系統(tǒng)
摘要:設(shè)計應(yīng)用于全站儀測量計算的基于STM32處理器的便攜式人機(jī)界面系統(tǒng)。采用了處理器IO口模擬總線時序和外掛SPI接口Flash存儲字庫的方法,將字庫存儲在外部的SPI接口Flash中,在使用時再從字庫中查詢調(diào)出,有效地減少了內(nèi)部存儲器的消耗。完成了基于ARM最新Cortex—M3處理器漢字顯示系統(tǒng)的硬件電路設(shè)計和軟件程序設(shè)計。實現(xiàn)了可以自定義漢字字庫的人機(jī)界面系統(tǒng)。
關(guān)鍵詞:全站儀;ARM微控制器;STM32;TFT液晶;人機(jī)界面
在全站儀應(yīng)用于飛機(jī)的測量過程中,常會涉及到計算,以滿足不同的應(yīng)用環(huán)境與測量要求,以往的方式是測量后期編輯軟件在計算機(jī)上實現(xiàn),現(xiàn)代測量迫切需要一種便攜式手持計算系統(tǒng),來完成實時的測量要求,而這一系統(tǒng)中中文人機(jī)界面成為一種事實上的行業(yè)標(biāo)準(zhǔn)。實現(xiàn)顯示漢字的TFT液晶和可輸入數(shù)字的小鍵盤已成為智能設(shè)備必不可少的組成部分。同時作為便攜式設(shè)備基本要求的低功耗特性也貫穿于中文人機(jī)界面的設(shè)計始終。這種低功耗中文人機(jī)交互界面需要在選取處理器和具體元器件上有特殊考慮。微功耗、高性能應(yīng)作為選擇相關(guān)器件的首要要求。本文選用了意法半導(dǎo)體公司基于ARM最新Cortex—M3內(nèi)核的STM32F103RB作為主控芯片,通過選擇合適的液晶模塊,構(gòu)建了一個高性能低功耗的中文人機(jī)界面系統(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)提供電源反接保護(hù)。供電部分原理圖如圖1所示。
2.2 液晶顯示部分電路設(shè)計
液晶顯示部分主要由微控制器驅(qū)動液晶顯示模塊完成人機(jī)界面狀態(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)置高速存儲器(高達(dá)128 K字節(jié)的閃存和20 K字節(jié)的SRAM),豐富的增強(qiáng)I/O端口和聯(lián)接到2條APB總線的外設(shè)。供電電壓2.0~3.6V,一系列的省電模式保證低功耗應(yīng)用的要求,達(dá)到了性能和功耗的平衡。
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接口或者M(jìn)otorola的6800接口,本系統(tǒng)中采用STM32高速的IO口模擬8080接口時序。綜上所述,選用的TFT液晶必須滿足兩個條件,第一,帶有獨立的顯存。第二,帶有8080接口。設(shè)計中采用了臺灣采用晶彩光電的AM2403 20TFT液晶屏,它的主控制芯片為ILI9320,自帶總大小為172 820(24Ox320x18/8)的顯存,模塊的16位數(shù)據(jù)線與顯寸的對應(yīng)關(guān)系為565方式,它支持包括8080接口在內(nèi)多種控制輸入信號。
評論