隨著電子自動化和智能化的普及,電機的應(yīng)用場合越來越多,這就使得正交解碼器的應(yīng)用越來越廣泛。數(shù)控系統(tǒng)中如機器人、測量儀器、數(shù)控機床等領(lǐng)域中。用光柵傳感器、旋轉(zhuǎn)編碼器、激光陀螺進行位置檢測和位置定位。這類測量系統(tǒng)的輸出一般為兩路相位差90°的正交脈沖信號,通過該正交解碼方案可從正交信號中獲得測量系統(tǒng)所需要的位移或角位移等測量數(shù)據(jù),從而構(gòu)成閉環(huán)系統(tǒng)實現(xiàn)運動控制算法。
本文主要介紹采用高可靠性、低成本的Actel PPGA來實現(xiàn)正交解碼系統(tǒng),為大家提供一種正交解碼的實現(xiàn)方案。傳統(tǒng)MCU一般只支持一至兩路正交解碼,本方案是為了滿足用戶對多路正交解碼以及特殊功能需求而設(shè)計,同時結(jié)合了Actel FPGA單芯片、上電即行、低成本、低功耗、高安全性和高可靠性的優(yōu)點,使得正交解碼系統(tǒng)在傳統(tǒng)的MCU實現(xiàn)方式上得以衍生,可以應(yīng)用在各種不同需求的場合。本文以單路功能介紹為主,多路僅是在單獨基礎(chǔ)上的重復(fù)。
1概述
(1)功能概述
·支持位置捕獲和速度檢測:
·支持正交相位模式和時鐘/方向模式;
·根據(jù)需要可設(shè)計支持16、24、32位位置計數(shù)模式;
·支持正交錯誤、方向改變、索引檢測等三種中斷方式;
·根據(jù)需要可設(shè)計成對多路正交信號進行解碼,實現(xiàn)多路正交解碼;
·支持一路串口收發(fā)、地址管理、片選控制和AB相濾波處理等操作;
·系統(tǒng)頻率為70MHz,超過一般MCU的采樣頻率;
·資源占用率低。單路24位模式、支持中斷控制、支持正交相位和時鐘/方向模式、支持位置捕獲的正交解碼可用Actel的A3P030實現(xiàn),多路可用A3P060及以上器件實現(xiàn),具體資源占用情況與實際功能需求有關(guān);
·FPGA的可編程性使得功能設(shè)計非常靈活,可以根據(jù)用戶需求定制特殊功能;
·真正完美的單芯片、低成本、低功耗解決方案;
·ActelFPGA的FlashLock和AES雙重加密,保護您的設(shè)計;
·Actel FPGA的固件錯誤免疫使得系統(tǒng)可以工作于較惡劣的環(huán)境中,可靠性極高。
(2)系統(tǒng)框圖
圖1是基于Actel FPGA的正交解碼系統(tǒng)結(jié)構(gòu)圖。該正交解碼系統(tǒng)采用模塊化設(shè)計,主要由方向識別、地址管理、位置捕獲、速度捕獲、中斷控制和串口收發(fā)等模塊構(gòu)成。萁中,方向識別模塊主要完成將外部輸入的A、B相信號進行細分和辨向:地址管理模塊用于管理系統(tǒng)內(nèi)部的寄存器地址:位置捕獲模塊用于跟蹤外部電機的旋轉(zhuǎn)位置:速度捕獲模塊用于檢測外部電機的旋轉(zhuǎn)速度:中斷控制模塊用于管理正交錯誤中斷、方向改變中斷、索引檢測中斷的使能和觸發(fā):串口收發(fā)模塊主要用于本系統(tǒng)與PC機、以及本系統(tǒng)與MCU之間的數(shù)據(jù)傳輸。
按照接口類別劃分,可以把整個系統(tǒng)的接口分為:基本接口、地址接口、數(shù)據(jù)接口、控制接口、串口接口、正交接口等。詳細的接口信息如表1所示。
2各功能模塊介紹
(1)方向識別模塊
方向識別模塊只有在正交相位模式時才會用到,而在時鐘/方向模式時不會用到,除此之外,兩種模式完全一樣。在正交相位模式中,編碼器產(chǎn)生兩個相位差為90度的時鐘信號,它們的邊沿關(guān)系被用來確定旋轉(zhuǎn)的方向。設(shè)A相超前時為正向計數(shù),則B相超前時為反向計數(shù)。由圖2和圖3兩個正交信號時序網(wǎng)可以得出,正向時AB狀態(tài)分別以01、00、10、11循環(huán)出現(xiàn)。我們?nèi)藶閷@幾個狀態(tài)編號使AB狀態(tài)為0l時對應(yīng)1:AB狀態(tài)為00時對應(yīng)2;AB狀態(tài)為10時對應(yīng)3;AB狀態(tài)為11時對應(yīng)4。不難得到正向計數(shù)時、對應(yīng)自然數(shù)的變化規(guī)律為1、2、3、4、1、2、3、4……循環(huán)變化,下一狀態(tài)減去前一狀態(tài)所得到的值只有兩種情況(1或是,3)。同理,反向計數(shù)時AB狀態(tài)變化對應(yīng)的自然數(shù)為3、2、1、4、3、2、1、4……循環(huán)變化,下一個狀態(tài)減去前一個狀態(tài)所得到的值也只有兩種情況(-1或是3)。通過下一狀態(tài)和前一狀態(tài)的差值可以判斷出正交信號的方向信息。
(2)位置捕獲模塊
位置捕獲模塊的核心部分是根據(jù)A、B相的邊沿進行可逆計數(shù)。在正交相位模式下,A相的邊沿超前B相的邊沿時,位置計數(shù)器在每檢測到一個邊沿就加1;A相的邊沿落后B相的邊沿時,位置計數(shù)器在每檢測到一個邊沿就減1。
在時鐘/方式模式下,編碼器產(chǎn)生一個時鐘信號和一個方向信號來分別表示步長和旋轉(zhuǎn)方向,當(dāng)方向信號為高電平時,位置計數(shù)器在每檢測到一個邊沿就加1;當(dāng)方向信號為低電平時,位置計數(shù)器在每檢測到一個邊沿就減1。具體的時鐘/方向信號如圖4所示。
(3)地址管理模塊
地址管理模塊包括寫寄存器地址管理和讀寄存器地址管理。寫寄存器地址管理主要是根據(jù)MCU發(fā)送的寫寄存器地址來進行相應(yīng)寄存器的更新。讀寄存器地址管理主要是根據(jù)Mcu發(fā)送的讀寄存器地址來把相應(yīng)的寄存器值傳送到數(shù)據(jù)接口。典型的讀寫操作時序如圖5和圖6所示。
(4)速度檢測模塊
在該正交解碼系統(tǒng)中,速度檢測采用定時一分鐘,并在一分鐘內(nèi)檢測A、B相的邊沿個數(shù),MCU通過讀取速度寄存器的值就可以得知一分鐘內(nèi)的邊沿數(shù),從而變相測出速度值。實際定時時間可根據(jù)需要進行設(shè)定。
(5)中斷控制模塊
該正交解碼系統(tǒng)支持正交錯誤、方向改變、索引檢測三種中斷方式。每個中斷都有相應(yīng)的中斷使能位和中斷標(biāo)志位。只有在中斷被使能時,中斷條件滿足時才會產(chǎn)生相應(yīng)中斷。當(dāng)中斷標(biāo)志位為1時,通過向該中斷標(biāo)志位寫1可清除中斷標(biāo)志位,否則中斷標(biāo)志位一直保持。
(6)串口收發(fā)模塊
該正交解碼系統(tǒng)中,串口發(fā)送模塊的功能是:當(dāng)MCU判斷FPGA當(dāng)前沒有數(shù)據(jù)發(fā)送時,可以發(fā)送數(shù)據(jù)給FPGA的串口寄存器,F(xiàn)PGA再把相應(yīng)的數(shù)據(jù)通過串口發(fā)送給PC機。串口接收模塊的功能是:當(dāng)PC機通過串口發(fā)送數(shù)據(jù)給FPGA時,F(xiàn)PGA接收數(shù)據(jù)并置數(shù)據(jù)標(biāo)志位,并通知MCU把數(shù)據(jù)讀走。由此看出,F(xiàn)PGA在PC機和MCU之間起數(shù)據(jù)鏈路的作用。
3市場應(yīng)用
正交解碼器在電機控制市場占有率較大,它主要用于一些需要電機控制的數(shù)控系統(tǒng)中,如機器人、測量儀器、數(shù)控機床、軌道控制、自動化生產(chǎn)線等領(lǐng)域。隨著電子自動化和智能化的普及,電機的應(yīng)用場合越來越多,這也使得正交解碼器的應(yīng)用越來越廣泛。該正交解碼系統(tǒng)的典型應(yīng)用如圖7所示。
4小結(jié)
本文主要介紹了基于Actel FPGA的正交解碼系統(tǒng)的功能和應(yīng)用。敬請關(guān)注周立功公司的網(wǎng)站www.zlgmcu.com以獲得更多的信息。我們有著一個接近30人的FPGA團隊提供強有力的售后服務(wù)和技術(shù)支持,解決用戶在產(chǎn)品使用和研發(fā)過程中遇到的困難。若有更多的需求可以與我們聯(lián)系,我們將會竭誠為您服務(wù),并請關(guān)注下期的FPGA專題技術(shù)講座。