您的位置:控制工程论坛网论坛 » 嵌入式系统 » 一种嵌入式系统升级的设计和实现

yu12

yu12   |   当前状态:在线

总积分:651  2024年可用积分:0

注册时间: 2011-07-01

最后登录时间: 2012-01-08

空间 发短消息加为好友

一种嵌入式系统升级的设计和实现

yu12  发表于 2011/7/14 14:09:49      1301 查看 0 回复  [上一主题]  [下一主题]

手机阅读

 1、引言

  随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。嵌入式技术全面展开,目前已成为通信和消费类产品的共同发展方向。在通信领域,数字技术正在全面取代模拟技术。在广播电视领域,美国已开始由模拟电视向数字电视转变,欧洲的DVB(数字电视广播)技术已在全球大多数国家推广。数字音频广播(DAB)也已进入商品化试播阶段。而软件、集成电路和新型元器件在产业发展中的作用日益重要。所有上述产品中,都离不开嵌入式系统技术。象前途无可计量的维纳斯计划生产机顶盒,核心技术就是采用32位以上芯片级的嵌入式技术。在个人领域中,嵌入式产品将主要是个人商用,作为个人移动的数据处理和通讯软件。本文提出了利用LPC2148SD卡实现嵌入式系统升级的设计方案。

  2、总体系统升级方案设计

  厂家生产出产品后,用户购买回去使用,当设备出现了系统漏洞或者用户不满足现有功能而提出更多需求时,就要对系统升级或者维护系统功能。厂家只需将SD卡取回,把更新后的程序放入SD卡中,然后发放给用户,用户只需把SD卡插入终端设备。即可达到系统升级的目的。图1给出厂商与用户之间的交流流程图。图2给出整个系统设计流程图。

厂商与用户之间的交流流程图

整个系统设计流程图

  按图1所示,厂商与用户交流过程如下:

  (1)厂商将一个类似Boot loader的程序通过ISP方式,将其下载到Flash中,如图2所示的位置。

  (2)将升级程序放入SD卡中,随产品一起出厂。

  (3)用户拿到SD卡后,将其插入SD卡槽,终端设备开始工作。

  (4)用户使用一段时间后,若出现问题或者需要升级、维护时.只需将SD卡返回厂家即可。

  (5)厂家将升级后的程序放入返回的SD卡中,再返回给用户.或者厂家直接再发放SD卡给用户,而无需用户返回SD卡。

  (6)用户拿到SD卡后,将其直接插入终端设备卡后,则可达到升级的目的。

  出厂前,通过ISP编程方式烧入一个类似于Boot loader的程序。该程序的实现大致分为3个步骤:

  (1)SPI模式下的SD卡底层驱动;

  (2)读出SD卡中的系统程序,并放入指定的Flash地址段中:

  (3)跳转到指定的Flash地址段,执行升级后的系统。

  在用户插入SD卡前,程序不断判断SD卡是否插入。用户插入SD卡后,程序首先驱动SD卡,使其能正常工作,然后读取SD卡中的升级程序,并将其放入指定的Flash地址段中。最后,跳转到指定段,开始工作。厂家可根据需要,任意安排升级程序放置的位置。

  3、系统硬件设计

  核心处理器采用PHILIPS公司的LPC2148。它是一个支持实时仿真和嵌入式跟踪的32位ARM7微控制器。带有32KB和512 KB嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速结构,使32位代码能够在最大时钟速率下运行,并带有SPI总线。选用该处理器主要考虑其内部资源丰富,无需扩展存储器和SPI总线,且性能优异,抗干扰能力强,价格低廉,具有极高的性价比。

  该设计只是产品电路中的一部分。其硬件电路如图3所示。LPC2148具有同步、全双工串行接口(SPI),其最大数据位频率为输入时钟频率的1/8,可以设置为主机或从机工作方式。SD卡是通过SPI总线协议驱动的,数据传输中。主机总是向从机发送一个字节数据,而从机也总是向主机发送一个字节数据。图3中左边为LPC2148,右边为SD卡插槽。SCKl为串行时钟,用于LPC2148与SD卡之间的数据传输时钟信号:MISOl是一个单向信号,用于将数据从SD卡传输至LPC2148;MOSll也是一个单向信号。用于将数据从LPC2148传输至SD卡;SSEL1为选通信号,用于选中SD卡。图3中的引脚3和引脚6分别接地,引脚4接电源,引脚8用于检测SD卡是否插入,并可根据实际要求选定。SD卡与LPC2148之间通过SPI协议和SD文件系统的组织形式.才能协调通讯。

硬件电路

1楼 0 0 回复