《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于CPCI總線和DSP技術(shù)的多路智能采集卡
基于CPCI總線和DSP技術(shù)的多路智能采集卡
來源:微型機與應(yīng)用2013年第24期
李亭亭1, 崔迎煒2, 崔 揚3
(1. 沈陽航空航天大學(xué) 電子信息工程學(xué)院,遼寧 沈陽 110136; 2. 北京方天長久科技有限公
摘要: 為了滿足工業(yè)控制領(lǐng)域?qū)?shù)字信號智能化實時采集和處理的要求,以ADSP-21262 DSP為核心處理器,設(shè)計了一種基于CPCI總線接口的多路智能采集卡。高性能的DSP實現(xiàn)信號的實時采集和處理,處理后的結(jié)果通過CPCI總線與主機進行通信,結(jié)合高效的DSP算法,實現(xiàn)了一種實時性好、可靠性高的智能采集處理卡。應(yīng)用結(jié)果表明,該采集卡工作穩(wěn)定可靠,能很好地滿足系統(tǒng)要求。
Abstract:
Key words :

摘   要: 為了滿足工業(yè)控制領(lǐng)域?qū)?shù)字信號智能化實時采集和處理的要求,以ADSP-21262 DSP為核心處理器,設(shè)計了一種基于CPCI總線接口的多路智能采集卡。高性能的DSP實現(xiàn)信號的實時采集和處理,處理后的結(jié)果通過CPCI總線與主機進行通信,結(jié)合高效的DSP算法,實現(xiàn)了一種實時性好、可靠性高的智能采集處理卡。應(yīng)用結(jié)果表明,該采集卡工作穩(wěn)定可靠,能很好地滿足系統(tǒng)要求。
關(guān)鍵詞: ADSP-21262; CPCI總線; 多路; 智能; 采集

    CPCI總線[1] 是在PCI總線基礎(chǔ)上改進的一種32/64 bit的局部總線,最高帶寬可達512 MB/s,具有高開放性、高可靠性、可熱插拔等優(yōu)點。目前,基于CPCI總線的嵌入式系統(tǒng)架構(gòu)已廣泛應(yīng)用于石油探測等領(lǐng)域,其系統(tǒng)通常由嵌入式單板計算機和各種接口模塊組成。隨著控制系統(tǒng)復(fù)雜程度和智能化程度的提高,數(shù)據(jù)傳輸速率也不斷提高,對外圍接口模塊智能性和靈活性提出了更高的要求。通過采用高性能的數(shù)字信號DSP控制器進行接口模塊的智能化設(shè)計,可以滿足這種要求。本文以ADI公司的高性能ADSP-21262為核心處理器,為滿足系統(tǒng)實時性和多路信號采集的要求,提出了一種基于CPCI總線的多路數(shù)據(jù)采集卡的設(shè)計方法,實現(xiàn)了3路石油勘測信號的實時采集和處理。
1 工作原理
    CPCI總線與3顆DSP分別通過3個DPRAM實現(xiàn)交互,DSP微控制器作為核心處理器,進行數(shù)據(jù)的采集和處理。系統(tǒng)上電后,3路DSP中的程序同時運行等待主機中斷(同一時刻只會有一路收到中斷),DSP收到中斷后,就會讀取DPRAM指定位置的命令控制字(協(xié)議定義)并進行分析判斷,假設(shè)命令控制字的意思是AD數(shù)據(jù)采集,DSP程序就控制進行數(shù)據(jù)采集,將采集到的數(shù)據(jù)經(jīng)過一定的算法處理后寫入DPRAM中,寫完后給主機一個中斷,主機收到中斷后通過PCI9054訪問DPRAM獲取相關(guān)數(shù)據(jù)。該多路數(shù)據(jù)采集卡的原理框圖如圖1所示。

2 硬件設(shè)計
2.1 PCI9054與DPRAM接口電路

     采集卡通過CPCI總線與主機進行通信,PCI9054[2]支持32 bit/33 MHz的PCI接口,最高帶寬可達132 MB/s,支持兩通道DMA突發(fā)傳輸,能夠很好地滿足采集卡帶寬的要求。系統(tǒng)上電后,PCI9054讀取EEPROM并對配置空間進行配置,可將PCI總線[3]指令(例如讀寫某個寄存器、memory空間、IO空間)翻譯到本地地址空間,實現(xiàn)CPCI總線與Local總線的橋接。在Local bus端,有3顆DPRAM與9054通信,DPRAM采用32 k×16 bit的IDT70V27芯片,3顆DPRAM片選訪問由9054地址線高位分配。PCI9054本地端采用C工作模式、PCI從模式,提供了非復(fù)用的地址線和數(shù)據(jù)線,Local bus工作在16 bit模式。PCI9054在CPCI端作為從設(shè)備,在Local bus端作為主設(shè)備,通過使能LHOLD請求使用Local bus,當(dāng)?shù)玫絃HOLDA后9054方可占用總線。在Local bus端沒有其他主設(shè)備,因此總線的使用由9054獨占,可以把LHOLD、LHOLDA下拉直連,只要有數(shù)據(jù)請求,9054就會立即得到總線控制權(quán)。其中中斷、片選、讀寫控制信號、總線的申請和DMA功能擴展由CPLD0邏輯控制實現(xiàn),具體實現(xiàn)見CPLD邏輯設(shè)計部分。PCI9054與DPRAM1的接口示意圖如圖2所示,PCI9054與DPRAM2、DPRAM3接口與圖2相同。

2.2 DSP系統(tǒng)電路
    根據(jù)系統(tǒng)性能指標(biāo)要求,該智能數(shù)據(jù)采集卡選用ADI公司高性能的ADSP-21262[4] DSP為核心處理器。ADSP-21262 DSP是第三代SHARC可編程DSP系列中的第一成員,采用SHARC DSP內(nèi)核,SIMD計算結(jié)構(gòu),同時集成了豐富的片上資源和外設(shè)接口,核心頻率為200 MHz,處理速度可達1.2 GFLOPS。支持音頻解碼與后處理算法,內(nèi)部包含了許多音頻算法,在ROM里甚至包括多波段解碼算法,在音頻應(yīng)用領(lǐng)域得到廣泛的推廣。
    采集卡DSP的外部輸入時鐘為25 MHz,通過配置引腳CLKCFG1-0,使內(nèi)部PLL將外部輸入時鐘8倍頻,供給內(nèi)核使用。工作電壓為3.3 V,由背板提供,內(nèi)核電壓為1.2 V,由TPS54425電源轉(zhuǎn)換芯片實現(xiàn), DSP上電有4種BOOT方式,BOOT_CFC1-0選擇初始化配置,本卡使用外部8 bit并口Flash加載,3顆DSP通過JTAG菊花鏈進行程序的在線下載和調(diào)試。本設(shè)計為DSP擴展了512 KB的SRAM和8 MB的Flash, DSP還外掛了一個CPLD,數(shù)據(jù)線寬度為16 bit,具體邏輯功能見CPLD邏輯設(shè)計部分。DSP有3個外部中斷源IRQ0~2,IRQ0與IRQ1配置給AD/DA或者串口,IRQ2配置給DPRAM。DSP系統(tǒng)框圖如圖3所示。

2.4 其他電路
 本采集卡板載3個頻率分別為33 MHz、25 MHz和1.843 2 MHz的晶體振蕩器,時鐘輸出經(jīng)過SN74LVC244A斯密特整形和驅(qū)動后供給各電路使用,其中33 MHz時鐘提供給各個AD/DA接口CPLD。該時鐘可以用于AD和DA采樣速率分頻的源時鐘,還提供給PCI9054的Local bus端時鐘源;25 MHz是DSP外部時鐘源;1.843 2 MHz作為CPLD中串口RS232通信時鐘源。
    根據(jù)本卡電路設(shè)計需要,除了使用背板提供的電源外, 還通過TPS54425將5 V轉(zhuǎn)換為1.2 V供給DSP內(nèi)核使用; 通過LT1763S8將12 V轉(zhuǎn)換為5 V, LT1175S8將-12 V轉(zhuǎn)換為-5 V,供給關(guān)于AD和DA的模擬電路部分使用,本采集卡對上電順序沒有要求。
    復(fù)位電路主要通過CPLD和復(fù)位芯片實現(xiàn),復(fù)位鏈如圖5所示。

3 CPLD邏輯設(shè)計
    本采集卡使用了4顆Altera的EPM1270邏輯器件,CPLD邏輯使用Verilog[5]代碼實現(xiàn),第一顆CPLD主要實現(xiàn)PCI9054 LOCAL端與3個DPRAM之間的一些邏輯控制,例如3個DPRAM的片選、復(fù)位、讀寫信號的產(chǎn)生,以及LOCAL端總線的申請和DMA功能的擴展等。其他3顆CPLD實現(xiàn)的功能基本相同,主要實現(xiàn)DSP處理器與周圍擴展電路的粘合,例如DSP周圍掛接的CPLD、Flash、DPRAM、SRAM片選信號的產(chǎn)生,F(xiàn)IFO模式的設(shè)置,AD、DA、串口時鐘的產(chǎn)生,串口通信狀態(tài)機的實現(xiàn)。除此之外,還映射了一些讀寫寄存器,這些寄存器主要實現(xiàn)FIFO數(shù)據(jù)的讀寫,F(xiàn)IFO中斷閾值設(shè)定及狀態(tài)讀取,F(xiàn)IFO讀寫使能控制及復(fù)位,AD、DA分頻系數(shù)設(shè)定(即采樣時鐘的設(shè)定),AD溢出和DA睡眠狀態(tài)讀取,板卡相關(guān)信息讀取等。Flash在擦除和寫之前首先需要向其發(fā)送擦除和寫命令,讀并不需要。而由于用DMA訪問外部設(shè)備時有以4 B為單位進行數(shù)據(jù)傳輸?shù)南拗?,故CPLD在此做了特殊處理,當(dāng)DSP向Flash發(fā)送擦除和寫命令時,DSP發(fā)送4 B,CPLD會濾除前3 B,F(xiàn)lash實際只收到最后一個字節(jié)。
4 DSP程序設(shè)計

 


    通過ADI提供的Visualdsp++5.0集成開發(fā)環(huán)境[6]進行DSP軟件的開發(fā),充分利用DSP強大的信號處理優(yōu)勢,結(jié)合具體項目應(yīng)用中所需的數(shù)據(jù)處理算法采用C語言進行編程。編譯后的DSP程序通過JTAG鏈燒寫到DSP外擴的Flash中,系統(tǒng)上電后一段512 B的boot kernel自動加載到DSP內(nèi)存中運行,然后將應(yīng)用程序引導(dǎo)到內(nèi)存中運行。DSP程序主要包括系統(tǒng)初始化、系統(tǒng)自檢、數(shù)據(jù)采集和處理以及數(shù)據(jù)存儲4個部分,系統(tǒng)初始化主要完成DSP本身正常運行所需的環(huán)境配置;系統(tǒng)自檢主要完成對DSP外接SRAM、雙口RAM、Flash、CPLD和串口讀寫檢測,并將檢測后的狀態(tài)放到雙口RAM的指定位置供主機讀?。粩?shù)據(jù)采集和處理主要完成將AD轉(zhuǎn)化后的數(shù)據(jù)讀取到DSP內(nèi)存中,并經(jīng)過一定的算法處理;數(shù)據(jù)存儲主要完成將采集到的數(shù)據(jù)寫到雙口RAM中,給主機一個中斷,通知主機進行讀取。DSP程序工作流程如圖6所示。

    該多路智能采集卡設(shè)計靈活,可以根據(jù)需要添加一些功能,在軟硬件設(shè)計時充分考慮了系統(tǒng)的可靠性和穩(wěn)定性,實現(xiàn)了對油井勘測數(shù)據(jù)的實時采集和處理,滿足了項目的要求,達到了預(yù)期的性能指標(biāo)。實際應(yīng)用表明,該采集系統(tǒng)運行穩(wěn)定可靠。
參考文獻
[1] PIGMG. Compact PCI specification 2.0 R3.0[S]. October  1,1999.
[2] PLX.PCI9054 Data book version 2.1[Z].January,2000.
[3] 李貴山,陳金鵬.PCI局部總線及其應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2003.
[4] ADI.ADSP-2126x SHARC processor hardware reference  reversion 5.0[Z].August,2010.
[5] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計教程[M].北京:北京航空航天大學(xué)出版社,2009.
[6] 羅勇江,劉書明,肖科.VisualDSP++集成開發(fā)環(huán)境實用指南[M].北京.電子工業(yè)出版社,2008.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。