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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP的高速激光標(biāo)記控制系統(tǒng)

          基于DSP的高速激光標(biāo)記控制系統(tǒng)

          作者: 時(shí)間:2012-04-19 來(lái)源:網(wǎng)絡(luò) 收藏

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

          2.3 邏輯控制

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

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

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

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

          表 1地址分配表

          2.4 數(shù)模轉(zhuǎn)換模塊

          數(shù)模轉(zhuǎn)換模塊將處理完的數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào)以控制兩路振鏡的偏轉(zhuǎn)。由于現(xiàn)在對(duì)標(biāo)記精度的要求越來(lái)越高,傳統(tǒng)的8位數(shù)模轉(zhuǎn)換器已無(wú)法滿足用戶的需求,因此本系統(tǒng)選用ADI公司的16位高精度數(shù)模轉(zhuǎn)換器AD669芯片,如圖2所示。AD669為16位并行輸入,二級(jí)數(shù)據(jù)緩存結(jié)構(gòu)。設(shè)計(jì)中將/L1信號(hào)直接接地設(shè)置為有效,通過(guò)控制/CS和LDAC信號(hào)分別控制一級(jí)緩存和二級(jí)緩存??刂普耒R信號(hào)的電壓范圍為-10V~+10V,以標(biāo)記100mm×100mm幅面大小的標(biāo)牌為例,精度可達(dá)100mm/216=0.0015mm,對(duì)應(yīng)最小輸出電壓為0.00031V。


          經(jīng)實(shí)驗(yàn)發(fā)現(xiàn),在上電時(shí),AD669芯片的輸出為一不可控量,會(huì)使振鏡在上電瞬間有一個(gè)偏轉(zhuǎn),倘若偏轉(zhuǎn)幅度過(guò)大,長(zhǎng)期使用會(huì)導(dǎo)致振鏡的斷裂。為了保護(hù)振鏡,可設(shè)計(jì)一個(gè)模擬開關(guān)電路以控制AD669芯片上電時(shí)的輸出,使其為0V。筆者將模擬開關(guān)放在AD669芯片的參考電壓輸入端,通過(guò)CPLD實(shí)現(xiàn)對(duì)模擬開關(guān)的控制,來(lái)控制參考電壓的有無(wú),從而保證在上電時(shí)振鏡不偏轉(zhuǎn)。

          3 PCB設(shè)計(jì)

          該控制板卡選用主頻200MHz的高速處理芯片,高速信號(hào)系統(tǒng)中,存在EMC問題,將影響系統(tǒng)的性能。為了設(shè)計(jì)出一塊穩(wěn)定,抗干擾性能好的控制板卡,采取了以下措施

          1、板層的合理安排

          該控制板卡為六層板,板層設(shè)計(jì)為(從頂層到底層依次)信號(hào)層-地層-電源層-信號(hào)層-地層-信號(hào)層。這樣的板層結(jié)構(gòu)安排,使每一個(gè)信號(hào)層和電源層都緊鄰一個(gè)地層,給信號(hào)提供一個(gè)較短的回流路徑。

          2、時(shí)鐘信號(hào)線的處理

          PCI時(shí)鐘信號(hào)的一半要靠反射波來(lái)提升,因此,時(shí)鐘信號(hào)CLK走線長(zhǎng)度近似為2500 mil,走蛇形線實(shí)現(xiàn)(此點(diǎn)在PCI2.2規(guī)范的走線要求中有明確規(guī)定)。對(duì)于DSP芯片,晶振電路盡量靠近DSP芯片,且時(shí)鐘信號(hào)盡量短。

          3、SDRAM相關(guān)信號(hào)線的處理

          SDRAM工作頻率為100MHz,在高頻下,信號(hào)的傳輸時(shí)間和信號(hào)的走線長(zhǎng)度有直接的關(guān)系,已不能忽略此問題。因此SDRAM的數(shù)據(jù)線和地址線要等長(zhǎng)走線,以保證信號(hào)傳輸?shù)馁|(zhì)量。另外,串?dāng)_和振鈴問題在高頻下也極易出現(xiàn),對(duì)SDRAM和DSP接口的控制信號(hào)和數(shù)據(jù)、地址總線信號(hào),在源端串接匹配電阻以提高信號(hào)傳輸質(zhì)量,保證SDRAM在高頻下能正常工作。

          4、數(shù)模電路的隔離處理

          控制板卡上有數(shù)字電路和模擬電路,在布局時(shí),必須考慮數(shù)模電路的隔離問題,盡量將數(shù)字電路和模擬電路分塊布局,避免數(shù)字信號(hào)走線跨越模擬電路區(qū)域,以防止兩塊電路間的相互干擾。另外數(shù)字電路和模擬電路通過(guò)0歐電阻一點(diǎn)共地。

          5、電容的使用

          在每個(gè)數(shù)字芯片的電源引腳旁邊放置一個(gè)1.01uF的去耦電容。

          4 總結(jié)

          本系統(tǒng)將高速PCI總線與C6000高速DSP處理器相結(jié)合,配以高精度的數(shù)模轉(zhuǎn)換模塊,實(shí)現(xiàn)了一套高速高精度的,并將其成功的運(yùn)用到振鏡系統(tǒng)。該系統(tǒng)充分利用了DSP的高速處理能力和內(nèi)部的高精度定時(shí)器,分擔(dān)了PC機(jī)的實(shí)時(shí)性任務(wù),從而實(shí)現(xiàn)了PC機(jī)與DSP控制板卡的優(yōu)勢(shì)互補(bǔ),實(shí)現(xiàn)了實(shí)時(shí)性標(biāo)記,保證了標(biāo)記質(zhì)量的均勻性。本文還給出了DSP控制板卡在PCB設(shè)計(jì)階段的注意點(diǎn),該板卡已在生產(chǎn)實(shí)際中投入使用,具有較好的穩(wěn)定性和抗干擾性。


          上一頁(yè) 1 2 下一頁(yè)

          評(pí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); })();