標籤貼|標籤機|條碼貼|條碼機 - 專業標籤製造
    關於我們   產品介紹   標籤機介紹   條碼機介紹   最新消息
最新消息 > 在FPGA上實現多路正弦波信號發生器芯片的設計

文章来源:由「百度新聞」平台非商業用途取用"http://m.elecfans.com/article/754382.html"

2.2OR1200處理器OpenRISC1200處理器(簡稱OR1200)是Opencores組織發布維護的基于GPL并屬于OpenRISC1000序列的一款RISC處理器。OR1200是32位RISC,它具有哈佛結構、5級整數流水線,支持虛擬內存(MMU),帶有基本的DSP功能,并且外部數據和地址總線接口符合Wishbone標準[2]。OR1200通用框架由CPUDSP核心、直接映射的數據Cache、直接映射的指令Cache、基于DTLB的Hash表的數據MMU和指令MMU、電源管理單元及接口、Tick定時器,調試單元及開發接口、中斷控制器和中斷接口、指令及數據Wishbone主機接口[3]組成。2.3片內RAM設計片內RAM由Altera公司的EDA工具QuartusII中MegaWizardPlug-InManager…生成。它為單端口RAM,數據總線32位,大小為8KB。編寫的固化軟件程序編譯鏈接后轉換為hex格式,在RAM初始化時固化到其中。由QuartusII生成的片內RAM模塊不具有Wishbone接口,本設計為其添加了1個Wishbone總線接口。2.4DDS模塊DDS模塊也是Opencores上的開源IP軟核,沒有標準的Wishbone接口模塊,本設計為DDS模塊添加了1個Wishbone總線接口。該DDS模塊主要有兩類配置數據:頻率控制字和相位控制字。給DDS模塊加入2個硬件寄存器DDS_FTW和DDS_PHASE,利用這2個寄存器來控制連接到Wishbone總線接口上的輸出數據是頻率控制字還是相位控制字。2.5UART控制器模塊UART控制器模塊是Opencores上符合工業標準16550A的開源IP核。該IP核的設計采用Wishbone總線接口規范,支持可選擇的32位數據模式和8位數據模式;使用FIFO操作實現,寄存器及所實現的具體功能符合NS16550A標準[4]。在本設計中,UART控制器的波特率默認值為9600bs,UART控制器模塊用于與專用芯片外部UART串口通信,通過URXD引腳接收外部串口數據,通過UTXD向外部串口發送數據。2.6Wishbone總線主從設備分配Wishbone總線仲裁采用Opencores上開源軟核wb_conmax,為816結構,即在該Wishbone總線模塊中可以使用8個主設備和16個從設備[5]。本系統中,OR1200的指令和數據單元為Wishbone總線的主設備;片內RAM模塊、URAT控制器模塊以及3個DDS模塊為Wishbone總線的從設備。根據各子模塊在Wishbone總線上的位置和wb_conmax的邏輯實現,相應從設備的地址分配如下:片內RAM:0x00000000DDS1:0x10000000DDS2:0x20000000DDS3:0x30000000UART:0x900000002.7頂層模塊設計本系統頂層模塊例化各子模塊,采用Wishbone總線接口技術將各個子模塊集成在一起,為每個子模塊分配時鐘和復位信號,實現硬件平臺的總體設計。設計中所用FPGA開發板的時鐘為50MHz,OR1200處理器時鐘為25MHz,Wishbone總線時鐘為25MHz,3個DDS模塊時鐘為100MHz。其他模塊的時鐘都為25MHz,設計中所用時鐘都是通過FPGA芯片中的PLL分頻及倍頻實現的。正弦波專用芯片的時鐘設為各模塊時鐘的最小值(25MHz),3個DDS模塊的100MHz時鐘通過PLL倍頻實現。各模塊的復位信號由頂層模塊統一分配。3專用芯片固化程序設計正弦波信號發生器專用芯片的固化程序主要包括UART控制器初始化程序和串口數據處理程序兩部分:UART控制器初始化程序初始化UART控制器中的各個寄存器,使該控制器能夠正常工作。串口數據處理程序采用查詢方式接收串口數據,將接收到的數據賦給相應寄存器變量,根據式(1)和式(2)進行計算,得到3路DDS模塊的頻率控制字和相位控制字,其固化程序流程圖如圖3所示。固化程序首先初始化OR1200處理器的各個寄存器,然后對UART控制器進行初始化,最后循環處理串口數據。

關鍵字標籤:Signal Generator in Taiwan