趙 力 ,齊 勇 ,劉世萱 ,2,付 曉 ,苗 斌
(1.山東省科學院海洋儀器儀表研究所,山東 青島266001;2.中國海洋大學計算機科學與技術系,山東 青島266100)
PMT校頻技術在航標燈設計中的應用
趙 力1,齊 勇1,劉世萱1,2,付 曉1,苗 斌1
(1.山東省科學院海洋儀器儀表研究所,山東 青島266001;2.中國海洋大學計算機科學與技術系,山東 青島266100)
在航標燈應用研究中,為解決ATmega8L單片機在工作電壓上升過程中,系統頻率不穩定的問題,提出一種基于單片機電源管理技術(PWM)的校頻方法。針對航標燈工作環境光照度變化緩慢的特點,提出過渡時間TINT的概念。利用AVR單片機PMT的空閑模式,結合看門狗喚醒功能,在不改動電路的前提下,實現了單片機系統時鐘自動校頻的功能。
ATmega8L;過渡時間;PMT;自動校頻
航標燈的正常工作是確保海上航行和設備安全的重要因素[1]。在航標燈研究中,由于環境光照度變化是一個緩慢的過程,當光照度降低至電路觸發閾值ET時,要求控制電路對單片機工作電壓VCC的躍變時間具有極高的控制能力。在光照度逐漸降低的過程中,控制電路CMOS開關管工作在不飽和導通狀態。這個過程導致單片機的工作電壓由0躍變到VCC,其躍變時間可能遠遠超過幾個機器周期。從理論上講,VCC低于正常工作電壓時,無法保證單片機CPU和Flash正常工作,Flash的內容可能受到破壞。電壓太低時有兩種情況可以破壞 Flash內容,第一,Flash寫過程需要一個最低電壓;第二,電壓太低時 CPU本身會錯誤地執行指令[2]。
控制器是航標燈控制電路的核心[3]。為了消除上述問題對電路狀態的影響,選用ATmega8L單片機作為控制器。ATmega8L的工作電壓VCC標準值為3.3 V。由于采用了ATMEL的高密度非易失性內存技術[2],在電壓不穩定時能夠保護Flash的內容不受損壞。這一點我們通過實驗得到了驗證。當ATmega8L單片機工作在低壓狀態時,Flash的內容不會受到損壞。但其系統時鐘ClkCPU卻可能發生偏移,并且最大偏移量可達15%。當ClkCPU發生偏移時,指令周期隨之發生偏移,雖然CPU執行指令時序邏輯不變,但航標燈閃爍周期發生偏移,即影響燈質信息的表達。一旦ClkCPU發生偏移,即使VCC達到正常值,也可能一直保持在偏移狀態。這樣航標燈的燈質信息就會發生改變。為解決此問題,傳統的辦法一般是采用單穩態觸發電路[4],例如施密特觸發器等。當光照度第一次降至觸發閾值ET以后,觸發器翻轉將主電路鎖定在導通狀態。當光照度回升到觸發閾值ET時,觸發器翻轉將主電路鎖定在截止狀態。這個辦法從根本上縮短了VCC躍變的時間,但是增加了電路成本。利用ATmega8L單片機自身的電源管理能力,我們提出一種基于電源管理技術(Power Manage Technology,簡稱PMT)的解決辦法。
在航標燈應用中,CMOS管不飽和導通的情況出現在ET附近。因為在一段時間內,環境光照度會在ET附近上下波動。這段時間對應一個環境光照度范圍,我們稱這個范圍為光照度的過渡區,過渡區對應的環境光照度的變化量,以ΔE表示。假設該閾值光照度上限為ETH,下限為ETL。

在環境光照度下降的過程中,光照度從上限值ETH到最后一次經過觸發值ET之間的時間稱為下降過渡時間,以TINT1表示。在環境光照度上升的過程中,光照度從下限值ETL到最后一次經過觸發值ET之間的時間為上升過渡時間,以TINT2表示。在環境光照度上升或下降過程中,光照度從第一次到最后一次經過觸發值ET之間的時間為ΔT。為了保證航標燈正常工作,其過渡時間TINT應涵容下降過渡時間TINT1和上升過渡時間TINT2。因此我們只要保證在ΔE之外不發生光照度越過ET的變化,即可保證電路控制的可靠性。如圖1所示,當光照度在過渡區上限值ETH之外,CMOS管處于截止區。當光照度達到過渡區上限值ETH時,CMOS管開始導通,處于不飽和導通區。當光照度達到觸發值ET時,CMOS管達到飽和導通狀態,隨著光照度在觸發值ET附近擺動,CMOS管工作在不穩定飽和導通狀態。直到光照度最后一次擺動越過觸發值ET后,CMOS管工作在穩定飽和導通區內。

圖1 過渡時間和CMOS管導通狀態示意圖
根據圖1,有如下關系:

式中:E表示環境光照度;t表示時間;f表示光照度E和時間t的對應關系;TH表示過渡區光照度上限值ETH對應的時刻;TL表示過渡區下限光照度值ETL對應的時刻。由于在一段極短的時間Δt之內,光照度隨時間成單調關系,每一個時刻T對應唯一的光照度值f(T)。由式(2):

根據式(4),可以得到環境光照度達到ETH的時刻TH,表示為:

根據式(5),可以得到環境光照度達到 ETL的時刻TL,表示為:

根據圖 1,式(3)與式(4)本質上相同,由式(3)、式(7)、式(8),得:

f-1表示f的反函數。航標燈的光照度傳感器可以實時測量環境光照度值。根據式(9),過渡時間TINT可以用環境光照度過渡區閾值上下限對應的時間來計算。在設計程序時,可以實現根據光照度過渡區閾值的大小來設置過渡時間的功能。航標燈每次從開始加電到指令執行完過渡時間TINT,CMOS管進入穩定飽和導通區,單片機電源升至標準值VCC。利用ATmega8L的PMT技術使CPU進入的休眠模式,再使用看門狗喚醒技術自動喚醒MCU。此時,喚醒后的MCU已擺脫頻率偏移的影響,航標燈就能夠正常工作了。
ATmega8L單片機的電源管理模塊可使單片機進入休眠模式。休眠模式意味著在應用程序中關掉MCU中沒有使用的模塊,從而降低功耗。ATmega8L具有不同的睡眠模式,進入睡眠模式的條件是置位寄存器MCUCR的SE,然后執行SLEEP指令。具體哪一種模式由MCUCR的SM2,SM1和SM0決定,如表1所示。使能的中斷可以將進入睡眠模式的MCU喚醒。經過啟動時間,外加4個時鐘周期后,MCU就可以運行中斷例程了。然后返回到SLEEP的下一條指令。喚醒時不會改變寄存器文件和SRAM的內容。如果在睡眠過程中發生了復位,則MCU喚醒后從中斷向量開始執行[2]。
MCU控制寄存器MCUCR包含了電源管理的控制位。

其中,SE為休眠使能位。為了使MCU在執行SLEEP指令后進入休眠模式,SE必須置位,同時低四位無效。MCU一旦喚醒立即清除SE。SM2,SM1,SM0為休眠模式選擇位。這3位用于選擇具體的休眠模式,如表1所示[2]。

表1 休眠模式選擇
在該方法中,我們選擇掉電休眠模式。當SM2..0為010時,SLEEP指令將使MCU進入掉電模式。在此模式下,外部晶體停振,而外部中斷、兩線接口地址匹配及看門狗(如果使能的話)繼續工作。只有外部復位、看門狗復位、BOD復位、兩線接口地址匹配中斷、外部電平中斷INT0或INT1,或外部中斷INT2可以使MCU脫離掉電模式。這個睡眠模式的優點是停止了所有的時鐘,喚醒時系統時鐘重新開始工作,可以解決頻率偏移的問題。
根據上述原理分析,從程序著手進行校頻實驗。我們使用高靈敏度的光敏傳感器對環境光照度進行檢測,從光照度過渡區上限值ETH開始計時,經過過渡時間TINT后,使單片機進入掉電休眠模式。同時啟動看門狗定時器,當看門狗定時器溢出時,利用電源管理模塊的看門狗喚醒技術自動喚醒MCU。編程時,編輯熔絲位WTDON,預置看門狗定時器常開??刂瞥绦蛉缦拢?/p>

實驗中,航標燈使用摩爾斯O碼燈質,工作周期為12 s[5]。當發生頻率偏移時,通過檢測環境光照度的值,當發現光照度達到過渡區的上限值EH時,使MCU執行休眠指令時進入掉電模式,同時啟動看門狗定時器。當看門狗定時器溢出時,系統復位。此時保證已經過光照度的過渡區,CMOS開關管完全導通,VCC達到標準值3.3 V,就可以保證MCU時鐘正常工作了。指令如下:

經過反復試驗,使用上述控制語句很好地解決了系統時鐘的頻率偏移問題。這證明PMT技術和看門狗喚醒語句實現MCU自動校頻功能,不但從原理上是可行的,從實際應用中來看也是可以實現的。
本文的方法是一種新的單片機自動校頻手段。該方法在軟件上通過一條掉電休眠指令和看門狗復位指令,來保證單片機系統頻率的穩定性。實驗表明,該方法可以很好地解決MEGA8L單片機上電過程中的頻率偏移問題。采用軟件校頻的方法有助于實現航標燈設計簡單,低功耗,低成本,高可靠性的目標[6]。另外,該方法既可以單獨使用,也可以配合硬件觸發器電路一起使用,相當于為單片機的系統時鐘上了雙保險,從而確保單片機可以持續穩定地工作。
[1]周 奎,張曉川,杜效農.航標燈的自動監控[J].世界海運,2007(2):31-32.
[2]馬潮,詹位前,等.ATMEGA8原理及應用手冊[M].北京:清華大學出版社,2003.
[3]李月樓.一體化太陽能航標燈技術與應用探討[J].珠江水運,2005(5):39-40.
[4] 高志,林玉池.航標燈工作狀態檢測電路設計[J].海洋技術,2006,25(1):45-57.
[5]齊勇,劉世萱,張曙偉,等.基于PWM技術的新型航標燈設計[J].山東科學,2008(3):60-63.
[6]肖必超.基于單片機的航標燈控制電路設計[J].大眾科技,2008(8):103-114.
Application of PMT Technique in Pharos Design
ZHAO Li1,QI Yong1,LIU Shi-xuan1,2,FU Xiao1,MIAO Bin1
(1.Institute of Oceanographic Instrumentation,Shandong Academy of Sciences,Qingdao Shandong 266001,China;2.Department of Computer Science and Technology,Ocean University of China,Qingdao Shandong 266100,China)
In the design of pharos,in order to resolve the problem of frequency shaking during the process of rising of working voltage,a new method based on PMT technique is proposed.According to the feature of intensity of illumination in the environment of pharos,the concept of transit time (TINT)is issued.Without any changing of electric circuit,the function of auto frequency adjustment is enforced using the idle mode of ATmega8L based on PMT (power manage technique)and the waking up skill of watchdog.
ATmega8L;transit time;PWM;auto frequency adjustment
U644.4
B
1003-2029(2011)02-0110-03
2011-02-22
國家高技術研究發展計劃(863計劃)資助項目(2007AA092103)
趙力(1958-),女,高級工程師,主要從事海洋儀器方面研究。