《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的嵌入式系統USB接口設計
基于FPGA的嵌入式系統USB接口設計
國外電子元器件
楊志坤,曾博,湯國文 電子科技大學
摘要: 基于FPGA的嵌入式系統USB接口設計,摘要:設計基于FPGA的IP-BX電話應用系統,用于傳統的電話網絡(PSTN)與PC機之間的接口連接。USB2.0接口器件EZ-USB FX2 CY7C68013A-56工作在slave FIFO模式,為基于FPGA的嵌入式系統與PC機之間提供數據和命令通道,從
Abstract:
Key words :

摘要:設計基于FPGA的IP-BX電話應用系統,用于傳統的電話網絡(PSTN)與PC機之間的接口連接。USB2.0接口器件EZ-USB FX2 CY7C68013A-56工作在slave FIFO模式,為基于FPGA的嵌入式系統與PC機之間提供數據和命令通道,從而可滿足PC機與FPGA之間數據與命令的高速傳輸,實現PSTN與PC機之間的電話通信。硬件調試結果表明系統工作穩定,通話質量滿足要求。
關鍵詞:接口;FPGA;USB2.0;slave FIFO

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

1 系統結構設計
    該系統通過TRM(Telephone Response Module)和PC服務器實現PSTN網絡和Internet網絡之間自由、高效通話。圖l為整個系統結構示意圖。


    系統工作過程:當有來電時,DAA向FPGA申請中斷。FPGA收到中斷后,使用USB的中斷傳輸向主機報告有外接來電,則PC的應用軟件會提示用戶選擇摘機或拒絕。摘機后,FPGA在接收到命令后就會接通電話,然后語音數據通過USB的同步傳輸進行雙向傳送。當用戶向外撥號時,其過程與來電時的情況是相同的。

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


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


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

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


3.2 USB驅動程序
    USB系統軟件由主機中的軟件和設備同件構成。USB主機中的軟件主要包括USB設備驅動(USBDD)、USB總線驅動(USBD)和USB主控制器驅動(HCD)。
    USB設備驅動程序(或客戶驅動程序)處于最頂層,它支持特定設備類的驅動,負責與其對應的USB設備進行通信和讀寫控制,實現各個USB設備特殊的功能應用。連接USB設備的每種類型的功能單元都必須具有客戶驅動程序??蛻趄寗映绦虬裊SB設備看作是一個可被訪問的端點的集合。USB設備可以被控制并與其功能單元通信。USB設備驅動程序通過I/O請求包(IRP)向USB總線驅動程序發送請求。這些請求包將一個給定的傳輸初始化。這種傳輸可以來自于一個USB目標設備或發送到USB設備。
    USB總線驅動(USBD)是在主機控制器驅動和USB設備驅動之間的模塊,它對應USB協議的USBD,在Windows系統中由USBD.SYS模塊提供。它是在某一操作系統上對USB總線和協議提供支持的軟件,獨立于USB設備和USB設備驅動,并對它們進行控制和提供統一編程接口。
    USB主控制器驅動程序(HCD)處于最底層,它負責對主機控制器進行抽象和對USB提供低級支持。
3.3 PC端的軟件設計
    PC端的軟件設計采用面向對象程序設計,分為核心類(包括Provider,Data,Net)和應用類(包括UI,Call,Record)。其中核心類提供對硬件、操作系統和網絡環境的支持,應用類在核心類的基礎上提供對用戶操作的支持。Provider類定義對USB設備的讀寫操作,提供讀取數據方法(readusb())和寫數據方法(writeusb());Data類包括地址數據(Address)、音頻數據(Audio)和控制數據(Command)的定義,并提供數據的分解方法(Decompose())和組合方法(Compose());Net類提供對網絡的支持,包括網絡協議的選擇和數據的接收與發送。UI類提供對用戶界面的支持,包括窗口、對話框等,實現基本用戶框架與應用入口;Call類提供通話功能;Record類則提供電話錄音功能;根據不同應用要求,可擴展其他應用類。具體結構如圖5所示。

 

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美性做爰猛烈叫床潮| 激情综合电影网| 久久久最新网址| 亚洲无人区一区| 亚洲精品视频二区| 亚洲国产成人在线视频| 午夜视频在线观看一区二区三区 | 亚洲视频一区在线| 日韩亚洲在线观看| 99www免费人成精品| 91久久久国产精品| 亚洲精品一区二| 日韩亚洲欧美成人一区| 亚洲最快最全在线视频| 99精品视频免费全部在线| 亚洲精品色图| 一区二区三区视频在线看| 一二三区精品| 亚洲一区二区三区四区在线观看| 亚洲校园激情| 性高湖久久久久久久久| 欧美在线黄色| 久久久女女女女999久久| 久久尤物电影视频在线观看| 久久综合图片| 欧美成人精品福利| 欧美日韩国产在线| 国产精品久久国产愉拍 | 国产精品美女视频网站| 国产精品一区二区三区久久久| 国产欧美日韩不卡免费| 国语自产精品视频在线看一大j8 | 亚洲黑丝在线| 一二三四社区欧美黄| 亚洲影院一区| 久久国产精品久久久久久久久久 | 欧美一区二区日韩| 久久久久国产一区二区| 免费观看成人www动漫视频| 欧美激情欧美激情在线五月| 欧美视频福利| 国产欧美综合在线| 亚洲电影激情视频网站| 亚洲美女黄色| 欧美亚洲尤物久久| 亚洲国产精品美女| 亚洲欧洲日产国产网站| 亚洲一区观看| 久久理论片午夜琪琪电影网| 欧美国产日本高清在线| 欧美日韩综合不卡| 国产香蕉97碰碰久久人人| 亚洲国产精品小视频| 在线一区欧美| 久久精品国产99国产精品| 一区二区国产精品| 久久福利一区| 欧美精品一区二区久久婷婷| 国产精品入口尤物| 在线精品福利| 亚洲永久精品大片| 亚洲国产三级网| 在线亚洲国产精品网站| 久久精品免费看| 欧美日韩一区二区三区在线看| 国产色视频一区| 亚洲日韩第九十九页| 香蕉久久夜色精品| 99精品久久| 久久久久久电影| 欧美四级电影网站| 亚洲成人在线视频播放| 亚洲视频一二区| 亚洲人成网站在线观看播放| 亚洲欧美伊人| 欧美精品123区| 国产一区二区三区免费观看 | 亚洲黄页视频免费观看| 午夜精品一区二区三区四区| 欧美成人一区二区三区| 国产精品综合| 夜夜精品视频一区二区| 亚洲黄色免费| 久久久久久亚洲综合影院红桃| 欧美久久综合| 一区在线观看| 午夜精品久久久久影视 | 久久深夜福利免费观看| 国产精品高潮在线| 亚洲国产毛片完整版| 欧美一进一出视频| 亚洲自拍偷拍麻豆| 欧美久久影院| 亚洲国产欧美一区二区三区久久 | 国产精品红桃| 亚洲精品久久| 亚洲欧洲日本一区二区三区| 久久九九精品99国产精品| 国产精品高清在线观看| 亚洲精品影院在线观看| 亚洲国产毛片完整版| 久久精品国产欧美激情| 欧美先锋影音| 日韩网站在线观看| 99精品视频一区| 欧美成人国产va精品日本一级| 国内精品福利| 欧美在线精品免播放器视频| 亚洲欧美视频一区| 欧美午夜a级限制福利片| 亚洲日本在线观看| 亚洲欧洲在线免费| 女同一区二区| 影院欧美亚洲| 亚洲第一精品夜夜躁人人躁 | 久久人人97超碰国产公开结果| 国产精品综合不卡av| 亚洲一区视频在线观看视频| 亚洲一区欧美一区| 欧美网站大全在线观看| 一本色道久久综合亚洲精品不| 一区二区久久久久| 欧美日韩在线播放| 99精品免费视频| 亚洲无吗在线| 国产精品久久久久久久久免费樱桃| 99综合精品| 亚洲综合精品一区二区| 国产精品嫩草久久久久| 午夜精品久久久久久久99黑人| 欧美一区二区免费视频| 国产一区二区三区观看| 久久精品视频免费观看| 免费成人av在线| 亚洲激情在线观看| 在线一区日本视频| 国产精品白丝jk黑袜喷水| 亚洲色在线视频| 欧美一区二区性| 国产午夜精品麻豆| 久久精品系列| 欧美区在线播放| 宅男66日本亚洲欧美视频| 午夜视频一区| 国产一区二区三区日韩欧美| 久久精品一区中文字幕| 欧美成人精品在线| 亚洲日本欧美| 午夜视频精品| 一区二区亚洲精品| 99国产精品久久久久老师| 欧美日韩精品在线观看| 亚洲一区二区不卡免费| 久久久久国产精品午夜一区| 亚洲国产高清一区| 亚洲小视频在线观看| 国产日韩在线视频| 亚洲三级视频| 欧美先锋影音| 欧美在线看片| 欧美精品在线一区| 亚洲一区亚洲二区| 麻豆成人在线| 99在线观看免费视频精品观看| 香蕉免费一区二区三区在线观看| 国内外成人免费激情在线视频| 一本久道久久综合狠狠爱| 国产九区一区在线| 亚洲日韩视频| 国产伦理精品不卡| 亚洲另类黄色| 国产精品亚洲欧美| 亚洲国产成人精品视频| 欧美日韩一区二区三区四区在线观看| 亚洲欧美日韩直播| 欧美精品三级日韩久久| 亚洲欧美中文字幕| 欧美理论电影在线观看| 午夜精品国产更新| 欧美猛交免费看| 欧美在线观看网站| 欧美日精品一区视频| 久久成人精品视频| 国产精品高潮呻吟久久| 亚洲片在线观看| 国产精品一区亚洲| 一本久道综合久久精品| 韩国精品一区二区三区| 亚洲视频每日更新| 亚洲福利在线观看| 久久精品国产v日韩v亚洲 | 亚洲免费av片| 久久久五月天| 这里是久久伊人| 欧美成年人视频| 亚洲欧美日韩一区二区三区在线观看 | 亚洲欧美国产高清| 亚洲国产日日夜夜| 久久精品在这里| 亚洲社区在线观看|