搜索
bottom↓
回复: 12

对多种ALTERA FPGA下载器设计细节的详细分析 希望对DIY的朋友有帮助

[复制链接]

出0入0汤圆

发表于 2011-6-24 14:25:44 | 显示全部楼层 |阅读模式
1,并口的下载线BYTEBLASTERII,这是最原始,最慢的,在功能上是完整的,基本被淘汰的下载器,即便是你的电脑上有并口,但是不建议采用了,主要因为现在的USB BLASTER很便宜了。这个下载器可取之处是电源取自目标板子,这个思路能达到所谓的“电压自适应”。

2,除了并口的编程线之外,其他的都美其名曰:USB BLASTER。现在所见到的仿制版基本都是从一个德国站的开源代码演变过来:这个网站给出了两种方式,一种是FT245+CPLD,另外一种是使用单68013方式。我以此分析一下这两种方式:

     FT245+CPLD 这种方式和原厂的思路一样,FT245实现USB转换成类似ISA并口模式,CPLD负责主动从FT245取送数据并实现串行和并行的互变。那个德国站给了代码,和简单但是很完备。但是这还是有个BUG的,就是建立保持时间没有把握好。很多个人DIY都没有做好,有的压根JTAG没有通,有的AS模式下校验出错误。其实可以在CPLD逻辑的状态机种多加入一个状态,这个状态可以理解为等待状态或是空闲状态,本质问题就是让TCK早一点来到。当然也可以采用原来代码在硬件做点修改:将TCK以外的信号线都多经过一级缓冲能延迟30NS,虽为下策,但基本就可用,最好的方法还是改CPLD代码。

    单68013方式:我们知道应用程序(比如QUARTUS里面的JTAG SERVER)是通过驱动对USB硬件进行读写和控制,而驱动是通过PID VID以及设备描述找到USB硬件,因此可以再68013固件里面设置和USB BLASTER相应的PID VID 以及设备描述符,就可以把68013伪装成USB BLASTER里面的FT245,实现驱动程序的自动安装和设备的锁定。另外我们知道,USB虽有多种通讯模式,但是都是通过ENDPOINT来进行的,除了ENDPOINTO是双向通道之外,其他的都是单向的。在FT245+CPLD的方案中使用了两个ENDPOINT分别实现PC和USB BLASTER的通讯,我们在68013里面把这两个ENDPOINT设置成相同的,并编写和原FT245+CPLD一样的处理算法,只不过这种算法是串行的,因此速度低就实现了68013伪装成USB BLASTER和上位进行通讯对话。

    在那个德国站上公布的68013代码,只给出了JTAG模式下的实现代码,没有给出AS模式下的实现代码,但是根据FT245+CPLD里面的逻辑代码,可以轻松加入AS模式代码,在实现这个的时候,要注意一个问题,就是一定要加入FT245的厂家查询命令的支持,因为在调试NIOSII时候用到USB BLASTER,上位软件会查询一下EEPROM的内容从而知道你现在用的是什么版本的USB BLASTER。如果此时返回为0,就出现WARNING,虽不影响调试,但是比较烦人。所以这部分处理代码要加上。实现的方法就是将原厂配置芯片内容读出来,做在一个数组里面,当上位机发送读芯片命令的时候就返回这个数组。

   另外还有使用STM32 或C8051F单片机制作的USB BLASTER,和68013的实现思路基本一样。68013是我现在所知道的能达到速度最快的嵌入USB SLAVE芯片,支持HIGH SPEED,但是为什么有的使用C8051F(只能支持到FULL SPEED)做的USB BLASTER却比68013快,就是因为速度的瓶颈不是在USB接口部分,而是在IO口模拟JTAG时序上:C8051F有SPI接口,可以巧妙的使用SPI的SCK,MO,MI对应模拟TCK TDI TDO,这确实是一个不错的想法。

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

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

出0入0汤圆

发表于 2011-6-24 16:04:21 | 显示全部楼层
呵呵,不错。

出0入0汤圆

发表于 2011-6-26 19:32:19 | 显示全部楼层
谢谢楼主了,受益匪浅

出0入0汤圆

发表于 2011-7-10 16:58:09 | 显示全部楼层
想DIY一个那

出0入0汤圆

发表于 2012-5-24 13:29:30 | 显示全部楼层
受益匪浅

出0入0汤圆

发表于 2012-5-24 19:57:48 | 显示全部楼层
分析的灰常好

出0入0汤圆

发表于 2012-5-24 20:13:28 | 显示全部楼层
受教了。

出0入0汤圆

发表于 2012-5-25 00:43:58 | 显示全部楼层
顶一下!

出0入0汤圆

发表于 2012-5-25 02:00:45 | 显示全部楼层
需要慢慢体会。

出0入0汤圆

发表于 2012-5-25 09:57:30 | 显示全部楼层
本帖最后由 htjgdw 于 2012-5-25 10:09 编辑

期待有人能这样分析分析xilinx下载线

出0入0汤圆

发表于 2012-5-26 15:11:49 | 显示全部楼层
顶一下!

出0入0汤圆

发表于 2012-5-26 15:48:47 | 显示全部楼层
mark                       

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-7-24 09:29

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

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