新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式系統中非易失、不可復位計數器的實現

        嵌入式系統中非易失、不可復位計數器的實現

        作者: 時間:2012-06-24 來源:網絡 收藏

        本文介紹如何利用常見串行EEPROM的EPROM仿真模式及編碼機制解決這一問題。

        本文引用地址:http://www.104case.com/article/148875.htm

        設計目標

        有些應用中,考慮到質保期的要求,希望能夠對特定的事件進行計數和記錄,例如上電次數、工作時間、硬(按鈕)和超時。傳統的電子通常由雙穩態多諧振蕩器組成,采用二進制編碼,如圖1所示。當全部觸發器時,則達到最大計數值,規模由核查期限內允許發生某些事件的最大次數決定。

        Bit Number
        n+1n...87654321
        2n2n-1...2726252423222120

        圖1. 二進制碼中,下一位比上一位位值翻倍。

        定位需求

        盡管基于觸發器的很容易搭建,但它存在一個缺點。當達到計數限值時,計數器反轉為零(自動)。工作狀態也是的—需要電源維持其計數狀態。第一個問題可通過達到限值時凍結計數器解決;也可以通過安裝電池維持計數器的供電,從而解決第二個問題。但這些措施在實際應用中可能無法接受,因為增加了成本,且工作時間有限。

        一種替代方案是:將計數值備份在EEPROM或其它形式的非(NV)存儲器中。下次上電時,將該NV存儲器中儲存的數值加載到計數器。然而,除非NV存儲器嵌入另一個芯片,例如微控制器或FPGA,否則存儲器內容并不安全,因為存儲器芯片很容易拆除、重新編程(復位),然后重新安裝到電路板上。因此,這種方法不滿足復位的要求。

        傳統設計

        EPROM是另一種不需要電池的非存儲器。EPROM在上世紀70年代隨著微處理器的出現得到廣泛使用。出廠時,EPROM的全部字節為FFh。通過將某一位從1 (擦除)置為0 (編程)來儲存數據;編程需要12V至13V脈沖電壓。加載新數據之前,必須用高強度紫外線通過封裝上的窗口照射芯片,從而擦除整個存儲器。一次性編程(OTP) EPROM器件沒有窗口,因此擦除。由于這些不便之處,EPROM的主導地位逐漸被EEPROM和高密度閃存所取代,后兩者的工作和編程電壓為5V或更低。雖然如此,將OTP EPROM一次可編程(1至0)及擦除的特點與現代EEPROM技術相結合,能夠得到EPROM仿真模式的新特性。EPROM仿真模式是非易失、不可復位計數器的關鍵技術。

        EPROM仿真模式

        串口EEPROM的一個常用功能是充當寫入頁的緩存器,能夠一次編程整個存儲器頁。收到寫命令時,自動裝載包含尋址存儲器數據的頁緩存器內容。對于EPROM仿真模式,按照移位寄存器寫緩存器(圖2)。輸入新數據(D-IN)送到一個“與”門,在進入緩存器(S-IN)之前將其與緩存器數據(S-OUT)相組合。因此,“與”門確保存儲器位在置為0后不會變為1。經過一個完整的頁操作周期后,緩存器的數據再次與存儲器頁中的數據對齊。隨后可以開始一個寫周期,將整個緩存器內容復制到非易失EEPROM。


        圖2. EPROM仿真將新數據與已有數據位相“與”,寫回到存儲器。

        EPROM計數

        由于EPROM位只能在一個方向改變,不支持傳統的計數器設計思路,而是將整個存儲器陣列視為一個n位的單體。初始狀態下,n位存儲單元均未編程(為1)。為了對事件計數,必須將未編程的位更改為0。可以簡單地隨機選擇下一個編程位,但圖3所示方法更容易。該方法從最低有效位開始依次計數,直到對一個字節的所有位進行編程。然后再逐位編程下一個字節,依此循環。EPROM仿真模式下,1024位存儲器芯片可以對1024個事件計數。

        Count
        Value
        Hex
        Code
        Bit Number
        87654321
        0FFh11111111
        1FEh11111110
        2FCh11111100
        3F8h11111000
        4F0h11110000
        5E0h11100000
        6C0h11000000
        780h10000000
        800h00000000

        圖3. EPROM計數要求對每一位設置相同值。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
        塵埃粒子計數器相關文章:塵埃粒子計數器原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 万宁市| 漯河市| 沙坪坝区| 海门市| 锡林浩特市| 年辖:市辖区| 绥阳县| 繁峙县| 潮安县| 育儿| 昌乐县| 长宁县| 子长县| 宜兰县| 辉南县| 濉溪县| 宁安市| 建昌县| 喀喇沁旗| 太谷县| 巴里| 溧水县| 乌审旗| 长阳| 电白县| 鄂伦春自治旗| 津南区| 涞水县| 正阳县| 塘沽区| 株洲县| 兴和县| 阳西县| 霍城县| 星子县| 筠连县| 延川县| 南开区| 泗洪县| 云和县| 新兴县|