一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA與USB2.O控制器的IP-BX電話應(yīng)用系統(tǒng)設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2018-12-30 09:34 ? 次閱讀

通用串行總線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的簡(jiǎn)化系統(tǒng),大量工作由PC的服務(wù)器完成,而這里重點(diǎn)介紹以FPGA為控制核心的USB接口設(shè)計(jì)。

1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

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

基于FPGA與USB2.O控制器的IP-BX電話應(yīng)用系統(tǒng)設(shè)計(jì)

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

2 系統(tǒng)硬件模塊設(shè)計(jì)

2.1系統(tǒng)硬件框圖

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

基于FPGA與USB2.O控制器的IP-BX電話應(yīng)用系統(tǒng)設(shè)計(jì)

2.2 FPGA和USB簡(jiǎn)介

設(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)用主要定位在終端市場(chǎ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具有低成本、高性能、低功耗和對(duì)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)框圖。

基于FPGA與USB2.O控制器的IP-BX電話應(yīng)用系統(tǒng)設(shè)計(jì)

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),只能被固件訪問(wè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級(jí),則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)行語(yǔ)音電話通信,所以在USB部分使用3種USB傳輸模式:控制傳輸、中斷傳輸、等時(shí)傳輸。控制傳輸用于實(shí)現(xiàn)設(shè)備枚舉主機(jī)的標(biāo)準(zhǔn)請(qǐng)求以及廠商自定義請(qǐng)求;中斷傳輸用于實(shí)現(xiàn)設(shè)備對(duì)主機(jī)的喚醒,是唯一的設(shè)備主動(dòng)向主機(jī)發(fā)送數(shù)據(jù)的傳輸方式;等時(shí)傳輸用于實(shí)現(xiàn)語(yǔ)音數(shù)據(jù)的雙向同步傳輸。USB Firmware設(shè)計(jì)重點(diǎn)是語(yǔ)音的通信段。

CY7C68013A具有PORTS、Slave FIFO、GPlF共3種工作模式。PORTS模式是最基本的數(shù)據(jù)傳輸方式,其數(shù)據(jù)傳輸需CPU直接參與,適于傳輸速率要求不高的場(chǎng)合;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)相對(duì)簡(jiǎn)單,包括3個(gè)過(guò)程:USB控制器的初始化;主函數(shù),包括處理標(biāo)準(zhǔn)設(shè)備請(qǐng)求的代碼;中斷處理,包括處理各種中斷的程序代碼。圖4為同件主程序流程。

基于FPGA與USB2.O控制器的IP-BX電話應(yīng)用系統(tǒng)設(shè)計(jì)

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é)與其對(duì)應(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è)可被訪問(wèn)的端點(diǎn)的集合。USB設(shè)備可以被控制并與其功能單元通信。USB設(shè)備驅(qū)動(dòng)程序通過(guò)I/O請(qǐng)求包(IRP)向USB總線驅(qū)動(dòng)程序發(fā)送請(qǐng)求。這些請(qǐng)求包將一個(gè)給定的傳輸初始化。這種傳輸可以來(lái)自于一個(gè)USB目標(biāo)設(shè)備或發(fā)送到USB設(shè)備。

USB總線驅(qū)動(dòng)(USBD)是在主機(jī)控制器驅(qū)動(dòng)和USB設(shè)備驅(qū)動(dòng)之間的模塊,它對(duì)應(yīng)USB協(xié)議的USBD,在Windows系統(tǒng)中由USBD.SYS模塊提供。它是在某一操作系統(tǒng)上對(duì)USB總線和協(xié)議提供支持的軟件,獨(dú)立于USB設(shè)備和USB設(shè)備驅(qū)動(dòng),并對(duì)它們進(jìn)行控制和提供統(tǒng)一編程接口。

USB主控制器驅(qū)動(dòng)程序(HCD)處于最底層,它負(fù)責(zé)對(duì)主機(jī)控制器進(jìn)行抽象和對(duì)USB提供低級(jí)支持。

3.3 PC端的軟件設(shè)計(jì)

PC端的軟件設(shè)計(jì)采用面向?qū)ο蟪绦蛟O(shè)計(jì),分為核心類(包括Provider,Data,Net)和應(yīng)用類(包括UI,Call,Record)。其中核心類提供對(duì)硬件、操作系統(tǒng)和網(wǎng)絡(luò)環(huán)境的支持,應(yīng)用類在核心類的基礎(chǔ)上提供對(duì)用戶操作的支持。Provider類定義對(duì)USB設(shè)備的讀寫操作,提供讀取數(shù)據(jù)方法(readusb())和寫數(shù)據(jù)方法(writeusb());Data類包括地址數(shù)據(jù)(Address)、音頻數(shù)據(jù)(Audio)和控制數(shù)據(jù)(Command)的定義,并提供數(shù)據(jù)的分解方法(Decompose())和組合方法(Compose());Net類提供對(duì)網(wǎng)絡(luò)的支持,包括網(wǎng)絡(luò)協(xié)議的選擇和數(shù)據(jù)的接收與發(fā)送。UI類提供對(duì)用戶界面的支持,包括窗口、對(duì)話框等,實(shí)現(xiàn)基本用戶框架與應(yīng)用入口;Call類提供通話功能;Record類則提供電話錄音功能;根據(jù)不同應(yīng)用要求,可擴(kuò)展其他應(yīng)用類。具體結(jié)構(gòu)如圖5所示。

基于FPGA與USB2.O控制器的IP-BX電話應(yīng)用系統(tǒng)設(shè)計(jì)

4 結(jié)束語(yǔ)

USB靈活的接口和可編程特性可簡(jiǎn)化外部硬件的設(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)用場(chǎng)合的語(yǔ)音控制系統(tǒng)(DAA除外)。該設(shè)計(jì)的應(yīng)用可節(jié)省大量的人力、物力。具有較大的推廣意義和使用價(jià)值。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1643

    文章

    21923

    瀏覽量

    612401
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    16854

    瀏覽量

    182368
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    8070

    瀏覽量

    269867
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9603

    瀏覽量

    87028
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于USB2.O的CMOS圖像采集系統(tǒng)的設(shè)計(jì)

    ;><strong>基于USB2.O的CMOS圖像采集系統(tǒng)的設(shè)計(jì)<br/></strong><
    發(fā)表于 12-16 11:04

    繪制USB2.O設(shè)備接口差分線的經(jīng)驗(yàn)

    ①在元件布局(PCB Layout)時(shí),應(yīng)將USB2.O芯片放置在離地層最近的信號(hào)層,并盡量靠近USB插座,縮短差分線走線距離。②差分線上不應(yīng)加磁珠或者電容等濾波措施,否則會(huì)嚴(yán)重影響差分線的阻抗。
    發(fā)表于 05-23 08:54

    基于FPGAUSB2.0控制器設(shè)計(jì)

    /A。1 控制器結(jié)構(gòu)原理USB2.0控制器結(jié)構(gòu)框圖如圖2所示。控制器主要由兩個(gè)部分組成,其一為與外設(shè)的接口,另一個(gè)是內(nèi)部協(xié)議層邏輯PL(Pr
    發(fā)表于 06-29 07:30

    USB設(shè)備控制器IP Core 的設(shè)計(jì)與實(shí)現(xiàn)

    本文介紹一款USB 設(shè)備控制器IP CORE 的設(shè)計(jì)與實(shí)現(xiàn)。論文首先介紹了USB 設(shè)備控制器的設(shè)計(jì)原理,模塊劃分及每個(gè)模塊的功能。然后介紹了
    發(fā)表于 08-06 11:39 ?8次下載

    MCU USB設(shè)備控制器IP核的設(shè)計(jì)

    用硬件描述語(yǔ)言verilog HDL 設(shè)計(jì)實(shí)現(xiàn)了一種MCU&USB 設(shè)備控制器IP 核。論文首先簡(jiǎn)要介紹了設(shè)計(jì)的背景,重點(diǎn)對(duì)自主研發(fā)的將MCU&USB
    發(fā)表于 01-20 11:44 ?22次下載

    基于FPGAUSB2.0控制器設(shè)計(jì)

    摘要:介紹了一種用VHDL設(shè)計(jì)USB2.0功能控制器的方法,詳術(shù)了其原理和設(shè)計(jì)思想,并在FPGA上予以實(shí)現(xiàn)。 關(guān)鍵詞:USB VHDL FPGA
    發(fā)表于 06-20 13:26 ?1740次閱讀
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>USB</b>2.0<b class='flag-5'>控制器</b>設(shè)計(jì)

    MCU/USB設(shè)備控制器IP核的設(shè)計(jì)

    MCU/USB設(shè)備控制器IP核的設(shè)計(jì)  1 引言   在傳統(tǒng)的計(jì)算機(jī)系統(tǒng)上常采用串口(如RS232)和并口連接外圍設(shè)備,但串口和并口都存在著通信速度 慢
    發(fā)表于 12-08 11:11 ?754次閱讀
    MCU/<b class='flag-5'>USB</b>設(shè)備<b class='flag-5'>控制器</b><b class='flag-5'>IP</b>核的設(shè)計(jì)

    可視電話控制器是什么意思

    可視電話控制器是什么意思 控制器是整個(gè)可視電話系統(tǒng)控制核心。在
    發(fā)表于 03-06 16:53 ?1235次閱讀

    FPGA的嵌入式系統(tǒng)USB接口設(shè)計(jì)

    FPGA的嵌入式系統(tǒng)USB接口設(shè)計(jì) 摘要:設(shè)計(jì)基于FPGAIP-BX電話應(yīng)用
    發(fā)表于 04-03 10:52 ?1997次閱讀
    <b class='flag-5'>FPGA</b>的嵌入式<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>USB</b>接口設(shè)計(jì)

    FPGA設(shè)計(jì)的電話遠(yuǎn)程控制系統(tǒng)

    本設(shè)計(jì)采用FPGA 作為控制器,通過(guò)電話網(wǎng)絡(luò)傳輸密碼與指令操作碼,實(shí)現(xiàn)有用戶權(quán)限的遠(yuǎn)程操作。具有可配置性強(qiáng),控制信號(hào)多,系統(tǒng)可靠穩(wěn)定等特點(diǎn)。
    發(fā)表于 12-19 14:32 ?44次下載
    <b class='flag-5'>FPGA</b>設(shè)計(jì)的<b class='flag-5'>電話</b>遠(yuǎn)程<b class='flag-5'>控制系統(tǒng)</b>

    基于FPGA的SOC外部組件控制器IP的設(shè)計(jì)

    本文側(cè)重于介紹IP 模塊中組件控制器的設(shè)計(jì)和實(shí)現(xiàn)。一個(gè)基于FPGA 的LCD 控制器設(shè)計(jì)作為例子被介紹。這個(gè)組件控制器設(shè)計(jì)屬于固核
    發(fā)表于 12-22 14:00 ?1434次閱讀
    基于<b class='flag-5'>FPGA</b>的SOC外部組件<b class='flag-5'>控制器</b><b class='flag-5'>IP</b>的設(shè)計(jì)

    基于FPGA的SD卡控制器IP

    基于FPGA的SD卡控制器IP,以驗(yàn)證可用。
    發(fā)表于 11-06 09:50 ?10次下載

    DDR2SDRAM控制器IP功能測(cè)試與FPGA驗(yàn)證_陳平

    DDR2SDRAM控制器IP功能測(cè)試與FPGA驗(yàn)證_陳平
    發(fā)表于 01-07 21:45 ?3次下載

    基于處理實(shí)現(xiàn)USB 0TG控制器芯片的IP核應(yīng)用設(shè)計(jì)

    OTGl.Oa補(bǔ)充規(guī)范對(duì)USB2.O進(jìn)行的最重要擴(kuò)展是其更具節(jié)能性、電源管理,并允許設(shè)備以主機(jī)和外設(shè)2種形式工作。OTG有兩種設(shè)備類型:兩用 OTG設(shè)備(dual—role 0TG device
    發(fā)表于 09-15 17:32 ?1075次閱讀
    基于處理<b class='flag-5'>器</b>實(shí)現(xiàn)<b class='flag-5'>USB</b> 0TG<b class='flag-5'>控制器</b>芯片的<b class='flag-5'>IP</b>核應(yīng)用設(shè)計(jì)

    基于AT91SAM7X微控制器實(shí)現(xiàn)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

    本文設(shè)計(jì)的基于AT91SAM7X的多路USB2.O數(shù)據(jù)采集系統(tǒng)主要由6部分組成,如圖1所示,分別是輸入信號(hào)接口模塊、多路信號(hào)放大模塊、信號(hào)調(diào)理模塊、數(shù)據(jù)采集處理模塊、USB2.O接口模塊和上位機(jī)模塊
    的頭像 發(fā)表于 03-20 09:54 ?4764次閱讀
    基于AT91SAM7X微<b class='flag-5'>控制器</b>實(shí)現(xiàn)數(shù)據(jù)采集<b class='flag-5'>系統(tǒng)</b>的設(shè)計(jì)