基于CPLD的編碼器解碼接口、PWM輸出方案
引言
在數控機床或其他數控設備中,往往都會用到光柵尺或編碼器等位置傳感部件,用以來測量機械運動部件的實際運動位置及速度信息。那么光柵尺或編碼器測量到的數值,就需要專門的接收部件來處理。一般的編碼器輸出的信號是AB(或ABZ)相正交編碼信號,之所以這樣編碼也是為了將方向信息加入碼流,同時也有利抗干擾等方面的處理。因此在接收這個信號時就需要專門的解碼接口電路,將所得的數據也就是實際運動位置/位置信息傳遞給處理單元,或通過總線(比如 PCI)傳遞給數控設備的中央控制系統中,讓控制系統的軟硬件根據測來的實際信息與理想(邏輯)信息進行對比,然后根據比較的誤差結果再去調節運動部件的位置和速度,或做其他中斷、開關性的輸出動作以達到控制機械運動的目的。甚至,通過一套完整的算法來把位置、速度、力矩等信息納入體系中來,做實時反饋處理,這也就是我們所說的閉環(半閉環)處理,我們常見的算法就是PID(或PI)算法。這樣以來,就比較方便于讓機械設備在全自動的運行下達到快、準、柔的特性。
1 、用CPLD來實現編碼器解碼接口及PWM輸出功能
現在市面上已經有專用的編碼器信號/AB相正交編碼信號解碼接口芯片,主要是歐美等國家提供的芯片,比如HCTL-2016/HCTL-2020等產品。但是這些產品性能價格比還是比較差,功能不夠豐富,使用起來也不靈活方便,很難適合廣大客戶的需求。
而用中規模的CPLD來完成AB相正交編碼信號解碼功能的設計,就成了一個選擇,加之CPLD的可塑性,及日益走好的性價比趨勢,這種方案甚至成為了唯一的最優選擇。
一般情況,Altera/Lattice/Xilinx的市面主流的CPLD都可以滿足設計的需求,邏輯在中等規模,約500-1000宏單元,就可以完成1-4通道解碼AB相正交編碼信號解碼功能,并且可以外加1-4通道的PWM發生,以及多路數字量I/O的擴展功能。或者完成1-4軸AB相解碼外加可編程脈沖發生功能。
而要充分利用CPLD的資源,并且達到一個高性能、高可靠性的設計,是需要足夠的技術力量保障的,這樣才會有高性加比的產品出現。
深圳市斯邁迪科技發展有限公司正式這樣的公司,專業從事運動控制SOPC(即CPLD、 FPGA)的芯片級技術方案和平臺級技術方案開發,并向市場推出多款運動控制SOPC芯片產品。其中SM2100系列就是1-4路的ABZ相編碼器信號的解碼及PWM輸出功能SOPC產品。
以下是2100系列的功能介紹
1.1 SM2100特點簡介
SM2100提供了1-4通道的ABZ相解碼、4倍頻、16位的編碼器計數范圍和16位的PWM脈沖發生的功能。同時在芯片內部附加了8路通用輸入和8路通用輸出。由于芯片是SOPC技術方案,因此還可以根據客戶的具體需求做定向化的設計。
圖1是其功能框圖。下面是其性能指標:
輸入時鐘CLK頻率最高到80MHz,標準輸入頻率40MHz;
PWM的占空比調節范圍0~4095,頻率調節范圍150Hz~150KHz;
16位編碼器計數器,可達計數范圍為:1~ 65535;
AB相輸入可4倍頻,AB相輸入內接3階數字低通濾器,濾波帶寬4級可調。
圖1:SM2100功能框圖
1.2 SM2100的設計應用說明
SM2100是一個SOPC方案,它的應用特點如同常見的ASIC一樣方便,通過8位CPU接口與主控器件接口,通過內部寄存器來設置其工作狀態及功能。
其中CPU接口非常簡單:
8根雙向數據總線:D0~7;
7根地址總線:A0~6;
1根片選線:CS_n;
1根讀允許線:RD_n;
1根寫允許線:WR_n。
也可以根據用戶需要,提供16位總線接口。除了數據總線增加到16根外,其它信號與8位總線接口相同。
下面是主要的功能設置寄存器介紹。通過這些寄存器的描述,應用工程師們可以一目然地看清了SM2100的具體功能及如何使用。
1.3 SM2100的主要功能原理及應用介紹
A、編碼器解碼計數功能
下圖2是解碼計數部分的原理:
pwm相關文章:pwm原理
評論