完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有两个定制板,每个都有一个采用TQ144封装的Spartan3e器件(一个是100kilogate,另一个是250kilogate,否则电路板是相同的)。
它们已设置为使用“FAST READ”从Atmel AT45DB081D闪存芯片配置SPI,(HSWAP =,M [2:0] =,VS [2:0] =)。 比特流存储为.mcs文件(配置速率设置为“1”),并通过Xilinx平台电缆USB II上的Impact直接加载到闪存芯片中。 配置在大多数情况下都能正常工作,但在大约5-10%的情况下,配置失败(DONE不会变高)。 两块板都安装在同一个多槽背板上,并使用相同的电源供电 - 两块板都是相同的,也就是说,它们都配置成功,或者都失败了。 两块板都采用5V电源供电,并通过板载电源创建自己的3.3V,2.5V和1.2V电压。 2.5V和1.2V电压由3.3V电源产生。 所以: - > 2.5V / 5V - > 3.3V - - > 1.2V 我自己的怀疑是: 1)Flash SPI时钟信号的错误路由:电路板的初衷是允许FPGA和板载MCU访问Flash芯片,因此SPI信号已经路由到FPGA和MCU。 我可以在Spartan3e系列数据表(DS312)中看到,应该注意将时钟信号路由为传输线 - 这还没有完成。 但是,如果这是问题,我会发现失败比它们更随机,而且并不总是同时发生在两张卡上? 2)VS引脚上的错误上拉:配置完成后,VS引脚用于与其他板载设备通信(HSWAP和M [2:0]是专用的,配置后不使用),我可以看到 在配置期间创建'1'的上拉电路实际上由不同的3.3V电源供电,而不是连接到FPGA的电源(虽然接地仍然连接)。 但是,我尝试将HSWAP拉低,以便在其中一块电路板上启用内部上拉,但它对故障没有任何影响? 两张卡(一张HSWAP = 0,一张HSWAP = 1)仍然同时失败。 3)闪存芯片在被选中之前太迟供电电压:DS312说这可能是一个问题,因为只要VCCO_2(3.3V),VCCINT(1.2V)和VCCAUX(2.5V)变高,FPGA就会开始配置, 并且由于Flash芯片需要在被选中前一段时间供电。 但是,从数据表中,我可以看到Atmel AT45DB081D闪存具有70 us的TVCSL(VCC(最小值)到芯片选择低)。 它由3.3V电源供电,2.5V和1.2V电源均由3.3V电源产生,因为这些电源(根据数据表)最多需要250 us才能上升(这就是 比目前板上的输出电容小得多,应该有足够的时间让Flash启动? 我今天晚些时候会对此进行一些测量。 是否有其他人对可能出现的问题有任何意见或其他想法或经验? 有什么我想念的吗? 提前致谢! 以上来自于谷歌翻译 以下为原文 I have two custom made boards, each with a Spartan3e device in a TQ144 package (one is a 100kilogate, the other is a 250kilogate, otherwise the boards are the same). They have been setup to configure over SPI from an Atmel AT45DB081D flash chip using "FAST READ", (HSWAP = <1>, M[2:0] = <0:0:1>, VS[2:0] = <1:1:1>). The bitstream is stored as an .mcs file (with configuration rate set to '1'), and loaded directly into the Flash chip through Impact over a Xilinx Platform Cable USB II. Configuration works fine most of the time, but in about 5-10% of the cases, configuration fails (DONE does not go high). Both boards are mounted in the same multi-slot backplane, and powered from the same power supply - and both boards do the same, that is, either they both configure successfully, or they both fail. Both boards take in a 5V supply voltage, and create their own 3.3V, 2.5V and 1.2V voltages through onboard power supplies. The 2.5V and 1.2V voltages are created from the 3.3V supply. So: -> 2.5V / 5V -> 3.3V - -> 1.2V My own suspicions have been: 1) Bad routing for the Flash SPI clock signal: The original intention of the board was to allow both the FPGA and an onboard MCU to access the Flash chip, and thus the SPI signals have been routed to both FPGA and MCU. I can see in the Spartan3e family datasheet (DS312) that care should be taken to route the clock signal as a transmission line - which hasn't been done. However, if this was the problem, I'd expect the failures to be more random than they are, and not always happen to both cards at the same time? 2) Bad pull-ups on the VS pins: After configuration, the VS pins are used to communicate with other onboard devices (HSWAP and M[2:0] are dedicated, and not used after configuration), and I can see that the pull-ups creating the '1's during configuration are actually powered by a different 3.3V power supply, than the one connected to the FPGA (grounds are still connected though). However, I've tried pulling HSWAP low to enable internal pullups on one of the boards, but it didn't do any difference to the failures at all? Both cards (one with HSWAP = 0 and one with HSWAP = 1) still fail at the same time. 3) Flash chip getting its supply voltage too late before being selected: DS312 says this might be a problem, as the FPGA starts configuration as soon as VCCO_2 (3.3V), VCCINT (1.2V) and VCCAUX (2.5V) go high, and as the Flash chip needs to be powered some time before being selected. However, from the datasheets, I can see that the Atmel AT45DB081D Flash has a TVCSL (VCC(min.) to Chip Select low) of 70 us. It is powered by the 3.3V supply, and as both 2.5V and 1.2V supplies are generated from the 3.3V supply, and as these supplies (according to the datasheet) should take up to 250 us to ramp up (and that's with a much smaller output capacitor than is currently on the boards), there should be time enough for the Flash to start up? I'm going to do some measurements on this later today though. Do anyone else have comments or other ideas or experiences as to what could be wrong? Is there anything I'm missing? Thanks in advance! |
|
相关推荐
7个回答
|
|
如果两个电路板同时发生故障或同时成功,并且两个电路板之间唯一的通用设计组件是5V输入电源,那么电源就是合乎逻辑的嫌疑。
您是否尝试使用台式电源替代可疑的5V电源? 提出的三个问题都不能解释两个委员会同时成功或失败的原因。 如果两个委员会没有表现出这种现象,那么您列出的所有可能的问题(以及其他一些问题)都值得研究。 - 鲍勃埃尔金德 签名:新手的自述文件在这里:http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369总结:1。 阅读手册或用户指南。 你读过手册了吗? 你能找到手册吗?2。 搜索论坛(并搜索网页)以寻找类似的主题。 不要在多个论坛上发布相同的问题。 不要在别人的主题上发布新主题或问题,开始新的主题!5。 学生:复制代码与学习设计不同.6“它不起作用”不是一个可以回答的问题。 提供有用的详细信息(请与网页,数据表链接).7。 您的代码中的评论不需要支付额外费用。 我没有支付论坛帖子的费用。 如果我写一篇好文章,那么我一无所获。 在原帖中查看解决方案 以上来自于谷歌翻译 以下为原文 If both boards either fail or succeed identically an simultaneously, and the only common design component between the two boards is the 5V input power supply, then the power supply is a logical suspect. Have you tried using a bench power supply as a substitute for the suspect 5V supply? None of the three proposed problems would explain the simultaneous success or failure of the two boards. If the two boards are not exhibiting this phenomenon, then all of the possible problems you list (and some others) are worthy of investigation. -- Bob Elkind SIGNATURE: README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369 Summary: 1. Read the manual or user guide. Have you read the manual? Can you find the manual? 2. Search the forums (and search the web) for similar topics. 3. Do not post the same question on multiple forums. 4. Do not post a new topic or question on someone else's thread, start a new thread! 5. Students: Copying code is not the same as learning to design. 6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please). 7. You are not charged extra fees for comments in your code. 8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.View solution in original post |
|
|
|
如果两个电路板同时发生故障或同时成功,并且两个电路板之间唯一的通用设计组件是5V输入电源,那么电源就是合乎逻辑的嫌疑。
您是否尝试使用台式电源替代可疑的5V电源? 提出的三个问题都不能解释两个委员会同时成功或失败的原因。 如果两个委员会没有表现出这种现象,那么您列出的所有可能的问题(以及其他一些问题)都值得研究。 - 鲍勃埃尔金德 签名:新手的自述文件在这里:http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369总结:1。 阅读手册或用户指南。 你读过手册了吗? 你能找到手册吗?2。 搜索论坛(并搜索网页)以寻找类似的主题。 不要在多个论坛上发布相同的问题。 不要在别人的主题上发布新主题或问题,开始新的主题!5。 学生:复制代码与学习设计不同.6“它不起作用”不是一个可以回答的问题。 提供有用的详细信息(请与网页,数据表链接).7。 您的代码中的评论不需要支付额外费用。 我没有支付论坛帖子的费用。 如果我写一篇好文章,那么我一无所获。 以上来自于谷歌翻译 以下为原文 If both boards either fail or succeed identically an simultaneously, and the only common design component between the two boards is the 5V input power supply, then the power supply is a logical suspect. Have you tried using a bench power supply as a substitute for the suspect 5V supply? None of the three proposed problems would explain the simultaneous success or failure of the two boards. If the two boards are not exhibiting this phenomenon, then all of the possible problems you list (and some others) are worthy of investigation. -- Bob Elkind SIGNATURE: README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369 Summary: 1. Read the manual or user guide. Have you read the manual? Can you find the manual? 2. Search the forums (and search the web) for similar topics. 3. Do not post the same question on multiple forums. 4. Do not post a new topic or question on someone else's thread, start a new thread! 5. Students: Copying code is not the same as learning to design. 6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please). 7. You are not charged extra fees for comments in your code. 8. I am not paid for forum posts. If I write a good post, then I have been good for nothing. |
|
|
|
感谢您的回复 - 非常感谢!
我的主要嫌疑人也是电力供应。 我只是对2.5V和1.2V电源进行了快速测量,可以看出我没有考虑到3.3V电源的相当缓慢的上升时间。 它在几毫秒内线性上升,在此期间,2.5V和1.2V电源可以在3.3V电源完全达到其目标电压之前很容易地达到其满电平。 我最大的惊喜是5V供电,因为它的电压上升变化很大。 有时是线性的,有时它会在中间电压下暂停几毫秒,通常在1到4伏之间,然后再进行到5V。 使用具有“更好”电压的外部实验室电源,我不能再引发故障了。 我认为这种和“慢”3.3V电源的组合是导致错误的原因。 因此,计划是添加一个外部监控IC来监控所有三个FPGA电源电压,并将FPGA保持在复位状态,直到所有三个都准备就绪。 我目前正在研究凌力尔特公司的LTC1728-2.5,Maxim MAX6719-SY或ST STM6719-SY。 当然,其他建议,评论和类似内容仍然受到欢迎。 我现在将保持主题开放,如果下一个原型按预期工作,则将其标记为已解决... 以上来自于谷歌翻译 以下为原文 Thanks for the reply - much appreciated! My main suspect has also been the power supply. I just did a quick measurement on the 2.5V and 1.2V supplies, and could see that I've failed to consider the rather slow risetime of the 3.3V supply. It rises linearly over a couple of milliseconds, during which the 2.5V and 1.2V supplies can easily reach their full level well before the 3.3V supply is fully at its target voltage. My biggest surprise was the 5V supply though, as its voltage ramp-up varied quite a bit. Some times linear, other times it would pause for a couple of milliseconds at an intermediate voltage, typically between 1 and 4 volts, before proceeding to 5V. Using an external laboratory supply with a "nicer" voltage ramp up, I couldn't provoke the failures anymore. I presume the combination of this and the "slow" 3.3V supply is what causes the errors. So, the plan is to add an external supervisory IC to monitor all three FPGA supply voltages, and hold the FPGA in reset until all three are ready. I'm currently looking at a Linear Technology LTC1728-2.5, a Maxim MAX6719-SY or an ST STM6719-SY. Other suggestions, comments and similar are of course still welcome though. I'll keep the topic open for now, and mark it as solved if the next prototypes work as intended... |
|
|
|
或者实际上,考虑到这一点,仅使用3.3V电源的单个监控器就足够了--Spartan3e内部的监控器应该负责2.5V和1.2V电源......
以上来自于谷歌翻译 以下为原文 Or actually, thinking about it, it should be enough with a single supervisor on just the 3.3V supply - the monitor inside the Spartan3e should take care of the 2.5V and 1.2V supplies... |
|
|
|
如果你只在一块电路板上试用一个实验电路,并且修改后的电路板在未经修改的电路板上正确启动,你就会知道你可能在正确的轨道上。
注意意外后果。 您的“修复”可能会引入一些新的意外问题。 在投资更新的电路板布局之前,您应该花一些时间做一切可以使更新的电路发生故障。 - 鲍勃埃尔金德 签名:新手的自述文件在这里:http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369总结:1。 阅读手册或用户指南。 你读过手册了吗? 你能找到手册吗?2。 搜索论坛(并搜索网页)以寻找类似的主题。 不要在多个论坛上发布相同的问题。 不要在别人的主题上发布新主题或问题,开始新的主题!5。 学生:复制代码与学习设计不同.6“它不起作用”不是一个可以回答的问题。 提供有用的详细信息(请与网页,数据表链接).7。 您的代码中的评论不需要支付额外费用。 我没有支付论坛帖子的费用。 如果我写一篇好文章,那么我一无所获。 以上来自于谷歌翻译 以下为原文 If you try an experimental circuit on one board only, and the modified board boots correctly when the unmodified hangs, you will know that you are possibly on the right track. Watch out for unintended consequences. Your 'fix' may introduce some new and unexpected problem. You should spend some time doing everything you can to make the updated circuit fail, before you invest in the updated board layout. -- Bob Elkind SIGNATURE: README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369 Summary: 1. Read the manual or user guide. Have you read the manual? Can you find the manual? 2. Search the forums (and search the web) for similar topics. 3. Do not post the same question on multiple forums. 4. Do not post a new topic or question on someone else's thread, start a new thread! 5. Students: Copying code is not the same as learning to design. 6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please). 7. You are not charged extra fees for comments in your code. 8. I am not paid for forum posts. If I write a good post, then I have been good for nothing. |
|
|
|
sonicwave写道:
因此,计划是添加一个外部监控IC来监控所有三个FPGA电源电压,并将FPGA保持在复位状态,直到所有三个都准备就绪。 我们这样做......除了监控器输出驱动PROGRAM_B,并且在电源稳定之后一直保持配置。 ----------------------------是的,我这样做是为了谋生。 以上来自于谷歌翻译 以下为原文 sonicwave wrote:We do that ... except the supervisor output drives PROGRAM_B, and holds off configuration until well after the supplies are stable. ----------------------------Yes, I do this for a living. |
|
|
|
快速跟进:我刚用Microchip MCP121T-315电压监控器修改了其中一块电路板,将3.3V电源电压升至3.08V以上后,将Spartan3e的PROG_B引脚保持为低电平,持续120ms。
这似乎工作得很好 - 我设法让未修改的电路板失败,同时修改后的电路板配置成功(模块电路板尚未配置失败)。 所以,问题已经解决(等待进一步的测试) - 虽然我认为我们还需要在不久的将来考虑在某些时候修改我们的斜坡发电电源;) 以上来自于谷歌翻译 以下为原文 A quick follow-up: I just modded one of the boards with a Microchip MCP121T-315 Voltage Supervisor, holding the PROG_B pin of the Spartan3e low until 120ms after the 3.3V supply rises above 3.08V. This seems to work just fine - I managed to get the un-modded board to fail while the modded board configured succesfully (the modded board hasn't failed configuration at all yet). So, problem solved (pending further tests) - although I think we'll also have to look into revising our strange-slope generating power supply at some point in the near future ;) |
|
|
|
只有小组成员才能发言,加入小组>>
2431 浏览 7 评论
2831 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2300 浏览 9 评论
3379 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2468 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1397浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
597浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
462浏览 1评论
2015浏览 0评论
739浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 02:06 , Processed in 1.473541 second(s), Total 90, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号