在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
EETOP诚邀模拟IC相关培训讲师 创芯人才网--重磅上线啦!
查看: 16450|回复: 34

有没有用fpga做过USB的大虾?

[复制链接]
发表于 2003-10-24 04:09:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
是否可以在外部不加其他物理芯片,直接连到usb口啊?
自己做核的话,固件部分如何设计呢?
发表于 2003-10-25 19:41:55 | 显示全部楼层

有没有用fpga做过USB的大虾?

当然不行,一定的外部加phy.
自己做核的话,可以不用固件形式,因为完成的任务特定,所以可以使用状态机来实现所要的功能
 楼主| 发表于 2003-10-25 20:00:37 | 显示全部楼层

有没有用fpga做过USB的大虾?

哦,那core部分的phy还需要不需要呢?
opencore上的USB1。1是function部分+PHY的
发表于 2003-10-25 21:14:31 | 显示全部楼层

有没有用fpga做过USB的大虾?

不明白,能不能说清楚点啊
发表于 2003-10-25 21:38:51 | 显示全部楼层

有没有用fpga做过USB的大虾?

我以前接触过的usb core都不带phy,所以我对phy并没有研究,usb phy是个简单的差分器件,或许可以使用有类似lvdds接口的fpga来实现吧?
只是猜想,现在也没有时间来分析,你是否可以把open core的usb1.1的文档挂过来让大家看看?
 楼主| 发表于 2003-10-26 04:22:41 | 显示全部楼层

有没有用fpga做过USB的大虾?

这个是来自intel的USB 2.0 Transceiver Macrocell Interface规范中的图,为USB2。0的。我觉得这个usb的phy就和atm的Utopia类似,直接与物理介质打交道,收发数据,usb中这个phy称为UTMI,其实就是收发状态机,位于代码的最底层
我的理解
11_95_5.bmp
 楼主| 发表于 2003-10-26 04:27:07 | 显示全部楼层

有没有用fpga做过USB的大虾?

上传intel的UTMI规范,USB2。0的,1。1兼容

11_95_6.rar

330.62 KB, 下载次数: 108 , 下载积分: 资产 -2 信元, 下载支出 2 信元

 楼主| 发表于 2003-10-26 04:30:14 | 显示全部楼层

有没有用fpga做过USB的大虾?

opencore中USB1.1 PHY的文档,只有txt的,
USB 1.1 PHY
==========
Status
------
This core is done. It was tested with a USB 1.1 core I have written on
a XESS XCV800 board with a a Philips PDIUSBP11A transceiver.
I have NOT yet tested it with my USB 2.0 Function IP core.
Test Bench
----------
There is no test bench, period !
Please don't email me asking for one, unless you want to hire me to
write one ! As I said above I have tested this core in real hardware and
it works just fine.
Documentation
-------------
Sorry, there is none. I just don't have the time to write it. I have tried
to follow the UTMI interface specification from USB 2.0 with one exception:
I have not added any error checking in the RX PHY, hence the RxError pin
is permanently tide to ground.
'phy_mode' selects between single ended and differential tx_phy output. See
Philips ISP 1105 transceiver data sheet for an explanation of it's MODE
select pin.
Currently this PHY only operates in Full-Speed mode. Required clock frequency
is 48MHz, from which the 12MHz USB transmit and receive clocks are derived.

Misc
----
The USB 1.1 Phy Project Page is:
http://www.opencores.org/cores/usb_phy
To find out more about me (Rudolf Usselmann), please visit:
http://www.asics.ws
 楼主| 发表于 2003-10-26 04:31:15 | 显示全部楼层

有没有用fpga做过USB的大虾?

USB1.1 function的文档,也是txt的
---------------------------------------

The USB 1.1 Function IP Core
============================================
Status
------
This core is done. It was tested on a XESS XCV800 board with
a Philips USB transceiver.
Test Bench
----------
I have uploaded a very basic test bench. It should be viewed
as a starting point to write a more comprehensive and complete
test bench.
Documentation
-------------
Sorry, there is none. I just don't have the time to write it (yet).
However, since this core is derived from my USB 2.0 Function
IP core, you might find something useful in there. Main
difference is that all the high speed support features have
been ripped out, and the interface was changed from a shared
memory model to a FIFO based model. Further there is no need
for a micro-controller interface and/or register file.

Here is the quick info:
The core will perform all USB enumeration in hardware. Meaning
it will automatically respond to the hosts SETUP packets and
send back appropriate information (which you must enter in to
the ROM). The enumeration process is usually very simple. The
host first requests a device Descriptor, which tells the host
some basic information about the device. Then it gets the
configuration descriptor, which descries the entire configuration
including all interfaces and endpoints. In this implementation
no descriptor may be larger than 64 bytes.
I have created anew top level since last check-in. Here is the
hierarchical view of the USB core:
usb1_core
    |
    +-- usb_phy
    |      |
    |      +-- usb_tx_phy
    |      |
    |      +-- usb_rx_phy
    |
    +-- usb1_utmi_if
    |
    +-- usb1_pl
    |      |
    |      +-- usb1_pd
    |      |
    |      +-- usb1_pa
    |      |
    |      +-- usb1_idma
    |      |
    |      +-- usb1_pe
    |
    +-- usb1_ctrl
    |
    +-- usb1_rom1
    |
    +-- 2x generic_fifo_sc_a
           |
           +-- generic_dpram
The following files have been removed and are no longer needed:
usb1_top.v
usb1_ep_in.v
usb1_ep_out.v
usb1_ep.v
usb1_fifo.v
This new release is a more generic and user friendly version of the
first release. You can now easy configure the endpoints and other
features. FIFOs are external to the core, you can chose the fifo
that best fits you from the "generfic_fifos" projects at OpenCores.
This includes choosing a dual clock fifo if you need to.
The new top level (usb1_core.v) has now a brief description of the
IO signals. Hopefully that description and the test bench will be
sufficient to get you started.
Also remember that you MUST edit the ROM to properly configure the
settings for your implementation and enter proper vendor IDs, etc.
I will try to write a more complete documentation as I get the time.
Misc
----
The USB 1.1 Function Project Page is:
http://www.opencores.org/cores/usb1_funct/
To find out more about me (Rudolf Usselmann), please visit:
http://www.asics.ws
Directory Structure
-------------------
[core_root]
|
+-doc                        Documentation
|
+-bench--+                   Test Bench
|        +-verilog           Verilog Sources
|        +-vhdl              VHDL Sources
|
+-rtl----+                   Core RTL Sources
|        +-verilog           Verilog Sources
|        +-vhdl              VHDL Sources
|
+-sim----+
|        +-rtl_sim---+       Functional verification Directory
|        |           +-bin   Makefiles/Run Scripts
|        |           +-run   Working Directory
|        |
|        +-gate_sim--+       Functional & Timing Gate Level
|                    |       Verification Directory
|                    +-bin   Makefiles/Run Scripts
|                    +-run   Working Directory
|
+-lint--+                    Lint Directory Tree
|       +-bin                Makefiles/Run Scripts
|       +-run                Working Directory
|       +-log                Linter log & result files
|
+-syn---+                    Synthesis Directory Tree
|       +-bin                Synthesis Scripts
|       +-run                Working Directory
|       +-log                Synthesis log files
|       +-out                Synthesis Output
 楼主| 发表于 2003-10-26 15:06:44 | 显示全部楼层

有没有用fpga做过USB的大虾?

外面是否还需要一个PHY芯片呢?
比如菲利普的
PDIUSBP11A
Universal Serial Bus Transceiver

11_95_9.pdf

120.88 KB, 下载次数: 86 , 下载积分: 资产 -2 信元, 下载支出 2 信元

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 21:19 , Processed in 0.027608 second(s), 10 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表