基于DSP的陣列聲波信號(hào)采集與處理系統(tǒng)設(shè)計(jì)
在本系統(tǒng)的設(shè)計(jì)中,采用了可以在線擦寫(xiě)的FLASH代替EPROM作為程序代碼的存儲(chǔ)器。因而從根本上克服了傳統(tǒng)方法在系統(tǒng)調(diào)試上帶來(lái)的諸多不便,對(duì)表貼封裝的存儲(chǔ)器尤為適用。調(diào)試過(guò)程中,直接將程序代碼通過(guò)C542寫(xiě)入FLASH中,重新上電后C542即可按照FLASH的方式執(zhí)行Bootloader操作,極大的降低了硬件系統(tǒng)調(diào)試的難度。
本系統(tǒng)采用8位并行加載。C542復(fù)位期間檢查MP/MC引腳是否為低電平,若不是,則從外部程序存儲(chǔ)器0FF80h起執(zhí)行用戶(hù)程序;若是,則從片內(nèi)ROM的0FF80h起執(zhí)行程序。啟動(dòng)制造商在ROM的自舉加載器程序時(shí),首先應(yīng)進(jìn)行初始化,然后檢查INT2引腳,若有效,則從HPI-RAM自舉加載;若無(wú)效,則使I/O口選通信號(hào)IS為低電平,從地址為0FFFFh的I/O口讀入自舉程序選擇字(BRS)。BRS的低8位決定了自舉加載的方式,若BRS的低2位為01,則為8位并行加載,然后自舉加載器依據(jù)FLASH的地址(BRS中的高6位 + 0000000000)就可讀取自舉表了。自舉加載器將FLASH中的程序代碼全部送到程序存儲(chǔ)器之后,立即轉(zhuǎn)移到目的地址,并開(kāi)始執(zhí)行程序代碼。
本設(shè)計(jì)中FLASH芯片選用的是AMD公司的Am29F010,該芯片容量為1Mbit。因?yàn)镃542只能尋址64K 地址,所以Am29F010的A16引腳接地。
DSP在線加載系統(tǒng)的硬件設(shè)計(jì)如圖2所示。設(shè)計(jì)時(shí)沒(méi)有讓DS直接接CE,而是先讓A14、A15分別接一個(gè)非門(mén),這兩個(gè)非門(mén)的輸出端和IS一起接到一個(gè)或門(mén)上,此或門(mén)的輸出端和DS一起接一個(gè)與門(mén),與門(mén)的輸出端再接CE。這樣設(shè)計(jì)使Am29F010的48K至64K地址空間成為數(shù)據(jù)和I/O復(fù)用空間,自舉加載時(shí)可從Am29F010的地址為0FFFFh的I/O口讀入自舉程序選擇位?! ?P> ADC設(shè)計(jì)
根據(jù)本系統(tǒng)對(duì)ADC分辨率為16位、轉(zhuǎn)換速率大于125KSPS、低功耗的要求,決定選用ADI公司的AD976A。該芯片具有16位的分辨率,轉(zhuǎn)換速率為200KSPS,工作電壓為+5V,最大功耗僅為100mW。
對(duì)AD976A的轉(zhuǎn)換控制和數(shù)據(jù)的輸出主要涉及到R/C、CS和BUSY三個(gè)引腳。AD976A提供了兩種轉(zhuǎn)換模式:一種是CS一直為低電平,ADC和DSP讀數(shù)據(jù)僅由R/C控制;另一種是ADC和DSP讀數(shù)據(jù)由CS和R/C共同控制。由于C542不能讓ADC的片選信號(hào)一直處于選中狀態(tài),所以只有選用第二種模式,如圖3所示。AD976A在CS的下降沿而R/C又為低電平時(shí)開(kāi)始模數(shù)轉(zhuǎn)換,在CS的下降沿而R/C又為高電平時(shí)把數(shù)據(jù)送到數(shù)據(jù)總線。BUSY信號(hào)在模數(shù)轉(zhuǎn)換開(kāi)始時(shí)變?yōu)榈碗娖?結(jié)束時(shí)變?yōu)楦唠娖健?
評(píng)論