当前位置:首页 > 电源 > 数字电源
[导读]在嵌入式系统中,采用EEPROM芯片AT25010进行数据的保存.使用TMS320F2812的SPI总线模块实现了对外部扩展的EEPROM进行数据写入和读取的操作;给出了AT25010和TMS320F2812的硬件接口电路;数据操作采用了C语言编程,给出了主程序.接口初始化等的流程图.通过实验验证了设计方案的适用性和正确性.

0 引言

EEPROM(Electrically Erasable ProgrammableRead-Only Memory电可擦可编程只读存储器),是一种掉电后数据不丢失的存储芯片.在实际应用中,为了保持程序能够统一,又必须在程序中使用不同的参数,可以使用EEPROM进行扩展存储,将需要使用的数据存储在EEPROM中.当系统上电开始工作时,首先从EEPROM中读取参数,然后执行应用.本文采用了ATMEL公司的EEPROM存储器AT25010及TI公司推出的2000系列DSP TMS320F2812,很好地实现了数据的擦写和存储.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.硬件设计

为了使D S P能够从E E P R O M中正确写入和读出数据, 需要对硬件进行正确的设置.

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

 

 

4.软件设计

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

4.1 SPI初始化

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

4.2 AT25010设置

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

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

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可以看出,读取和写入的数据完全一致.对于使用数据量较大的系统,可以更换容量更大的存储器,使用文中的硬件设计和程序设计,同样可满足需求.

6.结语

本设计使用DSP芯片自带的SPI接口进行硬件设计,节省了设计时间,降低了电路设计的复杂度,实现了对系统掉电以后数据的存储,并可解决由于数据不同造成的程序一致性的问题.此设计满足了系统的要求,适用于各种需要掉电后保存数据的嵌入式系统.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

【2025年7月22日, 德国慕尼黑讯】凭借在磁位置传感器领域的深厚积累,全球功率系统和物联网领域的半导体领导者英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)推出了第三代XENSIV™ 3D磁性...

关键字: 3D磁传感器 SPI总线 发动机

在现代电子设备中,电可擦可编程只读存储器(EEPROM)凭借其独特的存储特性,被广泛应用于各类需要非易失性数据存储的场景。从智能电表、工业控制系统到消费电子产品,EEPROM 承担着存储关键配置信息、校准数据以及用户个性...

关键字: 只读存储器 数据存储 EEPROM

在嵌入式系统和存储设备领域,Flash和EEPROM(电可擦可编程只读存储器)因其非易失性存储特性而被广泛应用。这些存储设备能够在断电后保持数据,对于需要长期保存配置参数、程序代码或用户数据的应用来说至关重要。然而,关于...

关键字: Flash EEPROM

在嵌入式系统中,诸如变频器和伺服驱动器等工业应用,乃至CD播放器等众多消费电子产品,都需要保存最近的用户设置,在下次上电后加载使用。如果使用MCU内置Flash,一般擦写次数限制在10k次,无法满足寿命和耐久性要求,所以...

关键字: MSP EEPROM

在嵌入式系统开发中,EEPROM(电可擦可编程只读存储器)常用于存储需要持久保存的数据。然而,当在S32DS(一款常用于嵌入式系统开发的集成开发环境)上结合FreeRTOS(一个实时操作系统)进行开发时,可能会遇到仿真E...

关键字: 嵌入式 S32DS EEPROM

本文中,小编将介绍在设计过程中如何处理运放或比较器中多余的引脚,如果你对本文内容具有兴趣,不妨请看以下内容哦。

关键字: 引脚 运放 比较器

检查电解电容的胶管或引脚,通常胶管一端印有负极标识,引脚处有带网格的一端代表负极。

关键字: 电解电容 正负极 引脚
关闭