摘要:介紹一種基于DSP和PCI總線的移動(dòng)通信數(shù)據(jù)采集系統(tǒng)。提出了一種雙映射方式,成功地解決了DSP的主機(jī)通信接口(host port interface,簡(jiǎn)稱HPI口)和PCI9052之間的通信連接。
關(guān)鍵詞:數(shù)字信號(hào)處理器 數(shù)據(jù)采集 PCI總線
隨著移動(dòng)通信突飛猛進(jìn)的發(fā)展,移動(dòng)通信的數(shù)據(jù)業(yè)務(wù)量急劇上升,監(jiān)控大容量的移動(dòng)數(shù)據(jù)業(yè)務(wù)成了電信運(yùn)營(yíng)商刻不容緩的需求。而移動(dòng)通信數(shù)據(jù)的傳輸一般都是基于E1鏈路。因此從E1鏈路上采集通信數(shù)據(jù)成了移動(dòng)數(shù)據(jù)業(yè)務(wù)監(jiān)控最基礎(chǔ)的一部分。
數(shù)字信號(hào)處理器能夠高速地處理數(shù)據(jù)并具有強(qiáng)大的數(shù)字吞吐能力,
在數(shù)據(jù)采集領(lǐng)域獲得了廣播的應(yīng)用。而PCI總線也因?yàn)闃O高的數(shù)據(jù)傳輸效率、與處理器無關(guān)、能支持多個(gè)外設(shè)等獨(dú)特性能,逐漸成為數(shù)據(jù)采集領(lǐng)域微機(jī)總線的主流。本文中的采集系統(tǒng)就是運(yùn)用TI公司的TMS320C5410高速定點(diǎn)DSP和PLX公司的PCI9052 PCI總線接口芯片來搭建的。
1 系統(tǒng)功能概述
根據(jù)實(shí)際應(yīng)用析需要,系統(tǒng)的主要功能有:
(1)可以同時(shí)采集處理一條E1鏈路上所有32個(gè)時(shí)際的數(shù)據(jù);
(2)對(duì)數(shù)據(jù)進(jìn)行鏈路層協(xié)議解包后,重新打包茂特定的格式,交給上層系統(tǒng)(PC機(jī))保存或進(jìn)一步處理。對(duì)鏈路數(shù)據(jù)狀態(tài)和采集的統(tǒng)計(jì)信息進(jìn)行監(jiān)測(cè),定時(shí)生成報(bào)表,交給上層系統(tǒng)實(shí)時(shí)顯示;
(3)系統(tǒng)應(yīng)具有盡量大的軟件升級(jí)功能和靈活性,便于系統(tǒng)提高性能或者應(yīng)用于其他通信業(yè)務(wù)數(shù)據(jù)的采集。
本系統(tǒng)的設(shè)計(jì)難點(diǎn)主要是如何實(shí)現(xiàn)DSP與PCI9052之間高效率的數(shù)據(jù)通信。如果PCI9052和數(shù)據(jù)采集芯片共用一條總線,勢(shì)必會(huì)造成數(shù)據(jù)讀寫上的沖突,影響工作效率,因此在系統(tǒng)中PCI9052通過DSP上專門的高速主機(jī)通用接口(host port interface,以下簡(jiǎn)稱HPI口)和DSP進(jìn)行通信。但是HPI口總線是一個(gè)非常特殊的總線,它采用訪問寄存器的方式來進(jìn)行DSP內(nèi)部數(shù)據(jù)的讀寫,HPI口單純映射到PCI的I/O空間或者存儲(chǔ)器空間,有不可避免的缺點(diǎn)。本文提出了一種雙映射方法,成功地解決了這一問題,實(shí)現(xiàn)了DSP與PCI9052之間方便、高速的數(shù)據(jù)通信。
2 系統(tǒng)的硬件設(shè)計(jì)
整個(gè)硬件系統(tǒng)主要由DSP、PCI總線接口芯片和鏈路數(shù)據(jù)采集芯片組成。
本系統(tǒng)采用TI公司的TMS320C5410(以下簡(jiǎn)稱C5410)DSP,該芯片的特點(diǎn)有[1][2]:
·處理能力可達(dá)到100MIPS;
·采用多總線技術(shù),一條指令可以同時(shí)訪問數(shù)據(jù)和程序空間,具有高度并行性;
·具有改進(jìn)型的8位HPI接口,主機(jī)通過HPI口可以訪問DSP系統(tǒng)的任何一個(gè)存儲(chǔ)器單元,而且外部訪問和DSP內(nèi)部操作相互獨(dú)立,互不干擾;
·軟件可編程的等待狀態(tài)發(fā)生器,可以靈活地用不同速度的器件組建系統(tǒng)。
PCI接口芯片采用PLX公司的PCI9052,它是一款面向低端應(yīng)用的高性能、工作在目標(biāo)模式下的PCI接口芯片。PCI9052的本地總線寬度可以通過編程配置成8位、16位和32位,字節(jié)順序也可編程選擇,它提供了4個(gè)本地地址片選和5個(gè)本地地址空間[3]。這些特征為用戶搭建PCI板卡帶來了極大的方便和靈活性。
數(shù)據(jù)采集芯片采用了PMC公司的PMC4351。它可以同時(shí)采集三個(gè)時(shí)隙上的數(shù)據(jù),可以通過編程選擇采集或輸出T1、E1數(shù)據(jù),支持HDLC協(xié)議,可以進(jìn)行去除CRC標(biāo)志、復(fù)幀標(biāo)志等預(yù)處理,為每小時(shí)隙提供128字節(jié)的發(fā)送FIFO和接收FIFO,有很完善的處理器接口。為了能夠同時(shí)采集一整條E1鏈路上的數(shù)據(jù),本系統(tǒng)采用了11片PMC4351組成鏈路數(shù)據(jù)接口單元。各個(gè)芯片之間的接口利用CPLD來完成,它的可編程性為各個(gè)組成部分之間的控制和通信提供了相當(dāng)大的靈活性,也省去了大量外部電路、保證了硬件的方便調(diào)試和穩(wěn)定工作。
具體的硬件框圖如圖1所示。
3 DSP的HPI接口與PCI9052的連接
C5410上的增強(qiáng)型8位HPI口為上層系統(tǒng)提供了一個(gè)靈活訪問DSP內(nèi)部存儲(chǔ)器的并行數(shù)據(jù)口。上層系統(tǒng)可以通過HPI口自由地讀寫DSP內(nèi)部存儲(chǔ)器中的任何一個(gè)單元。并且C5410為HPI口提供了專門的中斷線,這樣兩個(gè)系統(tǒng)可以通過中斷進(jìn)行控制信息交互。HPI為上層系統(tǒng)的訪問提供了四個(gè)端口,通過這四個(gè)端口上層系統(tǒng)可以讀寫HPI的地址寄存器(HPIA)和控制寄存器(HPIC);通過另外兩個(gè)端口HPIDC和HPIDS來分別連續(xù)和單個(gè)讀寫C5410存儲(chǔ)器中的數(shù)據(jù)。這四個(gè)端口由HCNTL0和HCNTL1來尋址,它們的地址分配如表1所示[2]。
表1
| HCNTL0 | HCNTL1 | 描 述 |
| 0 0 1 1 | 0 1 0 1 | HPIC HPIDC HPIA HPIDS |





