新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 串行EEPROM X24128及其與AT89C51的接口及編程

串行EEPROM X24128及其與AT89C51的接口及編程

作者: 時(shí)間:2012-03-12 來(lái)源:網(wǎng)絡(luò) 收藏

是美國(guó)Xicor公司生產(chǎn)的CMOS通信。內(nèi)部結(jié)構(gòu)為16k字節(jié)8位陣列。X24182在2線總線上可同時(shí)并聯(lián)8片,并具有軟件和硬件寫(xiě)保護(hù)功能。片內(nèi)最高地址單元(FFFFH)為一寫(xiě)保護(hù)寄存器。通過(guò)寫(xiě)入不同數(shù)據(jù),可進(jìn)行軟件寫(xiě)保護(hù)、塊鎖定選擇保護(hù)和硬件寫(xiě)保護(hù)三種不同形式的寫(xiě)保護(hù)。在2線總線上通信的最高時(shí)鐘頻率為400kHz。另外還具有輸入、輸出消噪聲和抑制功能。而且功耗低,它的讀狀態(tài)工作電流小于1mA, 寫(xiě)狀態(tài)工作電流小于3mA,靜態(tài)電流小于1uA。工作電壓有1.8V-3.6V、2.5V-5.5V和4.5V-5.5V三種類(lèi)型供選擇。寫(xiě)方式有按字節(jié)寫(xiě)和按頁(yè)寫(xiě)兩種形式,每頁(yè)為32字節(jié)。

本文引用地址:http://butianyuan.cn/article/171907.htm

1.管腳說(shuō)明

有三種封裝形式:14-SOIC、16-SOIC和8-PDIP。圖1為8-PDIP封裝的外形圖。各管腳的功能說(shuō)明如下:

Vcc、Vss:為電源的正、負(fù)極輸入端;

SCL:時(shí)鐘輸入端,用于控制數(shù)據(jù)的輸入與輸出;

SDA:串行數(shù)據(jù)輸入與輸出的共用管腳。漏極輸出,可與其它器件的SDA腳的輸出組成線或邏輯關(guān)系。由于是漏極輸出,因此在使用時(shí)必須接上拉電阻;

WP:硬件寫(xiě)保護(hù)輸入管腳。當(dāng)WP管腳接高電平且寫(xiě)保護(hù)寄存器的WPEN位被寫(xiě)1時(shí),寫(xiě)保護(hù)仿寄存器實(shí)施寫(xiě)保護(hù),這時(shí)塊鎖定的存儲(chǔ)陣列無(wú)法再用程序改寫(xiě)。不需要寫(xiě)保護(hù)時(shí),WP管腳接低電平;

S0、S1、S2器件選擇輸入端。在串行通信總線上可以并接多至8片,它們可以分時(shí)享用總線。在輸入的地址中,當(dāng)?shù)谝蛔止?jié)(器件地址)的數(shù)據(jù)與器件的輸入管腳S0、S1、S2相符時(shí),器件被選擇并可與CPU進(jìn)行串行通信。如與器件的輸入管腳不符,則處于等待狀態(tài)。

2.地址選擇

X24128內(nèi)部由16k×8位組成,這16k數(shù)據(jù)單元的地址為0000H-3FFFH。寫(xiě)保護(hù)寄存器的地址為FFFFH。每個(gè)地址可以分為地址高位字節(jié)BYTE1和地址低位字節(jié)BYTE0。除了數(shù)據(jù)單元地址外,還具有一個(gè)器件地址。在器件地址中,高四位必須為1010,這是X24128的識(shí)別碼。S2、S1、S0三位為所選器件的地址碼,它們必須與所選器件的輸入管腳S2、S1、S0相一致。例如所選器件的S2管腳接Vcc,S1、S0兩個(gè)輸入管腳連接Vss,則器件地址應(yīng)為1010100R/WB。位位為讀、寫(xiě)選擇位,位為1時(shí),1.gif選擇讀;1.gif位為0時(shí),1.gif選擇寫(xiě)。

3.寫(xiě)保護(hù)寄存器

寫(xiě)保護(hù)寄存器是一可讀寄存器,格式如下:各位的狀態(tài)可通過(guò)程序?qū)懭搿,F(xiàn)將功能說(shuō)明如下:

2.gif

WEL:為陣列寫(xiě)使能鎖存器,WEL=1時(shí),寫(xiě)使能鎖存器置位,可進(jìn)行寫(xiě)操作;WEL=0時(shí),寫(xiě)使能鎖存器復(fù)位,拒絕一切寫(xiě)操作。

RWEL:為“寫(xiě)保護(hù)寄存器”寫(xiě)使能鎖存器,RWEL=1時(shí),可對(duì)“寫(xiě)保護(hù)寄存器”進(jìn)行改寫(xiě);RWEL=0時(shí),寫(xiě)使能鎖存器復(fù)位,拒絕改寫(xiě)。

上電時(shí),WEL和RWEL均被復(fù)位。

BL1、BL0:EEPROM陣列塊鎖定保護(hù)位。整個(gè)EEPROM陣列有三種鎖定形式,BL1、BL0=00時(shí),整個(gè)陣列未加塊鎖定保護(hù);BL1、 BL0=01時(shí),地址為3000H~FFFH的陣列進(jìn)行塊鎖定保護(hù);BL1、BL0=10時(shí),地址為2000~3FFF的陣列進(jìn)行塊鎖定保護(hù);BL1、 BL0=11時(shí),地址為0000H~3FFFH的陣列進(jìn)行塊鎖定保護(hù).

WPEN:寫(xiě)保護(hù)使能位,當(dāng)WPEN位被寫(xiě)入1且將器件的WP管腳接至Vcc時(shí),,硬件寫(xiě)保護(hù)使能;當(dāng)WPEN位被復(fù)位或者WP管腳接至Vss時(shí),硬件寫(xiě)保護(hù)不再使能。硬件寫(xiě)保護(hù)能為整個(gè)系統(tǒng)在實(shí)際應(yīng)用操作中給用戶(hù)實(shí)施寫(xiě)保護(hù)操作提供方便。

通過(guò)BL1、BL0位進(jìn)行塊鎖定的存儲(chǔ)器陣列不受硬件寫(xiě)保護(hù)的影響,只有通過(guò)改變BL1、BL0的值才能改變塊鎖定保護(hù)陣列的區(qū)域范圍。但改變BL1、 BL0的值要受到RWEL位的制約。RWEL位的改變又受到硬件寫(xiě)保護(hù)的制約。未加塊鎖定保護(hù)的陣列不受硬件寫(xiě)保護(hù)的制約,因而可對(duì)其進(jìn)行寫(xiě)操作。

在未加硬件寫(xiě)保護(hù)的情況下,對(duì)BL1、BL0的改寫(xiě)可按以下三步進(jìn)行:

1)對(duì)FFFFH地址寫(xiě)入00000010,使WEL=1;

2)對(duì)FFFFH地址寫(xiě)入00000110B,使RWEL=1;

3)對(duì)FFFFH地址寫(xiě)入X00XX010B,使RWEL=0。進(jìn)行寄存器寫(xiě)保護(hù)。如果在第(3)步中使RWEL=1,則對(duì)寄存器的改寫(xiě)無(wú)效。寄存器仍保持(2)步的狀態(tài)。

4.讀寫(xiě)時(shí)序

在進(jìn)行讀、寫(xiě)操作之前,先設(shè)置開(kāi)始狀態(tài)。方法是命令SCL總線保持高電平,并在SDA總線上設(shè)置一個(gè)由高電平向低電平的跳變。而在通信結(jié)束時(shí),又需設(shè)置一個(gè)結(jié)束狀態(tài),即將SCL總線保護(hù)高電平,并在SDA總線上設(shè)置一個(gè)低電平向高平跳變。設(shè)置結(jié)束狀態(tài)后,器件脫離通信狀態(tài)。

SDA總線上通信數(shù)據(jù)的改變必須在SCL總線處于低電平狀態(tài)時(shí)進(jìn)行。SCL總線處于高電平時(shí),數(shù)據(jù)處于保持狀態(tài)。

在通信過(guò)程中,接收數(shù)據(jù)的器件每次有效地接收到8位數(shù)據(jù)后,都給發(fā)送數(shù)據(jù)的器件發(fā)送一個(gè)負(fù)脈沖應(yīng)答信號(hào)。在定操作過(guò)程中,X24128每次接收到8位數(shù)據(jù)(包括接收到8位地址數(shù)據(jù))后,在SDA總線上產(chǎn)生一個(gè)負(fù)脈沖,該脈沖的寬度一直延續(xù)到第9個(gè)時(shí)鐘脈沖信號(hào)結(jié)束。在讀操作過(guò)程中,CPU每次接收到 X24128所發(fā)送的8位數(shù)據(jù)后,SDA總線上再發(fā)送一個(gè)負(fù)脈沖,以示讀有效,然后X24128可以繼續(xù)發(fā)送數(shù)據(jù)。如果X24128未接收到應(yīng)答信號(hào),則停止發(fā)送數(shù)據(jù),直到接收到結(jié)束信號(hào)時(shí),通信結(jié)束。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉