




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、EEPROM是"Electrically Erasable Programmable Read-only"(電可擦寫可編程只讀存儲器)的縮寫,EEPROM在正常情況下和EPROM一樣,可以在掉電的情況下保存數(shù)據(jù),所不同的是它可以在特定引腳上施加特定電壓或使用特定的總線擦寫命令就可以在在線的情況下方便完成數(shù)據(jù)的擦除和寫入,這使EEPROM被用于廣闊的的消費者范圍,如:汽車、電信、 醫(yī)療、工業(yè)和個人計算機相關的市場,主要用于存儲個人數(shù)據(jù)和配置/調(diào)整數(shù)據(jù)。EEPROM又分并行EEPROM和串行EEPROM,并行EEPROM器件雖然有很快的讀寫的速度,但要使用很多的電路引腳。串行E
2、EPROM器件功能上和并行EEPROM基本相同,提供更少的引腳數(shù)、更小的封裝、更低的電壓和更低的功耗,是現(xiàn)在使用的非易失性存儲器中靈活性最高的類型。串行EEPROM按總線分,常用的有I2C,SPI,Microwire總線。本文將介紹這三種總線連接單片機的編程方法。I2C總線I2C總線(Inter Integrated Circuit內(nèi)部集成電路總線)是兩線式串行總線,僅需要時鐘和數(shù)據(jù)兩根線就可以進行數(shù)據(jù)傳輸,僅需要占用微處理器的2個IO引腳,使用時十分方便。I2C總線還可以在同一總線上掛多個器件,每個器件可以有自己的器件地址,讀寫操作時需要先發(fā)送器件地址,該地址的器件得到確認后便執(zhí)行相應的操作
3、,而在同一總線上的其它器件不做響應,稱之為器件尋址,這個原理就像我們打電話的原理相當。I2C總線產(chǎn)生80年代,由PHLIPS公司開發(fā),早期多用于音頻和視頻設備,如今I2C總線的器件和設備已多不勝數(shù)。最常見的采用I2C總線的EEPROM也已被廣泛使用于各種家電、工業(yè)及通信設備中,主要用于保存設備所需要的配置數(shù)據(jù)、采集數(shù)據(jù)及程序等。生產(chǎn)I2C總線EEPROM的廠商很多,如ATMEL、Microchip公司,它們都是以24來開頭命名芯片型號,最常用就是24C系列。24C系列從24C01到24C512,C后面的數(shù)字代表該型號的芯片有多少K的存儲位。如ATMEL的24C64,存儲位是64K位,也就是說可
4、以存儲8K(8192)字節(jié),它支持1.8V到5V電源,可以擦寫1百萬次,數(shù)據(jù)可以保持100年,使用5V電源時時鐘可以達到400KHz,并且有多種封裝可供選擇。我們可以很容易的在身邊的電器設備中發(fā)現(xiàn)它們的身影,如電視中用于保存頻道信息,電腦內(nèi)存條中保存內(nèi)存大小等相關信息,汽車里用于保存里程信息等等。圖一就是ATMEL24C64芯片的PID封裝和用于內(nèi)存條SPD(Serial Presence Detect)上的24芯片。圖1圖2圖二是ATMEL公司24C64的引腳定義圖。A0-A2用于設置芯片的器件地址,在同一總線上有多個器件時,可以通過設置A0-A2引腳來確定器件地址。SDA是串行數(shù)據(jù)引腳,用
5、于在芯片讀寫時輸入或輸出數(shù)據(jù)、地址等,這個引腳是雙向引腳,它是漏極開路的,使用時需要加上一個上拉電阻。SLC腳是器件的串行同步時鐘信號,如果器件是使用在單片機系統(tǒng)中,那么SLC腳應該由單片機控制,根據(jù)單片機的程序要求產(chǎn)生串行同步時鐘信號,控制總線的存取。WP腳是寫保護腳,當這個腳接入高電平時,芯片的芯片數(shù)據(jù)均處于禁止寫入狀態(tài)(所禁止的地址段要看各芯片的詳細資料),當把WP腳接到地線時,芯片處于正常的讀寫狀態(tài)。當一個電路要求正常使用時是不允許程序修改EEPROM中的數(shù)據(jù),只有在維護設置才可以修改數(shù)據(jù),這時可以在電路上設置WP跳線或用微處理器對WP進行控制,這樣只有在特定的電路狀態(tài)下才可以更改到數(shù)
6、據(jù)。要在單片機系統(tǒng)中應用I2C總線的EEPROM做存儲設備時,先要了解I2C總線的基本驅(qū)動方法。在I2C總線空閑時,SDA和SCL應為高電平,也只有在這個條件下,微處理器才可以控制總線進行傳輸數(shù)據(jù)。在數(shù)據(jù)傳輸?shù)膭傞_始時,總線要求有一個START(開始位)位做為數(shù)據(jù)開始的標識,它的要求是SCL為高時,SDA有一個從高到低的電平跳變動作,完成這個動作后才可以進行數(shù)據(jù)傳輸,時序圖參看圖三'開始'。傳輸數(shù)據(jù)時,只有在SCL為高電平時,SDA上的電平為有效數(shù)據(jù)。編寫單片機向總線送數(shù)據(jù)程序時則可以在SCL還在低電平時,把數(shù)據(jù)電平送到SDA,然后拉高SCL,這時SDA不應有電平跳變,延時后拉
7、低SCL,再進行下一位的數(shù)據(jù)傳送直到完成。在總線上讀數(shù)據(jù)時也是只有在SCL為高時,SDA為有效數(shù)據(jù)。時序參看圖三'保持'。傳送數(shù)據(jù)完成后,總線要有一個STOP(結(jié)束位)位,來通知總線本次傳輸已結(jié)束,它的要求是SCL為高時,SDA有一個從低到高的電平跳變動作,正好和START位相反。在編程時要注意的是:不要在SCL為高時改變SDA的電平狀態(tài),否則可能會被誤認為是停止位,而使得操作失敗。圖3I2C總線在每接收完一個字節(jié)(8個二進制位)后,在第九個時鐘信號時,會在SDA上回應一個低電平的ACK應答信號,以此表明當前受控的器件已接收完一個字節(jié),可以開始下一個字節(jié)的傳送了。時序圖可以參看
8、圖四。單片機編程時可以在傳送完一個字節(jié)后,把連接SDA的IO口線設置回讀數(shù)據(jù)狀態(tài),如使用51系列的單片機時就要把IO口置高電平。然后在SCL操作一個脈沖,在SCL為高時讀取SDA,如不為低電平就說明器件狀態(tài)不空閑或出錯。需要注意因為SDA是雙向的IO,無論是微處理器接收還是器件接收,每個字節(jié)完成后,接收方都可以發(fā)送一個ACK回應給發(fā)送方。圖4I2C總線在操作受控器件時,需要先發(fā)送受控器件的器件地址,24系列的EEPROM也不例外,在每次命令前需要先發(fā)送一個字節(jié)的器件地址和讀寫標識,也可稱為器件錄址。圖五是24C64的器件尋址命令中每個位所代表的意思。A2、A1、A0位是器件地址,它是對應于芯片
9、的A2、A1、A0引腳,也就是說如果芯片A0引腳被設置成高電平時,在發(fā)送器件地址命令時字節(jié)中的A0位要設置為1,A0引腳為低電平時A0位設置為0。這樣不難看出在同一總線可以掛8個24C64。ATMEL公司的24C系列芯片24C32及以上的型號使用16位地址進行尋址。24C32之前的型號因為使用的是8位地址,所以在超過256字節(jié)的8位地址型號中會占用到A0、A1、A2位的來做頁地址,每頁有256字節(jié),以此解決地址位不足的問題。所以不同的型號器件地址位定義就有所不同,各型號的器件地址字節(jié)定義如圖五至圖七。要注意的是24C01是沒有器件地址的,還有24C16/16A的A0A2已被頁地址占用完,也就是
10、說這三個型號的芯片只能在同一總線上掛一個,所以在設計電路選擇器件時要注意這個問題。器件地址字節(jié)中的R/W位是用于標識當前操作是讀器件還是寫器件,寫器件時R/W位設置0,讀器件時R/W位設置1。圖5圖6圖724C系列芯片的讀寫指令格式只有幾種,下面以24C64芯片的指令格式來說明。寫入單個字節(jié)寫入字節(jié)指令每次只能向芯片中的一個地址寫入一個字節(jié)的數(shù)據(jù)。首先發(fā)送開始位來通知芯片開始進行指令傳輸,然后傳送設置好的器件地址字節(jié),R/W位應置0,接著是分開傳送十六位地址的高低字節(jié),再傳送要寫入的數(shù)據(jù),最后發(fā)送停止位表示本次指令結(jié)束。圖八是寫入單個字節(jié)的時序圖。圖8(點擊看大圖)頁寫入24C64支持32字節(jié)
11、的頁寫入模式,它的操作基本和字節(jié)寫入模式一樣,不同的是它需要發(fā)送第一個字節(jié)的地址,然后一次性發(fā)送32字節(jié)的寫入數(shù)據(jù)后,再發(fā)送停止位。寫入過程中其余的地址增量自己由芯片內(nèi)部完成。圖九頁寫入的時序圖。無論那種寫入方式,指令發(fā)送完成后,芯片內(nèi)部開始寫入,這時SDA會被芯片拉高,直到寫入完成后SDA才會重新變的有效,在編寫微處理器程序時可以在寫入的時候不停發(fā)送偽指令并查詢是否有ACK返回,如果有ACK返回則可以進行下一步操作。圖9(點擊看大圖)讀當前地址這種讀取模式是讀取當前芯片內(nèi)部的地址指針指向的數(shù)據(jù)。每次讀寫操作后,芯片會把最后一次操作過的地址作為當前的地址。在這里要注意的是在微處理器接收完芯片傳
12、送的數(shù)據(jù)后不必發(fā)送給低電平的ACK給芯片,直接拉高SDA等待一個時鐘后發(fā)送停止位。圖十是讀當前地址時序圖。圖10讀任意地址"讀當前地址"可以說是讀的基本指令,讀任意地址時只是在這個基本指令之前加一個'偽操作',這個偽操作傳送一個寫指令,但這個寫指令在地址傳送完成后就要結(jié)束,這時芯片內(nèi)部的地址指針指到這個地址上,再用讀當前地址指令就可以讀出該地址的數(shù)據(jù)。圖十一是讀任意地址的時序圖圖11(點擊看大圖)連續(xù)讀取連續(xù)讀取操作時只要在上面二種讀取方式中芯片傳送完讀取數(shù)據(jù)后,微處理器回應給芯片一個低電平的ACK應答,那么芯片地址指針自動加一并傳送數(shù)據(jù),直到微處理器不回應
13、并停止操作。圖十二是連續(xù)讀取的時序圖。圖12(點擊看大圖)ATMEL公司的24C系列的其它型號的讀寫操作方式基本和上面介紹的相同,只是在8位尋址的芯片中地址位只用一個字節(jié),還有就是在24C01中沒有器件地址,地址位只占用高7位,最低位為R/W位.。其它公司的24系列的EEPROM芯片的驅(qū)動方式也基本和以上所介紹的一樣。圖十三是筆者設計的制作簡單的24C讀寫器??梢杂盟鼇碜?4C芯片的驅(qū)動程序編寫實驗,也可以配合上位機程序做24C的讀寫器使用。上位機程序及相關內(nèi)容向筆者發(fā)送電郵索要pnzwzw。電路是由一片AT89C2051芯片做為主控芯片,作用是用于連接電腦的RS232和驅(qū)動24C芯片,晶振使
14、用11.0592M。RS232電平轉(zhuǎn)換是使用二個PNP三極管組成。電源部分則直接在RS232上的4、7引腳取電,取電時需要在用軟件控制這兩腳為+9V至+12V之間,再通過D5穩(wěn)壓得到5.1V,無需外加電源。24C64的SCL和SDA連接到P1.2/P1.3腳,因這兩個IO腳內(nèi)部有上拉,所以無需外接上拉電阻。圖13(點擊看大圖)本文附帶一份用C語言編寫的實驗源程序和編譯好的HEX文件,把HEX燒入到AT89C2051就可以開始實驗了。實驗程序是可以讀寫24C32/64/128/256/512的任意地址,程序使用模塊化函數(shù)設計,讀者朋友可以方便的加入到自己的程序中。實驗時可以用的串口調(diào)試軟件。單片機程序設計了簡單的通訊協(xié)議,使用57600比特率,通訊協(xié)議的數(shù)據(jù)包是這樣定義的:每個包有4個字節(jié),命令字、地址高位、地址低位、數(shù)據(jù)。讀取時命令字為00H,數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育心理學在提升學生社交技巧中的應用
- 游戲化在幼兒體育教育中的應用研究
- 教育大數(shù)據(jù)提升教學質(zhì)量的有效工具
- 企業(yè)信息安全文化建設的重要性與實踐
- 醫(yī)學心理學與疾病預防的交叉研究
- 智慧城市公共安全信息系統(tǒng)的基石建設
- 基于教育技術的全球混學創(chuàng)新與實踐分析報告
- 逆向思維培訓課件圖片
- 抖音商戶退款退貨處理效率考核制度
- 抖音商戶直播情感連接策略制度
- 某頂管計算書
- T-GDSCEE 109-2022 數(shù)字音頻功率放大器通用規(guī)范
- GB/T 40080-2021鋼管無損檢測用于確認無縫和焊接鋼管(埋弧焊除外)水壓密實性的自動電磁檢測方法
- GB/T 15452-2009工業(yè)循環(huán)冷卻水中鈣、鎂離子的測定EDTA滴定法
- 一二三四級應急響應流程圖參考模板范本
- 2023年公路工程監(jiān)理工作合同管理內(nèi)容及有效措施
- 《等離子弧焊》教學課件
- 一年級看圖寫話(教學)課件
- 電動車棚施工方案及工藝方法
- 嚴重藥物不良反應診斷與處理
- 前臺交接班記錄表
評論
0/150
提交評論