《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于Nios II與LabVIEW的任意波形發生器實現
基于Nios II與LabVIEW的任意波形發生器實現
林青松,王應麗
摘要: 以Altera公司的EP1C12芯片為SOPC系統的載體,介紹了基于嵌入式軟核處理器Nios II的DDS任意波形發生器的設計和實現。
Abstract:
Key words :

    摘 要:Altera" title="Altera">Altera公司的EP1C12芯片為SOPC系統的載體,介紹了基于嵌入式軟核處理器Nios II的DDS任意波形發生器" title="波形發生器">波形發生器的設計和實現。
    關鍵詞: 任意波形發生器  直接數字頻率合成" title="直接數字頻率合成">直接數字頻率合成  可編程片上系統

 

    目前,基于直接數字頻率合成DDS(Direct Digital Frequency Synthesis) 技術的任意波形發生器在設計上多采用FPGA" title="FPGA">FPGA結合微處理器的形式。DDS部分功能由FPGA來實現,微處理器芯片用于完成控制功能,這種結構電路復雜,開發周期長,系統的軟硬件升級也存在困難。SOPC技術基于FPGA芯片,將處理器、存儲器、I/O等系統設計需要的模塊集成到一起,軟硬件可剪裁,并具備在系統可編程的功能。本文基于SOPC技術,把DDS 模塊和微處理器控制部分集成到單片FPGA芯片內部,大大減化了系統電路,提高了集成度。
1 基于DDS的任意波形發生器組成原理
    DDS技術建立在采樣定理的基礎上,其基本原理如圖1所示,主要由相位累加器、波形ROM、DAC以及低通濾波器等組成。N位相位累加器在取樣時鐘的控制下與頻率控制字K所決定的相位增量相加;相位累加器的高位輸出作為波形ROM的地址,實現波形相位到幅值的轉換;波形數據經DAC轉換成模擬量,通過濾波器輸出相對平滑的波形。輸出頻率fout與時鐘頻率fclk、相位累加器的位數N及頻率控制字K的關系為fout=K×fclk/2N

 

    用DDS實現任意波形發生器的途徑是把存放波形量化表的ROM換成可以改寫的RAM,利用上位機生成所需波形的數據來改變存放在波形RAM中的數據,再由DDS系統將波形合成出來,就可以產生出所需的任意波形。
2 系統硬件電路的設計
    本系統的功能要求是:接收從上位機傳來的控制信息和數據(包括給定的波形、頻率、初相位和幅值信息),然后經DDS 輸出相應參數的波形。系統通過這種方式可輸出規則波形及任意波。在輸出波形的同時,可以從上位機對波形參數進行實時調整。頻率調制的范圍是0.1Hz~2.5MHz,調頻步長為0.1Hz。輸出幅度范圍:-10V~+10V。
    根據功能將系統分為控制部分、波形產生部分以及通信部分。控制部分功能主要由嵌入FPGA內部的軟核處理器Nios II來完成,同時在FPGA剩余的邏輯單元上設計DDS主通道部分,實現波形生成。Nios II的UART IP實現與上位機的波形數據傳輸。
    系統硬件電路結構框圖如圖2所示,選用了Altera公司Cyclone系列FPGA,型號為EP1C12,有高達20 060個邏輯單元和288Kbit的RAM。它提供了全功能的鎖相環(PLL),Altera的Nios II嵌入式處理器的IP資源可以用于Cyclone系列FPGA的開發。Nios II系統通過串口與其他RS232設備相連,要遵循RS232C標準中定義的電平規范,不能直接使用FPGA I/O端口上的LVTTL(一般為3.3V)電平,需要有電平轉換芯片來完成從LVTTL電平到RS232C電平的轉換。電平轉換芯片采用了SP3232ECA芯片。D/A轉換部分電路如圖3所示,由AD768芯片結合起緩沖作用的AD811來完成。為了達到最終±10V的輸出電壓,在AD811的輸出端添加了功放芯片LM318D進行電壓放大。

 

 

    在PCB板的設計中,采用核心板加底板的設計方案,這種模塊化的設計為以后板子的安裝、調試與檢修等提供了方便。

3 FPGA芯片中Nios II系統硬件部分的構建
    FPGA芯片總體設計如圖4所示。根據所設計的任意波形發生器的要求,在Quartus II的SOPC Builder中構建Nios II系統。該系統包括以下組件:


    (1)Nios II標準型內核。不選用硬件乘法器,指令緩存為4KB,選用level 1的調試模式。這種內核約占1 200個LE(邏輯單元)。
    (2)PIO接口。系統中為Nios II處理器共設計了三個PIO接口:PIO_fkey、PIO_pkey、PIO_sel。其中,PIO_fkey作為Nios II處理器從上位機獲得的頻率控制字到DDS的接口,設計為28位;PIO_pkey為相位控制字接口,設計為10位;3位的 PIO_sel接口作為多路選擇器的控制信號用。
    (3)顯示與鍵盤。LCD控制器使用Nios II提供的IP Core;鍵盤接口使用基于Alvon總線的自定義接口。
    另外,還需要添加SDRAM控制器、FLASH控制器、Avalon三態總線橋、JTAG UART core(提供給主機通過FPGA上的JTAG管腳訪問芯片的功能)、UART接口控制器(使用時,在彈出的對話框中需設置好波特率、數據位等參數)、timer_0計時器、system ID和用戶邏輯接口(實現Nios II與片上RAM的通信)。
    在FPGA的剩余LE上,還需用Verilog語言編程實現DDS部分的電路。DDS模塊在傳統的DDS結構之上進行了改進,使用了雙端口RAM以達到波形的過零切換,使得任意波形發生器可以使用在一些要求苛刻的場合。改進后的DDS模塊包含相位累加器、波形存儲RAM 和D/A等幾個部分。DDS用Verilog HDL實現之后的仿真結果如圖5所示。


    整個SOPC系統的片上硬件構建完成后,在Quartus II中對頂層設計進行編譯,編譯的結果如圖6所示,從使用情況可以看出選用的FPGA芯片是非常合理的,既滿足了當前的需要,又有一定的冗余,為系統以后的升級提供了條件。

 

4 任意波形發生器系統軟件的設計
    整個DDS任意波形發生器的軟件包括兩個部分:下位機的運行于Nios II系統上基于功能實現的軟件;上位機運行的基于儀器操作的人機界面的軟件。
    下位機的軟件開發使用Altera公司的Nios II IDE集成開發環境。Nios II IDE是Nios II系列嵌入式處理器的主要軟件開發工具。用戶可以在Nios II IDE中完成所有的軟件開發任務,如編輯、編譯、下載、調試和閃存編程。

    下位機程序流程如圖7所示。上電以后,進行系統各部分的初始化,然后等待從上位機串口發來的信息,Nios II處理器在收到消息之后,產生串口中斷,將收到的數據依次放入緩沖區,之后要對收到的數據根據通信協議進行數據的處理和解釋工作,并根據發來的命令調用相應的功能子程序,最終將數據送往D/A進行轉換。串口中斷程序主要完成串口的中斷響應,將串口接收寄存器的數據放入接收緩沖區,并修改緩沖區的指針,同時如果發送緩沖區中有待發送數據,而發送寄存器又為空的話,就發送緩沖區中數據。串口處理和解釋程序主要根據協議內容對緩沖區中接收過來的數據進行判斷,如果是起始碼,則將其后的數據認為是命令碼,命令碼后的數據為命令參數,然后再根據命令碼的具體形式,依據制定的協議執行相應的代碼,完成來自上位機的命令。


    上位機軟件的開發環境采用NI(美國國家儀器公司)的LabVIEW 8.0。根據上位機所要完成的任務,采用LabVIEW 8.0設計了兩種控制界面,一種用于以公式形式的波形輸入,用戶直接輸入波形公式,系統采集相應的波形數據點,通過串口送入下位機,同時可以在控制面板上進行波形參數的調節。使用公式輸出用戶需要的波形,雖然波形非常精確,但卻不能囊括現實世界中遇到的一些無法用公式來表達的波形,為彌補使用公式輸出的缺憾,設計了另一種采用鼠標繪制波形的方式,用戶移動鼠標可繪制出自己需要的任意波形,系統采集相應的波形數據點,通過串口送入下位機中。兩種控制界面分別如圖8、圖9所示。

 

5 試驗結果
    圖10(a)為正弦波的輸出波形,頻率為100Hz, 圖10 (b)波形頻率為1MHz。兩個波形的輸出幅度給定值均為-1V~+1V。試驗表明,輸出正弦波的幅度誤差很小,基本上在±1.5%左右。圖10(c)、圖10(d)分別為利用公式輸入面板和鼠標輸入面板得到的波形。


    試驗結果表明,對于從上位機輸入的公式形式的波形,系統可以進行精確的輸出。利用鼠標輸入面板得到的任意波形輸出失真較小,波形質量較好。

    本文采用SOPC技術將任意波形發生器的DDS模塊與控制模塊集成到單片FPGA芯片中。結果表明,設計的任意波形發生器實現了系統所要求的功能,技術指標也達到了要求。因此,在單片FPGA上實現任意波形發生器是可行的。與傳統的采用控制器與FPGA結合的設計方法相比,它有效地簡化了系統電路結構,提高了集成度。
參考文獻
[1] 潘松,黃繼業,曾毓.SOPC技術實用教程[M].北京:清華大學出版社,2005:1-328.
[2] 吳繼華,王城. Altera FPGA/CPLD 設計(基礎篇)[M].北京:人民郵電出版社,2005:1-236.
[3] 張福貴,姚振東.基于DDS的高性能信號發生器的實現[J].成都信息工程學院學報,2006,21(1):12-17.
[4] 崔建鵬,趙敏,江帆.采用DDS 技術實現的虛擬任意波形發生器[J].計算機測量與控制,2003,11(7):533-555.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 波多野结衣在线免费视频 | 中文字幕一区二区区免 | www.瑟瑟| 天堂va在线高清一区 | 大好硬好深好爽想要视频 | 91短视频在线观看 | 国产男女猛烈无遮档免费视频网站 | 日日碰狠狠添天天爽 | 欧美日本国产 | 欧美老妇人与禽交 | 羞羞视频网站免费入口 | 亚洲一区色图 | 成年网在线观看免费观看网址 | 亚洲视频免费观看 | 日日干日日草 | 天天操夜夜夜 | 在线黄色小视频 | 成人观看天堂在线影片 | 午夜在线看 | 97人洗澡人人澡人人爽 | 在线看日韩 | 99在线看 | 在线成人a毛片免费播放 | 欧美性精品 | 美女黄网站免费 | 国产1区2区三区不卡 | 在线韩国伦理 | 亚州国产| 宅男色影院 | 亚洲国产精品久久久久久 | 在线亚洲精品国产波多野结衣 | 韩国在线看 | 午夜精品视频在线 | 啪啪网址大全 | 国产精品乱 | 窝窝人体色 | 日韩免费高清一级毛片在线 | 成人福利片 | 日本高清网站 | 在线免费午夜视频 | 成年人在线观看视频免费 |