• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于STM32F4的多通道串口驅動TFT液晶屏顯示系統(tǒng)設計

      2020-05-06 13:46:58任克強王傳強
      液晶與顯示 2020年5期
      關鍵詞:波特率液晶屏扇區(qū)

      任克強,王傳強

      (江西理工大學 信息工程學院,江西 贛州 341000)

      1 引 言

      TFT液晶屏是嵌入式系統(tǒng)中重要的組成部分,但由于TFT液晶屏驅動較為復雜,對處理器有較高的要求,在大部分8位和16位機、部分32位機中較難實現驅動。文獻[1]和文獻[2]利用STM32處理器的FSMC功能實現了對TFT液晶屏的驅動,但此方法具有一定的局限性,只能在具有FSMC功能的處理器中實現TFT液晶屏的驅動,無法滿足沒有FSMC功能的處理器(如51單片機等處理器[3-4])驅動TFT液晶屏的需求。

      針對上述問題,本文設計了一種多通道串口控制驅動MUC接口模式的TFT液晶屏的顯示系統(tǒng),該系統(tǒng)提供4個控制TFT液晶屏的串口通道,使用TFT液晶屏的外部處理器只需有串口或通過I/O口模擬串口就可以使用TFT液晶屏,簡化了TFT液晶屏驅動和使用,降低了使用TFT液晶屏外部處理器的功能要求,拓展了TFT液晶屏的適應性和使用范圍。

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

      本文設計的TFT液晶屏顯示系統(tǒng)由STM32F4處理器和TFT液晶屏兩大部分組成,硬件框圖如圖1所示。

      圖1 系統(tǒng)硬件框圖Fig.1 Hardware framework of system

      利用STM32F4的FSMC功能驅動TFT液晶屏,并通過其串口向使用TFT液晶顯示系統(tǒng)的外部處理器提供控制通道。STM32F4的時鐘頻率高達168 MHz,具有8個串行口和1個FSMC接口,可模擬8080時序驅動TFT液晶屏[5-7]。最大支持4個通道同時接入,外部處理器通過串口訪問STM32F4內部預先燒錄的接口程序,實現對TFT液晶屏的控制。STM32F4處理器主存儲塊具有1 M FLASH,分為11個扇區(qū),主存儲塊FLASH扇區(qū)劃分如表1所示。本設計將這1 M的FLASH劃分為兩個部分,其中:扇區(qū)0~8為程序存儲區(qū),扇區(qū)9~11為漢字字庫存儲區(qū)。

      液晶驅動控制器是集成于TFT液晶屏的一個驅動芯片,每種控制器具有唯一的序列號,雖然控制器型號眾多,但大部分的底層驅動方式是一樣的,可以通過STM32F4模擬8080時序進行驅動,差別主要在于控制指令的不同。因此,為了可以兼容多種不同型號的MUC接口TFT液晶屏,本設計采用讀取液晶驅動控制器的序列號進行液晶屏的識別,從而執(zhí)行對應屏幕型號的控制指令,實現多種不同型號液晶屏的驅動。本文設計的TFT液晶顯示系統(tǒng)可驅動60.1~177.8 mm(2.4~7 in)5種尺寸,包括ILI9341、IGDP453和SSD1936等15種不同驅動芯片的MUC接口TFT液晶屏。

      表1 STM32F4主存儲塊Flash扇區(qū)劃分

      Tab.1 Sector division of FLASH in STM32F4 main memory

      扇區(qū)號地址大小扇區(qū)00x08000000-0x08003FFF16 kB扇區(qū)10x08004000-0x08007FFF16 kB扇區(qū)20x08008000-0x0800BFFF16 kB扇區(qū)30x0800C000-0x0801FFFF16 kB扇區(qū)40x08020000-0x0803FFFF64 kB扇區(qū)50x08040000-0x0805FFFF128 kB???扇區(qū)90x080C0000-0x080DFFFF128 kB???扇區(qū)110x080E0000-0x080FFFFF128 kB

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

      圖2 系統(tǒng)軟件流程圖Fig.2 Flow chart of system software

      μC/OS-Ⅲ是一種可移植、可剪裁的實時多任務操作系統(tǒng),專為嵌入式系統(tǒng)設計,可與應用程序一起固化到ROM中。μC/OS-Ⅲ以其優(yōu)異的性能和較高的穩(wěn)定性已經被移植到8位、16位、32位和64位等多種不同處理器中[8-11]。μC/OS-Ⅲ在處理器的RAM空間允許條件下,可創(chuàng)建無數任務。本文系統(tǒng)軟件全部是在μC/OS-Ⅲ操作系統(tǒng)的基礎上建立的。

      系統(tǒng)軟件流程圖如圖2所示。程序運行時首先調用OSInit()完成對整個操作系統(tǒng)所有變量和數據結構的初始化,自動創(chuàng)建空閑任務,完成操作系統(tǒng)運行前的準備工作。然后調用OSTaskCreate()創(chuàng)建一個起始任務,起始任務運行時將創(chuàng)建5個任務,分別是1個串口配置任務和4個控制串口通道任務,將串口配置任務設置為最高級,然后將起始任務刪除,起始任務只在程序運行時執(zhí)行一次。之后將創(chuàng)建的5個任務添加到就緒列表,調用OSStart()啟動μC/OS-Ⅲ,開始多任務之間的調度。按照任務的優(yōu)先級,串口配置任務將首先被執(zhí)行,此時采用非阻塞延時的方式讓系統(tǒng)延時5 s,在這5 s內若有更改配置操作則可進行人工修改配置,否則跳過,保留串口默認配置,隨之將串口配置任務刪除,將不會再被執(zhí)行,最后操作系統(tǒng)將會在空閑任務和4個控制串口通道任務之間循環(huán)調度。

      3.1 液晶顯示驅動設計

      本設計所支持的TFT液晶屏都是MUC接口的16位8080并口驅動方式,完全可以通過FSMC模擬8080時序進行驅動,只是初始化控制指令有所差別,只需根據讀取TFT液晶屏的ID序列號判斷屏幕型號,調用不同的初始化程序完成液晶屏驅動顯示。TFT液晶屏的信號線包括:數據總線(D0~D15)、設置寫入數據/命令(RS)、寫使能(WR)、讀使能(RD)、片選(CS)、復位(RST)和背光(BL),在控制時只需要用到D0~D15、RS、WR、RD和CS引腳。FSMC模式A讀寫時序如圖3所示,TFT液晶屏16位并口8080接口時序如圖4所示,對比圖3和圖4可知,TFT液晶屏沒有地址線,具有一個設置寫入數據/命令(RS)引腳,通過此引腳決定傳輸的是數據還是命令,可以將此信號線看作FSMC的其中一個地址線,將RS引腳連接到FSMC A0地址線。當FSMC寫地址0時,對于TFT液晶屏即為寫命令;當FSMC寫地址1時,對于TFT液晶屏即為寫數據。這樣就可以通過FSMC模擬16位并口8080時序完成對TFT液晶屏的控制操作。

      (a)讀時序(a)Read timing

      (b)寫時序(b)Write timing圖3 FSMC模式A讀寫時序Fig.3 FSMC mode A read and write timing

      圖4 16位并口8080接口時序Fig.4 16 bit parallel port 8080 interface timing

      3.2 串口通信程序設計

      串口是連接外部處理器和本文TFT液晶屏顯示系統(tǒng)的橋梁,所有外部處理器傳入的所有數據和指令都是通過串口進行發(fā)送。本設計采用STM32F4的4個串口作為傳輸通道,利用DMA方式進行傳輸。DMA傳輸數據的本質是將數據從一個地址空間復制到另一個地址空間,無需CPU參與,大大減輕了CPU的負擔。

      本設計的系統(tǒng)配置界面如圖5所示。圖5(a)界面顯示當前4個串口的默認波特率都為9.6 kB/s,通過觸摸屏幕可以選擇是否配置串口波特率或者直接跳過配置;圖5(b)為串口配置界面,可通過觸摸屏幕完成4個串口的波特率配置。

      (a) 設備信息及選擇界面(a) Equipment information and selection interface

      (b) 串口配置界面(b) Serial port configuration interface圖5 系統(tǒng)配置界面Fig.5 System configuration interface

      3.3 驅動控制接口設計

      外部處理器在控制TFT液晶屏顯示系統(tǒng)前,先發(fā)送一系列的設置數據,STM32F4處理器接收這些數據并進行數據解析,獲取端口號,選擇是顯示圖像還是顯示字符、數字或者漢字。如果顯示圖像,首先會判斷圖像的顯示坐標和大小,然后接受串口發(fā)來的圖像數據,寫入到液晶屏進行顯示。如果顯示字符、數字或者漢字,首先會判斷顯示字體的大小、長度和坐標,設置背景顏色和字體顏色,然后調取STM32F4內部FLASH存入的字模數據寫入到液晶屏進行顯示。驅動控制接口調用流程如圖6所示。

      圖6 驅動控制接口調用流程圖Fig.6 Flow chart of driver control interface calling

      4 實驗結果

      首先測試在不同波特率下的數據傳輸速度,外部處理器通過串口通道發(fā)送數據控制TFT液晶屏顯示系統(tǒng),傳輸速度的理論值與實際值如表2所示。如果選擇最為常用的9.6 kB/s波特率,每秒可以傳輸9 400字節(jié),若傳輸長寬為16×16像素的漢字或者字符,每秒可以傳輸約29個漢字

      表2 不同波特率的數據傳輸速度

      Tab.2 Data transfer speeds with different baud rates (kB·s-1)

      波特率理論值實際值 2.4 2.4 2.34.8 4.8 4.7 9.6 9.6 9.4 115.2 115.2 111.3 256 256 232.7 2 0002 000 1 969

      或者字符。

      采用11 cm(4.3 in)800×480分辨率的TFT液晶屏進行顯示測試,在9.6 kB/s波特率下測試外部處理器通過串口控制TFT液晶屏顯示漢字、字符和數字的效果,測試結果如圖7所示。其中,圖7(a)為1個外部處理器控制TFT液晶屏顯示系統(tǒng)的全屏顯示結果;圖7(b)為2個外部處理器同時控制TFT液晶屏顯示系統(tǒng)的2分屏顯示結果;圖7(c)為3個外部處理器同時控制TFT液晶屏顯示系統(tǒng)的3分頻顯示結果;圖7(d)為4個外部處理器同時控制TFT液晶屏顯示系統(tǒng)的4分頻顯示結果。當多個處理器通過串口通道同時控制TFT液晶顯示系統(tǒng)時,顯示效果穩(wěn)定流暢。

      (a) 單通道控制顯示(a) Single channel control display

      (b) 雙通道控制顯示(b) Dual channel control display

      (c) 三通道控制顯示(c) Three channel control display

      (d) 四通道控制顯示(d) Four channel control display圖7 液晶屏控制顯示測試結果Fig.7 LCD control display test results

      5 結 論

      TFT液晶屏驅動是開發(fā)和設計嵌入式應用系統(tǒng)經常要面對和解決的問題。常規(guī)的MUC接口TFT液晶屏驅動方法較為復雜,對直接使用TFT液晶屏的外部處理器和開發(fā)設計人員均有一定的要求。本文采用串口方式控制MUC接口模式的TFT液晶屏的方法,降低了對外部處理器的功能要求,可以滿足無法直接進行屏幕驅動的8位、16位和32位機使用TFT液晶屏的需求,僅需兩根I/O線就能進行TFT液晶屏的控制,節(jié)約了外部處理器的資源。本文方法可同時提供4個控制TFT液晶屏的串口通道,既可以單個外部處理器控制TFT液晶屏,也可以多個外部處理器同時控制TFT液晶屏,拓展了TFT液晶屏的使用范圍,可滿足某些特定場合的應用需求。本文方法具有較好的兼容性,可適用5種不同尺寸、15種不同IC芯片的MUC接口TFT液晶屏。經測試,TFT液晶屏的驅動速度能較好地滿足顯示需要,在4個串口通道同時控制TFT液晶屏的情況下,顯示效果清晰流暢,系統(tǒng)運行穩(wěn)定可靠。

      猜你喜歡
      波特率液晶屏扇區(qū)
      分階段調整增加扇區(qū)通行能力策略
      南北橋(2022年2期)2022-05-31 04:28:07
      CAN 總線波特率自適應程序設計
      智能制造(2020年5期)2020-07-03 06:24:00
      基于FPGA的異步串行通信波特率容錯設計
      電子測試(2018年7期)2018-05-16 06:27:18
      U盤故障排除經驗談
      一種消除液晶屏高溫MURA的工藝研究
      FPGA的TFT-LCD真彩液晶屏顯示控制
      基于機器視覺的液晶屏字符缺陷檢測系統(tǒng)設計
      基于貝葉斯估計的短時空域扇區(qū)交通流量預測
      重建分區(qū)表與FAT32_DBR研究與實現
      基于圖像處理的電能表液晶屏質量檢測方法
      電測與儀表(2014年9期)2014-04-15 00:27:02
      尤溪县| 兴国县| 弥勒县| 临夏县| 连山| 威宁| 中西区| 根河市| 通渭县| 防城港市| 红安县| 会泽县| 镇康县| 富民县| 兴义市| 南郑县| 河北区| 吴忠市| 香格里拉县| 彰化县| 紫阳县| 五指山市| 咸丰县| 广饶县| 丹棱县| 德阳市| 商水县| 克山县| 磴口县| 大冶市| 穆棱市| 盖州市| 砚山县| 巴里| 伊春市| 武汉市| 得荣县| 平安县| 孟津县| 刚察县| 大厂|