基于DSP的陣列聲波信號采集與處理系統設計
進行轉換時, C542首先經過CPLD內部的組合和時序邏輯電路,向AD976A發兩個低電平脈沖R/C和CS,其中R/C脈沖寬度為166.7ns,CS脈沖寬度為83.3ns ,CS的下降沿在R/C的下降沿之后41.7ns,而上升沿卻在R/C的上升沿之前41.7ns。由于這時CS為下降沿,R/C為低電平,所以AD976A開始采集數據、進行ADC,BUSY信號也隨之變為低電平。轉換結束,BUSY變為高電平,經過CPLD的邏輯電路后接到C542的INT2引腳,引起C542中斷。C542接收到中斷后經CPLD向AD976A發一個CS脈沖,由于這時的CS為下降沿,R/C為高電平,所以AD976A把數據放到數據總線上,C542開始讀總線上的數據。
CPLD邏輯電路設計
CPLD是整個系統的控制邏輯電路部分。在CPLD內要實現的主要功能為:
① 產生AD_TRIG同步脈沖
當發聲晶體發聲后,八個DSP就要同時采集數據,AD_TRIG脈沖就是解決“發聲”與“采集”的同步問題以及八個DSP的“采集”同步問題的。
AD_TRIG脈沖的周期是由主CPU決定,由DSP1寫入CPLD。其它七個DSP不向CPLD寫入AD_TRIG脈沖的周期,它們只是AD_TRIG脈沖的接收者。
② 產生控制ADC的R/C和CS信號
R/C和CS信號是在AD_TRIG同步脈沖的基礎上產生的。在產生R/C和CS的時序邏輯電路中,有些觸發器的時鐘就是AD_TRIG脈沖,這樣八個DSP的采集、轉換就被同步。
③ 產生FIRE點火脈沖
FIRE點火脈沖是在CPLD內產生的使發射晶體發聲的脈沖。當DSP1接到主CPU傳來的采集數據的命令時,就向CPLD發出產生FIRE脈沖的命令,CPLD經其內部組合和時序邏輯電路產生FIRE脈沖,然后送往主CPU,主CPU接到該脈沖后向發射模塊發命令,使發射晶體發聲。在設計時,產生FIRE脈沖的時序邏輯電路的有些觸發器也是以AD_TRIG脈沖為時鐘的,這樣就解決了發聲晶體“發聲”與DSP“采集”的同步問題。
評論