《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于CPLD的編碼器解碼接口,、PWM輸出方案及其在運動控制卡和伺服驅(qū)動器中的應(yīng)用
基于CPLD的編碼器解碼接口,、PWM輸出方案及其在運動控制卡和伺服驅(qū)動器中的應(yīng)用
電子工程專輯
摘要: SM2100是一個基于CPLD的編碼器解碼接口SOPC(系統(tǒng)在可編程芯片上)芯片方案,,她主要提供了1-4路ABZ相編碼器信號的解碼及PWM輸出功能,,用于對實際位置的判斷與反饋,,她的高性價比特點非常適合應(yīng)用于現(xiàn)階段我國數(shù)控設(shè)備中,。
關(guān)鍵詞: CPLD 編碼器 PWM 伺服驅(qū)動器
Abstract:
Key words :

     SM2100是一個基于CPLD編碼器解碼接口SOPC(系統(tǒng)在可編程芯片上)芯片方案,,她主要提供了1-4路ABZ相編碼器信號的解碼及PWM輸出功能,,用于對實際位置的判斷與反饋,,她的高性價比特點非常適合應(yīng)用于現(xiàn)階段我國數(shù)控設(shè)備中,。

引言

    在數(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è)備在全自動的運行下達到快,、準(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的擴展功能,。或者完成1-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是其功能框圖,。下面是其性能指標(biāo):

輸入時鐘CLK頻率最高到80MHz,標(biāo)準(zhǔn)輸入頻率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ù)部分的原理:

 

圖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)寄存器和索引寄存器的值進行回零點處理。狀態(tài)寄存器的索引標(biāo)志位在狀態(tài)寄存器讀操作后自動清零,。

B,、PWM輸出

SM2100芯片有1-4通道16位PWM輸出。用于產(chǎn)生互補(差分)的脈寬調(diào)制信號有死區(qū)控制功能,??梢杂脕韺?相位晶體管的控制完成電機控制中的功率驅(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寄存器進行讀寫即可,。這項功能可以用來完成對系統(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ù)機的位置探測部位對實物的外殼的實際位置信息快速而又精準(zhǔn)的測得,,直接利用測得的數(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)品里擔(dān)當(dāng)速度與位置的接口處理功能,,以及對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)方案,。當(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芯片就完成了。

參考文獻

《SM2100:編碼器解碼計數(shù),、PWM輸出及I/O擴展芯片 手冊》 深圳市斯邁迪科技發(fā)展有限公司

《SMP330:編碼器解碼計數(shù),、PWM輸出及I/O擴展PCI卡 手冊》 深圳市斯邁迪科技發(fā)展有限公司

於鳳兵

資深工程師 深圳市斯邁迪科技發(fā)展有限公司總經(jīng)理

胡軍艦

資深高級工程師 深圳市斯邁迪科技發(fā)展有限公司技術(shù)總監(jiān)

茍衛(wèi)忠

資深工程師深圳市斯邁迪科技發(fā)展有限公司研發(fā)部經(jīng)理

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。