基于STM32的EMS液晶顯示觸摸屏設(shè)計(jì)方案
摘要:提出一種基于STM32F103單片機(jī)的用于電動(dòng)車電池能量管理系統(tǒng)(EMS)的液晶顯示觸摸屏的設(shè)計(jì)方案,該方案以STM32F103作為核心控制器。STM32F103通過(guò)I/O口與四線電阻觸摸屏相連,利用自帶的A/D轉(zhuǎn)換功能檢測(cè)觸摸并計(jì)算觸點(diǎn)坐標(biāo)實(shí)現(xiàn)觸摸功能,并通過(guò)自身的I/O接口與TFT液晶屏模塊實(shí)現(xiàn)通信,控制實(shí)現(xiàn)顯示的功能。
0 引 言
電動(dòng)車一直以清潔環(huán)保而備受關(guān)注,加上能源危機(jī)加劇、油價(jià)不斷上漲,電動(dòng)車也越來(lái)越受到用戶的青睞。電動(dòng)車一般采用鋰電池供電,由多個(gè)單體電池串聯(lián)成電池組作為動(dòng)力電源。但由于各個(gè)串聯(lián)單體電池特性不能保證完全一致,因此相同的電流下充電放電速度也會(huì)不同,如果不進(jìn)行均衡干預(yù),電池壽命會(huì)大大縮短,因此需要實(shí)時(shí)監(jiān)控各個(gè)單體電池的狀態(tài)、總電壓、總電流,根據(jù)狀態(tài)適時(shí)進(jìn)行電池充放電均衡,并且充放電均衡時(shí),均衡狀態(tài)也要實(shí)時(shí)進(jìn)行檢測(cè),所以就有了電動(dòng)車電池能量管理系統(tǒng)(EMS)。實(shí)踐證明EMS可以有效延長(zhǎng)電動(dòng)車電池使用壽命,是電動(dòng)車中十分重要的管理系統(tǒng)。
EMS主要包括:信息采集模塊、充放電均衡模塊、信息集中處理模塊以及顯示模塊。圖1為自主研發(fā)的電動(dòng)車電池能量管理系統(tǒng)(EMS)的結(jié)構(gòu)圖,其中信息采集模塊主要完成實(shí)時(shí)采集電池組以及單體電池的電壓、溫度、電流等狀態(tài),對(duì)電池進(jìn)行實(shí)時(shí)監(jiān)控的同時(shí)也為均衡模塊的開(kāi)啟與關(guān)閉提供依據(jù)。均衡模塊主要完成對(duì)電池特性差異進(jìn)行補(bǔ)償,根據(jù)采集模塊采集來(lái)的信息判斷電池狀態(tài),對(duì)單節(jié)電池進(jìn)行充放電均衡,來(lái)實(shí)現(xiàn)狀態(tài)特性一致。信息集中處理模塊負(fù)責(zé)將采集得到的數(shù)據(jù)進(jìn)行處理、分析、計(jì)算(如SOC等),并監(jiān)控均衡模塊的工作,對(duì)其進(jìn)行控制,同時(shí)與顯示模塊通信,在整個(gè)系統(tǒng)中起著承上啟下的作用。顯示模塊作為唯一的人機(jī)交互接口,不僅承擔(dān)著將所有數(shù)據(jù)、以及設(shè)備狀態(tài)實(shí)時(shí)地顯示給用戶,讓用戶能夠直觀地看到電池狀態(tài)和EMS工作效果,而且還為用戶與EMS的控制交流提供接口,可以讓用戶設(shè)置參數(shù),更改EMS工作狀態(tài),達(dá)到實(shí)時(shí)監(jiān)管和控制的目的。如果沒(méi)有顯示模塊人們就無(wú)法看到電池和EMS的信息,EMS的報(bào)警或提示信息無(wú)法通知到客戶,一些報(bào)警狀態(tài)得不到及時(shí)處理輕則造成電池?fù)p壞,重則會(huì)導(dǎo)致電動(dòng)車工作失控,釀成嚴(yán)重事故。同樣客戶也無(wú)法根據(jù)情況來(lái)調(diào)整和控制EMS,也不能完全發(fā)揮EMS的作用??梢?jiàn)顯示模塊的人機(jī)交互功能是EMS中不可或缺的組成部分,從顯示模塊所需的功能看觸摸屏是不錯(cuò)的選擇。但如果購(gòu)買市面上的觸摸屏,不僅顯示內(nèi)容會(huì)受觸摸屏本身顯示功能固定的限制而降低顯示設(shè)計(jì)的靈活度、影響顯示質(zhì)量,并且市面上觸摸屏的價(jià)格也普遍較高,給產(chǎn)品增加了很大一部分成本,這無(wú)疑會(huì)大大降低產(chǎn)品的市場(chǎng)競(jìng)爭(zhēng)力。基于這種情況本文提出一種以STM32F103單片機(jī)為控制核心的比較通用的液晶觸摸屏的設(shè)計(jì)方案。
圖1 EMS結(jié)構(gòu)框圖
1 觸摸屏的種類及工作原理
觸摸屏種類眾多,可以分為電阻式、電容式、紅外線式、聲表面波式、矢量壓力傳感器等,其中電阻觸摸屏使用最為普遍。觸摸屏系統(tǒng)一般包括觸摸屏控制器和觸摸檢測(cè)裝置兩個(gè)部分。其中,觸摸屏控制器的主要作用是從觸摸點(diǎn)檢測(cè)裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給微控制器,它同時(shí)能接收微控制器發(fā)來(lái)的命令并加以執(zhí)行,觸摸檢測(cè)裝置一般安裝在顯示器的前端,主要作用是檢測(cè)用戶的觸摸位置,并傳送給觸摸屏控制器。觸摸屏的基本原理是,用手指或其他物體觸摸安裝在顯示器前端的觸摸屏?xí)r,所觸摸的位置(以坐標(biāo)形式)由觸摸屏控制器檢測(cè),并通過(guò)接口送到微控制器,從而確定輸入的信息。其中觸點(diǎn)坐標(biāo)的求取方法是:如圖2所示,給觸摸屏的X+加正電壓V,X-接地時(shí),在X+,X-方向上會(huì)形成均勻的電壓梯度,當(dāng)屏幕有觸摸時(shí),可以通過(guò)讀取Y+的電壓,經(jīng)過(guò)A/D轉(zhuǎn)換后計(jì)算求得觸摸點(diǎn)X坐標(biāo)。同理,在Y+,Y-方向上加電壓,可以通過(guò)X+上的值計(jì)算出觸摸點(diǎn)Y坐標(biāo)。計(jì)算坐標(biāo)的公式如下:
式中,W 為觸摸屏的寬度;H 為觸摸屏的高度。
本方案采用的是四線電阻式觸摸屏并且不使用專用的觸摸屏控制器,直接由STM32F103控制以降低成本,如圖2所示。
圖2 四線電阻觸摸屏示意圖
2 方案用到的主要器件介紹
2.1 STM32F103介紹
方案中主控器件STM32F103單片機(jī)使用的是ARM 公司為要求性能高、成本低、功耗低的嵌入式應(yīng)用專門設(shè)計(jì)的32位的ARMCortex-M3內(nèi)核。
擁有可達(dá)128KB的嵌入式閃存、20kB的SRAM 和十分豐富的外設(shè):兩個(gè)1μs的12位ADC,一個(gè)全速USB(OTG)接口,一個(gè)CAN 接口,三個(gè)4 M/S的UART,兩個(gè)18 M/S的SPI,兩個(gè)I2 C等。內(nèi)部還集成了復(fù)位電路、低電壓檢測(cè)、調(diào)壓器、精確的RC振蕩器等,大大方便了用戶的開(kāi)發(fā)。該系列單片機(jī)不僅功能強(qiáng)大而且功耗相當(dāng)?shù)?,?2 MHz時(shí)消耗36 mA(所有外設(shè)處于工作狀態(tài)),相當(dāng)于0.5 mA/MHz,待機(jī)時(shí)下降到2μA ,是32位市場(chǎng)上功耗最低的產(chǎn)品。綜上STM32F103系列單片機(jī)的性能完全可以滿足液晶觸摸顯示屏的所有控制需要,內(nèi)置A/D可以用于觸摸屏控制,豐富的I/O 接口可以用于與TFT液晶屏模塊的通信,并且其本身自帶CAN控制器可以作為與外界通信接口,用STM32F103做主控制器可以減少使用器件從而簡(jiǎn)化使整體電路,很好地達(dá)到降低EMS成本的目標(biāo)。
2.2 TFT液晶屏模塊
本方案選用的是3.5寸的TFT液晶屏模塊,工作電壓3.3 V,最大工作電流70 mA.支持320×240分辨率,內(nèi)置230K內(nèi)存顯示可到256K色,可顯示文字和圖形,采用LED背光設(shè)計(jì),使用軟件即可對(duì)背光亮度進(jìn)行調(diào)節(jié),內(nèi)置簡(jiǎn)體中文字庫(kù),支持2D的BTE引擎,同時(shí)建幾何圖形加速引擎,可以對(duì)顯示對(duì)象進(jìn)行復(fù)雜的操作如畫(huà)面旋轉(zhuǎn)功能、卷動(dòng)功能、圖形Pattern、雙層混合顯示和文字放大等等。這些功能將可節(jié)省用戶在TFT屏應(yīng)用的開(kāi)發(fā)時(shí)間,提升MCU軟件的執(zhí)行效率并且使畫(huà)面更加絢麗,顯示功能更加豐富,使顯示屏顯示能力大大增強(qiáng)。提供8位或16位總線接口,方便與MCU的連線,適應(yīng)性強(qiáng),連接設(shè)計(jì)靈活。
3 硬件連接設(shè)計(jì)方案
3.1 總體構(gòu)架
液晶觸摸顯示屏系統(tǒng)主要由微控制器STM32F103F103、TFT液晶屏模塊、四線電阻觸摸屏以及與外界通信的CAN總線接口組成。硬件模塊連接如圖3所示,其中四線電阻觸摸屏的觸摸檢測(cè)裝置安裝在TFT液晶屏前面用于檢測(cè)用戶觸摸的位置,本方案利用STM32F103 自帶A/D 轉(zhuǎn)換功能,由STM32F103實(shí)現(xiàn)觸摸屏控制器的功能來(lái)直接控制四線電阻觸摸屏,檢測(cè)觸摸信息并計(jì)算出觸點(diǎn)坐標(biāo)。然后STM32F103通過(guò)I/O接口與TFT液晶屏模塊通信,將處理好的有效信息通過(guò)TFT 液晶屏顯示出來(lái)。由于STM32F103內(nèi)置CAN 總線控制器所以CAN總線接口可以直接從STM32F103的管腳引出,用來(lái)與EMS進(jìn)行通信,完成現(xiàn)實(shí)信息采集,設(shè)置參數(shù)等功能。
圖3 方案總體框圖
3.2 STM32F103F103與四線電阻觸摸屏的接口電路
如圖4所示,STM32F103F103與四線電阻觸摸屏直接通過(guò)自身的I/O口連接,實(shí)現(xiàn)觸摸屏控制器功能。其中PA8、PA9、PA10、PA11分別作為四個(gè)三極管的控制端,通過(guò)控制三極管通斷,來(lái)控制四線觸摸屏的Y+、Y-、X+、X-.PA1,PA2是兩個(gè)A/D轉(zhuǎn)換通道,分別連接Y+和X+用于計(jì)算觸摸點(diǎn)的X和Y坐標(biāo)。PA3連接內(nèi)部中斷用于檢測(cè)觸摸屏是否有觸摸動(dòng)作。觸摸屏平時(shí)運(yùn)行時(shí),令PA8、PA9、PA11輸出0,PA10=1,即只讓VT2導(dǎo)通。當(dāng)有觸摸動(dòng)作時(shí),D1導(dǎo)通給PA3一個(gè)中斷信號(hào),STM32F103接收到中斷請(qǐng)求后立即置PA8=1,導(dǎo)通VT1,這樣在Y+、Y-方向上就加上電壓,同時(shí)啟動(dòng)A/D轉(zhuǎn)換通道PA2,通過(guò)輸入X+上電壓計(jì)算出觸摸點(diǎn)的Y坐標(biāo),然后同理令PA8、PA10為0,PA9、PA11為1,啟動(dòng)A/D轉(zhuǎn)換通道PA1,通過(guò)輸入Y+上電壓計(jì)算出觸摸點(diǎn)X的坐標(biāo)。
圖4 STM32F103與四線電阻觸摸屏接口電路
3.3 STM32F103F103與TFT液晶屏模塊控制器的接口電路
如圖5所示,STM32F103F103通過(guò)I/O 接口與TFT液晶模塊相連接,雖然很多的TFT液晶模塊中內(nèi)置的液晶屏控制器都支持SPI 接口通信(如ILI9325)但由于SPI傳輸速度較慢不利于液晶數(shù)據(jù)的快速傳輸,因此很多液晶模塊都選擇采用并口通信。
其中PB0-PB15分別與D0-D15相連作為數(shù)據(jù)通信口,PA0、PA4、PA5、PA6、PA7 分別連接RESET、CS、RS、WR、RD,作為控制口,實(shí)現(xiàn)復(fù)位、片選、指令數(shù)據(jù)切換、讀寫(xiě)等控制功能。
圖5 STM32F103F103與TFT液晶模塊接口電路
4 軟件設(shè)計(jì)
軟件部分的編程采用C語(yǔ)言,一方面主要完成STM32F103對(duì)I/O 管腳的配置,用來(lái)實(shí)現(xiàn)對(duì)四線電阻觸摸屏端子狀態(tài)的控制,通過(guò)中斷方式檢測(cè)是否有觸摸信息,配置A/D轉(zhuǎn)換通道,讀入電壓根據(jù)公式計(jì)算出觸點(diǎn)坐標(biāo)。另一方面主要完成通過(guò)與TFT液晶模塊的通信控制,實(shí)現(xiàn)觸摸點(diǎn)坐標(biāo)與液晶屏坐標(biāo)的對(duì)應(yīng)并有效完成顯示任務(wù)。軟件的開(kāi)發(fā)環(huán)境是MDK,MDK 將ARM 開(kāi)發(fā)工具RealView DevelopmentSuite(簡(jiǎn)稱為RVDS)的編譯器RVCT與Keil的工程管理、調(diào)試仿真工具集成在一起,支持ARM7、ARM9和最新的Cortex-M3核處理器,自動(dòng)配置啟動(dòng)代碼,集成Flash燒寫(xiě)模塊,強(qiáng)大的Simulation設(shè)備模擬,性能分析等功能,與ARM 之前的工具包ADS等相比,RealView編譯器的最新版本可將性能改善超過(guò)20%.具體流程如圖6所示。
圖6 程序流程圖
5 結(jié)束語(yǔ)
本文提出了基于STM32F103F103單片機(jī)的EMS液晶顯示觸摸屏的設(shè)計(jì)方案。STM32F103F103的高速、低耗的優(yōu)越性能完全可以達(dá)到觸摸屏的主控制芯片要求,TFT液晶顯示器可以滿足更復(fù)雜、多彩、靈活的顯示任務(wù),符合顯示屏性能不斷攀升的發(fā)展趨勢(shì)。本設(shè)計(jì)充分利用了STM32F103芯片的優(yōu)勢(shì),拋棄了傳統(tǒng)觸摸屏控制器控制觸摸屏的方案,利用自身A/D完成了觸摸屏功能,本方案大大簡(jiǎn)化了硬件電路結(jié)構(gòu),通信更可靠,編程也更加簡(jiǎn)潔,最終既能達(dá)到EMS顯示要求,出色地顯示和設(shè)置了系統(tǒng)所需要的數(shù)據(jù),又能降低系統(tǒng)的成本,通過(guò)實(shí)際使用達(dá)到了良好的效果。鑒于當(dāng)前電動(dòng)車的快速發(fā)展,本方案可以擁有不錯(cuò)的應(yīng)用前景。
更多資訊請(qǐng)關(guān)注:21ic照明頻道