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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 基于DSP的振鏡掃描式激光標(biāo)記技術(shù)設(shè)計(jì)分析

          基于DSP的振鏡掃描式激光標(biāo)記技術(shù)設(shè)計(jì)分析

          作者: 時間:2010-12-07 來源:網(wǎng)絡(luò) 收藏

          0引言

          振鏡就是通過控制兩片高速振鏡的偏轉(zhuǎn)角, 改變的傳播方向, 經(jīng)過F-Theata透鏡在工件表面的聚焦, 在工件表面作。與傳統(tǒng)的相比, 它具有適用面廣(對不同材料、形狀的加工表面均適合) , 工件無機(jī)械變形, 無污染, 標(biāo)記速度快, 重復(fù)性好, 自動化程度高等特點(diǎn), 在工業(yè)、國防、科研等許多領(lǐng)域具有廣泛的用途。高速高精度的振鏡標(biāo)記已成為當(dāng)今標(biāo)記行業(yè)的發(fā)展方向。

          傳統(tǒng)的振鏡標(biāo)記控制系統(tǒng)通過PC 機(jī)的串口、并口ISA 總線與單片控制板相連,這種方式接口簡單、連接方便, 開發(fā)費(fèi)用低, 但由于傳輸速度低, 已不能滿足現(xiàn)代數(shù)控系統(tǒng)的實(shí)時性要求。本文在標(biāo)記控制方面進(jìn)行了一些新的探索:利用PCI的高速數(shù)據(jù)傳輸和高速數(shù)據(jù)處理能力,提出一種“PC機(jī)+PCI總線+控制板卡”的方式,用于振鏡標(biāo)記控制系統(tǒng),從而實(shí)現(xiàn)對標(biāo)記控制的精確控制,提高控制效率,保障系統(tǒng)實(shí)時性。控制板卡是整個系統(tǒng)的核心,它直接決定著系統(tǒng)的速度和精度,本文將著重介紹該控制板卡的

          1DSP芯片

          DSP控制板卡的主芯片選用德州儀器公司C6000系列的高速數(shù)據(jù)處理芯片TMS320C6205。該芯片為高性能的定點(diǎn)處理器,主頻可達(dá)200MHz,每個周期能執(zhí)行8條32-bit的指令,處理速度可達(dá)1600MIPS;采用高性能的VLIW結(jié)構(gòu)的TMS320C62xTM DSP核,有8個獨(dú)立的功能單元,32個32位的通用寄存器;提供64K字節(jié)的內(nèi)部程序RAM和64K字節(jié)的內(nèi)部數(shù)據(jù)RAM;提供32位的外部存儲器無縫接口,包括同步器件(如SDRAM、SBSRAM等)、異步器件(如FLASH、SRAM等)和可尋址52M字節(jié)的外部存儲空間;提供靈活的PLL、時鐘產(chǎn)生器,可配置倍頻值;提供符合PCI 2.2規(guī)范的PCI總線接口,直接實(shí)現(xiàn)芯片和PCI總線的橋接功能;提供兩個32位的定時器;提供在線調(diào)試的JTAG邊界掃描接口。采用此芯片,能夠?qū)崿F(xiàn)高速的數(shù)據(jù)處理,保證系統(tǒng)工作的實(shí)時性,且由于帶了PCI橋接功能,提供了和PCI總線的接口,經(jīng)濟(jì)可靠。

          2硬件

          2.1結(jié)構(gòu)框圖

          如圖1所示為系統(tǒng)的硬件結(jié)構(gòu)框圖。DSP控制板卡通過PCI總線與PC機(jī)連接,實(shí)現(xiàn)高速通信。DSP處理模塊為主控制模塊,使用主頻為200MHz的 TMS320C6205芯片作為主控制芯片。DSP處理模塊充分利用了C6000系列DSP的快速計(jì)算能力和高精度定時器,能夠保證振鏡標(biāo)記機(jī)進(jìn)行勻速、高速標(biāo)記,這些由PC機(jī)是沒有辦法做到的。DSP的外圍電路包括存儲模塊、復(fù)位控制、電源控制、時鐘系統(tǒng)、JTAG端口、數(shù)模轉(zhuǎn)換模塊、CPLD邏輯控制模塊和光電隔離模塊等。其中存儲模塊包括FLASH模塊和SDRAM模塊,F(xiàn)LASH用來存儲系統(tǒng)啟動代碼和軟件代碼,SDRAM用于提供軟件運(yùn)行時所需的額外存儲空間。DSP控制板卡輸出兩路模擬量控制兩塊振鏡的運(yùn)動,輸出Q開關(guān)控制信號以控制激光器的開關(guān)光,輸入/輸出16路光電隔離信號用于功能擴(kuò)展。



          2.2PC機(jī)與DSP的通信

          PCI 總線是一種不依附于某個具體處理器的局部總線。從結(jié)構(gòu)上看,PCI是在CPU和原來的系統(tǒng)總線之間插入的一級總線,具體由一個橋接電路實(shí)現(xiàn)對這一層的管理,并實(shí)現(xiàn)上下之間的接口以協(xié)調(diào)數(shù)據(jù)的傳送。管理器提供了信號緩沖,使之能支持10種外設(shè),并能在高時鐘頻率下保持高性能。PCI總線也支持總線主控技術(shù),允許智能設(shè)備在需要時取得總線控制權(quán),以加速數(shù)據(jù)傳送。PCI總線相比起ISA總線,有傳輸速度快,傳輸量大的優(yōu)點(diǎn)。

          本系統(tǒng)選用TMS320C6205,該芯片自帶了符合PCI2.2規(guī)范的PCI總線橋接功能,開發(fā)者免去了PCI協(xié)議的硬件和軟件實(shí)現(xiàn),給系統(tǒng)帶來了便利,縮短了開發(fā)周期,也節(jié)省了開發(fā)費(fèi)用。開發(fā)者只需將PCI插槽上的總線信號和DSP芯片上相關(guān)的PCI總線信號直接相連即可。帶“金手指”的DSP控制板卡可以直接插在PC機(jī)的PCI卡槽中使用,實(shí)現(xiàn)PC機(jī)與DSP之間的通信。PCI設(shè)備可以訪問所有的內(nèi)部RAM空間、外設(shè)和外部存儲器空間。

          DSP控制板卡使用的PCI總線寬度為32為(3.3V),總線頻率為33MHz,傳輸速率為33×32/4MB/s = 132MB/s 。此傳輸速率為整個系統(tǒng)能實(shí)現(xiàn)高速運(yùn)行提供了保障。

          2.3CPLD邏輯控制

          整個高速系統(tǒng)的邏輯控制是通過高速CPLD芯片來實(shí)現(xiàn)的。選用ALTERA公司的MAX7128E芯片實(shí)現(xiàn),可用編程邏輯門為2500,宏單元數(shù)128,邏輯陣列塊數(shù)8,用戶可定義I/O腳100個,pin-to-pin延時為5ns。MAX7000系列器件可以通過編程器進(jìn)行編程,也可以在線編程。本設(shè)計(jì)采用了在線編程(ISP)。ISP允許在設(shè)計(jì)開發(fā)過程中迅速方便地重復(fù)編程,簡化了制作過程,允許器件在編程之前就先裝配到印制板上。

          系統(tǒng)設(shè)計(jì)中LED信號燈、FLASH、DA芯片、16路I/O光電隔離接口、模擬開關(guān)、Q開關(guān)、PWM輸出、軟件復(fù)位控制都使用了CE1空間的地址,為了防止這些器件的互相干擾,必須對輸入地址進(jìn)行譯碼。通過判斷輸入到CPLD的PA[2:6]和PA[16:21]可以知道DSP正在訪問的地址區(qū)域,進(jìn)行CE1空間的地址譯碼,從而產(chǎn)生相應(yīng)的控制信號,以實(shí)現(xiàn)邏輯控制和時序控制。

          CPLD上構(gòu)建的寄存器的高地址都是一樣的,命名為dsp_reg_addr,由Pa16~21構(gòu)成,若Pa16~21設(shè)置為111000即表示地址0x0178xxxx。

          低地址由Pa2~6構(gòu)成,對10個寄存器尋址,地址對應(yīng)關(guān)系見表1所示。

          表 1地址分配表


          上一頁 1 2 下一頁

          評論


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