引言
隨著電視機(jī)數(shù)字化程度的提高和功能的增強(qiáng),電視機(jī)軟件升級(jí)越來(lái)越重要,各種各樣的電視機(jī)故障需要軟件升級(jí)來(lái)解決。而目前電視機(jī)軟件升級(jí)的方法主要通過(guò)專(zhuān)門(mén)的軟件燒錄儀將軟件燒錄入存儲(chǔ)器,然后將存儲(chǔ)器焊接到電視機(jī)主板上;或者將電腦與電視機(jī)相連,通過(guò)電腦將升級(jí)程序?qū)懭腚娨暀C(jī)存儲(chǔ)器。這兩種電視機(jī)軟件升級(jí)的方法存在操作復(fù)雜、時(shí)間長(zhǎng)、成本高,且需要專(zhuān)業(yè)性知識(shí)等缺陷。
系統(tǒng)原理
便攜式電視機(jī)軟件升級(jí)系統(tǒng)原理如圖1。電視機(jī)軟件升級(jí)系統(tǒng)是以單片機(jī)W79E632為基礎(chǔ)的可以獨(dú)立運(yùn)行的系統(tǒng)。首先升級(jí)系統(tǒng)作為從機(jī)接收電腦系統(tǒng)發(fā)送過(guò)來(lái)的升級(jí)程序數(shù)據(jù)并進(jìn)行存儲(chǔ),然后升級(jí)系統(tǒng)作為主機(jī)將存儲(chǔ)的升級(jí)程序數(shù)據(jù)發(fā)送給電視機(jī)系統(tǒng),電視機(jī)系統(tǒng)將升級(jí)程序數(shù)據(jù)存儲(chǔ)、運(yùn)行,從而實(shí)現(xiàn)軟件升級(jí)。
目前電視機(jī)的升級(jí)接口一般是UART串行接口和I2C接口,該軟件升級(jí)系統(tǒng)可以選用兩種接口來(lái)升級(jí)。電腦系統(tǒng)若沒(méi)有這兩個(gè)接口,需要通過(guò)接口轉(zhuǎn)換裝置來(lái)與升級(jí)系統(tǒng)相連。
系統(tǒng)硬件實(shí)現(xiàn)
便攜式電視機(jī)軟件升級(jí)系統(tǒng)硬件框圖如圖2所示。系統(tǒng)主要包括單片機(jī)W79E632、FLASH存儲(chǔ)器、UART串口接口電路、I2C接口電路、中斷電路以及狀態(tài)指示燈等。
WINBOND公司單片機(jī)W79E632具有128k ISP(In-System Program)FLASH ROM、4k的LD(Loader program)FLASH ROM、軟件指令完全與51單片機(jī)兼容、執(zhí)行效率高和速度快等優(yōu)點(diǎn)。
W79E632有UART串行接口,沒(méi)有I2C接口及SPI接口,采用I/O口P8、P9模擬I2C接口,I/O口P4~P7模擬SPI接口。FLASH存儲(chǔ)采用NOR FLASH,3.3V供電。由于FLASH是3.3V供電,W79E632 I/O口電平為5V,為保證數(shù)據(jù)的可靠性,系統(tǒng)有一個(gè)5V/3.3V SPI總線轉(zhuǎn)換電路。
系統(tǒng)自身的引導(dǎo)程序、初始化程序以及UART接口數(shù)據(jù)讀寫(xiě)程序、I2C接口數(shù)據(jù)讀寫(xiě)程序、SPI接口數(shù)據(jù)讀寫(xiě)程序等都放在內(nèi)部ROM中,F(xiàn)LASH存儲(chǔ)器專(zhuān)門(mén)存儲(chǔ)電視機(jī)升級(jí)程序數(shù)據(jù)。開(kāi)關(guān)SW2、SW3產(chǎn)生低脈沖來(lái)觸發(fā)外部中斷INT0、INT1,以控制I2C接口數(shù)據(jù)的接收和發(fā)送;串行接口中斷控制UART接口數(shù)據(jù)的接收,而SW1產(chǎn)生低脈沖通過(guò)I/O口P3控制UART接口數(shù)據(jù)的發(fā)送。升級(jí)系統(tǒng)通過(guò)W79E632內(nèi)部定時(shí)器以及I/O口P2、P1控制紅/綠指示燈來(lái)表達(dá)當(dāng)前狀態(tài),例如紅綠燈都亮,升級(jí)系統(tǒng)運(yùn)行正常,準(zhǔn)備讀寫(xiě);紅燈亮,綠燈閃動(dòng),升級(jí)系統(tǒng)正在寫(xiě)或讀FLASH存儲(chǔ)器。
系統(tǒng)軟件實(shí)現(xiàn)
升級(jí)系統(tǒng)的軟件實(shí)現(xiàn)包括兩部分:作為從機(jī)接收并存儲(chǔ)電腦系統(tǒng)發(fā)送的電視機(jī)升級(jí)程序數(shù)據(jù)和作為主機(jī)向電視機(jī)系統(tǒng)發(fā)送存儲(chǔ)的電視機(jī)升級(jí)程序數(shù)據(jù)。
系統(tǒng)主頻設(shè)計(jì)為22.1184MHz,UART接口采用8位移位寄存器模式,波特率是系統(tǒng)主頻率的1/12,每接收完或發(fā)送完一個(gè)數(shù)據(jù)字節(jié)將產(chǎn)生中斷;I2C接口最高傳輸速率為100kb/s,SPI接口最高傳輸速率為2.2Mb/s。