在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

基于FPGA的cy7c68013a雙向通信教程

e9Zb_gh_8734352 ? 來源:chengfengwenalan ? 作者:chengfengwenalan ? 2023-03-09 09:40 ? 次閱讀

01基于FPGA的cy7c68013a雙向通信實驗

cy68013

教程是基于FPGA的cy7c68013a的USB雙向通信實驗,本教程主要內(nèi)容:

1.cy7c68013a的固件編寫,以及生成iic固件和下載固件。

2.cy7c68013a的slave模式,以及他的讀寫時序

3.cy7c68013a的FPGA的上板測試,包括發(fā)送和接收兩部分

02開發(fā)過程

cy68013

01驅(qū)動

在進行試驗前要先安裝好Cypress提供的usb驅(qū)動,插上usb后,電腦就會檢測到未識別的設(shè)備,這時打開設(shè)備管理器,右鍵未識別的usb,然后手動選擇驅(qū)動。

在驅(qū)動會在本教程最后的鏈接中給出,如圖所示:

a07b7700-bdb5-11ed-bfe3-dac502259ad0.pnga0968bbc-bdb5-11ed-bfe3-dac502259ad0.png

02固件

固件是在CY68013的FPGA內(nèi)部有一個MCU,需要給MCU固化程序,固件的編寫主要是確定IN和OUT端點,以及一些標(biāo)志信號。

a0ca9b28-bdb5-11ed-bfe3-dac502259ad0.png

固件只需要改這些參數(shù)即可,一般情況下不需要修改,很容易看出本教程中設(shè)置的時鐘是48MHz,然后設(shè)置EP2為OUT端點,512字節(jié),4緩沖,bulk (注意OUT,IN都是相對PC來說的,OUT表示PC--->cy7c68013a,IN則相反)

EP6為IN端點,512字節(jié),4緩沖,bulk

flag_a 為EP2的EF,也就是空標(biāo)志信號,為低時表示空,也就是沒有數(shù)據(jù)過來,為高則表示有數(shù)據(jù)來了

flag_d 為EP6的FF,也就是滿標(biāo)志信號,為低時表示寫滿了,這時再去寫就是無效寫了,為高則表示沒有寫滿,可以繼續(xù)寫。

a0e72a9a-bdb5-11ed-bfe3-dac502259ad0.png

教程提供的固件所在文件夾:固件源碼什么的都在Firmware文件中

a0fd7138-bdb5-11ed-bfe3-dac502259ad0.png

03時序

Slave FIFO的時序如圖所示。

a1231fb4-bdb5-11ed-bfe3-dac502259ad0.png

有圖很容易看出,再寫之前要先把FIFOADR確認好,這個決定了你寫的對象是誰

a135a710-bdb5-11ed-bfe3-dac502259ad0.png

slave讀操作

a1472b34-bdb5-11ed-bfe3-dac502259ad0.png

然后在該fifo非滿時(相應(yīng)的FF標(biāo)志位高),才可以進行寫操作,這個時序很簡單,就是拉低slwr信號就可以了,注意FD要與slwr對齊。

注意:寫操作時,slwr與FD的數(shù)據(jù)都是FPGA來控制的,為了讓cy7c68013a更好的采樣,ifclk與clk反向之后再發(fā)送給cy7c68013a.

讀時序跟寫也是類似的,再讀之前先確定FIFOADR,然后拉低sloe,這時FD總線就會出現(xiàn)第一個數(shù)據(jù),然后檢測到slrd為低時,F(xiàn)D就會顯示下一個數(shù)據(jù)。

04FPGA與cy7c68013a通信

前面主要是準備工作,現(xiàn)在正是進入測試:

項目工程如下:

a16fadca-bdb5-11ed-bfe3-dac502259ad0.png

a186aff2-bdb5-11ed-bfe3-dac502259ad0.png

具體代碼都已經(jīng)有了詳細注釋了,這里就不詳細解釋。

本教程所用的調(diào)試工具是官方的工具

a1a73164-bdb5-11ed-bfe3-dac502259ad0.png

03調(diào)試

Deep learnning

下面給出寫的signal tap 的調(diào)試截圖

寫是一次寫512個字節(jié)數(shù)據(jù),0-255,注意usb的fifo是一次發(fā)送16位的,也就是2個字節(jié)。先發(fā)送低字節(jié),然后再發(fā)送高字節(jié),這我直接把低字節(jié)給賦值為0了

a1c3ec78-bdb5-11ed-bfe3-dac502259ad0.png

a1d8294a-bdb5-11ed-bfe3-dac502259ad0.png

a1eb6a96-bdb5-11ed-bfe3-dac502259ad0.png

前面局部放大圖

a202dc6c-bdb5-11ed-bfe3-dac502259ad0.png

后面局部放大圖,注意只有在flag_d為高時,slwr為低才是有效寫,否則就是無效寫,因為當(dāng)flag_d為低時,表示寫滿了,這時fifo就會丟棄后面寫的數(shù)據(jù)。

a2205e90-bdb5-11ed-bfe3-dac502259ad0.png

PC端接收到的數(shù)據(jù)要2個字節(jié)一起讀,因為usb是16位發(fā)送的,可以看出接收到的數(shù)據(jù)的確是0000-00FF。

注意:pc接收數(shù)據(jù)按照下圖標(biāo)的編碼順序執(zhí)行

a2331e86-bdb5-11ed-bfe3-dac502259ad0.png

a2524220-bdb5-11ed-bfe3-dac502259ad0.png

a26cf6e2-bdb5-11ed-bfe3-dac502259ad0.png

pc發(fā)送數(shù)據(jù)按1-->2-->3的步驟,可以看出我們發(fā)送了12 34 56 78 這4個字節(jié)

a280d608-bdb5-11ed-bfe3-dac502259ad0.pnga29715bc-bdb5-11ed-bfe3-dac502259ad0.png

注意這里我是設(shè)置了cmd_flag標(biāo)志信號的,只有cmd_flag為高時的cmd_data的數(shù)據(jù)才是有效的,也就是pc發(fā)送過來的數(shù)據(jù)

a2a8ace6-bdb5-11ed-bfe3-dac502259ad0.png

alter 的fifo ip 是可以讀寫位寬不一致的,具體看下面的圖。

a2c8d782-bdb5-11ed-bfe3-dac502259ad0.png

由上圖可以看出這個和usb是一樣的格式,都是先發(fā)低字節(jié),然后再發(fā)高字節(jié)?;蛘哒f先接收低字節(jié),然后再接收高字節(jié)。

至此本教程就全部介紹完了,教程只挑了最關(guān)鍵的部分講述USB的開發(fā),但是包括了固件,驅(qū)動和FPGA程序,一個完整的USB和FPGA開發(fā)的工程完全可以進行在此基礎(chǔ)上進行二次開發(fā)。

審核編輯:湯梓紅

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

    關(guān)注

    1630

    文章

    21801

    瀏覽量

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

    關(guān)注

    60

    文章

    7988

    瀏覽量

    266259
  • Cypress
    +關(guān)注

    關(guān)注

    11

    文章

    137

    瀏覽量

    82246
  • CY7C68013A
    +關(guān)注

    關(guān)注

    2

    文章

    20

    瀏覽量

    21676
  • 編寫
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

    8504
  • 雙向通信
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    8650

原文標(biāo)題:基于FPGA的cy7c68013a雙向通信教程

文章出處:【微信號:gh_873435264fd4,微信公眾號:FPGA技術(shù)聯(lián)盟】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    使用wavevison5軟件時,FPGA中的程序是在線加載的,CY7C68013A中的固件也是在線加載的嗎?

    指示燈都沒有亮,但是OVER_RANGE指示燈亮了,請問這是什么原因呢? 再請教一個問題,使用wavevison5軟件時,FPGA中的程序是在線加載的,CY7C68013A中的固件也是在線加載的嗎?
    發(fā)表于 12-27 08:11

    FX2 CY7C68013A如何在C++環(huán)境中使用LoadEEPROM函數(shù)?

    我使用的是 FX2 CY7C68013A 芯片。 我知道 CyUSB.NET 庫中有我需要的 LoadEEPROM 函數(shù)。 請問如何在 C++ 環(huán)境而不是 C#/CLR 環(huán)境中使用該函數(shù)? C
    發(fā)表于 05-31 06:59

    FX2從CY7C68013A移植到CYUSB2014的過程是怎樣的?

    我計劃將我的設(shè)計從 CY7C68013A 移植到 CYUSB2014。 我是否可以使用相同的開發(fā)工具,只是選擇不同的組件? 有什么潛在問題需要注意嗎?
    發(fā)表于 05-28 07:18

    cy7c68013a的數(shù)據(jù)傳輸錯誤的原因?

    cy7c68013aFPGA采用同步slfifo模式通訊,當(dāng)上位機使用control center發(fā)送2個字節(jié)時,FPGA收到數(shù)據(jù)正確,當(dāng)發(fā)送4個以上字節(jié)時會出現(xiàn)頭兩個字節(jié)丟失,后兩個字節(jié)重復(fù)的現(xiàn)象,百思不得其解?固件使用官網(wǎng)
    發(fā)表于 02-28 08:25

    CY7C68013A無法加載EEPROM中的程序是為什么?

    我通過cycontrol將.IIC文件下載到24lc64中,但是再次啟動時無法加載到CY7C68013A中,必須再使用cycontrol將hex文件下載到ram中才能使用,這是為什么?
    發(fā)表于 02-28 06:52

    利用CY7C68013a采集OV6946圖像數(shù)據(jù)遇到的疑問求解

    利用CY7C68013a采集OV6946圖像數(shù)據(jù)。采用了Slave FIFO和GPIF兩種模式,編寫了各自固件和上位機程序,在不同的PC機上(WIN 7或WIN 10)進行測試,發(fā)現(xiàn): (1
    發(fā)表于 02-28 06:26

    通過control center上位機讀取USB芯片CY7C68013A數(shù)據(jù)失敗的原因?

    大家好,通過control center上位機讀取CY7C68013A芯片的數(shù)據(jù),連續(xù)讀取512個字節(jié)能夠成功,讀取2個字節(jié)失敗,錯誤碼是997,一開始讀取2個字節(jié)也是失敗的,先讀取512個字節(jié)再讀取2個字節(jié)也是失敗的。
    發(fā)表于 02-27 08:28

    請問CY7C68013A可以使用8bit FIFO數(shù)據(jù)接口嗎?

    因為FPGA管腳不太夠,想問下CY7C68013A-56PVXI可以使用8bit FIFO數(shù)據(jù)接口嗎?可以的話,FPGA連接的是低8bit(FD0~FD7) 還是高8bit(FD8~F
    發(fā)表于 02-27 08:18

    cy7c68013a固件已經(jīng)配置成異步slave模式,是否有MCU用IO口控制cy7c68013a通過數(shù)據(jù)總線來實現(xiàn)與PC的USB口通信?

    cy7c68013a的固件已經(jīng)配置成異步slave模式,是否有MCU用IO口控制cy7c68013a通過數(shù)據(jù)總線來實現(xiàn)與PC的USB口通信,這樣應(yīng)用的示例程序或教程? 目的就是在現(xiàn)有的MCU系統(tǒng)中增加一個USB
    發(fā)表于 02-27 08:14

    cy7c68013傳輸數(shù)據(jù)錯誤與傳輸停止的疑問求解

    我現(xiàn)在正在使用CY7C68013A開發(fā)一個攝像頭產(chǎn)品,首先PC上位機傳輸300K左右的配置數(shù)據(jù)傳輸給FPGA(通過CY7C68013A的端口6,端口位OUT),然后FPGA開始采集圖像
    發(fā)表于 02-27 08:00

    CY7C68013A FPGA發(fā)送數(shù)據(jù)到PC則會丟包或者收到的數(shù)據(jù)對不上是為什么?

    我們這邊有個客戶使用CY7C68013A,客戶配置成slavefifo模式,PC端發(fā)送數(shù)據(jù)到FPGA時數(shù)據(jù)正常,FPGA發(fā)送數(shù)據(jù)到PC則會丟包或者收到的數(shù)據(jù)對不上。能否幫忙看下客戶的配置是否正確。
    發(fā)表于 02-27 07:14

    CY7C68013A通過USB與平板設(shè)備通信,平板能找到該USB設(shè)備但顯示無驅(qū)動的原因?

    使用貴司的CY7C68013A通過USB 與平板設(shè)備(安卓設(shè)備)通信時遇見問題,平板能找到該USB設(shè)備,但是顯示無驅(qū)動,不能進行數(shù)據(jù)傳輸。請問是需要自己寫安卓的驅(qū)動程序嗎?或者官網(wǎng)提供現(xiàn)成的驅(qū)動程序?
    發(fā)表于 02-27 06:35

    fpga通過cy7c68013a將數(shù)據(jù)經(jīng)過USB傳輸至電腦,每次都會多接收數(shù)據(jù)的原因?

    fpga通過cy7c68013a將數(shù)據(jù)經(jīng)過USB傳輸至電腦,采用slave FIFO模式 同步寫入,每一次計劃傳輸520字節(jié)的數(shù)據(jù),我通過SLWR這個信號控制寫入數(shù)據(jù)字節(jié)個數(shù),現(xiàn)在發(fā)現(xiàn)每次電腦接收
    發(fā)表于 02-27 06:18

    USB芯片CY7C68013AFPGA進行通信,從EP6讀取512字節(jié)是正常的,但是讀取2個字節(jié)失敗的原因?

    大家好,USB芯片CY7C68013AFPGA進行通信,從EP6讀取512字節(jié)是正常的,但是讀取2個字節(jié)失?。?b class='flag-5'>fpga端一直在發(fā))Bulk IN failed,謝謝
    發(fā)表于 02-27 06:03

    請問CY7C68013A高速模式如何配置?

    請問CY7C68013A高速模式如何配置?手冊里只有提到了中斷和ram
    發(fā)表于 02-23 08:09
    主站蜘蛛池模板: 国产又色又爽又黄的网站在线一级 | 日本黄色录象 | 99香蕉精品视频在线观看 | xxxx日本xx| 欧美成人午夜精品一区二区 | 国产农村女人一级毛片了 | 国产精品毛片在线大全 | 人人干综合| 亚洲香蕉影院 | 在线观看午夜 | 激情网址在线观看 | 欧美特黄视频在线观看 | 国产情侣自拍小视频 | 99在线国产视频 | 久久亚洲aⅴ精品网站婷婷 久久亚洲成人 | 色综合久久天天综合观看 | 人人看人人做人人爱精品 | 五月婷婷深深爱 | 丰满放荡岳乱妇91www | 亚洲三级视频在线观看 | 亚洲啊v在线| 一级片+国产 | www亚洲免费 | xxxx人成高清免费图片 | 午夜影院普通 | 人人艹在线 | 五夜婷婷| 午夜国产大片免费观看 | 日本高清中文字幕在线观穿线视频 | 日韩免费毛片全部不收费 | 日韩一级一欧美一级国产 | 永久黄网站色视频免费观看99 | 丁香综合激情 | 特级黄色淫片 | 国产精品久久久亚洲456 | 在线国产资源 | 久热久操 | 亚洲国产激情在线一区 | 韩国男女无遮挡高清性视频 | 福利视频网址 | 国产理论|