當前位置:首頁 > 通信技術(shù) > 通信技術(shù)
[導(dǎo)讀]無線定位技術(shù)是利用無線信號來判定某一半徑范圍內(nèi)無線信號發(fā)射終端物理位置的一種方法。移動通信網(wǎng)絡(luò)中移動終端的定位方法可分為兩大類:一類是基于手機的定位方法,通過在每個移動終端(如手機)內(nèi)部安裝微型GPS接收器進行定位。

引言 

無線定位技術(shù)是利用無線信號來判定某一半徑范圍內(nèi)無線信號發(fā)射終端物理位置的一種方法。移動通信網(wǎng)絡(luò)中移動終端的定位方法可分為兩大類:一類是基于手機的定位方法,通過在每個移動終端(如手機)內(nèi)部安裝微型GPS接收器進行定位。另一類是基于網(wǎng)絡(luò)的定位方法。這種方法與基于移動終端的定位方法正相反,該方法根據(jù)移動終端發(fā)出的信號到達基站的參數(shù),如到達時間(TOA)參數(shù)、到達角度(DOA)參數(shù)等進行定位?;诰W(wǎng)絡(luò)定位的方法需要用到陣列天線,陣列天線傳感器接收到的無線信號經(jīng)過前端預(yù)處理進行放大、取噪,然后進行模數(shù)轉(zhuǎn)換,最后DSP對接收數(shù)據(jù)進行處理得到方向估計。 

因為TMS320VC5402(以下簡稱C5402)內(nèi)部沒有集成A/D,因此在數(shù)據(jù)采集時需要使用A/D轉(zhuǎn)換芯片,A/D芯片與C5402的接口設(shè)計成為一個重要的問題。為了充分利用C5402所提供的多通道緩沖串口資源,簡化系統(tǒng)設(shè)計,本系統(tǒng)利用兩片C5402來完成四路數(shù)據(jù)采集,大大提高了串口工作效率。TMS320C54x系列DSP芯片只有同步串口,通常只能用于與具有同步通信接口的外設(shè)進行通信。本系統(tǒng)中采用TI公司的的異步通信芯片TL16C550C完成數(shù)據(jù)的串/并、并/串變換,實現(xiàn)DSP與PC機的高速串行通信。本文在實際經(jīng)驗的基礎(chǔ)上,給出了兩片DSP組成的無線定位模擬系統(tǒng),分別介紹了系統(tǒng)中串行A/D TLV1572、異步串行通信芯片TL16C550C的工作原理,同時分析了系統(tǒng)獨立工作的程序裝載原理和可行性。 


系統(tǒng)主要器件和原理介紹 

串行A/D芯片TLV1572 

TLV1572是TI公司生產(chǎn)的高速十位串行A/D轉(zhuǎn)換芯片。TLV1572采用的是8腳的SOIC封裝,如圖1所示。TLV1572所要求提供的供電電壓在3V-5V之間,TLV1572的最小參考電壓為2.7V。在5V供電時,最高轉(zhuǎn)換速度為1.25MSPS,在3V供電時最高轉(zhuǎn)換速度為625KSPS。為了使其達到最大的轉(zhuǎn)換速率,所提供的時鐘分別為20MHz和10MHz。TLV1572可以通過3或4個串行口線直接與DSP或其它數(shù)字微處理器串口相連,不需要外加邏輯,但是轉(zhuǎn)換速度受SCLK供給時鐘的限制。TLV1572與DSP的多通道緩沖串口通過/CS、SCLK、DO和FS四條線相連,此時DSP的CLKR產(chǎn)生移位脈沖,F(xiàn)SR產(chǎn)生幀同步信號,并分別提供給TLV1572。當TLV1572與其它串口微處理器相連接時FS必須提供高電平,通過/CS、SCLK、DO三條線來完成數(shù)據(jù)傳輸。當/CS為高時,A/D芯片各管腳處于三態(tài)狀態(tài)。在/CS由高變低時,TLV1572檢測FS引腳的狀態(tài)來確定工作模式,若FS為低則為DSP模式,若FS為高則為其它微處理器模式。 

當TLV1572工作在DSP模式時,必須保證在/CS變低時,F(xiàn)S為低電平,并且要鎖存一定時間。/CS為低時,DO跳出三態(tài)狀態(tài),但是直到FS為高時芯片才脫離休眠狀態(tài)。TLV1572在每個時鐘SCLK的下降沿檢測FS的狀態(tài),一旦檢測到FS為高,TLV1572開始采樣。在FS的下降沿,A/D芯片通過移位時鐘將數(shù)據(jù)移到DO上。在6個前導(dǎo)0傳送之后,DSP可以在時鐘的下降沿得到A/D轉(zhuǎn)換的數(shù)據(jù),如圖2所示。在最低位移出之后,A/D芯片自動進入休眠狀態(tài),直到FS下一次有效。如果FS在16位傳輸完成后立即有效,則A/D開始新的數(shù)據(jù)轉(zhuǎn)換,此時A/D為連續(xù)轉(zhuǎn)換。若FS在TLV1572轉(zhuǎn)換數(shù)據(jù)的過程中變高,則A/D芯片被復(fù)位,開始新的數(shù)據(jù)轉(zhuǎn)換周期。因此可以通過設(shè)置FS改變數(shù)據(jù)傳輸?shù)奈粩?shù)。 

異步通信芯片TL16C550C 

TL16C550C是TI公司的異步通信芯片,具有與DSP的連接硬件簡單,使用經(jīng)濟、可靠的優(yōu)點。其主要特點如下:管腳與TL16C450兼容;可由軟件設(shè)定16字節(jié)的FIFO以減少CPU中斷;波特率發(fā)生器可編程;具有可編程的串行數(shù)據(jù)發(fā)送格式;數(shù)據(jù)位長度為5、6、7、8;具有偶校驗、奇校驗或無校驗?zāi)J?;停止位長度為1、1.5、2;采用44引腳PLCC封裝。 

TL16C550C內(nèi)部共有11個寄存器,這些寄存器分別用于實現(xiàn)通信參數(shù)的設(shè)置,對線路及MODEM的狀態(tài)訪問,數(shù)據(jù)的發(fā)送和接收以及中斷管理等功能。在編程過程中,可由A0、A1、A2 三條片內(nèi)寄存器選擇線和線路控制寄存器(LCR)的D7位(DLAB)一起訪問或控制TL16C550C的任何一個寄存器。表1給出了訪問這些寄存器時DLAB和A0、A1、A2的狀態(tài)。因為接收和發(fā)送緩沖寄存器的DLAB、A0、A1、A2各位都相同,因此還必須通過讀寫信號來加以區(qū)分。 

因為接收/發(fā)送緩沖寄存器和中斷使能寄存器分別與波特率因子寄存器的低位和高位相同,要通過DLAB加以區(qū)分,可以任意選擇寫入波特率因子的高字節(jié)和低字節(jié)的順序,寫入前必須置LCR的DLAB位為1。寫入波特率因子后應(yīng)將D7置為0,以便訪問其他寄存器。在外接晶振為3.072MHz時,幾種常用的波特率所對應(yīng)的波特率因子寄存器的值如表1所列。 

C5402的Bootloader原理 

C5402上電后,首先檢查MP/MC引腳的狀態(tài):如果為高電平,說明DSP處于微處理器工作模式,從外部程序存儲器0FF80h地址開始執(zhí)行用戶程序;若為低電平,DSP被設(shè)置為微計算機模式,從片內(nèi)ROM的0FF80h地址開始執(zhí)行程序。在C5402的0FF80h地址處存放著一條跳轉(zhuǎn)至0F800h處執(zhí)行DSP自行引導(dǎo)裝載(Bootloader)程序的指令。當C5402執(zhí)行Bootloader程序時,將會按HPI裝載模式→串行EEPROM裝載模式→并行裝載模式→標準串行口裝載模式 →I/O口引導(dǎo)裝載模式的順序循環(huán)檢測,以決定執(zhí)行哪種啟動模式。 

對于以C5402為核心的數(shù)字信號處理系統(tǒng)來說,并行引導(dǎo)裝載模式被認為是最適用的。因為HPI引導(dǎo)裝載模式、標準串行口引導(dǎo)裝載模式和I/O口引導(dǎo)裝載模式只適用于由其它處理器為C5402提供運行代碼的多處理器系統(tǒng)中,串行EEPROM引導(dǎo)裝載模式只支持價格偏高的SPI端口EEPROM,而并行引導(dǎo)裝載模式可采用的并行EEPROM和Flash種類很多,有的價格比較低,操作起來比較簡單。在不自己編寫B(tài)ootloader程序的情況下,并行引導(dǎo)裝載模式最大只能裝載32K字的程序或數(shù)據(jù)。若程序數(shù)據(jù)大于32K,此時需要自己編寫一個并行裝載的內(nèi)核程序,通過片內(nèi)的裝載程序?qū)⒕帉懙膬?nèi)核程序傳送到片內(nèi)DRAM中,然后再運行裝載內(nèi)核程序,將大于32K的程序數(shù)據(jù)送到片外的SRAM中。在有兩個或兩個以上的C5402或具有標準串口功能的多微處理器的系統(tǒng)中,若為每一個微處理器都配置一個并行的Flash來存儲程序,會很浪費資源,占用總線。而利用一片F(xiàn)lash,主機利用并行裝載,然后主機通過HPI裝載模式對其它C5402進行裝載,這樣就可以節(jié)省大量資源。 


系統(tǒng)硬件結(jié)構(gòu)及原理分析 

系統(tǒng)硬件原理圖 

本系統(tǒng)主要完成無線信號的采集、采樣信號的處理得到方向估計及與PC機通信,系統(tǒng)的硬件原理如圖2所示。 

數(shù)據(jù)采集與通信 

為了達到與C5402很好的匹配,A/D電源和參考電壓都接了3.3V。A/D的FS接DSP的FSX和FSR,使數(shù)據(jù)輸入的幀同步信號由DSP產(chǎn)生。SCLK接DSP的CLKX和CLKR,這樣數(shù)據(jù)的輸入和輸出時鐘均來自DSP。C5402與各自兩片A/D進行數(shù)據(jù)傳輸時,設(shè)置串口中斷工作在00模式,即串口數(shù)據(jù)到達觸發(fā)中斷,這樣CPU可以根據(jù)A/D傳輸數(shù)據(jù)產(chǎn)生相應(yīng)的串口中斷RINT0或RINT1。當兩個串口的數(shù)據(jù)同時到達,即同時申請中斷時,C5402的CPU會根據(jù)中斷優(yōu)先級響應(yīng)RINT0中斷,然后再響應(yīng)中斷RINT1。為了保證數(shù)據(jù)通信的可靠性,避免數(shù)據(jù)沖突,在響應(yīng)RINT1中斷的過程中,串口0無中斷請求。 兩片C5402(A,B)是通過HPI口進行數(shù)據(jù)交流的,其中C5402(A)作為主機,C5402(B)工作在HPI 模式。兩片DSP分別計算自己的數(shù)據(jù)的自相關(guān)函數(shù)Rxx,由C5402(A)將數(shù)據(jù)送到C5402(B)中,進行互相關(guān)函數(shù)Rxy計算,然后通過ESPRIT方法計算出方向。估計完方向后,C5402(B)通過TI公司的異步串行芯片TL16C550C將估計結(jié)果傳給PC機進行網(wǎng)絡(luò)定位,或下一步處理。 

TL16C550C能以16MHz的速度讀寫數(shù)據(jù),讀寫信號的脈寬很窄,使用一般的串口微處理器誤碼率較高,而TL16C550C能夠很好的與DSP匹配。這里VC5402以19200的波特率與PC機通信, 當XIN、XOUT端外接3.072MHz晶振時,波特率因子寄存器的低位的值應(yīng)為0AH,高位值為00H。C5402與TL16C550C之間的邏輯控制通過CPLD來完成,其內(nèi)部邏輯如圖3所示。 

由于RS-232-C電路電平與CMOS電平不同,因此RS232驅(qū)動器與CMOS電平連接時必須經(jīng)過電平轉(zhuǎn)換,本系統(tǒng)采用MAXIM公司的MAX232來完成這一功能。 


系統(tǒng)獨立工作的程序裝載過程 

本系統(tǒng)的程序裝載分為兩部分:C5402(A)自身的并行裝載和C5402(B)的HPI裝載。 

C5402(A)與Flash AT29LV1024和SRAM IS61LV6164之間的邏輯如圖4所示。C5402(A)上電復(fù)位裝載時,由于Bootloader程序在初始化時設(shè)置XF為高電平,在系統(tǒng)進入并行引導(dǎo)裝載模式后,C5402(A)從數(shù)據(jù)尋址為0FFFFh單元(A15=1,選中Flash)中讀取將要載入的程序存儲區(qū)首地址和并行裝載數(shù)據(jù)流。此時,C5402可以將 Flash地址08000h-0FFFFh單元中的數(shù)據(jù)讀到C5402對應(yīng)于0000h-7FFFh尋址區(qū)的片內(nèi)DARAM和片外SRAM中。Bootloader程序結(jié)束后用戶程序的第一條語句為RSBX XF,置XF引腳為低電平, Flash始終不選通。這樣,SRAM的高32K區(qū)域(08000h-0FFFFh)被釋放出來,可以作為C5402(A)運行時的數(shù)據(jù)區(qū)或程序區(qū)使用。C5402(A)裝載進來的程序數(shù)據(jù)主要分三部分:給C5402(B)的裝載程序,自身的運行程序及C5402(B)的運行程序。 

在C5402(A)進行并行裝載的過程中,C5402(B)在判斷是哪種裝載模式。因為C5402(B)的HINT和INT2連在一起,在DSP上電初始化時將07FH單元清0,同時HINT置0,這樣導(dǎo)致了INT2的IFR的相應(yīng)標志位有效,C5402(B)查詢到INT2的標志位有效后,判斷是HPI裝載模式。C5402(A)在進行完并行裝載后,首先運行裝載程序,將C5402(B)運行程序數(shù)據(jù)傳送C5402(B)中,最后將C5402(B)的程序入口地址寫到07FH單元,表明HPI裝載結(jié)束。 

系統(tǒng)軟件設(shè)計 

系統(tǒng)的軟件設(shè)計主要包括,多通道緩沖串口的初始化,串口中斷服務(wù)程序,并行裝載程序設(shè)計,TL16C550C的初始化及HPI設(shè)計等。 


程序設(shè)計應(yīng)注意的問題 

(1)McBSP工作在數(shù)據(jù)接收中斷方式,因此全局中斷和串口中斷的相應(yīng)位應(yīng)該合理設(shè)置。同時,在設(shè)置中斷向量表時,使中斷向量表的位置與處理器模式狀態(tài)寄存器PMST中的中斷向量指針I(yè)PTR相對應(yīng),使IPTR的9位地址指向128字的中斷向量所在的程序頁,同時,中斷向量表要嚴格按照C5402規(guī)定的格式編寫,否則不能正確地產(chǎn)生需要的中斷結(jié)果。 

(2)要實現(xiàn)DSP數(shù)據(jù)采集系統(tǒng)的脫機獨立運行,程序裝載十分關(guān)鍵。C5402(A)進行并行裝載,要求AT29LV1024中的程序數(shù)據(jù)流嚴格按照并行裝載的格式,依次給C5402(B)裝載程序、C5402(A)自身執(zhí)行程序,C5402(B)的程序裝載到片內(nèi)DRAM和片外SRAM中。 

(3)注意到系統(tǒng)設(shè)計中,C5402(B)的HPI口既用來進行程序裝載,又作為兩片DSP通信接口,為了避免混亂,在C5402(B)的程序中應(yīng)將IFR中INT2的相應(yīng)位清零,最好在IMR中屏蔽INT2。 

(4)為了實現(xiàn)兩路A/D和C5402之間的時序匹配,避免數(shù)據(jù)沖突,需要注意C5402采樣率發(fā)生寄存器SRGR1中CLKGDV位的設(shè)置,使C5402工作時鐘周期大于兩個串口中斷的響應(yīng)時間。 

TL16C550C的軟件流程 

TL16C550C 初始化程序主要完成波特率及其它工作寄存器的設(shè)置。這里設(shè)置TL16C550C工作模式為8位數(shù)據(jù)位,2位停止位,奇校驗狀態(tài)。TL16C550C的軟件設(shè)置流程如圖5所示。 

圖5 TL16C55C工作的軟件流程(略) 


串口接收的部分初始化程序 

下面根據(jù)多通道緩沖串口的特性和兩路串行A/D工作的要求,主要介紹一下串口接收的軟件設(shè)計和串口部分關(guān)鍵設(shè)置。 

;=====初始化串口0======== 
stm #0, SPSA0  
stm #0000h, SPSD0 ; #0000H SPCR10 
stm #1, SPSA0 
stm #0000h, SPSD0 ; #0000H SPCR20 
stm #2, SPSA0 
stm #0040h, SPSD0 ; #0040H RCRC10 每字16位 
stm #3, SPSA0 
stm #0040h, SPSD0 ; #0040H RCR20 每幀一段,每段一字 
stm #6, SPSA0 
stm #000fh,SPSD0 ; #0009H SRGR1 時鐘周期 CLKG=6.4MHz 
stm #7, SPSA0 
stm #300fh, SPSD0 ; #3010H SRGR20 幀周期為16個CLKG 
stm #0eh,SPSA0 
stm #0a04h, SPSD0 ; #0A04H PCR0 FSX, CLKX輸出,F(xiàn)SR, 
CLKR輸入 
;=====初始化串口1====== 
串口1的初始化程序參見串口0 
;=====啟動接收======== 
stm #0,SPSA0 
stm #0001h, SPSD0 ;啟動串口0接收 
stm #1,SPSA0 
stm #00c0h, SPSD0 ;內(nèi)部產(chǎn)生時鐘產(chǎn)生FSG 
stm #0,SPSA1 
stm #0001h, SPSD1 ;啟動串口1接收 
stm #1,SPSA1 
stm #00c0h, SPSD1 ;內(nèi)部產(chǎn)生時鐘產(chǎn)生FSG 
;==串口0接收中斷子程序=== 
.sect "brint0" 
host_brint0:  
rsbx intm ;關(guān)中斷 
ldm drr0,A 
stl A,*ar4+ ; 接收 
::: 
其它處理程序 
rete 


結(jié)束語 

本文利用兩片DSP,根據(jù)TM320C5402多通道緩沖串口的特點,提出了由四個陣列天線傳感器陣元組成的DOA估計硬件設(shè)計方案,并給出了系統(tǒng)獨立工作的硬件原理圖和軟件設(shè)計的部分關(guān)鍵程序。并行裝載模式和HPI裝載模式同時使用,有效利用了系統(tǒng)資源,減小成本,同時TL16C550C的使用實現(xiàn)了DSP與PC機的高速串行通信。 


本站聲明: 本文章由作者或相關(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ù)學會聯(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)閉