基于TMS320VC5509與AD7322的數據采集系統(tǒng)的設計
2 數據采集過程
1)Mcbsp的接收器進行復位操作。
2)根據需要,對Mcbsp的寄存器進行編程。
3)使能Mcbsp的接收器。
4)檢測DSP的Gpio4的電平狀態(tài),這里CCD的FC給DSP的Gpio4,一旦Gpio4為高,則說明CCD的行同步FC的上升沿到來,也就是說CCD的有效像元開始輸出了。
5)啟動A/D,DSP的Gpio4為高后,等待1μs的時間,讓FSX腳輸出低電平,選通A/D轉換器。
這里等待1μs的原因是A/D的CS變低后,要檢測FS的電平,而FS的信號就是SP的信號,當FC為高時,SP也同時為高,且保持1 μs的高電平的時間,如果不等待1μs的話,CS下降沿檢測FS不為高,則認為A/D沒有正確進入DSP模式,所以為了保證AD能正常進入DSP模式,等待1μs后,SP和FS都變?yōu)榈碗娖?,這時在檢測FS的電平就能說明AD進入DSP模式了,而SP的占空比是1:7,也就是SP和FS在下一次變高時還有7μs的低電平時間,這個7 μs足以保證DSP正確鎖定在DSP模式下。
6)采集數據:選通A/D轉換器后,在SP脈沖上升沿到來時開始數據采樣與轉換。一個像元的轉換輸出數據被McBSP接收完畢后,McBSP將發(fā)出一個接收中斷到CPU,CPU響應此中斷后將數據從McBSP的緩沖寄存器中讀入存儲器內存,然后退出中斷,進行下一個點信號的接收。我們還需要設置一個計數變量,在每一次中斷后對其進行加一操作,當計數變量的值達到2160時,撤銷選通信號,這樣一個完整的對CCD一行的輸出信號的A/D轉換完成。
DSP的CPU或DMA控制器與Mcbsp的通信,是通過16 Bit的寄存器訪問內部的外設總線來實現的。Mcbsp的數據接收寄存器有2個,DRR1和DRR 2,當字長小于16 Bit時使用DRR1。把Mcbsp要傳輸的串行字定義成為16 Bit(剛好是10 Bit A/D轉換數據出的6個0+10 bit二進制數),并自行定義Mcbsp傳輸數據的一幀就是16 Bit,也就是說CCD的一個SP就被轉換成6個0+10 Bit的二進制數,這樣對于Mcbsp的一幀來說,就CCD的一個SP。Mcbsp接收完一幀數據后,就觸發(fā)中斷,進行這一幀數據的存儲,然后進行下一個SP像元點的采樣轉換與傳輸,直到所有的像元采集完畢。
7)關閉A/D:把DSP的RSX原來的選通A/D的低電平變?yōu)楦唠娖?,以關閉A/D。
3 結束語
文中以TMS320VC5509 DSP芯片和AD7322模數轉換芯片為例,詳細討論了數據采集系統(tǒng)的關鍵硬件接口電路設計和采集過程。目前該數據采集系統(tǒng)已經安裝在一維條碼識別系統(tǒng)中,實踐證明,該數據采集系統(tǒng)能夠正確采集數據,達到了設計目的和應用要求。
評論