dsp存儲器配置
㈠ TMS320C5402的存儲器配置
DCSK的程序
以雙DSP為核心的FM-DCSK通信系統方案設計
[日期:2005-8-14] 來源:國外電子元器件 作者:諶 麗 王 強 [字體:大 中 小]
摘要:採用FM-DCSK調制的混沌保密通信較其它混沌鍵控保密通信具有更優良的特性,但同時電路實現也更加復雜。DSP以其高效和靈活性在混沌通信中具有廣闊的應用前景。文中根據TMS320C5402的特點,給出了用兩塊DSP來實現FM-DCSK通信系統的硬體方案,同時給出了系統獨立工作時的硬體原理框圖和軟體設計流程。
關鍵詞:數字信號處理器(DSP);調頻-差分混沌鍵控(FM-DCSK);混沌通信;多通道緩沖串列口
1 引言
近年來,隨著混沌同步和控制理論的提出與發展,混沌在信號處理、通信和控制領域的應用也日漸廣泛。一般認為,在通信領域,混沌信號代替傳統的正弦信號作信息載體有以下優勢:其一是混沌信號的寬頻特性可以實現某種意義上的擴頻;其二是混沌信號的類似雜訊難以預測,而這一特點正好可為信息的保密傳輸提供保證。
圖1
混沌通信的類型很多,其中較有應用前景的有差動混沌鍵控(DCSK)和混沌擴頻通信。它們的共同特點是信道中傳送的信號不再是實現發送端和接收端同步的耦合信號,而是利用混沌信號的統計特性,即混沌信號的自相關和互相關特性來實現一定程度的保密通信。目前的研究工作主要是以理論研究和計算機模擬為主,而利用硬體來驗證DCSK及其改進的FM-DCSK通信性能的設計還很少,因此,筆者設計了基於雙數字信號處理器(DSP)的FM-DCSK通信系統方案,文中分別介紹了系統中的話音終端、 混沌序列的產生及其FM調制、 DCSK調制解調及數據通信等電路,分析了系統工作時程序的裝載原理和可行性,同時給出了硬體原理框圖和軟體設計流程圖。
2 系統硬體總體結構
本系統主要用來完成語音信號的採集、語音壓縮編碼以及對語音信號進行FM-DCSK調制,並將調制後的數據通過DSP的多通道緩沖串列口(McBSP)發送出去,同時對接收到的數據進行DCSK解調和語音解壓縮、解碼,並將解碼後的數據進行D/A轉換以還原出模擬話音。本系統利用串列數模/模數轉換晶元TLV320AIC10來將輸入語音信號轉換成數字語音信號,待進行完處理後再將數字語音轉換成模擬語音信號;低比特率聲碼器AMBE-1000則用來對數字語音信號進行低速率的語音壓縮編碼和對DCSK解調後的數據進行解碼;TMS320C5402(主)不僅要對編碼後的數據進行DC-SK調制和DCSK解調,而且還要作為整個系統的控制器來完成對各個功能晶元的設置、控制,並通過雙口RAM晶元(IDT7206)與TMS320C5402(從)進行數據傳遞,同時通過多通道緩沖串列口(McBSP)與另一塊TMS320C5402(從)進行雙向的數據通信。TMS320C5402(從)則在TMS320C5402(主)控制下完成混沌序列的生成和序列的FM調制運算。整個系統的硬體原理如圖1所示。
圖中,C5402(主)採用並行方式裝載程序�而C5402(從)則是採用HPI方式裝載程序。由於沒有通過雙埠RAM採用並行方式裝載程序,因而可以減少C5402(主)在C5402�從 裝載程序時復雜的控制過程,有效地利用資源。在系統獨立工作時,C5402主、從雙方的通信主要通過雙埠RAM來完成。
3 系統電路工作原理
本系統包括話音終端電路、混沌序列產生及其FM調制電路、DCSK調制及解調以及兩個系統數據通信實現電路。各個部分在控制器的協調下完成雙向的FM-DCSK通信。
3.1 話音終端電路
話音終端電路由聲碼器AMBE-1000與串列數模/模數轉換晶元TLV320AIC10構成,可在DSP控制器的控制下完成模擬話音的數字化,並進行壓縮編碼以輸出成幀的編碼數據包,然後將其作為信息數據再經DSP做FM-DCSK調制後輸出。同時將接收到的並經過DSP解調的數據包進行解碼以還原出數字話音,最後經過D/A變換輸出模擬話音。
在硬體連接中,AMBE-1000的發送、接收選通信號以及移位時鍾均為TLV320AIC10產生的FS和CLKS信號。為滿足AMBE-1000的時序要求,將TX_STRB、TX_O_CLK分別與TLV320AIC10產生的FS和CLKS直接相連,而RX_STRB、RX_O_CLK則經過CPLD邏輯轉換後與FS、CLKS相連。AMBE-1000的編碼速率、信道介面方式、AD介面方式以及各種控制都是由C5402(主)通過操作不同的I/O口並經CPLD鎖存完成的,其中AMBE-1000的時序邏輯圖如圖2所示。
對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調制解調系統中完成了混沌發生器和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)中讀取將要載入的程序存儲區首地址和並行裝載數據流。此時,C5402可將 Flash地址08000h—0FFFFh單元中的數據讀到C5402對應於0000h—7FFFh定址區的片內DRAM和片外SRAM中。Boot-loader程序結束後,用戶程序的第一條語句為RSBX XF,即置XF引腳為低電平, 那麼Flash將始終不選通。這樣,雙埠RAM的高32k區域(08000h—0FFFFh)將被釋放出來作為C5402�主 運行時的數據區或程序區使用。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中斷設置、接收數據中斷設置程序和發送數據中斷設置程序構成。圖5為C5402(主)軟體系統流程圖,圖6和圖7分別為McBSP0接收中斷設置和McBSP1接收中斷設置流程圖。C5402(從)的軟體設計由C5402初始化、TLV320AIC10的初始化以及混沌序列產生和混沌序列的FM調制構成。
4.2 程序設計應注意的問題
在進行系統軟體設計時,應注意以下幾個問題:
(1)由於McBSP工作在數據接收中斷方式,因此全局中斷和串口中斷的相應位要合理設置。同時,在設置中斷向量表時,中斷向量表的位置應與處理器模式狀態寄存器PMST中的中斷向量指針IPTR相對應,IPTR的9位地址指向128字的中斷向量所在的程序頁�同時,中斷向量表也要嚴格按照C5402規定的格式編寫,否則不能正確地產生需要的中斷結果。
(2)要實現DSP數據採集系統的離線獨立運行,程序裝載十分關鍵。C5402(主)進行並行裝載時,AT29LV1024中的程序數據流要嚴格按照並行裝載的格式依次把C5402�從 裝載程序、C5402(主)自身執行程序和C5402(從)的程序裝載到片內DRAM和片外雙口SRAM中。
(3)當雙埠RAM在兩片DSP之間進行數據傳遞時,要合理分配空間,協調好讀寫時序,嚴格避免數據沖突。
5 結束語
本文利用兩片TMS320C5402設計了FM-DCSK通信系統的硬體實現方案,給出了系統獨立工作時的硬體原理框圖和軟體設計流程圖。實踐證明:並行裝載模式和HPI裝載模式同時使用,可有效利用系統資源、降低成本
參考資料:http://www.21ic.com/news/n8809c68.aspx
㈡ DSP的存儲器問題
程序存儲器,數據存儲器和I/O空間並不是屬於片內存儲器或者片外存儲器,應該是片內片外的總和,也就是C54x的存儲器空間的總和。而在這三個存儲空間中任一個里,RAM,ROM,EPROM,EEPROM或者存儲映象外圍設備都可以駐留在片內或者片外,並且這三個空間的總地址范圍為192K,就是你所說的64K * 3,所以這三個空間都是64K。(以上所註明的為TMS320C54x)
㈢ 關於DSP的內存空間,請高手解惑:
哈弗結構,分為數據空間和程序空間是指L1是由L1P(程序存儲器)和L1D(數據存儲器)兩個部分組成,由相互獨立匯流排來訪問其中的數據。
從圖上看到片上有256K x l6的Flash存儲器,34K x l6的SARAM存儲器.1K x 16 OTPROM和8K x l6的Boot ROM。
由於我是做c6000平台dsp開發,這幾個內存空間哪些能夠寫數據不太清楚,但至少的Flash存儲器和SARAM存儲器是能夠寫數據。
怎麼把數據寫到指定的內存空間里?可以使用#pragma DATA_SECTION偽指令來完成