如前所述,Microwire总线的存取操作是以时钟的上升沿为基准进行的。总线的大概工作情况如图1 所示,时钟上升时,如果S输入为高电平,则器件处于选择状态。D输人一旦成为高电平,则识别为起始位,开始进行工作。在起始位之后的 2 位为操作代码,然后是地址位。地址位的位数不固定,根据存储器的容量而发生变化。 若干个指令只能由这 2 位来指定,对于不能通过这 2 位完全表示的部分,将挪用紧随其后的地址位的一部分来表示指令。在这些指令中,虽然地址字段的值实际上只能使用 2 位,但需要传输与READ/WRITE指令相同的位数。
M93Cx6 具有 7 种指令,例如M93C06 和M93C46的指令格式如表 2 所示。作为实例,M93C06 的读操作如图 2 所示,写操作如图 3 所示。另外EWEN指令的发布实例如图 4 所示。 ▲ READ
数据读指令是在操作代码“10”之后通过指定地址来进行的。一旦地址位发送完毕,存储器于时钟上升沿同步从Q按顺序输出数据。由于开始之后将输出 1 位哑元“0”,所以需要丢弃该位。地址/数据起始于MSB这一点是与ElA-232 等串行传输不同的地方。
EEPROM内部存在地址寄存器,如果读出 1 字节,则自动增加地址计数。读取指令之后,S保持高电平,如果继续给予时钟,则自动出现下一地址的数据,但此时不插人哑元“0”数据位。
▲ WRITE
写操作也是在操作代码“10”之后指定地址,进而利用 D 发送写人数据。-旦这些信息传送完毕,必将在下次时钟的上升沿将 S(片选)设置为低电平,暂时中断选择。器件如果知道 S 为低电平,则开始内部的写人操作;如果 S 为高电平,则指令被忽略。
与闪速存储器等相同,即使接受指令和数据,内部的写入操作也不是立即就能完成的。这期间,如果 S 设置为高电平.则选择器件;如果内部尚处于写人操作,则 Q 输出为低电平;如果写人操作已完成,则 Q 输出为高电平。
闪速存储器在编程操作中进行的操作只是在位由“1”变为“0”的方向上,由“0”变为“1”的方向上只能进行擦除操作。而 EEPROM 如果发出 WRITE 指令,则内部可自动进行擦除操作。因此,只要发出 WRITE 指令就可以进行替换。
▲ EWEN(ERASE/WRITE Enable,擦除/写使自包)
当操作代码“00”紧接着地址位前 2 位为“11”时,就是EWEN指令。M93Cx6 已经具有禁止写入及擦除操作的功能,它是可以防止不经意的替换操作的。由于M93Cx6 在提供电源后写人及擦除操作是被禁止的,因此在希望进行替换操作时,需要发出该指令,允许进行替换操作。
▲ EWDS(ERASE/WRITE Disable,擦除/写禁止)
当操作代码“00”紧接着地址位的前两位为“00”时,就是 EWDS 指令,发出该指令后,存储器就不能够接受替换及擦除指令。为了防止不经意的存储器的替换和擦除操作,最好在发出 WRITE 指令后再发出该指令。
▲ ERASE
当操作代码为“11”时,由随后地址位所指定的地址的内容将被擦除。虽然与通过WRITE写入所有“1”的数据的结果相同,但擦除指令由于不需要传输数据的时间,因而较简单。在后面将要叙述的I2 C总线对应存储器的情况下,没有擦除指令,通过写人FFh就能达到擦除的功能。
▲ ERAL(Erase All Memory)
当操作代码“00”紧接着地址位的前两位为“10”时,就是ERAL指令。它将擦除整个芯片的内容。与闪速存储器的ChipErase指令相同。
▲ WRAL(Write All Memory with same Data)
利用指定的数据写满整个芯片,ERAL 指令可以指定数据的。 购线网www.gooxian.com 专业定制各类测试线(同轴线、香蕉头测试线,低噪线等)。
0
|
|
|
|