侵权投诉
订阅
纠错
加入自媒体

数字电路设计盲点实例与对策分析

  【利用CPLD设计的Port执行位操作指令时,机器发生误动作】

  ※现象

  利用PLD设计如图11-1所示的Micro Computer外部扩充I/O Port,PLD的内部电路是用VHDL编写,List11-1是部份程序摘要,图11-2是是根据该程序合成的电路,Output Port是用Clock同步方式设计,相当于第6行到第6行的Process叙述,同步Clock主要是应用于CPU周边电路的Output System,因此信号的名称又称为CLK。该Output Port被设计成可作Lead Back,相当于第20行到第41行的Process叙述。

 

  

  

 

  上述设计主要是针对机器的控制器,因此输出入信号的名称直接使用机器的驱动器(Actuator)名称,例如第9行的DCM1CW_fb信号名称,是使DC马达初始朝时钟方向(CW)旋转的信号。不过实际上电路动作时,DC马达初始动作却经常发生问题(Trouble)。

  ※原因分析

  主要原因是利用CPLD制成的Lead Back电路的程序叙述有瑕疵(Bug)。具体而言在第9行Output Port的Data位0,分配有DCM1CW_fb信号,然而在第31行Input Port的的DATA的位0,却又分配DCM1CCW_fb信号,也就是说Output Port与Inp ut Port的位0与位1信号名称分配不一致,所以当MicroComputer执行位操作指令时便发生问题,因为位操作指令会从指定的地址(Address)将数据读入Resistor,接着针对Resistor的数据将指定的位Set至指定值,之后便执行「将Resistor的数据写入原地址」的动作,亦即进行与Memory的位操作相同的Lead Modify Light动作 。

  ※对策

  最根本的对策是修改Source Code,将第31行的DCM1CW_fb与DCM1CCW_fb两者对调使动作恢复正常。为了防范未然HDL(Hardware Description Language)的叙述方式尽可能单纯化,具体实例如下:

  信号名称不要太复杂

  以上述的例子而言尽量避免使用与机器组件相关的名称,改用地址与位等单纯的信号名称。

  尽量避免将std_logic连结代入std_logic_vector,不得以时则用元方式替代,就可避免发生上述的错误。

  【Clock同步式的Latch经常发生怪异值,如何Latch】

  ※现象

  List12-1是利用ABEL设计PLD的程序产生Clock同步式Latch的实例,理论上根据该List应该可以合成如图12-1所示的电路,然而实际上电路却不动作。

 

  

  

 

  ※原因分析

  List12-1的叙述中第19行代入式右边Q0信号名称却未添加扩充子,造成未明示到底是Register Feed Back或是Pin Feed Back的困扰。由于程序编写器(Compi le)解释成Pin Feed Back,依此合成图12-1的电路是造成问题的主要原因。List12-2是Therinks公司的WebPackISE,经过程序编写(Compile)时的部份Report File,由该List可知Q0.D的代入式右边使用Q0.PIN。在图12-2的电路为0(L Level)时,Resistor Feed Back与Pin Feed Back的值不一致,因此即使LE变成1(H Level),Resistor的值无法被Latch,因为随着与Q0连接的外部电路电压Level变化,Resistor的值也跟着改变。

 

  

  List12-2 Therinks公司的WebPackISE经过

 

  

 

  ※对策

  正确的叙述方法如List12-3所示,添加扩充子明示Resistor Feed Back,具体内容是在第19行代入式右边Q0的信号名称,「.fb」就是该信号名称。图12-2是根据该程序合成的电路,List12-4是用WebPackISE将List12-3 Compile时的部份Re port File,由该List可知Q0.D的代入式右边使用Q0.Q,所谓的.Q是明示Resistor Feed Back的扩充子,这种方式经常出现在ABEL的Source Code。.Q与.fb最大差异是.Q祇能用于Resistor Output的Feed Back,而.fb却可用Combina tion Output的Feed Back,所谓的Combination是指组合理论电路的输(Output),例如List12-1的第12行的istype’reg’虽然是表示Resistor Output,然而Combination Output的场合却变成istype’com’

 

  

 

  

 

<上一页  1  2  3  4  5  6  7  8  下一页>  余下全文
声明: 本网站所刊载信息,不代表OFweek观点。刊用本站稿件,务经书面授权。未经授权禁止转载、摘编、复制、翻译及建立镜像,违者将依法追究法律责任。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

    电子工程 猎头职位 更多
    扫码关注公众号
    OFweek电子工程网
    获取更多精彩内容
    文章纠错
    x
    *文字标题:
    *纠错内容:
    联系邮箱:
    *验 证 码:

    粤公网安备 44030502002758号