片機系統運行參數的保存及有效性判別
【摘 要】 對單片機控制系統運行參數有效性的判別方法進行了介紹,并對系統運行參數如何實現保存進行了探討。同時給出了存儲過程中的數據校驗和運行參數的取值范圍檢驗過程。
關鍵詞:單片機,運行參數,數據校驗,取值范圍
1 引 言
在單片機構成的控制系統中,系統控制時需要使用和保存已經設置或優化的參數。如果將運行參數僅僅存儲于單片機的RAM區中,則系統在掉電或重啟時將會丟失這些重要參數,不能正常運行。為了解決上述問題,保證控制系統正常、可靠地運行,需要將這些運行參數保存在足夠容量的電可擦除存儲器(EEPROM)中。在寫入或讀出EEPROM中的數據時,為保證數據操作的正確性,則需要進行數據校驗。在系統運行這些參數之前,為檢查運行參數的取值是否在許可范圍之內,則需要進行參數取值范圍的檢驗。本文結合作者開發的電梯轎廂門機控制系統,來詳細討論參數保存和校驗的設計及實現。
2 系統運行參數的存儲
在單片機組成的控制系統中,系統設置的運行參數是系統正常運行所必須使用的,既要保證運行參數的可修改性,又要保證運行參數在系統停機或掉電的情況下能夠正確保存,因而運行參數應保存在電可擦除存儲器(EEPROM)中。根據參數個數的多少,決定所使用EEPROM的存儲容量。例如,在本文的單片機系統中,電梯轎廂門機控制運行所需要的參數有:門寬參數、有無光電檢測、輸出保持力矩、開門加速步頻、關門加速步頻、開門減速步頻、關
門減速步頻、工作計數器等,設計中要求存儲的參數共需28個字節,再加上一個字節校驗和,所以選用32字節容量的EEPROM。Xicro公司的X24C44能滿足上述可修改性和容量的要求。
2.1 EPROM芯片簡介及硬件組成
電可擦除存儲芯片X24C44是一個八引腳的芯片,其內部有存儲矩陣和RAM兩個存儲區,外部引腳的功能如圖1所示。芯片各引腳的功能為:CE為芯片使能引腳;Vcc及Vss為電源引腳;電壓為+5V;SK是讀寫X24C44數據時所用到的外部時鐘同步信號;DI為命令或數據串行輸入X24C44的信號引腳;DO為X24C44數據串行輸出的信號引腳;STORE為低電平時,允許將EEPROM中RAM的內容保存到存儲矩陣;RECALL為低電平時,允許將EEPROM的存儲矩陣的內容傳送到EEPROM的RAM中。

對X24C44的讀寫操作是串行數據操作,其讀時序如圖2所示。結合圖2中的讀時序,讀出 X24C44中某兩字節的數據操作為:芯片的使能引腳CE為高電平,在時鐘SK信號的同步下,先向X24C44的數據串行輸入引腳DI送讀出兩字節的命令1AAAA11X(其中AAAA為要讀出的起始地址,X表示X24C44對該值忽略),數據串行輸出引腳在第9個時鐘由高阻態轉為數據串行輸出,16個比特為一個讀出內容,通過將CE信號置為低電平,先關閉芯片的讀出數據操作。

按照向X24C44寫入兩字節內容的時序,寫入兩字節數據的操作類似于讀出操作過程。
X24C44采用串行讀寫數據,其與單片機的接線簡單,除了片選信號CE外,只要與單片機的三根I/O引腳相連即可,作用為時鐘CLK,數據輸入DI,數據輸出DO,其中DO引腳要接一個10kΩ的上拉
電阻。硬件電路接線如圖3所示。

2.2 EEPROM讀寫的實現
控制系統中所采用的是51系列單片機,其中讀寫子程序設計用匯編也較容易 實現結構化編程。根據X24C44的時序和操作過程,下面給出讀出EEPROM中數據的匯編子程序。單片機將數據寫入EEPROM的過程與讀出過程相類似。讀出EEPROM中數據的匯編子程序如下:
read:push psw;讀數據子程序入口
評論