CPLD器件在單片機(jī)控制器中的應(yīng)用分析
自動控制的對象五花八門、品種繁多,要求控制器能夠模塊化、標(biāo)準(zhǔn)化、靈活配置;進(jìn)入商品經(jīng)濟(jì)時代,允許設(shè)計(jì)者的開發(fā)周期越來越短,從幾年、幾月縮短到幾月、幾天;有時合同臨近結(jié)束前,用戶還會提出更改設(shè)計(jì)條款的要求。因此,需要設(shè)計(jì)者開發(fā)出適應(yīng)性強(qiáng)、便于修改、配置靈活的控制器,以滿足用戶需求,爭得商機(jī)。
從成本考慮,有時以單片機(jī)為核心器件,量身度造地為被控對象設(shè)計(jì)專用控制器,仍是一種較好的選擇。
CPLD器件與單片機(jī)結(jié)合優(yōu)勢互補(bǔ)、相得益彰
單片機(jī)的一些優(yōu)缺點(diǎn)
單片機(jī)具有強(qiáng)大的信息處理、邏輯分析、決策判斷等能力,借助程序,通過輸入/輸出接口,實(shí)時檢測被控對象的狀態(tài),控制其當(dāng)前或預(yù)計(jì)的行為,組成智能化儀器設(shè)備。
但是,單片機(jī)存在不可克服的缺點(diǎn)和弱點(diǎn),如:
低速 單片機(jī)靠執(zhí)行指令來完成各種功能,不論多高的工作時鐘頻率或多么好的指令時序,其排隊(duì)式串行指令執(zhí)行方式使得工作速度和效率大打折扣。在高速實(shí)時仿真、高速數(shù)據(jù)采集等方面顯得力不從心。
復(fù)位工作方式 單片機(jī)工作之初,需花一段時間經(jīng)歷復(fù)位過程;工作時,在某種干擾性突變情況下,也會復(fù)位,復(fù)雜的復(fù)位過程很可能就是工作不可靠的根源。
程序跑飛 偶然因素,會引起程序跑飛。雖然有“看門狗”或其他抗干擾措施,在極復(fù)雜的情況下,單片機(jī)的程序仍存在跑飛的可能,從而進(jìn)入“死機(jī)”。
在單片機(jī)系統(tǒng)中,單片機(jī)的芯片通過印制板與系統(tǒng)中由其他集成電路組成的邏輯電路相連。一旦改變設(shè)計(jì),可能重新制版,加長了開發(fā)周期。
CPLD器件的一些優(yōu)缺點(diǎn)
隨著微電子技術(shù)飛速發(fā)展,集成電路規(guī)模越來越大,產(chǎn)生了復(fù)雜可編程邏輯器件CPLD和現(xiàn)場可編程門陣列FP2GA(兩種器件有類似之處,以下用CPLD器件簡稱),這些器件含有數(shù)量眾多的可編程邏輯宏單元或邏輯塊,他們能夠任意組合,設(shè)計(jì)成功能各異的邏輯電路。
CPLD器件輸入引腳的箝位電平和輸出引腳的原始電平可預(yù)先設(shè)定,一開機(jī)立即就能達(dá)到預(yù)定電平,狀態(tài)明確。各邏輯宏單元或邏輯塊的輸入信號僅需幾ns~幾十ns就反映到輸出端,信號傳輸效率很高,適合高速采樣等場合。
可編程邏輯宏單元或邏輯塊之間的相互連線在同一封裝內(nèi),受外界干擾影響小,電磁兼容(EMC)性能好。然而,對設(shè)計(jì)者來說,CPLD器件最大的優(yōu)點(diǎn)在于可現(xiàn)場編程。改變邏輯關(guān)系時,無需更改外部線路板,只需用圖形語言程序或硬件描述語言程序來改變電路,生成下載編輯軟件,通過下載電纜輸入CPLD器件即可,非常方便,特別有利于新品試制,大大縮短了開發(fā)周期。
CPLD器件雖然可任意組成各種邏輯電路,但在信息處理、邏輯分析、決策判斷等“智能”方面比不上單片機(jī),雖說可用CPLD器件仿真單片機(jī),但畢竟有差距,一般多用作“狀態(tài)機(jī)”或輔助邏輯電路。
CPLD器件和單片機(jī)結(jié)合能優(yōu)勢互補(bǔ)
如果把兩者結(jié)合起來,組成的控制器就能優(yōu)勢互補(bǔ)、相得益彰。大量工業(yè)控制的對象不屬高速調(diào)節(jié)系統(tǒng),這時,圖1示例的控制線路比較節(jié)省硬件開銷,適合CPLD器件的特性,容易調(diào)試,抗干擾能力強(qiáng)。
圖1 基于單片機(jī)和CPLD器件的控制器方框圖
若是高速調(diào)節(jié)系統(tǒng),應(yīng)采用并行A/D轉(zhuǎn)換集成電路,用作輸入信號VI的采樣、轉(zhuǎn)換電路。
開關(guān)型接口
CPLD器件與外部設(shè)備的開關(guān)型的輸入/輸出端,可按圖2所示方式連接,構(gòu)成類似于PLC可編程控制器的開關(guān)型接口。有些設(shè)計(jì)者在a點(diǎn)處插入了整形電路,其實(shí),當(dāng)CPLD器件與單片機(jī)結(jié)合時,可借助濾波軟件,消除抖動的影響,使得線路簡潔。經(jīng)實(shí)際使用,效果很好。
圖2 開關(guān)型輸入/輸出接口
在高速采樣或利用脈沖信號的競爭現(xiàn)象而工作的場合,CPLD器件比單片機(jī)更具有優(yōu)越性。例如,某型號分條整經(jīng)機(jī),紗籠直徑650~1000mm,需要判別轉(zhuǎn)向。紗籠高速運(yùn)轉(zhuǎn)時,A,B二路信號的時間差最小約240ns。這樣的時間差距,單片機(jī)很難處理;有時候又需要操作工人轉(zhuǎn)動紗籠,調(diào)整位置,速度往往幾乎為零,并可能反復(fù)變換方向。
采用CPLD器件,組成如圖4所示的判向電路,A路信號從IN05引腳輸入,B路信號從IN10引腳輸入,方向信號從數(shù)據(jù)總線的DATA0取出(波形見圖5),傳送給單片機(jī)。供單片機(jī)檢出和脈沖計(jì)數(shù)。
這項(xiàng)應(yīng)用的難點(diǎn),不僅在于高速時判別轉(zhuǎn)向,還在于工人轉(zhuǎn)動紗籠時,情況復(fù)雜多變。雖說傳感器內(nèi)部配備了斯密特整形電路,當(dāng)紗籠低速穿越傳感器時,拉長跨越門檻電平的時間,會產(chǎn)生一串不穩(wěn)定的跳變,發(fā)生計(jì)數(shù)錯誤。
圖3 紗籠傳感器信號及波形示意圖
圖4 判向電路
借助單片機(jī)的特殊處理程序和CPLD器件中其他邏輯電路,該整經(jīng)機(jī)項(xiàng)目的控制器不論高速還是低速,都能可靠地檢出方向和脈沖個數(shù),未發(fā)生過錯誤。
圖5 判向電路的仿真波形圖
模擬信號接口
模擬信號輸入接口
當(dāng)控制對象不需要高速采樣、高速調(diào)節(jié)時,采用圖1控制器方框圖中所示的模數(shù)轉(zhuǎn)換形式,能夠充分發(fā)揮CPLD器件邏輯宏單元可編程的長處。V/F轉(zhuǎn)換器把輸入的電壓信號轉(zhuǎn)為頻率信號,供CPLD器件中的計(jì)數(shù)器(圖1中未畫出)計(jì)數(shù),從而把模擬量轉(zhuǎn)換成數(shù)字量。該計(jì)數(shù)器的字長、進(jìn)制、模式根據(jù)需要可任意編程設(shè)定,比使用單片機(jī)內(nèi)的計(jì)數(shù)器靈活方便。此處不詳敘。
當(dāng)控制對象為高速系統(tǒng)時,可采用并行A/D轉(zhuǎn)換集成電路,這時宜采用并行口控制,可通過單片機(jī)或CPLD器件按常規(guī)方式對A/D電路的進(jìn)行。
模擬信號輸出接口
輸出的調(diào)節(jié)信號,可采用脈寬調(diào)制(PWM)波形加低通濾波器方式,很方便地實(shí)現(xiàn)數(shù)模轉(zhuǎn)換。PWM頻率越高,濾波效果越好,數(shù)模轉(zhuǎn)換通道如圖6所示。
圖7是在CPLD器件內(nèi)設(shè)計(jì)的一個8位計(jì)數(shù)器PWM波形發(fā)生器的示例。填入不同的計(jì)數(shù)初值,將在PWMOUT端相應(yīng)輸出不同占空比的脈沖串(見圖8)。
圖6 數(shù)模轉(zhuǎn)換通道示意圖
圖7 8位計(jì)數(shù)器PWM波形發(fā)生器示例圖
圖8 脈寬調(diào)制波形比較圖
在圖7中,時鐘脈沖從P32引腳輸入,WRN是寫選通信號輸入端,PWMOUT是輸出端。
如果只使用CPLD器件,PWM波的周期和脈寬形成電路會比較復(fù)雜。結(jié)合單片機(jī)以后,PWM波形的周期就是單片機(jī)定時訪問該計(jì)數(shù)器的WRN信號的周期,脈寬由單片機(jī)通過數(shù)據(jù)總線(DATA0~7)填入的計(jì)數(shù)初值決定。減少了CPLD器件內(nèi)可編程邏輯宏單元或邏輯塊數(shù)量的消耗。在圖6中,整形電路主要起限幅、隔離作用。限幅之后,使幅度保持一致,并加大脈沖的上升沿和下降沿的陡削度,保證后級轉(zhuǎn)換的電壓幅度主要取決于脈寬,減少附加誤差。
濾波電路影響到轉(zhuǎn)換的線性度,根據(jù)不同的課題要求,可采用無源濾波器、有源一階、二階低通濾波器。巴特沃茲型濾波器具有平坦的通帶幅頻特性,最適于本轉(zhuǎn)換電路方式的需要。以圖9所示巴特沃茲二階低通濾波器為例,其截止頻率fo為:
圖9 二階低通濾波器
截至頻率fo應(yīng)該大于信號帶寬邊沿,但是要遠(yuǎn)小于PWM信號的頻率。濾波器R,C的取值直接影響轉(zhuǎn)換后的紋波幅度和轉(zhuǎn)換速率,兩者對R,C的要求正相反,應(yīng)均衡考慮。必要時,通過實(shí)驗(yàn)選取合適的數(shù)值。
脈寬調(diào)制(PWM)波加低通濾波而實(shí)現(xiàn)數(shù)模轉(zhuǎn)換的電路,其精度主要取決于計(jì)數(shù)器的字長、PWM的頻率、低通濾波器的形式和元件選型。注意到這幾點(diǎn),轉(zhuǎn)換效果令人滿意。本文以8位計(jì)數(shù)器舉例,實(shí)際應(yīng)用中,考慮種種因素,一般采用10~14位計(jì)數(shù)器。
圖6中的功率放大級主要是把濾波器輸出的信號,以適當(dāng)?shù)姆糯?、反饋形式,轉(zhuǎn)換成符合Ⅱ型儀表、Ⅲ型儀表規(guī)定的電壓、電流信號,或轉(zhuǎn)換成其他觸發(fā)控制信號,以便與被控對象連接,調(diào)節(jié)其工作狀態(tài)。
結(jié)語
CPLD器件的物理機(jī)制像74系列、CD4000系列集成電路那樣,純屬硬件電路,十分可靠。繁雜的開發(fā)工作是依賴功能強(qiáng)大的EDA軟件實(shí)現(xiàn)的,入門門檻較低,易于初學(xué)者上手。目前正被越來越多的設(shè)計(jì)者青睞,普及推廣只是時間問題。
隨著微電子技術(shù)的發(fā)展,相信CPLD器件會有長足的進(jìn)步,可能會與微機(jī)日益緊密結(jié)合,以致兩者間界限模糊,你中有我,我中有你。
研制產(chǎn)品時,使CPLD器件與單片機(jī)的有機(jī)結(jié)合,不但縮短了開發(fā)周期,而且控制器配置靈活、修改方便、適應(yīng)性強(qiáng),加大了研制的自由度。容易滿足用戶的多元需求,從而爭得商機(jī)。