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

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

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

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

     采集卡通過CPCI總線與主機(jī)進(jìn)行通信,,PCI9054[2]支持32 bit/33 MHz的PCI接口,最高帶寬可達(dá)132 MB/s,支持兩通道DMA突發(fā)傳輸,能夠很好地滿足采集卡帶寬的要求,。系統(tǒng)上電后,,PCI9054讀取EEPROM并對(duì)配置空間進(jìn)行配置,可將PCI總線[3]指令(例如讀寫某個(gè)寄存器,、memory空間,、IO空間)翻譯到本地地址空間,實(shí)現(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請(qǐng)求使用Local bus,,當(dāng)?shù)玫絃HOLDA后9054方可占用總線,。在Local bus端沒有其他主設(shè)備,因此總線的使用由9054獨(dú)占,,可以把LHOLD,、LHOLDA下拉直連,只要有數(shù)據(jù)請(qǐng)求,,9054就會(huì)立即得到總線控制權(quán),。其中中斷、片選,、讀寫控制信號(hào),、總線的申請(qǐng)和DMA功能擴(kuò)展由CPLD0邏輯控制實(shí)現(xiàn),具體實(shí)現(xiàn)見CPLD邏輯設(shè)計(jì)部分,。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計(jì)算結(jié)構(gòu),同時(shí)集成了豐富的片上資源和外設(shè)接口,,核心頻率為200 MHz,,處理速度可達(dá)1.2 GFLOPS,。支持音頻解碼與后處理算法,內(nèi)部包含了許多音頻算法,,在ROM里甚至包括多波段解碼算法,在音頻應(yīng)用領(lǐng)域得到廣泛的推廣,。
    采集卡DSP的外部輸入時(shí)鐘為25 MHz,通過配置引腳CLKCFG1-0,,使內(nèi)部PLL將外部輸入時(shí)鐘8倍頻,,供給內(nèi)核使用。工作電壓為3.3 V,,由背板提供,,內(nèi)核電壓為1.2 V,由TPS54425電源轉(zhuǎn)換芯片實(shí)現(xiàn),, DSP上電有4種BOOT方式,,BOOT_CFC1-0選擇初始化配置,本卡使用外部8 bit并口Flash加載,,3顆DSP通過JTAG菊花鏈進(jìn)行程序的在線下載和調(diào)試,。本設(shè)計(jì)為DSP擴(kuò)展了512 KB的SRAM和8 MB的Flash, DSP還外掛了一個(gè)CPLD,,數(shù)據(jù)線寬度為16 bit,,具體邏輯功能見CPLD邏輯設(shè)計(jì)部分。DSP有3個(gè)外部中斷源IRQ0~2,,IRQ0與IRQ1配置給AD/DA或者串口,,IRQ2配置給DPRAM。DSP系統(tǒng)框圖如圖3所示,。

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

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

 


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

    該多路智能采集卡設(shè)計(jì)靈活,可以根據(jù)需要添加一些功能,,在軟硬件設(shè)計(jì)時(shí)充分考慮了系統(tǒng)的可靠性和穩(wěn)定性,,實(shí)現(xiàn)了對(duì)油井勘測(cè)數(shù)據(jù)的實(shí)時(shí)采集和處理,滿足了項(xiàng)目的要求,,達(dá)到了預(yù)期的性能指標(biāo),。實(shí)際應(yīng)用表明,該采集系統(tǒng)運(yùn)行穩(wěn)定可靠,。
參考文獻(xià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è)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2009.
[6] 羅勇江,劉書明,肖科.VisualDSP++集成開發(fā)環(huán)境實(shí)用指南[M].北京.電子工業(yè)出版社,2008.

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