文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2010)09-0036-03
隨著半導(dǎo)體和計(jì)算機(jī)技術(shù)的發(fā)展,單片機(jī)技術(shù)也得到迅速發(fā)展。利用單片機(jī)進(jìn)行產(chǎn)品開(kāi)發(fā),最明顯的優(yōu)點(diǎn)是可大大縮短開(kāi)發(fā)周期、降低成本和提升產(chǎn)品競(jìng)爭(zhēng)力。由于速度和功能的擴(kuò)展,單片機(jī)的應(yīng)用領(lǐng)域也可以方便拓展到許多高端技術(shù)場(chǎng)合,尤其與一些大規(guī)模邏輯或時(shí)序芯片(如CPLD、FPGA等)配合使用,使得以前的單片機(jī)只能用于低端場(chǎng)合的情況得到巨大改善。單片機(jī)編程方便、使用靈活、可移植性強(qiáng)、可結(jié)構(gòu)設(shè)計(jì)及可直接操作計(jì)算機(jī)硬件、生成的代碼質(zhì)量高的特點(diǎn),在很大程度上推廣了單片機(jī)的使用。
電子系統(tǒng)的集成化不僅解決了系統(tǒng)的體積、重量問(wèn)題,也大大提高了系統(tǒng)的可靠性。復(fù)雜可編程邏輯器件CPLD的日益成熟,使其在各個(gè)領(lǐng)域得到了強(qiáng)有力的推廣和成功應(yīng)用。本文在以高速單片機(jī)C8051F120和EPM570T144為核心的基礎(chǔ)上設(shè)計(jì)了包括伺服控制器、增量式編碼器、ABZ碼數(shù)據(jù)采集、PWM電機(jī)控制信號(hào)產(chǎn)生、GPS數(shù)據(jù)信號(hào)處理以及和LCD數(shù)據(jù)顯示等功能模塊的一種多功能控制系統(tǒng)。系統(tǒng)成本低、功能全,在望遠(yuǎn)鏡控制系統(tǒng)中應(yīng)用,驗(yàn)證了其可行性。
1 系統(tǒng)功能說(shuō)明
望遠(yuǎn)鏡控制系統(tǒng)包括很多分系統(tǒng),如伺服系統(tǒng)、編碼器系統(tǒng)、時(shí)統(tǒng)系統(tǒng)。伺服系統(tǒng)包括編碼器的位置/速度采樣模塊、PWM控制信號(hào)產(chǎn)生模塊、控制的算法實(shí)現(xiàn)、功率驅(qū)動(dòng)等環(huán)節(jié);時(shí)統(tǒng)系統(tǒng)為各個(gè)分系統(tǒng)產(chǎn)生同步信號(hào)和時(shí)間信息等,提供的輸出接口具有差分或TTL電平方式。整個(gè)控制板功能原理圖如圖1所示。
圖1中,單片機(jī)負(fù)責(zé)控制算法的實(shí)現(xiàn)和外部控制接口,如速度控制器和位置控制器算法、LCD顯示內(nèi)容的控制、與外部的通訊和A/D采樣等;CPLD負(fù)責(zé)各種邏輯電路的實(shí)現(xiàn),如ABZ碼可逆計(jì)數(shù),PWM控制波形產(chǎn)生,各種開(kāi)關(guān)量輸入接口。CPLD具有的諸多功能大大減輕了CPU的負(fù)擔(dān), CPU則只從CPLD接收數(shù)據(jù)進(jìn)行處理,完成PID的控制算法,輸出控制變量到CPLD。
2 硬件系統(tǒng)設(shè)計(jì)
2.1 單片機(jī)簡(jiǎn)介
選用新華龍C8051F120單片機(jī),其是完全集成的混合信號(hào)片上系統(tǒng)型MCU芯片,具有64個(gè)數(shù)字I/O引腳(100腳TQFP封裝)。具有下列主要特性[1]:高速、流水線結(jié)構(gòu)的8051兼容的CIP-51內(nèi)核(100 MIPS或50 MIPS);真正12 bit、100 kS/s的ADC,帶PGA和8通道模擬多路開(kāi)關(guān);2周期的16×16乘法和累加引擎;128 KB可在系統(tǒng)編程的FLASH存儲(chǔ)器;8 448(8 K+256)B的片內(nèi)RAM;可尋址64 KB地址空間的外部數(shù)據(jù)存儲(chǔ)器接口;硬件實(shí)現(xiàn)的SPI、SMBus/I2C和2個(gè)UART串行接口;5個(gè)通用的16 bit定時(shí)器等。
2.2 CPLD
CPLD選用ALTERA公司的低成本低功耗MAXⅡ系列的EPM570T144,含有570個(gè)邏輯單元(LE),等效于440個(gè)宏單元;8 192 bit的用戶(hù)Flash存儲(chǔ)器,可滿(mǎn)足用戶(hù)小容量信息存儲(chǔ)要求;最大用戶(hù)I/O 數(shù)為76,最快速度為4.5 ns,內(nèi)部最大時(shí)鐘頻率304 MHz,完全滿(mǎn)足系統(tǒng)設(shè)計(jì)要求。完成與MCU的數(shù)據(jù)總線和地址總線接口電路、外部定時(shí)中斷電路、譯碼電路、PWM脈沖發(fā)生電路、倍頻鑒向電路、計(jì)數(shù)電路、故障保護(hù)電路等功能。
2.3 GPS模塊
GPS接收機(jī)模塊選用XW-GPS100型號(hào)模塊,因其使用U-blox公司LEA-5S型號(hào)GPS芯片接收衛(wèi)星信息,所以具有體積小、精度高、抗干擾能力強(qiáng)、靈敏性好及價(jià)格低廉等諸多優(yōu)點(diǎn)。它的接收機(jī)類(lèi)型為50通道的性能引擎的GPS L1 C/A碼,具有4 Hz的最大更新速率,定位精度為2.5 m,啟動(dòng)時(shí)間短。
2.4 通信接口RS232
本系統(tǒng)設(shè)計(jì)為帶有兩通道的標(biāo)準(zhǔn)RS232通信接口,完成外界與系統(tǒng)內(nèi)部的通信功能。在控制系統(tǒng)功能下,外接上位機(jī),實(shí)現(xiàn)對(duì)系統(tǒng)的控制信號(hào)輸入,同時(shí)亦可把實(shí)時(shí)信號(hào)通過(guò)通信口傳送至下位機(jī),處理實(shí)時(shí)采樣數(shù)據(jù)。在GPS系統(tǒng)工作模式下,選用其一作為GPS衛(wèi)星數(shù)據(jù)信號(hào)的輸入通道,接收GPS模塊傳送進(jìn)來(lái)的數(shù)據(jù)信息,在主控器單片機(jī)中對(duì)其進(jìn)行解析和其他操作;同時(shí),選用另一通信通道作為數(shù)據(jù)信息傳輸功能,完成對(duì)解析數(shù)據(jù)信息的實(shí)時(shí)傳輸,對(duì)于與此相連的下位機(jī)可以完成其他相應(yīng)功能。
2.5 PWM波形產(chǎn)生模塊
控制系統(tǒng)中,根據(jù)電機(jī)運(yùn)轉(zhuǎn)的實(shí)際情況對(duì)電動(dòng)機(jī)轉(zhuǎn)速進(jìn)行控制,通過(guò)相應(yīng)算法在線實(shí)時(shí)調(diào)節(jié)PWM波形占空比來(lái)達(dá)到目的,調(diào)節(jié)質(zhì)量的好壞取決于控制系統(tǒng)的硬件條件及軟件算法。其PWM產(chǎn)生電路如圖2所示。
由于在控制望遠(yuǎn)鏡方位及俯仰電機(jī)運(yùn)轉(zhuǎn)的過(guò)程中,采用的是雙極性控制模式,所以在上述PWM輸出模塊后需要加入死區(qū)電路,防止雙極性模式下的二極管直通現(xiàn)象發(fā)生。通過(guò)在單片機(jī)內(nèi)的控制信號(hào)調(diào)節(jié)CPLD中控制信號(hào),可實(shí)現(xiàn)對(duì)直流電機(jī)的單雙極性、運(yùn)轉(zhuǎn)方向及使能的控制。
2.6 編碼器計(jì)數(shù)模塊
選用高精度的增量式光電編碼器作為位置和速度傳感器。其輸出端包括A、B、Z三種信號(hào),通過(guò)對(duì)A、B碼信號(hào)90°相位差的識(shí)別來(lái)判斷電動(dòng)機(jī)運(yùn)轉(zhuǎn)方向及位置,清零信號(hào)Z每過(guò)零點(diǎn)一次則產(chǎn)生一次脈沖[5]。本文采用CPLD實(shí)現(xiàn)對(duì)此編碼器信號(hào)的解析,可降低設(shè)計(jì)成本、減少PCB面積。經(jīng)過(guò)圖3所示的編碼器信號(hào)處理電路后,輸出TTL電平的A、B、Z信號(hào)到CPLD,對(duì)波形進(jìn)行整形、數(shù)字濾波處理,再細(xì)分,進(jìn)辨向電路[6],最后由可逆計(jì)數(shù)電路完成對(duì)脈沖的計(jì)數(shù),輸出32 bit的二進(jìn)制碼值,單片機(jī)對(duì)計(jì)數(shù)值讀取獲得位置值。
2.7 LCD液晶顯示
LCD模塊選用LM6800,它是256×64全圖形點(diǎn)陣的液晶顯示模塊,指令簡(jiǎn)單,易于操作,適合與本設(shè)計(jì)所選用的C8051F120主控制器結(jié)合使用,LCD液晶顯示范圍亦可滿(mǎn)足本設(shè)計(jì)所涉及到的相應(yīng)顯示信息。
2.8 I/O接口
C8051F120的又一特點(diǎn)是I/O接口豐富,可以方便地實(shí)現(xiàn)絕大部分功能,包括如前所述的編碼器AB碼輸入及計(jì)數(shù)信號(hào)、控制信號(hào)、通信信號(hào)等。此外,CPLD芯片還包括GPS秒脈沖同步時(shí)鐘信號(hào)的多路輸出。CPLD的全局時(shí)鐘為100 MHz,對(duì)其分頻處理給內(nèi)部各個(gè)模塊,如計(jì)數(shù)模塊電路、PWM處理電路和單片機(jī)的中斷信號(hào),由100 MHz分頻成1 MHz、1 kHz、500 Hz、50 Hz。
2.9 A/D采樣
C8051F120的ADC0 子系統(tǒng)包括一個(gè)9 通道的可編程模擬多路選擇器(AMUX0),一個(gè)可編程增益放大器(PGA0)和一個(gè)100 kS/s、12位分辨率的逐次逼近寄存器型ADC,ADC中集成了跟蹤保持電路和可編程窗口檢測(cè)器。AMUX0、PGA0、數(shù)據(jù)轉(zhuǎn)換方式及窗口檢測(cè)器都可用軟件通過(guò)設(shè)置特殊功能寄存器控制。
3 軟件設(shè)計(jì)
3.1 GPS系統(tǒng)
圖4所示為GPS全球定位系統(tǒng)的主程序流程圖[2]。在主控制系統(tǒng)及LCD初始化之后,判斷單片機(jī)所接收的GPS信息,若為幀頭起始符‘$’,則進(jìn)行數(shù)據(jù)信息的接收并進(jìn)行圖示中以下各步驟的數(shù)據(jù)處理,最后把所需要的日期、時(shí)間、經(jīng)緯度和海拔高度數(shù)據(jù)信息顯示于LCD液晶顯示屏上,并把這些數(shù)據(jù)進(jìn)行數(shù)據(jù)壓縮打包,且在GPS秒脈沖的觸發(fā)下通過(guò)異步串行通信口UART1發(fā)送至其他系統(tǒng)。
3.2 閉環(huán)控制系統(tǒng)
在控制算法的實(shí)現(xiàn)上采用內(nèi)模控制,其設(shè)計(jì)思路是將對(duì)象模型與實(shí)際對(duì)象相并聯(lián),控制器逼近模型的動(dòng)態(tài)逆,對(duì)單變量系統(tǒng)而言?xún)?nèi)模控制器取為模型最小相位部分的逆,并通過(guò)附加低通濾波器以增強(qiáng)系統(tǒng)的魯棒性。模型和被控對(duì)象模型精確匹配時(shí),控制系統(tǒng)的輸入等于輸出。內(nèi)??刂颇軌蚯宄乇砻髡{(diào)節(jié)參數(shù)和閉環(huán)響應(yīng)及魯棒性的關(guān)系,內(nèi)??刂破鞯膭?dòng)態(tài)特性取決于內(nèi)部模型與被控對(duì)象的匹配情況[3,4]。在工業(yè)過(guò)程中,與經(jīng)典PID控制相比,內(nèi)??刂苾H有一個(gè)整定參數(shù),參數(shù)調(diào)整與系統(tǒng)動(dòng)態(tài)品質(zhì)和魯棒性的關(guān)系比較明確,故采用內(nèi)模控制原理可以提高PID控制器的設(shè)計(jì)水平。也由于參數(shù)調(diào)節(jié)簡(jiǎn)單,此算法利于單片機(jī)程序?qū)崿F(xiàn)。
大型光電望遠(yuǎn)鏡屬于大慣量系統(tǒng),機(jī)械時(shí)間常數(shù)遠(yuǎn)大于電氣時(shí)間常數(shù),故可忽略電氣時(shí)間常數(shù)的影響,對(duì)象的速度傳遞函數(shù)可簡(jiǎn)化為:
4 實(shí)驗(yàn)
LCD顯示內(nèi)容包括GPS信息和電機(jī)控制信息,可由按鍵和通信要求進(jìn)行顯示內(nèi)容的切換。測(cè)得某軸速度響應(yīng)曲線如圖5。完成兩軸電機(jī)控制算法時(shí)間約為230 μs,包括讀取增量式編碼器數(shù)值、算法實(shí)現(xiàn)、PWM輸出時(shí)間等。在時(shí)間上可滿(mǎn)足實(shí)時(shí)性要求,而且通信口將各種狀態(tài)變量輸出到上位機(jī),包括位置信息、速度信息、時(shí)間信息等。
本文通過(guò)高速單片機(jī)C8051F120和大規(guī)模CPLD實(shí)現(xiàn)了望遠(yuǎn)鏡多個(gè)分系統(tǒng)的整合,滿(mǎn)足了多功能和實(shí)時(shí)性要求,提供了低成本的解決方案,并用實(shí)驗(yàn)驗(yàn)證了其可行性。通過(guò)功能選擇可方便用于伺服控制器、編碼器數(shù)據(jù)采集顯示等各種應(yīng)用中,可大大降低成本,提高產(chǎn)品競(jìng)爭(zhēng)力,具有一定的實(shí)用價(jià)值。
參考文獻(xiàn)
[1] 新華龍電子有限公司.C8051F120/1/2/3/4/5/6/7、C8051-F130/1/2/3系列混合信號(hào)ISP FLASH微控制器數(shù)據(jù)手冊(cè),Rev 1.3.2004,12.
[2] U-blox 5 NMEA UBX Protocol Specification.Ublox corporation datasheet.
[3] 李洪文.基于內(nèi)模PID控制的大型望遠(yuǎn)鏡伺服系統(tǒng)研究. 光學(xué)精密工程,2009,7(2):327-332.
[4] 李洪文,張斌,陰玉梅.大型光電望遠(yuǎn)鏡高集成智能伺服系統(tǒng)設(shè)計(jì).機(jī)床與液壓,2009,37(8):323-326.
[5] 徐祿勇,李尚柏,鐘睿.基于MCU+CPLD的新型光柵數(shù)顯系統(tǒng)設(shè)計(jì).國(guó)外電子元器件,2008(5):8-10,14.
[6] 金鋒,盧楊,王文松,等.光柵四倍頻細(xì)分電路模塊的分析與設(shè)計(jì).北京理工大學(xué)學(xué)報(bào),2006,26(12):1073-1076.