<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    小梅哥和你一起深入學習FPGA之mif文件的制作

    發布時間:2016-1-29 10:27    發布者:designapp
    關鍵詞: FPGA , mif
      本文檔主要講解實現一個1024點的16位正弦波數據的生成,并將該數據制作成quartus II使用的mif文件,使用此文件,我們便可以使用FPGA,基于直接數字合成(DDS)原理生成標準的正弦波,即實現信號發生器的功能。小梅哥的DDS實驗已經做完,目前還沒有進行文檔的編寫。朋友今天邀請我為他制作一個1024點的16位的正弦波mif文件,實現之后,發現過程中涉及到MATLAB軟件、Excel軟件、Quartus II軟件的使用,每個過程簡單,但是步驟較多,因此在這里以文檔的方式記錄下來,分享給需要的朋友。
      首先,打開MATLAB軟件,小梅哥這里使用的版本為MATLAB 2012b。新建一個Script文件,操作為File —>New—>Script。在該文件中輸入以下內容:
      F1=1; %信號的頻率
      Fs=1024;%采樣頻率
      P1=0;%信號初始相位
      N=1023;%采樣點數為N+1
      t=[0:1/Fs:N/Fs];%采樣時刻
      ADC=32767;%直流分量
      A=32767;%信號幅度
      s=A*sin(2*pi*F1*t + pi*P1/180) + ADC;%生成信號
      plot(s);%繪制圖形
      即可生成我們所需要的數據,其中最后一行為繪制圖形,是為了驗證我們所生成的數據是否滿足要求,不是一定需要。輸入完成以后,點擊“save and run”按鈕,如下圖所示。
      


      將文件保存在你自己的路徑下面,命一個有意義的名字,這里我暫時保存在桌面,命名為sin16_1024。保存后會彈出如下所示的對話框,選擇Add to Path即可。
      


      隨后,會彈出如下所示的界面,該界面便是以我們生產的數據為值,t為時間軸繪制出來的波形,從波形可知為標準的正弦波,你也可以通過放大縮小來具體查看幾個頂點的值,以確定數據是否在自己預期的范圍內。這里,我們直接關掉該界面即可。
      


      這個時候,我們在MATLAB主界面中,右側的workspace欄中,選中name為s的一項,雙擊,便可打開該數組的值,如下所示:
      


      將該表格中的所有數據選中(可選中第一個數據,然后將進度條拉到最后一個數據的位置,按下鍵盤上的shift鍵,鼠標點擊最后一個數據,便可全選了),單擊右鍵,復制即可。然后打開execl軟件,選中A1單元格,ctrl+V(粘貼),即可。
      在表格中,我們會發現,這些數據是帶有2位小數位的,如下圖所示:
      


      而我們的mif文件不支持小數,因此需要將這些數據進行四舍五入。四舍五入的方法非常簡單我們只需要選中行1(在數字1處點擊鼠標左鍵即可選中),單擊鼠標右鍵,選擇設置單元格格式,如下圖所示:
      


      在彈出的界面中選中“數字”選項卡,選擇“數值”,在“小數位數”處輸入0,點擊確定,即可。具體如下圖所示:
      


      設置完成之后我們再看,發現表格中的數據已經全部被四舍五入了,此時的數據,就是我們可以使用的數據了。如下所示:
      


      此時,我們已經完成了mif文件所需數據的生成工作,我們可以將這個表格文件保存,也可以直接開著,不用關閉就行,因為這個文件只是一個中轉。下一步,就是將這些數據生成我們所需要用到的mif文件了。
      打開quartus II軟件,選擇file—>New,在打開的選項卡中,選擇Memory Initialization File,點擊OK。在彈出的mif文件大小設置選項卡中,設置Number of Words為1024,Word Size為16,點擊OK即可,詳細如下所示:
      


      此時,就會建立好一個空白的mif文件,其中所有內容均為0,如下圖所示:
      


      我們將excel表格中的數據選中(可選中第一個數據,然后將進度條拉到最后一個數據的位置,按下鍵盤上的shift鍵,鼠標點擊最后一個數據,便可全選了),單擊右鍵,復制即可。然后回到quartus II的mif編輯界面,在mif文件的任意一個數據位置點擊鼠標左鍵,然后按下鍵盤上的組合鍵ctrl + A(也就是全選),然后單擊鼠標右鍵,選擇paste即可。如下圖
      


      此時,我們發現,所有數據便依次存入了相應的地址中,如下圖所示:
      


      我們點擊quartus II軟件界面上的file—>save,選擇你需要存儲的路徑,這里小梅哥暫時存儲在桌面上,將文件名命名為sin16_1024,即完成了我們所有的工作。因為小梅哥這里沒有創建工程,所以保存完成后quartus II軟件會彈出以下界面,問你是否需新建工程,這里小梅哥只是做演示用,不需要新建工程,因此這里選擇NO。
      


      最后,附上朋友采用該mif文件生成的正弦波的仿真波形圖:
      


      利用此文件,就可以開始你的DDS設計啦。
                                   
                   
    本文地址:http://www.portaltwn.com/thread-160538-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    edu118nn 發表于 2016-2-1 10:14:44
    學習了,更多FPGA資料也找我哦2532176025
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設計風險
    • 想要避免發生災難,就用MPLAB SiC電源仿真器!
    • 更佳設計的解決方案——Microchip模擬開發生態系統
    • 我們是Microchip
    • 貿澤電子(Mouser)專區

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷