新聞中心

        EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 基于Windows和USRP數(shù)字對(duì)講機(jī)收發(fā)系統(tǒng)設(shè)計(jì)

        基于Windows和USRP數(shù)字對(duì)講機(jī)收發(fā)系統(tǒng)設(shè)計(jì)

        作者:張興龍 曾捷 劉莉莉 粟欣 時(shí)間:2013-09-23 來(lái)源:電子產(chǎn)品世界 收藏

          而用VC開發(fā)通信協(xié)議程序比較方便,的通用驅(qū)動(dòng)UHD也是用VC開發(fā)的,相比較與Simulink和Labview,在VC上開發(fā),更具優(yōu)勢(shì),更適合本項(xiàng)目的開發(fā)。并且Simulink和Labview都只支持2,開發(fā)還不是很成熟,工具也不方便[4][5]。本次驗(yàn)證系統(tǒng)采用的是1,USRP1采用的是USB2.0接口,相對(duì)于USRP2以太網(wǎng)接口簡(jiǎn)單方便,母版上采用的是Altera的芯片,容易開發(fā),并且價(jià)格便宜。所以,采用USRP1在上用VC進(jìn)行開發(fā)。

        本文引用地址:http://www.104case.com/article/170161.htm

        USRP在上開發(fā)接口

          UHD是由Ettus Resarch開發(fā)的,為其產(chǎn)品提供宿主驅(qū)動(dòng)(host driver)和API。本次設(shè)計(jì)在平臺(tái)下,采用UHD驅(qū)動(dòng)。在安裝UHD驅(qū)動(dòng)時(shí),需要安裝cmake,Boost,libUSB等插件,然后解壓UHD源碼,通過(guò)cmake交叉編譯實(shí)現(xiàn),可以得到UHD下面的各個(gè)項(xiàng)目工程。Boost和libUSB這兩個(gè)庫(kù)在cmake編譯中都需要進(jìn)行配置,否則編譯過(guò)不去。這些插件主要作用就是將UHD下面的Linux源代碼通過(guò)cmake等交叉編譯生成Windows下面的C代碼。

          安裝好后可以連接上USRP,通過(guò)里面的測(cè)試實(shí)例,可以看到USRP是否正確連上。正確連上會(huì)顯示如下信息:圖中的參數(shù)是可配置的。

          然后,我們就可以調(diào)用UHD下面的一些API函數(shù),在本次項(xiàng)目中主要參考的就是底層的send()和recv()。里面的程序全是通過(guò)類來(lái)實(shí)現(xiàn)的。在Windows平臺(tái)上,USRP提供的可配參數(shù)主要如表2所示。

          但是send()和recv()收發(fā)不滿足規(guī)定的要求,并且在進(jìn)行收發(fā)轉(zhuǎn)換時(shí),時(shí)序處理不過(guò)來(lái)。為了方便上層調(diào)用,將配置分為三部分,對(duì)UHD下面的接口函數(shù)進(jìn)行了重新封裝,如表3所示。

          在configure()里面主要是創(chuàng)建了一個(gè)USRP,它花時(shí)較長(zhǎng),需要返回一些USRP的子板和母版信息,還要導(dǎo)入一些映像文件,所以采用單獨(dú)分開配置,在程序調(diào)用之前配置一次就可以。configure_recv()和configure_send()主要是配置一些收發(fā)的具體參數(shù),就是上面介紹的主要參數(shù)。這樣將配置分開,是為收發(fā)轉(zhuǎn)換準(zhǔn)備的,方便上層調(diào)用。Mod_send()主要負(fù)責(zé)將上層來(lái)的數(shù)據(jù)進(jìn)行調(diào)制然后調(diào)用底層send()將數(shù)據(jù)發(fā)送出去,Demod_recv()主要負(fù)責(zé)調(diào)用底層recv()并將接收的數(shù)據(jù)解調(diào)返回給上層。

        收發(fā)系統(tǒng)實(shí)現(xiàn)及測(cè)試

          系統(tǒng)平臺(tái)搭建

          系統(tǒng)平臺(tái)基于軟件無(wú)線電的架構(gòu),基帶處理部分按照協(xié)議由軟件模塊來(lái)實(shí)現(xiàn),包括組幀、同步、信道接入、BPTC信道編碼等,這部分主要在PC機(jī)上完成。射頻部分由硬件模塊USRP完成,采用400M的射頻子板,與PC之間通過(guò)USB2.0進(jìn)行通信。語(yǔ)音模塊由AMBE-1000來(lái)完成,本次系統(tǒng)中語(yǔ)音板是插在一個(gè)51最小系統(tǒng)上,51最小系統(tǒng)主要負(fù)責(zé)AMBE-1000語(yǔ)音板的驅(qū)動(dòng)和它與PC機(jī)之間的串口通信。具體系統(tǒng)架構(gòu)如圖3。

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        linux相關(guān)文章:linux教程


        模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理


        數(shù)字通信相關(guān)文章:數(shù)字通信原理


        數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理


        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 喀喇沁旗| 滕州市| 广南县| 绥棱县| 卓资县| 阿坝| 天等县| 通道| 九江县| 鹿邑县| 中方县| 镇坪县| 环江| 双江| 新宾| 时尚| 革吉县| 个旧市| 武城县| 临沂市| 玛曲县| 洛隆县| 昆山市| 迁西县| 延安市| 宁津县| 永平县| 日照市| 申扎县| 太仓市| 合山市| 阜平县| 兰溪市| 宜君县| 黎城县| 诸暨市| 锡林郭勒盟| 赤水市| 康乐县| 建水县| 大邑县|