基于CPLD器件的高速输入输出控制电路的制作方法

文档序号:14314079阅读:812来源:国知局
基于CPLD器件的高速输入输出控制电路的制作方法

本实用新型属于电子技术领域,具体涉及一种基于CPLD器件的高速输入输出控制电路。



背景技术:

现有输入输出控制系统中,通常使用处理器如CPU直接控制AD转换、开入信号的输入以及开出信号输出。这会浪费大量的CPU资源和时间,导致CPU的工作效率不高,进而拖累整个控制系统的反应速度。

专利一种适用于分布式电源并网的综合监测管理终端(公告日2015.04.22,公告号CN204290496U)公开了一种分布式电源并网的综合监测管理终端,包括电源模块,主CPU系统、MMI模块、I/O模块、AD采样模块、电量采集模块和电流电压信号前端处理模块,其中主CPU系统的接收端通过数据总线分别连接AD采样模块、电量采集模块,主CPU系统的控制端经I/O总线连接I/O模块。该实用新型中,通过CPU来直接控制AD采样、I/O输入输出模块,需要消耗大量的CPU资源,CPU的工作效率较低。

因此急需一种令CPU不需要控制AD转换、开入信号输入、开出信号输出,提高CPU工作效率的高速输入输出控制电路。



技术实现要素:

为了解决上述技术问题,本实用新型提供一种基于CPLD器件的高速输入输出控制电路,该高速输入输出控制电路通过CPLD的使用,令CPU无需直接控制AD转换、开入信号输入、开出信号输出,节约了CPU的资源和时间,提高了CPU及整个输入输出控制电路的工作效率。

本实用新型提供了如下的技术方案:

一种基于CPLD器件的高速输入输出控制电路,包括时钟、CPLD、CPU、存储器和AD转换电路,时钟通过缓冲器连接CPU的时钟输入端和CPLD的输入端,用于确保CPU与CPLD同步并定时触发中断;CPLD分别连接CPU和AD转换电路,CPLD接收CPU的信号,控制AD转换电路并将AD转换电路获得的AD转换数据传给CPU;存储器与CPU连接,用于存储并输出CPU的数据。

优选的,CPLD分别连接开入信号输入模块和开出信号输出模块;CPLD包括片选使能单元、缓冲区、AD控制模块和AD读取模块;开入信号输入模块用于输入开入信号;开出信号输出模块用于输出开出信号;片选使能单元输入端与CPU的输出端相连,片选使能单元的输出端分别连接开入信号输入模块、开出信号输出模块和AD控制模块;片选使能单元根据CPU输出的读开入、写开出和AD转换要求信号控制开入信号输入模块、开出信号输出模块、AD控制模块的开启和关闭;缓冲区包括开入缓冲区和开出缓冲区,开入缓冲区存储CPU输出读开入要求信号时开入信号输入模块的输入数据,输入数据可被CPU读取;开出缓冲区存储CPU输出写开出要求信号时CPU输出的写开出数据;写开出数据输出到开出信号输出模块;AD控制模块与AD转换电路输入端相连,用于控制AD转换电路的开启和关闭;AD读取模块与AD转换电路输出端相连,用于读取AD转换电路的数据并将AD转换电路的数据传给缓冲区。

优选的,CPLD还连接液晶人机界面。

优选的,CPU通过RS485接口连接通讯设备。

优选的,开出信号输出模块包括74273数据锁存器。

优选的,还包括16位并行数据总线,CPLD通过16位并行数据总线与开入信号输入模块和开出信号输出模块相连。

优选的,存储器为2片SDRAM存储器。

本实用新型的有益效果是:

1、本实用新型电路设计简单,成本较低。

2、本实用新型通过CPLD的使用,用CPLD代替CPU执行AD转换、开入信号输入、开出信号输出,节约了CPU的资源和时间,提高了CPU的工作效率。

3、本实用新型在同等的CPU条件下整个输入输出控制电路设备的响应速度和精度明显提高,提高了产品的用户体验。

4、本实用新型采用16位并行数据总线连接开入信号输入模块和开出信号输出模块,提高了开入信号输入和开出信号输出的速度。

附图说明

附图用来提供对本实用新型的进一步理解,并且构成说明书的一部分,与本实用新型的实施例一起用于解释本实用新型,并不构成对本实用新型的限制。在附图中:

图1是本实用新型结构框图;

图2是本实用新型片选使能单元结构图;

图3是本实用新型AD控制模块结构图;

图4是本实用新型AD读取模块结构图;

图5是本实用新型开入信号输入模块结构图;

图6是本实用新型开出信号输出模块结构图。

图中标记为:1、时钟;2、CPLD;3、CPU;4、存储器;5、AD转换电路;6、缓冲器;7、开入信号输入模块;8、开出信号输出模块;9、片选使能单元;10、缓冲区;11、AD控制模块;12、AD读取模块;13、液晶人机界面;14、通讯设备。

具体实施方式

下面结合附图描述本实用新型的优选实施方式。

如图1所示,一种基于CPLD器件的高速输入输出控制电路,包括时钟1、CPLD2、CPU3、存储器4和AD转换电路5,时钟1通过缓冲器6连接CPU3的时钟输入端和CPLD2的输入端,用于确保CPU3与CPLD2同步并定时触发中断。

具体的,时钟1采用高精度的具有温补的时钟芯片,缓冲器6为多路缓冲器。存储器4为2片SDRAM存储器。时钟1输出经过多路缓冲器后分别接入到CPU和CPLD的时钟输入端,保证两个芯片时钟偏差一致和同相位,AD采样间隔的时间由CPU3内部的时钟定时器实现。根据外部的时钟1输入时钟周期数达到定时器的设置值,触发最高级别的中断,该中断定义为采样中断,整个电路在这个中断中处理AD数据的读取和CPLD控制。

CPLD2分别连接CPU3和AD转换电路5,CPLD2接收CPU3的信号,控制AD转换电路5并将AD转换电路5获得的AD转换数据传给CPU3;存储器4与CPU3连接,用于存储并输出CPU3的数据。

CPLD2通过16位并行数据总线与开入信号输入模块7和开出信号输出模块8相连。CPLD2包括片选使能单元9、缓冲区10、AD控制模块11和AD读取模块12;开入信号输入模块7用于输入开入信号;开出信号输出模块8用于输出开出信号;片选使能单元9输入端与CPU3的输出端相连,片选使能单元9的输出端分别连接开入信号输入模块7、开出信号输出模块8和AD控制模块11;片选使能单元9根据CPU3输出的读开入、写开出和AD转换要求信号控制开入信号输入模块7、开出信号输出模块8、AD控制模块11的开启和关闭;缓冲区10包括开入缓冲区和开出缓冲区,开入缓冲区存储CPU3输出读开入要求信号时开入信号输入模块7的输入数据,输入数据可被CPU3读取;开出缓冲区存储CPU3输出写开出要求信号时CPU3输出的写开出数据;写开出数据输出到开出信号输出模块8;AD控制模块11与AD转换电路5输入端相连,用于控制AD转换电路5的开启和关闭;AD读取模块12与AD转换电路5输出端相连,用于读取AD转换电路5的数据并将AD转换电路的数据传给缓冲区10。

具体的,CPLD2还连接液晶人机界面13。

具体的,CPU3通过RS485接口连接通讯设备14。

具体的,开出信号输出模块8采用了74273数据锁存器。

具体工作过程如下:如图2所示,CPLD2内部逻辑电路由CPU3的开入信号输入、开出信号输出、AD芯片控制的三个片选来控制数据的使能端即片选使能单元9,当三个片选要求有一个由有读取或写入的请求时,开放数据通道。

如图3所示,AD控制过程:在CPU3首先向CPLD2内指定的地址写入一个自定义的固定的值,表示CPU下一步的目的。CPU3将片选和写有效的信号送给CPLD2,CPLD2在收到这两个信号时触发启动AD转换电路5(启动AD转换的逻辑功能块由CPLD内部的逻辑电路实现)。根据AD转换电路5的芯片的要求,先使AD芯片的CS脚有效,保持一定时间后置AD启动的输入引脚为有效电平。在AD自动转换后,AD芯片输出转换完成的中断信号,这个中断信号直接送给CPLD2,通知CPLD2读取有效的AD数据到CPLD2中的缓冲区10指定的位置。当CPU3向CPLD2读取数据时,读写AD器件的片选打开数据缓冲通道,读取控制的使能端ad_rd信号控制缓冲区的开放,CPU3就可以读取CPLD2中的AD缓冲数据。

如图4所示,每个读写使能的状态输出是由片选和写缓冲的关键位的状态经译码而成的,所以同一个片选可以控制不同的读写状态。

如图5所示,CPLD2读取外部开入逻辑图如下:在CPU3给出片选和读开入的信号时,缓冲区10开放,然后可以直接从总线上读走16位数据,也就是16个开入。在开入信号送入缓冲区10前,开入15和开入16可以设置为高低电平触发或脉冲触发,实现外部脉冲计数。每个开入量的防抖时间(开入防抖时间可以减少开入量误报)可以在CPLD2里设置,这样软件功能用硬件实现,可以减少CPU3的负担并增加设备的可靠性。

如图6所示,CPLD2写外部开出状态时,首先由CPU3送出out_cs片选信号和out_wr信号,打开缓冲区10并使它的状态置为输出状态,开出数据写入缓冲区10后经过一个时钟的延时由74273数据锁存器的锁存输出。并行数据的总线可以实现16个出口同时送出从而提高装置出口的反应速度。

以上所述仅为本实用新型的优选实施例而已,并不用于限制本实用新型,尽管参照前述实施例对本实用新型进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本实用新型的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本实用新型的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1