STM32F103的電池管理系統觸控式螢幕設計?

電動車電池能量管理系統(EMS)主要包括:資訊採集模組、充放電均衡模組、資訊集中處理模組以及顯示模組。圖1為自主研發的電動車電池能量管理系統(EMS)的結構圖,可見顯示模組的人機互動功能是EMS中不可或缺的組成部分,從顯示模組所需的功能看觸控式螢幕是不錯的選擇。但如果購買市面上的觸控式螢幕,不僅顯示內容會受觸控式螢幕本身顯示功能固定的限制而降低顯示設計的靈活度、影響顯示質量,並且市面上觸控式螢幕的價格也普遍較高,給產品增加了很大一部分成本,這無疑會大大降低產品的市場競爭力。基於這種情況本文提出一種以STM32F103微控制器為控制核心的比較通用的液晶觸控式螢幕的設計方案。

STM32F103的電池管理系統觸控式螢幕設計

工具/原料

液晶觸控式螢幕

電動車電池

STM32F103晶片

方法/步驟

1 觸控式螢幕的種類及工作原理

觸控式螢幕種類眾多,可以分為電阻式、電容式、紅外線式、聲表面波式、向量壓力感測器等,其中電阻觸控式螢幕使用最為普遍。觸控式螢幕系統一般包括觸控式螢幕控制器和觸控檢測裝置兩個部分。其中,觸控式螢幕控制器的主要作用是從觸控點檢測裝置上接收觸控資訊,並將它轉換成觸點座標,再送給微控制器,它同時能接收微控制器發來的命令並加以執行,觸控檢測裝置一般安裝在顯示器的前端,主要作用是檢測使用者的觸控位置,並傳送給觸控式螢幕控制器。觸控式螢幕的基本原理是,用手指或其他物體觸控安裝在顯示器前端的觸控式螢幕時,所觸控的位置(以座標形式)由觸控式螢幕控制器檢測,並通過介面送到微控制器,從而確定輸入的資訊。其中觸點座標的求取方法是:如圖2所示,給觸控式螢幕的X+加正電壓V,X-接地時,在X+,X-方向上會形成均勻的電壓梯度,當螢幕有觸控時,可以通過讀取Y+的電壓,經過A/D轉換後計算求得觸控點X座標。同理,在Y+,Y-方向上加電壓,可以通過X+上的值計算出觸控點Y座標。計算座標的公式如下:

式中,W 為觸控式螢幕的寬度;H 為觸控式螢幕的高度。

本方案採用的是四線電阻式觸控式螢幕並且不使用專用的觸控式螢幕控制器,直接由STM32F103控制以降低成本

STM32F103的電池管理系統觸控式螢幕設計

STM32F103的電池管理系統觸控式螢幕設計

STM32F103介紹

方案中主控器件STM32F103微控制器使用的是ARM 公司為要求效能高、成本低、功耗低的嵌入式應用專門設計的32位的ARMCortex-M3核心。

擁有可達128KB的嵌入式快閃記憶體、20kB的SRAM和十分豐富的外設:兩個1μs的12位ADC,一個全速USB(OTG)介面,一個CAN 介面,三個4M/S的UART,兩個18 M/S的SPI,兩個I2 C等。內部還集成了復位電路、低電壓檢測、調壓器、精確的RC振盪器等,大大方便了使用者的開發。該系列微控制器不僅功能強大而且功耗相當低,在72MHz時消耗36 mA(所有外設處於工作狀態),相當於0.5mA/MHz,待機時下降到2μA ,是32位市場上功耗最低的產品。綜上STM32F103系列微控制器的效能完全可以滿足液晶觸控顯示屏的所有控制需要,內建A/D可以用於觸控式螢幕控制,豐富的I/O 介面可以用於與TFT液晶屏模組的通訊,並且其本身自帶CAN控制器可以作為與外界通訊介面,用STM32F103做主控制器可以減少使用器件從而簡化使整體電路,很好地達到降低EMS成本的目標。

2.2 TFT液晶屏模組

本方案選用的是3.5寸的TFT液晶屏模組,工作電壓3.3 V,最大工作電流70 mA.支援320×240解析度,內建230K記憶體顯示可到256K色,可顯示文字和圖形,採用LED背光設計,使用軟體即可對背光亮度進行調節,內建簡體中文字型檔,支援2D的BTE引擎,同時建幾何圖形加速引擎,可以對顯示物件進行復雜的操作如畫面旋轉功能、捲動功能、圖形Pattern、雙層混合顯示和文字放大等等。這些功能將可節省使用者在TFT屏應用的開發時間,提升MCU軟體的執行效率並且使畫面更加絢麗,顯示功能更加豐富,使顯示屏顯示能力大大增強。提供8位或16位匯流排介面,方便與MCU的連線,適應性強,連線設計靈活。

總體構架

液晶觸控顯示屏系統主要由微控制器STM32F103、TFT液晶屏模組、四線電阻觸控式螢幕以及與外界通訊的CAN匯流排介面組成。硬體模組連線如圖3所示,其中四線電阻觸控式螢幕的觸控檢測裝置安裝在TFT液晶屏前面用於檢測使用者觸控的位置,本方案利用STM32F103 自帶A/D 轉換功能,由STM32F103實現觸控式螢幕控制器的功能來直接控制四線電阻觸控式螢幕,檢測觸控資訊並計算出觸點座標。然後STM32F103通過I/O介面與TFT液晶屏模組通訊,將處理好的有效資訊通過TFT 液晶屏顯示出來。由於STM32F103內建CAN 匯流排控制器所以CAN匯流排介面可以直接從STM32F103的管腳引出,用來與EMS進行通訊,完成現實資訊採集,設定引數等功能。

STM32F103的電池管理系統觸控式螢幕設計

STM32F103與四線電阻觸控式螢幕的介面電路

如圖4所示,STM32F103與四線電阻觸控式螢幕直接通過自身的I/O口連線,實現觸控式螢幕控制器功能。其中PA8、PA9、PA10、PA11分別作為四個三極體的控制端,通過控制三極體通斷,來控制四線觸控式螢幕的Y+、Y-、X+、X-.PA1,PA2是兩個A/D轉換通道,分別連線Y+和X+用於計算觸控點的X和Y座標。PA3連線內部中斷用於檢測觸控式螢幕是否有觸控動作。觸控式螢幕平時執行時,令PA8、PA9、PA11輸出0,PA10=1,即只讓VT2導通。當有觸控動作時,D1導通給PA3一箇中斷訊號,STM32F103接收到中斷請求後立即置PA8=1,導通VT1,這樣在Y+、Y-方向上就加上電壓,同時啟動A/D轉換通道PA2,通過輸入X+上電壓計算出觸控點的Y座標,然後同理令PA8、PA10為0,PA9、PA11為1,啟動A/D轉換通道PA1,通過輸入Y+上電壓計算出觸控點X的座標。

STM32F103的電池管理系統觸控式螢幕設計

STM32F103與四線電阻觸控式螢幕的介面電路

如圖4所示,STM32F103與四線電阻觸控式螢幕直接通過自身的I/O口連線,實現觸控式螢幕控制器功能。其中PA8、PA9、PA10、PA11分別作為四個三極體的控制端,通過控制三極體通斷,來控制四線觸控式螢幕的Y+、Y-、X+、X-.PA1,PA2是兩個A/D轉換通道,分別連線Y+和X+用於計算觸控點的X和Y座標。PA3連線內部中斷用於檢測觸控式螢幕是否有觸控動作。觸控式螢幕平時執行時,令PA8、PA9、PA11輸出0,PA10=1,即只讓VT2導通。當有觸控動作時,D1導通給PA3一箇中斷訊號,STM32F103接收到中斷請求後立即置PA8=1,導通VT1,這樣在Y+、Y-方向上就加上電壓,同時啟動A/D轉換通道PA2,通過輸入X+上電壓計算出觸控點的Y座標,然後同理令PA8、PA10為0,PA9、PA11為1,啟動A/D轉換通道PA1,通過輸入Y+上電壓計算出觸控點X的座標。

STM32F103的電池管理系統觸控式螢幕設計

4 軟體設計

軟體部分的程式設計採用C語言,一方面主要完成STM32F103對I/O 管腳的配置,用來實現對四線電阻觸控式螢幕端子狀態的控制,通過中斷方式檢測是否有觸控資訊,配置A/D轉換通道,讀入電壓根據公式計算出觸點座標。另一方面主要完成通過與TFT液晶模組的通訊控制,實現觸控點座標與液晶屏座標的對應並有效完成顯示任務。軟體的開發環境是MDK,MDK 將ARM 開發工具RealViewDevelopmentSuite(簡稱為RVDS)的編譯器RVCT與Keil的工程管理、除錯模擬工具整合在一起,支援ARM7、ARM9和最新的Cortex-M3核處理器,自動配置啟動程式碼,整合Flash燒寫模組,強大的Simulation裝置模擬,效能分析等功能,與ARM 之前的工具包ADS等相比,RealView編譯器的最新版本可將效能改善超過20%.

STM32F103的電池管理系統觸控式螢幕設計

5 結束語

本文提出了基於STM32F103微控制器的EMS液晶顯示觸控式螢幕的設計方案。STM32F103的高速、低耗的優越效能完全可以達到觸控式螢幕的主控制晶片要求,TFT液晶顯示器可以滿足更復雜、多彩、靈活的顯示任務,符合顯示屏效能不斷攀升的發展趨勢。本設計充分利用了STM32F103晶片的優勢,拋棄了傳統觸控式螢幕控制器控制觸控式螢幕的方案,利用自身A/D完成了觸控式螢幕功能,本方案大大簡化了硬體電路結構,通訊更可靠,程式設計也更加簡潔,最終既能達到EMS顯示要求,出色地顯示和設定了系統所需要的資料,又能降低系統的成本,通過實際使用達到了良好的效果。鑑於當前電動車的快速發展,本方案可以擁有不錯的應用前景。

功能, 電池, 觸控式螢幕, 模組, 管理系統,
相關問題答案