完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,
我目前正在设计一个控制触摸屏和glcd的项目。 现在我写了两个实质性的代码,其中包括picoblazes和vhdl模块,用于与它们连接等。现在我检查了两个模块,我确信它们按照我做的各种测试的规格工作。 现在我应该说这两个代码,或者更确切地说是模块,然后通过一个信号相互连接。 这是因为一个人会打断另一个人。 所以我写了一个代码,这样我就可以处理中断,这样当信号上检测到上升沿时,另一个信号保持高电平,直到我从picoblaze上的isr读取它。 在isr的末尾,我将信号清零。这就像锁存中断源一样。 现在,当我测试这个中断处理程序时,它会再次工作,但是当我连接应该生成中断的实际硬件时,它不起作用。 例如,picoblaze正确地被中断,但当我读取isr中的锁存信号进行中断轮询时,picoblaze读取为0.因此它非常矛盾。 我甚至尝试在轮询中断源之前给出了大量的延迟,但它完全没有区别。 所以我最终得到一个被上升沿中断的电路,一个在上升沿锁存该值的电路,但我读到一个'0'。 当我通过在我正在使用的电路板的LED上输出它来检查闩锁时,它显示逻辑“1”。 即使我在isr的末尾重置了锁存器,所以它完全像垃圾一样工作,即使在各个电路的所有测试程序中,通过实现和模拟,所有电路都可以单独工作。 有没有人知道发生了什么? 有任何想法吗? 以上来自于谷歌翻译 以下为原文 Hi, I am currently designing a project which will control a touch screen and a glcd. Now i write two substantial ammount of code, which both include picoblazes and vhdl modules for interfacing with them etc. Now i checked both modules and i am sure that they work to the specifications with various tests i made. Now i should say that these two codes, or rather modules, will then interface with each other, through one signal. This is since one will interrupt the other. So i write a code such that i handle the interrupts in such a way that when a rising edge is detected on the signal, another signal is kept high until i read it from the isr on the picoblaze. at the end of the isr i clear the signal to 0. This is like latching the interrupt source. Now when i test this interrupt handler it works again as it should, but when i connect the actual hardware which should generate the interrupt it doesn't work. for example, the picoblaze is interrupted correctly as it should, but when i read the latched signal in the isr for interrupt polling, the picoblaze reads a 0. So its very contradictory. I even tried giving a huge amount of delay before polling the interrupt sources but it made absolutely no difference. So i end up with a circuit which is being interrupted by a rising edge, a circuit which latches the value on a rising edge and yet i read a '0'. none the less when i check the latch by outputting it on an led of the board i am using, it shows a logic '1'. even if i do reset the latch at the end of the isr.. so it is completly working like rubbish even if under all testing procedures of the individual circuits both through implementation and simulation all circuits work well individually.. does anybody have a clue of what's going on? any ideas? |
|
相关推荐
5个回答
|
|
您是否正在将中断输入同步到每个FPGA?
这是关于“跨越时钟域”主题的一个很好的参考(有链接)。 这可能会解决你的问题。 - 鲍勃埃尔金德 签名:新手的自述文件在这里:http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369总结:1。 阅读手册或用户指南。 你读过手册了吗? 你能找到手册吗?2。 搜索论坛(并搜索网页)以寻找类似的主题。 不要在多个论坛上发布相同的问题。 不要在别人的主题上发布新主题或问题,开始新的主题!5。 学生:复制代码与学习设计不同.6“它不起作用”不是一个可以回答的问题。 提供有用的详细信息(请与网页,数据表链接).7。 您的代码中的评论不需要支付额外费用。 我没有支付论坛帖子的费用。 如果我写一篇好文章,那么我一无所获。 以上来自于谷歌翻译 以下为原文 Are you synchronising the interrupt input to each FPGA? Here is a good reference (with links) on the subject of "crossing clock domains". This might fix you right up. -- 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. |
|
|
|
HI,
感谢您的回复。 可能我没有提供足够的信息,因为两个模块的工作频率相同。 与中断处理频率(50Mhz)相比,中断源的频率极低(最大5Hz,大部分时间要少得多)。 我还必须说同一个cicruit适用于另一个中断源,并且如果使用板上按钮的模拟中断进行测试,它也可以工作。 我必须再次说明模拟时的中断源和使用计数器测试时知道产生上升沿转换的次数,根据规范工作。 所以请注意这件事有多奇怪.. 我应该说的另一件事是,即使信号确实进行了上升,电路也不会中断picoblaze。 如果您建议我进行更多信息或测试,请告诉我。 谢谢你的时间 以上来自于谷歌翻译 以下为原文 HI, thanks for your reply. probably i didn't give enough information beacause both modules are working at the same frequency. And the interrupt source is at an extremely low frequency ( max 5Hz, much of the time much less) compared to the frequency of the interrupt handling(50Mhz). I must also say that the same cicruit works for another interrupt source and also it works if tested with a simulated interrupt from a button on the board. Again i must say that the interrupt source when simulated and when tested using a counter to know how many times it produces a rising edge transition, works according to specifications. So notice how strange this thing is.. One other thing i should say is that the circuit is not interrupting the picoblaze even if the signal does infact undertakes a rising edge.. for anymore information or tests you suggest me to undertake please tell me. thanks for your time |
|
|
|
在没有看到实际代码的情况下进行故障排除是一种猜测和猜测的练习。
你想发布你的代码吗? - 鲍勃埃尔金德 签名:新手的自述文件在这里:http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369总结:1。 阅读手册或用户指南。 你读过手册了吗? 你能找到手册吗?2。 搜索论坛(并搜索网页)以寻找类似的主题。 不要在多个论坛上发布相同的问题。 不要在别人的主题上发布新主题或问题,开始新的主题!5。 学生:复制代码与学习设计不同.6“它不起作用”不是一个可以回答的问题。 提供有用的详细信息(请与网页,数据表链接).7。 您的代码中的评论不需要支付额外费用。 我没有支付论坛帖子的费用。 如果我写一篇好文章,那么我一无所获。 以上来自于谷歌翻译 以下为原文 Troubleshooting without seeing the actual code is an exercise in guesswork and speculation. Would you like to post your code? -- 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. |
|
|
|
您确定在软件中正确设置了PicoBlaze中断处理吗?
(我不知道该怎么做,但你必须这样做。) ------------------------------------------“如果它不起作用 模拟,它不会在板上工作。“ 以上来自于谷歌翻译 以下为原文 Are you sure the PicoBlaze interrupt procesing is set up properly in software? (I don't know how to do that, but you will have to.) ------------------------------------------ "If it don't work in simulation, it won't work on the board." |
|
|
|
嗨,大家好,
谢谢你的回复。 我终于设法解决了来自中断处理程序的问题。 谢谢你的帮助。 问候 以上来自于谷歌翻译 以下为原文 Hi guys, thanks for your replies. I have finally managed to solve the problem it was from the interrupt handler. thanks for your help. regards |
|
|
|
只有小组成员才能发言,加入小组>>
2420 浏览 7 评论
2823 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2294 浏览 9 评论
3374 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2461 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
1175浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
587浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
451浏览 1评论
2005浏览 0评论
731浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 19:19 , Processed in 1.484747 second(s), Total 84, Slave 68 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号