久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > 基于SOPC技術的虛擬示波器設計

基于SOPC技術的虛擬示波器設計

作者: 時間:2011-09-23 來源:網絡 收藏
示波器系統構建及NiosⅡ軟件開發#e#

本文引用地址:http://www.cqxgywz.com/article/187303.htm

  2 示波器系統構建及NiosⅡ軟件開發

  2.1 示波器系統構建

  本文采用ALTERA公司的NiosⅡ軟核處理器,并利用FPGA設計虛擬示波器系統。ALTERA 公司的NiosⅡ軟核處理器是一個32位RISC嵌入式處理器,具有5級流水線、采用數據和指令分離的Harvard結構、提供眾多標準外設和軟件集成開發環境。

  進行基于Nios Ⅱ 的SOPC 系統開發時,可利用ALTERA提供的SOPC插件,進行外設和CPU的配置,并提供自定義IP的構建方法。在虛擬示波器系統中,需要開發符合AVALON總線的示波器模塊,并加入到自定義IP中。示波器模塊實體程序如下:


  在SOPC插件中,將示波器模塊等自定義模塊集成為IP核,分別將NiosⅡJTAG_UART、FLASH以及SRAM等IP核加入虛擬示波器系統中,SOPC系統配置圖如圖5所示。


  配置完成后,生成系統,并在QuartusⅡ中進行引腳配置,然后綜合、布線,生成配置文件,通過JTAG 對FPGA進行配置,即可獲得虛擬示波器系統的信息處理部分硬件電路。

  2.2 NiosⅡ軟件開發

  實踐證明,當系統的復雜程度達到一定時,采用嵌入式操作系統不僅會簡化程序員工作、提高CPU利用率,而且會提高系統可靠性。因此本系統的下位機軟件采用嵌入式操作系統。microc/os-Ⅱ是1個性能優良的嵌入式多任務實時操作系統,穩定度高、安全性好;同時NiosⅡ開發環境中集成了性能良好的、免費的microc/os-Ⅱ估算版,因此虛擬示波器系統采用該操作系統。

  NiosⅡ的軟件開發一般采用分層的方式進行,它采用類似Linux的設備文件系統來管理設備,采用HAL(硬件抽象層)完成硬件相關設備的封裝操作,因此每個CPU外設都需要有相應的驅動程序。虛擬示波器系統中,NiosⅡ的驅動分層結構如圖6所示。


  虛擬示波器系統需要為定義的IP設計相應的驅動程序,對于最底層與硬件相關的操作,NiosⅡ提供了IOWR(base,offerset,data)和IORD(base,offerset)2個宏,分別用于對寄存器的讀、寫操作。這里,base為虛擬示波器驅動程序的基地址,其自動生成;offerset為指被操作的寄存器在該設備中的偏移地址。

  2.3 嵌入式USB協議棧開發

  USB協議復雜,虛擬示波器系統開發的USB協議棧基于microc/os-Ⅱ,并采用了如圖7的分層結構,以減少開發調試的難度。


  硬件抽象層和命令接口層都與硬件相關,硬件抽象層負責對SX2的寄存器進行讀寫操作,而命令接口則實現與SX2的工作方式有關的操作;協議層與平臺無關,其主要完成USB的枚舉及各端口數據處理;應用層完成對提供調用的函數進行封裝,應用層提供了簡單的API接口,其利用senddata函數發送數據到主機,同時利用recdata函數從主機接收數據以及廠商請求的函數,上層程序只要簡單地調試這3個函數而無需關注USB協議,即可完成虛擬示波器的USB通信。



關鍵詞: SOPC 虛擬 波器設計

評論


相關推薦

技術專區

關閉