搜索
bottom↓
回复: 51

EP3C5E144C8+FT232H+AL440B轻松搞定USB数据传输

[复制链接]

出0入0汤圆

发表于 2012-12-2 18:51:02 | 显示全部楼层 |阅读模式
曾经徘徊于USB大门之外,被USB数据传输拖累了整个项目进度,系统从最初的68001升级到了68013,为此还特地买了一块800元坑爹的开发板,还打了两块板子,现在想想确实物有所不值。硬件成本不到80块钱的板子,就算是软件开发上耗费了一定的人力,既然是销售开发板,也是一种利润复制的关系,还卖得那样贵,淘宝上确实有这种产品,确实让人费解。在这块开发板上,我开始了解固件开发,Keil使用,驱动开发,上位机应用程序等等。这些繁复的USB数据协议对于使用者来说多数情况下是根本不关心却又不得不关心的。我们常常碰到这样的情况:一个系统,其核心的功能是数据的处理,数据的传输只是其很小的一部分,而实际中我们常常为了这个小部分的数据传输花费大量的精力。
后来一个工程师给了我块FT2232H的板子,让我帮忙调试,同时指出这个东西开发很简单。当时的心情只能说是兴奋。我用了不到两天的时间把USB接口调通了。在FPGA的控制之下,上位机对数据进行接收和发送都工作的比较稳定。同时,使用频率测量方法对FT2232H的USB OUT和USB IN速率进行了测试和估算,结果OUT速率在23MBytes/Sec左右,IN速率在38MBytes/Sec,大大超出了预期。我也意识到在系统复杂度不断增加的今天,工程师需要掌握的技能不断增加,这种“傻瓜式”的开发方式所带来的便利越来越凸显出来,很多工程师可以直接拿过来集成而不必在各个环节进行学习和开发是未来发展的趋势。后来还专门咨询了FTDI公司的应用支持搞清楚为什么OUT速率和IN速率相差那么多。第一版的接收机当中已经集成了FT2232H,第二版又更新到了FT232H,同时又加入了硬件FIFO对数据进行缓存,使数据传输的实时稳定性得到了很大程度的提升。对于很多即将选择USB2.0数据传输接口进行数据传输的工程师来讲,我郑重且负责任的推荐FT232H和FT2232H;对于那些只关注数据传输,且对FPGA开发、上位机开发不是很熟的人来讲,我强烈推荐。因为对此USB控制器的开发的确很简单。说了这么多,和大家共享一下目前我做的一款板子:

基本的硬件架构:EP3C5E144C8(主控器)+ FT232H(USB控制器)+ AL440B(512KB FIFO)+ 40PIN GPIO;
功能目标:高速数据传输(数据采集和数据恢复),可实现多种接口USB的转换,为各种主机提供USB高速数据传输接口;
晒几张照片:
速率测试,条件:Cure2 CPU E8400,2G内存,Win7 32位
USB OUT(平均速率):38MBytes/Sec;
USB    IN(平均速率):48MBytes/Sec;
实时数据采集及恢复(稳定传输的数据率),条件:上位机程序优先级设置成”实时“模式
USB OUT: 30MBytes/Sec;
USB    IN: 40MBytes/Sec;

对于有能力自己制版的工程师,我强烈推荐其使用此系列USB控制器;对于暂时未有制板打算,又想评估一下产品性能的工程师,我提供这样的样板:http://item.taobao.com/item.htm?id=16629986231。一片EP3C5E144的开发板平均价格在250左右,相比于那种800多的68013板,我更愿意做技术推广。不愿意为入门的人准备800多网络搜索的工程,然后刻个DVD随板子一起发送,但提供的工程实例独具特色,为的只是加速大家的工程进度。

本帖子中包含更多资源

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

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-12-2 19:03:03 | 显示全部楼层
好像不错哦.

出0入137汤圆

发表于 2012-12-2 19:09:07 | 显示全部楼层
看起来不错,本来计划用68013,看来还有别的选择

出0入0汤圆

发表于 2012-12-2 19:11:04 | 显示全部楼层
楼主研究研究一片ft232 实现fpga下载就牛了

出0入0汤圆

 楼主| 发表于 2012-12-2 19:42:45 | 显示全部楼层
chenguanglu 发表于 2012-12-2 19:11
楼主研究研究一片ft232 实现fpga下载就牛了

这个倒不是没研究过,只是觉得通过它只能进行烧写,而调试需要花费比较大的经历。所以就放弃了。

出0入0汤圆

 楼主| 发表于 2012-12-2 19:43:04 | 显示全部楼层
pulan 发表于 2012-12-2 19:09
看起来不错,本来计划用68013,看来还有别的选择

肯定加速你工程进度,呵呵!

出0入0汤圆

发表于 2012-12-2 22:15:42 | 显示全部楼层
有相关例程吗?

出0入0汤圆

发表于 2012-12-2 22:25:05 | 显示全部楼层
说得这么好,支持开源代码和电路图

出0入42汤圆

发表于 2012-12-2 22:33:03 | 显示全部楼层
唯一的问题就在于FT232H+AL440B的价格基本上够俩68013了,成本不敏感的应用还好。

另外68013A的开发板,800多的,一般都是带FPGA的吧。单独一个68013的基本都在100~200。

出0入0汤圆

发表于 2012-12-2 22:59:27 | 显示全部楼层
能不能USB3.0转光纤

出0入0汤圆

 楼主| 发表于 2012-12-2 23:45:31 | 显示全部楼层
jordonwu 发表于 2012-12-2 22:15
有相关例程吗?

有的,实时数据的采集和恢复例程都经过测试,可以稍做修改后应用到自己的工程。

出0入0汤圆

 楼主| 发表于 2012-12-2 23:52:42 | 显示全部楼层
jimmy_xt 发表于 2012-12-2 22:33
唯一的问题就在于FT232H+AL440B的价格基本上够俩68013了,成本不敏感的应用还好。

另外68013A的开发板,80 ...


EP1C6Q240C8单片买也就60块钱,再带上一个68013-128和max232,你说走批量成本能多少?卖890你觉得合理?我不认为这样。并不是贬低它来太高自己,只是就事论事。呵呵。至于你说的FT232H+AL440B够两个68013,本人确实不敢苟同,你拿一个512KB FIFO+USB来和两个USB比,本身就功能上不等量。我这里架构FIFO只是因为FIFO方便,事实上完全可以添加一块SDRAM,不仅成本降低,而且容量也扩大。但开发难度又上来了。设计就是成本,开发周期等等的折中。只拿其中的一方面来对比,未免有失偏颇。

出0入0汤圆

 楼主| 发表于 2012-12-2 23:57:53 | 显示全部楼层
fish_tian 发表于 2012-12-2 22:59
能不能USB3.0转光纤

USB3.0的暂时没研究,不太清楚。

出0入4汤圆

发表于 2012-12-3 00:02:33 | 显示全部楼层
我有一个FT2232H的学习板,号称40M/S的速度,没怎么玩过,能教教我怎么玩吗?

出0入0汤圆

 楼主| 发表于 2012-12-3 00:05:46 | 显示全部楼层
sunliezhi 发表于 2012-12-3 00:02
我有一个FT2232H的学习板,号称40M/S的速度,没怎么玩过,能教教我怎么玩吗? ...

具体什么配置?只有2232H?还是有其它主控芯片?

出0入4汤圆

发表于 2012-12-3 00:08:40 | 显示全部楼层
就2232+24C02

出0入4汤圆

发表于 2012-12-3 00:18:21 | 显示全部楼层
不错            

出0入0汤圆

 楼主| 发表于 2012-12-3 00:30:25 | 显示全部楼层
sunliezhi 发表于 2012-12-3 00:08
就2232+24C02

这个能转很多东西,比如232,422,485,I2C,SPI,JTAG,还可以模拟CPU。你应该找个主控器或者是设备来接受它的控制。用24C02做配置,我不太清楚,官方推荐是93LC46的,你可以仔细看看手册是否可以。

出0入0汤圆

发表于 2012-12-3 08:54:38 | 显示全部楼层
能放些相关资料和文档上来吗?谢谢

出0入0汤圆

发表于 2012-12-3 09:03:44 | 显示全部楼层
所以这个东西就是用FT2232转一个什么接口然后跟FPGA通信吗?这么高的速率似乎只有SPI了吧,请教一下LZ那我要接出来怎么办?比方说接个高速AD,接个摄像头啥的...

出0入0汤圆

发表于 2012-12-3 09:32:02 | 显示全部楼层
并行接口撒 只要速度上去了,数据能传了,用CPLDFPGA驱动.AD或摄像头撒

出0入4汤圆

发表于 2012-12-3 09:41:37 | 显示全部楼层
我开始想用他来模拟JTAG,但在网上搜到好多种电路图,不能确定用哪一种,就搁置了。
头像被屏蔽

出0入0汤圆

发表于 2012-12-3 10:20:29 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入9汤圆

发表于 2012-12-3 10:52:16 | 显示全部楼层
我也有一片FT2232H放着吃灰呢?

出0入42汤圆

发表于 2012-12-3 10:58:47 | 显示全部楼层
jr9910 发表于 2012-12-2 23:52
EP1C6Q240C8单片买也就60块钱,再带上一个68013-128和max232,你说走批量成本能多少?卖890你觉得合理? ...

我看到的很多类似您给出配置的板子,价格不到300。我没说890合理,只是说,那价位的板子多半带大规模的FPGA和一些其他外设。

我不知道您有啥可激动的,一堆不耐烦的反问语气。

说的明明白白,价格敏感应用还是得斟酌斟酌。可能我的语言表达能力太差吧。

出0入0汤圆

 楼主| 发表于 2012-12-3 12:56:35 | 显示全部楼层
ndt2000 发表于 2012-12-3 10:52
我也有一片FT2232H放着吃灰呢?

可以利用起来,功能还是很强大的,开发也不困难。

出0入0汤圆

 楼主| 发表于 2012-12-3 13:01:28 | 显示全部楼层
jimmy_xt 发表于 2012-12-3 10:58
我看到的很多类似您给出配置的板子,价格不到300。我没说890合理,只是说,那价位的板子多半带大规模的FP ...

价格这个芯片批量走应该在56pin的68013和100pin的68013之间,绝对比128pin的便宜。只不过我没有量,价格降不下来罢了。

出0入0汤圆

 楼主| 发表于 2012-12-3 18:48:50 | 显示全部楼层
jordonwu 发表于 2012-12-3 08:54
能放些相关资料和文档上来吗?谢谢



本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2012-12-3 20:51:29 | 显示全部楼层
请教楼主一个问题用fpga内部ram资源来做fifo不好吗?

出0入0汤圆

发表于 2012-12-3 21:04:31 | 显示全部楼层
这东西看起来还不错 ……

出0入0汤圆

 楼主| 发表于 2012-12-4 00:01:36 | 显示全部楼层
lanliang714 发表于 2012-12-3 20:51
请教楼主一个问题用fpga内部ram资源来做fifo不好吗?

我提供的一个数据采集的例程就是用内部FIFO来做的,而数据恢复是用外部FIFO来做的。用FPGA内部FIFO来做不是不可以,但需要看具体应用,如果速率不是很高,对FIFO的容量要求就不大,同时FPGA内部也有资源,这时候可以采用内部FIFO。但是如果资源比较紧张,通信速率又比较高的话,就需要一个缓冲区,缓冲区的大小选取和通信速率以及上位机响应USB数据传输的平均周期有一定的关系。这时候就要使用外部缓冲区了。这个缓冲区可以是SRAM,但是SRAM有两方面问题,第一容量不能太大,否则价钱比较高;第二,SRAM只有一套数据总线,这样势必限制读写速率;第三也要求读写时钟要一致(当然可以利用FPGA来切换读写时钟)。另一种可选方案就是双口RAM,这样可以做到独立的读写端口,能提高吞吐率。再者可以选则SDRAM,SDRAM可以做到大的缓冲数据容量,同时通信速率又很高,但开发难度要高一点。作为开发难度和通信速率以及价格的折中,FIFO满足了一定的用户需求。我这里架构用了FIFO但不是绝对。速率要求更高的可以用两个SDRAM,做乒乓操作。在此权作抛砖引玉吧。哪里讲得不对,欢迎高手斧正。

出0入0汤圆

发表于 2012-12-4 17:24:42 | 显示全部楼层
jr9910 发表于 2012-12-4 00:01
我提供的一个数据采集的例程就是用内部FIFO来做的,而数据恢复是用外部FIFO来做的。用FPGA内部FIFO来做不 ...

fpga内部ram资源不够做大容量缓存,
我有个疑问:使用内部ram不至于影响通信速率吧?
不是很懂,指点一下

出0入0汤圆

发表于 2012-12-4 17:30:36 | 显示全部楼层
為什麼要 FT232H ??

出0入0汤圆

 楼主| 发表于 2012-12-4 18:40:39 | 显示全部楼层
lanliang714 发表于 2012-12-4 17:24
fpga内部ram资源不够做大容量缓存,
我有个疑问:使用内部ram不至于影响通信速率吧?
不是很懂,指点一下 ...

缓冲区如果太小,而上位机又没来得及及时读出数据,那么采集的数据就会被冲掉。

出0入0汤圆

 楼主| 发表于 2012-12-4 18:43:03 | 显示全部楼层
sky5566 发表于 2012-12-4 17:30
為什麼要 FT232H ??

这就是个USB控制芯片,当然用别的也可以,只要满足应用中通信速率的需要。最常用的MAX232,上点速度就得以太网或者USB了,要求再高可能是PCI、PCIE等。不一定非要FT232H。对于USB通信,目前我看到的这款比较简单,不需要使用者了解任何USB协议就可以操作,大大的简化了用户开发。

出0入0汤圆

发表于 2012-12-4 18:52:11 | 显示全部楼层
本帖最后由 sky5566 于 2012-12-4 18:53 编辑
jr9910 发表于 2012-12-4 18:43
这就是个USB控制芯片,当然用别的也可以,只要满足应用中通信速率的需要。最常用的MAX232,上点速度就得 ...


usb opencode  已經開放原碼 IP core 產用 wishbone 模式

cyclone3 是否可以異步雙口RAM?(雙clock-enable模式)

出0入0汤圆

 楼主| 发表于 2012-12-4 19:05:54 | 显示全部楼层
sky5566 发表于 2012-12-4 18:52
usb opencode  已經開放原碼 IP core 產用 wishbone 模式

cyclone3 是否可以異步雙口RAM?(雙c ...

我这个中文不太好,古典文字看着很费劲。大概看清楚了,其实那个IP Core我用过,不过没有拿出来作为产品的一部分卖,这样不道德。那个Core通信速率并不高,起码在Nios II里面是这样。至于你说的第二个问题,我确实不清楚,只是觉得可以通过一个选择器来切换读写时钟罢了,真正没有在里面都建过。

出0入0汤圆

 楼主| 发表于 2012-12-4 19:09:17 | 显示全部楼层
先上一副FT_TRANS板卡的原理图,其它东东抽时间整理上传!

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2012-12-4 19:50:25 | 显示全部楼层
学习了!

出0入0汤圆

发表于 2012-12-4 21:19:50 | 显示全部楼层
强烈关注哦~

出0入0汤圆

 楼主| 发表于 2012-12-5 00:34:45 | 显示全部楼层
开源进行时,FT232H基本操作,也适用于FT2232H,FPGA控制读写,FT232H工作在FT245模式下,同步FIFO,最高速率的那种。

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2012-12-5 00:53:18 | 显示全部楼层
jr9910 发表于 2012-12-5 00:34
开源进行时,FT232H基本操作,也适用于FT2232H,FPGA控制读写,FT232H工作在FT245模式下,同步FIFO,最高速 ...

这个板子能采集外部带时钟同步的数字信号么。 采样率26M左右。不过是2Bit量化。如果合成1个byte的话,可能也就3MB/s. 如果采集这种数据的例程的话,我就预订两块。

出0入0汤圆

 楼主| 发表于 2012-12-5 01:00:37 | 显示全部楼层
littleGnss 发表于 2012-12-5 00:53
这个板子能采集外部带时钟同步的数字信号么。 采样率26M左右。不过是2Bit量化。如果合成1个byte的话,可 ...

这个完全没问题,我原来用来做5.715MHz采样的2bit数字信号的采集,合成一个字节以后传输给上位机,我用FPGA内部的2048的FIFO就达到了稳定效果。我扩展的GPIO里面有四个全局时钟信号,在38楼有原理图,你可以看看。还有PLLOUT的接口,既可以接收外部板卡的同步时钟,也可以给外部板卡提供同步时钟。我的QQ:489628962,有什么需要可以联系。

出0入0汤圆

发表于 2013-10-25 23:03:20 | 显示全部楼层
mark mark mark

出0入0汤圆

发表于 2014-2-6 15:37:43 | 显示全部楼层
好东西,非常感谢!

出0入0汤圆

发表于 2018-6-5 11:30:41 | 显示全部楼层
jr9910 发表于 2012-12-4 19:05
我这个中文不太好,古典文字看着很费劲。大概看清楚了,其实那个IP Core我用过,不过没有拿出来作为产品 ...

楼主,fpga用nisii的话应该是用c或c++编程把,那这样的话是不是可以用stm32等控制器替换掉fpga?

出0入0汤圆

 楼主| 发表于 2018-7-11 21:14:43 | 显示全部楼层
applededipan 发表于 2018-6-5 11:30
楼主,fpga用nisii的话应该是用c或c++编程把,那这样的话是不是可以用stm32等控制器替换掉fpga? ...

stm32有自带的usb,为什么还要再接这个FT232H的芯片呢

出0入0汤圆

发表于 2018-11-2 11:31:49 | 显示全部楼层
jr9910 发表于 2018-7-11 21:14
stm32有自带的usb,为什么还要再接这个FT232H的芯片呢

楼主大大你好,我想用这个芯片做USB转IIC通信,,我不会用,,您可以给我一些帮助吗?或者我可以直接加您的qq向您请教吗

出0入22汤圆

发表于 2018-11-2 12:19:57 来自手机 | 显示全部楼层
向北 发表于 2018-11-2 11:31
楼主大大你好,我想用这个芯片做USB转IIC通信,,我不会用,,您可以给我一些帮助吗?或者我可以直接加您 ...

usb转iic就别折腾这个了,wch有专门的芯片做这个事情。

出0入0汤圆

发表于 2018-11-2 14:01:17 | 显示全部楼层
zxq6 发表于 2018-11-2 12:19
usb转iic就别折腾这个了,wch有专门的芯片做这个事情。

您可以帮我推荐一款或者几款吗?最好是纯硬件的那种

出0入22汤圆

发表于 2018-11-2 17:33:35 | 显示全部楼层
向北 发表于 2018-11-2 14:01
您可以帮我推荐一款或者几款吗?最好是纯硬件的那种

ch331,你可以看看资料。

出0入0汤圆

发表于 2018-11-5 09:25:51 | 显示全部楼层
看起来不错的样子,不知道实际怎么样
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 01:34

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表