欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

3天內不再提示

通過CY7C68013微控制器實現(xiàn)數(shù)據(jù)低速控制、高速傳輸?shù)脑O計

牽手一起夢 ? 來源:網絡整理 ? 作者:佚名 ? 2020-01-16 10:14 ? 次閱讀

USB控制器是以USB串口引擎為主的專用集成電路,并可延伸至對其進行管理的MCU以及相應的軟硬件。目前市場上供應的USB控制器主要有2種:帶USB接口單片機(MCU)或純粹的USB接口芯片。帶USB接口的單片機可分為2類:一類是從底層設計專用于USB控制的單片機,如Cypress公司的CY7C63513、CY7C64013等,由于開發(fā)工具的專用性,往往應用于各種專業(yè)應用場合,如微機主板等;另一類是增加了USB接口的普通單片機,如Intel公司的8X931、8X930以及Cypress公司的EZ-USB,由于均基于8051內核,因而得到了廣泛應用。

1、 CY7C68013與系統(tǒng)結構簡介

Cypress公司的CY7C68013芯片是集成USB2.0協(xié)議的微處理器,支持12 Mb/s的全速傳輸和480 Mb/s的高速傳輸,具有控制傳輸、中斷傳輸、塊傳輸和同步傳輸4種傳輸方式,內部包括一個增強型8051處理器內核、一個串行接口引擎(SIE)、一個USB收發(fā)器、8.5 KB片上RAM和4 KB FIFO存儲器以及一個通用可編程接口(GPIF)。8051可工作在48 MHz/24 MHz/12 MHz時鐘頻率,內部可自動產生480 MHz的頻率供USB2.0串行收發(fā)引擎使用。由于數(shù)據(jù)緩沖器與SIE相連接,數(shù)據(jù)進入收發(fā)器后,通過SIE可直接轉向FIFO,通過8 bit或16 bit數(shù)據(jù)接口與外設連接,存取數(shù)據(jù)。微控制器不參與數(shù)據(jù)傳輸,但允許以FIFO或RAM的方式訪問這些共享FIFO,從而實現(xiàn)低速控制、高速傳輸。CY7C68013有GPIF/SLAVE FIFO/GPIO 3種接口模式,本系統(tǒng)采用Slave FIFO接口模式,選用控制傳輸和塊傳輸2種方式,外部控制器可像普通FIFO一樣對FIFO進行讀寫。

本數(shù)據(jù)傳輸系統(tǒng)分為3部分:發(fā)送端和接收端、CY7C68013控制器、具有并/串(或串并轉換)功能的CPLD芯片(MAX7128)以及光纖傳輸模塊。其中,CY7C68013和MAX7128之間采用并行連接方式,MAX7128與激光發(fā)送(接收)模塊間是串行連接,如圖1(a)所示。

通過CY7C68013微控制器實現(xiàn)數(shù)據(jù)低速控制、高速傳輸?shù)脑O計

圖1(a)中,主機將數(shù)據(jù)發(fā)送到CY7C68013端點FIFO緩沖器中,然后CY7C68013將端點FIFO中的數(shù)據(jù)分字節(jié)放到一組I/O口上,并且使能讀信號,MAX7128讀取I/O上的邏輯值,當接收512 B后,MAX7128將這512 B的數(shù)據(jù)從低到高串行發(fā)送給激光發(fā)送模塊;數(shù)據(jù)經過光纖傳輸,進入激光接收模塊,輸出串行信號,通過MAX7128實現(xiàn)串并轉換,數(shù)據(jù)寬度為8 bit,通過CY7C68013的從屬FIFO的寫入時序即可將數(shù)據(jù)寫入CY7C68013的端點緩沖器中。

USB數(shù)據(jù)傳輸接口開發(fā)分為4個層次,接口硬件、接口軟件、驅動和應用程序如圖1(b)所示。

2、 固件程序設計

由于高速數(shù)據(jù)傳輸不需要固件程序參與,固件程序僅僅處理主機的發(fā)送請求。在發(fā)送端,固件將數(shù)據(jù)放置到I/O口上供MAX7128讀?。辉诮邮斩?,MAX7128完成串并轉換后,將數(shù)據(jù)用特定時序寫入CY7C68013。此時只需設定寄存器,固件程序相對簡單,圖2為發(fā)送和接收固件程序流程。

通過CY7C68013微控制器實現(xiàn)數(shù)據(jù)低速控制、高速傳輸?shù)脑O計

CY7C68013芯片固件程序負責處理主(從)機發(fā)送來的各種請求,以完成與外圍電路間的各種數(shù)據(jù)傳輸。本系統(tǒng)固件一共包含九個程序文件,其中的頭文件分別定義了CY7C68013中的寄存器名和特殊功能寄存器、通用的CY7C68013常量、數(shù)據(jù)類型和宏、特殊功能寄存器所需要的同步延遲宏、用來描述CY7C68013狀態(tài)的各種USB描述符、INT2和INT4中斷跳轉表等。主函數(shù)負責處理標準USB請求和自定義請求,控制整個硬件系統(tǒng)的運行。接收端固件主循環(huán)不用做任何操作,與發(fā)送端程序流程圖完全相同。其固件運行的主程序清單如下,負責處理主機發(fā)出的各種USB請求。

……

TD_Init();//初始化用戶設備

EZUSB_IRQ_ENABLE();//使能USB中斷(INT2)

EZUSB_ENABLE_RSMIRQ();//使能喚醒中斷

INTSETUP |=(bmAV2EN | bmAV4EN);//使能INT2

//和INT4中斷跳轉向量

USBIE |=bmSUDAV | bmSUTOK | bmSUSP | bmURES |

bmHSGRANT;//使能所選擇的中斷

EA=1;//打開8051中斷

UsbDisconnect();

CKCON=(CKCON&(“bmSTRETCH)) | FW_STRETCH_

VALUE;//設為0值

Sleep=FALSE;//清除sleep標志

while(TRUE)//主循環(huán)

{

if(GotSUD)//等待SETUP令牌數(shù)據(jù)的到來

{

ParseControlTransfer();//處理SETUP令牌數(shù)據(jù)

GotSUD=FALSE;//清除SUDAV標志

}

if (Sleep)

{

Sleep=FALSE;//清除sleep標志

do

{

EZUSB_Susp();//置8051為空閑

}

while(!Rwuen&&EZUSB_EXTWAKEUP());

EZUSB_Resume();//從空閑狀態(tài)恢復

}

TD_Poll();//完成用戶任務

}

……

需要強調的是:固件程序設計完成后需要進行調試,確保系統(tǒng)硬件正常工作。

(1)工作時鐘頻率的確定:晶振兩引腳對地電壓均為1.6 V左右,此時CLKOUT引腳默認輸出為24 MHz,當輸出48 MHz時,電壓為2.5 V。

(2)電平觸發(fā)中斷方式:中斷后一定要讀上次傳輸狀態(tài)寄存器(命令40 H”45 H),以清除中斷寄存器中的中斷標志,這樣中斷輸出才能變回高電平。

(3)使能端口:接收到Setup包后,必須用ACKsetup命令重新使能端口為低電平。

(4)緩沖區(qū)數(shù)據(jù)標志:在向IN端點寫完數(shù)據(jù)后,必須設置EP2BCH指明緩沖區(qū)中的數(shù)據(jù)有效,示意可以發(fā)送到主機。當IN端點的數(shù)據(jù)被外設讀走后,一定要調用OUTPKTEND來清除緩沖區(qū)數(shù)據(jù),否則無法向IN端點寫入數(shù)據(jù)。在USB設備枚舉的過程中,可采用USB調試工具BusHound軟件來抓取它和主機的通信數(shù)據(jù)進行分析,以檢查硬件和固件程序的工作是否正確。

3 、驅動程序設計

為了配合CY7C68013的工作,需要有驅動程序以使上位機程序能正常訪問USB芯片。以Cypress公司提供的參考程序為基礎,增加自定義控制請求即可。

由于驅動程序必須和系統(tǒng)的總線驅動進行通信,系統(tǒng)總線驅動為WDM(Win32 Driver Model)驅動。因此,USB驅動程序采用WDM設備驅動程序。由于USB總線驅動程序(USBD)一般由操作系統(tǒng)提供,負責與實際的硬件打交道,因此,重點是開發(fā)USB設備驅動程序(USB Device Driver)。USB設備的WDM驅動程序是通過創(chuàng)建URB(USB請求塊),并向USB總線驅動程序發(fā)送包含URB的IRP來實現(xiàn)對USB設備信息的發(fā)送和接收。此外,USB設備驅動程序除負責處理應用程序的I/O請求外,還要處理PnP請求。

CY7C68013的驅動程序包括2部分:usbfft.sys,專用于下載芯片的固件程序;loaderfft.sys,上位機和CY7-C68013進行通訊的部分,用于實現(xiàn)數(shù)據(jù)收發(fā)功能。這2個部分都存放在上位機上,當系統(tǒng)上電或USB連接時,固件部分將自動下載到芯片的RAM中供8051執(zhí)行。

4、 應用程序設計

上位機是人機交互的平臺,需要良好的操作界面。本系統(tǒng)通過VB6.0開發(fā)了上位機應用程序,運行界面如圖3所示。

應用程序是完成數(shù)據(jù)發(fā)送與接收并且對系統(tǒng)進行有效控制的平臺,不僅需要向CY7C68013發(fā)送數(shù)據(jù),還需要將接收的數(shù)據(jù)顯示出來并保存。此外為了系統(tǒng)測試的方便,增加了誤碼率和速率測試模塊,以測試系統(tǒng)的整體性能。

本系統(tǒng)上位機的主要功能有:(1)文件的發(fā)送;(2)文件的接收;(3)速率測試;(4)誤碼率測試;(5)系統(tǒng)控制,用來獲取CY7C68013描述符以及其內部寄存器的情況,并對整個系統(tǒng)進行控制,如使能CY7C68013的數(shù)據(jù)輸出功能及片內數(shù)據(jù)轉移功能等。

系統(tǒng)中定義了6個時間控件來完成數(shù)據(jù)的發(fā)送與接收,timer1、timer3和timer4分別完成文件、誤碼率及速率測試的發(fā)送,Timer2、timer6和timer8分別完成文件、誤碼率及速率測試的接收。另外定義了一個時間控件來控制開啟哪一個接收數(shù)據(jù)時間控件。為了保證有效判斷所接收到的數(shù)據(jù)是文件、速率測試還是誤碼率測試數(shù)據(jù),在timer1、timer3和timer4發(fā)送前都先發(fā)送一個512 B的前導包。全為1時表示下一個數(shù)據(jù)包包含著速率測試數(shù)據(jù),全為2時表示下一個數(shù)據(jù)包包含著誤碼率測試數(shù)據(jù),全為3時表示下一個數(shù)據(jù)包包含著文件數(shù)據(jù)。這樣就能判斷出應該開啟哪一個接收時鐘。

具體的文件數(shù)據(jù)處理方法是:文件打開后,先將文件緩沖,定義一個二維數(shù)組:行512 B,列由文件大小決定。數(shù)組的第一個512 B前20 B記錄所發(fā)送文件的大小,并且在最開始的5 B以0xAA填充,表明這個數(shù)據(jù)包是全部文件的開始,當文件大小不足填滿最后的512 B時,數(shù)據(jù)補0,但數(shù)組結尾為0xAA。

采用CY7C68013設計的高速數(shù)據(jù)傳輸系統(tǒng),經過測試,達到了設計要求,實現(xiàn)了數(shù)據(jù)的高速傳輸,為下一步開展數(shù)據(jù)編碼/譯碼、調制/解調研究打下了良好的基礎。

責任編輯:gt

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

    關注

    48

    文章

    7646

    瀏覽量

    152052
  • 集成電路
    +關注

    關注

    5391

    文章

    11618

    瀏覽量

    363061
  • usb
    usb
    +關注

    關注

    60

    文章

    7979

    瀏覽量

    265958
收藏 人收藏

    評論

    相關推薦

    cy7c68013

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

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

    使用。最新的USB2.0支持3種速率:低速1.5 Mbit/s,全速12 Mbit/s,高速480 Mbit/s。這3種速率可以滿足目前大部分外設接口的需要。 本文介紹了目前使用較多的USB2.0控制器
    發(fā)表于 05-10 07:00

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

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

    基于CY7C68013高速數(shù)據(jù)傳輸系統(tǒng)該如何去設計?

    本文介紹一種基于CY7C68013高速數(shù)據(jù)傳輸系統(tǒng)的設計方案。
    發(fā)表于 06-02 06:08

    cy7c68013開發(fā)包及驅動

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

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

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

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

    本文介紹了高速USB2.0芯片CY7C68013的特點。設計出一種主要由CY7C68013與Altera公司EP1C6芯片構成的USB2. 0數(shù)據(jù)
    發(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
    發(fā)表于 11-28 13:41 ?55次下載

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

    USB2.0控制器CY7C68013的接口設計實現(xiàn)   1 引言   USB (Universal Serial Bus)接口以其速度快、功耗低、支持即插即用(Plug & Play)、使用安裝方便等優(yōu)點而得到
    發(fā)表于 01-21 10:00 ?1453次閱讀
    USB2.0<b class='flag-5'>控制器</b><b class='flag-5'>CY7C68013</b>的接口設計<b class='flag-5'>實現(xiàn)</b>

    基于CY7C68013的CCD圖像傳輸系統(tǒng)

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

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

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

    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次下載

    基于CY7C68013的USB2.0數(shù)據(jù)傳輸模塊設計

    基于CY7C68013的USB2.0數(shù)據(jù)傳輸模塊設計.
    發(fā)表于 01-22 14:27 ?37次下載

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

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