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

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 用FIFO實(shí)現(xiàn)超聲測(cè)厚系統(tǒng)A/D與ARM接口設(shè)計(jì)

          用FIFO實(shí)現(xiàn)超聲測(cè)厚系統(tǒng)A/D與ARM接口設(shè)計(jì)

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


          采樣時(shí)。通過(guò)程序使能TOUTl,TOUT2輸出為1。此時(shí)采樣時(shí)鐘脈沖與TOUTl,TOUT2相與后被分別送入AD9283的時(shí)鐘輸入ENCODE和CY7C4621的寫(xiě)時(shí)鐘輸入WCLK。此時(shí)A/D開(kāi)始工作,A/D將轉(zhuǎn)換數(shù)據(jù)送至自己的輸出口D0~D7。當(dāng)寫(xiě)使能為低、WEN2為高的時(shí)候,A/D輸出口上的數(shù)據(jù)在WCLK的上升沿被依次寫(xiě)入。A/D和每來(lái)一次脈沖,便完成一次模/數(shù)轉(zhuǎn)換并把數(shù)據(jù)順序存入。CY7C4261的數(shù)據(jù)最大儲(chǔ)存容量是16 KB,在完成了1 6 KB次轉(zhuǎn)換之后,CY7C426l將不能再存入新的數(shù)據(jù),此時(shí)存儲(chǔ)器滿標(biāo)志輸出低電平(在未滿時(shí)輸出高電平)。把此信號(hào)接到S3C2410的外部中斷EINTl上,利用它由高到低的變化產(chǎn)生中斷,以表明一組數(shù)據(jù)采集完成。
          在中斷中,首先迅速關(guān)閉采樣脈沖信號(hào)(使TOUTl和TOUT2)的輸出為0,停止A/D和FIFO的工作。外部時(shí)鐘信號(hào)CLKOUTO與FIFO的讀輸入RCLK接在一起,每執(zhí)行一次I/O讀操作,cLKOUT0便向RCLK發(fā)出一脈沖。把FIFO讀使能和WEN2置為低,同時(shí)連續(xù)執(zhí)行16 K次I/O讀操作,數(shù)據(jù)便依次從CY7C4261送入S3C2410,整個(gè)數(shù)據(jù)采集工作就此完成。在進(jìn)行每一次數(shù)據(jù)的采集前,將CY7C4261先復(fù)位,把S3C24-10的nRSTOUTl配置為通用輸出口,給CY7C4261的RS引腳輸入一個(gè)不小于10 ns的低脈沖,即在ARM的nRSTOUTl引腳輸出一個(gè)低脈沖。這樣可以更充分地保證FIFO的讀、寫(xiě)指針的穩(wěn)定。

          4 數(shù)據(jù)采集流程
          超聲波測(cè)厚數(shù)據(jù)采集工作流程主要包括ARM初始化、輸入激勵(lì)脈沖、使能外部中斷、時(shí)鐘送入A/D、FIFO、等待中斷。停止A/D及FIFO,ARM讀數(shù)據(jù),復(fù)位FIFO。流程圖如圖4所示。



          5 結(jié)語(yǔ)
          通過(guò)實(shí)際設(shè)計(jì)在基于ARM的超聲波無(wú)損檢測(cè)中,采用FIFO可以使高速A/D與ARM處理器之間得到很好的無(wú)縫連接,解決兩者之間不匹配的問(wèn)題。通過(guò)軟件設(shè)置,可以靈活調(diào)整A/D,F(xiàn)IFO及ARM的操作時(shí)序,調(diào)試簡(jiǎn)便,保證了數(shù)據(jù)采集的安全可靠。該接口電路簡(jiǎn)單,靈活高效,具有很高的應(yīng)用價(jià)值。


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

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();