《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(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è)計(jì)選用AD公司的A/D芯片AD9283,,F(xiàn)IFO選用Cyperss公司的CY7C4261,,兩者的最大采樣頻率都是100 MHz。ARM采用Samsung公司的S3C2410處理器,。三者都具有很強(qiáng)的外部接口能力,,方便構(gòu)成無(wú)縫連接,硬件接口電路簡(jiǎn)單,,調(diào)試方便,。
關(guān)鍵詞: 接口IC FIFO 超聲測(cè)厚 ARM AD9283
Abstract:
Key words :

  在高頻超聲波數(shù)據(jù)采集系統(tǒng)中,很多高速A/D轉(zhuǎn)換器往往不能直接與處理器相連接,,這時(shí)就需要使用FIFO在處理器與A/D轉(zhuǎn)換器之間架一座橋梁,,F(xiàn)IFO的先入先出特性可以方便緩存大量的數(shù)據(jù)塊,。在基于ARM的超聲波測(cè)厚系統(tǒng)中,所用為1 MHz以上的高頻超聲波探頭,,測(cè)量數(shù)據(jù)經(jīng)A/D轉(zhuǎn)換后頻率與ARM處理器的數(shù)據(jù)接收能力不匹配,,因此需在A/D與ARM處理之間連接一個(gè)FIFO來(lái)解決以上問(wèn)題。該設(shè)計(jì)選用AD公司的A/D芯片AD9283,,F(xiàn)IFO選用Cyperss公司的CY7C4261,,兩者的最大采樣頻率都是100 MHz。ARM采用Samsung公司的S3C2410處理器,。三者都具有很強(qiáng)的外部接口能力,,方便構(gòu)成無(wú)縫連接,硬件接口電路簡(jiǎn)單,,調(diào)試方便,。

  1 芯片選型

  1.1 S3C2410處理器

  S3C2410處理器是Samsung公司基于ARM公司的ARM920T處理器核,采用0.18μm制造工藝的32位微控制器,。該處理器擁有:獨(dú)立的16 KB指令Cache和16 KB數(shù)據(jù)CACHE,,MMU,支持TFT的LCD控制器,,NAND閃存控制器,,3路UART,4路DMA,,4路帶PWM的Timer,,I/O口,,RTC,,8路10位ADC,Touch Screen接口,,I2C-BUS接口,,IIS-BUS接口,2個(gè)USB主機(jī),,1個(gè)USB設(shè)備,,SD主機(jī)和MMC接口,2路SPI,。S3C2410是16/32位RISC體系結(jié)構(gòu)處理器,,使用ARM920T CPU核的強(qiáng)大指令集,處理器最高可運(yùn)行在203 MHz,。

  1.2 AD9283高速模數(shù)轉(zhuǎn)換器

  在超聲波無(wú)損檢測(cè)系統(tǒng)中,,超聲波探頭的頻率一般是2~10 MHz。取探頭頻率為5 MHz,,根據(jù)采樣定理,,采樣頻率最好是探頭頻率的5~8倍,,因此A/D芯片選用AD公司的AD9283,它的最大采樣速率達(dá)100 MHz,,可以滿(mǎn)足系統(tǒng)要求,。

  1.3 FIFO存儲(chǔ)器CY7C4261

  FIFO存儲(chǔ)器作為A/D與ARM之間的橋梁,其參數(shù)指標(biāo)直接影響數(shù)據(jù)的采集速度,。首先,,F(xiàn)IFO存儲(chǔ)器的讀/寫(xiě)速度要足夠快,為方便調(diào)試,,最好能和A/D器件的最大速度相一致,;其次,F(xiàn)IFO存儲(chǔ)器的存儲(chǔ)容量要適宜,,如果容量過(guò)大會(huì)造成資源浪費(fèi),,如果容量過(guò)小會(huì)造成溢出或者數(shù)據(jù)采集速度過(guò)慢。

  常用被測(cè)物厚度為10 mm,,當(dāng)信號(hào)長(zhǎng)度取前8個(gè)波峰,,整個(gè)系統(tǒng)工作在極限頻率100 MHz的情況下,有如下計(jì)算:

  采樣次數(shù)=采樣速率×時(shí)間=采樣速率×(2×厚度×8/超聲波速度)=100×2×0.01×8/5 900=2 712次

  即需要將近3 KB的緩存,。該超聲波測(cè)厚系統(tǒng)最大需測(cè)量厚度50 mm的物體,,故需要容量15 K×8 B的FIFO。因此FIFO的深度要大于15 KB,;寬度大于A/D的位數(shù),,即大于8位;最大工作速率100 MHz,,與A/D采樣速率相一致,。該設(shè)計(jì)選用CY公司的FIFO存儲(chǔ)器CY7C4261,其最大采樣速率達(dá)100 MHz,,與AD9283最大采樣速率相同,;容量為16 KB×9 B,可以滿(mǎn)足數(shù)據(jù)量要求,。

  2 接口設(shè)計(jì)

  AD9283是8位模/數(shù)轉(zhuǎn)換器,,CY7C4261是9位FIFO,S3C2410的數(shù)據(jù)總線(xiàn)是32位,。CY7C4261只需接S3C2410的低8位DO~D7,。由于FIFO的先入先出結(jié)構(gòu),系統(tǒng)中不需要任何地址線(xiàn)的參與,,大大簡(jiǎn)化了電路,。A/D采樣所得數(shù)據(jù)要實(shí)時(shí)送入FIFO,兩者的寫(xiě)時(shí)鐘頻率必須一樣,,且AD9283和CY7C4261的最小時(shí)鐘輸入都是10 ns,,操作起來(lái)統(tǒng)一方便,。74ALS08是四-二輸入與門(mén),把ARM的脈寬調(diào)制波輸出口中的TOUTl(GPBl),,TOUT2(GPB2)配置為通用輸出口,,對(duì)74ALS08的通斷進(jìn)行控制,從而對(duì)A/D和FIFO的寫(xiě)時(shí)鐘進(jìn)行控制,。S3C2410的CLKOUTO與CY7C4261的RCLK相連為FIFO提供讀時(shí)鐘,。CY7C4261的全滿(mǎn)標(biāo)志位/FF與S3C2410的外部中斷EINTl相連用以觸發(fā)外部中斷。S3C2410的nRSTOUTl與CY7C4261的/RS相連用以復(fù)位FIFO,。接口框圖如圖1所示,。

接口框圖

  3 時(shí)序設(shè)計(jì)

  通過(guò)兩個(gè)與門(mén)分別對(duì)A/D和FIFO的寫(xiě)時(shí)鐘進(jìn)行控制。因?yàn)锳D9283從模擬輸入開(kāi)始到該次轉(zhuǎn)換的數(shù)據(jù)出現(xiàn)在輸出口上需要4個(gè)時(shí)鐘周期,,并且在高速度采樣時(shí)導(dǎo)線(xiàn)的延時(shí)效果會(huì)非常明顯,,若把A/D和FIFO的時(shí)鐘連在一起,很可能過(guò)多地采到無(wú)效數(shù)據(jù),。分開(kāi)控制以后,,通過(guò)軟件延時(shí),可以方便地分別對(duì)A/D和FIFO的時(shí)鐘進(jìn)行控制,。調(diào)試起來(lái)相當(dāng)方便,,力圖把采到無(wú)效數(shù)據(jù)的位數(shù)減至最低。AD9283的工作時(shí)序如圖2所示,,CY7C4621寫(xiě)時(shí)序圖如圖3所示,。

AD9283的工作時(shí)序

CY7C4621寫(xiě)時(shí)序圖

  采樣時(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ě)使能/WEN1為低,、WEN2為高的時(shí)候,A/D輸出口上的數(shù)據(jù)在WCLK的上升沿被依次寫(xiě)入FIFO,。A/D和FIFO每來(lái)一次脈沖,,便完成一次模/數(shù)轉(zhuǎn)換并把數(shù)據(jù)順序存入FIFO。CY7C4261的數(shù)據(jù)最大儲(chǔ)存容量是16 KB,,在完成了1 6 KB次轉(zhuǎn)換之后,,CY7C426l將不能再存入新的數(shù)據(jù),此時(shí)存儲(chǔ)器滿(mǎn)標(biāo)志/FF輸出低電平(在未滿(mǎn)時(shí)輸出高電平),。把此信號(hào)接到S3C2410的外部中斷EINTl上,,利用它由高到低的變化產(chǎn)生中斷,,以表明一組數(shù)據(jù)采集完成。

 

  在中斷中,,ARM首先迅速關(guān)閉采樣脈沖信號(hào)(使TOUTl和TOUT2)的輸出為0,,停止A/D和FIFO的工作。ARM外部時(shí)鐘信號(hào)CLKOUTO與FIFO的讀輸入RCLK接在一起,,ARM每執(zhí)行一次I/O讀操作,,cLKOUT0便向RCLK發(fā)出一脈沖。把FIFO讀使能/WEN1和WEN2置為低,,同時(shí)連續(xù)執(zhí)行16 K次I/O讀操作,,數(shù)據(jù)便依次從CY7C4261送入S3C2410系統(tǒng),整個(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è)厚系統(tǒng)數(shù)據(jù)采集工作流程主要包括ARM初始化、輸入激勵(lì)脈沖,、使能外部中斷,、時(shí)鐘送入A/D、FIFO,、等待中斷,。停止A/D及FIFO,ARM讀數(shù)據(jù),,復(fù)位FIFO,。流程圖如圖4所示。

數(shù)據(jù)采集流程

  5 結(jié)語(yǔ)

  通過(guò)實(shí)際設(shè)計(jì)在基于ARM的超聲波無(wú)損檢測(cè)系統(tǒng)中,,采用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à)值,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。