摘 要 對偽隨機序列在工程中的應用進行了簡要的介紹,闡述了基于TMS320VC5402開發通用隨機數發生器與外設通信的接口設計, 給出了硬、軟件設計的具體方法和思想。
關鍵詞 隨機數發生器,TMS320VC5402,ISP1581,USB接口,RS232接口,D/A轉換
Design of Transmission Interface of Universal Random Test Apparatus Base on DSP
Xu Zhengyan Han Yueqiu
(Department of Electronics Engineering,School of Information Science and Technology,Beijing Institute of Technology,Beijing 100081)
Abstract In this paper,a brief introduction about the application of pseudorandom number in engineering,a communication interface design of Universal Random Test Apparatus base on TMS320VC5402 are described,and idiographic methods and idea of hardware、software design are provided.
Keywords Random Number Generator,TMS320VC5402,ISP1581,The Interface of USB,The Interface of RS232,The Conversion of D/A
1 引 言
隨機序列或偽隨機碼的應用范圍非常廣泛,在通信(包括擴頻通信、衛星、保密通信和常規通信等)、雷達、導航、遙控、測量以及自控等領域都有著重要的應用。如雷達接收機的熱噪聲功率譜呈白色,幅度近似于高斯分布;均勻分布的隨機數廣泛應用于電路內系統性能測試及統計處理中;指數分布隨機數廣泛應用于數據傳輸及電子測量中;瑞利分布隨機數廣泛應用于通訊系統。因此,隨著科學技術的發展及知識的更新,隨機序列的應用顯得尤為重要。本文著重于開發通用隨機數發生器與外部設備的通信接口設計,以使隨機序列在工程中得到廣泛的應用。
2 整體設計方案及測試儀的功能簡介
本設計中利用FPGA實現的通用隨機數發生器具有以下的性能指標:一是隨機數的實時性好,數據吞吐率高達133×4Mbyte/s;二是合成的隨機數具有超長周期再重復,周期長度能達到248個時鐘周期,比計算機合成的隨機數周期長220倍;三是精度高,均勻分布隨機數與指數分布隨機數的精度達到15位,瑞利分布隨機數精度達到14位,高斯白噪聲的精度也達到13位;四是可靠性高,通過一個芯片解決了以往在雷達回波模擬中只有PC才能解決的難題,除占用PCB面積小外,可靠性也優于PC機。其系統結構見圖1。
既然偽隨機序列在通信和雷達等工程中的作用非常突出,因此,為實現通用隨機數測試儀的最大通用性,在通用隨機數發生器產生多種分布的偽隨機序列基礎上,還需設計靈活的外圍設備接口。本設計正是以此為重點,開發通用隨機數測試儀的USB接口、RS232接口,并滿足視頻輸出的要求。例如信號經數模轉換、低通濾波后,可還原成系統需要的模擬信號, I、Q兩路正交輸出的視頻信號,可供雷達接收機作為噪聲的模擬源。
3 各接口的實現
3.1 USB接口的實現
本設計中選擇TI公司生產的TMS320VC5402作為主控制器,Philips公司生產的ISP1581作為USB 接口器件。
TMS320VC5402是TI公司生產的低功耗、高性能的DSP芯片,有如下的性能特點:①處理性能好,運算速度達100MIPS/s; ②優化的CPU結構,內含有一個40位的算術單元,包括40位的桶形移位器和兩個獨立的累加器,一個17位的乘法器,有4條內部總線和2個地址產生器;③低功耗,可以在3.3V I/O電壓和1.8V內核電壓下工作;④智能外設,具有標準的串行口、時分復用(TDM)串行口,多通道帶緩沖串行口McBSP和與外部處理器通信的HPI接口;⑤內部有16K片內RAM和4K片內ROM。
USB協議層的相關通訊協議通過ISP1581接口芯片來實現, 作為高速USB 接口器件,ISP1581不僅具有一般USB設備具有的特點外,還具有許多自身的特點,主要結構特點和性能如下:①ISP1581同大部分的微處理器/控制器有單獨的接口,接口由管腳BUS_CONF、MODE1和MODE0共同設置;②內部含有兩種總線結構配置,即通用處理器工作模式和斷開總線工作模式,上電時由輸入管腳(BUS_CONF)進行選擇;③ISP1581和外部存儲器設備之間的大帶寬的數據傳輸是通過集成的DMA控制器來完成的。通過“寫”對應的DMA寄存器來配置DMA接口;④ISP1581支持高速和最初USB規范的信道,USB信道速度的檢測是自動完成的;⑤可通過軟件控制與USB總線的連接、可內部上電復位和低電壓復位,也可通過軟件復位。正是VC5402和ISP1581的低價格及高性能的優勢,本設計選擇它們作為主處理器和USB 接口器件。其硬件原理如圖2(a)、(b)所示。
因DSP對I/O設備的訪問對象為通用隨機數發生器、USB接口芯片ISP1581的訪問,故ISP1581的片選信號可由反相后的地址線A08與DSP的I/O空間片選信號,IS相或后的信號來控制。ISP1581讀信號由反相后的讀寫信號R/W與DSP的I/O訪問選通信號IOSTRB相或后所得的信號控制,寫信號則由讀寫信號R/W與DSP的I/O訪問選通信號IOSTRB相或后所得的信號控制。ISP1581的中斷INT與DSP的可屏蔽中斷INT1直接相連。將DSP的多通道緩沖串行口信號BDX0配置為通用輸出口控制ISP181的喚醒信號WAKEUP。12MHz的晶振和兩個20pf的電容組成ISP1581的時鐘基準電路。
ISP1581的固件程序可分為主循環程序、中斷服務程序和請求處理程序。主循環程序的主體是個無限循環,只專注于數據處理,循環查詢一些標志,確認標志有效則進入對應子程序的處理;中斷服務程序處理ISP1581的硬件中斷,根據中斷原因的不同設置不同的標志,以最大可能速率進行數據傳輸;請求處理程序對標準設備和廠商請求處理。
主循環程序設計中將寄存器地址映射到I/O空間,對寄存器的讀寫改為I/O讀寫方式。通過寫索引寄存器選中端點,然后對數據端口寄存器進行讀寫。為讓USB有更多的時間處理其它需要及時響應的中斷,提高數據傳輸率,可在主循環程序中編寫端點讀寫的程序。
中斷服務程序中需要處理的中斷有setup中斷、sof、喚醒、掛起、高速狀態檢查、端點的中斷。在setup中斷中首先讀setup包的內容,設置標志位,主循環查詢到不同的標志后,執行相應的請求處理程序。端點0中斷中,除讀寫數據外,還需給主機發送不同情況的握手信號。
請求處理程序負責處理枚舉階段主機發給設備的標準請求,以及正常工作時主機發送的廠商請求。
3.2 異步串行口的實現
本設計中,偽隨機序列可通過異步串行接口(UART)與其它設備進行通信,實現其在各項目中的廣泛應用,也可將其送至計算機存儲和顯示?衫糜嬎銠C應用程序豐富的圖形界面,良好的人機接口,通過計算機顯示的圖形畫面可進一步驗證以及調整隨機數發生器合成的隨機數的分布。
數據通信方式有并行和串行兩種,串行方式又分同步串行和異步串行。由于異步通信使用方便、簡單,硬件設備價格也低,并允許作不定時的發送,所以應用廣泛。異步串行通信的幀格式以字符為單位,字符數據可以是5至8位,典型應用為8位,數據低位在前,高位在后,在每個字符前必須有一個邏輯“0”的起始位,數據位后可能有一個奇偶校驗位,以判斷接收到的數據的正誤。最后定義1位、1.5位或2位為邏輯“1”的停止位。其硬件原理如圖3所示。
在RS-232C協議中,邏輯“0”定義成正電平(+3~+15V),邏輯“1”定義成負電平(-3~-15V)。而DSP芯片管腿采用的電平為TTL電平,故DSP芯片想要與RS-232C接口相連時,必須將TTL電平信號轉換成RS-232C電平信號才能連接。本設計中選用MAX232芯片當作電平轉換接口,來提供RS232所需的接口電壓電平。
因TMS320C54X系列DSP芯片沒有提供標準的UART接口,故本設計中利用通用的I/O口線XF和BIO構成串口,用軟件來設定波特率,用最少的硬件資源來實現通用異步接受和發送。DSP通過XF管腳向RS232發送串行數據,通過BIO管腳接收來自RS232接口的串行數據,且BIO和INT0相連,可以避免頻繁檢測接收管腳的電平。每當接收端接收到第一個低電平,認為是接收字節的開始位,每次在每個比特的中間位置判決電平,可最大限度地防止誤判的發生。其軟件框圖如圖4所示。程序用C語言實現,在開啟定時器至定時器中斷響應這1比特的延時等待函數可用while循環實現。首先設一個標志FLAG=‘F’,在中斷響應函數中置FLAG=‘T’,主函數中用while循環一直等待FLAG變為‘T’,如檢測到FLAG變為‘T’,則可知一比特定時時間的結束,同時在while循環中將FLAG變為置為‘F’,準備下一次的定時。在int0中斷響應函數中,有一點很關鍵,在關閉int0中斷的同時不能將定時器中斷關閉,以免在接收函數中無法實現定時器的定時;開啟定時器時也切忌將int0中斷打開,以免一個數據未結束又重新進入int0中斷。
3.3 D/A轉換的實現
通用隨機數發生器與DAC(AD9713BAN)是通過隨機數發生器的并行I/O接口來實現數據交換的。AD9713B是AD公司生產的特殊用途的數模轉換器,其性能指標為:100MSPS、12-bit、ECL/TTL兼容、SFDR@1MHz、70dBc、快速27ns建立時間、725mW低功耗、單極性輸出、邊沿觸發、內有參考電壓和緩沖運放、輸入是直接的二進制碼格式。D/A轉換的硬件原理如圖5所示。
AD9713的鎖存使能信號由通用隨機數的異步讀信號控制,當隨機數發生器芯片內全部計算單元處在激活狀態產生隨機數時,且AD9713的鎖存使能信號(LATCH ENABLE)低有效時,數據寫入DAC,進行數模轉換。本設計中還使用運放AD8056構成增益調整電路。
4 系統設計時應注意的幾個問題
不論哪一種電源結構都存在噪聲問題,都需要進行濾波,通常由旁路去耦電容來完成。旁路電容的主要作用是產生一個交流分路,從而消去進入易感區的那些不需要的能量。任何電容都有一定的頻率響應特性,為濾除系統的高頻和低頻噪聲,增大濾波范圍,應將一個低ESL(等效串聯電感)的大電容器與一個很低ESL的小電容并聯起來使用,可以提高濾波頻率范圍,并且應盡可能使他們放在靠近電源輸入處以幫助濾除高頻噪聲。
高速模擬信號易受數字地回路噪聲的影響,特別是模擬數字混合系統要注意接地問題,除了電源端一點相接外,數字地和模擬地應分開。比如,放大器會把開關數字噪聲放大,造成錯誤輸出。
對于大多數微處理器,高阻輸入引腳易受到噪聲的影響,并且在非正常終端時會引起寄存器鎖存錯誤的電平。一個非內部終端的輸入引腳需要有高阻抗(例如4.7kΩ或10kΩ)連接每個引腳到地或到供電電平,以確保一個可知的邏輯狀態,由于中斷引腳和復位引腳是元件中最敏感的引腳之一,故需考慮噪聲的影響。本設計對DSP中未使用的敏感引腳如INT2、INT3、NMI在接上4.7K的電阻后都連接到供電電源。
在一個系統設計中不可避免地會使用不同供電電壓的模塊和許多不同邏輯標準的器件,因此,在硬件設計時還需解決不同的邏輯電平信號間的接口問題,如上述的MAX232電平轉換芯片就是一個例子,又如當1.8V的數字電路與工作在3.3V的模擬電路進行通信時,需要首先解決兩種電平的轉換問題。
5 結束語
為實現隨機數測試儀在工程應用中的通用性,已設計了測試儀靈活的外圍設備接口。通用隨機數測試儀的USB接口,RS232接口以及D/A轉換模擬輸出經實踐證明它是完全可行和可靠的。
|