新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 串行EEPROM X24128及其與AT89C51的接口及編程

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

        作者: 時間:2012-03-12 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/171907.htm

        1.管腳說明

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

        Vcc、Vss:為電源的正、負極輸入端;

        SCL:時鐘輸入端,用于控制數據的輸入與輸出;

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

        WP:硬件寫保護輸入管腳。當WP管腳接高電平且寫保護寄存器的WPEN位被寫1時,寫保護仿寄存器實施寫保護,這時塊鎖定的存儲陣列無法再用程序改寫。不需要寫保護時,WP管腳接低電平;

        S0、S1、S2器件選擇輸入端。在串行通信總線上可以并接多至8片,它們可以分時享用總線。在輸入的地址中,當第一字節(器件地址)的數據與器件的輸入管腳S0、S1、S2相符時,器件被選擇并可與CPU進行串行通信。如與器件的輸入管腳不符,則處于等待狀態。

        2.地址選擇

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

        3.寫保護寄存器

        寫保護寄存器是一可讀寄存器,格式如下:各位的狀態可通過程序寫入。現將功能說明如下:

        2.gif

        WEL:為陣列寫使能鎖存器,WEL=1時,寫使能鎖存器置位,可進行寫操作;WEL=0時,寫使能鎖存器復位,拒絕一切寫操作。

        RWEL:為“寫保護寄存器”寫使能鎖存器,RWEL=1時,可對“寫保護寄存器”進行改寫;RWEL=0時,寫使能鎖存器復位,拒絕改寫。

        上電時,WEL和RWEL均被復位。

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

        WPEN:寫保護使能位,當WPEN位被寫入1且將器件的WP管腳接至Vcc時,,硬件寫保護使能;當WPEN位被復位或者WP管腳接至Vss時,硬件寫保護不再使能。硬件寫保護能為整個系統在實際應用操作中給用戶實施寫保護操作提供方便。

        通過BL1、BL0位進行塊鎖定的存儲器陣列不受硬件寫保護的影響,只有通過改變BL1、BL0的值才能改變塊鎖定保護陣列的區域范圍。但改變BL1、 BL0的值要受到RWEL位的制約。RWEL位的改變又受到硬件寫保護的制約。未加塊鎖定保護的陣列不受硬件寫保護的制約,因而可對其進行寫操作。

        在未加硬件寫保護的情況下,對BL1、BL0的改寫可按以下三步進行:

        1)對FFFFH地址寫入00000010,使WEL=1;

        2)對FFFFH地址寫入00000110B,使RWEL=1;

        3)對FFFFH地址寫入X00XX010B,使RWEL=0。進行寄存器寫保護。如果在第(3)步中使RWEL=1,則對寄存器的改寫無效。寄存器仍保持(2)步的狀態。

        4.讀寫時序

        在進行讀、寫操作之前,先設置開始狀態。方法是命令SCL總線保持高電平,并在SDA總線上設置一個由高電平向低電平的跳變。而在通信結束時,又需設置一個結束狀態,即將SCL總線保護高電平,并在SDA總線上設置一個低電平向高平跳變。設置結束狀態后,器件脫離通信狀態。

        SDA總線上通信數據的改變必須在SCL總線處于低電平狀態時進行。SCL總線處于高電平時,數據處于保持狀態。

        在通信過程中,接收數據的器件每次有效地接收到8位數據后,都給發送數據的器件發送一個負脈沖應答信號。在定操作過程中,X24128每次接收到8位數據(包括接收到8位地址數據)后,在SDA總線上產生一個負脈沖,該脈沖的寬度一直延續到第9個時鐘脈沖信號結束。在讀操作過程中,CPU每次接收到 X24128所發送的8位數據后,SDA總線上再發送一個負脈沖,以示讀有效,然后X24128可以繼續發送數據。如果X24128未接收到應答信號,則停止發送數據,直到接收到結束信號時,通信結束。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 闻喜县| 武宣县| 安塞县| 林口县| 镇安县| 城步| 桐梓县| 黑龙江省| 南宫市| 名山县| 科技| 女性| 丰都县| 阿坝县| 蓬溪县| 西畴县| 嵩明县| 文昌市| 南溪县| 枞阳县| 徐水县| 萨迦县| 东源县| 光泽县| 呼图壁县| 游戏| 周口市| 西盟| 濉溪县| 海原县| 吴江市| 仪陇县| 沁水县| 乐平市| 呈贡县| 屏山县| 舟曲县| 云南省| 台江县| 措美县| 盐边县|