微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 一种支持ISP的Flash在嵌入式设计中的应用

一种支持ISP的Flash在嵌入式设计中的应用

时间:08-19 来源:作者:西南林学院计算机科学系 张晴晖 李俊萩 文菠 荣剑 点击:
1 引言

在基于VxWorks的嵌入式系统开发过程中,板卡支持包BSP(Board Support Package)的开发是非常重要而又闲难的一个环节。因为不能确定硬件系统是否正常丁作,而后续应用开发都是以此为基础。

在实际开发中,为了提高开发效率,大多是采用以一个与目标板硬件相似的BSP为模板,并在此基础上修改移植。在这个过程中.除了CPU以外,另一个重要的器件就是装有启动程序的Flash器件。

2 系统介绍

采用高性能PowerPC系列器件PPC440EPx为核心设计的一款符合CPCI标准的嵌入式单板计算机系统。

该系统集成了丰富的外设接口和调试接口,可用于设备控制、设备管理、通信设备中的通信控制、协议处理、路由处理和网关处理等。其主要是面向航空设备和军用车载设备的应用。

在调试阶段,系统的启动是通过执行Boot Flash中存储的bootrom映像文件完成的。Boot Flash器件采用ST公司的PSD835,通过EBC总线与PPC440EPx相连。EBC总线是PPC440EPx的并行总线。其可以与8位,16位或32位的外部设备通信,最多可支持6个不同时序要求的设备。其中,片选0分配给Boot Flash。上电时,PowerPC会自动访问BootFlash,进行系统初始化。操作系统是VxWorks,其映像文件放在NAND Flash中。

3 软件开发流程

软件系统的开发流程是:首先设计bootrom映像文件,并将其烧写到Flash器件中(该器件称为Boot ROM)。上电后,bootrom程序进行相应初始化后与Host主机通信,将操作系统映像文件下载到嵌入式系统平台的RAM中运行。如果程序不正确或需更新,则重新通过bootrom程序将新的映像文件下载到RAM中。

当所有程序都调试成功,整个系统作为产品发布。此时,则需将操作系统和应用程序映像文件烧写到在大容量的flash器件中(如NAND Flash),系统自动将从Flash中复制到RAM中执行。

4 bootrom设计方案的选择

bootrom应是一个短小精悍的程序,可初始化系统工作和通信接口(通常是串行接口和以太网接口);系统作为产品发布无需bootrom程序;调试 bootrom时,需频繁地将修改后的映像文件烧写到Boot ROM中。实现该Boot ROM电路有多种方案,如表1所示.

方案1是传统设计方案,成本低,可选择的Flash器件多。但在调试bootrom时,更新程序非常不方便。需要焊装Flash器件,很容易导致器件和 PCB板的物理损坏,而且效率非常低;而方案2从逻辑电路上来看,与方案1是一样的。但其由于其使用夹具,器件装卸简单,程序更新比方案1方便。但夹具成本较高,可靠性差,并且一般夹具体积较大,这就增加了PCB的布局、布线难度。上述两种方案,Flash的编程都需从PCB上取下,用编程器烧写。显然,这样的工作效率较低。方案3则采用支持ISP功能的Flash器件来实现Boot ROM,这就使得程序更新变得非常方便,极大提高工作效率。因此,根据嵌入式开发实际情况,为节约成本、提高工作效率,该系统设计选择方案3。考虑到 bootrom映像文件一般较小,选用ST公司的512 KB的Flash器件PSD835。

5 PSD835在嵌入式系统中的应用

5.1 硬件电路设计

该系统使用PSD835的主Flash作为Boot ROM。同时,还使用该器件的PLD资源实现一些控制和初始化配置功能。如图1所示,PSD835的存储器通过其CPU接口与PPC440EPx的外部总线接口(EBC)相连。

连接电路比较简单,只需将EBC的片选信号、读信号、地址和数据信号分别与PSD835的对应引脚相连即可。其他引脚被该器件的PLD使用,主要完成串口工作模式、PPC440EPx启动方式、片选信号的设置,以及网络控制信号的产生等功能。

在设计实际硬件电路时,应注意以下几点:

(1)因为最终产品要通过NAND Flash启动,因此片选0可通过拨码开关或CPLD分别在PSD835和NAND flash的片选信号之间切换。PPC440EPx有8个bootstrap选项(设置CPU的时钟、启动、寄存器的初始值等),可以使用CPLD进行改变;

(2)PPC440EPx的EBC总线无复用地址和数据信号。因此,数据总线与F端口相连。低16位的地址总线与PSD835的ADIO15~AD100相连,高位地址与A端口相连;

(3)PPC440EPx的EBC的数据总线的最高位是Data0,地址总线的最高位是Addr2。连接时,注意不要将顺序接反;

(4)为了提高编程速度,添加了2个JTAG信号:TERR和TSTAT。

5.2 PSD835的功能和编程设计

PSD835的Flash编程和PLD逻辑功能的实现,需要使用FlashLINK下载线(硬件)和PSDsoft EXPRESS(软件)。FlashLINK其实就是一个JTAG和并口的转换器;PSDsoftEXPRESS是PSD系列器件的设计软件。利用该工具软件定义器件的引脚功能、映射存储器、配置PLD等。所有的定义和配置与程序固件一起生成obj文件。该文件通过FlashLINK下载到PSD器件中。另外,利用该工具软件还可以完成擦除、校验、上载、空白检查等功能。而整个设计过程也非常简单,只需根据其设计流程简单点击鼠标即可完成PSD设计。图2 为PSD设计流程。

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

网站地图

Top