基于SM32的SPI总线扩展EEPROM设计与实现
4.3 程序设计
本文引用地址:https://www.eepw.com.cn/article/248731.htm读取数据的程序设计架构如下:
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接口进行硬件设计,节省了设计时间,降低了电路设计的复杂度,实现了对系统掉电以后数据的存储,并可解决由于数据不同造成的程序一致性的问题.此设计满足了系统的要求,适用于各种需要掉电后保存数据的嵌入式系统.
存储器相关文章:存储器原理
评论