单片机及CPLD在多间隔脉冲产生电路中的应用

发布者:mancozc最新更新时间:2014-01-22 来源: dqjsw关键字:单片机  CPLD  间隔脉冲 手机看文章 扫描二维码
随时随地手机看文章

  单片机具有逻辑控制功能灵活的特点,复杂可编程逻辑器件(CPLD)具有集成度高、可靠性好及工作速度快的优点,基于二者各自的优点,设计了一种脉宽固定为1 μs,周期可调的单头、双头、三头三路脉冲产生电路,该脉冲发生器可实现在脉冲不间断的情况下改变周期,其波形要求精度高、漂移小、抗干扰能力强。

  脉冲信号发生电路在电路实验和设备检测等工程中具有十分广泛的用途,例如某测试系统,需要给被测产品加入可调的多间隔脉冲激励信号,以使被测产品能按照要求工作在不同的状态。随着各种数字设备和工业标准持续、快速的发展以及市场对缩短产品开发周期的客观要求,脉冲信号发生电路已成为信号源市场的一大主流,其市场份额在迅速增长;同时,目前国内在测试中使用的脉冲发生电路几乎全部依赖进口。因此,研制出具有实用价值的脉冲发生电路,对满足国内、国际市场的需求具有重要意义。

  1 系统总体结构

  1.1 系统设计思想

  系统采用模块化设计,单片机AT89S52和CPLD是整个系统的CPU,控制系统的协调。首先通过4x4按键模块设置系统脉冲信号的周期,选择脉冲输出方式,并给出状态指示;CPLD接收输入信号后与单片机进行数据通信,并将脉冲信号周期通过LCD1602显示,然后经过单片机和CPLD的数据处理,产生所需的脉冲信号,由CPLD输出。其中状态指示由3个不同颜色(红、绿、黄)的发光二极管给出,其电平由CPLD的I/0口输出;4x4按键模块键盘的前10个键位为数字0~9、第11个为小数点、第12到第14个为脉冲选择键A1,A2,A3用于选择输出方式(单头、双头、三头),另加一个确认键。

图1 系统原理框图

  1.2 AT89S52单片机简介

  AT89S52是一种低功耗、高性能的8位微控制器,具有8 k字节在系统可编程Flash存储器。AT89S52使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,AT89S52拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。

  AT89S52具有以下标准功能:8 k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,3个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0 Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

  1.3 EPM7128SLC84的特点

  EPM7128SLC84是Altera公司开发的CPLD器件,属于MAX 7000S系列。在高集成度PLD器件中,MAX7000S系列是速度最快的类型之一,它内部为第二代MAX(MultipleArray Matrix)结构。除了集成度高的优点外,器件内部单元(cell)之间的连接采用连续的金属线,这种互连结构为单元之间提供了固定的、短时延的信号通道,从而消除了内部延时的难以预测性,并有效地提高了芯片资源的利用效率。

  EPM7128SLC84是基于EEPROM的可编程CMOS器件,其主要性能指标为:外部引脚数目为84,内部等效门数为2 500左右;内部有128个逻辑宏单元(Maerocell),每16个宏单元组成一个逻辑阵列块(LAB),每个逻辑阵列块对应8个I/O引脚;除通用I/O引脚外,EPM7128SLC84有两个全局时钟、一个全局使能和一个全局清零输入;器件最高计数频率为151.5 MHz,内部互连延时为1ns.

  EPM7128SLC84的主要特点为:支持通过JTAG口进行5 V电压的在片编程;宏单元的工作速率和功耗可编程选择,用户可决定每一个宏单元的工作模式--选择一般模式或是节能模式(功耗降低50%或更多,但延时加大);宏单元的触发器有独立的清零、预置、时钟和时钟使能控制,可通过编程进行设置;器件的引脚输出可设置,有以下3种选项:1)多电平I/O接口,通过硬件设置可使引脚输出支持5 V或3.3 V两种电平;2)输出回转速率(Slew-Rate)控制,用户可决定每一I/O引脚的输出回转速率,大回转速率缩小了信号通道的延时,但有可能加大瞬态躁声;3)集电极开路选择。具有一个完善、友好的软件环境支持器件开发,Ahera公司的EDA软件MAX+PlusⅡ集成了设计文件编辑、编译、仿真、时序分析和器件编程等各项功能,并能直接控制器件内部宏单元或输出引脚的设置;Altera的硬件描述语言AHDL与CPLD硬件结合紧密,并且提供优化的Megafunetion函数库,支持灵活地描述各类常用复杂电路,如计数器、锁相环等。
 

  2 硬件电路设计

  2.1 单片机电路设计

  单片机应用系统工作时,除了进入系统正常的初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键以重新启动。所以系统的复位电路必须准确、可靠地工作。单片机的复位都是靠外部电路实现的,在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟振荡脉冲(即2个机器周期)以上的高电平,单片机便实现初始化状态复位。为了保证应用系统可靠地复位,系统采用按键电平复位方式。

  单片机AT89S52的P1口与液晶显示模块LCD1602的数据端口相连,P3.2控制液晶模块的读写;对比度调整端连接一个10 kΩ的可调电阻,用来调整液晶显示亮度。另外,单片机的P2口与CPLD的8个I/O口相连,以进行数据传输,其电路设计如图2所示。[page]

图2 单片机电路连接


  2.2 CPLD电路设计

  晶振是为处理器提供频率基准的元器件,属于系统不可或缺的一部分。通常分为有源晶振和无源晶振两个大类,无源晶振要求芯片内部有震荡器,并且其信号电压根据起振电路而定,允许不同的电压,但无源晶振通常信号质量和精度较差,需要精确的匹配外围电路,如需更换晶振要同时更换外围电路。有源晶振不需要芯片的内部振荡器,可以提供高精度的频率基准,信号质量也较无源晶振要好。

  EPM7128SLC84需要提供外部时钟信号,由于CPLD对时钟精度要求甚高,通过前面的分析可知有源晶振的通信质量和精度较无源晶振高,所以采用1.000 MHz的有源晶体振荡器,电路的输出端口与处理器EPM7128SLC84的GCKL1连接,其具体电路设计如图3所示。

图3 CPLD电路连接

  3 系统软件设计

  单片机采用AT89S52芯片,通过软件编程产生所要求的控制信号。主要的控制参数包括:信号周期、脉宽、分频电路的开始信号、地址发生器的复位信号。在MAX+PLUSⅡ开发环境中完成分频电路设计,可以省去大部分的中小规模集成电路和分离元件;使得电路具有集成度高、工作速度快、编程方便、价格低廉的显著优点。通过CPLD和数据预生成的信号实现方法,无需改变硬件电路,即可实现信号参数的任意调整;同时外围电路十分简单,为工程调试和应用带来了方便。其中波形仿真图如图4所示。

图4 波形仿真图

图4 波形仿真图

  4 结论

  所设计的脉冲信号发生器,充分利用了单片机及CPLD二者的优点,通过软件和硬件的结合,能够产生脉宽固定1μs,周期可调的单头、双头、三头脉冲,达到了设计要求,既可以作为普通脉冲信号源使用,也可以在一些特殊信号的条件下使用。

关键字:单片机  CPLD  间隔脉冲 引用地址:单片机及CPLD在多间隔脉冲产生电路中的应用

上一篇:防止多次试探密码的单片机密码锁设计方法
下一篇:单片机程序运行加密

推荐阅读最新更新时间:2024-03-16 13:34

51单片机—ADC0808—05—①
早晚也是闲着没事情做~~干脆就发点简单的东西,毕竟所谓的复杂就是一堆简单的堆出来的~~~究其根本,没有什么复杂的~ 毕竟ADC这个东西用的比较多,也很成熟,做出来的东西也是挺多的,所以这个东东就用两三个实验来叙述吧~ 先说一下ADC0808 这款A/D转换器的介绍: 1、ADC0808的简介 A/D转换器是一种能把输入模拟电压或者电流信息变成与其成正比的数字量信息的电路芯片。A/D转换器用于实现模拟量到数字量的转换。 ADC0808是典型的8通道模拟输入8位并行数字输出的逐次逼近式A/D转换器。该转换器采用COMS工艺,可以实现8路模拟信号的分时采集。片内有8路模拟选通开关,以及相应的通道地址锁存用译码电路。 1)ADC
[单片机]
51<font color='red'>单片机</font>—ADC0808—05—①
MCU到SOC,瑞萨力拓车载ADAS市场
    随着新能源汽车、无人驾驶技术的发展,以及消费者对舒适性、安全性需求的提升,各种安全控制系统如安全驾驶辅助系统、碰撞预测系统等将呈现集中发展并得到更为广泛的应用。从汽车电子细分市场来看,车载电子不再是“噱头”,而是脚踏实地,更加注重用户体验。   在车载芯片行业,瑞萨电子的MCU和SOC得到了众多汽车产品供应商以及整车厂的认可,广泛地被采用在比如车身电子控制系统、仪表盘、导航多媒体信息娱乐系统、底盘和安全系统、动力引擎控制系统,以及新能源汽车和ADAS相关应用之中。鉴于此,电子发烧友针对车载ADAS系统采访了瑞萨电子应用技术中心汽车电子部部长林志恩。       瑞萨电子应用技术中心汽车电子部部长林志恩表示,瑞萨电子的
[汽车电子]
基于SLH89F5162单片机的公交车语音报站系统
一、项目设计背景及概述 随着城市化的进展和经济的快速发展,城市“乘车难”、“行车难”的局面在加剧,很多城市建议人们出门乘坐公交车。但是在天气恶劣或视线不好的时候,乘客乘坐公交车的时候往往无法清楚的分辨到达的站牌,导致没有正常下车或错误下车,给出行带来不必要的麻烦。传统的报站方式是由售票人员进行人工报站,这个售票人员多的工作不仅需要负责售票工作,还要准确的为乘客报站,作为一个地区的公交车站行业,有一定的地方特色,他们报站时多采用地方口音,作为一个外地人有时候很难听懂报站,从而引起很多麻烦。 本系统设计的公交车语音报站系统,利用科大讯飞的语音软件对语音进行词组和句子划分,合成wav文件,然后装载到WT588D语音芯片里面,然后通过深联
[电源管理]
基于SLH89F5162<font color='red'>单片机</font>的公交车语音报站系统
PIC单片机内部寄存器信息汇总
配置字(__CONFIG): 1) 芯片的振荡模式选择。 2) 片内看门狗的启动。 3) 上电复位延时定时器PWRT的启用。 4) 低电压检测复位BOR模块的启用。 5) 代码保护。 __CONFIG_CP_OFF &_WDT_OFF &_BODEN_OFF &_PWRTE_ON &_XT_OSC &_WRT_OFF &_LVP_OFF &_CPD_OFF ; _CP_OFF 代码保护关闭 _WDT_OFF 看门狗关闭 _BODEN_OFF _PWRTE_ON 上电延时定时器打开 _XT_OSC XT振荡模式 _WRT_OFF
[单片机]
PIC<font color='red'>单片机</font>内部寄存器信息汇总
单片机VB6对汉字的处理
在DOS时代,拥有一个华丽的汉字菜单几乎是每个高档中文应用程序必须的包装。中文Windows操作系统的出现使得高级开发平台实现全中文的提示和界面非常容易和方便。在一般的应用程序中已经很少需要去专门考虑汉字处理的问题。 但是在许多工程控制和字符串处理的环境中,汉字字符的处理仍然有别于西文字符的处理,需要加以专门的考虑。 一、VB6对汉字处理的支持 对汉字处理,VB6主要是提供了一些输入法设置方面的支持。它提供了一个ImeMode属性和ImeStatus函数来确定和设置输入法的状态。而且此属性和方法只在VB6的东亚区版本中有效。 IMEStatus函数返回一个整数,用来指定当前Windows的输入法(IME)方式。
[单片机]
<font color='red'>单片机</font>VB6对汉字的处理
基于单片机控制的频率特征测试仪设计
1 引 言 频率特性是一个系统(或元件)对不同频率正弦输入信号的响应特性。如图1所示,被测系统输入幅值为Ar、角频率为ω的正弦信号,如果该系统是线性的,则其稳态输出也是正弦信号,频率ω不变,幅值为Ac,相角差为φ。改变ω可以得到一系列输入和输出数据。输出对输入的幅值比A(ω)=Ac/Ar与ω的关系曲线称为该系统的幅频特性,通常取20 lg A(ω)称为对数幅频特性。输出对输入的相角差φ(ω)与ω的关系曲线称为该系统的相频特性。幅频特性和相频特性综合称为频率特性,常用的是系统的开环频率特性即波特图。 一个系统的频率特征可通过频率特征测试仪来测定。频率特性测试仪也称扫频仪,用于测试被测网络的幅频特性。他可以测量被测网络的谐振
[应用]
基于51单片机的数字钟
//作者:中山董豪 时间:2010年 //功能:4位数码管可以显示 时分,月日,年份;万年历,整点报时,定时自动(或手动)关闭显示器,空闲模式工作省电 //硬件:2051单片机,P1.6到P1.0分别是 A到G,P1.7=DP,P3.5=D4,P3.4=D3,P3.1=D2,P3.0=D1,P3.7控制直流蜂鸣器(整点报时)。 //.2=0(改时间),P3.3=0(改状态),6Mhz晶振。 //使用说明:默认时间为 2010年1月1日,0点0分,状态1显示时分 //按P3.2为0,状态++,状态功能分别为 1:显示时间 2:显示月日 3:显示年 4:修改分钟 5:修改时钟 6:修改年 7:修改月 8:修改日 ; //用DP来表示
[单片机]
51单片机软件SPI初始化ILI9488-DPI模式程序
大家好,最近的项目用到ILI9488这个芯片的屏幕,用51单片机的IO口模拟SPI信号,发送初始化代码 设置成DPI-18bitRGB模式。并用LT768芯片来显示图片。下面是程序和ILI9488资料分享: 显示图片为18bitR6G6B6信号,由于便于测试,每种颜色的6根脚都接一起了,效果如下图: 单片机驱动ILI9488源程序如下: #define CS P13 #define CLK P14 #define DCX P15 #define SI P16 #define LCD_nRESET P00 void SPId_Init(void) { P1M
[单片机]
51<font color='red'>单片机</font>软件SPI初始化ILI9488-DPI模式程序
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved