FPGA——EEPROM原理——使用手册翻译(2)读与写

书接上文:

6.0写操作

6.1字节写

从主控码开始,控制码(4),芯片选择(3)R/W(这是一个逻辑低)被主发射机控制在总线上。这表明在第9个时钟周期中,地址高字节将跟随在它产生一个应答位之后的地址。因此,由主机传输的下一个字节是单词地址的高阶字节,并将写入24xx64的地址指针中。下一个字节是最不重要的地址字节。

在接收到来自24xx64的另一个确认信号后,主设备将把数据字发送到地址内存位置。24xx64再次确认,主生成一个停止条件。这将启动内部写入循环,在此期间,24xx64将不会生成应答信号(6-1)。如果试图用WP管脚来写入数组,设备将承认命令,但是不会出现写周期,也不会写入数据。该设备将立即接受一个新的命令。在字节写入命令之后,内部地址计数器将指向刚刚写入的地址位置。

6-1 字节写操作

6.2页写

写入控制字节、字地址和第一个数据字节以与字节写入相同的方式传输到24xx64

但不是生成一个停止条件,主传送最多31个额外的字节,这些字节暂时存储在芯片页缓冲区中,并且在主发送停止条件后将写入内存。在收到每个单词后,五个较低的地址指针位在内部增加一个。如果主服务器在生成停止条件之前传输超过32个字节,地址计数器将会滚动,而先前接收到的数据将被覆盖。与字节写操作一样,一旦接收到停止条件,就会开始一个内部写周期(6-2)。如果试图用WP管脚来写入该数组,设备将承认该命令,但不会发生写入周期,也不会写入数据。设备将立即接受一个新的命令。

6-2 页写操作

6.3写保护

当引脚与Vcc绑定时,WP引脚允许用户写入保护整个数组(0000ff - 1fff)

如果绑定到VSS或悬空,则禁用写保护。WP引脚在每个写命令的停止位上取样(1-1),在停止位后对WP pin进行切换对写入循环的执行没有影响。

7.0应答轮询

由于该设备在写入循环期间不会应答,因此可以使用该功能来确定何时完成循环(此功能可以用于最大化总线吞吐量)。一旦从主服务器发出写入命令的停止条件,该设备将启动内部计时写入循环。可以立即启动ACK轮询。这涉及到主发送一个启动条件,然后是写入命令的控制字节(R/W = 0)。如果设备仍然忙于写入循环,则不返回ACK。如果没有返回ACK,则必须重新发送起始位和控制字节。

如果循环完成,则设备将返回ACK,然后主可以继续下一个读或写命令。流程图见图7-1

7-1 应答轮询流程

8.0读操作

读取操作的方式与写操作相同,但控制字节的R/W位被设置为1。读取操作有三种基本类型:当前地址读取、随机读取和顺序读取。

8-1 当前地址读取

8.1当前地址读

24xx64包含一个地址计数器,该计数器维护被访问的最后一个字的地址,内部增加一个。因此,如果之前的读访问是针对n (n是任何合法地址),那么下一个当前的地址读操作将访问地址n + 1的数据。在接收到由R/W位设置为1的控制字节后,24xx64发出确认并传输8位数据字。

主机不会应答传输,但会生成一个停止状态,24xx64中断传输(8-1)

8.2随机读取

随机读取操作允许主机随机访问任何内存位置。要执行这种类型的读操作,首先必须设置字地址。这是通过将字地址发送到24xx64作为写操作的一部分(R/W位设置为0)完成的。在发送字地址之后,主服务器会在应答后生成一个启动条件。这将终止写操作,但不会在设置内部地址指针之前。然后,主程序再次发出控制字节,但将R/W位设置为1。然后,24xx64将发出一个确认并传输8位数据字。主不应答传输,但会生成一个停止条件,导致24xx64中断传输(8-2)。在随机读取命令之后,内部地址计数器将指向刚刚读取的地址位置。

8-2 随机读取

8.3顺序读

顺序读取与随机读取的方式相同,只是在24xx64传输第一个数据字节之后,主问题是一个应答,而不是随机读取停止条件。这个应答指示24xx64传输下一个顺序处理的8位字(8-3)。在最后一个字节传送给主后,主机不应答,但会产生一个停止条件。为了提供顺序读取,24xx64包含一个内部地址指针,该指针在每次操作完成时递增一个。这个地址指针允许在一次操作期间连续读取整个内存内容。内部地址指针将自动从地址1FFF转到地址0000,如果主机应答从数组地址1FFF收到的字节。

8-3 顺序读

猜你喜欢

转载自blog.csdn.net/yuwenfanyu/article/details/80368367
今日推荐