新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 鐵電存儲(chǔ)器FM24C16原理及在多MCU系統(tǒng)中應(yīng)用

鐵電存儲(chǔ)器FM24C16原理及在多MCU系統(tǒng)中應(yīng)用

作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏
1 鐵電存儲(chǔ)器技術(shù)原理、特性及應(yīng)用

美國(guó)Ramtron公司鐵電存儲(chǔ)器(FRAM)的核心技術(shù)是鐵電晶體材料。這一特殊材料使鐵電存儲(chǔ)器同時(shí)擁有隨機(jī)存取記憶體(RAM)和非易失性存儲(chǔ)器的特性。鐵電晶體的工作原理是:當(dāng)在鐵電晶體材料上加入電場(chǎng),晶體中的中心原子會(huì)沿著電場(chǎng)方向運(yùn)動(dòng),達(dá)到穩(wěn)定狀態(tài)。晶體中的每個(gè)自由浮動(dòng)的中心原子只有2個(gè)穩(wěn)定狀態(tài),一個(gè)記為邏輯中的0,另一個(gè)記為1。中心原子能在常溫、沒(méi)有電場(chǎng)的情況下,停留在此狀態(tài)達(dá)100年以上。鐵電存儲(chǔ)器不需要定時(shí)刷新,能在斷電情況下保存數(shù)據(jù)。由于整個(gè)物理過(guò)程中沒(méi)有任何原子碰撞,鐵電存儲(chǔ)器有高速讀寫、超低功耗和無(wú)限次寫入等特性。

鐵電存儲(chǔ)器和E2PROM比較起來(lái),主要有以下優(yōu)點(diǎn):

(1)FRAM可以以總線速度寫入數(shù)據(jù),而且在寫入后不需要任何延時(shí)等待,而E2PROM在寫入后一般要5~10 ms的等待數(shù)據(jù)寫入時(shí)間;

(2)FRAM有近乎無(wú)限次寫入壽命。一般E2PROM的壽命在十萬(wàn)到一百萬(wàn)次寫入時(shí),而新一代的鐵電存儲(chǔ)器已經(jīng)達(dá)到一億個(gè)億次的寫入壽命。

(3)E2PROM的慢速和大電流寫入使其需要高出FRAM 2 500倍的能量去寫入每個(gè)字節(jié)。

由于FRAM有以上優(yōu)點(diǎn),其特別適合于那些對(duì)數(shù)據(jù)采集、寫入時(shí)間要求很高的場(chǎng)合,而不會(huì)出現(xiàn)數(shù)據(jù)丟失,其可靠的存儲(chǔ)能力也讓我們可以放心的把一些重要資料存儲(chǔ)于其中,其近乎無(wú)限次寫入的使用壽命,使得他很適合擔(dān)當(dāng)重要系統(tǒng)里的暫存記憶體,用來(lái)在子系統(tǒng)之間傳輸各種數(shù)據(jù),供各個(gè)子系統(tǒng)頻繁讀寫。從FRAM問(wèn)世以來(lái),憑借其各種優(yōu)點(diǎn),已經(jīng)被廣泛應(yīng)用于儀器儀表、航空航天、工業(yè)控制系統(tǒng)、網(wǎng)絡(luò)設(shè)備、自動(dòng)取款機(jī)等。

在設(shè)計(jì)的碳控儀系統(tǒng)中,由于對(duì)控制碳勢(shì)適時(shí)性的要求較高,而且系統(tǒng)由2個(gè)子系統(tǒng)構(gòu)成,每個(gè)子系統(tǒng)都要頻繁讀寫存儲(chǔ)器,所以我們把原來(lái)的X25045換成FM24C16以滿足要求。如圖1及表1所示。




FM24C16是串行非易失存儲(chǔ)器,存儲(chǔ)容量為2 048×8 b,共分8頁(yè),每頁(yè)256 B;工作電壓為+5 V;接口方式為工業(yè)標(biāo)準(zhǔn)的2線接口:SDA和SCL;功能操作和串行E2PROM相似,有讀和寫兩種操作狀態(tài),讀、寫時(shí)序和I2C總線類似。

FM24C16的寫操作可以分為2種:字節(jié)寫和頁(yè)面寫。字節(jié)寫就是每次寫入單個(gè)字節(jié),頁(yè)面寫可以一次寫入整頁(yè)(256 B)的數(shù)據(jù)。而且,由于沒(méi)有寫延時(shí),數(shù)據(jù)寫入速度很快(一般為μs級(jí)),特別是在頁(yè)面寫的時(shí)候,不需要數(shù)據(jù)緩沖,可以一次寫入256 B的數(shù)據(jù),真正實(shí)現(xiàn)頁(yè)面寫,這是其他E2PROM做不到的,比如AT24C16,在頁(yè)面寫的時(shí)候,每次最多能寫入16 B數(shù)據(jù)。

FM24C16的寫操作時(shí)序中可分為起始位(START)、數(shù)據(jù)位、從應(yīng)答位、停止位(STOP),其中,從應(yīng)答位(因?yàn)镕M24C16為從器件,MCU為主器件,所以稱為從應(yīng)答)是FM24C16在每接收一個(gè)字節(jié)數(shù)據(jù)后發(fā)出的應(yīng)答信號(hào),是檢驗(yàn)數(shù)據(jù)寫入是否成功的惟一標(biāo)志。寫入過(guò)程為:MCU通過(guò)SDA,SCL發(fā)出起始位,然后從SDA輸出從器件固定地址位:1010,再輸出3 b頁(yè)選擇位(選擇寫入數(shù)據(jù)到FM24C16的哪一頁(yè)),再輸出寫控制位0(讀為1,寫為0),然后接收來(lái)自FM24C16的從應(yīng)答位,如果沒(méi)有收到從應(yīng)答,則退出操作。在接收到從應(yīng)答后,MCU從SDA串行輸出8位FM24C16字節(jié)地址以確定寫入數(shù)據(jù)的字節(jié)單元,并在收到從應(yīng)答后發(fā)送1 b數(shù)據(jù)寫入到FM24C16,然后等待從應(yīng)答信號(hào)確認(rèn)數(shù)據(jù)寫入成功。如果是字節(jié)寫,則由MCU發(fā)出停止位,結(jié)束寫操作。如果是頁(yè)面寫,MCU輸出第2個(gè)字節(jié)數(shù)據(jù),F(xiàn)M24C16判斷出MCU要繼續(xù)寫入數(shù)據(jù)后,自動(dòng)使其內(nèi)部的地址指針加1,并把數(shù)據(jù)寫入到加1后的字節(jié)單元,然后給出從應(yīng)答,MCU就繼續(xù)寫入數(shù)據(jù)到FM24C16。頁(yè)面寫操作時(shí),當(dāng)?shù)刂分羔樀?FH(頁(yè)尾地址)單元的時(shí)候,在下一個(gè)寫入周期時(shí)自動(dòng)翻轉(zhuǎn)到00H,寫入的數(shù)據(jù)覆蓋掉00H單元原來(lái)的數(shù)據(jù)。

具體寫操作時(shí)序圖和后面的讀操作時(shí)序圖比較繁瑣,在這里不給出,如果需要,可以登錄到ramtron公司網(wǎng)站:http://www.Ramtron.com查閱技術(shù)資料,或者登錄到其在大陸的代理商網(wǎng)站:http://www.ramtron.com.cn/china/product/data.a(chǎn)sp去查閱技術(shù)資料,也可以仿I2C總線時(shí)序圖。

FM24C16讀操作比寫操作較為復(fù)雜,相應(yīng)也可以分為2種:字節(jié)讀和頁(yè)面讀,相應(yīng)于字節(jié)寫和頁(yè)面寫,兩種讀的功能也是單字節(jié)和整頁(yè)的區(qū)別。讀操作的另一種分法可分為:立即讀和任意讀(包括連續(xù)讀),其區(qū)別在于立即讀是在寫入數(shù)據(jù)后馬上讀數(shù),而任意讀和連續(xù)讀則是隨時(shí)讀,所以,在他們操作時(shí),必須先執(zhí)行偽寫,然后再讀數(shù)。所謂偽寫,是指執(zhí)行寫操作到寫入數(shù)據(jù)之前,其目的是確定要讀出的字節(jié)單元地址。下面對(duì)任意讀的操作過(guò)程給予說(shuō)明:執(zhí)行寫操作到寫入數(shù)據(jù)前,也就是在收到輸入字節(jié)單元地址后的從應(yīng)答后,MCU再發(fā)送起始位,然后發(fā)送從器件固定地址(1010)、3 b頁(yè)選擇位和讀控制位1,在收到從應(yīng)答后,MCU從FM24C16里面讀出1 B的數(shù)據(jù)。如果只讀1 B的數(shù)據(jù),則MCU發(fā)送一個(gè)無(wú)需應(yīng)答信號(hào),然后發(fā)送停止位結(jié)束讀操作。如果是頁(yè)面讀,MCU就發(fā)一個(gè)主應(yīng)答信號(hào),繼續(xù)讀下一個(gè)字節(jié)數(shù)據(jù),直到讀出最后一個(gè)字節(jié)數(shù)據(jù)后,MCU發(fā)出無(wú)需應(yīng)答信號(hào)和停止位結(jié)束讀操作。

在對(duì)FM24C16進(jìn)行讀、寫操作的過(guò)程中,應(yīng)該注意以下2個(gè)問(wèn)題:

(1)時(shí)序問(wèn)題,這主要是指SDA,SCL的高低電平的時(shí)序。如果在讀、寫過(guò)程中時(shí)序不對(duì)或者不穩(wěn)定,都會(huì)引起讀、寫失敗,所以為了保證穩(wěn)定,可以在程序中適當(dāng)加入NOP語(yǔ)句延時(shí),但不要過(guò)多,以免影響讀、寫速度。

(2)SDA數(shù)據(jù)只能在SCL為低期間變化,在SCL82為高期間,SDA數(shù)據(jù)要保持不變,否則會(huì)被錯(cuò)誤地認(rèn)為是控制位而不是數(shù)據(jù)位,導(dǎo)致讀、寫失敗。

3 應(yīng)用接口及程序

FM24C16與單片機(jī)接口電路非常簡(jiǎn)單,下面以碳控儀系統(tǒng)中的應(yīng)用為例給予說(shuō)明,并給出部分子程序。應(yīng)用接口圖如圖2所示,系統(tǒng)中采用2片AT89C55單片機(jī),用其P2.0和P2.1口與SDA,SCL相連接,在SDA和SCL引腳接1.8 kΩ的上拉電阻到+5 V,工作電源也為+5 V,WP引腳接電源地以保證可以任意寫入數(shù)據(jù)。2片AT89C55用P1.0,P1.1作為通訊口,來(lái)確定誰(shuí)操作FM24C16:片1操作前,檢測(cè)P1.0口,如果為高,則置低P1.1口,向片2發(fā)出占用FM24C16信號(hào),然后再檢測(cè)P1.0口,還為高,則進(jìn)入操作,若為低,則退出操作并把P1.1口置高;如果P1.0口為低,則說(shuō)明片2占用FM24C16,片1就放棄操作,等待下次查詢和操作。片2的操作相對(duì)應(yīng)于片1。這樣,F(xiàn)M24C16不僅作為了公共數(shù)據(jù)區(qū),而且也成為了2片MCU的一個(gè)模擬的通訊口,而且理論上來(lái)說(shuō),1片F(xiàn)M24C16上可以掛很多MCU,而可以省去不必要的MCU間的通訊。這就需要FM24C16承受快速、頻繁讀寫,這是其他E2PROM望塵莫及的。

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


技術(shù)專區(qū)

關(guān)閉