2019年9月24日 星期二

Hinet 網頁系列 --- USB DIY 系列 (一) USB Q&A (二)

(補充說明:當時在做USB DIY(其實就是很多搞USB 工具,包括燒錄器啊,下載線

或是開發平台檢測或開發工具等),當時市面上所能選擇的USB  控制IC 不多,而

Cypress 是當年在這一方面很早有這樣子平台的IC 公司,所以有很多人都利用這一

顆  USB 控制IC 來開發,但現在不同了,幾乎每一家MCU公司都有屬於自己的USB 

控制IC, 就連Arduino 最早也是用別人的USB 轉 UART 的IC,後來也都改成用自己

的USB controller IC 來做了,所以這在在證明,基礎原理原比你用哪家USB 控制IC

還比較重的。不是嗎?)


標題:USB Endpoint 的存取方式 ? -- Performance issue

Q: 想請教有關cypress CY7C68013A這個晶片的endpoint的存取方式
小弟使用的是FLXP的發展板
我在外部接了一個裝置,會不停的透過port A傳送資料給晶片
而我想把這些資料透過endpoint6或8回傳給pc

目前我的方法是直接對endpoint的fifobuf去做存取
但聽說這樣會降低速度
是不是有什麼方法可以不用我直接去控制fifobuf而讓他自己去對endpoint送資料
8051只有在我下命令時才會決定是不是要傳送由port a不斷送進來的資料

不知道我這樣說有沒有人能了解?
@@

A1: 我在FX上是..
若endpoint6設成中斷模式,
那Host端就會在固定的時間去問endpoint6有沒有資料.
當Host問endpoint6時,就會觸發FX中斷,此時再去port A抓資料放到buf....
以上轉載自 USBLAB 討論區
---------------------------------------------------------------------------------------------------------------------------

我在 USB DIY 講座( 八) 說明中,有提到關於 BULK Transfer 的基本觀念 ,

您可以詳細地去解讀那篇文章內容的所要傳達的觀念,其實,以PC端的上層程式

是不必去一直問的,因為驅動程式會幫您作的,但反過來,您應該更要去仔細的

定義您的資料傳輸的基本動作,而這些基本動作跟傳統的 Serial & Parallel 是一樣的;

而USB 能幫您的是:一旦您要傳資料時,那怕只有 64 Bytes ,

USB都會很精準的幫您完成的。這是做  USB 跟 傳統Serial & Parallel觀念一樣的地方的。

沒有留言:

張貼留言