摘 要: 傳統(tǒng)的航向姿態(tài),、導(dǎo)航系統(tǒng)都以機(jī)械儀表為主,用來(lái)顯示接收的自整角機(jī),、旋轉(zhuǎn)變壓器信號(hào)既不精確也不穩(wěn)定,。通過(guò)設(shè)計(jì)一種接口電路成功將液晶屏應(yīng)用于航向指示器,修正了上述缺點(diǎn),。測(cè)試表明指示器顯示清晰,,系統(tǒng)功能完整、穩(wěn)定,。
關(guān)鍵詞: 航向指示器,;液晶屏,;單片機(jī);CPLD,;自整角機(jī),;旋轉(zhuǎn)變壓器;A/D,;D/A
在各種航向姿態(tài),、導(dǎo)航系統(tǒng)中,常用自整角機(jī),、旋轉(zhuǎn)變壓器實(shí)現(xiàn)磁航向,、無(wú)線(xiàn)電方位的接收、傳輸,、調(diào)整和顯示,。但以往的機(jī)載儀表以機(jī)械儀表為主,存在顯示分辨率低,、指示不夠精確的問(wèn)題,。近年來(lái),液晶顯示器得到飛速發(fā)展,,因其體積小,、功耗低、開(kāi)發(fā)周期短,、安全可靠,、使用靈活的特點(diǎn)而廣泛應(yīng)用于各種儀器儀表中。本文通過(guò)設(shè)計(jì)一種接口電路,,成功地將液晶屏應(yīng)用于航向指示器,,測(cè)試表明該指示器可穩(wěn)定接收航向等自整角機(jī)、旋轉(zhuǎn)變壓器信號(hào),,傳輸給指示器的圖形板并在液晶屏上顯示,。
指示器設(shè)有液晶屏亮度、模式等控制按鍵,,考慮到傳統(tǒng)單片機(jī)系統(tǒng)所需芯片數(shù)多,、系統(tǒng)線(xiàn)復(fù)雜,而CPLD在結(jié)構(gòu),、工藝,、集成度、功能,、速度和靈活性等方面都有了很大的改進(jìn)和提高,,為高效率、高質(zhì)量,、靈活地設(shè)計(jì)單片機(jī)系統(tǒng)提供了可能,,特別是CPLD的系統(tǒng)編程,、測(cè)試能力和支持JATG邊界掃描的特點(diǎn),以及具有JATG功能的單片機(jī)構(gòu)成的功能電路,,更能體現(xiàn)系統(tǒng)可編程的方便靈活的優(yōu)越性,。因此本接口電路采用了單片機(jī)C8051F020和可編程邏輯器件(CPLD),完成的接口電路外加一塊圖形處理芯片就能實(shí)現(xiàn)液晶顯示的航向指示器系統(tǒng),。
1 硬件設(shè)計(jì)
以自整角機(jī)信號(hào)為例,,硬件電路如圖1。C8051F020是Cygnal推出的一種混合信號(hào)系統(tǒng)級(jí)單片機(jī),,片內(nèi)含CIP-51的CPU內(nèi)核,,其指令系統(tǒng)與MCS-51完全兼容。與以前的51系列單片機(jī)相比,,C8051F020增加了許多功能,并且可靠性和速度也有了很大提高[1],。這里采用它來(lái)處理數(shù)據(jù),、驅(qū)動(dòng)液晶屏,通過(guò)串口把數(shù)據(jù)送到液晶屏,??删幊踢壿嬓酒瑒t用于邏輯控制數(shù)據(jù)的輸入輸出。
在數(shù)據(jù)處理方面,,根據(jù)精度要求,,對(duì)于自整角機(jī)信號(hào)的A/D轉(zhuǎn)換,采用中國(guó)船舶重工集團(tuán)七一六所研制的14ZSZ系列和14SZZ系列轉(zhuǎn)換器,,14位分辨率可滿(mǎn)足要求,。當(dāng)輸入兩路同類(lèi)的自整角機(jī)信號(hào)時(shí),可選擇具有雙通道的轉(zhuǎn)換器,,這樣有利于減少電路的面積,。接口電路將輸入的自整角機(jī)信號(hào)數(shù)字解算得到數(shù)字輸出,最后將此數(shù)字輸出經(jīng)過(guò)D/A轉(zhuǎn)換器14SZZ從接口電路輸出,。
CPLD程序用VHDL語(yǔ)言實(shí)現(xiàn),,根據(jù)單片機(jī)中對(duì)輸入數(shù)據(jù)的地址定義,將地址值作為敏感信號(hào),,產(chǎn)生單通道A/D模塊的高低字節(jié)片選信號(hào),,將14ZSZ芯片A/D轉(zhuǎn)換結(jié)果讀入緩存;對(duì)沒(méi)有高低字節(jié)選擇信號(hào)的雙通道A/D模塊,,則產(chǎn)生禁止/使能信號(hào),,將14ZSZ/S02芯片A/D轉(zhuǎn)換結(jié)果讀入緩存。輸入信號(hào)進(jìn)入緩存后,,CPLD根據(jù)地址值將輸入信號(hào)從緩存寫(xiě)入單片機(jī),。
輸入信號(hào)進(jìn)入單片機(jī)后,,解算得到數(shù)字輸出信號(hào)。CPLD根據(jù)地址值從單片機(jī)將數(shù)字輸出寫(xiě)入緩存,,然后根據(jù)地址敏感信號(hào)產(chǎn)生D/A轉(zhuǎn)換芯片的控制信號(hào),,根據(jù)控制信號(hào)把數(shù)字輸出送入D/A轉(zhuǎn)換芯片14SZZ。
模數(shù)轉(zhuǎn)換器的直流電源允許波動(dòng)范圍為±10%,,不能超過(guò)此范圍加電,。要求PCB板的+5V、+15V,、-15V和GND之間分別并聯(lián)一個(gè)0.1μF和一個(gè)6.8μF的濾波電容,。單片機(jī)的XTAL1引腳為晶體或陶瓷諧振器內(nèi)部反饋電路的反饋輸入。為了得到一個(gè)精確的內(nèi)部時(shí)鐘,,需要在XTAL1引腳加入一個(gè)晶體或陶瓷諧振器,。
1.1 A/D、D/A轉(zhuǎn)換模塊
自整角機(jī),、旋轉(zhuǎn)變壓器是一種高精度,、高可靠性的角度傳感器,為了實(shí)現(xiàn)與計(jì)算機(jī)的接口,,國(guó)外開(kāi)發(fā)了SDC/RDC系列自整角機(jī),、旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器。國(guó)內(nèi)相應(yīng)研制開(kāi)發(fā)了ZSZ/XSZ系列,。本設(shè)計(jì)采用了14ZSZ/XSZ,,轉(zhuǎn)換器精度360°/214≈0.022°,滿(mǎn)足系統(tǒng)指標(biāo),。當(dāng)模擬量被轉(zhuǎn)換成數(shù)字量后,,接口電路又需要將某路含有航向控制系統(tǒng)需要用到的角度、位置等信息的數(shù)字量轉(zhuǎn)換為模擬量輸出,,這里采用14SZZ/SXZ將數(shù)字量轉(zhuǎn)換為模擬量并從指示器輸出,,用于控制航向系統(tǒng)位置、速度等,。
1.1.1 14ZSZ/XSZ A/D轉(zhuǎn)換器[2]
14ZSZ/XSZ是一種小型化14位連續(xù)跟蹤自整角機(jī)/旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器,。它采用二階伺服回路,數(shù)據(jù)輸出具有三態(tài)鎖存功能,,轉(zhuǎn)換原理如圖2,。當(dāng)BUSY=0時(shí),數(shù)據(jù)穩(wěn)定,,可取數(shù)據(jù),;BUSY=1時(shí),數(shù)據(jù)在變化,不能取數(shù)據(jù),;INH=0時(shí),,數(shù)據(jù)穩(wěn)定,可取數(shù)據(jù),;INH=1時(shí),,刷新鎖存器;轉(zhuǎn)換器控制信號(hào)由選擇使能信號(hào),、字節(jié)選擇信號(hào)BYSEL進(jìn)行控制,。使能信號(hào)
是邏輯高電平,輸出為高阻狀態(tài),;使能信號(hào)
為邏輯低電平,,輸出數(shù)字角Φ。字節(jié)選擇信號(hào)BYSEL是邏輯高電平,,1~8位輸出數(shù)字角D1~D8,,9~14位輸出數(shù)字角D9~D14;字節(jié)選擇信號(hào)BYSEL是邏輯低電平,,1~8位輸出數(shù)字角D9~D14,。
雙通道14位跟蹤型自整角機(jī)/旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器14ZSZ/XSZ-S02是為要求體積小、重量輕,、費(fèi)用低的應(yīng)用場(chǎng)合而設(shè)計(jì)。每路輸入可以是自整角機(jī)/旋轉(zhuǎn)變壓器信號(hào),,并且具有兩個(gè)獨(dú)立的參考輸入端,,因而每個(gè)通道可以具有不同的參考頻率。經(jīng)三態(tài)鎖存器輸出與TTL電平兼容的14位并行自然二進(jìn)制碼,,在數(shù)據(jù)讀取時(shí)無(wú)須中斷轉(zhuǎn)換過(guò)程,。該模塊有A_B和/OE控制線(xiàn)選擇通道[2],并將相應(yīng)轉(zhuǎn)換結(jié)果送到公共數(shù)據(jù)輸出端口,。轉(zhuǎn)換器檢測(cè)/BIT[2]輸出信號(hào)可用于不間斷系統(tǒng),,以指示轉(zhuǎn)換器是否處于精確跟蹤狀態(tài)。A_B=1,,選CHA,;A_B=0,選CHB,; OE=0,,數(shù)據(jù)有效;OE=1,,DB1~DB14高阻,。該模塊沒(méi)有高低字節(jié)選擇信號(hào)。
1.1.2 14SZZ/SXZ 數(shù)字-自整角機(jī)轉(zhuǎn)換器[2]
14SZZ/SXZ將14位自然二進(jìn)制數(shù)字角度量轉(zhuǎn)換成含有該數(shù)字角度量的自整角機(jī)/旋轉(zhuǎn)變壓器形式的模擬電壓輸出,如圖3,。ENH控制高8位,,ENL控制低6位;ENH/ENL=1,,轉(zhuǎn)換器輸出隨輸入量變化,,ENH/ENL同時(shí)等于0,轉(zhuǎn)換器輸出鎖存為下降沿時(shí)刻,。14位自然二進(jìn)制數(shù)字角度量采用了TTL/CMOS數(shù)字鎖存,,輸入和輸出交流信號(hào)采用輸入、輸出變壓器隔離,。這樣,,使得轉(zhuǎn)換器在使用中不用外加數(shù)字鎖存器,不用外接參考變壓器和輸出變壓器,,可廣泛應(yīng)用與數(shù)字至軸角量的轉(zhuǎn)換,,是計(jì)算機(jī)與控制系統(tǒng)之間的理想接口電路。
1.2 電源管理模塊
系統(tǒng)的其他部分器件型號(hào)確定后,,所需的功率,、電流、電壓大小便確定了,,最后設(shè)計(jì)電源系統(tǒng)以保證系統(tǒng)可靠運(yùn)行,。由于電路的頻率特性,電磁輻射,、噪音會(huì)干擾到達(dá)電路器件的工作電壓,,而一些芯片對(duì)工作電壓的要求非常高(一般要求電壓偏差不超過(guò)5%),一旦超過(guò)范圍長(zhǎng)時(shí)間工作則容易縮短壽命甚至損壞,。因此,,在電路中需要設(shè)計(jì)實(shí)時(shí)監(jiān)控電壓的電壓監(jiān)控電路,為芯片提供合格而穩(wěn)定的電壓,。
本設(shè)計(jì)采用低壓差線(xiàn)性穩(wěn)壓器LT1117IST-3.3給系統(tǒng)中對(duì)電壓要求高的芯片提供穩(wěn)定電壓,。但僅有完美供電系統(tǒng)是不夠的,有時(shí)VCC上一個(gè)很小的壓降就可能破壞存儲(chǔ)器﹑內(nèi)部寄存器中的內(nèi)容,,但卻并不產(chǎn)生復(fù)位,,從而造成軟件的誤動(dòng)作。因此,,在系統(tǒng)中加入電源監(jiān)控電路TPS3307以保障系統(tǒng)長(zhǎng)期穩(wěn)定運(yùn)行,。
2 軟件設(shè)計(jì)
電路中,單片機(jī)軟件編程完成的工作有:與液晶屏的通信,、加熱控制,、亮度控制、按鍵檢測(cè)及處理、數(shù)據(jù)處理,、數(shù)據(jù)傳輸,、顯示界面的控制。
2.1 初始化單元
系統(tǒng)上電后,,先對(duì)看門(mén)狗初始化,,喂狗時(shí)間間隔為47.406ms;初始化CPU端口,,將P0.0,、P0.1分配給串口0,將P0.2,、P0.3分配給串口1,;配置系統(tǒng)時(shí)鐘為外部時(shí)鐘,選取22.118 4MHz晶振,;初始化串口1,,波特率為9 600B;設(shè)置定時(shí)器,,每35ms中斷一次,;最后初始化中斷系統(tǒng),將所有中斷全部禁止,。
2.2 數(shù)據(jù)處理顯示單元
輸入數(shù)據(jù)經(jīng)過(guò)A/D模塊轉(zhuǎn)換成14位數(shù)字信號(hào),,如角度信號(hào)0°~360°對(duì)應(yīng)輸出數(shù)值0~214。該序列數(shù)字信號(hào)由CPLD按高,、低字節(jié)或一次性讀入緩存,,緩存再按高、低字節(jié)寫(xiě)入單片機(jī)的數(shù)據(jù)總線(xiàn),。單片機(jī)將高低字節(jié)合并送到顯示屏,,并根據(jù)顯示要求處理,,使得液晶屏讀數(shù)與模擬輸入對(duì)應(yīng),,如圖形板0x8000對(duì)應(yīng)360°,則A/D轉(zhuǎn)換結(jié)果要右移2位,。同理,,輸出數(shù)字信號(hào)由CPLD從單片機(jī)按字節(jié)讀入緩存,再?gòu)木彺孑敵龅紻/A轉(zhuǎn)換器,。
2.3 定時(shí)工作及存儲(chǔ)器初始化單元
定時(shí)單元改變個(gè)別全局變量值,,用于其他部分定時(shí)的需求,并對(duì)系統(tǒng)按鍵進(jìn)行定時(shí)識(shí)別,。按鍵采用查詢(xún)的方法判斷是否真的有鍵被按下,,以長(zhǎng)按或短按決定數(shù)據(jù)變化速度快慢。本電路中共有5個(gè)按鍵,可看作1×5行列式鍵盤(pán),。存儲(chǔ)器單元用于將雙口RAM存儲(chǔ)器清空,。
2.4 通信模塊
單片機(jī)通過(guò)串口1與液晶屏通信,包括液晶屏控制,、亮度,、溫度讀寫(xiě)的操作子模塊,流程如圖4,。
通信流程如圖5,,每送一個(gè)字節(jié)液晶屏的讀寫(xiě)命令,液晶屏便會(huì)返回一個(gè)字節(jié)表示溫度或狀態(tài)的數(shù)據(jù),,根據(jù)返回?cái)?shù)值執(zhí)行下一個(gè)動(dòng)作,。讀取液晶屏狀態(tài)可以獲得溫度傳感器是否工作的信息。設(shè)置背光燈溫度,,要先判斷溫度傳感器是否有效,,如無(wú)效則關(guān)閉加熱電源,否則會(huì)損壞器件,;同時(shí)將默認(rèn)的自動(dòng)模式改為人工模式,,以免系統(tǒng)反復(fù)試圖加熱。設(shè)置燈控制時(shí),,液晶屏返回兩個(gè)不同值用于設(shè)置白天或夜晚模式,。讀取液晶屏溫度后,根據(jù)大小值判斷是否需要加熱,,通常不應(yīng)低于0℃,。
2.5 單片機(jī)主程序模塊
主程序流程如圖6,先清空雙口RAM,,查詢(xún)液晶屏溫度等狀態(tài),,小于0°且溫度傳感器有效則開(kāi)加熱電源,通過(guò)串口1對(duì)液晶屏進(jìn)行初始化設(shè)置,,自檢測(cè)后,,讀取輸入的信號(hào)并進(jìn)行處理,傳輸給液晶屏顯示,,將數(shù)字信號(hào)轉(zhuǎn)換為模擬輸出,。對(duì)亮度等按鍵進(jìn)行處理,當(dāng)長(zhǎng)按時(shí),,按鍵計(jì)數(shù)而不改變相應(yīng)的值,,松手后才改變亮度等值,這就實(shí)現(xiàn)了長(zhǎng)按數(shù)據(jù)變化加快的功能,。
本文提出的基于單片機(jī)和CPLD的液晶航向指示器的接口電路設(shè)計(jì),,能夠處理自整角機(jī),、旋轉(zhuǎn)變壓器、電壓電流計(jì)信號(hào)等模擬輸入,,能夠接收系統(tǒng)的按鍵控制,,與液晶屏通信正常,顯示清晰正確,,輸出數(shù)據(jù)正確,。設(shè)計(jì)方案在實(shí)際產(chǎn)品中得到應(yīng)用,并取得良好的通信和顯示效果,。
參考文獻(xiàn)
[1] 潘琢金.C8051F020/1/2/3混合信號(hào)ISP FLASH微控制器數(shù)據(jù)手冊(cè).沈陽(yáng)新華龍電子有限公司,,2002.
[2] 連云港杰瑞電子有限公司.2007數(shù)據(jù)手冊(cè)—軸角分冊(cè),2007.