基于CPLD的編碼器解碼接口、PWM輸出方案及其在運(yùn)動控制卡和伺服驅(qū)動器中的應(yīng)用
引言
本文引用地址:http://butianyuan.cn/article/275083.htm在數(shù)控機(jī)床或其他數(shù)控設(shè)備中,往往都會用到光柵尺或編碼器等位置傳感部件,用以來測量機(jī)械運(yùn)動部件的實際運(yùn)動位置及速度信息。那么光柵尺或編碼器測量到的數(shù)值,就需要專門的接收部件來處理。一般的編碼器輸出的信號是AB(或ABZ)相正交編碼信號,之所以這樣編碼也是為了將方向信息加入碼流,同時也有利抗干擾等方面的處理。因此在接收這個信號時就需要專門的解碼接口電路,將所得的數(shù)據(jù)也就是實際運(yùn)動位置/位置信息傳遞給處理單元,或通過總線(比如PCI)傳遞給數(shù)控設(shè)備的中央控制系統(tǒng)中,讓控制系統(tǒng)的軟硬件根據(jù)測來的實際信息與理想(邏輯)信息進(jìn)行對比,然后根據(jù)比較的誤差結(jié)果再去調(diào)節(jié)運(yùn)動部件的位置和速度,或做其他中斷、開關(guān)性的輸出動作以達(dá)到控制機(jī)械運(yùn)動的目的。甚至,通過一套完整的算法來把位置、速度、力矩等信息納入體系中來,做實時反饋處理,這也就是我們所說的閉環(huán)(半閉環(huán))處理,我們常見的算法就是PID(或PI)算法。這樣以來,就比較方便于讓機(jī)械設(shè)備在全自動的運(yùn)行下達(dá)到快、準(zhǔn)、柔的特性。
1 用CPLD來實現(xiàn)編碼器解碼接口及PWM輸出功能
現(xiàn)在市面上已經(jīng)有專用的編碼器信號/AB相正交編碼信號解碼接口芯片,主要是歐美等國家提供的芯片,比如HCTL-2016/HCTL-2020等產(chǎn)品。但是這些產(chǎn)品性能價格比還是比較差,功能不夠豐富,使用起來也不靈活方便,很難適合廣大客戶的需求。
而用中規(guī)模的CPLD來完成AB相正交編碼信號解碼功能的設(shè)計,就成了一個選擇,加之CPLD的可塑性,及日益走好的性價比趨勢,這種方案甚至成為了唯一的最優(yōu)選擇。
一般情況,Altera/Lattice/Xilinx的市面主流的CPLD都可以滿足設(shè)計的需求,邏輯在中等規(guī)模,約500-1000宏單元,就可以完成1-4通道解碼AB相正交編碼信號解碼功能,并且可以外加1-4通道的PWM發(fā)生,以及多路數(shù)字量I/O的擴(kuò)展功能。或者完成1-4軸AB相解碼外加可編程脈沖發(fā)生功能。
而要充分利用CPLD的資源,并且達(dá)到一個高性能、高可靠性的設(shè)計,是需要足夠的技術(shù)力量保障的,這樣才會有高性加比的產(chǎn)品出現(xiàn)。
深圳市斯邁迪科技發(fā)展有限公司正式這樣的公司,專業(yè)從事運(yùn)動控制SOPC(即CPLD、 FPGA)的芯片級技術(shù)方案和平臺級技術(shù)方案開發(fā),并向市場推出多款運(yùn)動控制SOPC芯片產(chǎn)品。其中SM2100系列就是1-4路的ABZ相編碼器信號的解碼及PWM輸出功能SOPC產(chǎn)品。
以下是2100系列的功能介紹
1.1 SM2100特點簡介
SM2100提供了1-4通道的ABZ相解碼、4倍頻、16位的編碼器計數(shù)范圍和16位的PWM脈沖發(fā)生的功能。同時在芯片內(nèi)部附加了8路通用輸入和8路通用輸出。由于芯片是SOPC技術(shù)方案,因此還可以根據(jù)客戶的具體需求做定向化的設(shè)計。
圖1是其功能框圖。下面是其性能指標(biāo):
輸入時鐘CLK頻率最高到80MHz,標(biāo)準(zhǔn)輸入頻率40MHz;
PWM的占空比調(diào)節(jié)范圍0~4095,頻率調(diào)節(jié)范圍150Hz~150KHz;
16位編碼器計數(shù)器,可達(dá)計數(shù)范圍為:1~ 65535;
AB相輸入可4倍頻,AB相輸入內(nèi)接3階數(shù)字低通濾器,濾波帶寬4級可調(diào)。
圖1:SM2100功能框圖
1.2 SM2100的設(shè)計應(yīng)用說明
SM2100是一個SOPC方案,它的應(yīng)用特點如同常見的ASIC一樣方便,通過8位CPU接口與主控器件接口,通過內(nèi)部寄存器來設(shè)置其工作狀態(tài)及功能。
其中CPU接口非常簡單:
8根雙向數(shù)據(jù)總線:D0~7;
7根地址總線:A0~6;
1根片選線:CS_n;
1根讀允許線:RD_n;
1根寫允許線:WR_n。
也可以根據(jù)用戶需要,提供16位總線接口。除了數(shù)據(jù)總線增加到16根外,其它信號與8位總線接口相同。
下面是主要的功能設(shè)置寄存器介紹。通過這些寄存器的描述,應(yīng)用工程師們可以一目然地看清了SM2100的具體功能及如何使用。
1.3 SM2100的主要功能原理及應(yīng)用介紹
A、編碼器解碼計數(shù)功能
下圖2是解碼計數(shù)部分的原理:
圖2:解碼計數(shù)部分的原理
SM2100芯片有1-4通道16位ABZ相編碼器計數(shù)器。通過讀取各通道的計數(shù)寄存器(CNT*)可以得到該通道當(dāng)前的計數(shù)值。對各通道的計數(shù)清零寄存器(CNT*_CLR)的寫操作將把該道的計數(shù)寄存器清零。
每道計數(shù)器的輸入端都有4倍頻電路和3階數(shù)字濾波器電路。數(shù)字濾波器的帶寬分4檔可調(diào),分別是10M,5M,2.5M,625K,分別可以濾除ABZ相信號上的寬度小于300ns、600ns、1.2us、4.8us的干擾。對模式寄存器(MODE)的寫操作可以分別設(shè)定各通道的濾波器帶寬。
在Z相信號的上升沿,會把當(dāng)前的編碼器計數(shù)值鎖存在索引寄存器(CNT*_IDX)中,同時把狀態(tài)寄存器(STATUS)中的對應(yīng)標(biāo)志位置1。CPU芯片可以依據(jù)SM2103的狀態(tài)寄存器和索引寄存器的值進(jìn)行回零點處理。狀態(tài)寄存器的索引標(biāo)志位在狀態(tài)寄存器讀操作后自動清零。
B、PWM輸出
SM2100芯片有1-4通道16位PWM輸出。用于產(chǎn)生互補(bǔ)(差分)的脈寬調(diào)制信號有死區(qū)控制功能??梢杂脕韺?相位晶體管的控制完成電機(jī)控制中的功率驅(qū)動和3相逆變器功能,也可以或結(jié)合低通濾波完成DA轉(zhuǎn)換功能。
PWM輸出脈沖的周期可以通過往控制寄存器PWM_TL、PWM_TH寫入數(shù)據(jù)來設(shè)置。有效數(shù)據(jù)為16位,即PWM_TL的8位和PWM_TH的低4位。
第n通道的脈沖寬度可以通過往控制寄存器PWM_WnL、PWM_WnH寫入數(shù)據(jù)來設(shè)置。有效數(shù)據(jù)為16位,即PWM_WnL的8位和PWM_WnH的低4位。
往PWM_EN寄存器的最低位寫入1時,使能PWM;寫入0時,禁止PWM輸出(輸出0電平)。
當(dāng)PWM脈沖寬度的設(shè)置大于脈沖周期的設(shè)置值時,輸出脈沖的占空比保持為100%。
C、通用IO應(yīng)用
對SM2100芯片的通用輸入輸出的操作,直接對GPI 、GPO寄存器進(jìn)行讀寫即可。這項功能可以用來完成對系統(tǒng)中的開關(guān)量控制,或類似于PLC中的I/O點控制。
2 2100的應(yīng)用方案舉例介紹
2.1 SM2100芯片在運(yùn)動控制卡中的應(yīng)用:基于PCI的讀數(shù)卡SMP330
SMP330卡是利用SM2103及PCI接口芯片設(shè)計出的32位PCI總線的3通道AB相解碼計數(shù)和PWM輸出卡。該卡適用于電機(jī)控制,數(shù)控機(jī)械系統(tǒng)中的位置監(jiān)測。它體現(xiàn)了上述SM2100系列芯片的一切功能特點,包括3通道16位A/B相編碼計數(shù)器,3個16位的PWM信號輸出,和多路通用的數(shù)字輸入、輸出通道。
因為是板卡級別的產(chǎn)品,因此還做了系統(tǒng)性質(zhì)電路調(diào)理處理。例如編碼器信號接口采用差分輸入接收,高速光電隔離;PWM輸出經(jīng)過74LS06芯片OC輸出;數(shù)字量的輸出輸入都經(jīng)過光電隔離,其中輸出還經(jīng)過達(dá)林頓管增加驅(qū)動電流;此外還在板上增加了隔離電源模塊,用以增加系統(tǒng)的抗干擾性。
下圖3是SMP330的系統(tǒng)功能框圖:
SMP330卡可以用到多個應(yīng)用領(lǐng)域:電機(jī)控制、過程監(jiān)視、工業(yè)過程控制。具體的有:抄數(shù)機(jī)、測量分析儀器、半自動化定位機(jī)器、PC機(jī)數(shù)顯等。它可以完成系統(tǒng)中的讀數(shù)功能,也就是對實際位置/速度信息的測量,還有利用PWM功能對電機(jī)進(jìn)行控制,同時數(shù)字GPI/O功能也可以用來對系統(tǒng)進(jìn)行I/O擴(kuò)展。
比如抄數(shù)機(jī)。我們在實際工件的設(shè)計生產(chǎn)中,對一些較復(fù)雜或不規(guī)則工件的機(jī)械外型設(shè)計比較困難,同時也特別消耗時間。這種情況下,如果有實際的參考實物,利用抄數(shù)機(jī)的位置探測部位對實物的外殼的實際位置信息快速而又精準(zhǔn)的測得,直接利用測得的數(shù)據(jù)恢復(fù)出其“外貌”來,則設(shè)計就是一個快速高效的仿制了。那么這個抄數(shù)機(jī)設(shè)備中主要的處理部件就可以利用SMP330卡來實現(xiàn)。
圖3:是SMP330的系統(tǒng)結(jié)構(gòu)框圖
2.2 SM2100芯片在數(shù)字伺服驅(qū)動器中的應(yīng)用
已經(jīng)有部分客戶利用SM2100芯片方案來實現(xiàn)其伺服驅(qū)動器產(chǎn)品了,在產(chǎn)品里擔(dān)當(dāng)速度與位置的接口處理功能,以及對PWM輸出產(chǎn)生的功能。
此處以無刷直流數(shù)字伺服驅(qū)動器為例。一個無刷直流電機(jī)的控制原理框圖可以用下圖4來表示。
圖4:無刷直流電機(jī)的控制框圖
我們?nèi)绻麑ι蠄D3進(jìn)行深一步的全數(shù)字化電路設(shè)計性細(xì)分,可以得到如下的圖5數(shù)字直流伺服系統(tǒng)功能框圖:
圖5:數(shù)字直流伺服系統(tǒng)框圖
那么,在上圖5中蘭色框體部分就可以用SM2100系列芯片方案來實現(xiàn),灰色框范圍內(nèi)的功能則可以用DSP或FPGA來實現(xiàn),這樣就形成一個全數(shù)字伺服系統(tǒng)方案。當(dāng)然在這個系統(tǒng)中,SM2100只是成但部分的功能及接口,主體的閉環(huán)算法處理是在DSP或FPGA實現(xiàn)(用FPGA方案實現(xiàn)也是深圳市斯邁迪科技發(fā)展有限公司的產(chǎn)品之一,它囊括了2100在內(nèi),更主要的是新型FPGA的特點使得比起DSP方案來有獨到的優(yōu)勢,此處不再贅述)。
這樣的方案里面,結(jié)合SM2100來實現(xiàn),優(yōu)點是增加系統(tǒng)可靠性、性能好。
綜上所述,一個數(shù)字直流伺服系統(tǒng)(驅(qū)動器)的處理部分實現(xiàn),就可以用一個DSP結(jié)合一個SM2100芯片就完成了。
pid控制相關(guān)文章:pid控制原理
pwm相關(guān)文章:pwm是什么
pid控制器相關(guān)文章:pid控制器原理
pwm相關(guān)文章:pwm原理
脈沖點火器相關(guān)文章:脈沖點火器原理 脈寬調(diào)制相關(guān)文章:脈寬調(diào)制原理 數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理
評論