E2PROM芯片的特點及作用,總線




串行E2PROM是可在線電擦除和電寫入的存儲器,具有體積小、接口簡單、數據保存可靠、可在線改寫、功耗低等特點,而且為低電壓寫入,在單片機系統中應用十分普遍。  
 串行E2PROM按總線形式分為三種,即I2C總線、Microwire總線及SPI總線三種。
 一、I2C總線型   I2C總線,是INTER INTEGRATED CIRCUIT BUS的縮寫,即“內部集成電路總線”。I2C總線采用時鍾(SCL)和數據(SDA)兩根線進行數據傳輸。
1 引腳  
  SDA是串行數據腳。該腳為雙向腳,漏極開路,用於地址、數據的輸入和數據的輸出,使用時需加上拉電阻。 
  SCL是時鍾腳。該腳為器件數據傳輸的同步時鍾信號。 
  SDA和SCL腳均為施密特觸發輸入,並有濾波電路,可有效抑制噪聲尖峰信號,保證在總線噪聲嚴重時器件仍能正常工作。
  在單片機系統中,總線受單片機控制。單片機產生串行時鍾(SCL),控制總線的存取,發送STRAT和STOP信號。   
2 總線協議 
  僅當總線不忙(數據和時鍾均保持高電平)時方能啟動數據傳輸。 
  在數據傳輸期間,時鍾(SCL)為高電平時數據(SDA)必須保持不變。在SCL為高電平時數據線(SDA)從高電平跳變到低電平,為開始數據傳輸(START)的條件,開始數據傳輸條件后所有的命令有效;SCL為高電平時,數據(SDA)從低電平跳變到高電平,為停止數據傳輸(STOP)的條件,停止數據傳輸條件后所有的操作結束。 
  開始數據傳輸START后、停止數據傳輸STOP前,SCL高電平期間,SDA上為有效數據。
  字節寫入時,每寫完一個字節,送一位傳送結束信號ACK,直至STOP;讀出時,每讀完一個字節,送一位傳送結束信號ACK,但STOP前一位結束時不送ACK信號。   
3 器件尋址 
  START后,單片機發送一個控制字,該控制字包括Start位(S)、受控地址7位,讀寫(R/W)選擇位(“1”為讀,“0”為寫)及傳送結束位ACK。  
4 寫操作 
   單片機送出開始信號后,接着送器件碼(7位)、R/W位(“0”),表示ACK位后面為待寫入數據字節的字地址和待寫入數據字節,然后結束一個字節的寫入。即S+寫控制字(R/W位為“0”)+ACK(“0”)+字地址+ACK(“0”)+寫入數據+ACK(“0”)+STOP。  
5 讀操作 
  讀操作有三種,讀當前地址的內容、讀指定地址的內容、讀指定起始地址后的若干字節的內容。   讀當前地址的內容為:S+讀控制字(R/W位為“1”)+ACK+讀出數據+no ACK+STOP   讀指定地址的內容為:S+寫控制字(R/W位為“0”)+ACK+寫入數據+ACK+讀控制字(R/W位為“1”)+ACK+讀出數據+no ACK+STOP   讀指定起始地址后的若干字節的內容為:S+寫控制字(R/W位為“0”)+ACK+寫入數據+ACK+讀控制字(R/W位為“1”)+ACK+讀出數據(1)+ACK+……+讀出數據(n+x)+noACK+STOP   24XX系列串行E2PROM存儲芯片與單片機硬件接口只有SCL和SDA兩根線,非常簡單 
二、Microwire總線型   Microwire總線采用時鍾(CLK)、數據輸入(DI)、數據輸出(DO)三根線進行數據傳輸,接口簡單。Microchip公司的93XXX系列串行E2PROM存儲容量從1k bit(×8/×16)至16k bit(×8/×16),采用Microwire總線結構。產品采用先進的CMOS技術,是理想的低功耗非易失性存儲器器件。   
1 引腳 
  93XX系列串行E2PROM的產品很多,附圖是93AA46型1k 1.8V Microwire總線串行E2PROM的引腳圖。   CS是片選輸入,高電平有效。CS端低電平,93AA46為休眠狀態。但若在一個編程周期啟動后,CS由高變低,93AA46將在該編程周期完成后立即進入休眠狀態。在連續指令與連續指令之間,CS必須有不小於250ns(TCSL)的低電平保持時間,使之復位(RESET),芯片在CS為低電平期間,保持復位狀態。   CLK是同步時鍾輸入,數據讀寫與CLK上升沿同步。對於自動定時寫周期不需要CLK信號。   DI是串行數據輸入,接受來自單片機的命令、地址和數據。   DO是串行數據輸出,在DO端需加上拉電阻。   ORG是數據結構選擇輸入,當ORG為高電平時選×16結構,ORG為低電平時選×8結構。  
 2 工作模式   根據單片機的不同命令,93AA46有7種不同的工作模式,附表給出在ORG=1(×16結構)時的命令集(表中“S”為Start位)。ORG=0(×8結構),除在地址前加A6位或在地址后加一位“X”外,其余與附表相同。
 
三、 SPI的通信原理很簡單,它以主從方式工作,這種模式通常有一個主設備和一個或多個從設備,需要至少4根線,事實上3根也可以(單向傳輸時)。也是所有基於SPI的設備共有的,它們是SDI(數據輸入),SDO(數據輸出),SCK(時鍾),CS(片選)。
(1)SDO – 主設備數據輸出,從設備數據輸入
(2)SDI – 主設備數據輸入,從設備數據輸出
(3)SCLK – 時鍾信號,由主設備產生
(4)CS – 從設備使能信號,由主設備控制
其中CS是控制芯片是否被選中的,也就是說只有片選信號為預先規定的使能信號時(高電位或低電位),對此芯片的操作才有效。這就允許在同一總線上連接多個SPI設備成為可能。
接下來就負責通訊的3根線了。通訊是通過數據交換完成的,這里先要知道SPI是串行通訊協議,也就是說數據是一位一位的傳輸的。這就是SCK時鍾線存在的原因,由SCK提供時鍾脈沖,SDI,SDO則基於此脈沖完成數據傳輸。數據輸出通過 SDO線,數據在時鍾上升沿或下降沿時改變,在緊接着的下降沿或上升沿被讀取。完成一位數據傳輸,輸入也使用同樣原理。這樣,在至少8次時鍾信號的改變(上沿和下沿為一次),就可以完成8位數據的傳輸。
要注意的是,SCK信號線只由主設備控制,從設備不能控制信號線。同樣,在一個基於SPI的設備中,至少有一個主控設備。這樣傳輸的特點:這樣的傳輸方式有一個優點,與普通的串行通訊不同,普通的串行通訊一次連續傳送至少8位數據,而SPI允許數據一位一位的傳送,甚至允許暫停,因為SCK時鍾線由主控設備控制,當沒有時鍾跳變時,從設備不采集或傳送數據。也就是說,主設備通過對SCK時鍾線的控制可以完成對通訊的控制。SPI還是一個數據交換協議:因為SPI的數據輸入和輸出線獨立,所以允許同時完成數據的輸入和輸出。不同的SPI設備的實現方式不盡相同,主要是數據改變和采集的時間不同,在時鍾信號上沿或下沿采集有不同定義,具體請參考相關器件的文檔。
在點對點的通信中,SPI接口不需要進行尋址操作,且為全雙工通信,顯得簡單高效。在多個從設備的系統中,每個從設備需要獨立的使能信號,硬件上比I2C系統要稍微復雜一些。
最后,SPI接口的一個缺點:沒有指定的流控制,沒有應答機制確認是否接收到數據。
AT91RM9200的SPI接口主要由4個引腳構成:SPICLK、MOSI、MISO及 /SS,其中SPICLK是整個SPI總線的公用時鍾,MOSI、MISO作為主機,從機的輸入輸出的標志,MOSI是主機的輸出,從機的輸入,MISO 是主機的輸入,從機的輸出。/SS是從機的標志管腳,在互相通信的兩個SPI總線的器件,/SS管腳的電平低的是從機,相反/SS管腳的電平高的是主機。在一個SPI通信系統中,必須有主機。SPI總線可以配置成單主單從,單主多從,互為主從。
SPI的片選可以擴充選擇16個外設,這時PCS輸出=NPCS,說NPCS0~3接4-16譯碼器,這個譯碼器是需要外接4-16譯碼器,譯碼器的輸入為NPCS0~3,輸出用於16個外設的選擇。
SPI協議舉例
SPI是一個環形總線結構,由ss(cs)、sck、sdi、sdo構成,其時序其實很簡單,主要是在sck的控制下,兩個雙向移位寄存器進行數據交換。
假設下面的8位寄存器裝的是待發送的數據10101010,上升沿發送、下降沿接收、高位先發送。
那么第一個上升沿來的時候 數據將會是sdo=1;寄存器=0101010x。下降沿到來的時候,sdi上的電平將所存到寄存器中去,那么這時寄存器=0101010sdi,這樣在 8個時鍾脈沖以后,兩個寄存器的內容互相交換一次。這樣就完成里一個spi時序。I2C總線  I2C(Inter-Integrated Circuit)總線是一種由PHILIPS公司開發的兩線式串行總線,用於連接微控制器及其外圍設備。I2C總線產生於在80年代,最初為音頻和視頻設備開發,如今主要在服務器管理中使用,其中包括單個組件狀態的通信。例如管理員可對各個組件進行查詢,以管理系統的配置或掌握組件的功能狀態,如電源和系統風扇。可隨時監控內存、硬盤、網絡、系統溫度等多個參數,增加了系統的安全性,方便了管理。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM