当前位置:首页 > 单片机 > 单片机
1 引言
    现代控制系统中控制对象可能是复杂、分散的,而且往往是并行、独立工作的,但整体上它们是相互关联的有机组合。因此,控制信号的时序逻辑则要求更加精确。CPLD单片机为控制系统提供了技术支持,由CPLD和单片机组成的多机系统具有逻辑控制方便,时序精确,并行工作,人机接口友好等优点。因此,本文提出了一种基于CPLD与单片机控制的多路精确延时控制系统的设计方案。


2 设计指标与系统原理
2.1 设计指标
   
输出多路脉宽为10 ms正脉冲信号;
    脉冲输出时间独立调节、显示;
    时间调整范围与精度为微秒级的调整范围为l~199μs,调节精度为lμs;毫秒级的调整范围为1~199 ms,调整精度为1 ms;
    提供计时基准信号和工作状态提示声音;
    9 V电池供电。
2.2 系统设计原理
2.2.1 系统时钟
   
本系统设计由CPLD和多个单片机组成,CPLD对24 MHz高精度一体化晶体振荡器二分频得到多路同步时钟信号作为多个单片机的系统时钟,并由各个单片机外脉冲信号引脚XTAL2注入,二分频确保信号的占空比为50%,满足单片机时钟脉冲信号高低电平持续时间大于20 ns和最高脉冲频率为12 MHz的要求,同时也提高系统的可靠性。5l系列单片机采用定时控制方式,具有固定的机器周期,1个机器周期共有12个振荡脉冲周期,则机器周期是振荡脉冲的12分频。本系统采用12 MHz振荡脉冲频率,1个固定机器周期为1μs,因此能保证设计指标所要求的最高控制精度。
2.2.2 同步计时启动信号
   
本系统设计由外部按键提供启动信号,由于机械接触点的弹性及电压突跳等原因,按键存在抖动效应,为保证按键准确识别,本系统设计采用软件去抖动,再经单片机引脚输出无电压毛刺的稳定启动信号,再经CPLD变换后,可提供多路同步计时启动信号。
2.2.3 输出信号
   
本系统设计采用10 ms单脉冲信号作为各模块单元控制输出信号,其输出形式可根据需要通过软件调整,并保证系统输出信号的时序与逻辑关系。
2.2.4 系统时序
   
系统时序图如图1所示,在计时脉冲的驱动下,按键信号经去抖动变换、CPLD逻辑同步后形成计时启动信号(0一n),以计时基准脉冲的前沿为计时起点,经设定延时后,系统输出相应的输出信号,其延时时间可独立调整,信号输出形式可由软件编程设置。图l采用单一正脉冲作为输出信号。

2.2.5 系统原理框图
   
电源稳压单元实现系统5 V电源的稳压与滤波。单片机采用外部系统时钟。主控单片机CPUO完成按键检测、计时基准信号输出和系统提示声音输出等功能。NO.1~N0.n单元完成时间调整与显示、μs/ms(微秒/毫秒)变换和信号输出等功能,CPLD完成时钟2分频、同步计时脉冲输出和计时启动信号同步输出功能。图2为多路精确延时控制系统原理框图。

3 硬件电路设计
3.1 主控单元
   
每个系统都由独立的主控单元组成,如图3所示。主控单元由电压、CPUO和CPLD同步控制模块等组成。电压模块完成由可充电电池电压到稳定的5 V系统电源变换与滤波。CPUO单元模块选用ATMEL公司51系列单片机AT89S52A。AT89S52是低功耗、高性能CMOS 8位微控制器,具有8 KB在系统可编程Flash存储器、256字节的随机存取数据存储器(RAM)、32个外部双向输入/输出(I/O)端口、5个中断优先级2层中断嵌套中断、2个16位可编程定时计数器、2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器,兼容标准MCS一5l指令系统。CPUO模块完成按键信号检测,工作状态提示音输出,计时基准信号输出等功能。CPLD同步控制模块采用ALTRA公司EPM7032SLC44为控制核心。EPM7032SLC44是MAX7000 CPLD,是基于先进的多阵列矩阵(MAX)架构,采用先进的CMOS制造工艺,提供从32到512个宏单元的密度范围,速度达3.5 ns的引脚到引脚延迟。支持在系统可编程能力(ISP),可以在现场进行重配置。CPLD同步控制单元完成时钟分频与同步,按键信号同步等功能,ProKram插座是CPLD的编程接口。

3.2 输出控制单元
   
每个系统由n(本系统设计中n=9)个输出控制单元组成,这n个单元输出控制独立并行工作,如图4所示。N0.1~N0.n以ATMEL公司5l系列单片机AT89C2051为核心。AT89C205l是低功耗、高性能CMOS 8位单片机,具有15个双向输入/输出(I/O)端口、片内含2 K字节的可反复擦写的只读Flash程序存储器和128字节的随机存取数据存储器(RAM);采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS一5l指令系统。输出控制单元(NO.1~NO.n)并行工作,完成延时时间设置、μs/ms变换设置、控制信号输出和延时显示等功能,延时时间显示通过单片机串口实现,由3片串/并变换器件74LSl64驱动3个共阳数码管。

4 系统软件设计
   
本系统软件设计包括CPUO单元、NO.1~NO.n输出单元及CPLD单元程序设计。由于对时间要求严格,采用汇编语言编写,信号输出由中断程序完成,由于中断响应过程、现场保护以及中断后必要的设置条件检测需要时间,所以软件必须通过容余指令(比如NOP)的延时,可保证counter0输出和控制信号延时起点在同一时刻。
    CPU0单元程序流程如图5所示。CPU0主程序完成系统初始化、按键检测、去抖动信号输出和工作状态提示音输出等工作,中断服务程序计时基准信号counterO输出。输出控制单元NO.1一NO.n程序流程如图6所示,各单元主程序完成μs/ms设置检测,延时设置读取,延时时间显示,中断程序完成控制信号输出功能。CPLD程序采用VHDL语言编写,采用QHalftusⅡ软件编译仿真。

5 结语
   
该系统设计可应用于电容组(9只)放电控制系统,在放电电子开关控制端、负载端测量以及微秒级延时范围内,延时误差小于O.1μs,毫秒级延时范围内,延时误差小于50μs。实际测试显示,系统实现了设计要求的调整精度。基于单片机+CPLD的多路精确延时控制系统充分利用单片机和CPLD的各自特点,实现主要设计指标。实际应用证明,该系统能够完全满足时序逻辑要求中严格控制系统的控制需求。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

摘要:基于DSP和CPLD设计了CAN一1553B网关,选择了1553B总线作为电机控制系统的主总线,其主要用于操作系统与子控制系统之间的通信。为了更好地完成各节点之间的通信,采用CAN总线作为子系统总线,构建基于CAN...

关键字: 电机控制网络 1553B总线 CPLD

FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服...

关键字: FPGA ASIC CPLD

摘要:针对传统基于单片机设计的出租车计费器系统的诸多不足,提出了一种利用VHDL设计的基于CPLD的出租车计费器系统的设计方案。该方案模拟了出租车的启动、停止、暂停、换挡等功能,并用动态扫描电路显示出租车所走的里程及其所...

关键字: VHDL CPLD 出租车计费器 QuartusII

数字集成电路有两种类型:ASIC和FPGA(现场可编程门阵列)。专用集成电路(ASIC)有一个预先定义的特定硬件功能,在生产后不能重新编程。但FPGA可以在制造后可无限编程。

关键字: FPGA CPLD Intel

为增进大家对功耗的了解程度,本文将对CPLD中的降低功耗的技术予以介绍。

关键字: 功耗 指数 CPLD

我们七月份的活动内容为:基于单片机的自动浇花系统,经过网友后台留言建议和调研,最终定下来咱们的自动浇花系统大概由如下功能模块组成: LED指示灯 土壤干燥程度指示; 比如可以绿色代表正常,红色代表缺水状态; 普通的单色L...

关键字: 自动浇花系统 基于单片机 功能模块

我们六月份的活动题目为:基于单片机的智能风扇,经过网友后台留言建议和调研,最终定下来咱们的智能风扇选用如下功能模块组成: PCB线路板采用核心板+底板实现 核心板:排针引脚间距为2.54mm,2排,双排间距为2.54mm...

关键字: 智能风扇 基于单片机 功能模块

在与传感器或者模块的总线进行通信的时候,常常需要使用到精确延时,一般我们会封装几个常用延时函数, 下面我们以STM32F103芯片为例,详细介绍一下STM32下一种精确延时函数的实现: 时钟树 下图中紫色的 to Cor...

关键字: STM32 函数 精确延时

  现在汽车上使用的电器越来越多,驾驶员需要手动操作的电器开关也越来越多,不但增加了驾驶员的负担,还影响了行车安全。本文以STM32F103VET6(以下简称STM32)芯片为控制核心,采用高性

关键字: 语音识别 汽车空调 汽车芯片 控制系统设计

进入21世纪,环境和能源危机日益突出。电动汽车作清洁、高效和可持续发展的交通工具,成为当今国际汽车行业发展的潮流和热点。目前,制约电动汽车推广的主要因素之一是充电

关键字: 充电器 控制系统设计 电动车 电源技术解析

单片机

21600 篇文章

关注

发布文章

编辑精选

技术子站

关闭