陸偉國,龐馥珊
(1.蘇州大學 計算機科學與技術學院,蘇州 215000, 2.蘇州經貿職業技術學院)
?
陸偉國1,龐馥珊2
(1.蘇州大學 計算機科學與技術學院,蘇州 215000, 2.蘇州經貿職業技術學院)
摘要:設計了一套基于KW01芯片的無線LED顯示屏控制系統,內嵌實時操作系統MQX,可以用來無線控制LED顯示屏的字符顯示等。整個系統包括一塊128×256點陣的LED顯示屏、主控模塊和轉發模塊、PC上位機軟件等。本系統以飛思卡爾公司的KW01芯片作為無線通信節點的收發芯片,其內部集成了一個UHF射頻收發器SX1233,每個節點配以一個擴展底座引出其功能引腳,通過無線射頻(Sub-1 GHz頻段)實現PC端與主控端的數據傳輸。經反復測試,該系統具有靈活性強、通信穩定、操作簡單等特點。
關鍵詞:LED顯示屏;KW01;無線射頻;MQX
引言
傳統LED顯示屏的控制方式有很多種:一種是通過數據線直接連接計算機和LED屏控制器,通常以RS232作為數據傳送標準,這種做法不僅有距離限制(一般不超過十幾米),而且最高波特率一般不超過115 200 bps,較低的傳輸速率制約了LED顯示屏的及時更新,因而不能實現遠程信息實時更新;一種是脫機方式(例如U盤式控制卡),如果需要更新顯示內容,需要人工更換控制卡上的U盤或者信息存儲卡;另一種是基于GPRS無線通信的控制系統,雖然很好地解決了遠程信息發布和大規模組網等技術難題,但其成本較高,而且穩定性差[3]。
為此,本文提出了一種基于KW01的無線LED控制系統,主要功能是無線更新LED顯示屏內容,對無線LED控制的研究具有一定參考價值。
1總體設計
基于KW01的無線LED控制系統包括LED顯示屏、主控模塊、轉發模塊、PC上位機軟件。系統結構框圖如圖1所示。其中,LED顯示屏由P10單元板通過數據線連接組成,共8行,每行8塊;主控模塊及轉發模塊各包括一個KW01節點和一個擴展底座,兩個KW01節點應該具有相同的硬件過濾地址。PC上位機軟件主要負責提取字模、發送數據幀。

圖1 LED控制系統框圖
2硬件設計
2.1LED顯示屏
2.1.174HC595D移位寄存器
采用74HC595DLED實現顯示屏列驅動電路。74HC595D內部集成一個8位的串行輸入移位寄存器和一個8位并行輸出鎖存器。每塊P10單元板有16個74HC595D芯片,每個芯片對應4×8個點陣。其操作原理是:時鐘線SHCP產生一個上升沿,觸發數據線Ds引腳接收一位數據,進入該移位寄存器。如果此時接收到的數據超過了8位,那么74HC595D芯片將通過Q7′引腳將溢出的那位數據傳遞給下一個級聯芯片的Ds引腳,并移入74HC595D。鎖存線STcp產生一個上升沿,移位寄存器中的數據將鎖存并被發送至Q0~Q7引腳,準備顯示。OE引腳是低電平使能,如果將使能線OE置低,結合行選信號,則P10單元板在選中行顯示Q0~Q7引腳上的數據。其引腳分布圖略——編者注。
2.1.274HC138D譯碼器

圖2 74HC138D譯碼器引腳分布圖
74HC138D芯片用來實現LED顯示屏的行掃描電路,如圖2所示。74HC138D芯片可以分為3個部分:使能端、選擇端和輸出端。其功能就是接收來自12接口的A、B、C行選線信號,對其特定含義進行“翻譯”,轉換成相應的行掃描信號,低電平有效。
由于P10單元板屬于1/4掃描方式,所以在74HC138D的輸出端再接4片4953SS以增強行驅動能力,從而驅動一組發光二極管。事實上只用到了A、B兩條行選信號線,經譯碼后產生4位輸出信號,每次選擇一片4953SS,掃描對應的一組4行的LED燈。
2.1.312接口
本系統使用的P10單元板是單紅色的,使用12接口,兩根數據線,僅使用到其中一根。在安裝LED顯示屏之前,應該首先確定接口的類型,12接口和08接口直接相連。
實際上12接口相當于連接KW01節點與P10單元板上相關芯片的一個橋梁。所以,只要對12接口對應的引腳進行編程,就可以實現主控制卡對LED顯示屏的控制。12接口和P10單元板上74HC595D和74HC138D芯片引腳的對應關系略——編者注。
2.1.4工作原理
由于構成顯示屏的LED燈數目較多,因此一般選擇掃描的方式進行信息顯示。P10單元板屬于1/4掃描方式,即每次只掃一行,從第一行開始,按順序對各行進行掃描,分4次掃描完成。一個掃描周期之后重新開始對第一行進行掃描,只要刷新的頻率足夠快,由于視覺暫留,就不會感覺到掃描所造成的閃爍。
其驅動主要分為行掃描驅動和列掃描驅動,分別由74HC138D和74HC595D控制。顯示控制可以分為送數據過程和顯示過程,控制卡通過12接口將數據串行輸入至第一個74HC595D,并級聯至之后每個74HC595D。直到一整行數據接收完畢,才觸發鎖存信號,將數據信號送上列線,配合上行選信號,將當前行的信息顯示出來。
2.2主控模塊
2.2.1MCU芯片選型
芯片的選型是一個關鍵的步驟,將直接影響到最終產品的整體性能及其可擴展性。本系統中控制LED顯示屏的主控節點是以KW01芯片為基礎的,該芯片是一款基于ARM Cortex-M0+內核的無線射頻芯片解決方案,支持290~340 MHz、424~510 MHz以及862~1020 MHz的無線頻段,具有低功耗、低成本、高度集成、通信穩定等特點,適用于諸如智能家居、智能城市等多種物聯網產品的研究與開發[4]。
2.2.2射頻模塊
KW01芯片內部集成無線射頻收發器SX1233,工作于Sub-1 GHz無線頻段下,具有極低功耗,接收模式下的電流約為16 mA,待機模式下的電流約為100 nA。按照嵌入式系統硬件構件化設計原則,且考慮到信號增益、低通濾波、信號反射和特性阻抗匹配等設計要素,采用二階橢圓函數低通濾波器,并結合雙L形匹配網絡的方式設計射頻前端電路[5],其Sub-1 GHz無線射頻前端電路設計見圖3。

圖3 無線射頻模塊
2.2.3主控模塊與12接口引腳連線
為了使KW01芯片引腳與12接口引腳相連,通過對引腳的編程實現控制整個128×256點陣的LED顯示屏,設計了一塊擴展底板。其主要是對核心板的引腳進行對接以及提供核心板的供電電源,基本包含了核心板對外的基本接口及功能。
本系統采用12接口連接方式,其與KW01芯片的引腳連接方式如圖4所示。

圖4 擴展底座12接口
2.3電源供應
主控節點的工作電壓為5 V,與P10單元板上的工作電壓相同,為了保證電壓穩定,系統使用4個級聯的5 V、20 A的電源,每個電源為8塊P10單元板供電,同時給主控節點提供電源。
3軟件設計
軟件設計主要包括PC上位機程序以及主控節點程序。PC上位機與MCU之間的數據幀收發過程如圖5所示。

圖5 數據幀收發過程
3.1補發幀機制
在MCU軟件中設置標記緩沖區flag_Buf[],共50 B,每一位的值1代表該數據幀接收成功;0則代表該幀數據丟失,需要補發。例如緩沖區第1個字節flag_Buf[0]第7位代表第1幀數據接收狀況,flag_Buf[0]第6位代表第2幀數據,以此類推,flag_Buf[0]第0位代表第8幀。如圖6所示,第5、10、13幀丟失需要重發。
主控節點在成功接收到發來的數據后,寫入Flash空間的同時設置標志緩沖區:
flag_buf[(幀號-1)/8]=flag_buf[(幀號-1)/8]|(0x01<<(7-(幀號-1)%8))
在接收完所有數據后主控MCU反饋接收狀態,然后PC上位機軟件根據收回的反饋幀找到丟失的幀號,補發對應幀,從而實現丟幀自動補發的機制。
3.2位操作引擎
由于P10單元板的掃描方式是1/4掃的,所以一旦數據量變大,刷新的頻率不夠,人們就會感覺到屏幕上的字符在閃爍,為此用到了位操作引擎。
位操作引擎BME(Bit Manipulation Engine)為基于Cortex-M0+微控制器的外設地址空間的位進行“讀—改—寫”操作提供了硬件支持,這種架構又叫做封裝式存儲[6]。其目標是使外設寄存器的n個位一起操作,可以通過普通的加載/存儲操作來對某一特定位進行讀/寫[7],使得底層代碼的執行效率有了大大提高。
對部分代碼反匯編進行對比,可以發現使用BME技術比原有“讀—改—寫”方法占用代碼空間更小,執行效率更高。代碼如下:
//BME操作,拉低LED_CLK引腳,即PORTE的19引腳。
U32temp=(*( volatile unsigned long int *)(unsigned long int) 0x4A6FF100);
5c2a: 4b1eldr r3, [pc, #120]; (5ca4
5c2c: 681cldr r4, [r3, #0]
//普通操作,首先找到PORTE的GPIO基地址,然后拉低輸出引腳
volatile uint_32 *PE=(uint_32*)0x400FF100u;
5c20: 4b22ldr r3, [pc, #136]; (5cac
5c22: 60fbstr r3, [r7, #12]
*PE &= ~(1<<19);
5c2a: 68fbldr r3, [r7, #12]
5c2c: 681aldr r2, [r3, #0]
5c2e: 4b20ldr r3, [pc, #128];(5cb0
5c30: 401aands r2, r3
5c32: 68fbldr r3, [r7, #12]
5c34: 601astr r2, [r3, #0]
3.3MQX操作系統

圖6 幀標記
MQX是1989年Precise Software Technologies公司開發的一款面向工業控制、汽車電子等領域的多任務、多處理器的嵌入式實時操作系統(RTOS)[8],具有代碼開源、成本低、可裁減性和可移植性、占用ROM空間少、外設驅動豐富等特點[9]。
任務(TASK)是RTOS中最重要的操作對象,是操作系統的基本組成元素。任一時刻,有且僅有一個任務會處于運行狀態,控制CPU資源。把整個LED顯示屏任務主要分解成3個任務:①task_led任務,負責控制LED顯示屏顯示字符;②task_rf_recv任務,負責接收PC端無線發送過來的數據并處理;③task_rf_send任務,返回標志緩沖區數據給PC端,判斷數據幀接收狀況。
MQX通過任務模板列表定義一組初始化模板(其中必須有一個自啟動任務task_main),基于該模板,任務可以在處理器上被創建,每個任務都會有其優先級,有時優先級可以改變。初始化時,MQX查找任務模板的自啟動任務并生成其他任務。
任務間的通信機制使得多任務間能夠相互同步和通信,從而協調各個任務調用的主要手段[10]。本設計主要用到了它的事件位機制,例如,主控模塊在接收到數據之后,會產生GPIO中斷,此時置RF接收事件位,通知task_rf_recv任務可以得到執行,該任務狀態從阻塞態變為運行態,而之前正在執行的任務將會被阻塞。
4實驗與分析
在編寫程序之前,首先對硬件設備進行了測試,確保電源電壓模塊正常,使用的LED顯示屏無壞點,RF模塊通信正常。在整套系統建立好之后,就進入了系統的測試環節。如圖7所示,打開軟件,單擊“打開串口”按鈕,自動獲取星期及天氣狀況等信息;在文本框中,用戶可根據需要編輯內容,然后單擊“一鍵發送”即可。接收框中返回LED顯示屏主控模塊的接收狀況。
結語
通過對以往LED顯示屏控制系統的傳輸控制方式、LED顯示屏的顯示原理進行了分析與研究以后,設計了一種LED顯示屏控制系統。控制系統選用32位的KW01芯片作為主控芯片,實現了采用Sub-1 GHz進行數據傳輸的通信方式,以增大數據傳輸量、簡化字符更新操作、節約人力成本,用戶可隨時對控制卡進行操作。另外,后期將根據光敏傳感器所采集的光線強度數據來調整亮暗的顯示時間占空比,從而根據應用環境,自動更新LED顯示屏的亮度。經多次測試表明,該系統通信穩定、抗干擾能力強、具有良好的市場前景。

參考文獻
[1] 高敏.LED 顯示屏發展綜述[J].電子制作, 2015(8).
[2] 路微.LED 顯示屏的特點與發展趨勢[J].電子世界, 2014(14):9.
[3] 彭俊.基于無線數據傳輸的LED顯示屏設計與實現[D].長沙:湖南大學, 2013.
[4] Freescale.MKW01RM.[EB/OL].[2015-07].http://www.freescale.com/,2013.
[5] 胡宗棠.基于Cortex-M0+內核Kinetis無線射頻模塊的應用研究[D].蘇州:蘇州大學, 2014.
[6] 王宜懷等.嵌入式技術基礎與實踐—ARM Cortex-M0+ Kinetis L系列微控制器[M].北京:清華大學出版社,2013.
[7] Freescale.KEA128 Sub-Family Reference Manual Rev 2,2014.
[8] Wikipedia.MQX[EB/OL].[2015-07].http://en.wikipedia.org/wiki/MQX.
[9] Freescale.Freescale MQX RTOS 4.0.0 Release Notes[EB/OL].[2015-07].http://www.freescale.com/mqx.
[10] 程玉娟.嵌入式實時操作系統MQX的內核分析及應用研究[D].蘇州:蘇州大學, 2011.
陸偉國(研究生)、龐馥珊(講師),從事嵌入式研究工作。

Lu Weiguo1,Pang Fushan2
(1.Compnter Science and Technology, Soochow University, Suzhou 215000, China; 2.Suzhou Institute of Trade)
Abstract:A wireless LED screen control system based on KW01 chip is designed,which is embedded the RTOS MQX and can be used to wireless control the LED display.The system uses Freescale’s KW01 chip as the wireless communication node’s transceiver chip,which integrates a UHF radio transceiver SX1233.Each node comes with a docking that can lead to its function pins.The design can achieve the data transmission between the PC and the master module with the radio frequency(Sub-1 GHz band).The test results prove that the system is flexible,stable to communicate,easy to operate.
Key words:LED screen;KW01;radio frequency;MQX
收稿日期:(責任編輯:楊迪娜2015-07-20)
中圖分類號:TP302.1
文獻標識碼:A