當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化

  引言

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

  測(cè)控系統(tǒng)的硬件組成

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

  DSP測(cè)控模塊介紹

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

  先進(jìn)先出存儲(chǔ)器

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

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

  控制邏輯芯片CPLD

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

  PCI9054及外部接口分析

  PCI與板載CPU的橋接有兩種設(shè)計(jì)方案,一種是采用FPGA,通過(guò)軟件編程實(shí)現(xiàn)硬件功能。另一種是利用專用PCI橋接芯片,適合快速開發(fā)的場(chǎng)合。

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

  PCI9054局部總線可工作在M、J、C三種模式,M模式是專門為Motorola公司的 MPC850和MPC860提供直接非復(fù)用的接口;J模式地址/數(shù)據(jù)線復(fù)用;C模式與J模式差別不大,但地址/數(shù)據(jù)線非復(fù)用,更符合連接習(xí)慣。本設(shè)計(jì)采用C模式。

  PCI9054的數(shù)據(jù)傳輸模式可分為主模式、從模式、DMA模式。模式的選擇主要根據(jù)硬件設(shè)計(jì)者對(duì)硬件的設(shè)計(jì)需要而定。本系統(tǒng)采用DMA模式,在DMA傳輸模式下,PCI9054既是PCI端的主控方,又是局部端的主控方。

  PCI9054集成了兩個(gè)互相獨(dú)立的DMA通道,每個(gè)通道都支持Block DMA和Scatter/(3ather DMA,其中通道0還支持請(qǐng)求(Demand)DMA傳輸方式。當(dāng)有通道進(jìn)行DMA傳輸時(shí),DMA控制器將發(fā)起對(duì)局部總線和PCI總線操作,其傳輸過(guò)程如圖2所示。   PC219054提供了三個(gè)物理總線接口:PCI總線接口、EEPROM接口、局部總線接口。PCI總線接口依照PCI擴(kuò)展板上定義的引腳分配情況將彼此對(duì)應(yīng)的信號(hào)連接在一起即可。本系統(tǒng)采用的EEPROM為4K、3.3V串行的93LC66B,通過(guò)對(duì)PCI時(shí)鐘分頻來(lái)產(chǎn)生EEPROM時(shí)鐘,內(nèi)部存放PCI9054的配置信息,系統(tǒng)加電時(shí)PCI9054自動(dòng)加載EEPROM中的配置信息,并由BIOS通過(guò)PCI總線對(duì)配置寄存器讀寫,來(lái)完成各種控制功能。接口電路如圖3所示。

  PCI9054在DMA傳輸方式下,通過(guò)設(shè)置其DMA控制器內(nèi)部的寄存器即可實(shí)現(xiàn)兩總線之間的數(shù)據(jù)傳送。傳輸過(guò)程由以下幾個(gè)步驟實(shí)現(xiàn):

  1.設(shè)置傳輸方式寄存器:通過(guò)寄存器DMA MODE0或DMAMODE1的位9來(lái)設(shè)置DMA通道的傳輸方式,置0表示Block傳輸,置1表示Scatter/Gather傳輸;

  2.設(shè)置命令/狀態(tài)寄存器:?jiǎn)?dòng)/停止DMA操作,并讀此寄存器返回DMA狀態(tài);

  3.設(shè)置描述寄存器:設(shè)置DMA的傳輸方向;

  4.設(shè)置傳輸計(jì)數(shù)寄存器:以字節(jié)為單位設(shè)置傳輸數(shù)據(jù)量;

  5.設(shè)置PCI地址寄存器:設(shè)置PCI總線側(cè)的地址空問(wèn);

  6.設(shè)置局部地址寄存器:設(shè)置局部總線側(cè)的地址空間。 當(dāng)進(jìn)行數(shù)據(jù)采集時(shí),由應(yīng)用程序或通過(guò)DSP的外部引腳(pi

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

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

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

  開發(fā)工具選擇Compuware公司提供的DriverStudio完~成驅(qū)動(dòng)程序的開發(fā),DriverWorks是DriverStudio中的一個(gè)部分,DriverWorks中的類庫(kù)封裝了針對(duì)驅(qū)動(dòng)程序的各種通用操作,使用其中的DriverWizard向?qū)Чδ埽軌蚍浅7奖愕貙?shí)現(xiàn)WDM驅(qū)動(dòng)程序的開發(fā)。

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

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

  結(jié)語(yǔ)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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