国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于FPGA的直接擴頻通信系統設計

FPGA技術江湖 ? 來源:FPGA技術江湖 ? 作者:FPGA技術江湖 ? 2021-07-01 10:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

導讀

本篇適用于有一定通信基礎的大俠,本篇使用的理論不僅僅是擴頻通信。為了便于學習,本章將會以實戰的方式,對整個工程的仿真。并對一些關鍵的仿真結果進行說明。各位大俠可依據自己的需要進行閱讀,參考學習。

第三篇內容摘要:本篇會介紹系統的仿真設計。

仿真

一、模塊的建立及其仿真環境的生成

1.1、在計算機上,找一個沒有中文字符的目錄,新建以下幾個文件:

可以建立的文件,sim_wave.do 是仿真波形保存文件.tt.do。其代碼如下:

#建立 library 名為”work”vlib workvmap work work#編譯當前目錄(。/)中的 top.v、mcu.v …。 vlog -work work -L mtiAvm -L mtiOvm -L mtiUPF 。/top.vvlog -work work -L mtiAvm -L mtiOvm -L mtiUPF 。/mcu.vvlog -work work -L mtiAvm -L mtiOvm -L mtiUPF 。/slaver.vvlog -work work -L mtiAvm -L mtiOvm -L mtiUPF 。/coder.vvlog -work work -L mtiAvm -L mtiOvm -L mtiUPF 。/add_noise.vvlog -work work -L mtiAvm -L mtiOvm -L mtiUPF 。/decoder.vvlog -work work -L mtiAvm -L mtiOvm -L mtiUPF 。/correct.vvlog -work work -L mtiAvm -L mtiOvm -L mtiUPF 。/Correct_Decoder.v#仿真 work 中的 top 模型vsim -novopt work.top

以上是輸入方式進行仿真,也可以直接使用圖形化的方式進行仿真。但沒有開始仿真,因為我們以下還要添加一條語句。但沒有響應的文件。tt.bat 的代碼如下:

echopausevsim -do 。 t.dopause

tt.bat 文件為批處理文件,僅為打開 modelsim、運行 tt.do 文件使用。也可以不使用該文件(以下不會詳細介紹)。

1.2、將對應的代碼寫到相應的文件中(sim_wave.do、tt.bat 文件可以不管)。

1.3、用 modelsim 的打開方式打開 top.v 文件(或者你先打開 modelsim,然后把目錄修改成以上所述的目錄也可)。運行的界面如圖 7(modelsim6.5d):

fcbf9ce4-da13-11eb-9e57-12bb97331649.png

圖中的亂碼均為modelsim不兼容我所使用的notepad軟件編寫的中文字符,大俠均可不以理睬。

1.4、在 Transcript 中輸入”do tt.do”,運行當前目錄下的 tt.do 文件。運行過程中,最后跳出如圖 8 的窗口。如果有錯誤,會在 Transcript 中用紅色字體說明(當然,這里都是英文)。

fccd2f76-da13-11eb-9e57-12bb97331649.png

圖8

在框圖 1 中為整個仿真平臺上的模型,可以點擊模型+展開。框圖 2 顯示當前模型所含的項目。

1.5、添加波形,如圖10、11,對模塊 coder 添加波形,并對波形進行分組。

fcfeef34-da13-11eb-9e57-12bb97331649.png

圖10

fd40f6c2-da13-11eb-9e57-12bb97331649.png

圖11

對所有仿真模型添加波形,并且分組,如圖 12。

fd4bc7e6-da13-11eb-9e57-12bb97331649.png

圖12

1.6、仿真開始 在 Transcript 中輸入”run -all” 等待結果。以上將生成仿真環境的全過程。下面會將對各個模塊進行說明。

二、模塊仿真

2.1、模塊 mcu 仿真

mcu 扮演一個信源產生模塊。

在 send_ena 使能的情況下,當 insourse_ena 為高時,數據從 indatabyte 第 7 位端口輸出到 coder 模塊,圖中發送十六進制 24 的過程,僅在 insourse_ena 為高時發送。該模塊還產生兩個時鐘,兩個時鐘分別是 31 倍的頻率。clk1 和 clk31。

2.2、模塊 coder 仿真

模塊 coder 將對 mcu 傳送的數據進行編碼、擴頻。

圖中的 in_data_buf 為發送碼,當接收到 send_ena 后,先發送頭和數據幀,然后才發送數據如圖中從 133600us 開始發送數據”0010”(十六進制 2)后發送監督碼的”101”,在 177000us 開始發送數據”0100”(十六進制 4)后發送監督碼”110”。所有數據經過信道編碼后,out_data 發送出去。

2.3、模塊 noise 仿真

添加干擾,經 coder 發送的 2bit 數據擴展到 3bit 數據,并與噪聲進行加性。

圖中是對 1bit 數據進行擴頻后,其中 un_noised_data 為輸入數據(無噪聲)、經過與 noise 數據相加,得到數據 noised_data。這模塊就是充當信道中的加性干擾源。

2.4、模塊 decoder 仿真

解擴是本系統的設計重點。它包含同步頭的同步和數據的接收等。

本設計采用一個循環偽隨機作為解擴碼。采用一個 31bit 的寄存器,初始化為級數為 5 的 m 序列,首尾循環。那么,在寄存器每一位上采數,都可以得到一個偽隨機序列。分別得出 31 個 m 序列。而且靠近的寄存器位,采集的 m 序列只有一位的移位。因此,可以采用該方法,在發送端發送的數據,不管為何時發送,在 31bit個寄存器中的 1 個寄存器中與之對應。更通俗的說法,不管發送設備何時開始發送。都可以在 31bit 的寄存器中找到一個寄存器采到的 m 序列與之對應。

由于在 31 比特的寄存器同時采數是比較耗費 FPGA 內部資源,所以本設計采用寄存器的每 10 個 bit 位進行一一處理。如果前 10 個沒能找到對應的 m 序列,則累加到后 10 個,以此類推,在 3 次的累加中,總能完全掃描完 31bit 位的寄存器。此時可以找到對應的比特位。

由于發送設備的數據頭為 10 個”1”和 1 個”0”,而在 10 個”1”中的 1 是延伸的,沒法直接得到相鄰”1”的交界,而在得到合適的 m 序列位后,必須進行同步,同步的方法為采集最后一個”0”作為同步。

在接收完成數據頭后,進行數據幀同步。數據幀是 4bit 數據”0000”和 3bit 監督位”000”。

接收完成數據幀之后才是數據的開始。由于數據比較大,累加基數這里是 100,閥值為 30,那么,當接收到 130,說明接收到一個”1”。

接收的整體工作狀態,sum1~sum10 分別采集 10 個寄存器比特位,當有1 個接收超過 130,說明寄存器該為上的 m 序列可以接收到 1 個”1”,sum 是對數據幀和數據的解擴統計。

一個完整數據解擴的過程,clk31 是采集時鐘,數據為 in_data_buf,從輸入到輸出,延遲一段時間后傳送到解擴模塊。psumi 為解擴的值,通過累加得到sum(in_data[2]判斷。為 1,則加;為 0,則減)。如果 sum 超過 130,說明發送數據為”1”,否則為”0”。(以上為數據”1”的例子)

通過解擴的數據,送到 correct 模塊進行糾錯。

2.5、模塊 correct 仿真

模塊 correct 為糾錯模塊。它將解擴后的數據進行分析,即對漢明碼的反運算。該模塊的仿真過程省略。

2.6、模塊 Slaver 仿真

Slaver 是接收模塊端,它將解擴、糾錯后的數據進行存儲。仿真過程省略。

2.7、模塊 Top 仿真

Top 模塊應該放第一塊講解,因為它是一個仿真平臺,它的子模塊包括 mcu 和slaver。它將兩個模塊的發送接收進行統計、并且進行計算、輸出,并對模塊參數設置。以下設置發送數據比特位為 500 的輸出結果(圖 19、圖 20):

ff2407ae-da13-11eb-9e57-12bb97331649.png

圖19

ff371420-da13-11eb-9e57-12bb97331649.png

圖20

以上是整個設計的仿真過程。

本篇到此結束,直接擴頻通信也到此結束,各位大俠,有緣再見!

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5608

    瀏覽量

    129998
  • 仿真
    +關注

    關注

    54

    文章

    4483

    瀏覽量

    138277
  • 代碼
    +關注

    關注

    30

    文章

    4968

    瀏覽量

    73973

原文標題:原創系統設計精選 | 基于FPGA的直接擴頻通信系統設計(附代碼)

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    芯源CW32W031射頻系統介紹

    ~ 1180MHz,支持半雙工無線通信,支持 0.08kbps ~ 20.4kbps 的低速率模式,支持擴頻因子自動識別和 CAD 功能。 ChirpIoT ?是一種基于線性擴頻信號(Chirp 信號
    發表于 12-30 08:35

    遠距離無線芯動力,穿透干擾穩連接——深入解讀LoRa擴頻技術

    一、什么是LoRa擴頻?LoRa擴頻技術是一種基于直接序列擴頻(DSSS)的先進無線通信技術,通過將信號頻譜擴展至更寬的帶寬,在低功耗條件下
    發表于 12-19 11:06

    LoRa擴頻技術應用

    遠距離無線芯動力,穿透干擾穩連接——解讀LoRa擴頻技術 一、什么是LoRa擴頻? LoRa擴頻技術是一種基于直接序列擴頻(DSSS)的先進
    發表于 12-15 14:26

    CW32W擴頻因子介紹

    擴頻因子:擴頻后chip速率和擴頻前信號速率的比值,直接反映了擴頻增益。 無線射頻CW32W031支持SF因子7~12,支持
    發表于 12-15 08:10

    DSP、FPGA之間SRIO通信的問題?

    目前在使用DSP和FPGA之間通過SRIO的SWRITE事務完成雙向數據通信,大多數情況下都正常,但是在我不停的給DSP進行燒寫程序時,會偶爾出錯,FPGA無法收到DSP下發的數據。偶爾故障情況下buf_lcl_phy_buf_
    發表于 11-15 16:22

    Xilinx FPGA串行通信協議介紹

    Xilinx FPGA因其高性能和低延遲,常用于串行通信接口設計。本文深入分析了Aurora、PCI Express和Serial RapidIO這三種在Xilinx系統設計中關鍵的串行通信
    的頭像 發表于 11-14 15:02 ?2536次閱讀
    Xilinx <b class='flag-5'>FPGA</b>串行<b class='flag-5'>通信</b>協議介紹

    如何使用FPGA實現SRIO通信協議

    本例程詳細介紹了如何在FPGA上實現Serial RapidIO(SRIO)通信協議,并通過Verilog語言進行編程設計。SRIO作為一種高速、低延遲的串行互連技術,在高性能計算和嵌入式系統中廣
    的頭像 發表于 11-12 14:38 ?5768次閱讀
    如何使用<b class='flag-5'>FPGA</b>實現SRIO<b class='flag-5'>通信</b>協議

    e203 軟核如何和FPGA通信

    求教e203 軟核如何和FPGA通信
    發表于 11-07 06:15

    基于FPGA開發板TSP的串口通信設計

    本文詳細介紹基于Terasic FPGA開發板TSP(又名C5P和OSK)和其板載CP2102N USB-UART橋接芯片的串口通信系統設計與實現。系統采用Verilog HDL編寫UART收發控制器,通過CP2102N實現
    的頭像 發表于 10-15 11:05 ?4468次閱讀
    基于<b class='flag-5'>FPGA</b>開發板TSP的串口<b class='flag-5'>通信</b>設計

    云翎智能林場應急通信自組網:從災前預警到災后重建的全周期應用

    云翎智能林場應急通信自組網通過"北斗+5G+AI"技術融合,構建了覆蓋災前預警、災中響應、災后重建的全周期應急通信體系。該自組網系統依托動態MESH自組網與擴頻通信技術,在密林
    的頭像 發表于 07-05 14:34 ?540次閱讀
    云翎智能林場應急<b class='flag-5'>通信</b>自組網:從災前預警到災后重建的全周期應用

    MAX13253ATB+T 1A、擴頻、推挽式變壓器驅動器,用于隔離電源

    Ω@4.5V)直接驅動變壓器原邊,效率高達90% 引腳可選擴頻振蕩器 (250kHz/600kHz)與 擺率控制 ,降低30% EMI輻射 固定50%占空比設計,徹底消除變壓器直流偏磁風險 10引腳
    發表于 06-18 11:56

    是否有關于如何通過 I2C 總線上的 uProcessor 或 FPGA 與芯片通信的文檔?

    上的 uProcessor 或 FPGA 與芯片通信的文檔? 3. 關于我們 CAN 使用哪種芯片/系列的任何建議? 我們所關心的只是警局的回讀。
    發表于 05-29 06:13

    RK3576+紫光同創FPGA并口通信方案 基于DSMC/FlexBus并口的RK3576J與FPGA通信方案

    為大家帶來基于DSMC/FlexBus并口的RK3576J與FPGA通信方案
    的頭像 發表于 05-20 11:45 ?4704次閱讀
    RK3576+紫光同創<b class='flag-5'>FPGA</b>并口<b class='flag-5'>通信</b>方案 基于DSMC/FlexBus并口的RK3576J與<b class='flag-5'>FPGA</b><b class='flag-5'>通信</b>方案

    頻率擴頻設計的關鍵參數

    在電源管理系統的設計中,頻率擴頻技術(Frequency SpreadSpectrum, FSS)是優化電磁兼容性(EMI)的關鍵手段。通過在開關頻率中引入可控的抖動,FSS調制電源變換器的開關頻率
    的頭像 發表于 04-16 13:55 ?919次閱讀

    摩托羅拉GM300擴頻率方法

    摩托羅拉GM300 擴頻率方法
    發表于 04-08 11:21 ?7次下載