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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 藍(lán)牙無(wú)線耳機(jī)設(shè)計(jì)及VxWorks移植方法

          藍(lán)牙無(wú)線耳機(jī)設(shè)計(jì)及VxWorks移植方法

          作者: 時(shí)間:2014-11-21 來(lái)源:網(wǎng)絡(luò) 收藏

            耳機(jī)是一種無(wú)線語(yǔ)音傳輸技術(shù),是基于耳機(jī)在無(wú)線技術(shù)方面的延伸。它是相配于技術(shù)而進(jìn)入多媒體個(gè)人區(qū)域網(wǎng)絡(luò)的。隨著技術(shù)的日趨完善和藍(lán)牙產(chǎn)品市場(chǎng)占有率逐漸提升,藍(lán)牙耳機(jī)在技術(shù)上也將不斷得到改進(jìn),使之成為個(gè)人多媒體區(qū)域網(wǎng)絡(luò)的主要配套產(chǎn)品。藍(lán)牙耳機(jī)的應(yīng)用范圍除了手機(jī)以外,PDA、無(wú)繩電話應(yīng)用、汽車免提工具、電話終端等,也是藍(lán)牙耳機(jī)發(fā)揮技術(shù)優(yōu)勢(shì)的應(yīng)用領(lǐng)域。本文設(shè)計(jì)的藍(lán)牙耳機(jī)支持藍(lán)牙規(guī)范1.2版本,傳輸距離達(dá)10 m,傳輸速率達(dá)723.2 kb/s,并且具有低功耗和(幾乎)無(wú)輻射等技術(shù)優(yōu)點(diǎn)和優(yōu)勢(shì)。

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

            1 藍(lán)牙技術(shù)

            藍(lán)牙作為一種低成本、短距離的無(wú)線連接技術(shù)標(biāo)準(zhǔn),是由Ericsson、IBM、Intel、Nokia和Toshiba五家公司共同倡導(dǎo)的一種全球無(wú)線技術(shù)標(biāo)準(zhǔn),是一種無(wú)線數(shù)據(jù)與語(yǔ)音通信的開(kāi)放性全球規(guī)范。它以低成本的短距離無(wú)線連接為基礎(chǔ),為固定設(shè)備與移動(dòng)設(shè)備通信環(huán)境建立一個(gè)特別連接。其實(shí)質(zhì)是建立通用的無(wú)線空中接口及其控制軟件的公開(kāi)標(biāo)準(zhǔn),實(shí)現(xiàn)設(shè)備問(wèn)的電纜替代。

            藍(lán)牙技術(shù)規(guī)范包括協(xié)議和應(yīng)用規(guī)范兩個(gè)部分。協(xié)議定義了各功能元素各自的工作方式,整個(gè)藍(lán)牙協(xié)議體系結(jié)構(gòu)分為4層,即核心協(xié)議層、線纜替代協(xié)議層、電話控制協(xié)議層和采納的其他協(xié)議層;應(yīng)用規(guī)范則闡述了為了實(shí)現(xiàn)一個(gè)特定的應(yīng)用模型,各層協(xié)議間的運(yùn)轉(zhuǎn)協(xié)同機(jī)制。較典型的應(yīng)用規(guī)范有撥號(hào)網(wǎng)絡(luò)、耳機(jī)(headset)、局域網(wǎng)訪問(wèn)和文件傳輸?shù)?。藍(lán)牙耳機(jī)的協(xié)議棧原理如圖1所示。

            

           

            

           

            2 硬件設(shè)計(jì)

            硬件電路信號(hào)處理與控制部分采用Zeevo公司的基于ARM7的音頻處理器ZV4301。ZV4301處理器是在一個(gè)單芯片收發(fā)器上加入一個(gè)集成RF、數(shù)字信號(hào)處理、通信處理和運(yùn)算及控制處理功能的48 MHz APM7微處理器,片外擴(kuò)展閃存,以實(shí)現(xiàn)需要技術(shù)和高度最佳化的音頻處理。

            編解碼芯片采用飛利浦公司的UDAl380音頻芯片。UDAl380是一顆專為便攜式產(chǎn)品所設(shè)計(jì)的單芯片立體聲音頻編解碼器,可以提供立即可用的先進(jìn)音頻功能。這顆音頻編解碼器具有24位數(shù)據(jù)路徑、多重時(shí)鐘支持、DC偏移消除、支持多重?cái)?shù)據(jù)格式以及數(shù)字靜音檢測(cè)等集成功能。本設(shè)計(jì)中,UDAl380利用與微控器接口作音控處理.并利用L3接口來(lái)控制音量。

            3 I2S總線

            本設(shè)計(jì)在硬件電路上使用基于I2S總線的音頻系統(tǒng)體系結(jié)構(gòu)。I2S(Inter-IC Sound bus)是飛利浦公司提出的串行數(shù)字音頻總線協(xié)議。

            I2S總線只處理聲音數(shù)據(jù),其他信號(hào)(如控制信號(hào))必須單獨(dú)傳輸。為了使芯片的引腳盡可能少,I2S只使用了三根串行總線。這三根線分別是:提供分時(shí)復(fù)用功能的數(shù)據(jù)線(SD)、字段選擇線(聲道選擇WS)、時(shí)鐘信號(hào)線(SCK)。

            此設(shè)計(jì)中采用電源統(tǒng)一供電,ZV4301作為主設(shè)備,UDAl380作為從設(shè)備。ZV4301使用3個(gè)通用I/O口來(lái)模擬I2S總線。其讀寫(xiě)I2S總線的數(shù)據(jù)主要包括以下幾個(gè)函數(shù);

            word_selection(); //字選擇函數(shù)

            serial_clock(); //時(shí)鐘信號(hào)函數(shù)

            serial_data(); // 串行數(shù)據(jù)函數(shù)

            shift_register(); //寄存器移位函數(shù)

            

           

            4 軟件設(shè)計(jì)

            操作系統(tǒng)是美國(guó)WindRiver公司于1983年設(shè)計(jì)開(kāi)發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)。良好的持續(xù)發(fā)展能力、支持多種硬件環(huán)境、高性能的內(nèi)核以及友好的用戶開(kāi)發(fā)環(huán)境,使之成為所有獨(dú)立于處理器實(shí)時(shí)系統(tǒng)中最具特色的操作系統(tǒng)。

            在該設(shè)計(jì)中,軟件協(xié)議全部下載到藍(lán)牙設(shè)備內(nèi)核處理器的外置閃存中,操作通過(guò)人機(jī)接口控制。基于的軟件編寫(xiě)工作主要包括:BSP包的改動(dòng)、程序的編寫(xiě)和操作系統(tǒng)的裁減。由于的高度靈活性,可以很容易地對(duì)這一操作系統(tǒng)進(jìn)行定制或作適當(dāng)開(kāi)發(fā),來(lái)滿足系統(tǒng)的實(shí)際應(yīng)用需要。BSP包的改動(dòng)指根據(jù)目標(biāo)硬件實(shí)際配置修改系統(tǒng)的配置參數(shù)宏(MAC-RO),主要修改config.h、makefile.h、bspname.h文件。

          藍(lán)牙技術(shù)相關(guān)文章:藍(lán)牙技術(shù)原理

          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: 藍(lán)牙 VxWorks

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(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); })();