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