1 引言
當(dāng)前,越來越多的設(shè)計(jì)應(yīng)用領(lǐng)域要求具有高精度的A/D轉(zhuǎn)換和實(shí)時(shí)處理功能。在實(shí)時(shí)數(shù)據(jù)采集處理系統(tǒng)設(shè)計(jì)中,一般需要考慮數(shù)據(jù)采集以及對采集數(shù)據(jù)的處理。而對于大數(shù)據(jù)量的實(shí)時(shí)數(shù)據(jù)采集處理系統(tǒng)來說,保持?jǐn)?shù)據(jù)高速傳輸也是該系統(tǒng)性能的關(guān)鍵因素。
采用TMS320VC5402和轉(zhuǎn)換器ADuC841構(gòu)成雙CPU處理器平臺(tái),充分利用TMS320VC5402的對大容量數(shù)據(jù)和復(fù)雜算法的處理能力,ADuC841接口的控制能力以及各自擁有的DMA控制器構(gòu)建實(shí)時(shí)數(shù)據(jù)采集處理系統(tǒng)。雙CPU通過DMA方式實(shí)現(xiàn)數(shù)據(jù)交換,將數(shù)據(jù)傳輸和系統(tǒng)控制分開,提高了數(shù)據(jù)傳輸速度,降低了處理器負(fù)擔(dān),提高系統(tǒng)運(yùn)行效率。采用此解決方案。大大提高了系統(tǒng)的信號(hào)采集和處理能力。
2系統(tǒng)硬件設(shè)計(jì)
2.1 ADuC841簡介
ADuC841是ADI公司ADuC84X系列中性能最完善的一款微轉(zhuǎn)換器,它具有單周期指令,20 MI/s的8052內(nèi)核;內(nèi)置一個(gè)8通道、高速420 Ks/s、高精度自校正、12位逐次逼近的ADC,具有DMA控制:2通道12位DAC;2通道PWM方式∑-△型DAC;片上15 ppm/℃高穩(wěn)定電壓基準(zhǔn);片上溫度傳感器;62 KB片內(nèi)Flash/EE程序存儲(chǔ)器;4 KB的片內(nèi)Flash/EE數(shù)據(jù)存儲(chǔ)器。還包括看門狗定時(shí)器和電源.、ADC與數(shù)據(jù)存儲(chǔ)器之間的DMA方式、存儲(chǔ)保護(hù)功能、通用異步串行收發(fā)器(UART)、SPI和I2C總線接口等功能模塊。
ADuC841片內(nèi)的ADC的轉(zhuǎn)換速率為2.38μs/次(420 kHz的采樣率)。當(dāng)A/D轉(zhuǎn)換時(shí),ADuC841必須在2μs內(nèi)讀取A/D轉(zhuǎn)換結(jié)果并將其傳輸且存儲(chǔ)到外部存儲(chǔ)器中以便后續(xù)處理,否則將導(dǎo)致下一個(gè)轉(zhuǎn)換結(jié)果出現(xiàn)后丟失前一個(gè)轉(zhuǎn)換結(jié)果。由于中斷服務(wù)子程序中存儲(chǔ)轉(zhuǎn)換結(jié)果和微轉(zhuǎn)換器跳轉(zhuǎn)到ADC的中斷服務(wù)子程序都需要時(shí)間,因此很多應(yīng)用無法響應(yīng)高的中斷速率。采用ADC的DMA方式傳輸數(shù)據(jù)能夠解決上述問題,通過設(shè)置特殊功能寄存器ADCCON2中的中斷響應(yīng)位即可使能ADC的DMA方式。這種方式下,無需CPU的軟件中斷響應(yīng)干預(yù),可通過硬件直接檢測相應(yīng)控制位就能將ADC的轉(zhuǎn)換結(jié)果直接輸出并存儲(chǔ)到片外的靜態(tài)RAM中,并提供了一個(gè)高速數(shù)據(jù)傳輸通道,從而保證了ADC能以最高速率(420 kHz)完成數(shù)據(jù)采樣和轉(zhuǎn)換,并進(jìn)行高速信號(hào)傳輸。
2.2數(shù)字信號(hào)處理器TMS320VC5402簡介
TMS320VC5402 是 TI 公 司 的TMS320C5000系列之一,它采用改進(jìn)的哈佛結(jié)構(gòu),具有分離的程序總線和數(shù)據(jù)總線,采用4級(jí)流水線作業(yè),其運(yùn)行速度可達(dá)100 MI/S,具有高速運(yùn)行的特點(diǎn)。同時(shí)提供豐富的指令集,增強(qiáng)的模塊化結(jié)構(gòu)設(shè)計(jì),具有通用性,拓展了應(yīng)用領(lǐng)域。TMS320VC5402可尋址3個(gè)獨(dú)立的存儲(chǔ)空間,包括1 MB×16的程序空間,64 KB×16的數(shù)據(jù)空間以及64 KB×16位的I/O端口空間。片內(nèi)提供16 KB×16的雙存取RAM和4 KB×16的ROM,并具有直接存儲(chǔ)器訪問(DMA)功能,通過HOLD允許對外部程序、數(shù)據(jù)以及I/O空間進(jìn)行直接存儲(chǔ)器訪問。TMS320VC5402存儲(chǔ)器直接存儲(chǔ)控制DMA可在不占用CPU資源的情況下,實(shí)現(xiàn)DSP存儲(chǔ)器間數(shù)據(jù)的自由傳輸。TMS320VC5402有6個(gè)可獨(dú)立編程的DMA通道,每個(gè)DMA通道由各自的寄存器控制。
2.3系統(tǒng)的硬件結(jié)構(gòu)
設(shè)計(jì)DMA共享存儲(chǔ)器實(shí)現(xiàn)雙機(jī)通訊需要考慮以下幾點(diǎn):(1)設(shè)計(jì)ADuC841和TMS320VC5402之間數(shù)據(jù)總線和地址總線的隔離電路。隔離電路在雙CPU不通信時(shí)隔離地址總線和數(shù)據(jù)總線,而在DMA通信時(shí)則選通。(2)設(shè)計(jì)ADuC841和TMS320VC5402都能對存儲(chǔ)器讀寫的選通信號(hào)和讀寫信號(hào)。(3)設(shè)計(jì)控制TMS320VC5402信號(hào)及其響應(yīng)信號(hào)。
考慮上述問題,采用ADuC841與TMS320VC5402的雙CPU系統(tǒng)結(jié)構(gòu)如圖1所示。存儲(chǔ)器HM62256既是TMS320VC5402的全局?jǐn)?shù)據(jù)存儲(chǔ)器,又是ADuC841的外部存儲(chǔ)器。A15為片選信號(hào),地址范圍為8000H~FFFFH。兩個(gè)CPU分別通過總線和數(shù)據(jù)存儲(chǔ)器HM62256相連,實(shí)現(xiàn)存儲(chǔ)器共享。
隔離電路采用4片74LVC245雙向緩沖器實(shí)現(xiàn),由于ADuC841的P0口是分時(shí)復(fù)用的地址/數(shù)據(jù)總線,所以需采用一片74LVC373地址鎖存器將P0端口的地址信號(hào)從地址/數(shù)據(jù)總線中分離出來。而ADuC841的16位數(shù)據(jù)總線需要雙向緩沖,由于ADuC841要對HM62256進(jìn)行讀寫操作,所以緩沖器的方向由ADuC841的讀信號(hào)RD控制,當(dāng)ADuC841讀數(shù)據(jù)時(shí),RD為低電平,使數(shù)據(jù)緩沖方向?yàn)镠M62256至ADuC841;寫數(shù)據(jù)時(shí),RD為高電平,數(shù)據(jù)緩沖方向?yàn)锳DuC841至HM62256。緩沖器的使能線由A15反向信號(hào)控制,當(dāng)A15為高電平時(shí),選通緩沖器,否則緩沖器為高阻態(tài)。A15還是HM62256的片選信號(hào),若要ADuC841和TMS320VC5402都能選通HM62256,需將A15和PS的與非信號(hào)作為HM62256的片選信號(hào)。ADuC841選通時(shí),PS為高電平,ADuC841的A15有效。TMS320VC5402選通時(shí),當(dāng)A15為低電平時(shí),PS有效。
ADuC841通過P3.5、P3.2(INT0)分別與TMS320VC5402的HOLD、XF引腳相連,P3.5向TMS320VC5402申請總線控制,TMS320 VC5402響應(yīng)ADuC841的請求后,HOLDA信號(hào)變低,TMS320VC5402的CPU掛起,并出讓外部總線。ADuC841通過A15打開總線驅(qū)動(dòng)器,并經(jīng)與非門后選中HM62256,獲得HM62256的控制權(quán),實(shí)現(xiàn)對HM62256的讀寫操作。而TMS320VC5402可通過XF向ADuC841請求中斷,ADuC841在響應(yīng)中斷INT0后,通過P3.5將HOLD信號(hào)轉(zhuǎn)換為高電平,此時(shí)總線控制權(quán)重新交給TMS320VC5402。
3系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)上電時(shí),ADuC841由P3.5向DSP申請總線控制HM62256,設(shè)置DMA方式,通過配置3個(gè)特殊功能寄存器ADCCON1~ADCCON3,ADuC841的ADC工作在不同模式下。其中在DMA模式下,ADC可連續(xù)轉(zhuǎn)換,并將采樣值直接輸出并存儲(chǔ)到片外的HM62256中而無需來自CPU的任何軟件干預(yù),從而保證ADC能以最高速度(420 kHz)完成采樣和轉(zhuǎn)換并進(jìn)行高速信號(hào)傳輸。A/D轉(zhuǎn)換后,ADuC841通過ADC中斷,P3.5發(fā)送高電平至TMS320VC5402的HOLD引腳,向TMS320VC5402申請放棄總線控制,HM62256的總線控制權(quán)重新交換給TMS320VC5402,由TMS320VC5402進(jìn)行數(shù)據(jù)處理。當(dāng)TMS320VC5402處理完數(shù)據(jù)后,首先將運(yùn)算結(jié)果放回HM62256,然后通過XF信號(hào)線通知ADuC841,ADuC841響應(yīng)后,向DSP申請總線控制接管HM62256,讀出運(yùn)算結(jié)果,然后進(jìn)行下一步處理。以下是ADuC841的部分DMA接口程序代碼:
4 結(jié)束語
對于實(shí)時(shí)數(shù)據(jù)采集處理系統(tǒng),選取合理有效的核心算法是至關(guān)重要的,然而,選擇數(shù)據(jù)傳輸方法也是相當(dāng)重要,在一些實(shí)際情況下,數(shù)據(jù)傳輸時(shí)間可能超過數(shù)據(jù)處理的時(shí)間。通過合理使用DMA高速數(shù)據(jù)傳輸是提高數(shù)據(jù)傳輸效率的一種途徑,有助于產(chǎn)品的開發(fā)。
-
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7430瀏覽量
163514 -
緩沖器
+關(guān)注
關(guān)注
6文章
1911瀏覽量
45424 -
數(shù)據(jù)采集
+關(guān)注
關(guān)注
38文章
5808瀏覽量
113423
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論