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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP的USB語音傳輸接口設(shè)計(jì)

          基于DSP的USB語音傳輸接口設(shè)計(jì)

          作者: 時(shí)間:2012-03-09 來源:網(wǎng)絡(luò) 收藏

          (1)主程序

          圖4為主程序流程圖。主程序只做初始化和檢測(cè)一些狀態(tài)位的變化,以轉(zhuǎn)入相應(yīng)的處理子程序中。


          (2)中斷服務(wù)程序

          包括COIC的中斷服務(wù)程序、CODEC的中斷服務(wù)程序和中斷服務(wù)程序3部分。Firmware的大部分工作是在中斷服務(wù)程序中完成的。

          COIC只有一個(gè)中斷,就是把振鈴信息傳送給

          CODEC有3個(gè)中斷:首先是接收振鈴信息,在振鈴中斷服務(wù)子程序中,把振鈴標(biāo)志位置位;然后是接收中斷,在中斷服務(wù)子程序中把從電話接收到的語音數(shù)據(jù)裝載到相應(yīng)的FIFO中去;還有就是發(fā)送中斷,在中斷服務(wù)子程序中把從PC機(jī)側(cè)發(fā)過來的語音數(shù)據(jù)發(fā)送至電話終端。

          有4個(gè)中斷,所有的數(shù)據(jù)交換都是在中斷服務(wù)子程序中完成的,而且除中斷傳輸外每次傳輸都是由客戶啟動(dòng)的,主機(jī)應(yīng)用軟件調(diào)用功能驅(qū)動(dòng)程序開始一個(gè)傳輸過程,然后USB產(chǎn)生一個(gè)中斷請(qǐng)求,向申請(qǐng)中斷,在得到的響應(yīng)之后才進(jìn)人中斷服務(wù)子程序進(jìn)行數(shù)據(jù)的接收或者發(fā)送。

          5.2 USB驅(qū)動(dòng)程序

          USB的驅(qū)動(dòng)程序?qū)儆赪DM(Windows Driver Model)類型,Windows 98/2000等操作系統(tǒng)均支持該類型的驅(qū)動(dòng)程序。WDM首先定義了一個(gè)基本的核心驅(qū)動(dòng)程序模型,處理所有類型的數(shù)據(jù),使驅(qū)動(dòng)程序模型的內(nèi)核實(shí)現(xiàn)更加的固定。WDM驅(qū)動(dòng)程序還是一種分層的程序結(jié)構(gòu),可以看做是Windows NT驅(qū)動(dòng)程序的改進(jìn),WDM驅(qū)動(dòng)程序支持即插即用、電源管理和
          WMI(Windows Management Instrument)特性。Windows 98/2000提供了一系列的系統(tǒng)驅(qū)動(dòng)程序,他們具有為許多標(biāo)準(zhǔn)類型設(shè)備服務(wù)所需的所有基本功能。圖5是USB的WDM接口框圖(也是USB驅(qū)動(dòng)程序總體框圖)。

          Windows提供了USB的系統(tǒng)類驅(qū)動(dòng)程序,他處理USB上的所有底層通信,這樣其他驅(qū)動(dòng)程序就有了一個(gè)定義好的接口可以使用。圖5中USB類驅(qū)動(dòng)程序使用UHCD.SYS或OHCI.SYS分別驅(qū)動(dòng)兩種類型的控制器UHCI(USB Host Controller Driver)和OHCI(Open Host Controller Interface)。當(dāng)PCI枚舉器發(fā)現(xiàn)USB主機(jī)控制器后,就會(huì)裝入相關(guān)的驅(qū)動(dòng)程序。

          需要自己做的驅(qū)動(dòng)程序?qū)嶋H上是USB功能驅(qū)動(dòng)程序(也叫客戶驅(qū)動(dòng)程序),他控制一個(gè)給定的USB功能設(shè)備,例如我們的設(shè)備。連接到USB設(shè)備的每一種類型的功能單元都必須要有功能驅(qū)動(dòng)程序。這些功能單元不知道和USB傳輸機(jī)制相關(guān)的細(xì)節(jié),而且必須依賴于USB的主機(jī)應(yīng)用軟件才能管理他們基于USB的能力和限制的傳輸請(qǐng)求。功能驅(qū)動(dòng)程序的理想實(shí)現(xiàn)是基于設(shè)備類而定義的。功能驅(qū)動(dòng)程序把USB設(shè)備看作是一個(gè)司以被訪問的端點(diǎn)的集合,他可以被控制并與他的功能單元進(jìn)行通信。USB功能驅(qū)動(dòng)程序可以在VC++下編寫,但需使用微軟提供的NTDDK(Windows NT Driver Develop Kit)來編譯驅(qū)動(dòng)程序。

          5.3 主機(jī)應(yīng)用軟件

          主機(jī)應(yīng)用軟件所完成的主要工作為:打開和關(guān)閉USB設(shè)備;讀取設(shè)備描述符等;向設(shè)備發(fā)送摘機(jī)、掛機(jī)和撥號(hào)等命令;主動(dòng)向用戶發(fā)聲并彈出對(duì)話框提示有來電;進(jìn)行撥號(hào);撥號(hào)或摘機(jī)后的雙向語音同步傳輸。

          主機(jī)應(yīng)用軟件在VC++6.0下完成,應(yīng)用軟件所操作的對(duì)象就是USB功能驅(qū)動(dòng)程序,由于功能驅(qū)動(dòng)程序提供與應(yīng)用軟件的接口,因此編寫應(yīng)用軟件的難度要遠(yuǎn)遠(yuǎn)低于功能驅(qū)動(dòng)程序的開發(fā)難度。

          6 結(jié) 語

          在當(dāng)今的數(shù)字化時(shí)代背景下,DSP已成為通信、計(jì)算機(jī)、消費(fèi)類電子產(chǎn)品等領(lǐng)域的基礎(chǔ)器件,被譽(yù)為信息社會(huì)革命的旗手。USB為PC外圍設(shè)備輸入輸電提供了新的接口標(biāo)準(zhǔn)。他使得設(shè)備具有了熱插拔、即1插即吊、自動(dòng)配置的能力,并標(biāo)準(zhǔn)化了設(shè)備連接。USB的級(jí)聯(lián)星型拓?fù)浣Y(jié)構(gòu)大大擴(kuò)充了外設(shè)數(shù)量,使增加、使用外設(shè)更加便捷、快速。

          本文所介紹的USB設(shè)備其實(shí)是一個(gè)數(shù)字電話機(jī)的模型,本系統(tǒng)軟硬件都具有模塊化特性,易于改造成其他應(yīng)用場(chǎng)合的語音控制系統(tǒng):從大的方面講,可以組成數(shù)字電話網(wǎng):從小的方面講,在一個(gè)局域網(wǎng)內(nèi)部,所有成員就都可以通過局域網(wǎng)方便地接聽和撥打電話,而無需大量的分機(jī)。該設(shè)計(jì)節(jié)省了大量的人力和物力,具有較強(qiáng)的使用價(jià)值和推廣意義。


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

          關(guān)鍵詞: DSP USB 語音傳輸

          評(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); })();