在高頻超聲波數(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來解決以上問題,。該設(shè)計(jì)選用AD公司的A/D芯片AD9283,F(xiàn)IFO選用Cyperss公司的CY7C4261,,兩者的最大采樣頻率都是100 MHz,。ARM采用Samsung公司的S3C2410處理器。三者都具有很強(qiáng)的外部接口能力,,方便構(gòu)成無縫連接,,硬件接口電路簡(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)換器
在超聲波無損檢測(cè)系統(tǒng)中,超聲波探頭的頻率一般是2~10 MHz。取探頭頻率為5 MHz,,根據(jù)采樣定理,,采樣頻率最好是探頭頻率的5~8倍,因此A/D芯片選用AD公司的AD9283,,它的最大采樣速率達(dá)100 MHz,,可以滿足系統(tǒng)要求。
1.3 FIFO存儲(chǔ)器CY7C4261
FIFO存儲(chǔ)器作為A/D與ARM之間的橋梁,,其參數(shù)指標(biāo)直接影響數(shù)據(jù)的采集速度,。首先,F(xiàn)IFO存儲(chǔ)器的讀/寫速度要足夠快,,為方便調(diào)試,,最好能和A/D器件的最大速度相一致;其次,,F(xiàn)IFO存儲(chǔ)器的存儲(chǔ)容量要適宜,,如果容量過大會(huì)造成資源浪費(fèi),如果容量過小會(huì)造成溢出或者數(shù)據(jù)采集速度過慢,。
常用被測(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,,可以滿足數(shù)據(jù)量要求,。
2 接口設(shè)計(jì)
AD9283是8位模/數(shù)轉(zhuǎn)換器,CY7C4261是9位FIFO,,S3C2410的數(shù)據(jù)總線是32位,。CY7C4261只需接S3C2410的低8位DO~D7。由于FIFO的先入先出結(jié)構(gòu),,系統(tǒng)中不需要任何地址線的參與,,大大簡(jiǎn)化了電路,。A/D采樣所得數(shù)據(jù)要實(shí)時(shí)送入FIFO,兩者的寫時(shí)鐘頻率必須一樣,,且AD9283和CY7C4261的最小時(shí)鐘輸入都是10 ns,,操作起來統(tǒng)一方便。74ALS08是四-二輸入與門,,把ARM的脈寬調(diào)制波輸出口中的TOUTl(GPBl),,TOUT2(GPB2)配置為通用輸出口,對(duì)74ALS08的通斷進(jìn)行控制,,從而對(duì)A/D和FIFO的寫時(shí)鐘進(jìn)行控制,。S3C2410的CLKOUTO與CY7C4261的RCLK相連為FIFO提供讀時(shí)鐘。CY7C4261的全滿標(biāo)志位/FF與S3C2410的外部中斷EINTl相連用以觸發(fā)外部中斷,。S3C2410的nRSTOUTl與CY7C4261的/RS相連用以復(fù)位FIFO,。接口框圖如圖1所示,。
3 時(shí)序設(shè)計(jì)
通過兩個(gè)與門分別對(duì)A/D和FIFO的寫時(shí)鐘進(jìn)行控制,。因?yàn)锳D9283從模擬輸入開始到該次轉(zhuǎn)換的數(shù)據(jù)出現(xiàn)在輸出口上需要4個(gè)時(shí)鐘周期,并且在高速度采樣時(shí)導(dǎo)線的延時(shí)效果會(huì)非常明顯,,若把A/D和FIFO的時(shí)鐘連在一起,,很可能過多地采到無效數(shù)據(jù)。分開控制以后,,通過軟件延時(shí),,可以方便地分別對(duì)A/D和FIFO的時(shí)鐘進(jìn)行控制。調(diào)試起來相當(dāng)方便,,力圖把采到無效數(shù)據(jù)的位數(shù)減至最低,。AD9283的工作時(shí)序如圖2所示,CY7C4621寫時(shí)序圖如圖3所示,。
采樣時(shí),。通過程序使能TOUTl,TOUT2輸出為1,。此時(shí)采樣時(shí)鐘脈沖與TOUTl,,TOUT2相與后被分別送入AD9283的時(shí)鐘輸入ENCODE和CY7C4621的寫時(shí)鐘輸入WCLK。此時(shí)A/D開始工作,,A/D將轉(zhuǎn)換數(shù)據(jù)送至自己的輸出口D0~D7,。當(dāng)寫使能/WEN1為低、WEN2為高的時(shí)候,,A/D輸出口上的數(shù)據(jù)在WCLK的上升沿被依次寫入FIFO,。A/D和FIFO每來一次脈沖,便完成一次模/數(shù)轉(zhuǎn)換并把數(shù)據(jù)順序存入FIFO,。CY7C4261的數(shù)據(jù)最大儲(chǔ)存容量是16 KB,,在完成了1 6 KB次轉(zhuǎn)換之后,CY7C426l將不能再存入新的數(shù)據(jù),此時(shí)存儲(chǔ)器滿標(biāo)志/FF輸出低電平(在未滿時(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的讀,、寫指針的穩(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所示,。
5 結(jié)語(yǔ)
通過實(shí)際設(shè)計(jì)在基于ARM的超聲波無損檢測(cè)系統(tǒng)中,,采用FIFO可以使高速A/D與ARM處理器之間得到很好的無縫連接,解決兩者之間不匹配的問題,。通過軟件設(shè)置,,可以靈活調(diào)整A/D,F(xiàn)IFO及ARM的操作時(shí)序,,調(diào)試簡(jiǎn)便,,保證了數(shù)據(jù)采集的安全可靠,。該接口電路簡(jiǎn)單,靈活高效,,具有很高的應(yīng)用價(jià)值,。