<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于SOPC技術(shù)的虛擬示波器設(shè)計(jì)

          基于SOPC技術(shù)的虛擬示波器設(shè)計(jì)

          作者: 時(shí)間:2011-09-23 來(lái)源:網(wǎng)絡(luò) 收藏
          示波器系統(tǒng)構(gòu)建及NiosⅡ軟件開(kāi)發(fā)#e#

          本文引用地址:http://www.ex-cimer.com/article/187303.htm

            2 示波器系統(tǒng)構(gòu)建及NiosⅡ軟件開(kāi)發(fā)

            2.1 示波器系統(tǒng)構(gòu)建

            本文采用ALTERA公司的NiosⅡ軟核處理器,并利用FPGA設(shè)計(jì)虛擬示波器系統(tǒng)。ALTERA 公司的NiosⅡ軟核處理器是一個(gè)32位RISC嵌入式處理器,具有5級(jí)流水線、采用數(shù)據(jù)和指令分離的Harvard結(jié)構(gòu)、提供眾多標(biāo)準(zhǔn)外設(shè)和軟件集成開(kāi)發(fā)環(huán)境。

            進(jìn)行基于Nios Ⅱ 的SOPC 系統(tǒng)開(kāi)發(fā)時(shí),可利用ALTERA提供的SOPC插件,進(jìn)行外設(shè)和CPU的配置,并提供自定義IP的構(gòu)建方法。在虛擬示波器系統(tǒng)中,需要開(kāi)發(fā)符合AVALON總線的示波器模塊,并加入到自定義IP中。示波器模塊實(shí)體程序如下:


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


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

            2.2 NiosⅡ軟件開(kāi)發(fā)

            實(shí)踐證明,當(dāng)系統(tǒng)的復(fù)雜程度達(dá)到一定時(shí),采用嵌入式操作系統(tǒng)不僅會(huì)簡(jiǎn)化程序員工作、提高CPU利用率,而且會(huì)提高系統(tǒng)可靠性。因此本系統(tǒng)的下位機(jī)軟件采用嵌入式操作系統(tǒng)。microc/os-Ⅱ是1個(gè)性能優(yōu)良的嵌入式多任務(wù)實(shí)時(shí)操作系統(tǒng),穩(wěn)定度高、安全性好;同時(shí)NiosⅡ開(kāi)發(fā)環(huán)境中集成了性能良好的、免費(fèi)的microc/os-Ⅱ估算版,因此虛擬示波器系統(tǒng)采用該操作系統(tǒng)。

            NiosⅡ的軟件開(kāi)發(fā)一般采用分層的方式進(jìn)行,它采用類(lèi)似Linux的設(shè)備文件系統(tǒng)來(lái)管理設(shè)備,采用HAL(硬件抽象層)完成硬件相關(guān)設(shè)備的封裝操作,因此每個(gè)CPU外設(shè)都需要有相應(yīng)的驅(qū)動(dòng)程序。虛擬示波器系統(tǒng)中,NiosⅡ的驅(qū)動(dòng)分層結(jié)構(gòu)如圖6所示。


            虛擬示波器系統(tǒng)需要為定義的IP設(shè)計(jì)相應(yīng)的驅(qū)動(dòng)程序,對(duì)于最底層與硬件相關(guān)的操作,NiosⅡ提供了IOWR(base,offerset,data)和IORD(base,offerset)2個(gè)宏,分別用于對(duì)寄存器的讀、寫(xiě)操作。這里,base為虛擬示波器驅(qū)動(dòng)程序的基地址,其自動(dòng)生成;offerset為指被操作的寄存器在該設(shè)備中的偏移地址。

            2.3 嵌入式USB協(xié)議棧開(kāi)發(fā)

            USB協(xié)議復(fù)雜,虛擬示波器系統(tǒng)開(kāi)發(fā)的USB協(xié)議棧基于microc/os-Ⅱ,并采用了如圖7的分層結(jié)構(gòu),以減少開(kāi)發(fā)調(diào)試的難度。


            硬件抽象層和命令接口層都與硬件相關(guān),硬件抽象層負(fù)責(zé)對(duì)SX2的寄存器進(jìn)行讀寫(xiě)操作,而命令接口則實(shí)現(xiàn)與SX2的工作方式有關(guān)的操作;協(xié)議層與平臺(tái)無(wú)關(guān),其主要完成USB的枚舉及各端口數(shù)據(jù)處理;應(yīng)用層完成對(duì)提供調(diào)用的函數(shù)進(jìn)行封裝,應(yīng)用層提供了簡(jiǎn)單的API接口,其利用senddata函數(shù)發(fā)送數(shù)據(jù)到主機(jī),同時(shí)利用recdata函數(shù)從主機(jī)接收數(shù)據(jù)以及廠商請(qǐng)求的函數(shù),上層程序只要簡(jiǎn)單地調(diào)試這3個(gè)函數(shù)而無(wú)需關(guān)注USB協(xié)議,即可完成虛擬示波器的USB通信。



          關(guān)鍵詞: SOPC 虛擬 波器設(shè)計(jì)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();