TMS320F2812擴展正交解碼脈沖接口的設(shè)計
1 引言 在機器人和其他精密儀器的控制系統(tǒng)中,位置檢測是需要解決的重要問題之一,位置檢測的精度和穩(wěn)定性對控制系統(tǒng)起著關(guān)鍵作用。計量光柵傳感器、旋轉(zhuǎn)編碼器、激光陀螺等測量系統(tǒng)的輸出一般為兩路相位差90°的正交解碼脈沖信號。根據(jù)正交解碼信號之間相位的超前與滯后關(guān)系,把正交信號轉(zhuǎn)換為另外兩路信號,分別為代表正交信號任一路脈沖數(shù)的脈沖序列以及代表正交信號相位關(guān)系的控制信號。它們分別送到可逆計數(shù)器的計數(shù)輸入端和加/減控制端。根據(jù)可逆計數(shù)的結(jié)果可獲得測量系統(tǒng)所需要的位移或角位移等測量。在輪式移動機器人運動控制系統(tǒng)中常用旋轉(zhuǎn)編碼器檢測車輪的速度和角度,從而構(gòu)成閉環(huán)系統(tǒng)實現(xiàn)運動控制算法。一般微處理器不帶正交解碼脈沖接口,而一些專為控制電機推出的DSP,如TI公司的C24x、C27x、C28x系列只提供了兩路正交解碼脈沖接口,且是與捕捉功能復(fù)用的,不能滿足檢測兩個以上位置的需要,因此設(shè)計開發(fā)解碼器與微處理器的接口具有重要的應(yīng)用價值。 2 HCTL-2032介紹 HCTI-2032是Avago公司生產(chǎn)的CMOS專用集成電路,集噪聲濾波、正交解碼、可逆計數(shù)、總線接口于一體,可大大改善測量系統(tǒng)的性能。相比HCTI-2022而言,HCTL-2032可接收兩路正交解碼脈沖,并且增加了接收基準信號,時鐘周期達33MHz,不僅節(jié)省了電路設(shè)計的體積,而且提高了測量精度和處理數(shù)據(jù)的速度。 2.1 功能 HCTL-2032的引腳排列如圖1所示,HCTL-2032可以將光電編碼器輸出的波形轉(zhuǎn)換成數(shù)字信號輸入微處理器,兩路輸入引腳CHAx、CHAv、CHIx和CHBx、CHBy、CHIy經(jīng)過施密特觸發(fā)器整形濾波后,通過設(shè)置EN1、EN2的值選擇采用4×、2×、1×計數(shù)模式,而后送入32位二進制計數(shù)器對采集的正交波計數(shù),由于輸出數(shù)據(jù)線只有8位,因此32位的數(shù)據(jù)需要通過改變控制線SEL1、SEL2、OE的值分四次依次讀出。 2.2 內(nèi)部結(jié)構(gòu) HCTL-2032內(nèi)部包括數(shù)字濾波器、正交解碼邏輯、位置計數(shù)器、總線接口,內(nèi)部結(jié)構(gòu)框圖如圖2所示。 2.2.1 數(shù)字濾波器 HCTL-2032的輸入部分包括施密特觸發(fā)器與數(shù)字延遲濾波器,用于抑制混入正交信號的噪聲。正交信號通過施密特觸發(fā)器后,必須保持3個上升沿才能通過數(shù)字濾波器,小于1 V的低電平噪聲被濾除。余下的高電平、短持續(xù)時間噪聲脈沖通過數(shù)字濾波器濾除。 2.2.2 正交解碼 HCTL-2032提供了1×、2×、4×三種可選解碼方式,解碼方式的選擇由EN1、EN2的組合值控制,正交輸入相鄰跳變沿之間二者的電平狀態(tài)有四種:10、11、01、00。當選擇4×模式時,在一個周期內(nèi)正交解碼器在時鐘上升沿采樣四種狀態(tài)進行計數(shù),同理,當選擇2×和1×模式時,在一個周期內(nèi)正交解碼器在時鐘上升沿分別采樣兩種、一種狀態(tài)進行計數(shù)。每監(jiān)測到一次狀態(tài)變化,在CNTDEC引腳輸出一個寬度為半個時鐘周期的正脈沖。同時給出狀態(tài)轉(zhuǎn)移方向信號,U/D=1,表明A相超前B相。反之B相超前A相。圖中同時還給出計數(shù)器溢出時的級聯(lián)信號CNTCAS。正交解碼器對信號與時鐘的要求為tES>tCLK。 2.2.3 32位二進制計數(shù)器與32位鎖存器 正交解碼采集的脈沖輸入32位增/減計數(shù)器,在時鐘的上升沿計數(shù),計數(shù)值送入32位鎖存器,使用時通常有以下幾種情況: (1) 計數(shù)范圍在32位計數(shù)器計數(shù)值范圍之內(nèi),計數(shù)值代表絕對位置。 (2) 統(tǒng)作往返周期運動且每周計數(shù)值小于32位時,可由RST每個周期復(fù)位一次計數(shù)器。 (3) 統(tǒng)也可用作8、16、24、32位計數(shù),這時兩次讀取的計數(shù)差代表絕對位置,系統(tǒng)絕對位置可由系統(tǒng)軟件計算,但是計數(shù)器會上溢或下溢,為了防止位置信息丟失,必須保證每次計數(shù)差不超過計數(shù)器最大計數(shù)的一半,即8位,16位,24位,32位分別應(yīng)該在127,32 767,8 388 607,2 147 483 647內(nèi)讀取數(shù)據(jù)。 (4) 統(tǒng)計數(shù)大于32位時,可用控制端口與其他計數(shù)器構(gòu)成更高位的計數(shù)器,從而得到計數(shù)絕對值,32位鎖存器在非讀數(shù)據(jù)期間的每個上升沿捕捉計數(shù)器的值。在讀取數(shù)據(jù)時,不再捕捉新的數(shù)據(jù)值,保證數(shù)據(jù)的正確性,數(shù)據(jù)讀完后由RST信號將鎖存器清0。 2.2.4 禁止邏輯和總線接口 禁止邏輯在每個時鐘周期的下降沿采樣OE、SEL1和SEL2的值,根據(jù)三個信號不同值的組合分四次從總線接口讀出計數(shù)器的值以及復(fù)位禁止邏輯。 3 與TMS320F2812的接口電路 TMS320F2812是TI公司最新推出的DSP器件。它具有數(shù)字信號處理能力、強大的事件管理能力和嵌入式控制功能、運算速度快、接口資源豐富,適用于具有大批量數(shù)據(jù)處理的測控場合。TMS320F2812只提供了兩個事件管理器EV1和EV2,每個事件管理器模塊都有一個正交編碼脈沖電路QEP1和QEP2,QEP3和QEP4,只接收兩路正交編碼脈沖。TMS320F2812工作電壓是3.3 V,而HCTL-2032工作電壓是5 V,兩者之間不能直接相連,必須采用電平轉(zhuǎn)換器,本設(shè)計采用SN74LVTH245驅(qū)動,同時為了防止負載對DSP的影響,采用雙通道高速光耦HCPL2630進行隔離。硬件電路如圖3所示。 4 軟件設(shè)計 4.1 初始化DSP DSP的初始化主要包括:工作頻率的設(shè)定、關(guān)閉看門狗、GPIO的設(shè)置等。其代碼如下: 4.2 讀取數(shù)據(jù) 數(shù)據(jù)的讀取分四次完成,依次從高字節(jié)到低字節(jié)讀出,讀取每個字節(jié)定義三個變量:Result、Result_old、Result_new,分別用于存放最終結(jié)果、前一次的讀數(shù)值、下一次的讀數(shù)值。首先DSP從數(shù)據(jù)線上獲得HCTL-2032引腳值。為了保證數(shù)據(jù)的可靠性,DSP將重復(fù)讀取引腳的值,若兩次數(shù)據(jù)相同,則把這個數(shù)作為最終值,反之,則說明數(shù)據(jù)不穩(wěn)定,繼續(xù)讀取。采用4×解碼模式,讀取x通道數(shù)據(jù)時,讀取數(shù)據(jù)的流程圖如圖4所示。 5 結(jié)束語 HCTI-2032正交解碼器內(nèi)部具有32位計數(shù)器,因此計數(shù)過程由器件本身硬件完成,減輕了CPU的計數(shù)負擔。解碼器與CPU接口方便,非常適合在多軸運動控制系統(tǒng)中擴展編碼器位置檢測接口。 |
評論