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