完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好。
我需要构建一个频率为20 Khz的16位PWM。 我看待它的方式,这是它的等式 x * 32767 = 1 /(2 * f) x - 时钟的周期时间我正在构建PWM。 32767 =(2 ^ 15 - 1),这意味着占空比应该是一半。 f - PWM的频率。 这个等式实际上表示在此值(32767),占空比应该是一半。 我正在使用Virtex 5 ML507,PLB时钟是100 Mhz,它不符合等式。 根据我的计算,x应该是7.627 * 10 ^ -10,这意味着~1.3 Ghz。 我不能将这样的时钟输入到我的用户逻辑中吗? 有什么办法可以解决吗? 非常感谢。 阿萨夫。 以上来自于谷歌翻译 以下为原文 Hey guys. I need to build a 16-bit PWM with frequency of 20 Khz. The way I see it, this is the equation for it x*32767 = 1/(2*f) x - period time of the clock I'm building the PWM. 32767 = (2^15 - 1), which means duty cycle should be half. f - the frequency of the PWM. This equation actually says that at this value (32767), the duty cycle should be half. I'm working Virtex 5 ML507, the PLB clock is 100 Mhz, it doesn't fit the equation. According to my calculations, x should be 7.627*10^-10 which means ~1.3 Ghz. I can't input such a clock into my user logic right? Is there anything to be done to solve it? Thanks a lot. Assaf. |
|
相关推荐
3个回答
|
|
你好阿萨夫,
我觉得你手上有一个很好的问题。 这是我的计算: 脉冲频率 20000 脉冲时间 0.00005 时钟频率 亿 时钟时间 0.00000001 每个脉冲窗口的时钟 5000 用于表示时钟的位 14.00 所以你是对的,在100 MHz时,没有办法做到这一点。 但是,您可以使用PLL的频率合成功能来创建400MHz时钟。 然后你会有这个: 脉冲频率 20000 脉冲时间 0.00005 时钟频率 4亿 时钟时间 2.5E-09 每个脉冲窗口的时钟 20000 用于表示时钟的位 16.00 V5的内部逻辑应该可以在任何速度级别下以400 MHz运行,但是您必须对逻辑进行流水线操作,因为您无法在该速度下拥有多级逻辑。 好的,希望这有助于你的计时让你开始...... 以上来自于谷歌翻译 以下为原文 Hello Assaf, I think you do have a good problem on your hands. Here are my calculations:
So you are right, at 100 MHz, there is no way to do this. But, you can use the frequency synthsis function of the PLL to create a 400MHz clock. Then you will have this:
The internal logic of the V5 should be fine to run at 400 MHz in any speedgrade, but you will have to pipeline the logic as you will not be able to have many levels of logic at that speed. OK, hope this helps with the clocking situtation to get you started ... |
|
|
|
嗨scampbell,
每个脉冲窗口的时钟 20000 用于表示时钟的位 16.00 2 ^ 16 = 65536 2 ^ 15 = 32768 2 ^ 14 = 16384 所以,实际上是20000 14.xx位(原谅我的小数位懒惰) 足够了。 所以也许最多可以有15位。 但为什么16位呢? 签名号码范围? 问候 Eilert 以上来自于谷歌翻译 以下为原文 Hi scampbell,
2^16 =65536 2^15=32768 2^14=16384 so, actually for 20000 14.xx bits (forgive my laziness for the fractional digits) are sufficient. So maybe one would round up to 15 Bits. But why 16 bits? Signed number range? Regards Eilert |
|
|
|
嗨阿萨夫,
基本上你的计算是正确的。 并且实现你计算的东西并不是很可能。 您的输出信号需要以每位763ps的速度变化。 除频率外,时钟抖动如何影响信号精度? I / O上升和下降时间(及其容差和热行为)怎么样? PWM信号通常用于控制FPGA外部的一些模拟信号。 你的申请是什么? 您的目标可以处理您尝试传输的精度吗? 那么也许你可以稍微讲一下你的问题的背景? 有anice合成 Eilert 以上来自于谷歌翻译 以下为原文 Hi Assaf, your calculations are correct, basically. And acheiving what you calculated is not very probable. Your output signal needs to change with 763ps per bit. Apart from the frequency, how would clock jitter effect your signals accuracy? What about rise and fall times (and their tolerances and thermal behavior) on the I/Os? Often PWM signals are used to controll some analog stuff on the outside of the FPGA. What's your application? Can your target deal with the precision you try to transmit? So maybe you can tell a little about the background of your problem? Have anice synthesis Eilert |
|
|
|
只有小组成员才能发言,加入小组>>
2384 浏览 7 评论
2800 浏览 4 评论
Spartan 3-AN时钟和VHDL让ISE合成时出现错误该怎么办?
2264 浏览 9 评论
3336 浏览 0 评论
如何在RTL或xilinx spartan fpga的约束文件中插入1.56ns延迟缓冲区?
2431 浏览 15 评论
有输入,但是LVDS_25的FPGA内部接收不到数据,为什么?
758浏览 1评论
请问vc707的电源线是如何连接的,我这边可能出现了缺失元件的情况导致无法供电
547浏览 1评论
求一块XILINX开发板KC705,VC707,KC105和KCU1500
369浏览 1评论
1965浏览 0评论
684浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 11:15 , Processed in 1.622760 second(s), Total 82, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号