多路實(shí)時(shí)數(shù)字音頻系統(tǒng)中的PCI通信
出處:不會(huì)就問(wèn) 發(fā)布于:2007-05-26 10:42:50
| 1 引言
多路實(shí)時(shí)數(shù)字音頻系統(tǒng)采用TI公司的TMS320C5402數(shù)字信號(hào)處理芯片來(lái)實(shí)現(xiàn),由于該系列芯片采用了改進(jìn)的哈佛結(jié)構(gòu),擁有專用的硬件乘法器和專為數(shù)字信號(hào)處理而設(shè)計(jì)的指令系統(tǒng),快速的指令周期和良好的多DSP并行運(yùn)行特性,使得DSP芯片非常適合于實(shí)時(shí)數(shù)字信號(hào)處理,廣泛應(yīng)用于無(wú)線通信、語(yǔ)音識(shí)別、工業(yè)控制、自動(dòng)化儀器等領(lǐng)域。該系統(tǒng)用 2 WindOWS管理體系 Win98體系結(jié)構(gòu)支持4種基本程序:管理程序、win32應(yīng)用程序、winl6應(yīng)用程序和DOS應(yīng)用程序,每種程序在不同的執(zhí)行環(huán)境中運(yùn)行。(1)管理程序在Ring0層(態(tài))中的保護(hù)模式下運(yùn)行,所以能訪問(wèn)和控制實(shí)際硬件環(huán)境,管理程序是在實(shí)際機(jī)器上,而不是在虛擬機(jī)上運(yùn)行,在所有構(gòu)成win98的組件中,只有VMM和驅(qū)動(dòng)程序在管理程序的環(huán)境中執(zhí)行,可以直接對(duì)硬件進(jìn)行操作。(2)Win32應(yīng)用程序和Winl6應(yīng)用程序都在Ring3層(用戶態(tài))的保護(hù)模式下運(yùn)行,Win32應(yīng)用程序可以訪問(wèn)4GB的虛擬內(nèi)存,而Winl6應(yīng)用程序只能訪問(wèn)16MB的虛擬內(nèi)存。(3)DOS應(yīng)用程序運(yùn)行在V86模式下,它也運(yùn)行在Ring3層的訪問(wèn)級(jí)別上,硬件訪問(wèn)和中斷被隱藏和虛擬,該系統(tǒng)編寫(xiě)的是32位應(yīng)用程序,它運(yùn)行在虛擬環(huán)境之下,它對(duì)I/o端口的查詢,對(duì)一個(gè)內(nèi)存映射的外圍設(shè)備的查詢以及可能導(dǎo)致傳送到虛擬機(jī)之外的操作都會(huì)被Windows捕獲,所以其本身并不能直接訪問(wèn)硬件和系統(tǒng)數(shù)據(jù),而需要通過(guò)驅(qū)動(dòng)程序來(lái)完成。
3 設(shè)備內(nèi)存映射方法 盡管驅(qū)動(dòng)程序運(yùn)行在層,但它所見(jiàn)的是平面內(nèi)存,只能用線性地址進(jìn)行訪問(wèn)。所有驅(qū)動(dòng)程序?qū)?nèi)存的訪問(wèn)都必須經(jīng)過(guò)頁(yè)表將線性地址轉(zhuǎn)換成物理地址。因此,驅(qū)動(dòng)程序在訪問(wèn)一個(gè)特殊的內(nèi)存映射硬件之前,必須先配置頁(yè)表,保證設(shè)備的物理地址與一個(gè)線性地址相聯(lián)系。這個(gè)線性地址可以用作指針。驅(qū)動(dòng)程序不能控制頁(yè)表,它必須調(diào)用虛擬機(jī)管理器提供的服務(wù)。 (1)使用PageReserve()函數(shù),分配一塊線性地址空間。此空間并不和具體的物理地址相關(guān)聯(lián),僅是線性地址的頁(yè)表進(jìn)入項(xiàng)。 4 PCI配置寄存器訪問(wèn) 根據(jù)PCI總線規(guī)范要求,任何PCI設(shè)備都必須提供256字節(jié)的配置空間,用來(lái)完成對(duì)設(shè)備的安裝、配置、引導(dǎo)和設(shè)備再定位等功能。在該系統(tǒng)中要求將HPI控制標(biāo)志和狀態(tài)寄存器以及HPI控制空間映射到PC機(jī)內(nèi)存,所以必須對(duì)PCI2040配置寄存中的命令寄存器進(jìn)行修改,從而實(shí)現(xiàn)設(shè)備內(nèi)存映射。這需要通過(guò)32位配置地址端口(占用IO地址OxOcf8~OxOcfb)和32位配置數(shù)據(jù)端口(占用IO地址OxOcfc~OxOcff)訪問(wèn)PCI配置寄存器。其中位于0xcf8的IO端口的寄存器相當(dāng)于一個(gè)地址寄存器,位于0xcfc端口的寄存器相當(dāng)于數(shù)據(jù)寄存器。配置數(shù)據(jù)端口中存放著配置地址端口中的配置地址所指向的內(nèi)存的內(nèi)容。配置地址端口寄存
因?yàn)镻CI設(shè)備的總線號(hào)和PCI2040的功能號(hào)一般為0,所以只需變化設(shè)備號(hào)來(lái)尋找硬件的位置。圖2是基于Vtoolsd使用VC++6.0具體對(duì)PCI配置寄存器的訪問(wèn)程序框圖。
PCI2040橋控制器可方便實(shí)現(xiàn)一個(gè)PCI插槽與4片C54x或C6x系列的DSP之間的通信,它提供了兩種數(shù)據(jù)傳輸?shù)姆绞剑阂皇峭ㄟ^(guò)HPI口傳輸,另一種是通過(guò)GPBUS總線傳輸。其中GPBUS總線傳輸方式比較簡(jiǎn)單但傳輸速率低,通過(guò)HPI口的傳輸可以實(shí)現(xiàn)高速的數(shù)據(jù)通信,所以在該系統(tǒng)中采用了HPI口傳輸?shù)耐ㄐ欧绞?。Win98先獲取HPI寄存器的物理地址進(jìn)行映射,然后用映射得到的線性地址就可以對(duì)HPI口進(jìn)行訪問(wèn)。
6 驅(qū)動(dòng)、應(yīng)用及DSP程序的設(shè)計(jì) 6.1 總體設(shè)計(jì)思想
應(yīng)用程序要調(diào)用驅(qū)動(dòng)程序來(lái)完成兩件事,一是獲取DSP采集的數(shù)據(jù),二是將自己的數(shù)據(jù)發(fā)送給DSP。應(yīng)用程序整體功能框架如圖4。
應(yīng)用程序只需通過(guò)CreateFile()函數(shù)來(lái)加載驅(qū)動(dòng)程序,加載成功之后,應(yīng)用程序就可以通過(guò)調(diào)用Devi-ceIoControl()函數(shù)與驅(qū)動(dòng)程序通信。 6.3 驅(qū)動(dòng)程序設(shè)計(jì) 驅(qū)動(dòng)程序在系統(tǒng)中起紐帶作用,它響應(yīng)DSP中斷,并向DSP發(fā)送中斷,傳送或讀取數(shù)據(jù)給應(yīng)用程序。 6.3.1 響應(yīng)DSP硬件中斷 BOOL MyHwInt::OnSharedHardwareInt(VMHANDLE hVM) { //準(zhǔn)備接受下中斷。 } 6.3.2 與應(yīng)用程序通信
DSP程序?qū)崿F(xiàn)多路數(shù)字音頻信號(hào)實(shí)時(shí)處理,通過(guò)對(duì)定時(shí)器和Maxl25CEAX芯片的設(shè)置,實(shí)現(xiàn)采樣率可以變化的多路輸入輸出,通過(guò)向PC機(jī)發(fā)送中斷和響應(yīng)中斷,實(shí)現(xiàn)PC機(jī)保存數(shù)據(jù)和實(shí)時(shí)處理數(shù)據(jù)。DSP在內(nèi)存中開(kāi)設(shè)兩個(gè)數(shù)據(jù)區(qū),數(shù)據(jù)存放在兩個(gè)數(shù)據(jù)區(qū)中交替進(jìn)行。DSP的運(yùn)行框架如圖6。
多路數(shù)字音頻系統(tǒng)已經(jīng)調(diào)試通過(guò),并成功地在盲源信號(hào)實(shí)時(shí)分離系統(tǒng)中獲得應(yīng)用。利用TMS320C54x系列DSP的實(shí)時(shí)信號(hào)處理能力,實(shí)現(xiàn)PC機(jī)與DSP通信在多路實(shí)時(shí)數(shù)字音頻系統(tǒng)、智能機(jī)器人等領(lǐng)域中有廣闊的應(yīng)用前景。 | |||||||
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- ASK 解調(diào)的核心要點(diǎn)與實(shí)現(xiàn)方式2025/9/5 16:46:17
- 雙偶極子天線:結(jié)構(gòu)、特性與應(yīng)用全解析2025/9/3 10:29:21
- 幾種流行無(wú)線通信方式及其特點(diǎn)2025/9/2 17:14:12
- 解密射頻線纜彎曲衰減變化,掌握有效應(yīng)對(duì)策略2025/8/29 16:22:47
- LoRa1120 模塊與 ESP32 點(diǎn)對(duì)點(diǎn) LoRa 通信實(shí)踐全流程2025/8/29 16:16:44
















