亚洲视频一区二区三区_国产在线拍偷自揄拍精品_日韩av在线看_日本久久久久久久久久久_精品国产区一区二区三区在线观看_国产日产欧美a一级在线_日韩亚洲在线观看_日韩久久精品电影_久久综合电影一区_2021国产精品视频_国产精品小说在线_欧美—级高清免费播放_一区二区三区高清国产_91av视频在线免费观看_一二美女精品欧洲_成人网在线免费看

  • 帶RTC的I2C總線鐵電存儲器FM31256
    單片機與嵌入式系統應用

    摘要 FM31256是一種基于I2C總線、采用鐵電體技術的多功能存儲芯片。除了非易失存儲器外,該器件還具有實時時鐘、低電壓復位、看門狗計數器、非易失性事件計數器、可鎖定的串行數字標識等多種功能。文章主要介紹了FM31256的基本功能、原理,并結合實例給出了其在電磁鑄軋電源控制裝置中的具體應用方法。
    關鍵詞 I2C總線 鐵電體技術 RTC MSP430F

      FM31256是由Ramtron公司推出的新一代多功能系統監控和非易失性鐵電存儲芯片。與其他非易失性存儲器比較,它具有如下優點: 讀/寫速度快,沒有寫等待時間;功耗低,靜態電流小于1 mA,寫入電流小于150 mA;擦寫使用壽命長,芯片的擦寫次數為100億次,比一般的EEPROM存儲器高10萬倍,即使每秒讀/寫30次,也能用10年;讀/寫的無限性,芯片擦寫次數超過100億次后,還能和SRAM一樣讀/寫。

      鐵電存儲器(FRAM)的核心技術是鐵電晶體材料。這一特殊材料使鐵電存儲器同時擁有隨機存取存儲器(RAM)和非易失性存儲的特性。本文介紹了FM31256的主要功能,并具體給出了基于嵌入式C語言編寫的存儲器讀/寫程序。

    1  FM31256的基本結構及原理

      FM31256由256 KB存儲器和處理器配套電路(processor companion)兩部分組成。與一般的采用備份電池保存數據不同,FM31256是真正意義上的非易失(truly nonvolatile)存儲器,并且用戶可以選擇對不同的存儲區域以軟件方式進行寫保護。

      FM31256 器件將非易失FRAM與實時時鐘(RTC)、處理器監控器、非易失性事件計數器、可編程可鎖定的64位ID號和通用比較器相結合。其中,通用比較器可提前在電源故障中斷(NMI)時發揮作用或實現其他用途。采用先進的0.35 μm制造工藝,這些功能通過一個通用接口嵌入到14個引腳的SOIC封裝中,從而取代系統板上的多個元件。存儲器的讀/寫以及其他控制功能都通過工業標準的I2C總線來實現。

      圖1為FM31256的原理圖。其中,SDA和SCL引腳用于與CPU進行數據交換和命令寫入,數據輸出部分均具有施密特觸發器,以提高抗干擾性能;同時,SDA作為二線接口中的雙向信號線,集電極開路輸出,可與二線總線上其他器件進行“線或”。A1~A0為器件地址選擇信號,即總線上可同時使用4個同類器件。正常模式下,PFI引腳分別為比較器的輸入(不可懸空),CAL/PFO引腳輸出PFI引腳的輸入信號與1.2 V參考電壓之間的比較結果;校準模式下,CAL/PFO引腳將輸出512 Hz的方波用于時鐘校準。CNT2~CNT1是通過備份電池支持的事件計數器的兩路輸入端,通過邊沿觸發啟動計數器,觸發沿由用戶自由選擇。
                 

    圖1  FM31256原理圖

    2  FM31256功能及使用方法

      在FM31256中,有25個特殊功能寄存器(SFR)00H~18H。通過對這些功能寄存器進行操作,可以實現各種功能。

    2.1  特殊功能寄存器

    (1)  實時時鐘和比較器

      實時時鐘包括晶體振蕩器、時鐘分頻器和寄存器系統。它分割32.768 Hz的時基信號以提供1 s(1 Hz)的分辨率,寄存器(02H~08H)以BCD格式提供秒、分、時、星期、日、月、年信息,用戶可對其進行讀/寫訪問。啟動時鐘前須將SFR中01H地址的OSCEN位(D7)置位,振蕩器起振;同時將00H地址的R位(D0)置位,可將時鐘數據寫入寄存器用于讀出。若此時正處于時鐘刷新階段,則由于刷新操作優先于寫入寄存器的操作,因而保證了時鐘的準確性。重新設置時鐘時,只須設定00H地址的W位。

      FM31256的時鐘精度可通過軟件校準,將00H地址的CAL位(D2)置位,時鐘進入校準模式,比較器輸出512 Hz的頻率信號,并可通過設置01H地址的CAL4~CAL0位(D4~D0)確定校準值。當00H地址的CAL位(D2)為0時,進入比較器模式。

    (2)  處理器伴侶

      處理器伴侶包括CPU通常需要的功能。系統監測由低電平狀態或看門狗計數溢出的中斷輸出信號。

      當系統電源電壓低于設定的閾值或看門狗計數器溢出時,FM31256將輸出低電平復位脈沖,復位信號持續100 ms。改變0BH地址的VTP1~VTP0位(D1~D0),可以設定電平檢測的閾值;改變0AH地址的WDT4~WDT0位(D4~D0),看門狗的溢出時間可以在100 ms到3 s之間選擇,其中0AH地址的WDE位(D7),用于看門狗啟動或停止;09H地址用于監視復位信號來源(看門狗計數器、上電復位或后備電源電壓)以及控制看門狗計數器清零。系統軟件須在要求的時間周期內,向09H地址的WR3~WR0位(D3~D0)寫入1010,使計數器清零。

    (3)  事件計數器

      FM31256有2個獨立的后備電池支持的16位事件計數器CN1和CN2,位于寄存器0DH~10H中。若將SFR中0CH地址的CC位(D2)置位,則可以組成一個32位的計數器。CIN1和CIN2是事件計數器信號輸入端,在32位計數器模式下CIN2無效。計數采用可編程邊沿觸發方式,若0CH地址的C1P位(D0)置位,則CIN1采用上升沿觸發,否則是下降沿觸發;0CH地址的C2P位(D1)用于控制CIN2。

    (4)  串行數據標識區

      FM31256的SFR中的11H~18H地址串行標識區中可以保存8字節(64位)數據。該存儲區為非易失性存儲區,可對其進行無限次的讀/寫操作,但如果將0BH地址的SNL位(D7)置位,則不能再對該存儲區進行操作,且這種操作是不可逆的。

    2.2  FM31256的讀/寫操作

      FM31256作為從機,集成了兩個功能不同的部件,每個部件都可以被獨立訪問。一個是存儲器,訪問時從機地址的位7~4必須被設置為1010B;若要訪問實時時鐘/處理器伴侶,則從機地址的位7~4必須被設置為1101B。該器件采用二線制的I2C接口,二線協議由SDA和SCL兩個引腳的狀態確定。共有4種狀態: 開始、停止、數據傳輸及應答。其通信基本格式如圖2所示。
             

    圖2  I2C總線通信基本格式

      FM31256嚴格按I2C總線的時序和數據格式操作,其訪問操作過程可描述為如下步驟: 啟動—從機地址—應答—目標地址—應答—(啟動—從機地址—應答)—數據(單或多字節)—應答—停止(注: 從機地址中包含了讀寫命令;括號中的步驟為當前地址讀和連續地址讀命令所特有的)。這里對應答信號作些說明。應答脈沖發生在第8個數據位傳送之后。在這個狀態下,發送方須釋放SDA讓接收方驅動;當接收方發出低電平時,表示正常應答,當發出高電平時,表示無應答。不應答有兩種情況: 一是數據傳送出錯,無應答使發送方終止當前操作,以便重新尋址;二是接收方有意不作應答,以結束當前操作。

      在對SFR操作時,首先發送的命令字節為“1 1 0 1 X A1 A0 R/W”,目標地址為單字節范圍(00H~18H)。FM31256的32 KB存儲單元地址為0000H~7FFFH,對其進行操作時,首先發送的命令字節為“1 0 1 0 X A1 A0 R/W”,目標地址長度為雙字節,即RAM區的尋址能力為0~65 535。FM31系列存儲器具有內部地址鎖存和自動累加功能,當對連續地址區進行讀/寫操作時,只須發送存儲區首地址。

    3  FM31256在電磁鑄軋電源控制中的應用

      將FM31256應用在電磁鑄軋電源控制裝置當中,實現主控系統的看門狗復位、給定參數、實時時鐘及故障記錄保存的功能。

      作為一種解決微處理器因干擾而死機問題的有效方法,看門狗的作用是必不可少的。針對控制對象,需要對A、B、C三相控制裝置進行調節,包括設定正弦波的頻率和幅值、反饋系數、PID參數、過流延時、開放延時和關斷延時等;將這些給定的參數及時寫入鐵電存儲器FM31256的存儲單元中,使之掉電后仍能保存。當系統發生故障時,例如控制裝置中晶閘管周圍溫度超過額定溫度,裝置就會發出報警信號,并將發生故障的準確時間、實際溫度值記錄在FM31256的存儲單元中,以便系統查詢;同時,FM31256的事件計數器加1計數。同樣,利用串行標識區可鎖定的功能,可將電磁鑄軋電源控制裝置的序列號寫入其中,非常安全可靠。

    3.1  硬件原理

      電磁鑄軋電源控制裝置應用FM31256的硬件接口電路如圖3所示。從圖3中可以看出,系統以超低功耗MSP430系列芯片MSP430F149作為控制器;FM31256作為參數存儲單元,與處理器之間采用I2C總線進行通信。由于MSP430F149沒有I2C總線接口,所以任取2個I/O口模擬。實時時鐘在VDD掉電以后自動切換到后備電源VBAK。
             

    圖3  FM31256與MSP430F149的硬件接口電路

      32.768 kHz晶振等效于6 pF電容。若將SFR的01H單元對應的OSCEN位設為0,同時置00H單元的CAL位為1,使CAL引腳輸出512 Hz的脈沖信號,則可檢測晶振工作是否正常,因為512 Hz是晶振頻率的64分頻。制PCB板時須注意: X1和X2晶振引腳均為高阻引腳,兩引腳之間的距離須小于5 mm;即使信號位于板內層,也不允許信號線靠近X1和X2引腳。在晶振引腳周圍使用接地保護環,內部或板反面使用接地保護敷銅。

    3.2  存儲區訪問程序設計

      對FM31256存儲器訪問操作過程中,微處理器處于主機地位,器件始終處于從機地位。根據上述對FM31256的分析,可以把所有的通信過程歸納為3種類型: ① 單脈沖,如Start、Stop、Ack、Nack;② 字節發送,如從機地址、目標地址和數據傳送;③ 字節接收,如讀操作中的數據傳送。因此只要把這些操作以子程序的形式編寫好,所有的通信操作就可通過調用這些子程序來完成。這里以MSP430F149微處理器的嵌入式C語言編寫。設微處理器端口P6.6為數據線(SDA);P5.4為時鐘線(SCL)。

      限于篇幅,本文不作詳細介紹,只給出模擬I2C總線及字節寫入、讀出的部分C語言程序:

      #defineRTC_SDABIT6
      #defineRTC_SCLBIT4
      void FM31256_Start(void) {/*FM31256啟動程序*/
        P6OUT |=RTC_SDA;// SDA=1
        P5OUT |=RTC_SCL;// SCL=1
        delay(IIC_DELAY);
        P6OUT &=~ RTC_SDA;// SDA=0
        delay(IIC_DELAY);
        P5OUT &=~ RTC_SCL;// SCL=0}
      void FM31256_Stop( void ) {/*FM31256停止程序*/
        P6OUT &=~ RTC_SDA;// SDA=0
        delay(IIC_DELAY);
        P5OUT |=RTC_SCL;// SCL=1
        delay(IIC_DELAY);
        P6OUT |=RTC_SDA;// SDA=1
        delay(IIC_DELAY);}
      void FM31256_Send_Ack( void ) {/*FM31256應答程序*/
        P5OUT &=~ RTC_SCL;// SCL=0
        P6OUT &=~ RTC_SDA;// SDA=0
        P5OUT |=RTC_SCL;// SCL=1
        delay(IIC_DELAY);
        P5OUT &=~ RTC_SCL;// SCL=0}
      void FM31256_Send_noAck( void ) {/*FM31256不應答程序*/
        P5OUT |=RTC_SCL;// SCL=1
        delay(IIC_DELAY);
        P5OUT &=~ RTC_SCL;// SCL=0}

      說明:SCL線是高電平時,SDA線從高電平向低電平切換,表示起始條件;當SCL是高電平時,SDA線由低電平向高電平切換,表示停止條件。相關的確認時鐘脈沖由主機產生,在確認的時鐘脈沖器件發送方釋放SDA(高電平),在此期間接收方須將SDA拉低。

      void FM31256_transfByte_to_IIC( unsigned char tran_byte ) {/* CPU字節發送程序*/
        unsigned char i , current_bit =0x80;
        P5OUT &=~ RTC_SCL;
        delay(IIC_DELAY);
        for( i=0; i <=7; i++ ) {
          if ( tran_byte & current_bit )
          P6OUT |= RTC_SDA;
        else
          P6OUT &=~ RTC_SDA;
        current_bit >>=1;
        delay(IIC_DELAY);
        P5OUT |=RTC_SCL;//SCL=1
        delay(IIC_DELAY);
        P5OUT &=~ RTC_SCL;//SCL=0
        delay(IIC_DELAY);
        }
      }
      unsigned char FM31256_receByte_from_IIC( void ){/*CPU字節接收程序*/
        unsigned char mvalue, i, rece_data =0;
        P6DIR &=~ RTC_SDA;//設置為輸入方向
        P5OUT &=~ RTC_SCL; //SCL=0
        delay(IIC_DELAY);
        for(i=0;i<8;i++) {
          rece_data = rece_data<<1;
          P5OUT |=RTC_SCL;//SCL=1
          delay(IIC_DELAY);
          mvalue = P6IN & RTC_SDA;//當前位的值
          if( mvalue )//接收位為高
            rece_data = rece_data | 0x01;
          else//接收位為低
            rece_data = rece_data & 0xFE;
          P5OUT &=~ RTC_SCL;//SCL=0
          delay(IIC_DELAY);
        }
        P6DIR |=RTC_SDA;//P6.6輸出
        return(rece_data);//返回收到的字節
      }

      說明:發送到SDA線上的每個字節須為8位。tran_byte為CPU要發送的字節,CPU讀入的數據存儲在rece_data中。對FM31256存儲器可以直接對當前地址進行“讀”操作,也可以連續“讀/寫”多個字節而無須逐一指定地址。依據上述一般步驟,對存儲器的訪問操作可歸納為3種基本操作: ①  設置當前操作目標地址; ②  寫入數據; ③  讀出數據。

      訪問存儲器操作有多種,如內存“寫”、當前地址或順序連續“讀”和隨機地址“讀”操作。在控制程序中,需要向FM31256內存中寫入并讀出給定參數、故障信息等數據。內存讀/寫的方法如下:

      內存寫操作,首先由CPU發送從機地址,然后是內存16位地址,主機通過設置從機地址字節的最低位為0聲明一個寫操作;接收應答信號后,CPU向FM31256發送數據的每個字節,之后器件又產生應答信號,任何數量的連續字節可以被寫入,以停止信號結束傳輸。有兩種類型的讀操作:當前地址讀操作和隨機地址讀操作。讀操作同樣先由CPU發送從機地址,主機通過設置從機地址字節的最低位為1聲明一個讀操作。當要進行隨機讀操作時,還要在讀取數據之前,發送16位內存地址之后讀取任意個字節,每個字節后應跟隨應答信號,以停止信號結束傳輸。

      在電磁鑄軋電源控制裝置的主控程序中,還將調用時鐘刷新函數Flash_time()、時鐘寫入函數Write_time()、寄存器寫入函數Register_write()和寄存器讀出函數Register_read()。

      啟動RTC和WatchDog的流程圖如圖4所示。
                         

    圖4  啟動RTC和WatchDog的流程圖

    結語

      將鐵電存儲器用于電磁鑄軋電源控制裝置中,與MSP430系列單片機相結合,充分發揮了其強大的功能;同時取代了傳統的EEPROM和實時時鐘芯片,既降低了硬件成本,又簡化了軟件設計。實踐證明,FM31256具有良好的推廣應用前景。

    參考文獻

    [1]  Ramtron International Corporation. FM3104/16/64/256 Integrated Processor Companion with Memory.2002.
    [2]  胡大可.MSP430系列單片機C語言程序設計與開發.北京:北京航空航天大學出版社,2003.
    [3]  孫樹印.鐵電存儲器原理及應用比較.單片機與嵌入式系統應用,2004(9).




     
     
    網站首頁  |  關于我們  |  聯系我們  |  廣告服務  |  版權隱私  |  友情鏈接  |  站點導航
     
    亚洲视频一区二区三区_国产在线拍偷自揄拍精品_日韩av在线看_日本久久久久久久久久久_精品国产区一区二区三区在线观看_国产日产欧美a一级在线_日韩亚洲在线观看_日韩久久精品电影_久久综合电影一区_2021国产精品视频_国产精品小说在线_欧美—级高清免费播放_一区二区三区高清国产_91av视频在线免费观看_一二美女精品欧洲_成人网在线免费看
    另类少妇人与禽zozz0性伦| 一区二区国产精品视频| 中文字幕欧美精品在线| 国产精品久久77777| 欧美日韩国产精品专区| 亚洲欧美日韩中文在线制服| 亚洲精品97久久| 国产精品女视频| 韩曰欧美视频免费观看| 国产精品999| 精品中文字幕在线观看| 亚洲人成免费电影| 国产mv免费观看入口亚洲| 欧美自拍视频在线观看| 欧美另类精品xxxx孕妇| 欧美日本中文字幕| 一本色道久久88综合日韩精品| 欧美激情第三页| 亚洲少妇中文在线| 国产成人精品免高潮在线观看| 大荫蒂欧美视频另类xxxx| 精品久久久久久亚洲精品| 欧美国产高跟鞋裸体秀xxxhd| 91国产中文字幕| 日韩在线精品视频| 国产精品高潮在线| 午夜欧美大片免费观看| 久久好看免费视频| 青青a在线精品免费观看| 亚洲第一中文字幕在线观看| 色综合久久精品亚洲国产| 97精品久久久中文字幕免费| 深夜成人在线观看| 久久久久久久久久久91| 6080yy精品一区二区三区| 亚洲综合自拍一区| 永久免费毛片在线播放不卡| 午夜精品久久久久久久99热| 丝袜亚洲另类欧美重口| 亚洲国产精品yw在线观看| 久久综合免费视频影院| 欧美亚洲视频在线观看| 亚洲在线视频观看| 国产日韩欧美在线视频观看| 久久久久久久久网站| 国产精品白嫩美女在线观看| 国产午夜精品全部视频播放| 亚洲深夜福利网站| 久久久日本电影| 日韩精品在线免费观看| 国产一区二区三区丝袜| 91久久精品日日躁夜夜躁国产| 亚洲成色777777女色窝| 国产国产精品人在线视| 成人字幕网zmw| 亚洲一区www| 成人黄色片网站| 国产亚洲精品美女久久久| 亚洲精品成人免费| 狠狠色噜噜狠狠狠狠97| 亚洲三级黄色在线观看| 久久综合色影院| 国产精品video| 亚洲一区二区三区sesese| 日韩精品视频中文在线观看| 日韩精品视频免费专区在线播放| 亚洲精品日韩久久久| 亚洲国产精品久久| 亚洲新中文字幕| 欧美国产欧美亚洲国产日韩mv天天看完整| 91亚洲精品一区| 一区二区三区四区精品| 国产成人综合一区二区三区| 深夜福利亚洲导航| 色视频www在线播放国产成人| 国产丝袜一区二区三区| 北条麻妃一区二区在线观看| 91香蕉亚洲精品| 亚洲日本欧美日韩高观看| 欧美激情国产高清| 欧美国产日韩一区二区三区| 中文字幕亚洲专区| 2020国产精品视频| 成人亚洲综合色就1024| 久久久成人av| 国产精品久久久久9999| 日韩在线观看免费av| 久久艳片www.17c.com| 亚洲人成网在线播放| 欧美电影《睫毛膏》| 国产精品欧美激情| 国产成+人+综合+亚洲欧洲| 日韩精品视频在线观看免费| 亚洲美女精品久久| 久久精品成人欧美大片古装| 国产综合视频在线观看| 性色av一区二区咪爱| 欧美激情中文网| 色综合视频一区中文字幕| 国产精品视频在线观看| 国产精品色婷婷视频| 国产suv精品一区二区三区88区| 欧美精品videos性欧美| 日韩精品中文字幕久久臀| 亚洲品质视频自拍网| 97超碰国产精品女人人人爽| 色综合视频网站| 国产精品高清在线观看| 68精品国产免费久久久久久婷婷| 亚洲国产免费av| 成人有码在线播放| 欧美极品少妇xxxxⅹ喷水| 国产一区二区三区在线观看视频| 亚洲精品欧美日韩专区| 欧美中文在线观看国产| 亚洲成人久久久久| 日韩高清电影免费观看完整| 亚洲美女在线看| 国产免费一区二区三区香蕉精| 欧美午夜性色大片在线观看| 亚洲精品国产精品乱码不99按摩| 91久久国产精品| 日韩在线精品视频| 欧美国产视频一区二区| 欧美亚洲视频一区二区| 亚洲国产精品久久91精品| 欧美最近摘花xxxx摘花| 清纯唯美亚洲激情| 亚洲无线码在线一区观看| 国产亚洲精品成人av久久ww| 亚洲免费一在线| 69av在线播放| 亚洲欧美激情四射在线日| 国产精品国产三级国产专播精品人| 日韩美女在线观看| 中文字幕在线看视频国产欧美| 久久69精品久久久久久国产越南| 欧美成人在线网站| 国产精品大片wwwwww| 亚洲国产另类 国产精品国产免费| 一个人www欧美| 中文字幕亚洲专区| 成人春色激情网| 神马国产精品影院av| www.日韩视频| 国产精品久久久久久超碰| 亚洲白虎美女被爆操| 亚洲老板91色精品久久| 国产热re99久久6国产精品| 国产91精品高潮白浆喷水| 成人444kkkk在线观看| 国内精品久久久久影院优| 日韩亚洲欧美中文高清在线| 日韩精品中文字| 欧美xxxwww| 国产精品亚洲一区二区三区| 国产成人精彩在线视频九色| 亚洲精品国产精品久久清纯直播| 性欧美xxxx视频在线观看| 久久91超碰青草是什么| 欧美日韩国产成人在线观看| 国产精品永久在线| 2019日本中文字幕| 亚洲毛茸茸少妇高潮呻吟|