原创 做一個2ASK試驗 之一

 2ASK調試模式比較簡單,就是用有信號和沒有信號來表示0,1。現在問題就是如何從基帶層面判斷一個信號是有還是沒有。當然是通過幅度。我們做一個模塊算出波谷的絕對值,和波峯相加就得到了幅度。之後設置兩個閾值,大於這個閾值1就認爲是數值1,小

原创 做一個FSK的收發試驗 之二

有了上述的代碼我們嘗試攢在一起,進行仿真一下。這裏直接將接受和發送都放在一起進行測試。寫代碼如下: `timescale 1ns/1ns module tb ; initial begin $dumpfi

原创 使用官方的HDL試驗ADC數據 之一

這裏主要是對DAC數據通道的UNPACK模塊進行分析和替換。 DAC就是發射部分,就是基帶通過DDS方式“畫”出波形,供給9361進行混頻和發射。我們官方HDL項目裏面提供了從內存DDR3到AD9361引腳的數據通道。我們之前的BLOG都

原创 做一個FSK的收發試驗 之四

正如上述幾個BLOG所描述的,我們這個FSK的基本思路就是傳遞數據0時候一個頻率,傳遞1時候是另外一個頻率。我們通過DDS合成不同的頻率,而通過過零檢測實現對接收到基帶頻率統計週期的計算,從而判斷是在那個頻率點上,以解調出來0或者1。 我

原创 做一個FSK的收發試驗 之五

其實一個項目最重要的是在規劃和實現,在規劃和實現上多動腦子,多花時間,後續調試會很順利。 現在進行最終的調試了。 從效果上進行檢查就是在bb_bit_in輸入,之後在bb_bit_out輸出,看輸入輸出是否對應。作爲比較簡單的測試我們可

原创 例說verilog中的generate

貼出我項目代碼中一部分的generate代碼,跟大家分享一下這種表達方式,期待大家領略其精神實質。 genvar i; generate for(i=0;i<32;i=i+1) begin:down_wr

原创 做一個FSK的收發試驗 之三

之前我們寫好了收發模塊並進行了仿真,這個BLOG我就嘗試在ZEDBOARD+FMCOMMS3試驗平臺上實現。 我們看上篇BLOG實現到的效果,BIT_IN經過了調製,之後經過解調(符號位過0檢測)直接反應到BIT_OUT。 而我們實際在

原创 一個FM發送信號的簡單例子

  // CW SOS FM Transmitter based on http://hamsterworks.co.nz/mediawiki/index.php/FM_SOS module top(input clk, output

原创 AXI_DMAC的寄存器說明

來自:https://wiki.analog.com/resources/fpga/docs/hdl/regmap#folded_1ef0a96bdee03491ff600d93e2c50767_1 這裏是ADI提供的DMAC,不是XIL

原创 嵌入式linux 使用mmap函數實現物理地址到虛擬地址的映射。

  以下程序段來自我的一個實際項目。將物理地址轉換成虛擬地址,之後就可以C語言指針在程序裏面操作了。 #include<stdio.h> #include<stdlib.h> #include<sys/mman.h> #include

原创 一個易用的AXI_LITE轉接模塊 [視頻提綱]

我們在做AXI_LITE外設時候,需要在大量的例子代碼裏面加入自己的寄存器和邏輯。不但麻煩而且很容易出錯。 這裏給大家推薦一個轉接口的模塊,將AXI接口轉換成非常簡單的pcore寄存器讀寫操作。 模塊的接口定義是這樣的 :   mo

原创 使用 FFT 進行頻譜分析

下面的示例說明了如何使用 FFT 函數進行頻譜分析。FFT 的一個常用場景是確定一個時域噪聲信號的頻率分量。 首先創建一些數據。假設是以 1000 Hz 的頻率對數據進行的採樣。首先爲數據構造一條時間軸,時間範圍從 t = 0 至 t =

原创 發一個信號邊緣檢測的小模塊

我們來檢測一個信號上升邊沿或者下降邊緣的到來,可以用此小模塊: /* edge_det edge_det( .clk(), .sig(), .pos(), .neg() ); */ module edge_det( input cl

原创 做一個FSK的收發試驗 之一

這裏使用我們之前寫好的簡易的DDS模塊。我們先回顧一下用到的這個my_dds模塊。 /* my_dds my_dds( .clk( ) , .rst( ) , .clr ( ) , .cnt( ) , .step( ) , .sin

原创 一個非常棒的CDC實現方法

 // // Copyright 2014 Ettus Research LLC // Copyright 2018 Ettus Research, a National Instruments Company // // SPDX