999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

slaveFIFO模式下USB和FPGA的數據通信

2014-08-04 12:44:28周瑩鄒連英
中國新通信 2014年10期

周瑩 鄒連英

【摘要】 本文介紹了基于USB2.0的EZ-USB FX2系列接口芯片之一CY7C68013,為解決PC與FPGA的高速數據傳輸,利用芯片的SlaveFIFO主從模式將CIS傳感器采集的紙幣數據準確無損地傳給PC機,利用verilog HDL語言在FPGA中產生相應的控制信號,最終實現對數據的快速傳輸,在上位機得到CIS采集的清晰的紙幣畫面。

【關鍵詞】 FPGA CY7C68013 SlaveFIFO模式 USB 紙幣圖像數據

一、引言

USB全稱為通用串行總線,是一種作為外圍設備與計算機之間通信的標準接口,具有可熱插拔、即插即用、快速、雙向、以及價格低廉等特性,獲得了越來越多用戶的接受。本文使用支持USB2.0協議的CY7C68013接口芯片,作為FPGA與PC之間的傳輸接口。

二、系統總設計

本文利用FPGA芯片作為系統的邏輯控制核心,控制CIS傳感器采集紙幣數據,并通過A/D將數字信號最終存入SDRAM。USB接口與上位機通信,只需將SDRAM中的數據通過USB傳輸到上位機顯示。整體設計如圖1所示:

2.1 USB枚舉過程

當集線器端口懸空時,被電阻下拉,當設備插入到集線器時,接了上拉電阻那條數據線的電壓對集線器來說,是一個高電平信號,集線器檢測到此狀態后,報告給USB主控制器,此時便檢測到設備。USB的枚舉過程是主機獲取USB設備信息的過程。

(1)USB主機檢測到有設備插入后對其復位,使用缺省地址發送獲取設備描述符的標準請求,主機獲取到一個數據包的設備描述符并確認無誤后,開始進入設置地址階段。(2)USB主機向缺省地址發送設置地址的請求,設備受到該請求后,直接進入到等待主機輸入令牌包,主機確認收到后發送ACK,設備收到ACK之后開始啟用新地址。以后主機就通過這個唯一的地址訪問該設備。(3)主機使用新地址再次獲取配置描述符。枚舉完成。

2.2 USB批量傳輸

本文設備和主機的數據傳輸采用批量傳輸,批量傳輸由建立包、數據包、握手包構成事務。用在數據量大,對數據的實時性要求不高的場合。傳輸過程如圖2所示:

2.3 系統硬件結構

本文采用了USB的slaveFIFO模式,利用FPGA產生CY7C68013的控制信號。USB與FPGA的接口信號FLAGB、FLAGC用來指示FIFO的空滿狀態,SLOE、SLRD、SLWR信號分別為輸出使能信號、讀寫控制信號,FIFOADD[1:0]的4個位用于選擇芯片內部的4個緩沖區之一。FD[15:0]為雙向數據端口。

三、軟件設計

系統的軟件設計包括三部分:FPGA控制器的verilog程序,USB的固件程序、上位機的控制程序。

3.1 同步SlaveFIFO寫的狀態機如下

IDLE:空閑,此時寫事件如果發生,轉入狀態1;

狀態1:觸發FIFOADD[1:0]指向IN FIFO,轉向狀態2;

狀態2:如果FIFO滿,則保持本狀態,否則轉向狀態3;

狀態3:驅動數據到總線上,觸發SLWR有效,轉向狀態4;

狀態4:若還有數據寫,則轉向狀態2,否則轉向IDLE;

3.2 USB的固件程序

USB固件是運行在CY7C68013芯片中的代碼,只有將固件程序完整的下載入芯片中,芯片才可以被外圍信號控制。SlaveFIFO模式中,USB內嵌的8051固件的功能只是配置SlaveFIFO相關的寄存器以及控制USB何時工作在SlaveFIFO模式下。一旦8051固件將相關的寄存器配置完畢,FPGA即可按照SlaveFIFO的傳輸時序,高速的與主機進行通訊,而在通訊過程中不需要固件的參與。在固件程序中,TD_Init函數只會在USB啟動后調用一次。在這個函數里添加自己的初始化代碼,也就是傳輸數據前要處理的,例如USB工作模式、CPU時鐘頻率、端點選擇、端點傳輸方向、FIFO大小配置等。TD_Poll函數就是用戶調度程序,USB會在空閑的時候反復調用該函數,所以我們把自己需要反復執行的代碼放在這里。本文在初始化函數TD_Poll中,改動的部分如下:

Void TD_Init(void)

{...

IFCONFIG = 0x03;// 設置外部時鐘源、同步傳輸、slave fifo模式

EP2CFG = 0xE2;//2端點IN、批量傳輸、512字節雙緩沖

EP6CFG = 0xE2;//2端點IN、批量傳輸、512字節雙緩沖

AUTOPTRSETUP |= 0x01 //使用自動指針,使用自動指針

....

}

3.3 上位機應用程序設計

上位機應用程序的作用就是提供一個人機交互的顯示界面,體現系統的運行狀態。這里采用MicrosoftVisual C++ 6.0 進行上位機應用程序的設計,程序中采用CYAPI 控制函數類。CyAPI 控制函數類為EZ-USB FX2LP系列USB接口芯片提供了十分精細的控制接口。在使用Cypress 公司提供的驅動程序基礎上,只需在主機程序中加入頭文件CyAPI.h 和庫文件CyAPI.lib 即可調用相應的控制函數。

四、測試結果

主機與設備之間通過USB的數據傳輸,實現對SDRAM中紙幣數據的上位機圖像顯示。顯示如圖3所示:

五、結束語

本文主要利用USB與FPGA的通信進行紙幣數據采集的驗證,能高速的將CIS采集的數據在上位機上進行顯示,便于觀察與調試。USB通信與其他串口擴展技術相比具有較大的優越性。其設置比較靈活,應用受限制少,在各種分布式控制領域部有推廣使用的價值。

主站蜘蛛池模板: 欧美人与动牲交a欧美精品| 国产激爽大片在线播放| 亚洲中文字幕在线观看| 夜色爽爽影院18禁妓女影院| 福利片91| 国产精品一区不卡| 伊人色天堂| 女人18毛片水真多国产| 91久久精品国产| 国产欧美日韩另类精彩视频| 欧美中文字幕在线二区| 久久香蕉国产线看观看精品蕉| 色婷婷天天综合在线| 55夜色66夜色国产精品视频| 久久午夜夜伦鲁鲁片不卡| 免费观看三级毛片| 色天天综合| 亚洲成人高清无码| 欧美日韩午夜| 国产亚洲精品资源在线26u| 欧美日韩一区二区在线免费观看| 久久精品娱乐亚洲领先| 日韩欧美91| 99久久免费精品特色大片| 免费无遮挡AV| 一区二区日韩国产精久久| 亚洲AV无码久久天堂| 色综合天天综合| 中文字幕亚洲乱码熟女1区2区| 国产三区二区| 91娇喘视频| 国产精品亚洲专区一区| 精品国产黑色丝袜高跟鞋| 亚洲嫩模喷白浆| 蜜臀AVWWW国产天堂| 亚洲色欲色欲www在线观看| 精品少妇三级亚洲| 天天综合色天天综合网| 无码'专区第一页| 精品国产成人国产在线| 国产精品19p| 一本久道久综合久久鬼色| 成年女人18毛片毛片免费| 亚洲人成电影在线播放| 国产伦片中文免费观看| 国产亚洲精品97在线观看| 免费观看精品视频999| 国产精品无码AV片在线观看播放| 无码 在线 在线| 2018日日摸夜夜添狠狠躁| 婷婷综合缴情亚洲五月伊| 欧美成人精品在线| 喷潮白浆直流在线播放| 午夜福利无码一区二区| 97狠狠操| 欧美中文一区| 国产成人久久777777| 亚洲视频一区在线| 中文字幕波多野不卡一区| 中文字幕亚洲电影| 99伊人精品| 国产精品成人AⅤ在线一二三四| 91美女视频在线观看| 国产亚洲精| 亚洲国产中文在线二区三区免| 久久青草精品一区二区三区| 国产综合网站| 亚洲精品无码AⅤ片青青在线观看| 成人日韩精品| 国产精品无码翘臀在线看纯欲| 无码一区中文字幕| 中文成人在线视频| 在线另类稀缺国产呦| 九九九国产| 一级一级一片免费| 成人精品午夜福利在线播放| 九九九国产| 亚洲天堂.com| 欧美高清视频一区二区三区| 国产成人精品午夜视频'| 国产精品yjizz视频网一二区| 国产精品永久不卡免费视频|