的CPLD 1Hz的时钟源

C

cosmicboy

Guest
嗨伙计,

我工作在一个简单的7段时钟使用由赛灵思XC9536 CPLD的项目。我有一些经验
, 但与微控制器
, 这是我第一次将使用的CPLD因此请你温柔

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="微笑" border="0" />要生成时基我估计最简单的办法是使用标准的32.768kHz的时钟晶体
, 分化它收购但我1Hz的轻微外部时钟的引脚分配混淆。一个简单的单片机系统
, 我只想用一双OSC1/OSC2挂钩的结晶
, 但我看不出在为XC9536的引脚描述类似的安排。添加到我的困惑,我发现这种电路些
, 我不能作出任何意义了它:<img src="http://img411.imageshack.us/img411/1189/clkbb1.png" border="0" alt="1Hz clock source for CPLD" title="赫兹的CPLD的时钟源"/>阿非门??我不能使用它自己的水晶?(带负荷帽)

另一个问题是如何划分实际上我的时钟?我计划使用VHDL语言
, 以便将它简单地“为1ns的”等待我的指示?我感到有点困惑和希望
, 如果你能摆脱一些启示

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="微笑" border="0" />
非常感谢!

 
你要生成32 ....计数器分区
CPLD的数据表将得到寄托在你所连接时钟...
后...是仅仅用于模拟纳秒不是合成...行

 
振荡器需要反馈和相移放大器。在这一原理,U2A及其相关组件提供的功能。U2B和U2C平方米了波形。

在CPLD没有提供内置的振荡器/放大器像你可能会发现在一个微控制器。如果您觉得很想尝试,无论如何,第一次读到此页面上的最后的评论:
http://www.xilinx.com/support/answers/24167.htm

综合工具一般不支持VHDL的“等待”的发言。你需要实现一个计数器(很容易)。如果振荡器运行在32768赫兹,然后是15位计数器会分裂削减至1赫兹。注意的是
, 一个15位计数器将消耗在小XC9536 CPLD的36个宏单元的重要部分。

 
据我粗略估计,时钟项目最有可能不适合
, 即使没有一分频时
, 以1 Hz主频,1 XC9536考虑到7段解码器。

关于你的振荡电路,您(或原电路设计)显然了两个电阻值的混合,它显然是不准确绘制工作。此外,水晶制造商通常需要一个缓冲的逆变器
, 而不是U2A,但它希望与HC00工程。爱普生指定的20间,500 K和10低频时钟晶体,一个470欧姆R14 p C8/C9 R14 R15将是兆赫晶体正确的。

答:我忘了提及,一个CD4060计数器包含2 ^ 14分和振荡电路,我以前使用的低频晶体时钟与手表它。

 
非常感谢您所有的反应很多。

如果我消除了晶体的选择,我认为在这一点上我有三种选择:

,如果我使用的振荡器
, 而不是一个水晶(类似:http://uk.farnell.com/1278042/passives/product.us0?sku=EPSON-TOYOCOM-SG-3030JF),是否是'稳定'够?(有了这个
, 我仍然要CPLD的内部分裂,它如你所说的占用大量的空间?)

,如果我鸿沟晶体使用4060获得2hz,然后由2 1 4013进一步分裂,这给了我一个不错的赫兹脉冲,我已经使用过
, 当我建立了一个全逻辑二进制时钟这一点。同样这是否足够稳定?(无需划分,简单好用的两个外部元件的成本)

作为最后的手段,我想我可以只用555产生1Hz的

<img src="http://www.edaboard.com/images/smiles/icon_razz.gif" alt="非难" border="0" />

(无需划分,再次元件的)如果你作出选择哪一个
, 你会去,还是有更好的选择?您的意见非常赞赏。

干杯。

 
一个晶体振荡器
, 基本上有一个时钟所需的精确度。例如
, 一个50 ppm的错误
, 会导致偏差4秒/天,这不是很好,但应该可以接受。您可以通过调整达到在晶体电路电容器或使用一个更精确的振荡器更高的精度。

该CD4060建议基本上是出于减少元件数。单一/ 2分频应更好地在CPLD的实施。另一方面,可以生成从CMOS部分
, 因为很多人都在上个千年“完整的时钟”。

 
有限体积说:

一个晶体振荡器,基本上有一个时钟所需的精确度。
例如,一个50 ppm的错误,会导致偏差4秒/天,这不是很好,但应该可以接受。
您可以通过调整达到在晶体电路电容器或使用一个更精确的振荡器更高的精度。
 
我假设你正在建设一个4位数字时:分时钟,而不是一架HH:mm:ss的时钟。28段连接的LED CPLD的直接消耗28现有的36个宏单元。(或有点少
, 如果你并不需要所有在左侧数字段。)您可以使用状态的段寄存器机柜台,但你仍然需要6个宏单元实施分频计数器60秒。这不会留下足够的宏建立一个分频32768柜台。我不认为这有什么办法搬进小XC9536一切。

555可以很容易地生成1赫兹,甚至1 / 60赫兹,但频率准确度将时钟太贫穷。阿晶体振荡器是要走的路。

您可能可以买到一个晶体振荡器内置分频器和1赫兹输出。我依稀记得看到一个几年前。
最后由echo47编辑于2008年4月7日2:20;编辑1次共

 
echo47说:

我假设你正在建设一个4位数字时:分时钟,而不是一架HH:mm:ss的时钟。
28段连接的LED CPLD的直接消耗28现有的36个宏单元。
(或有点少,如果你并不需要所有在左侧数字段。)你需要6个宏单元实施分频60秒计数器。
这不会留下足够的宏建立一个分频32768柜台。
我不认为这有什么办法搬进小XC9536整个时钟项目。
 
一个快速的方法来粗略估计所需的宏单元数是添加了所有触发器在你的设计,加上任何输出没有直接绑在触发器引脚。此外,如果您的设计中包含大量逻辑方程,一些额外的宏可能会被消耗。您可以尝试建立不同的ISE设计
, 看看会发生什么。我不是一个CPLD的专家,所以其他人可能有更好的建议。

使用这一估计技术,您将需要大约4 * 7 = 28宏单元的段驱动状态寄存器,加上6个宏单元的划分按60秒计数器,加15宏单元的分频32768。这是约49宏单元。扫描的LED设计需要的宏单元数量大致相同。XC9572是一个足够大的两种方法。

CPLD是非常小的相比,FPGA的。

 
合成了预期的逻辑族设计是唯一合适的办法知道确切的资源需求,我自己的看法。当然你可以减少手工逻辑方程并将其映射到CPLD的宏单元。但是
, 除了在逻辑上最大数量为宏,你还必须考虑特定的路由限制。这是必要的二十年前
, 当设计没有今天的高级别工具GAL中的逻辑。

如果一秒钟显示的目的,复产出可能需要以适应XC9572,我想。

 
我试图填充一个简单的复用4位12小时制(28触发器加上7段输出)到一个XC9536,它适合几乎如我所料。现在只有足够的输入约一半的空间分隔,所以我的输入时钟为256赫兹。我感觉
, 设计相当紧张,因为我曾与优化设置摆弄
, 以避免资源枯竭。

 
我想我会前往XC9572仅仅成为安全起见
, 我将尽量保持尽可能简单只用4位数,7段
, 我还将使用4060得到2hz,这将减少时钟除以CPLD的。
seem to have problems with 'ghosting'

我不想用多路
, 我似乎 总是
有'鬼影问题'

<img src="http://www.edaboard.com/images/smiles/icon_neutral.gif" alt="中性" border="0" />
这个线程已经有很大帮助,谢谢大家非常

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="微笑" border="0" />
 
在选择一个CPLD,您可以尝试执行您与ISE设计
, 看看它是否适合。

为了消除在扫描显示器重影,显示简单空白时
, 步进下数字。

时钟快乐!

 
你必须除以2时钟(频率为32.768kHz)^ 15获得1Hz的时钟。这将解决您的问题。

 

Welcome to EDABoard.com

Sponsor

Back
Top