一種便攜式電視機軟件的升級系統(tǒng)設(shè)計
3.W79E632啟動FLASH讀程序SPI_Read,讀取FLASH中存儲的升級程序數(shù)據(jù),每次連續(xù)讀完256字節(jié)存入W79E632的RAM中。W79E632每次存儲數(shù)據(jù)塊的第一個字符存儲前,判斷是否是“結(jié)束”字符。
4.W79E632讀到“結(jié)束”字符,表示數(shù)據(jù)發(fā)送完畢,進入結(jié)束處理,反之則將通過串口或I2C接口發(fā)送數(shù)據(jù)。如果通過串口發(fā)送數(shù)據(jù),則啟動UART_Write將RAM中的數(shù)據(jù)寫入串行接口寄存器進行發(fā)送;如果是I2C接口發(fā)送數(shù)據(jù),則啟動I2C_Write將RAM中的數(shù)據(jù)寫入I/O口緩沖器寄存器進行發(fā)送。每發(fā)送完256字節(jié)的數(shù)據(jù),W79E632繼續(xù)發(fā)送一個累加校驗和并等待電視機的響應(yīng)信號。收到電視機返回的“RIGHT”信號則繼續(xù)發(fā)送數(shù)據(jù),如果收到返回的“ERROR”信號則結(jié)束。
5.結(jié)束時,W79E632清除內(nèi)部RAM、I/O緩沖寄存器和串行接口寄存器中的數(shù)據(jù),將定時器、UART或I2C接口恢復為初始狀態(tài),讀出堆棧中保存的數(shù)據(jù)并寫入相應(yīng)的寄存器以恢復中斷前狀態(tài);綠燈繼續(xù)閃動2s后開中斷,系統(tǒng)恢復正常運行狀態(tài)。
結(jié)語
本文提出以單片機W79E632為基礎(chǔ)平臺的一種便攜式電視機軟件升級系統(tǒng)的設(shè)計,系統(tǒng)能夠用UART接口或I2C接口接收并存儲電視機升級程序數(shù)據(jù),同時能夠通過UART接口或I2C接口將存儲的升級程序數(shù)據(jù)傳送給電視機,實現(xiàn)電視機的軟件升級。
參考文獻:
[1] Preliminary W79E632 Data Sheet, Revision A1[D].Winbond Electronics Corp, 2004
[2] I2S bus specification[D]. Philips Semiconductors, 1986
[3] 莊子明,CHENG E.基于DMB-TH的地面數(shù)字電視機頂盒的軟件升級[J].中國有線電視,2008(8):809-813
[4] 劉青峰.機頂盒軟件升級機制與注意問題[J].中國有線電視,2005(12):1134-1135
[5] 郭靜華,歐陽斌林.SPI總線從機接口實時模擬的實現(xiàn)[J].東北農(nóng)業(yè)大學學報,2007, 38(5): 669-671
[6] 呂剛,李強.AVR單片機軟件模擬UART通信接口[J].單片機與嵌入式系統(tǒng)應(yīng)用,2003(1): 73-74
評論