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

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

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

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

通過CY7C68013控制器與FPGA芯片實現(xiàn)Verilog HDL接口設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-07-29 08:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引 言

USB(通用串行總線)是英特爾、微軟、IBM、康柏等公司1994年聯(lián)合制定的一種通用串行總線規(guī)范,它解決了與網(wǎng)絡通信問題,而且端口擴展性能好、容易使用。最新的USB2.0支持3種速率:低速1.5 Mbit/s,全速12 Mbit/s,高速480 Mbit/s。這3種速率可以滿足目前大部分外設接口的需要。

本文介紹了目前使用較多的USB2.0控制器CY7C68013芯片與FPGA(現(xiàn)場可編程門陣列)芯片接口的Verilog HDL(硬件描述語言)實現(xiàn)。本系統(tǒng)可擴展,完全可用于其他高速數(shù)據(jù)采集系統(tǒng)中。

1 系統(tǒng)構(gòu)成

本系統(tǒng)主要是由FPGA和USB2.0控制器CY7C268013組成,系統(tǒng)框圖及其信號連接關(guān)系如圖1所示。可以根據(jù)實際系統(tǒng)的需要,用FPGA實現(xiàn)預定功能,如數(shù)據(jù)采集卡、控制硬盤讀寫等。

通過CY7C68013控制器與FPGA芯片實現(xiàn)Verilog HDL接口設計

1.1 控制器CY7C68013

Cypress公司的EZ-USB FX 2是第一個包含USB2.0的集成微控制器,它內(nèi)部集成了1個增強型的8051、1個智能USB串行接口引擎、1個USB數(shù)據(jù)收發(fā)器、3個8位I/O口、16位地址線、8.5 kB RAM和4 kBFIFO等。增強性8051內(nèi)核完全與標準8051兼容,而性能可達到標準8051的3倍以上。其框圖如圖2所示。

通過CY7C68013控制器與FPGA芯片實現(xiàn)Verilog HDL接口設計

1.1.1 CY7C68013結(jié)構(gòu)特點

EZ-USB FX2提供了一種獨持架構(gòu),使USB接口和應用環(huán)境直接共享FIFO,而微控制器可不參與數(shù)據(jù)傳輸,但允許以FIFO或RAM的方式訪問這些共享FIFO,這種被稱之為“量子FIFO”的處理架構(gòu),較好地解決了USB高速模式的帶寬問題。

FX2芯片在數(shù)據(jù)傳輸時主要利用了4 kB的FIFO,分為7個端點:EPOIN&OUT、EP1IN、EP1OUT、EP2、EP4、EP6和EP8。其中EPO、EPlIN和EP1OUT是3個64 B的緩存,只能被固件訪問,EP0是一個默認的數(shù)據(jù)輸入輸出端口緩存;EP1IN和EP1OUT是單獨的64 B緩存,呵以配置這些端點為塊傳輸、中斷傳輸或同步傳輸;端點2、4、6、8是大容量高帶寬的數(shù)據(jù)傳輸端點,可以配置為各種帶寬以滿足實際需要,端點2、4是輸出端點,端點6、8是輸入端點。值得注意的是,端點4、8能配置為每幀512 B,而端點2、6卻能配置為每幀512 B或1 024 B,并可配置為2、3、4級,這樣EP2或EP6最大能配置為4 kB的緩存。

其在內(nèi)部的傳輸控制是通過full(滿)和empty(空)兩個控制信號來完成的,當full為真時不能再寫數(shù)據(jù),當empty為真時不能再對FIFO進行讀,其內(nèi)部數(shù)據(jù)傳輸示意圖如圖3所示。

如圖3所示,USB執(zhí)行OUT傳輸,將EP2端點設成512 B四重FIFO。在USB端和外部接門端都并不知道有四重FIFO。USB端只要有1個FIFO為“半滿”,就可以繼續(xù)發(fā)送數(shù)據(jù)。當操作的FIFO寫“滿”時,F(xiàn)X2自動將其轉(zhuǎn)換到外部接口端,排隊等候讀?。徊SB接口隊列中下一個為“空”的FIFO轉(zhuǎn)移到USB接口上,供其繼續(xù)寫數(shù)據(jù)。外部接門端與此類似,只要有1個FIFO為“半滿”,就可以繼續(xù)讀取數(shù)據(jù)。當前操作的FIFO讀“空”時,F(xiàn)X2自動將其轉(zhuǎn)換到USB接口端,排隊等候?qū)懭?;并將外部接口隊列中下一個為“滿”的FIFO轉(zhuǎn)移到外部接口上,供其繼續(xù)讀取。

通過CY7C68013控制器與FPGA芯片實現(xiàn)Verilog HDL接口設計

1.1.2 Fx2接口方式

FX2有Slave FIFO和GPIF兩種接口方式。

Slave FIFO是從機方式,即FX的CPU不直接參與USB數(shù)據(jù)處理,而是簡單地把FX作為USB和外部數(shù)據(jù)處理邏輯(如ASIC、DSP和IDE(串行接口引擎)控制器)之間的通道,數(shù)據(jù)流并不經(jīng)過CPU,而是通過FX的FIFO直接傳輸。FIFO通過外部主機控制,同時,F(xiàn)IFO提供所需的時序信號、握手信號(滿、空等)和輸出使能等。

可編程接口GPIF是主機方式,GPIF作為內(nèi)部主機控制端點FIFO,其core是一個可編程狀態(tài)機,可以生成多達6個控制輸出信號和9個地址輸出信號,能外接6個外部Ready輸入信號和2個內(nèi)部Ready輸入信號。通過用戶自定義的波形描述符來控制狀態(tài)機,使用軟件編程讀寫控制波形,幾乎可以對任何8/16 hit接口的控制器、存儲器和總線進行數(shù)據(jù)的主動讀寫,非常靈活。

2 接口的Verilog HDL編程實現(xiàn)

在本設計巾采用Slave FIFO從機方式實現(xiàn)FPGA對FX的控制,通過Verilog HDL編程實現(xiàn)。FPGA可以根據(jù)實際情況選定。我們在設計時選用Xilinx公司的Virtex-Ⅱ設備(XC2V10004FG456C)。

2.1 異步FIFO讀數(shù)據(jù)

FX讀數(shù)據(jù)也就是數(shù)據(jù)從FX傳到FPGA的過程,其過程如下:

a)反復檢測控制線狀態(tài),當讀事件發(fā)生時,即控制線con_out_z=0和RD_disk=10時,轉(zhuǎn)到 b;

b)分配FIFOADR[1:0]=00,這時FIFO指針會指向輸出端點,表明使用端點EP2;

c)檢查FIFO是否空,當empy=1時表示FIFO不空,轉(zhuǎn)到狀態(tài)d,否則保持在狀態(tài)C;

d)賦值SLOE=0,使雙向數(shù)據(jù)線FD在輸出狀態(tài),采樣FD數(shù)據(jù)線上的數(shù)據(jù),并在SLRD的上升沿使FIFO指針門動加1,跳轉(zhuǎn)到e;

e)假如有更多的數(shù)據(jù)需要讀,轉(zhuǎn)到狀態(tài)b,否則轉(zhuǎn)到狀態(tài)a。

對讀數(shù)據(jù)編程如下:

通過CY7C68013控制器與FPGA芯片實現(xiàn)Verilog HDL接口設計

Mentor軟件Modelsim進行仿真驗證,其仿真波形如圖4所示。在此過程中,SLRD信號特別重要,在SLRD的下降沿把FlFO中的數(shù)據(jù)放到FD數(shù)據(jù)線上;在SLRD的上升沿把FIFO指針加1,并指向下一個單元。

通過CY7C68013控制器與FPGA芯片實現(xiàn)Verilog HDL接口設計

2.2 異步FIFO寫數(shù)據(jù)

向FIFO寫數(shù)據(jù)是讀數(shù)據(jù)的逆過程,也就是把FP-GA數(shù)據(jù)寫入FX的FIFO,其編程過程如下:

a)查詢控制信號線con_out_z和WR_disk,看是否有讀事件發(fā)生,如果有,就轉(zhuǎn)移到狀態(tài)b,否則保持在狀態(tài)a;

b)分配FIFOAFR[1:0]=10,F(xiàn)IFO指針指向輸入端點,轉(zhuǎn)向狀態(tài)c;

c)檢查FIFO的滿標志是否為1,假如fuIl=1,表示FIFO不滿,轉(zhuǎn)到狀態(tài)d,否則保持在狀態(tài)c;

d)把外部數(shù)據(jù)indata放在FD上,同時把SLWR拉高,以使得FIFO指針自動加1,然后轉(zhuǎn)到狀態(tài)e;

e)假如有更多的數(shù)據(jù)要傳輸,轉(zhuǎn)到狀態(tài)b,否則轉(zhuǎn)到狀態(tài)a。

其程序與寫FIFO數(shù)據(jù)時一樣,只是在生成SLWR信號時,需要注意控制信號之間的保持延時時間約束,這可以通過仿真結(jié)果進行適當修改。

通過CY7C68013控制器與FPGA芯片實現(xiàn)Verilog HDL接口設計

讀數(shù)據(jù)信號仿真波形如圖5所示。但必須注意的是,在SLWR的下降沿把indata數(shù)據(jù)線上的數(shù)據(jù)放到FD數(shù)據(jù)線上;在SLWR的上降沿把FD數(shù)據(jù)線上的數(shù)據(jù)放人FIFO,并同時使FIFO指針加1,指向下一個緩存單元。

通過CY7C68013控制器與FPGA芯片實現(xiàn)Verilog HDL接口設計

3 結(jié)束語

現(xiàn)在USB2.O控制器CY7C68013已經(jīng)應用到許多數(shù)據(jù)傳輸領(lǐng)域,由于此芯片靈活的接口和可編程特性簡化了外部硬件的設計,提高了系統(tǒng)可靠性,也利于PCB(印制電路板)的制作與調(diào)試。本設計可擴展性好,因此可用于需要處理大容量的數(shù)據(jù)采集系統(tǒng)中。本設計已經(jīng)用于對IDE硬盤的讀寫控制中,實現(xiàn)了對IDE硬盤的快速讀寫。


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

    關(guān)注

    1645

    文章

    22050

    瀏覽量

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

    關(guān)注

    114

    文章

    17113

    瀏覽量

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

    關(guān)注

    60

    文章

    8190

    瀏覽量

    272985
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    cy7c68013

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

    基于CY7C68013FPGA接口Verilog HDL編程

    結(jié)束語 現(xiàn)在USB2.O控制器CY7C68013已經(jīng)應用到許多數(shù)據(jù)傳輸領(lǐng)域,由于此芯片靈活的接口和可編程特性簡化了外部硬件的設計,提高了系統(tǒng)可靠性,也利于PCB(印制電路板)的制作與
    發(fā)表于 04-26 07:00

    USB2.0控制器CY7C68013芯片FPGA芯片接口Verilog HDL實現(xiàn)

    CY7C268013組成,系統(tǒng)框圖及其信號連接關(guān)系如圖1所示??梢愿鶕?jù)實際系統(tǒng)的需要,用FPGA實現(xiàn)預定功能,如數(shù)據(jù)采集卡、控制硬盤讀寫等。 1.1
    發(fā)表于 05-10 07:00

    怎么實現(xiàn)USB2.0微控制器CY7C68013的GPIF接口設計?

    本文介紹的基于USB2.0控制器CY7C68013的GPIF接口設計,就是充分利用了該芯片這一獨特的數(shù)據(jù)傳輸接口方式,有效地解決了在傳統(tǒng)
    發(fā)表于 05-26 06:47

    cy7c68013開發(fā)包及驅(qū)動

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

    USB2.0控制器CY7C68013特點與應用

    介紹USB2.0 協(xié)議以及Cypress 公司推出的USB2.0 控制器CY7C68013。USB2.0 協(xié)議提供480Mb/s 的傳輸速度, 向下完全兼容流行的USB1.1 協(xié)議。CY7C68013 是USB2.0 的完整解決
    發(fā)表于 04-16 14:08 ?45次下載

    基于CY7C68013的USB數(shù)據(jù)采集系統(tǒng)

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

    USB2.0控制器CY7C68013特點與應用

    介紹USB2.0協(xié)議以及Cypress公司推出的USB2.0控制器CY7C68013。USB2.0協(xié)議提供480Mb/s的傳輸速度,向下完全兼容流行的USB1.1協(xié)議。CY7C68013是USB2.0的完整解決方案。該
    發(fā)表于 11-28 13:41 ?55次下載

    USB2.0控制器CY7C68013接口設計實現(xiàn)

    USB2.0控制器CY7C68013接口設計實現(xiàn)   1 引言   USB (Universal Serial Bus)接口以其速度快、
    發(fā)表于 01-21 10:00 ?1563次閱讀
    USB2.0<b class='flag-5'>控制器</b><b class='flag-5'>CY7C68013</b>的<b class='flag-5'>接口</b>設計<b class='flag-5'>實現(xiàn)</b>

    基于CY7C68013的高速數(shù)據(jù)通信接口設計

    利用USB2.0接口芯片CY7C68013實現(xiàn)了語音信號處理系統(tǒng)中DSP與PC機的高速通信,簡要介紹了CY7C68013的功能結(jié)構(gòu)以及與TM
    發(fā)表于 09-08 17:59 ?69次下載

    基于USB2.0芯片CY7C68013的高速數(shù)據(jù)通信接口設計

    利用USB2.0接口芯片CY7C68013實現(xiàn)了語音信號處理系統(tǒng)中DSP與PC機的高速通信,簡要介紹了CY7C68013的功能結(jié)構(gòu)以及與TM
    發(fā)表于 09-21 11:41 ?177次下載

    CY7C68013FPGA的數(shù)據(jù)通信

    Cypress公司的FX2系列芯片之一CY7C68013是最早符合USB2.0標準的微控制器,集成了符合USB2.0的收發(fā)、串行接口引擎(
    發(fā)表于 03-28 16:52 ?1.1w次閱讀
    <b class='flag-5'>CY7C68013</b>和<b class='flag-5'>FPGA</b>的數(shù)據(jù)通信

    cy7c68013數(shù)據(jù)手冊

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

    USB2.0微控制器CY7C68013的數(shù)據(jù)采集系統(tǒng)的設計

    USB2.0微控制器CY7C68013的數(shù)據(jù)采集系統(tǒng)的設計
    發(fā)表于 01-22 14:10 ?30次下載

    USB2.0微控制器CY7C68013的GPIF接口設計資料下載

    電子發(fā)燒友網(wǎng)為你提供USB2.0微控制器CY7C68013的GPIF接口設計資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們
    發(fā)表于 04-10 08:43 ?20次下載
    USB2.0微<b class='flag-5'>控制器</b><b class='flag-5'>CY7C68013</b>的GPIF<b class='flag-5'>接口</b>設計資料下載