新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > SST89E58RD2單片機在增強系統抗干擾性能方面的應用

        SST89E58RD2單片機在增強系統抗干擾性能方面的應用

        作者: 時間:2009-12-11 來源:網絡 收藏


        0 引言
        為核心的儀器儀表的工作穩定性和可靠性往往受工作環境的影響很大。在電磁干擾較弱(如室內))時,可靠性和穩定性往往容易達到要求,然而,在室外,尤其是工作環境較惡劣的情況下,就有可能導致儀器儀表工作不正常或失靈。因此,利用自身的優勢和豐富的外圍模塊來提高儀器儀表的抗干擾能力,具有十分重要的現實意義。
        目前,解決程序跑飛主要利用開門狗來實現。解決掉電數據保護功能時,數據存儲介質常選用兩類:一類是EEPROM,但寫入時間較長;另一類是帶有后備電池的小容量SRAM來構成非易失存儲器,這種方法寫入速度快,但增加了電路的復雜性。
        SST公司的FlashFlex51系列單片機具有內部看門狗和片內Flash存儲器,可以用于解決單片機程序跑飛和重要數據的掉電存儲問題。本文是采用SST公司的單片機來解決視頻字符疊加在惡劣環境下程序跑飛和疊加字符丟失的問題。

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


        1 視頻字符疊加的問題分析
        視頻字符疊加在室內環境下的字符疊加效果一般都可以滿足要求。然而,將該系統于室外電磁干擾較為嚴重的環境時,疊加系統往往會出現疊加字符消失、系統與上位機通信不正常等問題。通過對該問題的分析研究發現,單片機程序跑飛和疊加系統中的字符疊加芯片在受到外界干擾時,其視頻存儲器內容被清除是導致系統不能正常運行的真正原因。由于系統的硬件結構一般不便于更改,因此,找到一款與目前AT89C51兼容且能解決系統不穩定的單片機是解決問題的最好方法。在對AT89C51單片機和其它51單片機進行對比分析后,本文選擇了單片機來解決系統穩定性和可靠性的問題。


        2 SST89E5 8RD2簡介
        2.1 的主要特性
        SST89E58RD2單片機可兼容80C51系列單片機,且內置超級FLASH存儲器,5 V工作電壓下的工作頻率為0~40 MHz,與現行的80C52系列單片機硬件PIN-TO-PIN完全兼容,同時軟件、開發工具也完全兼容;SST89E58RD2帶有1 K字節的內部RAM,并包含32 K字節的基本存儲塊和8K字節二級存儲塊的超級FLASH;具有ISP (在系統編程)和IAP(在應用中編程)功能;芯片內有SPI(串行外圍接口)和型UART、10個中斷源、四個中斷優先級以及可編程看門狗定時器(WDT);兼容TTL和CMOS邏輯電平;內含PCA(可編程計數器陣列),具有PWM和捕獲、比較功能;可實現掉電檢測。
        2.2 看門狗定時器
        SST89E58RD2內置的可編程看門狗定時器可用于程序死循環或程序運行不正常(如程序跑飛)時的自動恢復。為保護系統因程序死循環等引起的運行不正常,用戶程序需要在其定義的周期內刷新看門狗定時器,否則,當WDRE(看門狗復位)有效時,將觸發內部硬件復位。WDT(看門狗定時器)用系統時鐘作為基準時鐘,因此,嚴格的說,看門狗定時器應稱為看門狗計數器。WDT寄存器每344064個系統時鐘加1。看門狗數據/重載寄存器(WDTD)作為WDT的重載寄存器。WDT的結構框圖如圖1所示。看門狗可通過兩個特殊寄存器WDTC(看門狗定時器控制寄存器)和WDTD工作。在空閑模式下,WDT運行被臨時掛起,并在接收到中斷信號后從空閑模式恢復為正常工作模式。WDT的計數周期計算公式如下:
        周期=(255-WDTD)x344064x1/Fclk
        式中,WDTD是放入WDTD寄存器的重載值,Fclk是系統的晶振頻率。

        3 FLASH存儲器編程
        SST89E58RD2單片機可使用IAP模式對其內部的FLASH存儲器進行擦除或寫入數據。當SST89E58RD2單片機的CPU進入IAP模式后,其FLASH存儲器的兩個區中的一個可在擦除數據或寫入數據的同時,另一區的用戶代碼仍可以被CPU執行。即在內部FLASH存儲器寫人數據的同時,CPU可以從外部存儲器載入代碼。位于單片機內部的特殊功能寄存器SFST、SFCM、SFAL、SFAH、SFDT和SFCF用于控制和管理FLASH的擦除和編程執行。在IAP模式下,CPU內核和FLASH控制單元將關閉外部時鐘,內部晶振提供編程和擦除操作的時序參考。內部晶振只有在被請求時才打開,而當FLASH操作完成后立刻被關閉。CPU要運行于IAP模式,必須使能IAP使能位(SFCF[6]),否則,FLASH的編程命令將不起作用。所有的IAP命令只有在IAP模式才能執行,但當被選擇的存儲器區域已被安全鎖使能時,IAP命令將無法執行。編程命令向存儲器塊寫入新數據時,必須保證該存儲器塊處于被擦除狀態,即其值為0xFF。如果存儲器塊沒有被擦除,則應用合適的擦除命令進行擦除操作。尤其不能在CPU正載入代碼的存儲器區域進行編程或擦除操作,這將導致不可預測的編程并可能導致編程數據損毀。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 江孜县| 鹰潭市| 淄博市| 曲周县| 溧阳市| 炉霍县| 通化市| 祁东县| 巴林左旗| 叙永县| 疏附县| 临漳县| 新干县| 县级市| 五河县| 武平县| 光山县| 青田县| 庐江县| 武乡县| 抚松县| 高阳县| 阆中市| 潮州市| 武冈市| 肥东县| 定襄县| 万源市| 汉中市| 衡阳市| 集安市| 宁明县| 运城市| 普安县| 黄浦区| 姚安县| 九寨沟县| 吉林市| 兴宁市| 库尔勒市| 宿州市|