• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 串行E2PROMAT 24C512在單片機中應用

    串行E2PROMAT 24C512在單片機中應用

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

    1概述

    本文引用地址:http://www.czjhyjcfj.com/article/171823.htm

    近年來,以為核心構成的智能儀器儀表與數據采集系統獲得了愈來愈廣泛的。傳統的數據存儲方法均是通過總線型非易失數據存儲器來保存采集的數據。隨著技術的不斷發展及各種非總線型的不斷涌現,采用非總線型單片機并配合大容量E2PROM構成的數據存儲系統,將是一種非常好的數據存儲方法。該方法一方面可提高系統的可靠性,另一方面又可降低系統成本。

    AT是ATMEL公司新近推出的具有I2C總線容量達512Kbit(64K×8)的E2PROM,該芯片的主要特性如下:存儲容量為 65536byte;與100kHz、400kHz、1MHzI2C總線兼容;100000次編程/擦寫周期;單電源、讀寫電壓為 1.8V~5.5V;ESD保護電壓>4kV;數據可保存40年;寫保護功能,當WP為高電平時,進入寫保護狀態;CMOS低功耗技術,最大寫入電流為3mA;128byte頁寫入緩存器;自動定時的寫周期;具有8引腳DIP及20引腳SOIC封裝等多種封裝形式。

    2引腳排列及功能

    AT的DIP型封裝及20引腳的SOIC型封裝的引腳排列如圖1所示,各個引腳的功能如下:

    SCL:時鐘該引腳為一輸入引腳,用于產生器件所有數據發送或接收的時鐘。

    SDA:數據/地址雙向串行數據/地址引腳,用于器件所有數據的發送或接收。SDA是1個開漏輸出引腳,可與其它開漏輸出或集電極開路輸出進行線接。

    WP:寫保護當引腳WP連接到VCC時,所有存儲數據變為寫保護。當引腳WP接VSS時,則允許器件進行正常讀寫操作。

    A0,A1:器件地址輸入這兩個引腳為硬件連線或者不連接,通過連接VCC或VSS的組合可使單總線最多尋址4個AT,當這些引腳沒有連接時其默認值為0。

    32.gif
    (a) SOIC封裝 (b) DIP封裝
    圖1 AT24C512引腳排列圖

    3器件功能描述

    AT24C512是具有I2C總線的存儲芯片,因此該器件必須嚴格遵守I2C總線傳輸協議。I2C總線簡單的硬件接口是以復雜的時序及軟件編程為代價的,下面首先對該器件的時序進行描述。

    (1)起停信號

    時鐘線保持高電平期間,數據線電平從高到低的跳變代為I2C總線的起始信號。時鐘線保持高電平期間,數據線電平從低到高的跳變代為I2C總線的停止信號。

    (2)器件尋址

    主器件通過發送1個起始信號啟動發送過程,然后發送它所需要尋址的從器件地址,8位從器件地址的高5位固定為10100,接下來的2位(A0,A1)為器件的地址位,因此最多可以將4個AT24C512連接到同一總線上使存儲容量擴展至256Kbyte。注意,這兩位必須與A0和A1兩引腳的輸入狀態相對應,從器件地址的最低位為讀寫控制位,“1”表示對從器件進行讀操作,“0”表示對從器件進行寫操作,在主器件發送起始信號和從器件發送地址字節后,AT24C512監測總線并當其地址與發送的從地址相符時發出1個應答信號(通過SDA線),AT24C512再根據讀寫控制位(R/W)的狀態進行讀寫操作,從器件地址字節內容如表1所示。

    33.gif

    (3)應答信號

    I2C總線傳送數據時,每成功傳送1個字節,接收器都必須產生1個應答信號,應答的器件在第9個時鐘周期將SDA線拉低表示其已收到1個8位數據。AT24C512在接收到起始信號和從器件地址之后產生應答信號,如果器件已選擇了寫操作,則在每接收1個8位字節之后1個應答信號。

    當該器件工作于讀模式時,在發送1個8位數據后釋放SDA線并監測1個應答信號,一旦接收到應答信號,則繼續發送數據,若主器件沒有發送應答信號,器件停止傳送數據并等待1個停止信號。

    掌握了AT24C512的操作時序后再配合一定的地址/數據信息就可完成該器件的讀寫操作。


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 通江县| 侯马市| 宜城市| 桃园市| 西丰县| 连城县| 扎鲁特旗| 大城县| 泸溪县| 阳春市| 侯马市| 泰宁县| 安化县| 称多县| 甘洛县| 乌鲁木齐县| 白沙| 都昌县| 汉阴县| 富宁县| 招远市| 双鸭山市| 久治县| 交口县| 松溪县| 双辽市| 鹤岗市| 那曲县| 通城县| 湘阴县| 滨州市| 济源市| 桂阳县| 开化县| 平乡县| 百色市| 鄂托克前旗| 都兰县| 读书| 景宁| 望江县|