色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于CY7C68013芯片實現通用可編程接口的軟硬件設計

電子設計 ? 來源:單片機與嵌入式系統應用 ? 作者:龍玲,許海清 ? 2020-07-10 08:00 ? 次閱讀

引 言

USB(Universal Serial Bus)是一種通用串行總線,主要用于PC與外圍USB設備的互聯。近年來,USB接口以其快速、即插即用、使用安裝方便等優點逐漸成為現代數據傳輸的發展趨勢。目前,國內外采用USBl.1和USB2.O兩種規范。USBl.1主要用于低速傳輸要求的場合,支持1.5Mb/s和12Mb/s兩種傳輸速率;而USB2.O規范則提供高達480Mb/s的傳輸速率。盡管如此,在某些對數據傳輸速度要求很高的系統中,外圍設備與USB接口之間在速度上仍存在著不可忽視的傳輸瓶頸。

Cypress公司生產的USB2.0控制器CY7C68013提供了一種獨特的接口方式,即通用可編程接口(GPIF)方式。它與傳統接口方式的主要區別有兩點:①在數據傳輸過程中不需要CPU干涉,使得傳輸速率明顯提高,從而可以充分利用USB2.0的傳輸帶寬;②由軟件設置讀/寫控制,其控制方式類似于狀態機,提高了傳輸穩定性。因此,本文介紹的基于USB2.0控制器CY7C68013的GPIF接口設計,就是充分利用了該芯片這一獨特的數據傳輸接口方式,有效地解決了在傳統接口方式下USB2.0設備數據傳輸速度的局限性,大大提高了數據的傳輸速率。

1、 CY7C68013簡介

CY7C68013是Cypress公司的EZ-USB FX2系列芯片。EZ-USB FX2是一款集成USB2.0收發器微控制器,內部結構如圖l所示。該系列芯片集成了USB2.O收發器、串行接口引擎(SIE)、帶8.5KB片上RAM的增強型高速8051單片機、4KB FIFO存儲器以及通用可編程接口等模塊.提供了全面集成的USB解決方案,無需外加芯片即可實現高速USB傳輸。FX2系列芯片最主要的特點是可以通過USB2.0的通用可編程接口為特定的應用接口編程。另外,CY7C68013的GPIF引擎具有自動傳輸數據結構的特性,這種特性使得以主/從端點FIFO(B/16位數據總線)為ATA、UTOPIA、EPP、PCMCIA、DSP等的外圍設備,可以與主機通過CY7C68013無縫、高速地傳輸數據。另外,CY7C68013內部集成的USB2.O的SIF能完成大部分USB2.O協議的處理工作,從而減少了用戶對繁雜的USB協議的處理。

基于CY7C68013芯片實現通用可編程接口的軟硬件設計

2 、硬件設計及原理

在GPIF接口方式設計中,GPIF作為CY7C68013的端點FIFO的內部控制器,在這種方式下,CPU不會干涉數據的傳輸。CY7C68013的GPIF接口方式如圖2所示。

CY7C68013專門為GPIF提供了接口信號(包括16位數據線、輸出控制信號CTL、輸入控制信號RDY以及地址線ADR),這些信號負責完成USB接口芯片與外圍設備或器件(如FPGA、DSP等)的數據讀/寫控制和傳輸。以下為GPIF方式下的主要端口功能。

FDO~FDl5(輸入/輸出):USB主機通過CY7C68013與外部設備進行數據傳輸的數據線,可以用8位或16位數據線。

CTLO~CTL5(輸出):CY7C68013對外部設備進行控制的信號線。

RDY0~RDY5(輸入):CY7C68013對外部設備的狀態進行檢測的信號線。

SDA(雙向)、SCL(輸出):E2PROM的數據及時鐘信號線。

ADR0~ADR8(輸出);GPIF為外部設備提供的地址線。

在本設計中,除了重點利用通用可編程接口來實現無縫、高速的傳輸數據外,還采用了EZ-USBFX2提供的一種獨特架構,即“量子FIFO(Quantum FIFO)”處理架構。它能較好地解決帶寬問題,圖3為其數據傳輸示意圖。當USB執行OUT時,EP2端點被設置為512字節四重FIFO(在USB端和外部接口端,都不知道有四重FIFO),圖4為其數據傳輸原理圖。在USB端看來,只要有1個FIFO為“半滿”,那么就可以繼續發送數據。

當前操作的FIFO寫“滿”時,FX2自動將其轉換到外部接口端,排除等候讀取;并將USB接口隊列中下一個為“空”的FIFO轉移到USB接口上,供其繼續寫數據。同時,在外部接口端看來,只要有1個FIFO為“半滿”,就可以繼續讀取數據。當前操作的FIFO讀“空”時,FX2自動將其轉換到USB接口端,排除等候寫入;并將外部接口隊列中下一個為“滿”的FIFO轉移到外部接口上,供其繼續讀取數據。

3 、軟件設計及實現

本設計的軟件設計包括:固件程序、驅動程序和應用程序設計。其中,固件程序是整個程序設計的核心,它在設備CPU中運行。GPIF就是在固件中實現的,因此,只有在該程序運行時,外設才能稱之為具有給定功能的外部設備。

3.1 固件設計

在GPIF高速數據傳輸中,GPIF波形的描述符決定了整個數據傳輸過程的時序。GPIF波形描述符通常用Cypress公司的GPIF工具(GPIFTOOL)進行配置。它是一個可運行于Windows平臺的應用程序,與FX2的開發包一起發布的。在GPIF方式下,所有的讀/寫及控制邏輯通過CY7C68013的GPIF以軟件編程的方式實現,且控制邏輯的變換方便靈活(只需要改變接口的一個配置寄存器的值)。

FX2由4個GPIF波形描述符控制各個狀態,它們分別是GPIF Waveform O(FIFORd)、GPIF Waveform1(FIFOWr)、GPIF Waveform 2(SnglRd)和GPIF Wave-form 3(SnglWr)。這些波形描述符可以動態地配置給任何一個端點FIFO。FX2的固件程序可以把這些描述符配置給4個FIFO中的任意一個;配置后,GPIF將依據波形描述符產生相應的控制邏輯和握手信號給外界接口,以滿足向FIFO讀/寫數據的需要。每個波形描述符包含了7個有效狀態(S0~S6)和1個空閑狀態。在每個有效狀態對應的時間段里,經過預先設置,GPIF可以完成以下幾項工作:驅動(使高或低)或浮接CTL輸出,采樣或驅動FIFO的數據總線,增加GPIF地址總線的值和指向當前FIFO指針的值,以及啟動GPIFWF(GPIF波形)中斷。除此之外,在每個狀態下,GPIF還可以對幾個信號(如RDY輸入端、FIFO狀態標志位、內部RDY標志位和傳輸計數終止標志位)中的任意兩個進行采樣,把其中兩個信號相“與”、相“或”或者相“異或”,并根據結果跳轉到其他任意一個狀態或延遲1~256個時鐘周期,當然也可以根據輸入端的信號進行跳轉或延遲。

FIFO讀波形配置(FIFORd)如圖5所示。在狀態0時,數據總線上的數據為有效(activate),GPIF把數據讀到FIFO中。在狀態1時,GPIF產生一個正脈沖信號RDCLK(CTL0)給外圍設備,表示已經讀取了一個數據,同時判斷數據是否傳輸結束。如果還沒有,則不斷循環狀態O和狀態l,直到讀完所有數據為止;讀完所有數據后,不再經過中間其他任何狀態,就直接跳到狀態7(Idle),表示完成本次數據傳輸。從圖5中町以看出,在兩個時鐘周期內完成了一個數據(8位或16位)的讀取,如果數據為雙字節寬,那么傳輸速率可達48 Mb/s,從而充分利用了USB2.0的傳輸帶寬,大大提高了數據傳輸的速率。

3.2 驅動程序設計

USB系統驅動程序由3部分組成:USB設備驅動程序、USB總線驅動程序和USB主控制器驅動程序。其中,Windows操作系統已經提供了處于驅動程序棧底的USB總線驅動程序和USB主控制器驅動程序;而USB設備驅動程序由設備開發者編寫,通過向USB總線驅動程序發送包含URB(USB Request Block)的IRP(I/O RequestPaeket),以實現USB外設之間的信息交換。

開發USB設備驅動程序,可采用Numega公司的開發包Driver Works和Mierosoft公司的2000DDK,并以VC++6.O作為輔助開發環境來完成。在Cypress公司的EZ-USBFX2開發包中,提供了完整的CY7C68013驅動程序源代碼、控制面板程序及固件的框架,可以大大加快用戶開發的進度。用戶只需對所帶驅動程序稍加修改甚至無需任何修改,再經DDK編譯后使用,軟件開發者大量的時間主要集中在應用程序和固件的開發上。本設計所用的USB設備驅動程序就是對FX2開發包所帶的驅動程序做了一些修改,主要是修改了DeviceIoControl例程,增加了控制數據傳輸函數、啟動和停止AD、復位FIFO等。

3.3 應用程序設計

用戶程序是USB系統與用戶的接口,其關鍵是實現從USB外設讀取或發送USB設備請求、命令和特定量的數據等,并對數據進行一系列處理(如存儲、顯示等)。在編寫用戶程序時,首先要建立與外設的連接,然后才能實施數據的傳輸。

本設計使用的是C++Builder6編譯環境,在C++Builder6環境下通過API函數去調用USB驅動?;静襟E為:首先打開設備的句柄;然后進行讀/寫和控制操作;最后關閉設備句柄。程序中主要用到的兩個API函數CreatFile()和DeviceloControl()就是通過該句柄實現數據傳輸的。

4、結語

本文詳細介紹了基于USB2.O控制器CY7C68013的GFIF接口軟硬件設計方案。該設計充分利用了CY7C68013芯片的通用可編程接口特性,很大程度上解決了USB2.0設備存在的傳輸瓶頸問題,大大提高了數據傳輸速率。同時,由于利用了芯片的呵編程特性,因此在具備了普通USB接口方式的諸多優點之外,還簡化了外部硬件設計,提高了系統穩定性,有利于PCB板的制作和調試。

經驗證,在USB2.O的高速數據采集與處理系統中,基于USB2.0微控制器CY7C68013的GPIF接口設計是一種比較好的解決傳輸速度問題的方案。

責任編輯:gt


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    456

    文章

    50967

    瀏覽量

    424970
  • 控制器
    +關注

    關注

    112

    文章

    16406

    瀏覽量

    178650
  • usb
    usb
    +關注

    關注

    60

    文章

    7962

    瀏覽量

    265153
收藏 人收藏

    評論

    相關推薦

    CY7C68013的工作范圍及性能簡介

        CY7C68013的應用范圍很廣,在DSL調制解調器、ATA接口、記憶卡閱讀、傳統的轉換裝置、相機、首頁巴民族權力機構、無線局域網
    發表于 04-19 11:19

    cy7c68013

    上位機通過cy7c68013控制另一臺PC的鼠標,上位機與cy7c68013通過串口連接,另一端通過USB連接。
    發表于 03-10 17:16

    cy7c68013開發包及驅動

    本開發包及數據包提供用cy7c68013開發usb的完整C語言源代碼,可實現主機和借口MASTER的控制命令和數據的傳輸-the data packets used
    發表于 04-11 16:54 ?674次下載
    <b class='flag-5'>cy7c68013</b>開發包及驅動

    基于CY7C68013的USB數據采集系統

    本文介紹了高速USB2.0芯片CY7C68013的特點。設計出一種主要由CY7C68013與Altera公司EP1C6芯片構成的USB2.
    發表于 09-14 14:33 ?133次下載

    基于CY7C68013的液晶驅動電路設計

    在智能儀表和工業控制中經常需要顯示靜態圖像和動態數據信息,本設計利用通用串行總線(USB)接口控制器CY7C68013的Slave FIFO接口技術,
    發表于 08-03 15:24 ?48次下載

    USB2.0控制器CY7C68013接口設計實現

    USB2.0控制器CY7C68013接口設計實現   1 引言   USB (Universal Serial Bus)接口以其速度快、功耗低、支持即插即用(Plug & Play
    發表于 01-21 10:00 ?1435次閱讀
    USB2.0控制器<b class='flag-5'>CY7C68013</b>的<b class='flag-5'>接口</b>設計<b class='flag-5'>實現</b>

    CY7C68013器件中文手冊

    CY7C68013器件中文手冊
    發表于 01-21 18:30 ?164次下載
    <b class='flag-5'>CY7C68013</b>器件中文手冊

    CY7C68013 GPIF可視化編程軟件

    本內容提供了CY7C68013 GPIF可視化編程軟件的安裝程序
    發表于 04-29 17:53 ?182次下載
    <b class='flag-5'>CY7C68013</b> GPIF可視化<b class='flag-5'>編程</b>軟件

    基于CY7C68013的CCD圖像傳輸系統

    針對面陣CCD 圖像的特點,提出了一種基于CY7C68013 的圖像實時傳輸系統。系統從面陣CCD 模塊中直接獲取數字圖像信號,利用CPLD 控制圖像數據的時序,以CY7C68013 作為數據傳輸的核心,實現了基
    發表于 05-17 17:36 ?100次下載
    基于<b class='flag-5'>CY7C68013</b>的CCD圖像傳輸系統

    基于CY7C68013的高速數據通信接口設計

    利用USB2.0接口芯片CY7C68013實現了語音信號處理系統中DSP與PC機的高速通信,簡要介紹了CY7C68013的功能結構以及與TM
    發表于 09-08 17:59 ?69次下載

    基于USB2.0芯片CY7C68013的高速數據通信接口設計

    利用USB2.0接口芯片CY7C68013實現了語音信號處理系統中DSP與PC機的高速通信,簡要介紹了CY7C68013的功能結構以及與TM
    發表于 09-21 11:41 ?177次下載

    CY7C68013和FPGA的數據通信

    Cypress公司的FX2系列芯片之一CY7C68013是最早符合USB2.0標準的微控制器,集成了符合USB2.0的收發器、串行接口引擎(SIE)、增強型8051內核以及可編程的外圍
    發表于 03-28 16:52 ?1.1w次閱讀
    <b class='flag-5'>CY7C68013</b>和FPGA的數據通信

    cy7c68013數據手冊

    cy7c68013,有需要的朋友下來看看。
    發表于 01-22 14:14 ?31次下載

    采用CY7C68013芯片的系統固件程序設計

    采用CY7C68013芯片的系統固件程序設計。
    發表于 01-22 14:10 ?31次下載

    基于CY7C68013的USB_Camera開發教程

    CY7C68013經常使用,固件開發也是需要掌握的內容。
    發表于 12-17 11:58 ?34次下載
    主站蜘蛛池模板: 美女xx00| 亚洲国产欧美日韩在线一区| 美女直播喷水| 青青草久久伊人| 亚洲精品m在线观看| 国产精品人妻无码久久久蜜桃臀| 老熟人老女人国产老太| 天天操天天干天天爽| 1788vv视频| 好紧好湿太硬了我太爽了文字| 男生射女生| 亚洲无吗精品AV九九久久| yellow日本动漫观看免费| 久久re热在线视频精69| 色婷婷五月综合久久中文字幕| 约艺术院校96年清纯白嫩| 国产精品一国产精品免费| 秋霞电影院兔费理论84MB| 白白操在线视频| 色戒在线完整观看在线播放版| 最新国产亚洲亚洲精品视频 | 91精品国产色综合久久| 国产一区内射最近更新| 日韩亚洲欧美中文在线| 99热久久久无码国产精品性麻豆| 久久99精品国产免费观看| 亚洲大片免费看| 国产精品第1页在线观看| 日韩美女爱爱| 国产精品永久AV无码视频| 亚洲国产欧美日韩在线一区| 久久久久久久久免费视频| 杨幂视频1分11未删减在线观看| 国产AV综合手机在线观看| 日本工口生肉全彩大全| JAVAPARSER丰满白老师| 麻豆第一区MV免费观看网站 | 全球真实小U女视频合集| 99久久综合精品免费| 日产亚洲一区二区三区| 寂寞夜晚在线视频观看|