自动门显示实戴尔实时时钟故障障

上海GMT自动门安装维修至泰的几点建议-建材
上海GMT自动门安装维修至泰的几点建议
来源:网络
发布时间: 8:47
上海GMT自动门的安装维修即是一门学问,更是一门技巧。而掌握这种技巧,对于保证门体的后期运行以及延长门的使用寿命具有非常重要的作用。对此,上海至泰根据相关的专业知识及多年来的安装经验,对GMT自动门的安装维修也提出以下建议,希望会对大家有所帮助。
首先,安装维修GMT自动门时,需掌握门体的安装顺序,即要求我们必须按照抄地平线——地导轨——横梁——电机——门扇——调试这样的流程进行,以避免因顺序而导致自动门安装工程出现纰漏或者无法正常进行。
其次,正确的安装维修方法对GMT自动门起着至关重要的作用。比如,在安装门的地导轨时,我们必须确保轨道是安装在焊接的铁龙骨架上,且必须保证整体骨架水平、垂直、牢固且紧密稳实,轨道的表面也必须平整无毛刺,以实现自动门在运行时平稳可靠。又如安装电机时,必须确保自动门传动控制机箱及自控探测装置都固定安装在钢横梁上,且应注意钢横梁上钻孔或焊接连接板应在钢横梁安装前完成。门扇安装时则需提前检查轨道是否顺直、平滑,不顺滑处则必须用磨光机打磨平滑后,在进行安装滑动门扇,滑动门扇尽头应装弹性限位材料,要求门扇滑动平稳、顺畅。
最后,在GMT自动门整个安装完成之后,还要做好相关的调试、检查工作,对保证门体长期无故障运行的作用也不容忽视。基于这一点,我们可以先检查门的主控项目是否符合安装标准,具体包括门的质量、各项性能、尺寸、开启方式、门体配件、机械装置等必须符合用户的设计要求。除此之外,我们还必须观察门的表面装饰是否出现划痕、碰伤等问题,若有此类问题时应及时处理,从而保证自动门整体外观的华贵大气。增值税发票
无理由退货
我浏览过的
您现在的位置:&
KABA自动门控制电路板维修经验
KABA自动门控制电路板维修经验
KABA自动门控制电路板维修经验 KABA自动门控制电路板的功能是接收光电对射开关、雷达、操作面板等送来的开门信号,当门开后延时三分钟后没有人进出时发出关门指令给驱动电动机,自动门即自动关闭,关闭后如有人进出时,给雷达一个触发信号,雷达将触发信号发送给控制单元电路板随机执行开门动作。 控制单元电路板出故障后,大多会导致不能关门也不能开门的故障现象,出现这种故障现象时要先检查自动门能否执行自检动作。 如果能执行自检动作一般都是控制板上的L4963集成电路出现故障所致,更换L4963集成电路一般都能解决可通过自检但不能执行开关门的故障。判断L4963集成电路好坏的方法可以采用电压检测法,即检测L4963各输入引脚的输入电压,然后再检测输出引脚的输出电压,观察检测结果是否符合它的逻辑控制功能既可以判断出它的好坏了。 如果自检时不能通过自检,也不执行自己动作,控制板上的LED灯亮红灯时,说明是CPU控制电路出故障所致,在CPU控制电路中最容易出故障的是一个小八脚的存储器集成电路24C08,这个芯片出故障后导致CPU不能调出存储器中的程序,所以不能执行自检。当小八脚的存储器集成电路24C08芯片出故障后,因它的内部有程序,买回空白芯片后需要给它重新灌入程序才能使用,小八脚的存储器集成电路24C08内的程序需要用拷贝机从好的芯片里将程序拷出,再灌到新的存储器集成电路中,就可以将发生故障的KABA自动门控制电路板维修好了。 通常情况下对KABA自动门控制电路板维修时,基本都是上述两个部位出故障导致,电路板维修人员只要根据工作原理结合实际情况,采用适当的维修方法,就能够将发生故障的KABA自动门控制电路板维修好。
更多猛料!欢迎扫描下方二维码关注土猫网官方微信( tumaowang )
&#165&14.9元
节省15.1元
&#165&320元
&#165&159元
&#165&19.9元
节省38.1元
&#165&219元
&#165&127元
&#165&38元
&#165&239元
&#165&45元
&#165&35.3元
节省15.7元
&#165&19元
&#165&87元自动门开门时检测到有人进入而重新计算关门时间,请问是怎么实现的???_百度知道自动门的工作原理|西安广宝电子科技有限公司,西安安防,西安门禁系统,西安门禁考勤系统,西安防盗报警系统,西安视频监控系统,西安楼宇对讲系统,西安停车场管理系统,西安一卡通消费系统
你所在的位置:&-&新闻中心 -&安防知识
自动门的工作原理
发布者:本站 发布时间: 10:25:20 阅读:238次
关键字: 西北&新疆门禁&青海门禁&新疆指纹门禁&新疆可视对讲门禁&乌鲁木齐考勤门禁&乌鲁木齐防盗报警器&新疆报警器&新疆小区门禁&新疆刷卡门禁&乌鲁木齐可视对讲指纹门禁&乌鲁木齐单位门禁&新疆楼宇对讲&新疆监控&乌鲁木齐楼宇对讲&新疆安全门禁&乌鲁木齐感应卡考勤机&新疆考勤&新疆指纹门锁&新疆小区门禁&新疆单元门口门禁&新疆安防公司&新疆乌鲁木齐感应密码锁
自动门原理简单来说就是将人接近门的动作(或将某种入门授权)识别为开门信号的控制单元,通过驱动系统将门开启,在人离开后再将门自动关闭,并对开启和关闭的过程实现控制。
&&&&自动门原理简单来说就是将人接近门的动作(或将某种入门授权)识别为开门信号的控制单元,通过驱动系统将门开启,在人离开后再将门自动关闭,并对开启和关闭的过程实现控制。
&&&&下面我们具体了解一下自动门的工作原理。
&&&&自动门的基本组成大体上相同,再加上开门信号,就可以配置成一套简单的自动门系统了。自动门的系统配置是指根据使用要求而配备的,与自动门控制器相连的外围辅助控制装置,如开门信号源、门禁系统、安全装置、集中控制等,必须根据建筑物的使用特点,通过人员的组成,楼宇自控的系统要求等合理配备辅助控制装置。
&&&&自动门原理一:开门信号
&&&&自动门的开门信号是触点信号,微波雷达和红外是常用的两种信号源:
&&&&微波雷达是对物体的位移反应,因而反应速度快,适用于行走速度正常的人员通过的场所,它的特点是一旦在门附近的人员不想出门而静止不动后,雷达便不再反应,自动门就会关闭,对门机有一定的保护作用;
&&&&红外传感器对物体存在进行反应,不管人员移动与否,只要处于传感器的扫描范围内,它都会反应即传出触点信号。缺点是红外传感器的反应速度较慢,适用于有行动迟缓的人员出入的场所。
&&&&另外,如果自动门接受触点信号时间过长,控制器会认为信号输入系统出现障碍。而且自动平移门如果保持开启时间过长,也会对电气部件产生损害。由于微波雷达和红外传感器并不了解接近自动门的人是否真要进门,所以有些场合更愿意使用按键开关。
&&&&按键开关可以是一个触点式的按钮,更方便的是所谓肘触开关。肘触开关很耐用,特别是它可以用胳膊肘来操作。避免了手的接触。
&&&&还有脚踏开关,功能一样,但对防水的要求较高,而且脚踏的力量很大,容易使脚踏开关失效。
&&&&还有一种带触点开关的拉手,当拉手被推(或在反方向拉)到位时,向门机提供触点信号。
&&&&现在的楼宇自控有时会提出特殊的要求,例如使用电话的某一分线控制开门。要达到这个要求,只要保证信号是无源的触点信号即可。有些情况下,人们会提出天线遥控的要求。用一个无线接受器与自动门进行触点式连接,再配一个无线发射器,就可以达到要求。不过,现在的无线电波源太多,容易导致偶然开门是一个麻烦的问题。
&&&&定时器可以自动控制门的状态,其原理是将时钟与特定的开关电路相连,可预设定时间将自动门处于自动开启或锁门状态。
&&&&自动门原理二:门禁系统与非公共区域的自动门
&&&&如果说对自动门的性能和质量要求最高的,是在使用频率极高的大型公共区域,那么自动门功能要求最高是对进出人员进行选择的非公共区域。门禁系统是对入门授权的识别。在识别或检测入门授权通过以后,向自动门的控制系统提供开门信号。在提供开门信号之前,自动门必须处于锁门的状态。门禁系统包括从最简单的钥匙开关,,锁。(考勤统计系统)。一直到复杂的体重识别系统,指纹识别系统等。但无论系统怎样复杂,最终都是给自动门提供开门的触点信号。信号电路的屏蔽对避免由于无关信号的干扰而误开门的情况发生非常重要。
&&&&自动门原理三:对自动门的要求就是解锁
&&&&动作与开门动作之间的协调
&&&&应用于自动平移门的电子锁有锁皮带的电磁锁和锁门体吊挂件的电动锁,锁电机的三种。后者用于重型自动平移门,自动平开门的电子锁有电磁门吸,电子插销锁和电子开门器,电子开门的作用力方向不影响门的开启动作,不易发生误操作。还有一种带触点开关的机械锁,使锁与开关结合,锁不处于开锁状态,触点就不能接触,不可能发生误操作。
&&&&自动门原理四:集中控制
&&&&集中控制的概念,包括集中监视自动门运行状态和集中操作多个自动门两层含义,集中监视自动门开门关门状态可以通过位置信号输出电路来实现,可以采用接触式开关,当门到达一定位置(如开启位置)时,触动开关而给出触点信号。也可以采用感应式信号发生装置,当感应器探测到门处于某一位置时发出信号。在中控室设置相应的指示灯,就可以显示自动门的状态,而集中操作通常指同时将多个门打开或锁住,这取决于自动门控制器上有无相应的接线端子。
&&&&(2)移动吊抡及轨道发生磨损或障碍。
&&&&自动门维修解决办法:清除障碍物,更换磨损的部件。
&&&&3、自动门门扇开关时会发生跳动?
&&&&可能原因:
&&&&(1)上轨道及下轨道有异物卡住。
&&&&(2)上吊轮之轮子有异物嵌入。
&&&&自动门维修解决办法:清理轨道或者吊轮之间的异物。
&&&&4、门扇开关时自动门速度太慢?
&&&&可能原因:
&&&&(1)控制器速度调整太慢。
&&&&(2)皮带可能太过松动。
&&&&(3)电压异常。
&&&&(4)活动门扇可能与导轨或与固定门扇发生摩擦或与地板发生摩擦。
&&&&(5)止动轮与轨道摩擦。
&&&&自动门维修解决办法:给自动门各个运行部位润滑,调整控制器或者皮带松紧,最后再检查调整电压。
&&&&5、自动门活动门扇关闭时发生碰撞?
&&&&可能原因:
&&&&(1)速度太快。
&&&&(2)电压异常。
&&&&(3)马达发电配件可能损坏。
&&&&自动门维修解决办法:检查电压,更换马达配件,调整马达运行速度。
&&&&6、自动门门扇不能开启?
&&&&可能原因:
&&&&(1)感应器故障,检查感应器之感应灯号是否正常。
&&&&(2)电线接头松胶(短路)。
&&&&(3)皮带脱落。
&&&&(4)可能马达过热,待冷却后便能恢复正常。
&&&&(5)控制器烧坏。
&&&&(6)异物卡住。
&&&&(7)电压异常。
&&&&自动门维修解决办法:检查依次是否有异物,电压,感应器,控制器,皮带,电线接头等部件,哪个出现问题,处理哪个。需要确认注册邮箱后才能开通博客,
>>>【博客大赛】高级FPGA设计译文:第六章 时钟域
6年会员勋章目前已领取。领取条件:&凡是注册时间六年以上的活跃用户即可领取该勋章。
coyoo的博客&&coyoo's Blog
博主:&&&&
抛砖引玉
触动灵感
勇于创新
文章(286)&&&&
访问(700384)&&&&
评论(618)&&&&
投票(406)&&&&
订阅本博&&
博文列表查看方式:
需要确认注册邮箱后才能下载,
第六章&& 时钟域
有一个有趣的现象,众多数字设计特别是与FPGA设计相关的教科书都特别强调整个设计最好采用唯一的时钟域。换句话说,只有一个独立的网络可以驱动一个设计中所有触发器的时钟端口。虽然这样可以简化时序分析以及减少很多与多时钟域有关的问题,但是由于FPG**外各种系统限制,只使用一个时钟常常又不现实。FPGA时常需要在两个不同时钟频率系统之间交换数据,在系统之间通过多I/O接口接收和发送数据,处理异步信号,以及为带门控时钟的低功耗ASIC进行原型验证。本章讨论一下在FPGA设计中多时钟域和异步信号处理有关的问题和解决方案,并提供实践指导。
这里以及后面章节提到的时钟域,是指一组逻辑,这组逻辑中的所有同步单元(触发器、同步RAM块以及流水乘法器等)都使用同一个网络作为时钟。假如设计中所有的触发器都使用一个全局网络,比如FPGA的主时钟输入,那么我们说这个设计只有一个时钟域。假如设计有两个输入时钟,如图6-1所示,一个时钟给接口1使用,另一给接口2使用,那么我们说这个设计中有两个时钟域。
图6-1:双时钟域设计
平时我们在设计中遇到的门控时钟、衍生时钟以及事件驱动的触发器都可归为时钟域类别。如图6-2所示,通过一个简单门控时钟创建了一个新的时钟域。我们知道,这类时钟控制在FPGA设计中并不被推崇(可以使用时钟使能替代时钟门控),然而它却非常有利于我们理解时钟域这一概念。
本章我们将着重详细讨论以下主题:
l& 两个不同时钟域之间传输信号。
n& 亚稳态的产生以及对设计的可靠性的影响
n& 通过相位控制避免亚稳态
n& 在时钟域之间传输单个信号,将信号打两拍
n& 使用FIFO在时钟域之间传输多位数据
n& 使用分区同步器模块提高设计的组织架构
l& 处理ASIC验证原型里的门控时钟
n& 建立一个单时钟模块
n& 自动门控移除
图6-2:通过门控时钟创建的时钟域
6.1 跨时钟域
设计中包含多时钟域,首先要解决的是在不同时钟域之间传输信号的问题。信号跨时钟域传输将会是一个大问题,原因如下:
1、& 信号跨时钟域传输产生的故障总是不太容易复现。设计中如果存在两个异步时钟域,故障往往与这两个时钟沿的相对时序有关。来自片外时钟源的时钟通常与器件实际功能并无任何关联。
2、& 根据技术的不同,问题也不一样。(尽管由于其他因素的影响,这种情况并不总是成立)我们常常会发现,如果约束较小的建立和保持时间,从统计上来说高速设计技术比低速设计技术更不容易产生故障。同时,其它因素,比如同步器件中设计实现对输出的缓冲,也会对一个可能的故障产生显著影响。
3、& EDA工具一般不会探测和标注这类问题,静态时序分析工具是基于独立的时钟区域来进行时序分析,而且只有在特定的方式下根据指定的要求才能进行跨时钟域的时序分析。
4、& 通常来说,如果没有很好地理解,跨时钟域故障难以探测且难以调试。所以所有跨时钟域接口都必须要在任何功能实现之前被很好地定义和处理。
让我们首先来看看在不同时钟域之间传输信号到底会产生什么错误。考虑图6-3所示的情况,一个信号在两个时钟域之间传播。
如图6-4所示,低速时钟的周期是高速时钟周期的两倍。低速时钟上升沿与高速时钟上升沿之间的间隔为常量,而且总是等于dC。由于这两个时钟的这种相位匹配关系,dC总是保持不变(假定频率没有漂移),而且在这个例子中,dC总是大于逻辑延时与高速时钟驱动的触发器建立时间之和。
图6-3:时钟域之间的简单信号传输
图6-4:两个时钟域之间的时序关系
当这些时钟一启动,它们之间存在一个固定的相位关系,如此可以避免任何建立时间和保持时间违规。只要时钟没有漂移,就没有任何时序违规出现,并且器件会如预想那样工作。现在我们再考虑另外一种情况,同样的时钟上电后的相位关系如图6-5所示。
图6-5:会造成时序违规的时钟相位关系
图6-5中两个时钟之间的这种相位关系就会造成时序问题。这种情况会在任意频率的两个时钟域之间。然而,如果时钟的频率匹配不对,这种时序问题在这种情况下也不会发生。
总结来说,时钟同步问题在FPGA设计中通常是一种不可复现的问题,而且会对设计的可靠性带来严重后果。后面我们会讨论解决这类问题的方案,在此之前,我们必须要讨论当建立和保持时间违规时到底会发生什么。下一小节就是关于这个主题。
6.1.1 亚稳态
触发器的建立时间和保持时间在时钟上升沿左右定义了一个时间窗口,如果触发器的数据输入端口上数据在这个时间窗口内发生变化(或者数据更新),那么就会产生时序违规。存在这个时序违规是因为建立时间要求和保持时间要求被违反了,此时触发器内部的一个节点(一个内部节点或者要输出到外部节点)可能会在一个电压范围内浮动,无法稳定在逻辑0或者逻辑1状态。换句话说,如果数据在上述窗口中被采集,触发器中的晶体管不能可靠地设置为逻辑0或者逻辑1对应的电平上。所以此时的晶体管并未处于饱和区对应的高或者低电平,而是在稳定到一个确定电平之前,徘徊在一个中间电平状态(这个中间电平或许是一个正确值,也许不是)。如图6-6所示,这就是所谓的亚稳态。
图6-6:时序违规导致亚稳态
如图6-6的波形所示,信号的跳变发生在建立和保持边界组成的时间窗口内,这意味着输出不会是逻辑0或逻辑1对应的确定电平,而是它们之间的一个中间电平。如果触发器包含有一个输出缓冲,那么亚稳态本身就可以称为随着内部信号的逐渐稳定而在输出上表现的杂散过渡。输出保持亚稳态的时间是随机的,甚至可能在整个时钟周期内都保持亚稳态。那么,如果这个亚稳态值输入到组合逻辑,根据逻辑门电路的切换门槛,错误的操作就可以发生。从时序收敛的角度来说,两个触发器之间的组合逻辑延时都要求要小于最小的时钟周期,但是这种亚稳态信号保持亚稳态的时间,本身就是变相地增加了逻辑延时。很显然,一个亚稳态信号会给设计带来致命的功能故障,而且该信号也将无法在各个时钟沿上采集到一致的结果。
事实上需要注意的是,在FPGA设计流程中想通过仿真来确定亚稳态对设计的危害是非常困难的。纯数字的仿真器并不能检查到建立和保持违规,从而在违规发生时,仿真出一个逻辑&X&(未知)值。而普通的RTL仿真,并不会出现建立和保持违规,所以也就不会有信号出现亚稳态状态。尽管门级仿真的时候会检查建立和保持是否违规,但是仿真由两个异步信号对齐而导致一个同步故障依然是一件十分困难的事情。尤其困难的是,设计或者验证工程师并不是在设计伊始即查找问题。那么,理解如何保持设计的可靠性以及如何避免需要通过仿真来揭露设计的同步问题,就显得十分重要了。解决亚稳态的方法有很多,后面我们将逐一进行讨论。
6.1.2 解决亚稳态方案1:相位控制
考虑这样一个设计,两个时钟域的周期不同,而且相位关系任意。如果至少有一个时钟由FPGA内部的PLL或者DLL控制,而且在PLL或者DLL的精度范围内,其中一个时钟的周期是另外一个时钟周期的数倍。那么如图6-7所示,通过相位对齐可以避免实现违规。
考虑这样一个例子,一个信号从低速时钟域传递进入另一个时钟域,而此时钟域的周期是低速时钟域的一半。根据前面的分析,如果没有任何相位关系的保证,那么时序违规就有可能发生。然后,通过使用DLL由低速时钟派生这个高速时钟,那么相位对齐就可以达成。
图6-7中,DLL调整高速时钟(采集)的相位来对齐低速时钟(发送)。数据在两个时钟域之间传递的时间是dC,该传递时间总是处于其最大可能值。本例中,只要从低速触发器到高速触发器的传播延时小于高速时钟周期,那么就不会有建立时间违规发生。如果因为时钟歪斜不够小而导致保持时间要求无法满足,那么可以通过配置实用高速时钟的下降沿来采集信号,当然前提是有足够的时序余量能确保建立时间要求得到满足。
图6-7:使用DLL对齐相位
总结来说,相位控制技术可以在一个时钟频率是另外一个时钟的数倍且其中一个时钟可以由FPGA内部PLL或者DLL控制时使用。
在很多例子中,设计控制时钟域之间的相位关系是很奢侈的。尤其是时序要求由FPG**外的芯片施加,或者时钟域之间没有任何确定相位关系的时候。举例来说,如果FPGA在两个系统之间提供了一个接口,而这两个系统施加在芯片输入输出延时上的时序要求非常紧张,调整任何这两个系统的时钟相位是不可能的。类似这种例子在实践中会经常遇到,所以需要使用新的方法来解决,下一节将讨论这种新的方法。
6.1.3 解决亚稳态方案2:打两拍处理,即寄存两拍
跨越两个异步时钟域传输单比特信号时,可以使用打两拍技术。根据上一节的讨论,建立或保持时间违规会导致一个触发器内节点上电平徘徊在一个中间状态,从而产生亚稳态问题,而且信号从这种中间状态到一个稳定状态需要时间,此时间的长度未知。这个未知的时间会被加入到时钟到输出的时间(Tco)里(影响随后路径上的延时),且会在下一级导致一个时序违规。如果该信号输入到一个控制分支或者一个判决树,那将是非常危险的。不幸的是,没有很好的办法来预测这种亚稳态将会持续多长时间,也没有很好的办法将这些信息反标注到时序分析工具以及优化工具。假定两个时钟域之间完全异步(即无法实现相位控制),那么尽可能避免亚稳态的一个最简单办法就是使用双触发。在其它也许教科书中也称这种方法为同步位、两级触发器或两级同步器。
图6-8所示的配置中,同步器电路(其输入为Din)中的第一拍后也许会产生亚稳态,但是信号有机会在其被第二级锁存以及被其它逻辑看到之前稳定下来,如图6-9所示。
图6-8:打两拍处理
图6-9:打两拍重同步器
图6-9中,Dsync是同步器中第一个触发器的输出,而Dout是第二个触发器的输出。Dout本质上是等到同步后的信号一旦稳定下来后将其往下传,并且确保其它电路不会收到亚稳态信号。同步器两级触发器之间不要添加任何逻辑,这样可以使得信号获得尽可能长的时间来回到稳定状态。所以总结来说,打两拍同步器在单比特信号跨异步时钟传输时,用来将该单比特信号重新同步到异步时钟域。
理论上来说,第一个触发器的输出应该一直保持不确定的亚稳态,但是在现实中它会受到实际系统一系列因素影响后稳定下来。打个比方,想象一下一个皮球稳定地停住在一个山尖上,从任何方向上轻推一下球,它都会由相反的方向从山上滚落。同样,处于亚稳态的一个逻辑门,由发热、辐射等产生的随机波动都会促使该亚稳态回到逻辑0或者逻辑1对应的稳态。
使用打两拍技术采样一个异步信号时,无法完全预知我们想要的信号跳变,将在当前时钟发生还是下一个时钟发生。当信号属于一个数据总线中的一部分(有些数据位比其它比特晚一个时钟周期跳变)时,或者关键数据必须要精确到单个时钟周期内到达时,这种打两拍技术是没有帮助的。不过,对于控制信号来说,如果它们可以忍受正负一个或更多个时钟周期的变化,这种技术还是非常有用的。
举例来说,一个外部事件控制一个比特来触发FPGA内部动作,这个触发动作发生的频率可以非常的低,比如两个事件之间的间隔可以达到微秒甚至毫秒级。在这个例子中,一些额外的数纳秒的延时并不会影响该事件的行为。如果由外部事件驱动的改比特输入到一个状态机的控制结构中,通过同步器打两拍处理,那么想要的信号变化只是被延迟了一个时钟周期。然而,如果没有进行打两拍处理,那么判决逻辑也许会从该异步信号的亚稳态状态解码出不同状态跳转信息,并使得状态机同时跳转到不同的分支。
除了纯数字系统外,还有一种混合信号系统,这种系统会通常会产生异步反馈信号到FPGA,如图6-10所示。
图6-10:重新同步模拟反馈
上述对异步信号打两拍的同步器的Verilog代码如下所示:
module analog_interface(
output regfbr2,
input feedback);
always @ (posedge clk) begin
fbr2&=fbr1;//;doubleflop
反馈信号会产生时序违规,而且fbr1在时钟沿后一个不确定的时间内处于亚稳态。那么,其它逻辑只可以使用的信号fbr2。
使用打两拍同步处理技术时指定时序约束是非常重要的,需要施加的约束是将位于第一个和第二个寄存器时钟域之间的信号路径指定为假路径,即让时序分析器部分此路径。因为打两拍同步器结构用于重新同步信号,在这两个时钟域之间并没有需要分析的同步路径。此外,如前所述这两个触发器之间的时序要尽可能的小,这样可以减小亚稳态被传播到第二级触发器的可能性。
6.1.4 解决亚稳态方案3:使用FIFO结构
跨时钟域传输数据用得最多的方法就是使用先入先出(即FIFO)结构。FIFO可以用于在两个异步时钟域之间传输多个比特信号。我们通常看到的FIFO应用包括在两个标准总线之间传输数据,以及从可突发访问的存储器中读出数据或者对其写入数据。例如,如图6-11所示,显示的是一个可突发访问存储器与一个PCI总线之间的接口。
图6-11:FIFO在PCI应用中
在很多不同的应用中,FIFO都是一种非常有用的数据结构,不过这里我们仅仅关注其处理跨时钟域突发数据的能力。
FIFO非常类似于在超市里的结账通道,每个客户到达结账台的时间多少有点随机性,结账速度在一定意义上说是匀速的。有时候结账客户可能会很少,而其他某些时候又会突发很多客户需要结账,收款员不可能立刻为每个客户服务,所以需要排队。抽象地来说,我们称这种排成一队的数据为一个序列。随后,收款员会以或多或少平均的速度为每一个顾客服务,并不会理会队列的长度。假如需要结账的顾客涌入收银台的速度超过了收款员的服务速度,那么这种收款结构就无法支撑了。那么此时,就需要采取措施,要么加快收款员的服务速率,要么减少新增顾客数。
同样的道理也存在于数据传输中,数据可能到达某个时钟域的间隔是完全随机的,有时候或许会面临一个很大突发数据块。这种情况下,处在另一个时钟域的接收设备只能以指定的速率来处理数据。如图6-12所示,一个FIFO被用于缓存数据,这样在设备中就形成了一个数据序列。
图6-12:异步FIFO
通过使用异步FIFO,数据发送端可以以随意的间隔发送数据,而接收端也可以以其固有的带宽从数据序列里取出数据并进行处理。由于任何由FIFO实现的数据序列的长度都不能无限制,所以需要一些控制来防止FIFO溢出。这时候,有两种选项可以采用:
l& 事先定义好的发送速率(可突发或不可突发),最小接收速率以及对应最大的序列尺寸。
l& 握手控制。
注意,发送设备的时钟频率没有必要高于接收端设备,否则容易造成溢出。以较慢的频率将数据送入FIFO,那么数据写入FIFO的时钟周期数要少于接收端将要处理数据的时钟周期数。那么,如果不采取握手控制,就必须要理解以上描述会产生溢出的最坏的情况。
在任何一段时间内,假设数据发送写FIFO的速率大于接收处理数据的速率,那么很轻易地使系统无法维持。因为没有任何存储设备可以存得下无限的数据,这种问题需要在系统结构层级才能解决。通常来说,突发发送一般是以小周期性或非周期性发生。所以FIFO的最大尺寸要大于等于(具体还要根据数据接收器的属性)突发的尺寸。
在很多例子中,不管是突发尺寸还是数据到达的分配都无法很好地定义。这种时候,就有必要使用握手控制来防止FIFO产生数据溢出。如图6-13所示,这种握手控制通常由一些标志信号来实现。这些标志信号,一个是发送侧的满标志,用于提示FIFO没有多余空间存储数据了,另一个是而空标志,用于提示接收侧,FIFO中没有数据需要处理了。管理这些握手信号可能还需要一个状态机,正如图6-13所示。
图6-13:FIFO的握手控制
FIFO在FPGA内一般是通过封装一个双口RAM来实现。表面上看微不足道的标志信号如空和满指示等,实际上是实现起来反而比较困难。原因就在于输入控制常常需要依据输出来产生,同样的输出控制也常常需要依据输入来产生。例如,驱动输入的逻辑必须要知道FIFO是否已满,而这只能通过获取从输出端读出的数据数量才能得知。同样的道理,在输出侧从FIFO读数据的逻辑必须要了解FIFO中是否还有数据(即FIFO是否已空),而这只能通过输入端口的写指针才能判决。
这里我们探讨使用FIFO在两个异步时钟域之间传输数据,不过同样会面临实现FIFO本身时遇到的握手标志问题。为了在两个时钟域之间传递必要的信号,我们必须重回上一节讨论到的打两拍技术。下面我们以图6-14所示的简单异步FIFO框图为例进行阐述。
图6-14:异步FIFO简单框图
图6-14中,在产生空和满信号时,写地址和读地址都必须是异步传递到对方时钟域中。这样在重新同步多比特地址总线时,问题就来了,即根据各个比特不同的走线,总线中某些比特可能会比其它比特晚一个时钟周期。换句话说,由于两个时钟域异步的自然属性,使得地址总线有些比特在一个时钟沿上被采集,而另一些比特却在下一个时钟沿上被采集,当然这取决于数据是否在第一个触发器的时钟沿到达之前提前足够长时间有效。如果上述情况发生,那么会给系统带来严重后果,因为二进制地址中有些位变化有些位却没有,因此接收逻辑将会得到一个完全无效的地址,这个地址既不是当前地址也不是上一个地址。
这个问题可以通过将二进制地址转换为格雷码来解决。格雷码是一种非常特殊的计数器,两个相邻地址中只有一个比特是不同的。所以当地址改变时,只需要改变地址中的一个比特即可,这样就可以避免上面提到的问题。如果发生变化的那个比特并没有被下一个时钟正确采集,地址线上会&同步地&保留旧的地址值。那么,任何不正确的地址(即既不是当前地址也不是旧地址)操作都被消除了。所以总结来说,格雷码常用来在异步时钟域之间传递多比特计数值,且多用于FIFO内。
需要额外注意的一点是,由于只有读写地址是需要在异步时钟域之间传递,所以地址就有可能比预想的晚一个时钟周期,同时意味着空或者满标志置位晚一个时钟周期,但是这并不表示错误导致了数据溢出状况。如果这种情况在传递地址到读时钟域时,读逻辑将简单地认为数据没有写入,且将认为FIFO已空尽管此时FIFO已经被写入一个数据。这只会对总的吞吐率有一些小影响,但是不会导致下溢(即读已空的FIFO)状况发生。同样地,当地址被传递到写时钟域时,如果读地址被延时了,那么写逻辑会认为FIFO里没有多余空间,尽管此时FIFO还未满。这同样只会对总的数据吞吐率有些微小影响,却不会造成上溢(写已满的FIFO)发生。
FIFO是一种足够通用的模块,大部分FPGA供应商都提供了工具,可以让客户根据自己的要求来自动产生软核。这些用户FIFO可以像其它IP模块那样由用户手动地在设计中例化。那么,在一个FPGA设计中使用自己的FIFO时,上述讨论的问题很可能将不必由设计自己来解决。当然,同样的问题也经常在异步时钟域之间传递数据的时候发生,所以理解这类设计实践对于一个高级FPGA设计者来说非常重要。
6.1.5 设计分区同步器模块
在顶层为设计划分好设计分区是一个好的设计实践行为,这样任何功能模块外面都包含一个独立的同步器模块。这样有利于在划分模块的基础上实现所谓的理想时钟域情况(即整个设计模块只有一个时钟),如图6-15所示。
图6-15:设计分区同步器模块
对设计进行分区有很多理由。首先,对每个独立的功能模块进行时序分析变得简易,因为模块都是完全的同步设计。其次,整个同步模块中的时序例外也很容易得到定义。再次,底层模块的同步器加时序例外在代入到设计顶层时,大大降低了由于人为失误造成的疏漏。所以,同步寄存器应该在功能模块外单独分区。还有很多类似的设计实践在使用FPGA作为ASIC的设计原型时得到应用,下一节我们将再进行详细地讨论。
6.2 ASIC原型设计中的门控时钟
ASIC设计一般对功耗非常敏感,同时ASIC的时钟树设计又非常灵活,所以会在整个设计中经常使用门控时钟在逻辑不需要活动的时候来去使能这些逻辑。虽然使用FPGA作为ASIC的原型可以模拟整个逻辑功能,但是二者之间的有些物理属性,如功耗方面,还是不太一样。那么,要求FPGA来模拟ASIC的整个低功耗优化是没有必要的。实际上,正是由于FPGA的粗放式的时钟资源,让其模拟这方面功能也是不太可能的。这一节我们将讨论一些解决这个问题方法,并且再讨论一些可以应用于ASIC设计的技术来使FPGA原型设计更加容易。对于门控时钟更详细的容易可以参考前面第三章。
6.2.1 时钟模块
如果一个ASIC设计中使用了大量的门控时钟,建议将所有这些门控操作统一放在一个专门的时钟生成模块中,并与功能模块隔离,如图6-16所示。
图6-16:统一的时钟模块
通过将时钟门控置于一个单一的模块,不但可以是约束处理更简单,而且当要对FPGA原型进行任何修改时也更容易。例如,如果设计者选择某次编译时删除所有门控单元,那么一个单一的模块里很容易实现。下一节我们将对此进行详细讨论。
6.2.2 时钟门控移除
有很多办法可以从FPGA原型里删除时钟门控,下面的例子就显示了一个很明显,但却也是很麻烦的一个方法。这个例子的代码如下所示,该代码是删除FPGA原型里所有的门控功能。
&define FPGA
//&define ASIC
module clocks_block(...)
&ifdef ASIC
assign clock_domain_1=system_clock_1&clock_enable_1;
assign clock_domain_1=system_clock_1;
如果上述代码需要开放时钟门控,那么在FPGA原型设计中只需要修改宏定义即可。不足之处是,任何时候要将FPGA原型转化为ASIC设计时总是需要做出一些修改(其实就是修改宏定义)。很多设计者对此会感觉不是太舒服,因为他们认为二者使用的不是一样的RTL。一个更好的办法是使用一个自动门控删除工具来消除任何认为造成失误的可能。许多现代的综合工具通过正确的约束,现在都提供这项功能。例如,Synplify就有一个称为&Fix gated clocks&选项,就是用于自动地从时钟线上将门控操作删除,并将其移动到数据路径上。我们来看下面这个代码示例:
module clockstest(
output reg oDat,
input iClk,iEnable,
input iDat);
wire gated_clock=iClk&iE
always @ (posedge gated_clock)
在上面的代码中,系统时钟被一个使能信号门控产生一个门控时钟。这个门控时钟被用于驱动触发器oDat,而oDat用于寄存器输入iDat。如果没有启用&fixing the clock gating&选项,那么综合工具将会直接实现逻辑功能,如图6-17所示。
图6-17:直接时钟门控
图6-17的逻辑实现中,在时钟线上放置了门控操作。那么设计中现在有了两个时钟域,必须分别对它们进行约束,而且必须分别将它们布局到时钟资源。但是,如果启动了时钟门控删除,这个逻辑门就会比较容易地被移动到数据路径上,如图6-18所示。
图6-18:时钟门控删除
现在大部分逻辑器件里逻辑单元都提供了一个时钟使能输入,有了该使能输入就可以不使用本方案。然而,如果一个特定的技术并未提供触发器时钟使能,那么只能使用本技术来删除时钟门控,只是这样就将会在数据路径上增加延时。
6.3要点总结
l& 时钟同步问题通常是不可复现的问题,并且会给FPGA设计带来可靠性问题。
l& 亚稳态会给FPGA带来灾难性故障。
l& 相位控制技术在一个时钟频率是另外一个的数倍且其中一个时钟可以由内部PLL或者DLL控制的时候使用。
l& 打两拍技术可用于在异步时钟域之间同步单比特信号。
l& 在打两拍同步器中,时序分析应该忽略第一个触发器,同时要确保两个同步触发器之间的延时最小。
l& FIFO用于在两个异步时钟域之间传递多比特信号。
l& 格雷码用于在两个异步时钟域之间传递计数值数据,而且多用在FIFO内部。
l& 同步寄存器应该在功能模块外面独立分区。
l& 如果可能,请尽量不要使用时钟门控。若必须使用,请将所有的门控时钟放置在一个专门的时钟模块中,并与其它功能模块隔离。
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
&&&&&&有[ 5 ]名读者喜欢此文
阅读(2361)&&
评论是对思考最好的总结…
你还可以输入1000字
图片过大了,编辑状态下,右键图片属性,把宽度改成500就行
这本书早有人翻译过了,网上应该找得到的
是啊,网站编辑能否帮帮忙?
--- 现有 6 个主题,共 1 页 ---
转发到我的博客
评论&&的“【博客大赛】高级FPGA设计译文:第六章 时钟域”
第六章时钟域有一个有趣的现象,众多数字设计特别是与FPGA设计相关的教科书都特别强调整个设计最好采用唯一的时钟域。换句话说,只有一个独立的网络可以驱动一个设计中所有触发器的时钟端口。虽然这样可以简化时序分析以及减少很多与多时钟域有关的问题,但是由于FPG**外各种系统限制,只使用一个时钟常常又不现实...
你还可以输入30000字
同时评论给&coyoo
人无信不立
zcz2004&&14:45 06-06
alice_zhou&&17:37 05-31
coyoo&&08:44 05-24
人工生命&&18:58 05-23
寻觅虚无&&08:45 05-16
成员236名创建者:
成员337名创建者:
成员241名创建者:
-- Use of this website is subject to its terms of use.
京ICP备号-4 |
京公网安备37 |
新版社区已上线,旧版论坛、博客将停用
1、为防数据丢失,旧版论坛、博客不再接受发帖;
2、老用户只需重设密码,即可直接登录新平台;
3、新版博客将于8月底完美归来,敬请期待;
4、全新论坛、问答,体验升级、手机阅读更方便。}

我要回帖

更多关于 自动门故障 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信