999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LPC2103的LED顯示字庫無線通信系統設計

2015-10-12 08:05:42張開生
電視技術 2015年13期
關鍵詞:系統

張開生,彭 朋

(陜西科技大學 電氣與信息工程學院,陜西 西安 710021)

基于LPC2103的LED顯示字庫無線通信系統設計

張開生,彭 朋

(陜西科技大學 電氣與信息工程學院,陜西 西安 710021)

針對LED顯示屏的字庫更新和數據傳輸問題,采用嵌入式微處理器LPC2103作為LED顯示屏的控制中樞,通過IAP技術存儲和更新其內部Flash中的字庫數據,采用ZigBee技術無線傳輸數據。重點闡述了在存儲和更新LED顯示屏的字庫時,上位機通過ZigBee協調器把LED顯示屏需要更新的字庫數據無線發送給與LPC2103相連的ZigBee終端節點,終端節點將該數據通過串口發給LPC2103,再利用IAP技術對LPC2103內部Flash進行單獨編程操作,達到存儲和更新字庫數據的目的。實驗表明,構建的LED字庫數據無線更新系統運行良好,切實可行。

IAP;LPC2103;LED顯示屏;字庫更新;ZigBee數據傳輸

隨著現代生活節奏的加快, LED顯示屏成了人們日常生活工作中不可缺少的部分,廣泛應用于車站、廣場、企事業單位等場所,成為發布信息的極好工具[1]。傳統的LED顯示技術通常把單片機作為微控制器,但是單片機受時鐘頻率(通常為12 MHz)的限制,當LED顯示屏顯示的數據量較大時,則會因為掃描速度太慢而導致LED顯示屏出現閃爍,造成不穩定的視覺效果,為此系統采用嵌入式微處理器LPC2103作為控制器[2],不僅提高了微處理器的運算速度及系統的穩定性,同時由于LPC2103自帶的PLL(鎖相環)電路可以使系統的時鐘頻率倍頻到70 MHz。

從顯示字庫存儲位置的角度出發,市場上現有的LED屏的顯示字庫在微處理器中的存放位置一般分為兩種,一種是把顯示字庫同主函數、子函數一樣直接存在微處理器處的內部ROM或Flash中,缺陷是當需要更新LED屏的顯示字庫時,除了更新顯示字庫外,還需要連同主函數、子函數也要一起更新,而這些操作,需要操作人員具有專業的技能才能做到。另一種是把字庫放在處理器拓展的外部存儲器中,這種方法的缺陷是需要擴展外部存儲器,這樣不僅降低了數據的讀取速度,而且還增加了系統成本。為了解決上述問題,系統把顯示字庫放在LPC2103的內部Flash中,首次采用IAP(In-Application Programming)[3-6]技術只對存放顯示字庫的那部分Flash進行操作,較好的解決了上述問題。

從顯示字庫數據傳輸的角度出發,市場上現有的LED顯示屏當需要更新顯示字庫時一部分是通過有線與上位機連接的[7],有線連接受到距離、場地、布線復雜度高的限制;另一部分則是通過WiFi、藍牙等無線網絡與上位機連接的,WiFi在沒有Internet的場合則無法工作;藍牙則不能自組網,而系統采用ZigBee通信技術來無線傳輸數據,較好地解決了上述問題。

1 系統總體設計

基于LPC2103的LED顯示字庫無線更新系統,主要由計算機、ZigBee通信模塊以及LED顯示屏3部分組成[1]。計算機的USB通過RS-232與協調器的串口相連,LPC2103與終端節點相連,由于一個協調器可以同時和多個終端節點通信,每個要更新顯示內容的LED顯示屏連接一個終端節點,然后把這些終端節點都加入同一個網絡,這樣即可一次更新多個LED顯示屏的顯示內容。系統主體結構如圖1所示。

圖1 系統主體結構

當需要更新LED顯示屏的內容時,首先組建以協調器為中心節點的星型網絡,網絡建立完成后,計算機通過上位機軟件將要更新的數據內容通過串口發送給協調器,協調器收到數據之后,將數據發送給各個終端節點,終端節點然后將數據通過串口傳給LED顯示屏的微處理器LPC2103,LPC2103收到數據之后通過IAP程序將數據寫到自身的Flash中,然后從Flash中讀出這部分數據,替換原有的LED顯示字庫,從而達到只更新LED顯示屏字庫的目的。

在ZigBee網絡中,數據包可以被單播、多播或廣播。一個多播數據包發送給一組設備,這就保證了一次可以更新多個LED顯示屏。由于LPC2103有32 kbyte的片內Flash,可以實現IAP編程,這樣就可以不用擴展外部存儲器,而直接把內部Flash當做EEPROM來時使用,這樣在更新顯示屏內容時不用重新對LPC2103進行程序燒寫,只需要通過串口就可以更新想要更新的內容。

2 實現方案

2.1 IAP軟件設計

LPC2103是一個基于支持實時仿真的16/32位ARM7 TDMI-S CPU的微控制器,內部有8 kbyte的片內靜態RAM和32 kbyte的片內Flash程序存儲器;單個扇區或整片扇區擦出時間為100 ms,256 byte編程時間為1 ms;有多個串口,包括2個UART(16C550協議)。

對Flash的編程操作分為兩種,一種是在系統編程(ISP),另一種是在應用編程(IAP)。所謂在系統編程(ISP)是通過 Boot 裝載程序和UART0 對片內 Flash 存儲器進行擦除/編程的方法[9],如圖2所示。

圖2 ISP 編程示意圖

所謂在應用編程(IAP)是用戶的應用代碼對片內 Flash 存儲器進行擦除/編程的方法,如圖3 所示。

圖3 IAP 編程示意圖

基于LPC2103的LED顯示字庫無線更新系統中,為了對LED屏顯示字庫進行更新,需要一塊單獨存儲字庫數據的存儲區域。LPC2103具有32 kbyte的Flash,存儲在LPC2103 Flash中的正常顯示程序只有十幾kbyte,如果LPC2103擴展外部存儲器(如EEPROM)專門用來存儲LED屏字庫數據,不僅提高了成本,對LPC2103的資源造成浪費,而且降低了數據的讀取速度,因此系統采用IAP技術對LPC2103的Flash進行編程操作,來存儲LED屏字庫數據。LPC2103的Flash分為8個扇區,每個扇區4 kbyte,如表1所示。

表1 LPC2103的Flash扇區

要對內部Flash進行寫操作,首先要知道對哪個扇區的Flash進行操作,可以用LPC2000 Buffer Utility查看hex文件在LPC2103 Flash中的存儲詳情,此外點擊LPC2000 Buffer Utility中的Download Flash按鈕可以讀出處理器中當前的hex文件,用這種方法可以查看IAP對Flash的寫操作是否成功。要用IAP對Flash進行操作,需要按步驟進行操作,如圖4所示。

圖4 片內Flash編程步驟

IAP對Flash進行編程操作時一次至少對一個扇區進行操作[8],所以一次寫入的字節數固定為256、512、1 024 或者 4 096。 IAP程序運行時要關閉所有的中斷,特別注意的是要在啟動代碼Startup.s文件中的InitStack函數內設置系統堆棧模式,程序如下:

MSR CPSR_c, #0xdf

LDR SP,=StackUsr-32

MOV PC, R0

為了提高LPC2103的掃描速度,當LED顯示屏不需要更新顯示內容時,LPC2103只執行當前的顯示程序,而不執行IAP程序,所以在LED顯示屏的控制模塊中增加一個按鍵,當需要無線更新LED顯示屏的顯示內容時,上位機要先發送一個低電平給LPC2103,按下按鍵,當檢測到按鍵按下后LED顯示屏微處理器(LPC2103)的串口開始接收數據,接收完以后,把該數據寫到Flash相關的扇區中,然后從該扇區讀出該數據,相關代碼如下:

if((IOPIN&KEY)==0) //檢測按鍵是否按下

{

DelayNS(3);//延時一會

if((IOPIN&KEY)==0)//按鍵確實按下

{

for(i=0;i<512;i++)

{

uiBuf[i]=jieshou();//從串口接收字符串

}

/*把從串口接收到的數據寫到Flash中*/

WriteFlash(DestAddr, (uint32)uiBuf, 512);

ReadFlash();//從Flash中讀出該數據

}

}

LED顯示屏的微處理器LPC2103從串口接收到的數據最開始存儲在RAM中,此時給LPC2103掉電或者復位以后該數據就會丟失。為了不讓該數據丟失,在沒有擴展外部存儲器(例如EEPROM)的條件下,只能將該數據從RAM寫到內部Flash中,相關代碼如下:

uint8 WriteFlash(uint32 dst, uint32 src, uint32 no)

{

SelSector((dst/0x1000),(dst+no)/0x1000); //選擇扇區

EraseSector((dst/0x1000),(dst+no)/0x1000); //擦除扇區

BlankCHK((dst/0x1000),(dst+no)/0x1000); //查空扇區

elSector((dst/0x1000),(dst+no)/0x1000); //選擇扇區

RamToFlash(dst,src,no); //寫數據到Flash

return(Compare(dst,src,no)); //比較數據

}

由于CPU從Flash(ROM)中讀取數據的速度較慢,為了提高速度,CPU開機以后,先將數據從Flash讀到RAM中,然后從RAM中取指令執行相關命令,LPC2013也是一樣,從串口接收到的數據寫到Flash中以后,為了更新RAM中的數據,還要把該數據從Flash中讀出來,相關代碼如下:

void ReadFlash()

{

uint32 i;

uint8 *p;

p=(uint8 *)DestAddr; //DestAddr為第五扇區的首地址

for(i=0;i<512;i++)

{

/*把讀取的數據從放在shanqu5[]這個數組中*/

shanqu5[i]=*p;

p++;

}

}

系統通過上述方法,利用IAP技術只對顯示字庫進行更新的程序流程圖如圖5所示。

圖5 字庫更新流程圖

2.2 ZigBee模塊的設計

系統將ZigBee中的協調器作為發送設備與上位機通過串口相連,把ZigBee中的終端節點作為接收設備與LPC2103相連。協調器和終端節點的微控制器芯片都采用TI公司的CC2430。CC2430具有2.4 GHz IEEE802.15.4兼容RF收發器,具有優良的接收靈敏度和抗干擾性,而且功耗很低,有多種工作模式[9]。

系統中ZigBee模塊的設計主要分為硬件部分和軟件部分。硬件部分主要由電源電路、復位電路、串口接收電路和無線收發電路組成[10]。由于ZigBee硬件電路相對成熟,這里把設計重點放在軟件部分。硬件選型上采用SIKAI ELECTRONICS公司的ARMSKY-CC2430EB開發板。對單個LED顯示屏操作時,使用2個ARMSKY-CC2430EB開發板,一個配置為協調器(CoodinatorEB)設備,另一個配置為終端設備(EndDeviceEB);對多個LED顯示屏操作時,可采用多塊開發板。

協調器與上位機相連,在系統中主要功能是接收上位機通過串口發來的LED屏字庫數據,然后將該數據通過RF發送給終端節點,協調器從串口讀數據的函數模型如下:

uint16 HalUARTRead(uint8 port, uint8 *buf, uint16 len );

該函數的功能是讀取UART緩沖區的數據。形參port用來指定數據將被讀取的串口、buff是數據緩沖區的指針、len是所請求的數據長度。

終端節點與LED顯示屏的微控制器LPC2103相連,在系統中的主要功能是接收協調器發過來的LED屏字庫數據,然后將該數據通過串口發送給LPC2103,終端節點部分串口發送函數模型如下:

uint16 HalUARTWrite( uint8 port, uint8 *buf, uint16 len );

該函數的功能是寫一個指定長度的緩沖區到一個指定串口。這3個形參和上述講的3個形參功能類似,這里就不再贅述。

3 實驗分析

基于LPC2103的LED顯示字庫無線更新系統硬件組成如圖6所示。

圖6 系統整體硬件(照片)

圖6右半部分與PC機相連的是ZigBee協調器模塊,左半部分有個小天線的是ZigBee終端節點,與終端節點相連的是微處理器模塊,芯片采用的是LPC2103,微處理器與LED顯示屏相連。利用ZigBee通信技術對LED顯示屏的顯示字庫進行IAP更新的具體操作是用上機軟件將LED顯示屏需要更新的顯示字庫通過串口發送給ZigBee協調器模塊,協調器將該數據發送ZigBee終端節點,終端節點通過串口將該數據發送給LED顯示屏的為控制器LPC2103,LPC2103通過查詢方式收到該數據后存儲在RAM中,如果此時給LPC2103掉電或者復位,該數據就會丟失,為了不讓該數據丟失,實驗將該數據寫到LPC2103的第五扇區。然后利用LPC200 Buffer Utility軟件的Download Flash把微處理器中的Flash數據讀回來,看是否把該數據寫到了第五扇區。LPC2103沒有通過IAP更新之前的Flash如圖7所示。

圖7 IAP更新之前的Flash(截圖)

LPC2103的第五扇區是從0x00005000開始的,IAP更新之前第五扇區里面默認數據是0xFF,為了便于觀察,實驗將 0~511 共512個數據寫到LPC2103的第五扇區,第五扇區經過IAP更新以后如圖8所示。

圖8 IAP更新之前的Flash(截圖)

由于LPC2103的Flash數據是以8位的十六進制文件存儲的,8位二進制數的范圍是0~255,所以從0x00005100開始寫入256個數,從0(0x00)開始,255(0xff)結束,而LED顯示屏的顯示數據是由8位的十六進制數構成的所以不會超出范圍。由于0~511可以通過上位機軟件,利用ZigBee技術無線對LPC2103 Flash的第五扇區數據進行IAP更新,同理LED顯示屏的顯示字庫也可以通過上位機軟件,利用ZigBee技術無線對LPC2103 Flash的其他扇區進行操作,然后讀出該數據對LED顯示屏的顯示內容進行更新,這里就不再贅述。

4 結束語

基于LPC2103的LED數據庫數據交互研究,采用了物聯網技術,與市場上常用的WiFi和其他無線或者有線技術相比,具有功耗低,成本低,系統工作頻段靈活等優勢,更重要的是ZigBee協議具有自組網功能,可以對多塊LED顯示屏進行同時更新字庫內容。除此以外,系統采用了IAP技術,每次只更新顯示字庫,大大降低了更新LED顯示字庫的操作難度。經實驗測試及實際應用,對LED顯示屏的操作具有簡單、方便、靈活等諸多優點,效果良好,該方法對操作多個LED顯示屏優勢更為顯著。

[1] 李超,柏連發. 基于ARM的LED顯示控制技術研究[D]. 南京理工大學,2009.

[2] 羅中華. LED信息顯示屏系統的設計[D]. 南昌:南昌大學,2008.

[3] 趙偉,殷廷. 基于ARM7的應用程序在線升級設計[J]. 電子科技,2011,24(1):16-21.

[4] 胡秀麗. 基于ARM7片內Flash的兩種軟件升級方案[J].電腦學習,2010,2(1):120-122.

[5] 梁偉. 基于IAP的ARM7程序在線更新設計[J]. 電子科技,2009,22(11):63-68.

[6] 張艷艷,王慧博.基于LPC2210微處理器的Boodoader的分析與設計[J].白城師范學院學報,2007,21(6):49-51.

[7] 肖晉為,陳希. 基于ZigBee模塊的無線通信技術的LED顯示屏的研究[D]. 天津科技大學, 2010.

[8] 劉憶輝,魏銀庫. 片外Flash存儲器IAP的一種方案[J]. 技術縱橫,2006(2):37-38.

[9] 閆沫. ZigBee協議棧的分析與設計[D].廈門:廈門大學,2007.

[10]呂鑫,王忠. ZigBee無線數據傳輸模塊的設計與實現[J]. 安徽師范大學學報:自然科學版,2010(4):332-335.

LED Display Word Stock Update Wireless Research Based on LPC2103

ZHANG Kaisheng, PENG Peng

(CollegeofElectricalandInformationEngineering,ShannxiUniversityofScienceandTechnology,Xi’an710021,China)

Aim at the problem of LED display word stock update and data transmission, the system adopts the embedded microcontroller processor LPC2103 as the control center of the LED display. By the technology of IAP storage and update font data in its internal Flash, display word stock is transmitted wirelessly by ZigBee technology. When update LED display content, PC wirelessly transfer the data on LED needed to update to ZigBee terminal nodes connected to the LPC2103 via ZigBee coordinator, terminal node send the data via UART to LPC2103, reuse IAP technology to program LPC2103 internal Flash, to achieve the purpose of only storing and updating character data. Experiments show that the built LED character data wireless update system runs well, is feasible.

IAP; LPC2103; LED panel; word stock update; ZigBee data transmission

【本文獻信息】張開生,彭朋.基于LPC2103的LED顯示字庫無線通信系統設計[J].電視技術,2015,39(13).

陜西校地合作項目(2011K-29);陜西省西安未央科技區項目( 2012-03)

TN948

A

10.16280/j.videoe.2015.13.024

責任編輯:閆雯雯

2014-11-26

張開生(1963— ),博士,教授,主要從事嵌入式系統、物聯網技術的應用及開發研究。

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 亚洲成年人网| 99久久精品视香蕉蕉| 精品人妻AV区| 久久国产高清视频| 色综合久久久久8天国| 99在线免费播放| 国产啪在线91| 高清国产在线| 永久免费av网站可以直接看的| 成人亚洲视频| 精品国产毛片| 成人亚洲视频| 最新国产麻豆aⅴ精品无| 乱系列中文字幕在线视频| 男女猛烈无遮挡午夜视频| 成年人免费国产视频| 国产精品自拍合集| 欧美亚洲一区二区三区导航| 热99精品视频| 亚洲区视频在线观看| 一级看片免费视频| 久久性妇女精品免费| 天堂亚洲网| 性视频一区| 最新国产午夜精品视频成人| 日韩人妻少妇一区二区| 中文字幕有乳无码| 99ri国产在线| 亚洲精品自产拍在线观看APP| 国产91av在线| 精品一区国产精品| 婷婷五月在线| 国产精品区视频中文字幕 | 国产成人精品免费视频大全五级| 欧美日韩久久综合| 青青青国产精品国产精品美女| 99热国产在线精品99| 香蕉久久国产超碰青草| 国产噜噜在线视频观看| 亚洲一级色| 亚瑟天堂久久一区二区影院| www.日韩三级| 91久久青青草原精品国产| 黑人巨大精品欧美一区二区区| 国产91全国探花系列在线播放| 国产精品所毛片视频| 久夜色精品国产噜噜| 国内精品久久久久久久久久影视| 狠狠色成人综合首页| 中文字幕在线观看日本| 国产国产人成免费视频77777 | 浮力影院国产第一页| 国产小视频a在线观看| aa级毛片毛片免费观看久| 久久综合色天堂av| 国产自无码视频在线观看| 囯产av无码片毛片一级| 久久一色本道亚洲| 五月天丁香婷婷综合久久| 国产在线无码av完整版在线观看| 久青草免费在线视频| 婷婷99视频精品全部在线观看| 日本欧美视频在线观看| 色综合热无码热国产| 国产导航在线| 成年人免费国产视频| 欧美不卡二区| 日韩无码视频播放| 日韩欧美中文| 国产精品视频系列专区| 欧美国产在线看| 国产va在线观看免费| 99成人在线观看| 亚洲精品视频免费观看| 欧美爱爱网| 国产成人a在线观看视频| 亚洲第一区在线| 久久精品aⅴ无码中文字幕| 国产精品极品美女自在线网站| 狠狠v日韩v欧美v| 麻豆a级片| 毛片免费在线视频|