用FIFO實(shí)現超聲測厚系統A/D與ARM接口設計
1 芯片選型
1.1 S3C2410處理器
S3C2410處理器是Samsung公司基于A(yíng)RM公司的ARM920T處理器核,采用0.18μm制造工藝的32位微控制器。該處理器擁有:獨立的16 KB指令Cache和16 KB數據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主機,1個(gè)USB設備,SD主機和MMC接口,2路SPI。S3C2410是16/32位RISC體系結構處理器,使用ARM920T CPU核的強大指令集,處理器最高可運行在203 MHz。
1.2 AD9283高速模數轉換器
在超聲波無(wú)損檢測系統中,超聲波探頭的頻率一般是2~10 MHz。取探頭頻率為5 MHz,根據采樣定理,采樣頻率最好是探頭頻率的5~8倍,因此A/D芯片選用AD公司的AD9283,它的最大采樣速率達100 MHz,可以滿(mǎn)足系統要求。
1.3 FIFO存儲器CY7C4261
FIFO存儲器作為A/D與ARM之間的橋梁,其參數指標直接影響數據的采集速度。首先,FIFO存儲器的讀/寫(xiě)速度要足夠快,為方便調試,最好能和A/D器件的最大速度相一致;其次,FIFO存儲器的存儲容量要適宜,如果容量過(guò)大會(huì )造成資源浪費,如果容量過(guò)小會(huì )造成溢出或者數據采集速度過(guò)慢。
常用被測物厚度為10 mm,當信號長(cháng)度取前8個(gè)波峰,整個(gè)系統工作在極限頻率100 MHz的情況下,有如下計算:
采樣次數=采樣速率×時(shí)間
=采樣速率×(2×厚度×8/超聲波速度)
=100×2×0.01×8/5 900
=2 712次
即需要將近3 KB的緩存。該超聲波測厚系統最大需測量厚度50 mm的物體,故需要容量15 K×8 B的FIFO。因此FIFO的深度要大于15 KB;寬度大于A(yíng)/D的位數,即大于8位;最大工作速率100 MHz,與A/D采樣速率相一致。該設計選用CY公司的FIFO存儲器CY7C4261,其最大采樣速率達100 MHz,與AD9283最大采樣速率相同;容量為16 KB×9 B,可以滿(mǎn)足數據量要求。
2 接口設計
AD9283是8位模/數轉換器,CY7C4261是9位FIFO,S3C2410的數據總線(xiàn)是32位。CY7C4261只需接S3C2410的低8位DO~D7。由于FIFO的先入先出結構,系統中不需要任何地址線(xiàn)的參與,大大簡(jiǎn)化了電路。A/D采樣所得數據要實(shí)時(shí)送入FIFO,兩者的寫(xiě)時(shí)鐘頻率必須一樣,且AD9283和CY7C4261的最小時(shí)鐘輸入都是10 ns,操作起來(lái)統一方便。74ALS08是四-二輸入與門(mén),把ARM的脈寬調制波輸出口中的TOUTl(GPBl),TOUT2(GPB2)配置為通用輸出口,對74ALS08的通斷進(jìn)行控制,從而對A/D和FIFO的寫(xiě)時(shí)鐘進(jìn)行控制。S3C2410的CLKOUTO與CY7C4261的RCLK相連為FIFO提供讀時(shí)鐘。CY7C4261的全滿(mǎn)標志位


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