邱石 錢文高 王程 郭贏
【摘要】本文研究A320飛機時鐘仿真設計,作為機務模擬機的時鐘部分,滿足航空維修人員的需求及教學使用,提升相關人員的能力,促進航空業(yè)的發(fā)展。采用AT89S52單片機作為接收GPS、DS1302的數據、處理數據、發(fā)送數據的CPU處理器,計時的功能由DS1302芯片來完成,最終利用MAX7219芯片驅動數碼管準確的顯示當地的時間和計時的時間。通過切換旋鈕,顯示GPS時間或時鐘芯片DS1302的時間。
【關鍵詞】AT89C52;DS1302;GPS;旋轉編碼器EC11
1.引言
航空業(yè)的蓬勃發(fā)展使得維修人員不斷增加,在對于學員、維修人員的授學培訓過程需要大量的器材。因此實現(xiàn)A320的飛機時鐘的仿真設計對于相關人員的學習、培訓、維修操作有很大的幫助。組件仿真的實現(xiàn)提供了模型基礎,同時減少了成本。由于功能與飛機真實時鐘相同,能夠達到同樣的教學培訓目的。
圖1-1 A320飛機時鐘面板
飛機時鐘按功能塊主要分為三部分:計時計(CHR)、協(xié)調世界時(UTC)、耗用時間(ET)。
(1)計時計(CHR):包括CHR顯示(前兩位顯示分鐘,后兩位顯示秒)、CHR按鍵(時鐘表面右上角)、RST按鍵(時鐘表面左上角)。第一次按下CHR按鈕:計時開始;第二次按下CHR按鈕:計時停止;按壓RST按鈕:計時復位到零。
(2)協(xié)調世界時(UTC):UTC顯示窗有時間模式(前兩位顯示小時,后兩位顯示分鐘,最后兩位顯示秒)和日期模式(在UTC顯示窗中分別以月、日、年代替時間顯示)兩種顯示模式。UTC旋鈕(右側)有GPS/INT/SET三個位置選擇:
GPS位置:時間顯示由GPS接收機控制;
INT位置:時間顯示由時鐘內部時基控制;
SET位置:允許設置時鐘內部時基,即時間和日期。當UTC旋鈕在GPS位或INT位時,可通過按壓SET按鈕,從當前時間模式切換到日期模式,再次按壓,切換回時間模式,循環(huán)切換。
(3)耗用時間(ET):包括ET顯示(前兩位顯示小時,后兩位顯示分鐘)、RUN/STP/RST選擇開關(時鐘表面右下角)。
右側旋鈕有RUN/STP/RST三個位置選擇:
RUN位:計數器運行;STP位:計數停止,該計時顯示凍結;RST位:計數瞬時復位到零,且顯示消失。
2.總體設計方案
總體設計框:
飛機時鐘設備的界面有顯示界面和操作界面。顯示界面包括計時計(CHR)、協(xié)調世界時(UTC)和耗用時間(ET)。操作界面包括CHR的控制啟停的按鍵、UTC左側的時間日期切換旋鈕和UTC三檔旋轉開關以及ET的控制啟停復位的三檔旋轉開關。其中切換UTC三檔旋鈕開關選擇多種時鐘數據來源。
時鐘數據來源分別由GPS數據和DS1302芯片的內部基準時基而來;操作界面上有按鈕及旋鈕,可控制數碼管顯示CHR與ET并調整顯示的時間。單片機作為GPS、DS1302接收數據、處理數據、發(fā)送數據的CPU處理器。MAX7219驅動數碼管顯示可以節(jié)約單片機的引腳資源。單片機外圍還需要有電源電路、晶振電路及復位電路,才能保證單片機正常、穩(wěn)定地工作。
圖1-2 總體設計框圖
3.硬件設計框圖
3.1 時鐘芯片DS1302的硬件圖
圖1-3 DS1302硬件圖
時鐘芯片DS1302作為飛機時鐘數據的來源之一,同時提取DS1302時鐘的秒時間作為計時器的基準秒。單片機作為DS1302數據接收與處理中心,并控制數碼管顯示相應的時間。DS1302中的時鐘信號SCLK與單片機的P1.7相連,數據輸入輸出I/O與單片機的P1.6相連,復位信號RST與單片機的P1.5相連。
3.2 GPS的硬件圖
圖1-4 GPS與單片機連接圖
GPS是飛機時鐘數據來源之一,將UTC右側的旋鈕切換至GPS位置便可顯示GPS時間。GPS通過串口與單片機進行數據交換。用數據線將GPS的TXA和RXA端口與單片機的TXA和RXA端口即可進行串行數據傳輸。為了使串口正常工作,需要對串口進行初始化,設置串口工作方式、波特率、定時器工作模式,并將EA和ES置1,允許串口中斷。
3.3 旋轉編碼器
UTC顯示界面右側三檔旋轉編碼器可實現(xiàn)對飛機時鐘數據來源的選擇;ET顯示界面右側三檔旋轉編碼器可實現(xiàn)對ET的啟停復位的控制。
轉編碼器的工作原理:增量式旋轉編碼器通過內部兩個光敏接受管轉化其角度碼盤的時序和相位關系,得到其角度碼盤角度位移量增加(正方向)或減少(負方向)。如下圖所示,可以通過比較A相和B相的超前和滯后,判斷編碼器是正轉還是反轉,圖中所示的A相超前B相即為正旋輸出,A相滯后B相即為反旋輸出。
圖1-5 旋轉編碼器原理
4.軟件系統(tǒng)流程
圖1-6 軟件系統(tǒng)流程圖
系統(tǒng)軟件的設計流程:首先要初始化,即對CHR、ET、UTC三部分的數碼管驅動芯片MAX7219進行初始化,GPS模塊方面還需要對串口進行初始化;在編寫完初始化程序后,主程序中將調用能切換時間的按鍵旋鈕程序、MAX7219的顯示程序,每時每刻系統(tǒng)都在判斷是否有按鍵的按下操作或者旋鈕的轉動,則數據處理函數將相應的時間傳遞到MAX7219的顯示程序;若無任何操作,顯示器正常顯示。
4.1 時鐘芯DS1302程序設計
時鐘芯片DS1302是飛機時鐘的數據來源之一,單片機從DS1302的寄存器中讀出時間與日期,并將十進制的數據轉換成16進制,從而控制MAX7219驅動數碼管顯示相應的時間與日期。
CHR計時是將DS1302時鐘的秒時間作為計時基準秒,即每增加一秒數碼管顯示計時時間加一。若總的時間秒數為T秒,CHR計時的分計時為MIN,秒計時為SEC,則:
MIN=T/60
SEC=T%60
若CHR數碼管顯示分計時的十位與個位分別為MINSH、MINGE;秒計時的十位與個位分別為SECSH,SECGE,則:
MINSH=MIN/10=(T/60)/10
MINGE=MIN%10=(T/60)%10
SECSH=SEC/10=(T%60)/10
SECGE=SEC%10=(T%60)%10
ET計時是將DS1302時鐘的秒時間作為計時基準秒,即每增加一分鐘數碼管顯示計時時間加一。若總的時間秒數為T秒,ET計時的小時計時為H,秒計時為MIN,則
H=(T/60)/60
MIN=(T/60)%60
若ET數碼管顯示小時計時的十位與個位分別為HSH、HGE;分計時的十位與個位分別為MINSH,MINGE,則:
HSH=H/10={(T/60)/60}/10
HGE=H%10={(T/60)/60}%10
MINSH=MIN/10={(T/60)%60}/10
MINGE=MIN%10={(T/60)%60}%10
4.2 旋轉編碼器的程序設計
單片機通過程序判斷編碼器是正轉還是反轉切換到相應的功能。單片機通過查詢的方式讀取旋轉偏碼器A、B兩端的電平來判斷當前旋鈕是否旋轉以及旋轉的方向。A點電平與B點電平有4種不同的組合:00、01、10、11,可以根據4種組合狀態(tài)之間的變化進行鑒相。若順時針旋轉,者可得到對應的序列{11、01、00、10},反旋轉則有對應的序列{11、10、00、01}。如表1所示的判斷表中,行表示當前AB點電平值組合,列表示上一次變化前AB點電平值組合,檢測到發(fā)生1次電平變化即可進行鑒相,需要指出的是:若AB兩點電平相比上次均發(fā)生了變化,則無法進行判斷。
表1 AB相位判斷表
00 01 10 11
00 錯 逆 順 錯
01 順 錯 錯 逆
10 逆 錯 錯 順
11 錯 順 逆 錯
綜上所述,旋轉編碼器順時針旋轉為Y,逆時針旋轉為N,當前AB的電平為A1、B1,下一時刻AB的電平為A2,B2,則:
5.總結
本章主要從系統(tǒng)的功能要求出發(fā),先對系統(tǒng)做了一個總體設計,畫出了系統(tǒng)的總設計框圖,然后采用protues仿真,在Keil環(huán)境中編寫和調試程序,并用Altium Designer畫原理圖制作PCB板,用萬用表、示波器等調試硬件電路。經過實驗證明,該研究過程能準確的實現(xiàn)A320的飛機時鐘的仿真設計。
參考文獻
[1]A320 Aircraft Maintenance Manual.China Eastern Airline[Z].REVISION NO.30,Aug 01/05.
[2]戴佳,戴衛(wèi)恒.51單片機C語言應用程序設計實例精講[M].北京:電子工業(yè)出版社,2006.
[3]康華光,等.電子技術基礎(模擬部分)[M].北京:高等教育出版社,2006.
[4]W.Zhong,C.H.Yuan,et al.Proteus Simulation for rolling Chinese character display on dot-matrix LED.Microcomputer Jriformation,vo1.24,pp.106-107,2008.
[5]陳仨珂.帶按鍵旋轉編碼開關在單片機系統(tǒng)中的應用[J].機電工程技術,2012,41(06):115-117.
基金項目:大學生創(chuàng)新創(chuàng)業(yè)訓練計劃(項目編號:IECAUC13019)。
作者簡介:邱石(1992—),男,江蘇徐州人,現(xiàn)就讀于天津中國民航大學,研究方向:電子信息工程自動控制。