首页

基于DSP和X5165芯片的非易失性数据存储设计

2010-01-02 22:51:17 来源:互联网 关键字: DSP 数据保存 EEPROM X5165
在写状态寄存器时,参考表3,可知,必须先用WREN指令将WEL位置位。由于本文提供的电路能控制引脚,故,直接将该引脚电平拉为高电平,就可以对状态寄存器进行写操作。在写状态寄存器时,先将片选信号拉到低电平,然后发送数据,先发送WRSR指令,然后发送8位待写入的内容。注意,状态寄存器的只读位不受影响。

在读存储阵列时,先将片选信号拉到低电平,然后通过SPI接口发送数据,先发送READ指令,接着发送16位地址,选定的存储单元中的数据在SCK下降沿读回TMS320LF2407A中。每个数据被送出后,芯片内的地址计数器自动加1,继续提供SCK脉冲,可读出下一个存储单元的数据。当地址计数器达到$07FFH时,自动翻转到$0000H单元。读数据完成后,将片选信号拉到高电平。

在写操作进行之前,参考表3,可知必须置位“WEL”。然后,需要将非保护块设置为可读写方式。根据图2表示的连接,可知,只需要将引脚电平拉高,就可以进行写操作。当然也可以通过对WPEN位进行编程实现。在写存储阵列时,先将片选信号拉到低电平,接着通过SPI接口发送数据,先发送WRITE指令,然后发送16位地址,接着发送8位的数据。每个数据被送出后,芯片内的地址计数器自动加1,继续提供SCK脉冲,可继续将数据写入下一个存储单元。当地址计数器达到$07FFH时,自动翻转到$0000H单元。写数据完成后,将片选信号拉到高电平。值得注意的是,每次写操作完成后,都必须查询WIP位来确定写操作是否完成,否则,如果连续进行两次写操作,可能会出错。

4 X5165相关操作的软件实现

TMS320LF2407A的串行外设接口模块很容易实现对X5165的各种操作,且由于该DSP具有非常丰富的片内资源,因此,使用了两个IO引脚控制信号和片选信号。

首先是TMS320LF2407A的SPI模块初始化工作。本文给出实际使用的源代码如下:

 
下面的程序用来实现X5165的读操作。因为TMS320LF2407A是16位机,故,一次读写两个8位数据。源代码如下:


下面是发送子程序,寄存器ACC载入待发送的数据,读回的数据也返回到ACC中,源代码如下:

SEND——DATA:LDP #SPITXBUF>>7

SACL SPITXBUF;待发送的数据

LDP #SPISTS>>7

S——5165: BIT SPISTS,BIT6 ;检测SPI——INT位

BCND S——X5165,NTC ;如果SPI——INT为0,继续查询

LACC SPIRXBUF;读回数据,保存在ACC中

RETP

限于篇幅,TMS320LF2407A对X5165的其他软件操作不再赘述。按照上面的硬件、软件的设计思想,已经将X5165成功地应用于某型号的交流伺服系统中。

编辑:博子
1 2
相关文章
»
  • 解密Maxim芯片在Galaxy Note N7000中的应用...

    这次拿到的Galaxy Note N7000是一个支持3G功能的版本,下面来看看这款全世界独一无二的智能手机里面的秘密…... [详细]