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