以雙DSP為核心的FM-DCSK通信系統方案設計
摘要:采用FM-DCSK調制的混沌保密通信較其它混沌鍵控保密通信具有更優(yōu)良的特性,但同時電路實現也更加復雜。DSP以其高效和靈活性在混沌通信中具有廣闊的應用前景。文中根據TMS320C5402的特點,給出了用兩塊DSP來實現FM-DCSK通信系統的硬件方案,同時給出了系統獨立工作時的硬件原理框圖和軟件設計流程。
關鍵詞:數字信號處理器(DSP);調頻-差分混沌鍵控(FM-DCSK);混沌通信;多通道緩沖串行口
1 引言
近年來,隨著混沌同步和控制理論的提出與發(fā)展,混沌在信號處理、通信和控制領域的應用也日漸廣泛。一般認為,在通信領域,混沌信號代替?zhèn)鹘y的正弦信號作信息載體有以下優(yōu)勢:其一是混沌信號的寬頻特性可以實現某種意義上的擴頻;其二是混沌信號的類似噪聲難以預測,而這一特點正好可為信息的保密傳輸提供保證。
圖1
混沌通信的類型很多,其中較有應用前景的有差動混沌鍵控(DCSK)和混沌擴頻通信。它們的共同特點是信道中傳送的信號不再是實現發(fā)送端和接收端同步的耦合信號,而是利用混沌信號的統計特性,即混沌信號的自相關和互相關特性來實現一定程度的保密通信。目前的研究工作主要是以理論研究和計算機仿真為主,而利用硬件來驗證DCSK及其改進的FM-DCSK通信性能的設計還很少,因此,筆者設計了基于雙數字信號處理器(DSP)的FM-DCSK通信系統方案,文中分別介紹了系統中的話音終端、 混沌序列的產生及其FM調制、 DCSK調制解調及數據通信等電路,分析了系統工作時程序的裝載原理和可行性,同時給出了硬件原理框圖和軟件設計流程圖。
2 系統硬件總體結構
本系統主要用來完成語音信號的采集、語音壓縮編碼以及對語音信號進行FM-DCSK調制,并將調制后的數據通過DSP的多通道緩沖串行口(McBSP)發(fā)送出去,同時對接收到的數據進行DCSK解調和語音解壓縮、譯碼,并將譯碼后的數據進行D/A轉換以還原出模擬話音。本系統利用串行數模/模數轉換芯片TLV320AIC10來將輸入語音信號轉換成數字語音信號,待進行完處理后再將數字語音轉換成模擬語音信號;低比特率聲碼器AMBE-1000則用來對數字語音信號進行低速率的語音壓縮編碼和對DCSK解調后的數據進行解碼;TMS320C5402(主)不僅要對編碼后的數據進行DC-SK調制和DCSK解調,而且還要作為整個系統的控制器來完成對各個功能芯片的設置、控制,并通過雙口RAM芯片(IDT7206)與TMS320C5402(從)進行數據傳遞,同時通過多通道緩沖串行口(McBSP)與另一塊TMS320C5402(從)進行雙向的數據通信。TMS320C5402(從)則在TMS320C5402(主)控制下完成混沌序列的生成和序列的FM調制運算。整個系統的硬件原理如圖1所示。
3 系統電路工作原理
本系統包括話音終端電路、混沌序列產生及其FM調制電路、DCSK調制及解調以及兩個系統數據通信實現電路。各個部分在控制器的協調下完成雙向的FM-DCSK通信。
3.1 話音終端電路
話音終端電路由聲碼器AMBE-1000與串行數模/模數轉換芯片TLV320AIC10構成,可在DSP控制器的控制下完成模擬話音的數字化,并進行壓縮編碼以輸出成幀的編碼數據包,然后將其作為信息數據再經DSP做FM-DCSK調制后輸出。同時將接收到的并經過DSP解調的數據包進行譯碼以還原出數字話音,最后經過D/A變換輸出模擬話音。
對TLV320AIC10中各控制寄存器的控制可用C5402(從)通過多通道緩沖串行口?McBSP0?向DCSI寫入相應格式的數據來完成。與C5402(從)的連接工作在SPI模式,并同樣由TLV320AIC10產生FS和CLKS信號。初始化完成后,TLV320AIC10則在8kHz的采樣率和16bit的線性量化模式下與聲碼器交換數據。而聲碼器每20ms與C5402(主)交換一次數據。當然,所有的工作方式都可以通過軟件編程來實現。
3.2 混沌序列的產生及其FM調制
混沌序列的產生及其FM調制主要由C5402(從)完成。可利用經典的Logistic映射:
然后經離散迭代運算產生所需要的混沌序列。由FM-DCSK通信方式的原理可知,所產生的混沌序列需經過FM調制,然后才能對話音數據作DCSK調制。FM-DCSK調制解調系統框圖如圖3所示。因為混沌序列的FM運算量比較大,因此,本設計選擇TMS320C5402作為運算處理器,它的最高工作頻率可達100MHz。
C5402(從)通過雙口RAM將FM調制后的混沌序列送給C5402(主),也就相當于在FM-DCSK調制解調系統中完成了混沌發(fā)生器和FM調制器的功能。
3.3 DCSK調制解調及數據通信
用C5402?主?可完成低速率編碼后話音信號的DCSK調制和接收數據的DCSK解調,同時可控制CPLD以產生各種控制信號。每次通信過程中,C5402(主)將從雙口RAM中讀取相應數目FM調制后的混沌序列,然后對接收到的話音數據按bit 進行DC-SK調制,同時通過McBSP用DMA方式接收DCSK調制數據并由C5402(主)進行DCSK解調。這兩項工作都是通過中斷來完成的
3.4 系統獨立工作時的程序裝載過程
本系統的程序裝載分為C5402(主)自身的并行裝載和C5402(從)的HPI裝載兩部分。
C5402(主)與Flash AT29LV1024和雙口RAM之間的邏輯如圖4所示。C5402(主)上電復位裝載時,由于Bootloader程序在初始化時設置XF為高電平,因此,在系統進入并行引導裝載模式后,C5402(主)將從數據尋址為0FFFFh的單元(A15=1,選中Flash)中讀取將要載入的程序存儲區(qū)首地址和并行裝載數據流。此時,C5402可將 Flash地址08000h―0FFFFh單元中的數據讀到C5402對應于0000h―7FFFh尋址區(qū)的片內DRAM和片外SRAM中。Boot-loader程序結束后,用戶程序的第一條語句為RSBX XF,即置XF引腳為低電平, 那么Flash將始終不選通。這樣,雙端口RAM的高32k區(qū)域(08000h―0FFFFh)將被釋放出來作為C5402?主?運行時的數據區(qū)或程序區(qū)使用。C5402?主?裝載進來的程序數據主要分為三部分:給C5402(從)的裝載程序、自身的運行程序及C5402(從)的運行程序。
在C5402(主)進行并行裝載的過程中,C5402(從)將判斷是哪種裝載模式。因為C5402?從?的HINT和INT2連在一起,因此,DSP上電初始化時會將07FH單元清0,同時HINT置0會導致INT2的IFR相應標志位有效,C5402(從)在查詢到INT2的標志位有效后,則判斷為HPI裝載模式。C5402(主)在進行并行裝載后,將首先運行裝載程序,以便將C5402(從)的運行程序數據傳送到C5402(從)中,從而將C5402(從)的程序入口地址寫到07FH單元,這樣即表明HPI裝載結束。
4 系統軟件設計
4.1 程序流程
系統的軟件設計主要包括對C5402?主?和C5402(從)的編程。C5402?主?的軟件設計由C5402的初始化、AMBE-1000的初始化、McBSP0和McB-SP1初始化、DMA的初始化、DSP中斷設置、接收數據中斷設置程序和發(fā)送數據中斷設置程序構成。圖5為C5402(主)軟件系統流程圖,圖6和圖7分別為McBSP0接收中斷設置和McBSP1接收中斷設置流程圖。C5402(從)的軟件設計由C5402初始化、TLV320AIC10的初始化以及混沌序列產生和混沌序列的FM調制構成。
4.2 程序設計應注意的問題
在進行系統軟件設計時,應注意以下幾個問題:
(1)由于McBSP工作在數據接收中斷方式,因此全局中斷和串口中斷的相應位要合理設置。同時,在設置中斷向量表時,中斷向量表的位置應與處理器模式狀態(tài)寄存器PMST中的中斷向量指針IPTR相對應,IPTR的9位地址指向128字的中斷向量所在的程序頁?同時,中斷向量表也要嚴格按照C5402規(guī)定的格式編寫,否則不能正確地產生需要的中斷結果。
(2)要實現DSP數據采集系統的脫機獨立運行,程序裝載十分關鍵。C5402(主)進行并行裝載時,AT29LV1024中的程序數據流要嚴格按照并行裝載的格式依次把C5402?從?裝載程序、C5402(主)自身執(zhí)行程序和C5402(從)的程序裝載到片內DRAM和片外雙口SRAM中。
(3)當雙端口RAM在兩片DSP之間進行數據傳遞時,要合理分配空間,協調好讀寫時序,嚴格避免數據沖突。
5 結束語
本文利用兩片TMS320C5402設計了FM-DCSK通信系統的硬件實現方案,給出了系統獨立工作時的硬件原理框圖和軟件設計流程圖。實踐證明:并行裝載模式和HPI裝載模式同時使用,可有效利用系統資源、降低成本。
評論