新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于FPGA的無線通信收發模塊設計方案

        基于FPGA的無線通信收發模塊設計方案

        作者: 時間:2009-03-18 來源:網絡 收藏
        由此而來,只要出具有接收和發送MORSE碼串行信息幀功能,并且具有解碼和編碼功能的串行通信子,并將其嵌入在系統總線上,則用計算機直接處理MORSE碼就成為可能。據此分析,可以得出要求,一方面能從串行接收端將解碼成并行的ASCLL碼,另一方面能將并行的ASCLL碼編碼成串行摩爾斯碼。由此,本文的摩爾斯碼內部組成框圖如圖二所示。

        本文引用地址:http://www.104case.com/article/158180.htm

        基于FPGA的摩爾斯碼收發模塊內部組成框圖

        圖 二:的摩爾斯碼模塊內部組成框圖

          該處理系統的主要功能模塊有:

          核心控制模塊
          總線控制模塊
          可編程中斷處理模塊
          可編程并行I/O接口(P0、P1、P2、P3)
          可編程串行接口單元(SIU)
          可編程定時計數器0~3(Timer0~Timer3)
          可編程摩爾斯碼異步收發模塊
          中斷處理模塊有4個外中斷源(int0~int3)和6個內中斷源(TF0~TF3、T1/R1、mT1/mR1),SIU是系統的通用串行接口,它有4種工作模式,工作模式1~3是通用串行異步接收發送USART(Universal Serial Asynchronous Receiver/Transmitter)工作方式。當SIU工作于工作模式1或3時,Timer1是其波特率發生器。

          4 仿真與驗證

          設計的驗證包括功能仿真、時序仿真和電路驗證。仿真驗證往往是借助第3方提供的EDA開發工具軟件包或專用仿真工具軟件來實現的。電路驗證還需要開發驗證平臺,對于系統級芯片驗證平臺的設計也是一項艱巨而不能回避的任務。

          本文選用的是Altera公司的MaxPlusII作EDA開發工具,MaxPlusII編譯器支持功能仿真(前仿真)和時序仿真(后仿真)。完成源代碼(VHDL)設計輸入之后,若要進行功能仿真,則在MaxplusII/Compile下,通過選擇Processing菜單下的Functional SNF Extractor命令,打開功能仿真器網表文件(SNF)提取器,再進行編譯仿真;若要進行定時模擬(時序)仿真,則須在MaxPlusII/Compile下,選擇Processing菜單中的Timing SNF Extractor命令,打開定時模擬器網表文件提取器來進行編譯仿真。

          電路驗證就是器件編程測試過程。對于常規的芯片設計,時序仿真結束后,仿真軟件就可以產生供器件編程使用的數據文件。對EPLD/CPLD來說,是產生熔絲圖文件,即JED文件,對于來說,是產生位流數據文件(Bitstream Generation),然后將編程數據下載到對應的具體可編程器件中去,然后對其進行實際環境的電路測試。

          本文選擇CLK頻率為25MHZ,波特率為25M/16=1562500bps。當發送字符‘7’,執行發送命令后,將啟動數據發送的進程,將字符‘7’的ASCLL碼值送入ASCLL碼發送緩存器,通過MaxPlusII的Simulator仿真器,進行時序仿真驗證,研究結果如圖三所示。從圖中可看出,串行信號端子輸出的“2長劃”,“3點”,經查表對應的就是摩爾斯數字‘7’,證明數據發送是正確的。另外當數據輸出結束后,立刻置高電平,即產生中斷信號mTI,字符‘7’的發送用時大約10us。

        仿真驗證數據

        圖 三:仿真驗證數據

          5 創新點總結

          本文的創新點在于提出了一種FPGA的收發模塊,并以當今海事通信中占重要地位的摩爾斯電碼為例,研究了摩爾斯電碼的數字化編碼方法,并通過大量的分析設計和實驗仿真,實現了基于FPGA處理摩爾斯電碼的收發模塊,仿真結果也驗證了本文所設計的摩爾斯電碼數字化編碼方法正確可行,工作運行可靠。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 庆元县| 天津市| 收藏| 唐海县| 教育| 盐山县| 广昌县| 焦作市| 菏泽市| 鹤庆县| 天祝| 玉门市| 宽城| 察雅县| 金平| 湛江市| 海口市| 江口县| 长岛县| 新竹市| 融水| 高要市| 梨树县| 东乌| 呼玛县| 太仆寺旗| 苗栗县| 池州市| 德阳市| 和顺县| 罗田县| 阿图什市| 集安市| 东乡县| 綦江县| 千阳县| 四平市| 大同市| 普兰店市| 睢宁县| 凉城县|