基于SM320F2812 SPI总线的扩展EEPROM设计-设计应用_第1页
基于SM320F2812 SPI总线的扩展EEPROM设计-设计应用_第2页
基于SM320F2812 SPI总线的扩展EEPROM设计-设计应用_第3页
基于SM320F2812 SPI总线的扩展EEPROM设计-设计应用_第4页
基于SM320F2812 SPI总线的扩展EEPROM设计-设计应用_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑基于SM320F2812SPI总线的扩展EEPROM设计-设计应用摘要:在嵌入式系统中,采用EEPROM芯片AT25010进行数据的保存.使用TMS320F2812的SPI总线模块实现了对外部扩展的EEPROM进行数据写入和读取的操作;给出了AT25010和TMS320F2812的硬件接口电路;数据操作采用了C语言编程,给出了主程序.接口初始化等的流程图.通过实验验证了设计方案的适用性和正确性.

0引言

EEPROM(ElectricallyErasableProgrammableRead-OnlyMemory电可擦可编程只读存储器),是一种掉电后数据不丢失的存储芯片.在实际应用中,为了保持程序能够统一,又必须在程序中使用不同的参数,可以使用EEPROM进行扩展存储,将需要使用的数据存储在EEPROM中.当系统上电开始工作时,首先从EEPROM中读取参数,然后执行应用.本文采用了ATMEL公司的EEPROM存储器AT25010及TI公司推出的2000系列DSPTMS320F2812,很好地实现了数据的擦写和存储.AT25010采用了标准的SPI总线接口,所以与DSP经过简洁的设计连接后即可实现硬件连接.

1.AT25010介绍

AT25010是ATMEL公司推出的串行外设接口可擦写存储器,具有1KB(128*8)字节容量和掉电后数据保持功能,主要用于低电压和低功耗应用中.

2.TMS320F2812的SPI接口介绍

TMS320F2812是TI公司推出的32位的定点DSP,主要应用于控制领域.DSP主频可以通过软件进行设置,可以达到150MHz,内部集成了丰富的资源,可以大大简化外围电路的设计.

TMS320F2812的串行外设接口(SPI)是一个高速同步的串行输入/输出口,通信速率和通信数据长度都是可编程的,通常用于DSP处理器和外部外设以及其他处理器之间进行通信.

SPI接口有一个16级的接收和传输FIFO,可以减少工作时CPU的开销.

3.硬件设计

为了使DSP能够从EEPROM中正确写入和读出数据,需要对硬件进行正确的设置.

TMS320F2812处理器SPI模块有4个外部引脚,分别是SPI从输出/主输入引脚SPISOMI.SPI从输入/主输出引脚SPISIMO.SPI从发送使能引脚SPISTE.SPI串行时钟引脚SPICLK.AT25010与TMS320F2812的硬件接口电路如图1示所.图1中将DSP的SPISTE引脚与AT25010的片选信号引脚CS相连,使DSP能控制是否选通芯片;DSP的SPISOMI引脚与AT25010的数据输出引脚SO相连,接收AT25010发送的数据;DSP的SPISIMO引脚与AT25010的数据输出引脚SI相连,向AT25010发送数据;DSP的SPICLK引脚与AT25010的串行时钟引脚SCK相连,向AT25010提供时钟信号,使其能够与DSP保持同步.AT25010芯片写保护引脚WP(WriteProtect)控制是否能够对其写入数据.当将此引脚置高电平时,DSP可以对AT25010芯片写入或者读取数据;当将此引脚置低电平时,DSP只能对AT25010芯片进行读取数据的操作,而不能对其写入数据.电路设计时将AT25010的WP引脚通过电阻拉高.

4.软件设计

在DSP开始对AT25010进行数据写入和读取之前,按照设计要求进行初始化.对TMS320F2812的设置:首先关闭可屏蔽中断,设置中断屏蔽寄存器,开启系统SPI时钟使能,允许SPI串行外设接口正常工作.其次,DSP采用发送数据的方式对AT25010进行初始化,当DSP需要对AT25010写入数据时,向AT25010发送写入控制指令,并控制时钟同步信号和片选使能信号,向指定的地址写入数据;当DSP需要对AT25010读取数据时,向AT25010发送读取数据的控制指令,从指定地址中读取数据.

4.1SPI初始化

初始化SPI模块,需要打开系统的SPI使能寄存器,设置SPI的波特率,配置SPI数据发送模块寄存器.数据接收模块寄存器.状态控制寄存器和FIFO寄存器,满足正常系统工作要求.

4.2AT25010设置

当DSP需要读取AT25010指定地址的数据时,必须按照以下顺序.在片选引脚CS拉低选中AT25010芯片后,“读指令”必须首先发送至AT25010,然后发送地址数据.如果DSP读取数据完毕,片选引脚CS拉高为高电平.

当DSP当DSP需要向AT25010指定地址写入数据时,也必须按照一定的顺序执行.首先必须确认写保护引脚WP是高电平,然后确认被写入的地址没有被锁定.写入数据时,DSP首先向AT20501发送写使能信号WREN.然后才能执行写操作.在片选引脚CS拉低选中AT25010芯片后,8位的地址和8位的数据分别被DSP发送到AT25010芯片,对指定地址写入数据.对AT25010芯片设置后,可以进行页写入,可写入大量数据,节省系统资源.

4.3程序设计

读取数据的程序设计架构如下:

SpiaRegs.SPITXBUF=0×0300;//发送读取指令SpiaRegs.SPITXBUF=(Addr《8);//发送需要读取数据的地址位SpiaRegs.SPITXBUF=0×0000;//发送一位空指令val=SpiaRegs.SPIRXBUF;//读取指定地址的数据读取数据的程序设计架构如下:

SpiaRegs.SPITXBUF=0×0200;//发送写入指令SpiaRegs.SPITXBUF=(Addr《8);//发送需要写入数据的地址位SpiaRegs.SPITXBUF=(Data《8);//发送需要写入数据的数据SpiaRegs.SPITXBUF=0×0400;//WRDI5.数据写入和读取实验。

如图2.

编写软件代码,进行DSP对AT25010写入和读取数据的实验.

由于AT25010是1KB的存储器,DSP多只能向AT25010写入128个8位数据.在软件中设置一个9位的数组,分别赋值由0×11至0×99,地址使用0-8共9个地址位.DSP采用循环发送的方式,将数组中的数据发送到存储芯片中.

然后DSP进行读取操作,从存储芯片的地址位中读出数据,写入到另一个数组中并对读取和写入的数据进行比较,检验数据是否正确.结果如图3所示.

由图3可以看出,读取和写入的数据完全一致.对于使用数据量较大的系统,可以更换容量更大的存储器,使用文中的硬件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论