您当前的位置:五五电子网电子知识单片机-工控设备综合-其它DSP在电测量系统中SPI闪速引导的实现 正文
DSP在电测量系统中SPI闪速引导的实现

DSP在电测量系统中SPI闪速引导的实现

点击数:7652 次   录入时间:03-04 12:01:58   整理:http://www.55dianzi.com   综合-其它

1.引言

DSP为中心的应用系统,要实现系统的用户软件程序脱离仿真环境独立运行工作,就需要在片外扩展非易失性存储器FLASH、EPROM或者用上位机向DSP下载程序。在系统上电复位后,用DSP的引导加载器把应用程序从外部存储器FLASH、EPROM或上位机中引导到DSP芯片内部双访问存储(DARAM)单元或单访问存储(SARAM)单元或外部扩展RAM中。目前应用最为广泛的闪存,具有存取速度快、电可擦除、容量大、在线可编程、价格便宜等优点,已成为新一代DSP系统中不可缺的重要组成部分。

在本测量系统中,利用Atmel公司闪存AT25F1024作为TMS320VC5509A的外部闪存。上电复位时,通过TMS320VC5509A的McBSP0口把AT25F1024闪存中的程序代码或数据加载到外扩展的RAM中。当程序用开发机调试好后,首先遇到的问题是如何将调试好的程序代码写入SPI 闪速存储器并且满足TMS320VC5509A引导加载表的格式;然后才可以利用TMS320VC5509A引导加载器将程序代码引导到外部扩展存储器中。

闪存按其接口可分为并行与串行。并行通过TMS320VC5509A芯片的地址与数据线与闪存接口。数据可以8位或16位。串行闪存通过I2C或SPI接口与闪存接口。本文以Atmel公司AT25F1024串行SPI闪存芯片,通过McBSP0(配置为SPI)与TMS320VC5509A接口,作为电测量系统的上位机引导存储器,详细给出DSP系统串行SPI引导的软硬件解决方案与实现方法。

2. TMS320VC5509A与AT25F1024的接口电路

TMS320VC5509A是TI公司推出的定点数字信号处理器C5000系列中的一种,TMS320VC5509A通过增加乘累加MAC单元,增强了DSP的运算能力,而且性能更好,功耗更低,是目前TMS320家族中最省电的芯片。这些特性使之更适合在数据速率高、运算量大,又要求功耗低的便携式电测量中应用。AT25F1024是Atmel公司生产的一款应用广泛的高性能256K×16位串行SPI闪存。TMS320VC5509A与AT25F1024的硬件电路连接如图1所示,在SPI模式中闪存始终作为从器件与DSP的McBSP0串口相连,其串行移位时钟是输入,由DSP串口提供。

 

 

图1. TMS320VC5509A与AT25F1024硬件电路连接图

3.串行Flash芯片在线系统编程方法

将用户程序代码装入Flash的方法有三种,一种方法是要求制造商出厂前掩膜,但无法满足开发阶段对程序进行修改或小批量产品生产的要求;另一种方法是用编程器直接烧写,但Flash芯片正向着小型化、贴片式方向发展,从而使表贴SOIC封装的Flash芯片难以用编程器烧写;第三种方法是在线系统编程ISP(In System Program),这种方法灵活方便,无需其它编程设备和外加电源,因而得到广泛应用。

对串行Flash芯片的在线系统编程需要考虑两方面的问题,一是Flash芯片的编程烧写方法和规则,二是DSP芯片Bootloader引导程序所要求的引导表格式。

4.串行Flash芯片的编程烧写

以AT25F1024为例,对其进行操作的部分指令如表1所示。

对其进行烧写操作,要执行两条独立的命令。首先,通过WREN指令使Flash写使能,然后执行PROGRAM(编程)指令。编程烧写的时序如图2所示,由图2可以看出,在对Flash编程的过程中,首先是CS片选信号有效(低电平),然后编程指令(0x0000 x010)、地址和待烧写的数据通过SI引脚传送,最后,当CS片选信号抬高(高电平)后,芯片内部开始编程。

表1

指令名称

指令格式

说明

WREN

0000 X110

设置写使能

WRDI

0000 X100

清除写使能

RDSR

0000 X101

读状态寄存器

WRSR

0000 X001

写状态寄存器

READ

0000 X011

读数据

PROGRAM

0000 X010

写数据

SECTOR ERASE

0101 X010

整段擦除

CHIP ERASE

0001 X101

全片擦除

RDID

0001 X101

读厂商和器件编号

 

图2

在实际的编程过程中需要注意以下几个问题。

(1)由于写命令只能将内部数据位由1写成0,反之则不行。因此,在写入数据前一定要先对内部空间进行擦除,将内部所有数据位置1,否则将会导致Flash烧写失败。

(2)编程指令只能对没有被块写保护指令保护的空间进行写操作。

(3)CS片选信号由低到高的跳变要求必须在最后一个数据比特D0传送完成后,紧跟着的SCK移位时钟为低的情况下产生。TMS320VC5509芯片多通道缓冲串口(McBSP)提供的时钟停止模式(兼容SPI)即可满足这种要求。

[1] [2] [3]  下一页


本文关键字:测量  综合-其它单片机-工控设备 - 综合-其它