在写操作进行之前,参考表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位数据。源代码如下: