串行E2PROMAT 24C512在單片機中應用
1概述
本文引用地址:http://dyxdggzs.com/article/171823.htm近年來(lái),以單片機為核心構成的智能儀器儀表與數據采集系統獲得了愈來(lái)愈廣泛的應用。傳統的數據存儲方法均是通過(guò)總線(xiàn)型非易失數據存儲器來(lái)保存采集的數據。隨著(zhù)單片機技術(shù)的不斷發(fā)展及各種非總線(xiàn)型單片機的不斷涌現,采用非總線(xiàn)型單片機并配合大容量串行E2PROM構成的數據存儲系統,將是一種非常好的數據存儲方法。該方法一方面可提高系統的可靠性,另一方面又可降低系統成本。
AT24C512是ATMEL公司新近推出的具有I2C總線(xiàn)容量達512Kbit(64K×8)的E2PROM,該芯片的主要特性如下:存儲容量為 65536byte;與100kHz、400kHz、1MHzI2C總線(xiàn)兼容;100000次編程/擦寫(xiě)周期;單電源、讀寫(xiě)電壓為 1.8V~5.5V;ESD保護電壓>4kV;數據可保存40年;寫(xiě)保護功能,當WP為高電平時(shí),進(jìn)入寫(xiě)保護狀態(tài);CMOS低功耗技術(shù),最大寫(xiě)入電流為3mA;128byte頁(yè)寫(xiě)入緩存器;自動(dòng)定時(shí)的寫(xiě)周期;具有8引腳DIP及20引腳SOIC封裝等多種封裝形式。
2引腳排列及功能
AT24C512的DIP型封裝及20引腳的SOIC型封裝的引腳排列如圖1所示,各個(gè)引腳的功能如下:
SCL:串行時(shí)鐘該引腳為一輸入引腳,用于產(chǎn)生器件所有數據發(fā)送或接收的時(shí)鐘。
SDA:串行數據/地址雙向串行數據/地址引腳,用于器件所有數據的發(fā)送或接收。SDA是1個(gè)開(kāi)漏輸出引腳,可與其它開(kāi)漏輸出或集電極開(kāi)路輸出進(jìn)行線(xiàn)接。
WP:寫(xiě)保護當引腳WP連接到VCC時(shí),所有存儲數據變?yōu)閷?xiě)保護。當引腳WP接VSS時(shí),則允許器件進(jìn)行正常讀寫(xiě)操作。
A0,A1:器件地址輸入這兩個(gè)引腳為硬件連線(xiàn)或者不連接,通過(guò)連接VCC或VSS的組合可使單總線(xiàn)最多尋址4個(gè)AT24C512,當這些引腳沒(méi)有連接時(shí)其默認值為0。
(a) SOIC封裝 (b) DIP封裝
圖1 AT24C512引腳排列圖
3器件功能描述
AT24C512是具有I2C總線(xiàn)的存儲芯片,因此該器件必須嚴格遵守I2C總線(xiàn)傳輸協(xié)議。I2C總線(xiàn)簡(jiǎn)單的硬件接口是以復雜的時(shí)序及軟件編程為代價(jià)的,下面首先對該器件的時(shí)序進(jìn)行描述。
(1)起停信號
時(shí)鐘線(xiàn)保持高電平期間,數據線(xiàn)電平從高到低的跳變代為I2C總線(xiàn)的起始信號。時(shí)鐘線(xiàn)保持高電平期間,數據線(xiàn)電平從低到高的跳變代為I2C總線(xiàn)的停止信號。
(2)器件尋址
主器件通過(guò)發(fā)送1個(gè)起始信號啟動(dòng)發(fā)送過(guò)程,然后發(fā)送它所需要尋址的從器件地址,8位從器件地址的高5位固定為10100,接下來(lái)的2位(A0,A1)為器件的地址位,因此最多可以將4個(gè)AT24C512連接到同一總線(xiàn)上使存儲容量擴展至256Kbyte。注意,這兩位必須與A0和A1兩引腳的輸入狀態(tài)相對應,從器件地址的最低位為讀寫(xiě)控制位,“1”表示對從器件進(jìn)行讀操作,“0”表示對從器件進(jìn)行寫(xiě)操作,在主器件發(fā)送起始信號和從器件發(fā)送地址字節后,AT24C512監測總線(xiàn)并當其地址與發(fā)送的從地址相符時(shí)發(fā)出1個(gè)應答信號(通過(guò)SDA線(xiàn)),AT24C512再根據讀寫(xiě)控制位(R/W)的狀態(tài)進(jìn)行讀寫(xiě)操作,從器件地址字節內容如表1所示。
(3)應答信號
I2C總線(xiàn)傳送數據時(shí),每成功傳送1個(gè)字節,接收器都必須產(chǎn)生1個(gè)應答信號,應答的器件在第9個(gè)時(shí)鐘周期將SDA線(xiàn)拉低表示其已收到1個(gè)8位數據。AT24C512在接收到起始信號和從器件地址之后產(chǎn)生應答信號,如果器件已選擇了寫(xiě)操作,則在每接收1個(gè)8位字節之后1個(gè)應答信號。
當該器件工作于讀模式時(shí),在發(fā)送1個(gè)8位數據后釋放SDA線(xiàn)并監測1個(gè)應答信號,一旦接收到應答信號,則繼續發(fā)送數據,若主器件沒(méi)有發(fā)送應答信號,器件停止傳送數據并等待1個(gè)停止信號。
掌握了AT24C512的操作時(shí)序后再配合一定的地址/數據信息就可完成該器件的讀寫(xiě)操作。
評論