历史上的今天
返回首页

历史上的今天

今天是:2025年02月17日(星期一)

正在发生

2018年02月17日 | 一种便携式电视机软件升级系统的设计

2018-02-17 来源:eefocus

    前 言

    随着电视机数字化程度的提高和功能的增强,电视机软件升级越来越重要,各种各样的电视机故障需要软件升级来解决。而目前电视机软件升级的方法主要通过专门的软件烧录仪将软件烧录入存储器,然后将存储器焊接到电视机主板上;或者将电脑与电视机相连,通过电脑将升级程序写入电视机存储器。这两种电视机软件升级的方法存在操作复杂、时间长、成本高,且需要专业性知识等缺陷。

 

    系统原理

    便携式电视机软件升级系统原理如图1。电视机软件升级系统是以单片机W79E632为基础的可以独立运行的系统。首先升级系统作为从机接收电脑系统发送过来的升级程序数据并进行存储,然后升级系统作为主机将存储的升级程序数据发送给电视机系统,电视机系统将升级程序数据存储、运行,从而实现软件升级。

副本.jpg?imageView2/2/w/550

    目前电视机的升级接口一般是UART串行接口和I2C接口,该软件升级系统可以选用两种接口来升级。电脑系统若没有这两个接口,需要通过接口转换装置来与升级系统相连。

    系统硬件实现

    便携式电视机软件升级系统硬件框图如图2所示。系统主要包括单片机W79E632、FLASH存储器、UART串口接口电路、I2C接口电路、中断电路以及状态指示灯等。

副本.jpg?imageView2/2/w/550

    WINBOND公司单片机W79E632具有128k ISP(In-System Program)FLASH ROM、4k的LD(Loader program)FLASH ROM、软件指令完全与51单片机兼容、执行效率高和速度快等优点。

    W79E632有UART串行接口,没有I2C接口及SPI接口,采用I/O口P8、P9模拟I2C接口,I/O口P4~P7模拟SPI接口。FLASH存储采用NOR FLASH,3.3V供电。由于FLASH是3.3V供电,W79E632 I/O口电平为5V,为保证数据的可靠性,系统有一个5V/3.3V SPI总线转换电路。

    系统自身的引导程序、初始化程序以及UART接口数据读写程序、I2C接口数据读写程序、SPI接口数据读写程序等都放在内部ROM中,FLASH存储器专门存储电视机升级程序数据。开关SW2、SW3产生低脉冲来触发外部中断INT0、INT1,以控制I2C接口数据的接收和发送;串行接口中断控制UART接口数据的接收,而SW1产生低脉冲通过I/O口P3控制UART接口数据的发送。升级系统通过W79E632内部定时器以及I/O口P2、P1控制红/绿指示灯来表达当前状态,例如红绿灯都亮,升级系统运行正常,准备读写;红灯亮,绿灯闪动,升级系统正在写或读FLASH存储器。

    系统软件实现

    升级系统的软件实现包括两部分:作为从机接收并存储电脑系统发送的电视机升级程序数据和作为主机向电视机系统发送存储的电视机升级程序数据。

    系统主频设计为22.1184MHz,UART接口采用8位移位寄存器模式,波特率是系统主频率的1/12,每接收完或发送完一个数据字节将产生中断;I2C接口最高传输速率为100kb/s,SPI接口最高传输速率为2.2Mb/s。

    系统自检、初始化等程序以1000H为起始地址。上电后直接跳到1000H处,进行初始化设置,建立好堆栈,设置好UART接口、I2C接口以及SPI接口相关参数;红绿指示灯都亮,允许中断。此后系统正常运行,等待中断并监视I/O口P3的状态,以决定系统是作为主机还是从机进行下一步运作。

    作为从机接收并存储升级程序数据

    升级系统作为从机接收并存储电脑系统发送的电视机升级程序数据,流程如图3所示。

副本.jpg?imageView2/2/w/550

    1.系统正常运行,开串口中断、外部中断及定时器中断,等待中断。

    2.从I2C接口接收升级程序数据时,按一下开关SW2,产生外部中断INT0。屏蔽除定时器中断外所有的中断,将与当前状态相关的寄存器及程序指针数据暂时存入堆栈。同时设置定时器相关参数,使W79E632能够向I/O口P1发送周期为500ms的脉冲信号以控制绿灯闪动,表示正在接收数据。串口中断由W79E632自动产生。如果产生串口中断,则屏蔽除串口中断、定时器中断外所有的中断,其它设置与INT0中断相同。

    3.产生INT0中断时,则启动I2C接口读程序I2C_Read将I/O口缓冲寄存器中的数据写入W79E632内部RAM;如果产生串行中断,则启动串行接口读程序UART_Read,将串行接口寄存器中的数据写入W79E632内部RAM内,并清除串口接收中断标志RI,以使下一个数据能准确接收。

    4.电脑系统以256字节作为一个数据块进行发送,每发送完256字节后发送一个累加校验和进行校验。W79E632校验数据有效后,启动FLASH写程序SPI_Write,将RAM中的256字节数据写入FLASH;写完后向电脑系统发送响应信号“RIGHT”,电脑系统继续发送数据。W79E632判断下一个字符是否是“结束”字符(即每一个数据块的第一个字符),不是“结束”字符则继续接收数据;如果是“结束”字符则启动SPI_Write程序将“结束”字符直接写入FLASH,然后结束。W79E632校验后数据无效,则立即向电脑系统发送响应信号“ERROR”,然后结束。

    5.结束时,W79E632清除内部RAM、I/O口缓冲寄存器和串行接口寄存器中的数据,将定时器、UART接口或I2C接口恢复为初始状态,读出堆栈中保存的数据并写入相应的寄存器以恢复中断前状态;绿灯继续闪动2s后开中断,系统恢复正常运行状态。

    作为主机发送升级程序数据

    升级系统作为主机的流程如图4所示。

    1.系统正常运行,开串口中断、外部中断及定时器中断,查询I/O口P3的状态,等待中断。

副本.jpg?imageView2/2/w/550

    2.从I2C接口发送存储的升级程序数据时,按一下开关SW3产生外部中断INT1。此时设置与产生INT0时相同。如果查询到P3口有脉冲则屏蔽除串口中断、定时器中断外的所有中断,其他设置与产生INT1中断相同。


    3.W79E632启动FLASH读程序SPI_Read,读取FLASH中存储的升级程序数据,每次连续读完256字节存入W79E632的RAM中。W79E632每次存储数据块的第一个字符存储前,判断是否是“结束”字符。

    4.W79E632读到“结束”字符,表示数据发送完毕,进入结束处理,反之则将通过串口或I2C接口发送数据。如果通过串口发送数据,则启动UART_Write将RAM中的数据写入串行接口寄存器进行发送;如果是I2C接口发送数据,则启动I2C_Write将RAM中的数据写入I/O口缓冲器寄存器进行发送。每发送完256字节的数据,W79E632继续发送一个累加校验和并等待电视机的响应信号。收到电视机返回的“RIGHT”信号则继续发送数据,如果收到返回的“ERROR”信号则结束。

    5.结束时,W79E632清除内部RAM、I/O缓冲寄存器和串行接口寄存器中的数据,将定时器、UART或I2C接口恢复为初始状态,读出堆栈中保存的数据并写入相应的寄存器以恢复中断前状态;绿灯继续闪动2s后开中断,系统恢复正常运行状态。

    结语

    本文提出以单片机W79E632为基础平台的一种便携式电视机软件升级系统的设计,系统能够用UART接口或I2C接口接收并存储电视机升级程序数据,同时能够通过UART接口或I2C接口将存储的升级程序数据传送给电视机,实现电视机的软件升级。

    参考文献:

    [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的地面数字电视机顶盒的软件升级[J].中国有线电视,2008(8):809-813

    [4] 刘青峰.机顶盒软件升级机制与注意问题[J].中国有线电视,2005(12):1134-1135

    [5] 郭静华,欧阳斌林.SPI总线从机接口实时模拟的实现[J].东北农业大学学报,2007, 38(5): 669-671

    [6] 吕刚,李强.AVR单片机软件模拟UART通信接口[J].单片机与嵌入式系统应用,2003(1): 73-74


推荐阅读

史海拾趣

超霸(GP)公司的发展小趣事

绿索超容深知技术创新是企业发展的核心动力。因此,公司积极与东南大学、南京大学等高校开展合作,引入具有自主知识产权的独特技术和工艺,成功开发出GS系列有机双电层超级电容及模组。这些产品不仅在性能上达到了国际领先水平,还获得了多项技术专利。技术上的突破,不仅提升了绿索超容的市场竞争力,也为其赢得了业界的广泛认可。

Carling Technologies公司的发展小趣事

随着技术的不断进步和市场需求的多样化,Carling Technologies开始扩展其产品线,涵盖了液压磁热断路器、电子控制以及配电装置等多个领域。同时,公司也积极开拓全球市场,通过设立海外办事处和与当地企业合作,将产品销往世界各地。这一阶段的发展使得Carling Technologies成为了全球电气和电子开关领域的领先制造商之一。

德尔创(Dersonic)公司的发展小趣事

在品质和品牌建设的基础上,德尔创开始积极拓展市场。公司首先在国内市场进行了深入布局,通过优化销售网络和提供优质的售后服务,逐渐赢得了客户的信任和支持。同时,德尔创也积极寻求国际合作机会,与多家国际知名企业建立了长期稳定的合作关系。这些合作不仅为公司带来了更多的订单和市场份额,还促进了德尔创在技术和管理方面的进一步提升。

CommScope Inc公司的发展小趣事

尽管康普在通信行业取得了显著的成就,但它也面临着诸多挑战。其中最大的挑战之一来自网络安全和数据保护。近年来,随着网络安全事件的频发,康普也遭受了数据泄露等网络安全事件的冲击。然而,康普积极应对挑战,加强了网络安全和数据保护的投入,提升了公司的网络安全防护能力。同时,康普也积极寻找新的增长点,拓展5G、物联网等新兴市场及成长型市场的渠道,为公司的未来发展奠定了坚实的基础。

以上五个故事仅是CommScope Inc公司电子行业发展的部分缩影,实际上,公司的发展历程远比这些故事更为丰富和复杂。但通过这些故事,我们可以看到CommScope Inc公司在技术创新、市场开拓、产品升级以及应对挑战等方面所做出的努力和取得的成就。

CEVA, Inc公司的发展小趣事

面对不断变化的市场环境和技术挑战,CEVA公司积极应对,抓住机遇。例如,在执行编码标准并降低许可证风险方面,CEVA的DevOps/实时开发团队面临着在更高效地执行编码标准的同时降低许可证相关风险的挑战。公司通过优化开发流程、提升自动化水平等方式,成功应对了这一挑战。同时,CEVA也通过增加站点布局、拓建电商能力、提升产品竞争力等手段,抓住市场机遇,迎接未来。

Diodes公司的发展小趣事

Diodes公司自成立以来,一直致力于技术创新,以满足不同行业对高性能、高可靠性半导体解决方案的需求。在二极管、三极管、MOSFET等离散器件领域,Diodes不断投入研发资源,推出了一系列具有创新性的产品。例如,其SiC二极管和MOSFET产品,凭借其耐高温、耐高压等特性,在新能源汽车、智能电网等领域得到了广泛应用。这些技术创新不仅提升了Diodes的市场竞争力,也为公司带来了可观的收益。

问答坊 | AI 解惑

TI芯片选型指南

相信很多工程师都在用TI的产品 本人在此分享一下官网公布的选型指南 希望对面临选型困惑的工程师有帮助 http://focus.ti.com.cn/cn/analog/docs/selectionguides.tsp…

查看全部问答>

【藏书阁】数字信号处理课件

第00章 数字信号处理 绪论 27页 0.5M PDF格式.pdf 第01章 离散时间信号与离散时间系统基础 71页 1.7M PDF格式 .pdf 第02章 Z变换及离散系统分析 43页 1.1M PDF格式.pdf 第03章 离散傅立叶变换 65页 1.4M PDF格式.pdf 第04章 附:关于图象压缩 4 ...…

查看全部问答>

如何在WM5.0上安装sqlite?

如题:如何在WM5.0上安装sqlite?    wce上又该怎么装?…

查看全部问答>

printk奇怪问题,请高手指点!

小弟我在调试网卡驱动的时候写了下面语句:             static   long   long   count   =   0;           stati ...…

查看全部问答>

电路板打样超级便宜

最近发现一个做电路板便宜的地方  www.sz-jlc.com/o   5*5cm以内50元 10*10以内100元 到现在为止最便宜的了 分享一下哈哈…

查看全部问答>

ST10技术资料

有关ST10的技术资料介绍,请参考:http://mcu.st.com/mcu/inchtml.php?fdir=pages&fnam=st10http://mcu.st.com/mcu/modules.php?name=mcu&file=familiesdocs&FAM=17ST10的中文手册书籍(类似ST7一样)不久也会面世了!!…

查看全部问答>

CC3000 wifi模块有木有

soso姐,帮我问一下TI办事处,CC3000什么时候搞一个活动哈,我看了TI 官网的宣传片了,我想要学习一下wifi的实时性能,我看他的DEMO 的是实时性还可以呀…

查看全部问答>

纽扣电池请教

关于纽扣电池,使用万用表测试其两端电阻,发现只有几欧姆的样子,这个是正常的吗?此外,想请教一下,如果我将纽扣电池串接在5V的电压源上放电,当串联电压降低后可以认为其电流都出自纽扣电池内吗?…

查看全部问答>