<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > TMS320F2812擴展正交解碼脈沖接口的設(shè)計

          TMS320F2812擴展正交解碼脈沖接口的設(shè)計

          作者: 時間:2012-03-01 來源:網(wǎng)絡(luò) 收藏
          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 與的接口電路

          是TI公司最新推出的DSP器件。它具有數(shù)字信號處理能力、強大的事件管理能力和嵌入式控制功能、運算速度快、接口資源豐富,適用于具有大批量數(shù)據(jù)處理的測控場合。只提供了兩個事件管理器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)中擴展編碼器位置檢測接口。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();