基于STM32F103ZET6的紅外遙控盒設(shè)計
作者簡介:胡方猛(1987—),初級工程師職稱,硬件測試工程師,主要從事物聯(lián)網(wǎng)產(chǎn)品硬件測試、自動化測試設(shè)計以及測試儀器開發(fā)工作。E-mail: woanzf@163.com。
本文引用地址:http://www.ex-cimer.com/article/202111/429667.htm0 引言
隨著社會經(jīng)濟、科技的發(fā)展和人民生活水平的持續(xù)提高,人們對于液晶電視的需求也在日益擴大,同時對于品質(zhì)的要求也越來越高。目前液晶電視生產(chǎn)商出廠前的功能測試主要通過人工遙控進(jìn)行,效率較低,而且受人為因素影響,易出現(xiàn)質(zhì)量問題。
為了提高生產(chǎn)測試效率和品控質(zhì)量,本文設(shè)計了一款基于STM32F103ZET6 的遙控盒,遙控碼保存于SD卡中,方便編輯保存,微控制器通過FATFS 文件系統(tǒng)讀取SD 卡中的遙控碼[1],解析后通過紅外遙控頭發(fā)射出去。紅外遙控抗干擾能力強,成本低,多數(shù)家電控制采用此種方式[2-3]。本系統(tǒng)支持遙控碼單碼和多碼發(fā)送模式,同時支持多碼一鍵連續(xù)發(fā)送,而且采用彩色TFT-LCD 液晶模組[4],當(dāng)前發(fā)送的遙控碼功能可以實時顯示,可為液晶電視等家電生產(chǎn)商提高生產(chǎn)測試效率和品質(zhì)控制帶來很大益處。
1 系統(tǒng)總體設(shè)計概述
1.1 硬件組成電路框圖
紅外遙控盒主要由電源模塊、MCU 控制單元、彩色TFT-LCD 液晶顯示單元、SD 讀卡單元、遙控碼段選擇單元、串口通信單元、設(shè)備聯(lián)動單元等幾個部分組成,其總體設(shè)計框圖如圖1 所示。
圖1 系統(tǒng)總體設(shè)計框圖
1.2 系統(tǒng)工作原理及主要功能介紹
MCU 主控單元首先讀取當(dāng)前遙控碼的碼段并顯示于彩色TFT-LCD。本系統(tǒng)通過碼段選擇單元可實現(xiàn)16個碼段,每個碼段可以實現(xiàn)單個遙控碼發(fā)送或連續(xù)1 ~ 8個紅外遙控碼同時發(fā)送。碼段選擇完成后,遙控碼發(fā)射按鍵將SD 存儲卡中對應(yīng)遙控碼段的遙控碼通過IR 紅外發(fā)射單元發(fā)送出去,同時彩色TFT-LCD 顯示屏?xí)诠潭ㄎ恢脤崟r顯示當(dāng)前發(fā)送的遙控碼。本系統(tǒng)目前支持NEC 和SHARP 的紅外遙控碼協(xié)議,通過擴展編程,可以實現(xiàn)其他協(xié)議的遙控碼。同時,通過設(shè)備聯(lián)動單元,紅外遙控盒可與生產(chǎn)線自動化設(shè)備,如PLC 控制柜,實現(xiàn)通信、控制,從而達(dá)到設(shè)備聯(lián)動、自動化測試的目的。而且用戶可以根據(jù)需求,對SD 存儲卡內(nèi)的遙控碼任意裁剪或組合,靈活、便捷。
2 系統(tǒng)硬件電路設(shè)計
2.1 電源管理電路
本系統(tǒng)通過外部直流12 V 提供電源輸入,然后通過DC-DC 轉(zhuǎn)換將直流12 V 降為直流5 V,為TFT-LCD 液晶顯示模塊和USB 轉(zhuǎn)串口芯片供電,之后利用LDO 將直流5 V 降為直流3.3 V,為MCU 主控單元及外圍設(shè)備提供電源。詳細(xì)電路如圖2 所示。
圖2 電源轉(zhuǎn)換模塊電路圖
2.2 MCU主控單元電路
STM32F103ZET6 微控制器使用高性能的ARM Cortex-M3 內(nèi)核。默認(rèn)工作主頻為72 MHz,內(nèi)置高速存儲器,具有豐富的增強型I/O 端口和外設(shè),不僅支持JTAG調(diào)試,還支持SWD 調(diào)試方式。該芯片具有64 kB SRAM、512 kB FLASH、2 個基本定時器、4 個通用定時器、2 個高級定時器、2 個DMA 控制器(共12 個通道)、3 個SPI、2個IIC、5 個串口、1 個USB、1個CAN、3 個12 位ADC、1 個12 位DAC、1 個SDIO 接口、1個FSMC 接口以及112 個通用IO,強大的功能和豐富的外設(shè)接口完全滿足本系統(tǒng)的實時控制要求。詳細(xì)如圖3 所示。
圖3 主控單元電路圖
2.3 彩色TFT-LCD顯示電路
MCU 主控單元通過FSMC外設(shè)接口控制彩色TFT-LCD液晶屏顯示。詳細(xì)如圖4 所示。
圖4 彩色TFT-LCD顯示屏接口電路
TFT-LCD 即薄膜晶體管液晶顯示器,其英文全稱為:thin film transistor-liquid crystal display。TFT-LCD與無源TN-LCD、STN-LCD 的簡單矩陣不同,它在液晶顯示屏的每一個像素上都有一個薄膜晶體管[5],每個像素都可以通過點脈沖直接控制,每個節(jié)點都相對獨立,并且可以連續(xù)控制,這樣不僅提高了顯示屏的反應(yīng)速度,同時可以精確控制顯示色階,所以TFT 液晶的色彩更逼真。
FSMC,即靈活的靜態(tài)存儲控制器,能夠與同步或異步存儲器和16 位PC 存儲器卡連接。本系統(tǒng)采用的STM32F103ZET6 芯片自身帶有FSMC 接口,該接口支持SRAM、NAND FLASH、NOR FLASH 和PSRAM 等存儲器。本系統(tǒng)通過FSMC 將TFT-LCD 當(dāng)作SRAM使用,可以有效驅(qū)動TFT-LCD,顯示當(dāng)前系統(tǒng)運行狀態(tài)和遙控碼。
2.4 讀SD卡單元電路
MCU 主控單元通過FATFS 文件系統(tǒng)讀取SD 卡中.txt 格式文件,SD 卡可以隨時從遙控盒取出,通過讀卡器編輯保存其中的遙控碼。詳細(xì)電路如圖5 所示。
圖5 讀SD單元電路圖
.txt 文本文件中存儲的是十六進(jìn)制遙控碼,程序?qū)⑽募幸訟SCII 存儲的十六進(jìn)制遙控碼,通過計算轉(zhuǎn)換成相應(yīng)的遙控碼協(xié)議,然后通過紅外遙控頭以二進(jìn)制遙控碼時序發(fā)送出去。
2.5 IR紅外發(fā)射單元電路
本系統(tǒng)紅外發(fā)射單元采用微控制器PF12引腳驅(qū)動,如圖6。
圖6 IR紅外發(fā)射單元電路圖
圖7 遙控碼發(fā)送時序
紅外線的光譜位于紅色光之外,波長是(0.76 ~ 1.5)μm。紅外線通過紅外發(fā)光二極管(LED)發(fā)射出去,紅外發(fā)光二極管的內(nèi)部構(gòu)造與普通發(fā)光二極管基本相同,但材料與普通發(fā)光二極管不同[6],在紅外發(fā)射管兩端施加一定電壓時,它即可發(fā)出紅外線。紅外遙控是利用紅外線進(jìn)行傳遞信息的一種控制方式,紅外遙控抗干擾能力強,電路簡單,容易編碼和解碼,而且功耗小,成本低,幾乎適用于所有家電的控制。紅外遙控調(diào)制載波頻率一般在(30 ~ 60)kHz,大多數(shù)使用的是38 kHz,占空比1/3 的方波。
本系統(tǒng)在遙控發(fā)射開始按鍵按下以后,會查詢系統(tǒng)當(dāng)前設(shè)置的是哪一遙控碼段,即實現(xiàn)的遙控功能。當(dāng)確認(rèn)碼段后,系統(tǒng)會判斷當(dāng)前遙控碼是單碼模式發(fā)送還是多碼模式發(fā)送,多碼模式時,還會判斷是否為一鍵連續(xù)發(fā)送。微控制器定時器3 通過定時溢出時中斷程序使紅外管接口電平反轉(zhuǎn)一次,實現(xiàn)38 kHz 調(diào)制載波,同時通過控制參數(shù)設(shè)定時延來實現(xiàn)邏輯“1”和邏輯“0”。
本系統(tǒng)采用的是SHARP 紅外遙控協(xié)議:Sharp 遙控碼的位定義:1 個脈沖對應(yīng)320 μs 的連續(xù)載波,1 個邏輯“1”傳輸需要2 ms,1 個邏輯“0”的傳輸需要1 ms(320 μs 脈沖+680 μs 低電平)。15 位遙控碼由5 位系統(tǒng)碼、8 位數(shù)據(jù)碼和2 位結(jié)束碼組成。1 個完整的遙控命令包含2 幀數(shù)據(jù)。發(fā)送時,首先發(fā)送1 幀15 位數(shù)據(jù),延時40 ms 后發(fā)送另1 幀數(shù)據(jù),此幀的系統(tǒng)碼與前幀相同,數(shù)據(jù)碼和結(jié)束碼與前幀相反。
經(jīng)過程序編碼,按下開始發(fā)送按鍵,將具體遙控碼編碼后按時序發(fā)送出去,如圖7 所示。
2.6 串口通信單元電路
本系統(tǒng)串口通信單元電路采用CH340 實現(xiàn)USB 轉(zhuǎn)串口電路,方便串口調(diào)試及一鍵下載。詳細(xì)電路圖如圖8 所示。
圖8 串口通信單元電路圖
3 系統(tǒng)軟件設(shè)計
本系統(tǒng)的程序使用C 語言編寫,采用模塊化和層次化的設(shè)計方法,提高各模塊的獨立性,方便開發(fā)人員進(jìn)行調(diào)試和后期維護(hù)。程序的功能模塊包括程序初始化模塊、碼段選擇處理模塊、讀SD 卡模塊、紅外遙控命令解析模塊、彩色TFT-LCD 顯示模塊,在主函數(shù)中調(diào)用各個模塊的接口,按照既定的控制邏輯,實現(xiàn)碼段選擇、讀SD 卡內(nèi)遙控命令并按照遙控碼協(xié)議發(fā)送,以及實時顯示于彩色TFT-LCD 的功能。本系統(tǒng)主程序流程圖如圖9所示。
圖9 主程序流程圖
4 實現(xiàn)功能
本系統(tǒng)實現(xiàn)的遙控功能可選擇、可編輯,方便客戶根據(jù)需要自由編輯保存所需的遙控功能,主要實現(xiàn)功能如下。
1)遙控碼存儲于SD 卡,變更遙控功能時只需將SD 卡取出,使用讀卡器編輯完再插入遙控盒即可,不需再燒錄固件;
2)相較于傳統(tǒng)遙控器的按鍵固定不可更改,本遙控盒可以對遙控碼進(jìn)行編輯,而且可以實現(xiàn)不同遙控碼的一鍵連續(xù)發(fā)送;
3)發(fā)射遙控碼的同時,實時顯示當(dāng)前所做的遙控功能,方便用戶進(jìn)行狀態(tài)跟蹤;
4)預(yù)留了設(shè)備聯(lián)動接口,可以與生產(chǎn)商的自動化設(shè)備,如PLC 等進(jìn)行對接,實現(xiàn)與自動化設(shè)備聯(lián)動,加快生產(chǎn)效率。
5 結(jié)束語
本系統(tǒng)設(shè)計的遙控盒經(jīng)客戶試用完全達(dá)到設(shè)計預(yù)期,且經(jīng)過了長期穩(wěn)定性測試,工作穩(wěn)定、可靠,極大提高了生產(chǎn)廠商的檢測效率及品控質(zhì)量。另外,本遙控盒提供了與自動化設(shè)備聯(lián)動的接口,客戶可以根據(jù)需要對接到生產(chǎn)線的自動化設(shè)備,實現(xiàn)遙控與自動化設(shè)備的聯(lián)動。
參考文獻(xiàn):
[1] 李世奇,董浩斌,李榮生.基于FatFs文件系統(tǒng)的SD卡存儲器設(shè)計[J].測控技術(shù),2011(12):79-81.
[2] 聶詩良,李磊民.紅外遙控信號的一種編碼解碼方法[J].儀表技術(shù)與傳感器,2004(8):28-29.
[3] 陳陽海.紅外遙控工作原理編碼方式及常用信號傳輸協(xié)議[J].電子制作,2007(11):6-9.
[4] 李創(chuàng)業(yè).基于GPRS和紅外探測技術(shù)的家庭安防系統(tǒng)的研究與設(shè)計[D].長沙:湖南大學(xué),2014.
[5] 程靜濤.基于ARM的觸摸屏TFT液晶顯示電路設(shè)計[J].電視技術(shù),2012(9):27-27.
[6] 林淑.基于單片機的紅外遙控密碼鎖的設(shè)計[J].廣西輕工業(yè),2014(8):77-78.
(本文來源于《電子產(chǎn)品世界》雜志2021年10月期)
評論