引言
在數(shù)控機床或其他數(shù)控設(shè)備中,往往都會用到光柵尺或編碼器等位置傳感部件,用以來測量機械運動部件的實際運動位置及速度信息。那么光柵尺或編碼器測量到的數(shù)值,就需要專門的接收部件來處理。一般的編碼器輸出的信號是AB(或ABZ)相正交編碼信號,之所以這樣編碼也是為了將方向信息加入碼流,同時也有利抗干擾等方面的處理。因此在接收這個信號時就需要專門的解碼接口電路,將所得的數(shù)據(jù)也就是實際運動位置/位置信息傳遞給處理單元,或通過總線(比如 PCI)傳遞給數(shù)控設(shè)備的中央控制系統(tǒng)中,讓控制系統(tǒng)的軟硬件根據(jù)測來的實際信息與理想(邏輯)信息進行對比,然后根據(jù)比較的誤差結(jié)果再去調(diào)節(jié)運動部件的位置和速度,或做其他中斷、開關(guān)性的輸出動作以達到控制機械運動的目的。甚至,通過一套完整的算法來把位置、速度、力矩等信息納入體系中來,做實時反饋處理,這也就是我們所說的閉環(huán)(半閉環(huán))處理,我們常見的算法就是PID(或PI)算法。這樣以來,就比較方便于讓機械設(shè)備在全自動的運行下達到快、準、柔的特性。
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的擴展功能?;蛘咄瓿?-4軸AB相解碼外加可編程脈沖發(fā)生功能。
而要充分利用CPLD的資源,并且達到一個高性能、高可靠性的設(shè)計,是需要足夠的技術(shù)力量保障的,這樣才會有高性加比的產(chǎn)品出現(xiàn)。
深圳市斯邁迪科技發(fā)展有限公司正式這樣的公司,專業(yè)從事運動控制SOPC(即CPLD、 FPGA)的芯片級技術(shù)方案和平臺級技術(shù)方案開發(fā),并向市場推出多款運動控制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是其功能框圖。下面是其性能指標:
輸入時鐘CLK頻率最高到80MHz,標準輸入頻率40MHz;
PWM的占空比調(diào)節(jié)范圍0~4095,頻率調(diào)節(jié)范圍150Hz~150KHz;
16位編碼器計數(shù)器,可達計數(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ù)部分的原理:[!--empirenews.page--]
圖2:解碼計數(shù)部分的原理
SM2100芯片有1-4通道16位ABZ相編碼器計數(shù)器。通過讀取各通道的計數(shù)寄存器(CNT*)可以得到該通道當前的計數(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相信號的上升沿,會把當前的編碼器計數(shù)值鎖存在索引寄存器(CNT*_IDX)中,同時把狀態(tài)寄存器(STATUS)中的對應(yīng)標志位置1。CPU 芯片可以依據(jù)SM2103的狀態(tài)寄存器和索引寄存器的值進行回零點處理。狀態(tài)寄存器的索引標志位在狀態(tài)寄存器讀操作后自動清零。
B、PWM輸出
SM2100芯片有1-4通道16位PWM輸出。用于產(chǎn)生互補(差分)的脈寬調(diào)制信號有死區(qū)控制功能。可以用來對3相位晶體管的控制完成電機控制中的功率驅(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電平)。
當PWM脈沖寬度的設(shè)置大于脈沖周期的設(shè)置值時,輸出脈沖的占空比保持為100%。
C、通用IO應(yīng)用
對SM2100芯片的通用輸入輸出的操作,直接對GPI 、GPO寄存器進行讀寫即可。這項功能可以用來完成對系統(tǒng)中的開關(guān)量控制,或類似于PLC中的I/O點控制。
2、 2100的應(yīng)用方案舉例介紹
2.1 SM2100芯片在運動控制卡中的應(yīng)用:基于PCI的讀數(shù)卡SMP330
SMP330卡是利用SM2103及PCI接口芯片設(shè)計出的32位PCI總線的3通道AB相解碼計數(shù)和PWM輸出卡。該卡適用于電機控制,數(shù)控機械系統(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)過達林頓管增加驅(qū)動電流;此外還在板上增加了隔離電源模塊,用以增加系統(tǒng)的抗干擾性。
下圖3是SMP330的系統(tǒng)功能框圖:
SMP330卡可以用到多個應(yīng)用領(lǐng)域:電機控制、過程監(jiān)視、工業(yè)過程控制。具體的有:抄數(shù)機、測量分析儀器、半自動化定位機器、PC機數(shù)顯等。它可以完成系統(tǒng)中的讀數(shù)功能,也就是對實際位置/速度信息的測量,還有利用PWM功能對電機進行控制,同時數(shù)字GPI/O功能也可以用來對系統(tǒng)進行I/O擴展。
比如抄數(shù)機。我們在實際工件的設(shè)計生產(chǎn)中,對一些較復(fù)雜或不規(guī)則工件的機械外型設(shè)計比較困難,同時也特別消耗時間。這種情況下,如果有實際的參考實物,利用抄數(shù)機的位置探測部位對實物的外殼的實際位置信息快速而又精準的測得,直接利用測得的數(shù)據(jù)恢復(fù)出其“外貌”來,則設(shè)計就是一個快速高效的仿制了。那么這個抄數(shù)機設(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)品里擔當速度與位置的接口處理功能,以及對PWM輸出產(chǎn)生的功能。
此處以無刷直流數(shù)字伺服驅(qū)動器為例。一個無刷直流電機的控制原理框圖可以用下圖4來表示。
圖4:無刷直流電機的控制框圖
我們?nèi)绻麑ι蠄D3進行深一步的全數(shù)字化電路設(shè)計性細分,可以得到如下的圖5數(shù)字直流伺服系統(tǒng)功能框圖:
圖5:數(shù)字直流伺服系統(tǒng)框圖
那么,在上圖5中蘭色框體部分就可以用SM2100系列芯片方案來實現(xiàn),灰色框范圍內(nèi)的功能則可以用DSP或FPGA來實現(xiàn),這樣就形成一個全數(shù)字伺服系統(tǒ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芯片就完成了。