Questions tagged «clock»

一种数字信号,在特定频率下变高和变低。

3
I2C最低时钟速度和可靠性
I2C是否指定了最小时钟速率?我知道使用最广泛的时钟频率是100kHz,并且某些设备支持400kHz的“快速”模式,而其他设备则支持较快但又模式的模式(我认为1MHz?)。由于SCK信号是由主机生成的,所以我认为一个主机的运行速度可能比任何一个主机都要慢得多-实践中是否存在下限?从属设备在多大程度上关心时钟速率(例如,它们的超时时间短是常见的)?我问的原因是我想知道是否可以在更长的距离(例如20英尺)上运行I2C以在生产测试仪设置中可靠地对I2C EEPROM进行编程。我假设它在标准数据速率下无法在该距离上可靠地工作。

2
这个电路有边际电压电平问题吗?
至于我所描述的问题研究在这里,我发现这条赛道由马克西姆: 这是时钟倍频器,并且在我的情况下必须非常合适,因为输入频率非常明确。 但是,通过浏览数据手册,我发现MAX9010输出TTL电平,而74VHC86接受CMOS电平(0.7 * Vcc)。通常,我找不到在5V下运行CMOS输出的高速比较器。 我应该特别注意这个问题-电路可能无法产生适当的时钟时,在什么情况下发生? 您能否总体上反馈电路?我的评估表明,在R1 = 1k和C1 = 15pF的情况下,它应该可以正常工作,将21.47727 MHz倍增至42.95454 MHz(但是,在现实生活中肯定需要进行原型设计和调整)。 PS最后几天,我回顾了许多用于管理时钟的设计,我的感觉是它们在很大程度上是一种“营销文章”,不适合直接应用-文章谈论了很多电路的优点,但几乎没有陈述缺点(由传播延迟,频率范围等引起),因此,不对目标条件进行建模和适当模拟而直接实施所说的内容确实是个坏主意。 更新:正如我怀疑的那样,该电路是设计用于理想条件下的理想设计。在现实生活中构建时,如果不投资以下领域,它将无法正常运行: 电源必须最大清洁。由于电源轨中的噪声,分压器的电平会波动,从而导致比较器输出端出现尖峰和误报; 比较器可能会(会)在切换时从分压器的正输入吸收一些电流(参考电压)。它也可能会稍微改变参考点。 具有如此小的电容的RC极易受到周围的其他电容和EMI的影响,(最好)改变调谐占空比或使x2乘法级出现故障。 另外,我使用MAX999构建了该电路,但其LTSpice模型有故障。Maxim的支持已得到证实,希望他们会修复它。 我将放弃此设计,而是考虑使用ICS501。
11 voltage  clock  cmos  ttl 


2
什么时候需要使用时钟缓冲器IC?
我正在设计用于通过FPGA驱动7个DAC的电路和PCB。(DAC是AD9762) 是否可以通过FPGA的单个时钟输出(来自PLL输出引脚)来驱动所有7个DAC上的时钟输入?还是那是灾难的秘方? 这将是一个最大的单端时钟。频率 125 MHz 还是应该在每个DAC时钟输入之前使用时钟缓冲器来缓冲时钟? 如果是这样,这是否是一个不错的时钟缓冲区?(NB3N551) 有更好的我可以使用的吗? 编辑:对不起,我应该提到:所有DAC都将在5“ x5” PCB上,通过短(几英寸)带状电缆连接到FPGA板上。 Edit2:如果我可以重新表述这个问题:如果我负担得起时钟缓冲器的空间和成本,是否有潜在的负面影响?还是那是这样做的安全方法?

2
在两个IC之间共享一个振荡器
我在同一块板上有一个微控制器和一个FPGA。如果它们都将以相同的时钟速度运行,我是否可以仅使用一个振荡器为它们两个时钟?似乎有些事情我应该提防,但是如果我只留下简短的痕迹,我不会马上想到它的任何问题。有人做过吗?这样做会有哪些常见的陷阱?

2
通过SDC的ASIC时序约束:如何正确指定多路复用时钟?
介绍 在互联网上以及关于如何正确创建SDC格式的时序约束的一些培训课程中找到了多个,有时是冲突的或不完整的信息之后,我想向EE社区寻求有关我遇到的一些通用时钟生成结构的帮助。 我知道在ASIC或FPGA上实现某种功能的方式有所不同(我已经使用过两者),但是我认为应该有一种通用的正确方法来限制给定结构的时序,而与基础技术-如果我在这方面做错了,请告诉我。 用于不同供应商的实现和时序分析的不同工具之间也存在一些差异(尽管Synopsys提供了SDC解析器源代码),但我希望它们主要是一个语法问题,可以在文档中查找。 题 这与以下时钟多路复用器结构有关,它是clkgen模块的一部分,而clkgen模块又是较大设计的一部分: 虽然ext_clk假定输入是在设计外部生成的(通过输入引脚输入),但clkgen模块也会生成和使用clk0和clk4信号(有关详细信息,请参阅我的相关纹波时钟问题),并且将相关的时钟约束命名为和,分别。baseclkdiv4clk 问题是如何指定约束,以便时序分析器 黄柏cpu_clk作为多路复用时钟,其可以是源时钟中的任一个(fast_clk或slow_clk或ext_clk),同时通过不同的延迟AND和OR门考虑 同时不要中断设计中其他地方使用的源时钟之间的路径。 虽然片上时钟多路复用器的简单的情况下似乎需要只是set_clock_groupsSDC声明: set_clock_groups -logically_exclusive -group {baseclk} -group {div4clk} -group {ext_clk} ...在给定的结构中,由于clk0(通过fast_clk输出)和clk4(通过slow_clk)仍在设计中使用,即使cpu_clk配置为ext_clk仅use_ext在断言时仍然如此,这使情况变得复杂。 如所描述的在这里,所述set_clock_groups命令如上述会导致以下: 此命令等效于从每个组中的每个时钟到每个其他组中的每个时钟调用set_false_path,反之亦然 ...这将是不正确的,因为其他时钟仍在其他地方使用。 附加信息 的use_clk0,use_clk4并且use_ext输入以这样的方式,只有它们中的一个是高在任何给定时间生成。如果所有use_*输入都为低电平,则可以使用它来停止所有时钟,但这个问题的重点是该结构的时钟多路复用特性。 原理图中的X2实例(一个简单的缓冲区)只是一个占位符,以突出显示自动放置和布线工具的问题,该工具通常可以自由地将缓冲区放置在任何地方(例如and_cpu_1/z和or_cpu1/in2引脚之间)。理想情况下,时序约束应不受此影响。

2
需要帮助了解AVR ATMEGA / ATTINY计时器镜像输出
我正在尝试使用Atmel AVR微控制器的Timer1(用于Arduino的AtMega328或ATTiny85)来输出两个彼此互为镜像的时钟信号。我试图生成的频率是一个1 MHz到2 MHz或更高的变量,除非使用控制器中几乎不需要执行的其他任何操作,否则它们太高了,无法使用代码来切换输出引脚。因此,我想直接在关联的引脚上使用计时器输出。我正在使用GCC工具链,因此不受arduino库或语言的限制。 Atmega328中的Timer1有两个与之相关的引脚,我可以从中获得两个相同的1MHz至2MHz信号。尽管数据表似乎说我可以得到一个反相波形,但它使我感到困惑。通过使用Timer1的PWM设置,我还能够获得两个在1 MHz时占空比不同的信号,但是两个信号同时变为高电平,而较短的信号则较早变为低电平。这不适合我的项目。我什至不需要PWM脉冲宽度变化,仅需要两个相位相同的相同“时钟”类型信号即可。 我并不是要有人为此写代码,我只需要有人告诉我定时器的哪个模式/标志应该在与定时器相关的两个引脚之一上给我一个简单的反相波形。如果可能的话,我想避免对其中一个输出使用外部反相电路,除非这是唯一的选择。 如果在ATTiny中完全可行,那就更好了。ATTiny也有2个与一个定时器相关的引脚,但是我不确定它具有与ATMega相同的选项。 我已经在PCB上连接了20 MHz晶体和电容器,并且ATMega328上的20 MHz时钟工作可靠。在ATTiny85 PCB上,我有一个8 MHz的晶体,该晶体也能可靠地工作。 请帮忙。谢谢。 更新:到目前为止,答案和评论中存在一些无效的假设,所以也许我应该澄清一下:请注意,在我的原始帖子中,我已声明我使用的是20 MHz时钟,而不是8 MHz,并且不需要PWM。 提供足够高输出频率的唯一模式似乎是CTC模式,因为PWM模式不适用于2 MHz输出。有没有办法在CTC模式下将定时器1的输出A或输出B反相? 我现在已经切换到标准的Arduino Uno(ATMega328,16 MHz)而不是我自己的20 MHz板上来检查我的代码,这是我的代码,用于在CTC模式下从9和10引脚(定时器)获得一个稳定的2 MHz稳定时钟1个输出引脚: #define tick 9 #define tock 10 void setup() { pinMode(tick, OUTPUT); pinMode(tock, OUTPUT); TCCR1A = _BV(COM1A0) | _BV(COM1B0) ; // activate both output pins TCCR1B = …

3
什么是时钟偏斜,为什么它为负?
我的HDL编译器(Quartus II)生成时序报告。在其中,节点具有“时钟偏斜”列。我发现的时钟偏斜的唯一定义是在TimeQuest文档中(请参阅第7-24页): 要为时钟到时钟的传输手动指定时钟不确定性或时滞,请使用set_clock_uncertainty命令。 因此,如果偏斜是“不确定性”,为什么我的某些时钟偏斜为负(例如-0.048)?时钟偏斜到底是什么?

4
总线同步器电路的时序约束
我有一个总线同步器电路,用于跨时钟域传递宽寄存器。 我将提供简化的描述,省略异步重置逻辑。 数据在一个时钟上生成。更新间隔了许多(至少一打)时钟沿: PROCESS (src_clk) BEGIN IF RISING_EDGE(clock) THEN IF computation_done THEN data <= computation; ready_spin <= NOT ready_spin; END IF; END IF; END PROCESS; 用于新鲜数据的控制信号,该信号经过NRZI编码(因此,总线上的有效字对应于控制信号上的转换)。控制信号通过充当同步器的DFF链。 PROCESS (dest_clk) BEGIN IF RISING_EDGE(dest_clk) THEN ready_spin_q3 <= ready_spin_q2; ready_spin_q2 <= ready_spin_q1; ready_spin_q1 <= ready_spin; END IF; END PROCESS; 同步器电路引入了短暂的延迟,这为数据总线稳定提供了足够的时间。数据总线直接采样,没有亚稳态风险: PROCESS (dest_clk) BEGIN IF …
10 fpga  clock  timing  sdc 

5
违反时建立并保持时间输出
考虑一个具有输入信号X的上升沿触发D触发器,其建立时间为20 ns,保持时间为0 ns。输出是什么? C是周期为40 ns的时钟信号。 在第6个上升沿期间,我们看到数据(或X)在从1变为0之前的20 ns(设置时间)内不稳定,因此输出是不可预测的,对吗? 当我问我的教授时,他说触发器的输出将是20 ns之前的输入(X)值,此处为1。 他说的对吗?
9 clock  flipflop  setup 

2
晶体振荡器中奇怪的额外频率
我从另一个设计师那里继承了一个电路,该电路使用12.288 MHz晶体作为音频时钟源。我们最近遇到了供应链问题,要求我批准具有相同规格的备用零件。作为其中的一部分,我比较了“黄金样本”单元和正在考虑的新晶体的FFT。 我惊讶地发现两个单元的FFT看起来都像这样: 在这里,您可以看到两个频率峰值-一个在12.28 MHz(接近预期的12.288 MHz)处,另一个在12.72 MHz处具有几乎相同的幅度。对我来说,这似乎是个坏消息-尽管音频输出听起来对我来说很好。 有谁知道这可能是什么原因?假设将其用作DSP的时钟(将其用作音频时钟源),这种行为可能会产生负面影响吗?
9 clock  crystal  fft 

3
通过数个板路由30MHz时钟
我正在使用TLC5945 LED驱动器。微控制器(我正在使用LPC1343)必须为其内部PWM定时器/计数器提供时钟。允许的最大时钟速度指定为30MHz。 我将使用菊花链连接TLC5945的几块板。板将通过板对板连接器或短带状电缆连接,一块板的宽度为10cm。我最多将其中4个串联。 可能我不会使用完整的30MHz,但是尽管如此,我还是想做对-如何路由/调节时钟信号,使其保持完整? 如果在每个板的输出上添加一个像74HC245这样的缓冲区,那么在每个缓冲区之后都会有10ns的延迟,我不希望这样。我应该使用专用的“零延迟”时钟缓冲器吗?我应该采用哪种终止方案?


3
根据时钟偏移估算电气频率
大约6个月前,我安装了带有2个Tesla Powerwalls的太阳能系统作为后备。今天,我们不得不通过东南部冰暴造成的停电来测试该系统。(在撰写本文时,我们仍依靠电池供电。) 我的孩子们下楼来告诉我该睡觉了(晚上9点),但是当我看着手机时,才8:17 PM。他们正在看微波炉的时间。我检查了我房间的闹钟,它也显示了晚上9点 我知道,通过修改交流信号的频率,可以在太阳能,公用事业和Powerwall之间“推动”电力。我也知道许多数字时钟通过公用频率保持时间。 因此,我的问题是这样的:如果我们的电源大约在上午10点断电,而到晚上9点,我们的数字时钟关闭了将近45分钟,那么Powerwall以什么频率提供备用电源?如此大的时间变化似乎是多余的(纯粹是推测性的)。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.