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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP與CAN總線的跟蹤伺服控制器設(shè)計(jì)

          基于DSP與CAN總線的跟蹤伺服控制器設(shè)計(jì)

          作者: 時(shí)間:2010-09-17 來源:網(wǎng)絡(luò) 收藏

          目前的光電跟蹤伺服系統(tǒng)大都采用PC/104結(jié)構(gòu),它是通過主控計(jì)算機(jī)完成對目標(biāo)捕獲跟蹤功能,但是組成實(shí)際應(yīng)用的跟蹤伺服系統(tǒng)還要疊加多塊板卡,不僅增大了系統(tǒng)體積,而且精度難以提高,花費(fèi)昂貴[1]。而DSP正以其高速的數(shù)據(jù)處理能力,豐富的片內(nèi)外資源、方便的開發(fā)環(huán)境,以及低廉的價(jià)格在越來越多的計(jì)算控制系統(tǒng)中得到應(yīng)用 [2]??偩€化是工業(yè)控制系統(tǒng)的一個(gè)發(fā)展方向,它在可適用范圍、可擴(kuò)展性、可維護(hù)性以及抗故障能力等方面較集中式控制系統(tǒng)有明顯的優(yōu)越性[3]。因此,本文結(jié)合光電跟蹤伺服系統(tǒng)的特點(diǎn),提出一種基于DSP與CAN總線結(jié)構(gòu)的伺服控制器。
          在高速光電跟蹤系統(tǒng)中,對伺服系統(tǒng)的實(shí)時(shí)性、精確度和穩(wěn)定性都有很高的要求。實(shí)際應(yīng)用中環(huán)境比較復(fù)雜,有大量的信息傳遞,并且需要對電機(jī)轉(zhuǎn)速實(shí)行精確控制,從而對伺服控制器的多路通信能力、快速運(yùn)算能力和抗干擾能力都有較高的要求。由于FPGA具有高度靈活的可配置性和邏輯時(shí)序控制能力[4],所以這里采用Altera公司Cyclone系列FPGA為輔助處理器,設(shè)計(jì)了以TI公司的32位定點(diǎn)數(shù)字信號處理器TMS320F2812為核心, 通過CAN現(xiàn)場總線與上位機(jī)通信的跟蹤伺服控制器,并綜合闡述了該控制器的功能、硬件設(shè)計(jì)和軟件流程。該控制器具有兩路雙極性模擬信號輸入,兩路單極性模擬信號輸入,四路雙極性模擬信號輸出,可滿足控制兩個(gè)三相IGBT的12路PWM輸出,一路CAN總線,三路RS422和一路RS232串行通信口,具有較強(qiáng)的運(yùn)算能力和數(shù)據(jù)通信能力,是良好的數(shù)字控制系統(tǒng)實(shí)驗(yàn)平臺。
          1 總體結(jié)構(gòu)設(shè)計(jì)
          TMS320F2812是一款專為電機(jī)控制所設(shè)計(jì)的芯片,片上集成了豐富的片內(nèi)外設(shè)資源。設(shè)計(jì)時(shí)充分利用了這一特點(diǎn),簡化了外圍電路,降低了系統(tǒng)的功耗。根據(jù)電路中各部分所實(shí)現(xiàn)的功能,將整個(gè)控制器大體分為三個(gè)部分:處理器部分、外圍通信接口部分和模擬信號處理部分。控制器的總體硬件結(jié)構(gòu)圖如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/151524.htm

          圖中,處理器由DSP和FPGA組成,完成板上主要的信息處理。上位機(jī)通過CAN總線向控制器發(fā)送指令,并能及時(shí)獲得工作狀態(tài)等反饋信息。位置信號與位置增量信號分別通過三個(gè)RS422通信口傳給DSP,由DSP作相應(yīng)處理。兩軸的速度和電流反饋信號分別由板上的雙極性和單極性模擬電路采樣得到。DSP與FPGA之間通過DSP的系統(tǒng)外部接口(XINTF)進(jìn)行數(shù)據(jù)的讀寫。D/A轉(zhuǎn)換器的控制是通過FPGA內(nèi)部的D/A轉(zhuǎn)換接口模塊接收DSP輸出的數(shù)字量實(shí)現(xiàn)的;計(jì)算機(jī)調(diào)試接口采用了一路RS232。
          2 硬件電路設(shè)計(jì)
          2.1 DSP與FPGA模塊

          32位定點(diǎn)數(shù)字信號處理器TMS320F21812整合了DSP和微控制器的最佳性能,能夠在一個(gè)周期內(nèi)完成32×32位的乘法運(yùn)算,或兩個(gè)16×16位乘法累加運(yùn)算,處理速度最高可達(dá)150 MIPS。它采用高性能靜態(tài)CMOS技術(shù),內(nèi)核電壓為1.8 V@135 MHz, 1.9 V@150 MHz, I/O端口電壓3.3 V[5,6]。其先進(jìn)的內(nèi)部和外設(shè)結(jié)構(gòu)使得該處理器特別適合電機(jī)及其他運(yùn)動(dòng)控制應(yīng)用,能夠真正實(shí)現(xiàn)單片控制,為電機(jī)的伺服控制提供良好的控制功能[7]。
          FPGA選型時(shí)綜合考慮片上邏輯單元和用戶I/O口數(shù)量,以及功能擴(kuò)展的需要。這里根據(jù)前期仿真結(jié)果選用Altera公司Cyclone系列的EP1C3T144I7,它具有2 910個(gè)邏輯單元,104個(gè)用戶I/O和1個(gè)鎖相環(huán),內(nèi)核電壓1.5 V,具有低成本、低功耗的特點(diǎn)[8,9]。由于FPGA具有高速并行處理能力,保證了系統(tǒng)的同步性[10]。它的I/O口支持3.3 V LVTTL電平,與DSP管腳電平兼容,因此不用進(jìn)行電平轉(zhuǎn)換,可直接連接,使用方便。
          DSP的功能主要通過軟件實(shí)現(xiàn),在此主要實(shí)現(xiàn)接收上位機(jī)指令,完成位置環(huán)和速度環(huán)反饋的雙閉環(huán)PID控制算法,產(chǎn)生PWM輸出。根據(jù)系統(tǒng)采樣頻率調(diào)整事件管理器的定時(shí)器控制寄存器的控制字來設(shè)定PWM工作方式和頻率,通過調(diào)整比較寄存器的數(shù)值來改變PWM的占空比,根據(jù)功率驅(qū)動(dòng)電路的驅(qū)動(dòng)芯片設(shè)置死區(qū)控制寄存器的數(shù)值,以及來調(diào)整死區(qū)時(shí)間,通過專用的PWM輸出口輸出占空比可調(diào)的帶有死區(qū)的PWM信號[11]。
          DSP與FPGA之間實(shí)時(shí)準(zhǔn)確的數(shù)據(jù)傳遞是系統(tǒng)成功的一個(gè)關(guān)鍵因素。這里選用DSP上的系統(tǒng)外部接口(XINTF)與FPGA連接,在FGPA內(nèi)部配置一個(gè)與DSP讀寫時(shí)序相對應(yīng)的數(shù)據(jù)讀寫接口。實(shí)驗(yàn)證明,這是一種穩(wěn)定有效的方法。
          2.2 CAN總線及其他通信接口模塊
          CAN總線具有低成本、易開發(fā)、實(shí)時(shí)性好以及抗噪聲性能好等優(yōu)點(diǎn),傳輸速率最高為1 Mb/s,最大傳輸距離為10 km(5 kb/s)。CAN的每幀信息都有CRC校驗(yàn)及其他檢錯(cuò)措施,保證了數(shù)據(jù)出錯(cuò)率低,同時(shí)降低了應(yīng)用程序的復(fù)雜程度,從而使通信更加可靠?,F(xiàn)在它逐步發(fā)展成為用于工業(yè)領(lǐng)域控制、通信的現(xiàn)場總線[12]。
          由于實(shí)際工作環(huán)境較為復(fù)雜,所以選用了抗干擾能力強(qiáng)的CAN總線作為與上位機(jī)的通信方式,TMS320F2812內(nèi)部集成了一個(gè)eCAN模塊,支持標(biāo)準(zhǔn)的CAN2.0B協(xié)議,只需加相應(yīng)的CAN外圍電路就可以輕松實(shí)現(xiàn)。DSP芯片的CAN總線控制器與CAN物理總線的接口選用PCA82C250驅(qū)動(dòng)器芯片。為了增強(qiáng)抗干擾能力,保護(hù)CAN控制器,在TMS320F2812與PCA82C250之間加高速光隔。光隔離器采用6N137芯片,其速度為10 MHz。硬件電路如圖2所示。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 收發(fā)器

          評論


          相關(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); })();