电子设计领域的单片机CPLD自动化控制
1 纯单片机系统优缺点
①大量单片机/CPLD的外围芯片和接口电路使得单片机应用系统的设计变得简单而且快捷,新型单片机的上市和高级语言的支持(如C51)进一步延长了单片机的寿命。
②长期稳定的发展和使单片机性价比非常高,而且单片机/CPLD积累了大量的资料并拥有了大量的工程技术为员。这一点是CPLD目前难以达到的。
但是,单片机的缺点也有目共睹:
①低速。即使是高速度单片机也只能工作在μs级,这是由单片机串行工作的特点所决定的。
②低可靠性。虽然单片机/CPLD目前有很多器件与设计在一定程序上解决了部分问题,如看门狗的广泛应用,但在某些情况下瞬间的复位也会造成严重后果。
2 纯CPLD设计的优缺点
即使单纯单片机/CPLD的单片机结构能完成的功能,在某些情况下也宁可使用纯数字电路完成。而当前开始流行的CPLD,则不但克服了单片机的缺点,而且由于可采用VHDL语言编程,进一步单片机/CPLD打破了软硬件工程师的界限,加速了产品的开发过程,使纯数字电路的设计变得简单。人们甚至在讨论用C作为下一代硬件描述语言。
难怪有专家指出,电子设计的单片机时代即将过去,而以PLD为核心的EDA(电子设计自动化)将是单片机/CPLD未来设计的方向。由于超大规模集成电路技术的发展,单片PLD芯片上已经可以集成上百万门,就系统规模而言,将单片机设计在内也没什么问题。美国的可编程器件厂商已经以软核和硬核嵌入两种形式(将单片机电路嵌入PLD)为设计人员提供帮助。PLD器件取代单片机是早晚的事。但是,在我国当前的普遍应用中,单纯依靠PLD器件还有点早,原因如下:
①由于历史单片机/CPLD的原因,我国的电子设计人员大部分应用的是MCS51系列单片机,还没听说哪家公司提供软核或硬核集成。而让这么多人改学其它系列单片机还需要一段时间,而且原有的程序更使人不愿改动。
②单片机价格低廉,而PLD如果增加单片机内核的话,至少在目前形势下价格会比较昂贵。
所以,由于单片机和PLD的互补性,利用单片机加PLD的结构至少在近期内将一种较好的选择。下面通过作者设计的实例,介绍MCS51+EMP703S结构体系的特点及注意事项。
3 单片机+CPLD结构体系设计实例
本设计用于单片机/CPLD自动化控制.
对于一个熟悉单片机系统设计的工程师而言,上述设计不会有技术上的困难,问题在于:
①要用两个全双工串口;
②要求比较多的输入输出口。如果用传统设计方法,势必要用比较多的芯片,电路板的设计也较麻烦,一旦设计有误,必须重新设计整个电路板,费时、费力、费钱。而采用MCS51+EMP7032S设计后,基本上做到了模块化设计,电路的修改只是编程而已。从开始设计到定型所用的时间,基本上就是制作电路板的时间。由于设计了输出信号锁存,完全避免了单片机程序跑飞和看门狗复位所引起的输出的跳变,这时设备完全至关重要。图2是设计原理电路图。
波形发生器设计,单片机、CPLD控制的任意波形发生器设计实例
波形发生器有多种类型,任意波形发生器便是其中一种。对于任意波形发生器,本文中,讲为大家讲解采用单片机和CPLD控制的任意波形发生器的设计。
在电子工程设计与测试中,常常需要一些复杂的、具有特殊要求的信号,要求其波形可任意产生,频率方便可调。
结合实际需要,我们设计了一种任意波形发生器。电路设计中充分利用MATLAB的仿真功能,将希望得到的波形信号在MATLAB中完成信号的产生、抽样和模数转换,并将得到的数字波形数据存放在数据存储器中,通过单片机和CPLD控制,将波形数据读出,送入后向通道进行A/D转换和放大处理后得到所需的模拟信号波形。利用上述方法设计的任意波形发生器,信号产生灵活方便、功能扩展灵活、信号参数可调,实现了硬件电路的软件化设计。
系统框图
任意波形发生器的设计思想,是利用MATLAB的强大仿真功能,方便、快捷的生成给定频率、周期、脉宽的任意波形数据;并将数据预存在数据存储器中。在单片机控制下,利用CPLD电路产生地址读出数据,送入D/A转换电路,得到所需的任意波形信号。系统结构框图如图1;图中分频电路和地址发生器由CPLD实现。
图1 系统框图
电路设计及实现单片机控制电路
单片机采用AT89C52芯片,通过软件编程产生所要求的控制信号。主要的控制参数包括:信号周期、脉宽;分频电路的开始信号、地址发生器的复位信号;E2PROM的选通信号;D/A转换电路的选通信号。在具体电路中,端口P1.0控制分频电路的启动、P1.1控制地址发生器的清零,P2.0控制28C256和AD7545的选通信号。单片机工作在定时器0方式,软件设计利用C语言实现。流程图如图2所示。
图2 软件流程图
波形数据生成
MATLAB作为一款优秀的数学工具软件,具有强大的运算功能;可以方便的产生各种信号波形,在软件中实现波形信号的产生、抽样和模数转换。设计的任意波形发生器,数据存储器选用28C256芯片,信号波形通过MATLAB仿真产生;得到的波形数据存放在数据存储器28C256中。具体设计中,我们要求产生周期为200ms,脉宽为5ms的单/调频混合信号,其中单频信号的脉宽为4ms,频率为30KHz;调频信号的脉宽为1ms,频率为30KHz_35KHz。在MATLAB中设定抽样率为500KHz,得到了2500个波形数据。这些混合波形数据在烧录入数据存储器的过程中,由于波形数据较多,直接用手工录入数据存储器中不仅费时且容易出错。为克服这一弊端,通过MATLAB编程的方法将产生的波形数据按照HEX文件的INTEL格式存放,然后将这些波形数据整批次烧录入数据存储器中。采用上述方法,波形数据生成简单,快捷;可根据需要在软件程序中方便地修改信号参数;无需改动硬件电路即可实现信号参数的功能扩展。
CPLD逻辑设计
分频电路采用两片74HC163实现。通过分频电路,将12MHz的晶振标准频率分频后,得到500KHz的抽样频率,作为地址发生器的时钟。分频电路的工作由单片机控制。
地址发生器电路由3片74HC163组成,时钟频率为500KHz,有分频电路提供;和预存的波形数据抽样频率相一致,以实现数据的无失真读出。
电路设计中,采用ALTRA公司的EPM7128AETC100-10芯片,在MAX+PLUSⅡ开发环境中完成分频;PLD的电路设计,可以省去大部分的中小规模集成电路和分离元件;使得电路具有集成度高、工作速度快、编程方便、价格低廉的显著优点。通过CPLD和数据预生成的信号实现方法,无需改变硬件电路,即可实现信号参数的任意调整;同时外围电路十分简单,为工程调试和应用带来了方便。
D/A转换电路
D/A转换电路的实现如图3所示。电路中,AD7545将波形数据转换为模拟信号;LF353进行信号滤波和整形。
图3 D/A转换电路
结语
采用上述方法设计的任意波形发生器,通过软件和硬件结合,充分发挥MATLAB强大的仿真功能,尽可能的减少了硬件开销。根据实际需要,可产生正弦波、三角波、锯齿波、方波等多种波形,可以产生线性调频信号(LFM),单频脉冲信号(CW),余弦包络信号以及他们之间的组合信号等多种波形参数;满足了工程需要。该任意波形发生器已应用于在研项目“水中运动目标轨迹测量”中,效果良好。
相关问答
cpld和单片机 的区别?本人研发cpldfpga和单片机有好多年了。这个问题对于学习cpld和单片机的人来说,必须要弄懂,要不然会深刻的影响到后续的学习进度的。cpld是硬件逻辑器件,说的...
嵌入式系统 和单片机 的区别? - 188****6825 的回答 - 懂得给你一个最简洁的答案:嵌入式系统包括单片机、CPLD、ISP等。分类是比较模糊的!一般来说:嵌入式系统包括:1、嵌入式微控制器(16位、8位、以及8位以...
嵌入式系统 和单片机 的区别? - SPPf4D7O73A 的回答 - 懂得广义的嵌入式系统包括单片机,但现在一般把有操作系统的叫嵌入式系统,裸奔的叫单片机。分类是比较模糊的!一般来说:嵌入式系统包括:1、嵌入式微控制...
怎么实现 单片机 多个函数功能同时执行?多个函数功能同时执行是不可能的。由于单片机本身的条件限制。对于你的问题可以采用如下方法解决。1.加锁存器,也就是说你把IO口状态改变后,锁存器会自动锁...
WS2811驱动的灯带,一般用什么控制器啊, 单片机 还是 CPLD ?51单片机都可以勉强驱动起来的,1T的单片机都可以驱动起来的。51单片机都可以勉强驱动起来的,1T的单片机都可以驱动起来的。
epm240t100 单片机 配置?CPLD类型:闪存宏单元数:192输入/输出线数:80传播延迟时间:5.9ns整体时钟设定时间:2.7ns频率:201.1MHz电源电压范围:2.375Vto2.625V,3Vto...
DSP与 单片机 的区别是什么?不能不首先说说CPU。1.CPU叫中央处理器,是计算机的核心,其中可以执行指令,可以进行算数和逻辑运算。CPU的种类很多,很多,不同半导体公司有不同的CPU,Intel...
电子专业的进,PLC,PLD,EDA,DSP, 单片机 ,嵌入式系统都是...额,你说的我都用过,至于那些是什么东西你百度下可以找到一大堆如二楼说的东西,不过不便于理解我就从使用角度解释下,单片机:英文直译叫做微控制器,...
电子信息科学与技术就业都可以干什么?里怎样处理各种电话信号,手机是怎样传递我们的声音甚至图象,我们周围的网络怎么样传递数据,甚至信息化时代军队的信息传递中如何保密等知识...我们...
如何查电路板故障?1、看元件的状态拿到一块出故障的电路板,首先观察电路板有没有明显的元件损坏,如电解电容烧毁和鼓胀、电阻烧坏以及功率器件的烧损等。2、看电路板的...