當前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]本文提出一種基于DSP的PCI測控系統(tǒng)的設(shè)計思想,系統(tǒng)采用DSP作為外圍核心處理單元,PCI9054作為PCI橋芯片,著重論述了測控系統(tǒng)的數(shù)據(jù)采集與傳輸?shù)挠布涌诮鉀Q方案和驅(qū)動程序設(shè)計。

摘   要:本文提出一種基于DSPPCI測控系統(tǒng)的設(shè)計思想,系統(tǒng)采用DSP作為外圍核心處理單元,PCI9054作為PCI橋芯片,著重論述了測控系統(tǒng)的數(shù)據(jù)采集與傳輸?shù)挠布涌诮鉀Q方案和驅(qū)動程序設(shè)計。
關(guān)鍵詞:PCI總線;DSP;WDM驅(qū)動;測控系統(tǒng)

引 言             
    隨著數(shù)字信號處理芯片性價比的不斷提高,數(shù)字信號處理的應(yīng)用領(lǐng)域飛速發(fā)展,同時Pentium高速CPU的出現(xiàn),要求有極高的數(shù)據(jù)通量予以支持,而低速的ISA總線在解決這些問題方面逐漸無能為力,取而代之的是高速的PCI總線。PCI總線可將高速外圍設(shè)備直接掛在CPU總線上,33MHz/32位時數(shù)據(jù)傳輸速率可達132MB/s,66MHz/64位時更是性能加倍,打破了數(shù)據(jù)傳輸速率的瓶頸,使得CPU的性能得到充分發(fā)揮。如果采用美國TI公司生產(chǎn)的高速高性能數(shù)字信號處理器DSP取代原來的單片機作為板載CPU,可以充分利用PCI總線的優(yōu)點直接將采集的數(shù)據(jù)傳到微機內(nèi)存,有效地解決了數(shù)據(jù)的實時傳輸和存儲問題。

測控系統(tǒng)的硬件組成
    系統(tǒng)基本硬件結(jié)構(gòu)如圖1所示。整個高速測控系統(tǒng)主要由信號調(diào)理電路、DSP模塊、FIFO存儲器、CPLD控制電路、PCI9054接口芯片等組成。系統(tǒng)采用主從結(jié)構(gòu),PC機作為上位機,用于完成對系統(tǒng)的控制(如AD轉(zhuǎn)換的開始、DSP復(fù)位、中斷響應(yīng)、數(shù)據(jù)接收與處理等)。DSP作為下位機,用于完成數(shù)據(jù)的采集與處理、PWM波以及其他外圍信號的控制等。


圖1 系統(tǒng)硬件結(jié)構(gòu)圖

DSP測控模塊介紹
    系統(tǒng)采用的DSP芯片為TI公司的TMS320LF2407。電路設(shè)計時,利用的DSP內(nèi)部的16通道A/D轉(zhuǎn)換實現(xiàn)數(shù)據(jù)采集,DSP與FIFO的電路接口電壓都為3.3V,可實現(xiàn)無縫連接,DSP的數(shù)據(jù)總線直接與FIFO的數(shù)據(jù)輸入端口相連,DSP與FIFO的時鐘頻率應(yīng)設(shè)為相同。這樣,無需插入等待周期,控制信號經(jīng)CPLD直接轉(zhuǎn)換為FIFO的讀寫信號,實現(xiàn)數(shù)據(jù)的高速存儲。

先進先出存儲器
    在DMA傳輸方式下,由于PCI9054內(nèi)部的FIFO只有32級深度,實時傳送高速數(shù)據(jù)時,PCI9054內(nèi)部的FIFO會很快存滿,而DSP內(nèi)的數(shù)據(jù)仍會源源不斷的傳送過來,易造成數(shù)據(jù)的丟失,因此必須要擴展外部FIFO。

    本系統(tǒng)采用IDT公司高速CMOS同步FIFO芯片IDT72V3660,它的容量為4096×36bit;有高達100MHz的讀寫速度;可以兼容3.3V和5V兩種接口電壓。該FIFO具有標準的“滿”(FF#)、“半滿”(HF#)、“空”(EF#)等標志。系統(tǒng)可以根據(jù)這些標志信號控制對FIFO的讀寫操作。在CPLD的邏輯控制下,當WEN#有效時,在WCLK的每一個上升沿,F(xiàn)IFO會把輸入數(shù)據(jù)線上的數(shù)據(jù)存入內(nèi)部存儲器。當REN#有效且輸出允許(OE#有效)時,在RCLK的每一個上升沿,F(xiàn)IFO會把內(nèi)部存儲器中的數(shù)據(jù)發(fā)送到輸出數(shù)據(jù)總線上(低電平用“#”表示)。

控制邏輯芯片CPLD
    本系統(tǒng)采用Altera公司的EPM7128來實現(xiàn)系統(tǒng)的邏輯控制,主要包括DSP控制邏輯、FIFO控制邏輯、PCI9054接口控制邏輯三個部分,其中,對PCI9054的邏輯控制是設(shè)計的重點。設(shè)計中利用MaxPlusⅡ軟件進行VHDL語言編程、仿真和調(diào)試。

PCI9054及外部接口分析
    PCI與板載CPU的橋接有兩種設(shè)計方案,一種是采用FPGA,通過軟件編程實現(xiàn)硬件功能。另一種是利用專用PCI橋接芯片,適合快速開發(fā)的場合。

    本系統(tǒng)采用PLX公司的PCI總線專用接口控制芯片PCI9054。它符合PCIV2.1和PCIV2.2規(guī)范;可同時支持3.3V和5V兩種信號環(huán)境;提供了兩個獨立的可編程DMA控制器;內(nèi)部有6種可編程FIFO,以實現(xiàn)零等待突發(fā)傳輸及局部總線和PCI總線之間的異步操作;在PCI總線端支持33MHz/32位,傳輸速率最高可達132MB/s;在局部端可編程實現(xiàn)8/16/32位的數(shù)據(jù)寬度,支持復(fù)用/非復(fù)用的32位地址/數(shù)據(jù),時鐘最高可達50MHz。

    PCI9054局部總線可工作在M、J、C三種模式,M模式是專門為Motorola公司的MPC850和MPC860提供直接非復(fù)用的接口;J模式地址/數(shù)據(jù)線復(fù)用;C模式與J模式差別不大,但地址/數(shù)據(jù)線非復(fù)用,更符合連接習慣。本設(shè)計采用C模式。
PCI9054的數(shù)據(jù)傳輸模式可分為主模式、從模式、DMA模式。模式的選擇主要根據(jù)硬件設(shè)計者對硬件的設(shè)計需要而定。本系統(tǒng)采用DMA模式,在DMA傳輸模式下,PCI9054既是PCI端的主控方,又是局部端的主控方。

    PCI9054集成了兩個互相獨立的DMA通道,每個通道都支持Block DMA和Scatter/Gather DMA,其中通道0還支持請求(Demand) DMA傳輸方式。當有通道進行DMA傳輸時,DMA控制器將發(fā)起對局部總線和PCI總線操作,其傳輸過程如圖2所示。


                      圖2 DMA傳輸過程


    PCI9054提供了三個物理總線接口:PCI總線接口、EEPROM接口、局部總線接口。PCI總線接口依照PCI擴展板上定義的引腳分配情況將彼此對應(yīng)的信號連接在一起即可。本系統(tǒng)采用的EEPROM為4K、3.3V串行的93LC66B,通過對PCI時鐘分頻來產(chǎn)生EEPROM時鐘,內(nèi)部存放PCI9054的配置信息,系統(tǒng)加電時PCI9054自動加載EEPROM中的配置信息,并由BIOS通過PCI總線對配置寄存器讀寫,來完成各種控制功能。接口電路如圖3所示。


           圖3 PCI9054與EEPROM的接口


    PCI9054在DMA傳輸方式下,通過設(shè)置其DMA控制器內(nèi)部的寄存器即可實現(xiàn)兩總線之間的數(shù)據(jù)傳送。傳輸過程由以下幾個步驟實現(xiàn):
1. 設(shè)置傳輸方式寄存器:通過寄存器DMA MODE0或DMA MODE1的位9來設(shè)置DMA通道的傳輸方式,置0表示Block傳輸,置1表示Scatter/Gather傳輸;
2. 設(shè)置命令/狀態(tài)寄存器:啟動/停止DMA操作,并讀此寄存器返回DMA狀態(tài);
3. 設(shè)置描述寄存器:設(shè)置DMA的傳輸方向;
4. 設(shè)置傳輸計數(shù)寄存器:以字節(jié)為單位設(shè)置傳輸數(shù)據(jù)量;
5. 設(shè)置PCI地址寄存器:設(shè)置PCI總線側(cè)的地址空間;
6. 設(shè)置局部地址寄存器:設(shè)置局部總線側(cè)的地址空間。

    當進行數(shù)據(jù)采集時,由應(yīng)用程序或通過DSP的外部引腳(pin21)向DSP發(fā)出采集命令,同時復(fù)位FIFO,在DSP內(nèi)部程序和CPLD的控制下,數(shù)據(jù)經(jīng)D0-31源源不斷地輸入到FIFO中,當FIFO半滿時發(fā)出半滿標志信號(HF#),CPLD接到半滿信號后,立即向PCI9054發(fā)出中斷請求信號(LINT),驅(qū)動程序響應(yīng)中斷,在中斷響應(yīng)程序內(nèi),發(fā)出讀命令、要讀取的字節(jié)數(shù)、傳輸方向、地址信號等,PCI9054 設(shè)定“DMA傳輸開始位”啟動數(shù)據(jù)傳輸,當ADS#為低(有效),BLAST為高(無效),LW/R為低(有效)時,表明PCI9054開始一個有效的讀數(shù)據(jù)周期,CPLD產(chǎn)生一個低電平信號REN#給FIFO,同時作為Ready信號返回給PCI9054,表明已準備就緒。直到ADS#為高(無效)且BLAST#為低(有效)時,表明PCI9054已經(jīng)開始最后一個周期, 同時設(shè)定DMA“傳輸結(jié)束位”結(jié)束DMA操作,此時REN#信號再次變高電平(無效),完成一次數(shù)據(jù)突發(fā)傳輸。接口電路如圖4所示。


               圖4 PCI9054接口控制原理圖

PCI驅(qū)動程序設(shè)計
    該系統(tǒng)的軟件設(shè)計主要包括DSP測控程序、PCI設(shè)備驅(qū)動程序和Windows應(yīng)用程序三個部分。驅(qū)動程序是連接硬件系統(tǒng)和應(yīng)用程序的橋梁,是整個測控系統(tǒng)開發(fā)中的關(guān)鍵一步。在此簡單介紹一下PCI設(shè)備驅(qū)動程序開發(fā)過程。

    在Windows環(huán)境下共有三種類型的驅(qū)動程序,分別是VXD、NT、WDM。因為WDM可以應(yīng)用在windows98/2000/XP下,支持即插即用、電源管理、WMI等功能,是Windows NT驅(qū)動體系基礎(chǔ)上發(fā)展起來的未來主流驅(qū)動程序體系,所以為這里選擇設(shè)計WDM驅(qū)動程序。

    開發(fā)工具選擇Compuware公司提供的DriverStudio完成驅(qū)動程序的開發(fā),DriverWorks是DriverStudio中的一個部分,DriverWorks中的類庫封裝了針對驅(qū)動程序的各種通用操作,使用其中的DriverWizard向?qū)Чδ?,能夠非常方便地實現(xiàn)WDM驅(qū)動程序的開發(fā),

    其中PCI配置空間的訪問采用KPciConfiguration實現(xiàn)。I/O訪問采用DriverStudio中的KIoRange類實現(xiàn)。硬件中斷響應(yīng)的處理可以采用Kinterrupt類實現(xiàn)。DMA讀主要是利用三個類來實現(xiàn)數(shù)據(jù)傳輸,分別為:KDmaTransfer、KdmaAdapter和KCommonDmaBuffer。KDmaTransfer用于DMA傳輸控制。KdmaAdapter用于建立一個DMA適配器來說明DMA通道的特性。 KCommonDmaBuffer用于申請系統(tǒng)提供的公用緩沖區(qū)。

    執(zhí)行過程中驅(qū)動程序首先設(shè)置PCI9054的工作方式和中斷寄存器、DMA配置寄存器,然后等待本地中斷的到來。當FIFO半滿時表明本地中斷到來,在設(shè)備成員函數(shù)Isr_Irq()中屏蔽本地中斷,在設(shè)備成員函數(shù)DpcFor_Irq()中調(diào)用KDmaTransfer:: Continue()函數(shù)進行DMA傳輸。一次數(shù)據(jù)傳輸完畢后,驅(qū)動程序通過操作系統(tǒng)將內(nèi)核中的數(shù)據(jù)拷貝到用戶態(tài)內(nèi)存,交給應(yīng)用軟件處理。

結(jié)語
    在實驗室中利用PCI9054作為接口芯片的高速測控系統(tǒng),可實現(xiàn)持續(xù)數(shù)據(jù)傳輸速率達50MB/s,且系統(tǒng)運行穩(wěn)定,具有廣泛的應(yīng)用前景。

參考文獻
1.劉和平,張衛(wèi)寧.TMS320LF/LC24系列DSP的CPU與外設(shè)[M].北京:清華大學(xué)出版社,2004.
2.申江云,寧 濱.一種實時的交通信息采集處理系統(tǒng)的設(shè)計與實現(xiàn)[J].微計算機信息,2005(11):62-64.
3.李貴山,陳金鵬.PCI局部總線及其應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2003.
4.PLX Technology Inc.PCI9054 Data Book[OL].美國:PLX公司.2000.
5.武安河.Windows 2000/XP WDM設(shè)備驅(qū)動程序開發(fā)[M].北京:電子工業(yè)出版社,2005.

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉