用FIFO實現超聲測厚系統A/D與ARM接口設計
采樣時。通過程序使能TOUTl,TOUT2輸出為1。此時采樣時鐘脈沖與TOUTl,TOUT2相與后被分別送入AD9283的時鐘輸入ENCODE和CY7C4621的寫時鐘輸入WCLK。此時A/D開始工作,A/D將轉換數據送至自己的輸出口D0~D7。當寫使能為低、WEN2為高的時候,A/D輸出口上的數據在WCLK的上升沿被依次寫入FIFO。A/D和FIFO每來一次脈沖,便完成一次模/數轉換并把數據順序存入FIFO。CY7C4261的數據最大儲存容量是16 KB,在完成了1 6 KB次轉換之后,CY7C426l將不能再存入新的數據,此時存儲器滿標志
輸出低電平(在未滿時輸出高電平)。把此信號接到S3C2410的外部中斷EINTl上,利用它由高到低的變化產生中斷,以表明一組數據采集完成。
在中斷中,ARM首先迅速關閉采樣脈沖信號(使TOUTl和TOUT2)的輸出為0,停止A/D和FIFO的工作。ARM外部時鐘信號CLKOUTO與FIFO的讀輸入RCLK接在一起,ARM每執行一次I/O讀操作,cLKOUT0便向RCLK發出一脈沖。把FIFO讀使能和WEN2置為低,同時連續執行16 K次I/O讀操作,數據便依次從CY7C4261送入S3C2410系統,整個數據采集工作就此完成。在進行每一次數據的采集前,將CY7C4261先復位,把S3C24-10的nRSTOUTl配置為通用輸出口,給CY7C4261的RS引腳輸入一個不小于10 ns的低脈沖,即在ARM的nRSTOUTl引腳輸出一個低脈沖。這樣可以更充分地保證FIFO的讀、寫指針的穩定。
4 數據采集流程
超聲波測厚系統數據采集工作流程主要包括ARM初始化、輸入激勵脈沖、使能外部中斷、時鐘送入A/D、FIFO、等待中斷。停止A/D及FIFO,ARM讀數據,復位FIFO。流程圖如圖4所示。
5 結語
通過實際設計在基于ARM的超聲波無損檢測系統中,采用FIFO可以使高速A/D與ARM處理器之間得到很好的無縫連接,解決兩者之間不匹配的問題。通過軟件設置,可以靈活調整A/D,FIFO及ARM的操作時序,調試簡便,保證了數據采集的安全可靠。該接口電路簡單,靈活高效,具有很高的應用價值。
評論