DSP與PC機(jī)的無線交換調(diào)制模塊設(shè)計(jì)
1 引言
DSP作為可編程數(shù)字信號(hào)處理專用芯片是微型計(jì)算機(jī)發(fā)展的一個(gè)重要分支,也是數(shù)字信號(hào)處理理論實(shí)用化過程中的重要技術(shù)工具。隨著微電子技術(shù)和數(shù)字信號(hào)處理技術(shù)的迅速發(fā)展,DSP的性能價(jià)格比不斷提高,正在受到業(yè)界越來越廣泛的關(guān)注。尤其是在科學(xué)技術(shù)發(fā)展的今天,各種智能化系統(tǒng)的結(jié)構(gòu)和控制算法越來越復(fù)雜,單純依靠PC機(jī)和單片機(jī)組成的計(jì)算機(jī)控制系統(tǒng)結(jié)構(gòu)的設(shè)計(jì)格局正在逐漸發(fā)生變化,以局部高速信息處理和全局PC控制的復(fù)雜計(jì)算機(jī)控制系統(tǒng)以及以高速DSP為核心的具有復(fù)雜計(jì)算和控制的嵌入式控制系統(tǒng)設(shè)計(jì)電路正在逐漸興起。
2 系統(tǒng)設(shè)計(jì)方案
本系統(tǒng)的設(shè)計(jì)任務(wù)就是實(shí)現(xiàn)計(jì)算機(jī)上數(shù)據(jù)的無線傳輸,其關(guān)鍵技術(shù)在于計(jì)算機(jī)同DSP的數(shù)據(jù)交換以及數(shù)據(jù)的編碼調(diào)制。這里,采用的糾錯(cuò)編碼方式為與交織結(jié)合的戈萊碼編碼方式,調(diào)制方式為4FTSK。但是,與傳統(tǒng)方法不同的是,該系統(tǒng)的數(shù)據(jù)交換是通過計(jì)算機(jī)的PCI總線來實(shí)現(xiàn)的,并且4FTSK的調(diào)制是通過DSP用數(shù)字合成頻率的方法實(shí)現(xiàn)的。同時(shí),考慮到系統(tǒng)的可再開發(fā)性,模塊集成了調(diào)制和解調(diào)模塊。系統(tǒng)核心框圖如圖1所示。
圖1 系統(tǒng)核心框圖
3 系統(tǒng)硬件設(shè)計(jì)
3.1 系統(tǒng)硬件原理
系統(tǒng)的硬件原理框圖如圖2所示。系統(tǒng)選用TI公司的TMS320C5402作為處理芯片,PCI2040作為PCI接U芯片,利用DSP的HPI接口實(shí)現(xiàn)計(jì)算機(jī)和插卡之間的數(shù)據(jù)交換。同時(shí),還選用高速的RAM, EPROM作為擴(kuò)展數(shù)據(jù)、程序存儲(chǔ)器。DSP接收到計(jì)算機(jī)的數(shù)據(jù)后,根據(jù)數(shù)據(jù)存儲(chǔ)器里預(yù)先開辟的作為數(shù)字合成頻率正弦表的一塊內(nèi)存實(shí)現(xiàn)FTSK的調(diào)制,并利用并行數(shù)模轉(zhuǎn)換芯片CA3338將FTSK調(diào)制數(shù)據(jù)轉(zhuǎn)變?yōu)槟M信號(hào)并通過放大器進(jìn)行放大。這樣,就完成了計(jì)算機(jī)輸入數(shù)據(jù)的調(diào)制。為了保證系統(tǒng)的可靠性,采用MAX814作為看門狗電路。此外,選用一片CPLD對(duì)芯片進(jìn)行邏輯控制,這樣,增強(qiáng)了系統(tǒng)的可擴(kuò)展性。
圖2 系統(tǒng)硬件結(jié)構(gòu)圖
3.2 硬件抗干擾設(shè)計(jì)
由于DSP是高速器件,因此在設(shè)計(jì)本系統(tǒng)的電路板時(shí)面臨著電磁干擾(EMI)的問題。印制電路板的抗干擾設(shè)計(jì)對(duì)PCB的電磁兼容性影響很大,為了使PCB上的電路正常工作,本系統(tǒng)采取了以下措施:1) 加粗電源線寬度,減少環(huán)路電阻。同時(shí),使電源線、地線的走向和數(shù)據(jù)傳遞的方向一致,這樣有助于增強(qiáng)抗噪聲能力;2) 數(shù)字地與模擬地分開,接地線盡量加粗, 接地線構(gòu)成閉環(huán)路;3) 配置去耦電容可以抑制因負(fù)載變化而產(chǎn)生的噪聲,這是印制電路板的可靠性設(shè)計(jì)的一種常規(guī)做法;4) 對(duì)于DSP閑置的I/O口,不要懸空,接地或接電源,對(duì)DSP使用看門狗電路,盡量降低DSP的晶振和選用低速數(shù)字電路。[!--empirenews.page--]
4 系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)
在系統(tǒng)的設(shè)計(jì)上,比較關(guān)鍵的技術(shù)是:DSP同計(jì)算機(jī)之間通過HPI接口和PCI總線進(jìn)行數(shù)據(jù)交換、根據(jù)數(shù)字合成頻率的方法利用DSP實(shí)現(xiàn)數(shù)據(jù)的調(diào)制、上位機(jī)軟件實(shí)現(xiàn)數(shù)據(jù)的編碼交織、DSP的匯編程序設(shè)計(jì)和PCI接口卡驅(qū)動(dòng)程序設(shè)計(jì)。
4.1 DSP同計(jì)算機(jī)數(shù)據(jù)交換的實(shí)現(xiàn)
DSP同計(jì)算機(jī)之間的數(shù)據(jù)交換有很多種方法:串口、并口、I/O接口還有HPI接口。為了方便并且快速的實(shí)現(xiàn)數(shù)據(jù)交換,在本系統(tǒng)中,采用TMS320C5402的HPI接口與計(jì)算機(jī)的PCI總線進(jìn)行數(shù)據(jù)交換。
TMS320C5402是在類別上屬于TMS320C54x系列DSP。它由中央處理單元(CPU)、總線、存儲(chǔ)器、片內(nèi)外設(shè)、以及外部總線接日等部分組成。TMS320C5402的外設(shè)有:軟件可編程等待狀態(tài)發(fā)件二器,有可編程的塊切換等待狀態(tài);增強(qiáng)型的8位主機(jī)接口(HPI8 );兩個(gè)硬件定時(shí)器;擁有鎖相環(huán)(PLL)的時(shí)鐘發(fā)生器;一個(gè)直接存儲(chǔ)器(DMA)控制器;兩個(gè)多通道緩沖串行!l(McBSPs)等。HPI接口是一個(gè)8位并行口,用來與主設(shè)備或主處理器接口。TMS320C5402采用增強(qiáng)型主機(jī)接口。此主機(jī)接口同標(biāo)準(zhǔn)型主機(jī)接日相比主要區(qū)別在于:增強(qiáng)型可以訪問整個(gè)片內(nèi)RAM。
在本系統(tǒng)中,PCI接口芯片選用TI公司的PCI2040。PCI2040可以實(shí)現(xiàn)8位HPI接口的TMS320C54X系列與高性能的PCI總線之間無縫連接的DSP-PCI橋。PCI2040提供了幾個(gè)外部接口:
PCI總線接口:PCI2040提供了與PCI總線規(guī)范完全兼容的32位總線接口。這些總線接口可以實(shí)現(xiàn)配置寄存器讀寫,內(nèi)部存儲(chǔ)器訪問,并可以通過存儲(chǔ)器映射空間訪問HPI接口。
HPI接口:PCI2040的HPI接口用于訪問TMS320C54X或TMS320C6X。連接到HPI接口的設(shè)備以存儲(chǔ)器映射的方式映射到卞機(jī)存儲(chǔ)區(qū)內(nèi)。主機(jī)通過訪問PCI2040訪問HPI接口。
4.2 利用DSP實(shí)現(xiàn)數(shù)據(jù)的調(diào)制
由于本設(shè)計(jì)的調(diào)制主要是利用軟件與硬件結(jié)合的方法實(shí)現(xiàn),并且力求產(chǎn)生的信號(hào)精確,故系統(tǒng)選用了高速D/A(CA3338)轉(zhuǎn)換芯片,用匯編語(yǔ)言編程實(shí)現(xiàn)調(diào)制信號(hào)輸出。
4.2.1 硬件連接圖
調(diào)制的硬件電路如圖3所示。TMS320C5402的IOSTRB和IS相或后作為CA3338的片選信號(hào),通過數(shù)據(jù)總線將數(shù)據(jù)送到CA3338中,D/A轉(zhuǎn)換后模擬信號(hào)經(jīng)過運(yùn)算放大器后輸出。
圖3 DSP同D/A轉(zhuǎn)換芯片的連接圖
4.2.2 DSP調(diào)制程序設(shè)計(jì)
原始數(shù)據(jù)在DSP中進(jìn)行FTSK調(diào)制,它是通過DSP的軟件編程利用DDS(數(shù)字合成頻率)的原理實(shí)現(xiàn)的。
1 實(shí)現(xiàn)方法。DDS(直接數(shù)字頻率合成)技術(shù)是一種把一系列數(shù)字量形式的信號(hào)通過DAC轉(zhuǎn)換成模擬量形式的信號(hào)的合成技術(shù)。目前使用最廣泛的一種DDS方式是利用高速存儲(chǔ)器作查尋表,然后通過高速DAC產(chǎn)生已經(jīng)用數(shù)字形式存入的正弦波。在本系統(tǒng)中,首先,在DSP內(nèi)部ROM開辟一段存儲(chǔ)空間作為一個(gè)周期的正弦波抽樣點(diǎn)存儲(chǔ)器。通過軟件對(duì)該存儲(chǔ)器進(jìn)行相位一幅值的轉(zhuǎn)換,從而在給定的時(shí)間確定相應(yīng)的輸出幅值。發(fā)送一個(gè)周期的正弦波流程圖如圖4所示。
2 4FTSK信號(hào)的產(chǎn)生及輸出。4FTSK信號(hào)包含4個(gè)頻率的波形,因此先根據(jù)不同的頻率,計(jì)算出相應(yīng)的采樣率,編寫產(chǎn)生這四個(gè)頻率正弦波的子程序。在主程序中,判斷要調(diào)制的碼元,決定發(fā)送的4個(gè)頻率的順序。在本系統(tǒng)中,頻率與碼元的對(duì)應(yīng)關(guān)系如表1所示(fl:800; f2:1200; f3:1600; f4: 2000)
表1 頻率與碼元對(duì)應(yīng)關(guān)系[!--empirenews.page--]
圖4 發(fā)送一個(gè)頻率的正弦波流程圖
信號(hào)最終是通過r/o u輸出到D/A轉(zhuǎn)換芯片中實(shí)現(xiàn)從數(shù)字量到模擬量的轉(zhuǎn)換。再經(jīng)過低通濾波之后,便可得到頻率純凈的模擬信號(hào)。
3信號(hào)的測(cè)試、分析。由于4FTSK信號(hào)的解調(diào)需要調(diào)制信號(hào)的精度很高,因此設(shè)計(jì)了測(cè)試電路測(cè)試發(fā)送信號(hào)的精確度。測(cè)量方法:通過控制輸入計(jì)數(shù)頻率值,來測(cè)量調(diào)制期間的時(shí)間長(zhǎng)度,發(fā)送數(shù)據(jù)的長(zhǎng)度是等于計(jì)數(shù)頻率的周期值X計(jì)數(shù)值,即計(jì)數(shù)值除以頻率值。
4.2.3 上位機(jī)軟件實(shí)現(xiàn)編碼及交織
對(duì)于本系統(tǒng)而言,在信道中傳輸中所引起的多次突發(fā)錯(cuò)誤,對(duì)一個(gè)碼組來說,碼組中的差錯(cuò)完全可以看作是獨(dú)立的。因而在計(jì)算輸出誤碼率時(shí),就可以按反映隨機(jī)信道錯(cuò)誤分布的二進(jìn)制對(duì)稱信道(BSC)模型計(jì)算。在BSC模型中,傳輸“1”和“0”兩種信息,其傳輸錯(cuò)誤的概率相同,均為Pe,傳輸正確的概率為1-Pe, Pe稱為信道誤碼率。在BSC下,傳輸長(zhǎng)度為n的碼組時(shí),正好出現(xiàn)m個(gè)差錯(cuò)的概率為
(1)
碼組內(nèi)出現(xiàn)≧m個(gè)差錯(cuò)的概率為
2)
在本系統(tǒng)中,交織度為144,所使用差錯(cuò)控制碼為Golay (23,12)碼,可糾3位錯(cuò)碼,因此根據(jù)上式,可得誤碼率為
(3)
4.2.4 DSP的匯編程序設(shè)計(jì)
DSP的匯編程序設(shè)計(jì)包括兩部分:系統(tǒng)的ROOT程序設(shè)計(jì)以及主程序設(shè)計(jì)。主程序主要是對(duì)寄存器的初始化。
4.2.5 PCI接口卡驅(qū)動(dòng)程序設(shè)計(jì)
在設(shè)計(jì)和使用PCI設(shè)備時(shí),經(jīng)常要在PC機(jī)的軟件中訪問和控制硬件設(shè)備為了保證系統(tǒng)的安全性、穩(wěn)定性和可移植性,對(duì)應(yīng)用程序訪問硬件資源加以限制,這就要求設(shè)計(jì)設(shè)備驅(qū)動(dòng)程序以實(shí)現(xiàn)PC機(jī)的軟件對(duì)PCI設(shè)備的訪問。硬件設(shè)備驅(qū)動(dòng)程序的基本功能就是完成設(shè)備的初始化、對(duì)端口的讀寫操作以及對(duì)內(nèi)存的直接讀寫。
5 本文作者創(chuàng)新點(diǎn)
在用單片機(jī)實(shí)現(xiàn)的基礎(chǔ)上,本文提出了以TMS320C5402為主控制器的無線數(shù)據(jù)調(diào)制模塊的實(shí)現(xiàn)方法,并對(duì)其具體實(shí)現(xiàn)包括硬件及軟件做了比較全面的介紹??梢钥闯?在速度、精度等很多方面DSP系統(tǒng)都優(yōu)于單片機(jī)系統(tǒng),而且DSP利用HPI 口和PCI總線,極大的方便了主機(jī)與DSP系統(tǒng)的數(shù)據(jù)交換。該系統(tǒng)靈活、簡(jiǎn)單,是一種比較先進(jìn)的技術(shù),具有一定的理論和實(shí)踐意義。