您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页有限状态机在中断控制器设计中的应用

有限状态机在中断控制器设计中的应用

来源:筏尚旅游网
・10・(总636)

文章编号:1003-5850(2007)09-0010-02

有限状态机在中断控制器设计中的应用2007年 

有限状态机在中断控制器设计中的应用

ApplicationofFinite-stateMachinetoInterruptControllerDesign

王 中1 爨 莹1,2

(西安石油大学 西安 710065)(西安电子科技大学 西安 710060)

【摘 要】80386EX的中断控制器82C59A不论设置为边缘触发方式还是电平触发方式,均要求维持中断输入信号的高电平至第一个INTA#的下降沿结束,否则将产生误中断输出。由于系统内部及外部中断源中断方式不同,不能完全满足对电平持续时间的要求。为避免产生误中断,应用Mealy型有限状态机基本原理,提出通过在CPU和中断控制器两者之间加入Mealy型有限状态机,将中断输入信号和时序信号结合起来,输出满足中断控制器对高电平时序要求的中断信号,从而从根本上解决因时序引起的误中断输出问题。使用CPLD实现了这个设计,通过模拟仿真及实际应用,进一步论证了方案的合理性和可行性。实践证明这种设计方案可以很好的解决因时序产生的中断误输出问题,提高了中断响应的效率,在高速运算及精密控制方面有明显的优势。【关键词】有限状态机,中断控制器,中断时序,复杂可编程逻辑器件

中图分类号:TP273

文献标识码:A

ABSTRACT Forbothedgeandlevel-triggeredinterrupts,ahighlevelmustbemaintainedontheIRlineuntilafterthefallingedgeofthefirstINTA#pulse.Aspuriousinterruptrequestisgeneratedifthisstipulationisnotmet.Onaccountofthedifferentinterruptwaybetweeninsideandoutsideofthesystem,itisincapableofadequatelyfulfilltheneed.Inordertoavoidthespuriousinterrupt,thisthesisapplywiththerationaleofMealymodelfinite-statemachinethataddingafinite-statemachinebetweenCPU

andtheinterruptcontroller,thehighlevelcouldachievetheacknowledgecyclerequirementoftheinterruptcontroller,andsolveradicallytheproblemofspuriousinterruptoutputonthebasisofacknowledgecycle.Thepaperparticularlydemonstratestherationalityandthefeasibilityoftheprojectbysimulation.Thepracticetestifiesthiskindofdesigncanbegoodtoresolvethespuriousinterruptproblem,enhancedtheinterruptresponseefficiency,hastheobviousadvantageinthehigh-speedoperationandtheprecisecontrol.KEYWORDS finite-statemachine,interruptcontroller,interruptacknowledgecycle,CPLD

1

2

  80386EX的中断控制单元(LCU)由主从两个82C59A中断控制芯片实现,82C59A可设置为电平触发方式或边缘触发方式,以满足不同中断源的中断方式。但不论82C59A设置为何种触发方式,在第一个INTA#(internalinterruptacknowledge)信号的下降沿结束前,必需维持高电平以使中断信号有效。高电平维持时间如无法满足将引起误中断输出问题。

的电平为高。如果没有这种约束机制,就将产生一个虚

假的中断。

1 问题的提出

当82C59A的IR0~IR7中断申请输入端有一个或多个出现高电平时,表明有外部设备提出中断申请,82C59A在接收中断申请、分辨优先级的同时,向CPU发出中断申请INT信号。在CPU处于中断允许的情况下,收到INT信号后向82C59A发出中断响应INTA#信号,作为应答。

在CPU中断响应信号INTA#(internalinterruptacknowledge)的下降沿结束前,必须维持中断输入端

从图1中可以看出,合法的中断电平(IR(Valid))持续保持高电平,直至第一个INTA#信号下降沿结束。高电平不能维持到第一个INTA#信号下降沿前,将产生一个虚假的中段信号(IR(Spurious))。一个虚假的中断在任何中断接口上将产生与中断源相同的中断请求。然而,虚假的中断信号没有设置控制位。因此,中断服务程序必须检查服务记录表以确定是否为合法中断还是虚假中断。

*  2007-1-17收到,2007-07-16改回

** 基金项目:陕西省自然科学基金基础研究计划项目(2005E205)。

***王 中,男,1975年生,在读硕士,毕业于西安电子科技大学,研究方向:电子EDA设计,图形图像信息处理技术。 第20卷 第9期电脑开发与应用(总637)

・11・

2 系统的设计

2.1 有限状态机基本原理

有限状态机属于时序逻辑电路范畴的单元。主要功能是用来实现一个数字电路设计中的控制部分,是实现高频率高可靠逻辑控制的重要途径。有限状态机逻辑通常十分适用于可编程逻辑器件。通过恰当的VHDL描述和EDA工具的综合,一般可以生成性能极优的有限状态机,使其在执行时间、运行速度和占用资源等方面优于由CPU实现的设计方案。

有限状态机中的每一个状态对应于控制单元的一个控制步;有限状态机中的次态和输出对应于控制单元中与每一个控制步有关的转移条件。因此在实际应用中,有限状态机主要有以下两种类型:

Moore型有限状态机:该有限状态机的输出信号仅与当前状态有关,既可以把Moore型有限状态机的输出看成是当前状态的函数[2]。

Mealy型有限状态机:该有限状态机的输出信号不仅与当前状态有关,还与所有的输入信号有关,既可以把Mealy有限状态机的输出看成是当前状态和所有输入信号的函数。

Mealy型有限状态机的描述包括状态变量(用以指明状态机所处的状态)、时钟、状态转移的描述、输出的描述等,可以将时钟信号与输入信号进行编码,在针对每种编码给出状态转移和输出的描述。

2.2 解决思路

虚假中断的产生是因为中断源的多样性,很难保证对中断高电平的时序要求,将时序和中断电平联系起来,保证中断电平的持续时间,可以解决此问题。82C59A无法将时序与中断电平结合,应加入新的处理机制。

在80386EX及82C59A之间加入一个Mealy型有限状态机,在输入端将时序信号与中断输入信号结合起来进行编码,由二者结合编码给出输出信号。这样可以控制中断信号的时序,将时序信号和外部中断请求信号结合起来,保证中断电平的时间,消除误输出,保证中断的正常处理。2.3 设计方案

Mealy型有限状态机的实现通常采用PLD。复杂可编程逻辑器件CPLD(ComplexProgrammab1e

集成度LogicDevice)具有体系结构和逻辑单元灵活、高以及适用范围宽等特点。兼容了PLD和通用门阵列

的优点,可实现较大规模的电路,编程也很灵活。

CPLD速度快,时延可预测(可预测的内部互联矩阵),基本单元是类似PAL的逻辑单元块,是PAL结构的扩展型。适合于EDA芯片设计的可编程验证。连续[2]

[1]

式布线结构决定时序延时是均匀的和可预测的。逻辑能力强而寄存器少,适用于控制密集型系统。

基于CPLD的特点及尽可能简单的实现的考虑,应用CPLD来实现Mealy型有限状态机。

以下是状态机设计的部分CUPL代码://输入输出脚定义

Pin1=CLK2;Pin2=MIO;Pin3=WR;Pin4=DC;Pin5=ADS;Pin6=A16;Pin7=A17;Pin8=A18;

Pin23=READY;Pin22=INTA;Pin21=CAS2;

Pin20=CAS1;Pin19=CAS0;Pin18=AR2;

Pinnode[25..27]=[q0..2];Pinnode[28..30]=[qq0..2];

Pinnode31=qqq;//中断管理逻辑定义

INTA=!(!MIO&!WR&!DC&!ADS);

AR2=!(q0#q1#q2);

[q0..2].ar=INTA&AR2; //q0、q1、q2的使能端为INTA和AR2的余

[q0..2].ck=CLK2; //q0、q1、q2的时钟端为CLK2

q0.t=′b′1;q1.t=q0;

q2.t=q0&q1;//同步串联计数器qqq.ck=!q2&q1;qqq.ar=′b′0;qqq.d=′b′1&!qqq;

READY=!(!q2&q1&qqq)&!(q2&q1&!qqq);

//IO管理逻辑

[qq0..2].ar=′b′0;

[qq0..2].ck=!q2&q1;qq0.d=A16;qq1.d=A17;qq2.d=A18;(下转第23页)

 第20卷 第9期电脑开发与应用(总9)

・23・

以向Web服务发送SOAP查询了。

WSDL语法规范定义了6大元素:定义、类型、消息、端口类型、绑定和服务。定义声明了文档所使用的多个命名空间,类型描述了由服务提供的

数据类型:传入Web服务请求的参数和响应。消息定义了Web服务提供者和消费者之间交换的数据,每个消息都有唯一的名。端口类型定义了一个通信传输的消息元素。绑定描述了通信端口的操作规则,这里定义了SOAP这一重要的传输协议。而服务标示Web服务的位置。WSDL定义了Web服务和消息的唯一。4.5 集成数据库

在不同的数据库上,建立相应的WebService。利用ADO.NET中的数据提供者,建立数据库的连接程序。统一以DataSet缓存和传递数据,执行对数据库的检索、插入、更新等一些数据操作,并向客户端提供数据库的操作方法。这样使得WebService不必理会不同数据库的差异,应用程序对数据库的操作就像是在使用同一个数据库。

(上接第11页)

5 结 论

WebService是可以通过Internet访问的应用逻辑单元,是基于组件的分布式技术在Internet上的扩展,具有很强的平台适应能力,可以实现对多个同构或异构的分布式数据源进行检索。而.NET平台支持对Web服务提供者和Web服务消费者应用的开发。随着Web服务性能的改善,安全性的提高,Web服务必将得到广泛应用。

参考文献

[1][2][3][4]

潘群华.分布式数据库系统中数据一致性维护方法[J].计算机工程,2002,28(9):251-252.

安 蓓,赵 政.WebService在分布式数据库查询中的应用[J].微机处理,2004,5:16-17.

StephenC.Perry,肖 斌,王小振译.CoreC#and.NET[M].北京:机械工业出版社,2006.高 月,胡 敏.基于.NET的WebService技术的分布式异构数据库的集成[J].现代计算机,2004,7.11-12.

[5]

RaghuRamakrishnan,JohannesGehrke.数据库管理系统原理与设计[M].北京:清华大学出版社,2004.

CAS0=qq0;CAS1=qq1;CAS2=qq2;

3 实例分析

图2 波形仿真图

ATV750是ATMEL公司生产的一种可擦除可编程逻辑器件,是新一代PLD(ProgrammableLogicDevice)。ATV750具有10个输出逻辑宏单元OLMC(OutputLogicMacrocell),每个OLMC有两个或门,每个或门带一半乘积项。可编程与门阵列共有84个输入变量。ATV750具有很高的性价比,非常适合实现消除误中断输出的设计。

使用ATV750实现80386EX在两片82C59A级联的情况下来响应外部中断请求信号进,产生READY信号(送往80386EX)和INTA信号(送往外部的82C59A)来满足两者在中断时的时序要求。此设计在MAXPLUSⅡ中运行得到的波形仿真结果如图2所示。

由上图可以看出,信号qqq一直维持高电平到INTA#信号下降沿结束前,这样有效的防止了因时序产生的中断误输出的问题。在实际应用中,从未出现误输出的问题,证明了设计的可靠性和合理性。4 结 论

解释了82C59A中断控制器因时序无法满足而产生误中断的原因,讨论了Mealy型有限状态机原理,提出采用有限状态机解决中断控制器误中断输出的解决方案,给出了有限状态机的描述,并利用ATV750实现了这个设计。这种设计可以很好的消除误中断,提高了中断响应的效率,可扩展性好,在高速运算和控制方面优势明显。

参考文献

[1][2][3]

潘 松,王国栋.VHDL实用教程[M].成都:电子科技大学出版社,2000.

姜立冬.VHDL语言程序设计及应用[M].北京:北京邮电大学出版社,2004.

俞莉琼,付宇卓.有限状态机的Verilog设计与研究[J].微电子学与计算机,2004(11):146-157.

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务