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