AIS系統(tǒng)是海上移動(dòng)VHF波段采用TDMA技術(shù)交換數(shù)據(jù)的一種避碰系統(tǒng),是國際海事組織規(guī)定每條船只必須安裝的設(shè)備之一,產(chǎn)品開發(fā)基于國際海事組織頒布的ITU-R M1371協(xié)議。在開發(fā)中采用ADSP2189M作為其數(shù)據(jù)處理平臺(tái),完成各種數(shù)據(jù)處理,轉(zhuǎn)換,時(shí)隙的劃分,網(wǎng)絡(luò)登陸和維護(hù)等算法,實(shí)現(xiàn)其大部分的主要功能。系統(tǒng)的模式如圖1所示。 由電臺(tái)在161.975MHz和162.025MHz的兩個(gè)頻點(diǎn)上接收GMSK信號(hào),經(jīng)GMSK調(diào)制解調(diào)芯片把模擬數(shù)據(jù)轉(zhuǎn)換成數(shù)字信號(hào),數(shù)據(jù)流通過上位機(jī)完成對(duì)正確數(shù)據(jù)的判定,并且刪去數(shù)據(jù)段的起始、填充和結(jié)束位,把數(shù)據(jù)通過并行口發(fā)往DSP,DSP完成對(duì)接收到數(shù)據(jù)的處理與分析,建立整個(gè)海域的時(shí)隙表,完成TDMA的網(wǎng)絡(luò)登陸、維護(hù),把相關(guān)的數(shù)據(jù)再以不同格式發(fā)送到不同的串口輸出,按照ITU-R M.1371協(xié)議,以ITDMA(增量時(shí)分多址)方式接入網(wǎng)絡(luò),以SOTDMA(自控時(shí)分多址)方式連續(xù)運(yùn)行,從而達(dá)到整個(gè)網(wǎng)絡(luò)的TDMA完整性。因此,信號(hào)處理單元在系統(tǒng)中處于重要的位置。 圖1 DSP與外部設(shè)備接口 ADSP2189M芯片 ADSP2189M芯片是一種定點(diǎn)DSP,其指令周期為13.3ns,運(yùn)行速度可達(dá)75MIPS。處理器包括算術(shù)/邏輯單元(ALU),乘法/累加器(MAC)和桶狀移位器。存儲(chǔ)器采用哈佛結(jié)構(gòu),有48K的PRAM和32K的DRAM。兩個(gè)SPORT同步串口,一個(gè)定時(shí)器以及主機(jī)接口可以和主機(jī)處理器直接相連。DMA接口包括內(nèi)部DMA接口(IDMA)和字節(jié)DMA接口(BDMA)。 AIS系統(tǒng)中2189M的硬件設(shè)計(jì) 部分電路如圖2所示。 ·芯片外接33M的晶體,其內(nèi)部自動(dòng)倍頻到66M; ·一個(gè)同步串口SPORT與外部的MCU相連,引腳要接上拉電阻; ·把SPORT1設(shè)置成第二種工作模式,并用軟件把I/O口模擬UART,與MAX232芯片連接,數(shù)據(jù)送往簡易顯示; ·采用IDMA方式與MCU相連,16條并口線連接,啟動(dòng)模式設(shè)置為IDMA方式,其4個(gè)MODEA"D設(shè)置分別為1,0,1,0; ·完成IDMA引導(dǎo)裝載的步驟如下; PWD、EBR、BR、ERSET四個(gè)調(diào)試引腳必須外接上拉電阻; 最后寫PM(0X0000)的值,程序開始自動(dòng)執(zhí)行。 圖2 AIS系統(tǒng)的部分電路圖 圖3 串口接收時(shí)序圖 圖4 時(shí)隙劃分圖 ADSP2189M接口的軟件設(shè)計(jì) Sport0的設(shè)置 采用同步串口與MCU通訊 DM(0X3FF6)—串口控制寄存器設(shè)置如表1所示。 表1中0"3:接收發(fā)送字長,我們定義為16位字長,設(shè)置為1111。6"7:幀同步信號(hào)電平,為0,高電平有效。8"9:幀同步信號(hào)源,為1,內(nèi)部產(chǎn)生幀同步信號(hào)。 10"11:成幀方式,為1,第二成幀方式。12"13:幀同步,為0,發(fā)起通訊必須要幀同步信號(hào),以后不再考慮幀同步信號(hào)。14:SCLK的產(chǎn)生方式,為1,內(nèi)部產(chǎn)生串行時(shí)鐘。 DM(0X3FF5)—串口時(shí)鐘分頻系數(shù)寄存器dm(sclkdiv) 在ADSP2189芯片中,采樣率與分頻數(shù)之間的關(guān)系如下式F(sclk)=f(clkout)/(sclkdiv+1)/2 其中,F(xiàn)(sclk)表示運(yùn)行時(shí)鐘,F(xiàn)(clkout)表示外接晶振的輸出時(shí)鐘,sclkdiv表示分頻數(shù),即存儲(chǔ)器應(yīng)該賦予的值。 當(dāng)控制寄存器設(shè)置好以后,串口接收時(shí)序如圖3所示,接收到的數(shù)據(jù)放在接收緩存區(qū),每接收完一組數(shù)據(jù),寫一次接收標(biāo)志位,主程序定期檢測(cè)標(biāo)志位,當(dāng)檢測(cè)到標(biāo)志位變化時(shí),調(diào)用接收處理子程序。 Sport1和timer的設(shè)置 由于DSP要輸出數(shù)據(jù)到簡易顯示,通過UART口相連接,因此把Sport1設(shè)置為第二種工作模式(如表2所示)。 DM(0X3FFF)—系統(tǒng)控制寄存器(如表3所示)。 表3中,12:SPORT0的使能,設(shè)置為1。11:SPORT1的使能,設(shè)置為1。10:SPOER1的功能選擇,設(shè)置為0。 用I/O口模擬UART,以9600波特率采樣,內(nèi)部定時(shí)中斷產(chǎn)生速率為3×9600,在一個(gè)電平跳變中產(chǎn)生3次采樣,取中間的采樣值有效。 DM(0X3FFD)—定時(shí)周期寄存器 DM(0X3FFC)—定時(shí)計(jì)數(shù)寄存器 外接33M晶體,寄存器存放的數(shù)值為: period=frequence×2/(3×9600)-1=2314 芯片以28800波特率產(chǎn)生中斷,每次中斷程序檢測(cè)UART的標(biāo)志位,當(dāng)標(biāo)志位有變化時(shí),每3次中斷設(shè)置一次I/O的輸出,直到發(fā)送數(shù)據(jù)結(jié)束。 部分代碼設(shè)置如下: ax0 = 2314; //定時(shí)器設(shè)置 dm(0x3ffc) = ax0; dm(0x3ffd) = ax0; ax0 = 0; dm(0x3ffb) = ax0;//控制寄存器的設(shè)置 ax0 = b#0001100000000000; ax0=b#0111111000001111; dm(0x3ff6)=ax0;//sport0設(shè)置 ax0=0x001f; dm(0x3ff5)=ax0;//SCLKDIV0 mstat = 0x10;// 乘法器設(shè)置 ifc=b#0000000001100001;imask=b#0000100001;//中斷開啟 ena timer; //開啟定時(shí) 主體軟件流程 系統(tǒng)采用自主式時(shí)分復(fù)用,把時(shí)間分成周期性的幀,每一幀再分割成若干時(shí)隙(無論幀或時(shí)隙都是互不重疊的),每個(gè)時(shí)隙就是一個(gè)通信信道,分配給一個(gè)用戶。系統(tǒng)根據(jù)一定的時(shí)隙分配原則,使各個(gè)移動(dòng)臺(tái)在每幀內(nèi)只能按指定的時(shí)隙向?qū)Ψ桨l(fā)射信號(hào)(突發(fā)信號(hào)),在滿足定時(shí)和同步的條件下,基站可以在各時(shí)隙中接收到各移動(dòng)臺(tái)的信號(hào)而互不干擾。 在寄存器中劃分兩個(gè)信道的空間作為海域的時(shí)隙表,如圖4所示。 網(wǎng)絡(luò)登陸采用概率持續(xù)算法(當(dāng)發(fā)現(xiàn)一個(gè)候選時(shí)間段時(shí),臺(tái)站在0到100之間隨機(jī)選取一個(gè)概率值LME.RTP1,該值與一個(gè)0到10的概率LME.RTP2比較,如果LME.RTP1小于或等于LME.RTP2,則選擇這個(gè)時(shí)間段,反之,LME.RTP2加上一個(gè)概率增量與下一個(gè)候選時(shí)間段比較)。在2250個(gè)時(shí)間段上隨機(jī)選擇一個(gè)空閑時(shí)隙作為網(wǎng)絡(luò)的接入點(diǎn),然后以ITDMA方式接入。這種方式是一種先報(bào)告先占用的形式,在當(dāng)前發(fā)射的數(shù)據(jù)中指明下一個(gè)需要發(fā)送數(shù)據(jù)的時(shí)隙號(hào),從而達(dá)到預(yù)先通知其它臺(tái)站自身所占用的時(shí)隙號(hào),確定在60秒中需要占用的空間。在以后的連續(xù)階段,移動(dòng)臺(tái)以SOTDMA方式完成網(wǎng)絡(luò)的維護(hù)和時(shí)隙的重新劃分。由于協(xié)議規(guī)定的數(shù)據(jù)格式中最大只能預(yù)知到7分鐘的占用情況,所以每隔7分鐘,需要在一定范圍內(nèi)重新選擇一個(gè)新的空閑時(shí)隙發(fā)送,以次類推,一直以這種連續(xù)的狀態(tài)運(yùn)行下去。 當(dāng)速度發(fā)生改變的時(shí)候,系統(tǒng)重新以ITDMA的方式完成新的速率下的網(wǎng)絡(luò)登陸。 結(jié)語 本文提出的設(shè)計(jì)方案,充分利用了DSP的高性能數(shù)據(jù)處理功能和嵌入式操作系統(tǒng)的實(shí)時(shí)穩(wěn)定的特點(diǎn),采用時(shí)分復(fù)用的算法,進(jìn)行一個(gè)海域內(nèi)的網(wǎng)絡(luò)劃分和聯(lián)接功能。這種DSP信號(hào)處理與嵌入式操作系統(tǒng)相結(jié)合的模式,可以廣泛應(yīng)用于通訊領(lǐng)域,具有廣泛的應(yīng)用前景。 |