韓春賢,劉興杰,韓艷君,王闊
(1.天津冶金學院 電子信息工程系,天津 300130;2.北京品佳電子有限公司;3.保定市蠡縣氣象局)
隨著LED技術(shù)的空前繁榮,LED胸牌備受關(guān)注。LED胸牌也叫LED工作牌[2],是一款新穎的LED貼片點陣“名片”式顯示屏,可以顯示姓名、性別、工作部門等信息,還可以顯示不同速度、不同動作方式的文本及預置圖型。它可以吊掛在脖子上或者夾在衣服上,作為公共場所個人及企業(yè)身份的證明及宣傳之用。LED胸牌既可以顯示中文,也可以顯示英文。對于那些需要顯示的信息量不是很大,分辨率不是很高,制造成本較低的場合,使用小屏幕LED點陣顯示器比較適用。電源大多采用鋰電池,鋰電池具有使用壽命長、能量較高、重量輕和高低溫適應(yīng)能力強的優(yōu)點。
目前,大多數(shù)LED胸牌的點陣顯示系統(tǒng)自帶字庫,顯示效果主要靠硬件掃描來驅(qū)動,該方法比較簡單,但是顯示只能按照預先的硬件設(shè)計進行,不能隨意改動,因此顯示方式單一,顯示內(nèi)容不能隨意更改,體積較大不適合隨身攜帶。[3]除此之外,也可使用8位單片機作為核心控制芯片,實現(xiàn)字符、數(shù)字、漢字和簡單圖形的顯示。但是由于8位單片機的功耗較大,體積較大,而且運算速度和通信速率都較低,實際顯示效果會有比較明顯的閃爍感。為了克服以上缺點,本文設(shè)計的電子胸牌采用低功耗、小體積、高性能、低價格的基于Cortex-M0內(nèi)核的LPC1112作為主控芯片,12×36的LED點陣屏能夠?qū)崿F(xiàn)8種動態(tài)顯示,通過按鍵切換顯示方式能夠開機自檢,并且可通過USB接口方便地更新顯示數(shù)據(jù)。
針對市場的實際需要,從使用角度出發(fā),本文設(shè)計的電子胸牌是小型的LED顯示屏,輕巧美觀,可以掛在胸前,能夠顯示漢字或者字符。
電子胸牌掛于胸前主要用于顯示姓名以及其他提示信息,例如:
① 顯示功能:能顯示3個漢字或者5個字符,并且包括左移、右移、上移、下移、中分、雪花、固定、動畫8種顯示方式,具有跑馬燈以及閃爍功能。
② 上位機能夠通過USB口,更新下位機顯示數(shù)據(jù),更新完成后正常顯示。
③ 兩個按鍵分別實現(xiàn)4級亮度的調(diào)整和顯示條目的切換。
④ 具有開機自檢功能,開機可進行全屏顯示,檢測LED點陣有無壞點。
工作環(huán)境要求為環(huán)境溫度在5~40℃;相對濕度≤80%;大氣壓強為86~106kPa。
存儲環(huán)境要求為環(huán)境溫度在-20~55℃;相對濕度≤93%;大氣壓強為50~106kPa。
電子胸卡主要包括硬件電路設(shè)計和軟件設(shè)計。硬件電路部分包括LPC1112主控芯片、LED點陣顯示電路、顯示驅(qū)動電路、USB接口電路和SWD調(diào)試電路等。軟件部分主要包括主控界面更新內(nèi)容顯示、控制動態(tài)顯示效果的代碼編寫。通過按鍵,選擇顯示信息的動態(tài)效果(如上下移動、左右移動、中分、雪花等不同的顯示效果),以及改變移動速度或閃爍。其通過USB接口傳輸文件信息。
2010年初,恩智浦(NXP)公司推出了基于ARM 32位Cortex-M0內(nèi)核的 LPC1100MCU系列芯片[4],其中LPC1112性能卓越、簡單易用、功耗低,它以8位處理器的價位實現(xiàn)了32位處理器的性能[5]。該系統(tǒng)的主控芯片采用基于Cortex-M0內(nèi)核的NXP公司的LPC1112芯片,外設(shè)包括LED點陣顯示屏、電源電路(可由電池供電)、鍵盤、UART接口以及USB接口等。硬件電路框圖如圖1所示。
圖1 胸牌整體設(shè)計電路框圖
本系統(tǒng)采用的主控制芯片LPC1112具有33個引腳,工作頻率高達50MHz,工作電壓3.3V,具備3種節(jié)能方式[6]。
由于LPC1112芯片擁有極低功耗的特性,可通過鋰電池進行供電,能夠持續(xù)工作8~10小時,而且體積很小(7mm×7mm×0.85mm),非常適用于胸牌的應(yīng)用。使用起來簡單、便捷,可以通過USB接口對鋰電池進行充電,還能夠?qū)﹄娮有嘏浦械娘@示內(nèi)容和方式進行更新。
LPC1112芯片工作電壓為3.3V,所以需要設(shè)計的電源電路輸出為3.3V。為了最大限度地降低成本,可以采用1N4148[8]降壓。1N4148是一種小型的高速開關(guān)二極管,開關(guān)比較迅速。電源電路圖如圖2所示。a點電壓為5V,1N4148壓降為0.7V,則b點的理想電壓為4.3V,實際電壓稍小于4.3V,此電壓為74HC595供電。
圖2 電源電路
74HC595是8位串行輸入、并行輸出移位寄存器,可把串行數(shù)據(jù)轉(zhuǎn)化為并行數(shù)據(jù),輸出到LED點陣屏。74HC595有一個級聯(lián)輸出端Q7,可連至下一片74HC595的數(shù)據(jù)輸入端,這樣就可以很方便地實現(xiàn)多片74HC595的芯片級聯(lián),極大地節(jié)省了LPC1112的I/O引腳資源。LPC1112僅需要時鐘、數(shù)據(jù)、鎖存和片選4個I/O引腳即可實現(xiàn)通信。
電源電路再經(jīng)過一個1N4148降壓0.7V,c點理想電壓為3.6V[9],實際測試電壓稍小于3.6V,輸出為LPC1112供電。本系統(tǒng)工作時采用鋰電池供電,同時還可充電,充電時通過USB接口即可實現(xiàn)。
筆記本電腦因為空間的限制和其他原因都沒有串口,這為某些需要串口通信功能的人們帶來了苦惱。為解決此問題,本文采用PL2303HX芯片[10],為客戶解決無串口的問題。PL2303HX是Prolific公司生產(chǎn)的一種高度集成的RS232-USB接口轉(zhuǎn)換器,可提供一個RS232全雙工異步串行通信裝置與USB功能接口便利連接的解決方案。
PL2303HX采用28引腳貼片SOIC封裝,工作頻率為12MHz,符合USB1.1通信協(xié)議,可以直接將USB信號轉(zhuǎn)換成串口信號,波特率范圍很寬,支持5、6、7、8、16共5種數(shù)據(jù)位。
當胸牌需要更新顯示內(nèi)容時,可通過miniUSB接口電纜線連到電腦的USB接口,安裝驅(qū)動程序后,會在電腦上出現(xiàn)一個虛擬串口,上位機軟件可以通過這個串口實現(xiàn)數(shù)據(jù)下載。PL2303HX將USB數(shù)據(jù)轉(zhuǎn)化為串口數(shù)據(jù),連至LPC1114的UART接口進行數(shù)據(jù)交互。USB-串口轉(zhuǎn)換電路如圖3所示。
圖3 PL2303HX USB-串口轉(zhuǎn)換電路
LED點陣顯示電路由12×36個LED組成的點陣屏和行列驅(qū)動電路構(gòu)成。由于LED數(shù)量較多,點亮整個LED屏需要很大的功率,需要驅(qū)動電路對LED各行各列驅(qū)動顯示[11]。為實現(xiàn)低功耗,行列均用74HC595芯片來驅(qū)動[12],并通過LPC1112來控制行列的選通。圖4是顯示驅(qū)動電路。74HC595是一款漏極開路輸出的CMOS移位寄存器,輸出端口是可控的三態(tài)輸出端。電路中74HC595供電電壓為4.2V,Q0~Q7為三態(tài)輸出,Q7′為串行輸出,Ds為串口輸入。從74HC595A的Q7′引腳輸出信號到74HC595B的Ds引腳。
不論顯示字符還是漢字,都是通過控制相應(yīng)的二極管的通斷來實現(xiàn)顯示功能的[12]。在顯示效果部分,采用逐行掃描的方式實現(xiàn)固定顯示效果。動態(tài)顯示方式是利用對顯示屏的不同掃面方式來實現(xiàn)的,如上下移動、左右移動、閃爍等。利用掃描方式和讀取點陣數(shù)據(jù)順序的不同來實現(xiàn)不同的顯示效果。
圖4 顯示驅(qū)動電路
SWD調(diào)試方式與傳統(tǒng)的調(diào)試方式相比,具有以下優(yōu)勢:一是SWD模式比JTAG在高速模式下更可靠,在大數(shù)據(jù)的情況下JTAG下載程序會失敗,但SWD發(fā)生的幾率會小很多;二是SWD模式占用的GPIO引腳少;三是SWD模式電路體積小[13]。
SWD調(diào)試的硬件接口只需要5個引腳:VDD(電源)、SWDIO(數(shù)據(jù))、SWCLK(時鐘)、RESET(復位)和GND(地)。
軟件功能模塊介紹如下:
LED顯示模塊:提供LED顯示、控制、操作的基本功能,為界面顯示模塊提供服務(wù)。
按鍵處理模塊:通過對按鍵的識別判斷,用于界面顯示的控制。
圖5 主程序流程圖
IAP讀寫Flash模塊:提供讀、寫、擦除MCU內(nèi)部Flash的基本操作。74HC595A驅(qū)動模塊:提供對74HC595A數(shù)據(jù)的寫入,以及對LED矩陣的掃描方式。
USB數(shù)據(jù)更新模塊:與上位機軟件進行交互,配合IAP讀寫Flash數(shù)據(jù),將需要更新的數(shù)據(jù)存儲到MCU的內(nèi)部Flash中。
主程序流程圖如圖5所示。
圖6 LED胸牌顯示漢字
圖6是LED胸牌顯示的漢字。通過整機調(diào)試,LED顯示運行可靠、穩(wěn)定。顯示狀態(tài)包括左移、右移、上移、下移、中分、雪花、固定、動畫8種顯示方式,具有跑馬燈以及閃爍功能。
同時其還具有開機自檢功能,已檢測LED點陣無壞點。
[1] 戴峻峰.嵌入式系統(tǒng)大屏幕LED點陣顯示器[J].現(xiàn)代電子技術(shù),2004(19):68-69.
[2] 楊敏,甘俊英.基于單片機的無線點陣LED顯示系統(tǒng)設(shè)計[J].船舶電子工程,2008(6):162-163.
[3] ARM.Cortex-M0Technical Reference Manual,2009.
[4] 李寧.基于MDK的LPC1100處理器開發(fā)應(yīng)用[M].北京:北京航空航天大學出版社,2010.
[5] 張同光.嵌入式系統(tǒng)實用教程[M].北京:電子工業(yè)出版社,2009.
[6] NXP.LPC111xPreliminary user manual,2010.
[7] Jacob Ziv,F(xiàn)ellow,IEEE,et al.A Universal Algorithm for Sequential Data Compression[J].IEEE Transactions On Information Theory,1977,23(3).
[8] Alessandro Vinciarelli.A Survey on Off-line Cursive Word Recognition[J].Pattern Recognition,2002(35):1433-1446.
[9] 朱云芳,靳桅,鄔芝權(quán).LED條形顯示屏直通連接的數(shù)據(jù)組織方式[J].液晶與顯示,2011,26(6):795-800.
[10] NXP.LPC1100Datesheet,Electronic innovation network,2010.
[11] 劉芳宇.基于ARM嵌入式系統(tǒng)的設(shè)計及其應(yīng)用[J].計算機光盤軟件與應(yīng)用,2012(9):173-174.
[12] 肖淑琴.LED點陣電子顯示屏制作[J].科技經(jīng)濟市場,2011(5):122-123.
[13] Qu Wei,Ye Hongan,Zheng Huimin.Based on the Mealy state machine moire fringe detection system[J].深圳大學學報理工版,2011(1):370-372.
[14] Qu Wei,Ye Hongan,Zheng Huimin.Based on the Mealy state machine moire fringe detection system[J].深圳大學學報理工版,2011(1):370-372.
[15] Cheng Taobo,Liu Guixiong,Zhou Songbin.Based on the embedded system agricultural short message switching control device[J].Science and Engineering,2007(4):3404-3407.