微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 一种便携式电视机软件的升级系统设计

一种便携式电视机软件的升级系统设计

时间:02-24 来源:电子工程世界 点击:

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的状态,等待中断。

  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接口将存储的升级程序数据传送给电视机,实现电视机的软件升级。

发布者:吕勇

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top