當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]摘要:設(shè)計(jì)基于FPGA的IP-BX電話應(yīng)用系統(tǒng),用于傳統(tǒng)的電話網(wǎng)絡(luò)(PSTN)與PC機(jī)之間的接口連接。USB2.0接口器件EZ-USB FX2 CY7C68013A-56工作在slave FIFO模式,為基于FPGA的嵌入式系統(tǒng)與PC機(jī)之間提供數(shù)據(jù)和命令通道,從

摘要:設(shè)計(jì)基于FPGA的IP-BX電話應(yīng)用系統(tǒng),用于傳統(tǒng)的電話網(wǎng)絡(luò)(PSTN)與PC機(jī)之間的接口連接。USB2.0接口器件EZ-USB FX2 CY7C68013A-56工作在slave FIFO模式,為基于FPGA的嵌入式系統(tǒng)與PC機(jī)之間提供數(shù)據(jù)和命令通道,從而可滿足PC機(jī)與FPGA之間數(shù)據(jù)與命令的高速傳輸,實(shí)現(xiàn)PSTN與PC機(jī)之間的電話通信。硬件調(diào)試結(jié)果表明系統(tǒng)工作穩(wěn)定,通話質(zhì)量滿足要求。

    通用串行總線USB(Universal Serial Bus)是應(yīng)用于PC領(lǐng)域的接口技術(shù),已得到廣泛應(yīng)用。USB2.0已成為目前電腦中的標(biāo)準(zhǔn)擴(kuò)展接口。本系統(tǒng)設(shè)計(jì)的目的在于為公共交換電話網(wǎng)絡(luò)(PSTN)和PC機(jī)之間提供一個(gè)數(shù)字接口,設(shè)計(jì)中PC機(jī)是主機(jī),基于FPGA的嵌入式系統(tǒng)是USB設(shè)備。該系統(tǒng)是IP-PBX的簡化系統(tǒng),大量工作由PC的服務(wù)器完成,而這里重點(diǎn)介紹以FPGA為控制核心的USB接口設(shè)計(jì)。

1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
    該系統(tǒng)通過TRM(Telephone Response Module)和PC服務(wù)器實(shí)現(xiàn)PSTN網(wǎng)絡(luò)和Internet網(wǎng)絡(luò)之間自由、高效通話。圖l為整個(gè)系統(tǒng)結(jié)構(gòu)示意圖。


    系統(tǒng)工作過程:當(dāng)有來電時(shí),DAA向FPGA申請中斷。FPGA收到中斷后,使用USB的中斷傳輸向主機(jī)報(bào)告有外接來電,則PC的應(yīng)用軟件會(huì)提示用戶選擇摘機(jī)或拒絕。摘機(jī)后,F(xiàn)PGA在接收到命令后就會(huì)接通電話,然后語音數(shù)據(jù)通過USB的同步傳輸進(jìn)行雙向傳送。當(dāng)用戶向外撥號時(shí),其過程與來電時(shí)的情況是相同的。

2 系統(tǒng)硬件模塊設(shè)計(jì)
2.1系統(tǒng)硬件框圖
    本設(shè)計(jì)采用FPGA作為核心控制器件,其控制對象是USB2.0接口器件EZ-USB FX2 CY7C68013A-56。圖2為EZ-USB器件工作在Slave FIFO模式下時(shí)FX2 USB和FPGA的典型電路連接圖。

2.2 FPGA和USB簡介
    設(shè)計(jì)中的核心控制器件FPGA選用Ahrea公司的EP2C8Q208C8,而USB設(shè)備器件則選用Cypress公司的CY7C68013A-56。EP2C8Q208C8是Ahera Cyclone II系列器件中的一種,Cyclone II FPGA是基于Stratix II的90 nm工藝生產(chǎn)的低成本FPGA。Cyclone II FPGA的應(yīng)用主要定位在終端市場,如消費(fèi)類電子、計(jì)算機(jī)、工業(yè)和汽車等領(lǐng)域。EP2C8Q208C8內(nèi)部有2個(gè)鎖相環(huán)(PLL)和8個(gè)全局時(shí)鐘網(wǎng)絡(luò),8 256個(gè)邏輯單元(LE)個(gè),36個(gè)M4K RAM,18個(gè)乘法器模塊,可用I/O數(shù)138個(gè)。EP2C8Q208C8具有低成本、高性能、低功耗和對IP-PBX系統(tǒng)的可擴(kuò)展性(足夠多的I/O接口)的優(yōu)點(diǎn),因此這里選擇該器件作為系統(tǒng)的控制器件。
    CY7C68013A-56器件是第1個(gè)包含USB2.0的集成微控制器,其內(nèi)部集成有1個(gè)增強(qiáng)型的8051,1個(gè)智能USB串行接口引擎(SIE),1個(gè)USB數(shù)據(jù)收發(fā)器,3個(gè)8位。I/O、16位地址線、8.5 KB RAM和4 KB的FIFO等。增強(qiáng)型8051內(nèi)核完全與標(biāo)準(zhǔn)805l兼容,而性能可達(dá)到標(biāo)準(zhǔn)805l的3倍以上。圖3為CY7C68013A-56的結(jié)構(gòu)框圖。



    CY7C68013A器件在數(shù)據(jù)傳輸時(shí)利用4 KB的FIFO,包含7個(gè)端點(diǎn):EPOIN/OUT,EPlIN,EPlOUT,EP2,EP4,EP6,EP8。其中EPO、EPIIN和EPlOUT是3個(gè)64 B的緩沖端點(diǎn),只能被固件訪問,EP0是默認(rèn)的數(shù)據(jù)輸入輸出端口緩存,默認(rèn)工作于控制傳輸,EPlIN和EPlOUT是獨(dú)立的64 B緩存,可以配置成塊傳輸、中斷傳輸或同步傳輸。端點(diǎn)2、4、6、8是大容量高寬帶的數(shù)據(jù)傳輸端點(diǎn),可配置為各種帶寬以滿足實(shí)際需求。端點(diǎn)2、6能配置成每幀成512 B或l 024 B,并可配置為2、3、4級,則EP2,EP6最大能被配置為4 KB的緩存;端點(diǎn)4、8則能配置為每幀512 B的緩存。

3 系統(tǒng)軟件設(shè)計(jì)
3.1 USB Firmware設(shè)計(jì)
    由于設(shè)計(jì)中使用FPGA控制USB設(shè)備進(jìn)行語音電話通信,所以在USB部分使用3種USB傳輸模式:控制傳輸、中斷傳輸、等時(shí)傳輸??刂苽鬏斢糜趯?shí)現(xiàn)設(shè)備枚舉主機(jī)的標(biāo)準(zhǔn)請求以及廠商自定義請求;中斷傳輸用于實(shí)現(xiàn)設(shè)備對主機(jī)的喚醒,是唯一的設(shè)備主動(dòng)向主機(jī)發(fā)送數(shù)據(jù)的傳輸方式;等時(shí)傳輸用于實(shí)現(xiàn)語音數(shù)據(jù)的雙向同步傳輸。USB Firmware設(shè)計(jì)重點(diǎn)是語音的通信段。
    CY7C68013A具有PORTS、Slave FIFO、GPlF共3種工作模式。PORTS模式是最基本的數(shù)據(jù)傳輸方式,其數(shù)據(jù)傳輸需CPU直接參與,適于傳輸速率要求不高的場合;GPIF模式是主機(jī)方式,內(nèi)部主機(jī)控制端點(diǎn)FIFO;Slave FIFO模式是從機(jī)方式,外部控制器,如FPGA、DSP。應(yīng)用中使用異步FIFO方式,采用內(nèi)部48 MHz時(shí)鐘,自動(dòng)方式,而固件程序的編寫則以Cypress公司提供的固件程序框架為基礎(chǔ),在其初始化函數(shù)中添加自己的配置代碼。
    在整個(gè)系統(tǒng)中,CY7C68013A的固件主要完成以下工作:初始化USB器件;作為USB接口與主機(jī)通信并傳輸數(shù)據(jù);利用CY7C68013A器件的Slave FlFO接口控制USB器件和外部控制器之間的數(shù)據(jù)傳輸。因此同件主程序比較復(fù)雜,除了上面的TD_lnit()初始化外,還需要大量函數(shù),但基本結(jié)構(gòu)相對簡單,包括3個(gè)過程:USB控制器的初始化;主函數(shù),包括處理標(biāo)準(zhǔn)設(shè)備請求的代碼;中斷處理,包括處理各種中斷的程序代碼。圖4為同件主程序流程。

[!--empirenews.page--]


3.2 USB驅(qū)動(dòng)程序
    USB系統(tǒng)軟件由主機(jī)中的軟件和設(shè)備同件構(gòu)成。USB主機(jī)中的軟件主要包括USB設(shè)備驅(qū)動(dòng)(USBDD)、USB總線驅(qū)動(dòng)(USBD)和USB主控制器驅(qū)動(dòng)(HCD)。
    USB設(shè)備驅(qū)動(dòng)程序(或客戶驅(qū)動(dòng)程序)處于最頂層,它支持特定設(shè)備類的驅(qū)動(dòng),負(fù)責(zé)與其對應(yīng)的USB設(shè)備進(jìn)行通信和讀寫控制,實(shí)現(xiàn)各個(gè)USB設(shè)備特殊的功能應(yīng)用。連接USB設(shè)備的每種類型的功能單元都必須具有客戶驅(qū)動(dòng)程序??蛻趄?qū)動(dòng)程序把USB設(shè)備看作是一個(gè)可被訪問的端點(diǎn)的集合。USB設(shè)備可以被控制并與其功能單元通信。USB設(shè)備驅(qū)動(dòng)程序通過I/O請求包(IRP)向USB總線驅(qū)動(dòng)程序發(fā)送請求。這些請求包將一個(gè)給定的傳輸初始化。這種傳輸可以來自于一個(gè)USB目標(biāo)設(shè)備或發(fā)送到USB設(shè)備。

    USB總線驅(qū)動(dòng)(USBD)是在主機(jī)控制器驅(qū)動(dòng)和USB設(shè)備驅(qū)動(dòng)之間的模塊,它對應(yīng)USB協(xié)議的USBD,在Windows系統(tǒng)中由USBD.SYS模塊提供。它是在某一操作系統(tǒng)上對USB總線和協(xié)議提供支持的軟件,獨(dú)立于USB設(shè)備和USB設(shè)備驅(qū)動(dòng),并對它們進(jìn)行控制和提供統(tǒng)一編程接口。
    USB主控制器驅(qū)動(dòng)程序(HCD)處于最底層,它負(fù)責(zé)對主機(jī)控制器進(jìn)行抽象和對USB提供低級支持。
3.3 PC端的軟件設(shè)計(jì)
    PC端的軟件設(shè)計(jì)采用面向?qū)ο蟪绦蛟O(shè)計(jì),分為核心類(包括Provider,Data,Net)和應(yīng)用類(包括UI,Call,Record)。其中核心類提供對硬件、操作系統(tǒng)和網(wǎng)絡(luò)環(huán)境的支持,應(yīng)用類在核心類的基礎(chǔ)上提供對用戶操作的支持。Provider類定義對USB設(shè)備的讀寫操作,提供讀取數(shù)據(jù)方法(readusb())和寫數(shù)據(jù)方法(writeusb());Data類包括地址數(shù)據(jù)(Address)、音頻數(shù)據(jù)(Audio)和控制數(shù)據(jù)(Command)的定義,并提供數(shù)據(jù)的分解方法(Decompose())和組合方法(Compose());Net類提供對網(wǎng)絡(luò)的支持,包括網(wǎng)絡(luò)協(xié)議的選擇和數(shù)據(jù)的接收與發(fā)送。UI類提供對用戶界面的支持,包括窗口、對話框等,實(shí)現(xiàn)基本用戶框架與應(yīng)用入口;Call類提供通話功能;Record類則提供電話錄音功能;根據(jù)不同應(yīng)用要求,可擴(kuò)展其他應(yīng)用類。具體結(jié)構(gòu)如圖5所示。

4 結(jié)束語
    USB靈活的接口和可編程特性可簡化外部硬件的設(shè)計(jì),提高系統(tǒng)可靠性。而USB2.O控制器CY7C68013A也廣泛應(yīng)用于許多數(shù)據(jù)傳輸領(lǐng)域。FPGA已成為通信、計(jì)算機(jī)、消費(fèi)類電子產(chǎn)品等領(lǐng)域的基礎(chǔ)器件。這里所介紹的USB設(shè)備就是一個(gè)基于FPGA嵌入式系統(tǒng),該系統(tǒng)軟硬件都具有模塊化的特性,易于改造成其他應(yīng)用場合的語音控制系統(tǒng)(DAA除外)。該設(shè)計(jì)的應(yīng)用可節(jié)省大量的人力、物力。具有較大的推廣意義和使用價(jià)值。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉