3 X5165的工作原理
X5165包含了一个8位的指令寄存器。SI引脚上输入的数据在SCK上升沿被锁存,片内的数据在SCK下降沿输出到SO引脚上。所有的指令、地址和数据都是先传输最高位,指令、数据为8位,地址为16位。时钟SCK允许操作过程中停止并在其后恢复。根据图1所示,应该选用“无延时的上升沿”这一时钟方式,且数据字长为8位。X5165的指令集如表1所示。
X5165包括一个8位状态寄存器,格式如表2所示。
表2中,WIP位是指出非易失性写操作是否忙,只读位,为1,写操作正在进行,为0,无写操作。WEL是写使能锁存状态位,它可以用WREN指令置位,用WRDI指令复位。WPEN与引脚组合,实现保护存储阵列和状态寄存器位WPEN、BL1、BL0、WD1、WD0,是非易失性位,可用WRSR指令对WPEN位编程。其组合如表3所示。
BL1、BL0是存储器块保护位,为非易失性位。其组合可通过WRSR指令编程,可以保护存储器阵列范围,如表4所示。
选定保护的块,用户只能读不能写。
WD1、WD0是看门狗定时器位,为非易失性位,可用WRSR指令进行编程。
在读状态寄存器时,先将片选信号拉到低电平,然后通过SPI接口发送数据,先发送RDSR指令,接着提供8个SCK脉冲,就可以将寄存器的内容读回到TMS320LF2407A中。
在写状态寄存器时,参考表3,可知,必须先用WREN指令将WEL位置位。由于本文提供的电路能控制引脚,故,直接将该引脚电平拉为高电平,就可以对状态寄存器进行写操作。在写状态寄存器时,先将片选信号拉到低电平,然后发送数据,先发送WRSR指令,然后发送8位待写入的内容。注意,状态寄存器的只读位不受影响。
在读存储阵列时,先将片选信号拉到低电平,然后通过SPI接口发送数据,先发送READ指令,接着发送16位地址,选定的存储单元中的数据在SCK下降沿读回TMS320LF2407A中。每个数据被送出后,芯片内的地址计数器自动加1,继续提供SCK脉冲,可读出下一个存储单元的数据。当地址计数器达到$07FFH时,自动翻转到$0000H单元。读数据完成后,将片选信号拉到高电平。