CPLD与单片机的区别

有一个全彩LED电子屏(就是户外超大形的那种),要不停的根据TF卡当中的数据(也就是1与0)来输出 : 或者850ns的高电平与400ns的低电平(这是TF卡当中的数据为1的情况), 或者850ns的低电平与400ns的高电平(这是TF卡当中的数据为0的情况)【也就是一位这样的数据的时间为1.25us】 控制一个LED像素,就得这么1.25us的脉冲24位!它还要500个LED串联!!也就是要输出连续的12000个变化(得根据TF卡当中的内容来改变高低电平的时间)的脉冲!我想了一个要用STM32这样的芯片,在这样快的速度之下实现判断并且再输出,几乎不太可能。我见过人家的一个电路,我见上面用的是EMP240T100这个CPLD。我现在想知道的是:做这样的工作【从TF卡,或者SD卡当中读取数据,判断,然后再输出控制脉冲】EMP240T100能不能行?【废话,一定能行,人家现成的产品就是这么搞的】这个CPLD与单片主要的区别是什么?它主要是用来做一些什么工作的?强项是什么?我现在想学习一下

  CPLD与单片机的主要区别:

    CPLD由需要用户编程实现想要的处理功能,而单片机的功能已经设计好了,由用户自己编程来使用它的部分或全部功能。

    单片机是软件方法实现,而CPLD是硬件实现的。可以把CPLD看成是一款专用的解码芯片。因为是硬件实现,所以强项就是快。就好像用电脑看电影,用CPU软件解码可以做,也可以用显卡硬件解码,当然硬件解码比较快。

  CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,属于大规模集成电路范围。是一种用户根据需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。

  单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-11-17
CPLD是可编程逻辑阵列,1.可编程,2.是逻辑阵列。
通俗地说就是通过编程,使之实现一堆数字逻辑芯片的组合功能。比如你想用一堆74之类的片子,你得布线、焊接,时间、人力成本以及可靠性,都不如一片CPLD。

对于你这个应用CPLD与单片机的区别,单片机可用实现高级别的逻辑以及运算,而CPLD一般用来做门电路类的逻辑;单片机自身能够做到数十MHz级别的脉冲控制,而CPLD至少高一个数量级;单片机因为外设所限,一般几个到十几个脉冲输出口,而CPLD可以有几十个。

你说的500个LED,是要同时控制这么多?刷新时间要求呢?单片机做几路这个频率的输出是没问题的,如果要同时控制,则需要缓冲电路,而CPLD可以在一片芯片中编程实现比较大规模的缓冲电路,当然用缓冲芯片也可以就是了。。。本回答被网友采纳
第2个回答  2012-03-29
已经有人回答的挺完整了,我补充一下。从代码来说,单片机是执行代码的器件,如果前一句代码没执行,下一句肯定没办法执行(效率低的原因)。而FPGA也有代码,只是代码叫HDL语言,这个代码是用来生成相应的电气链接的,因为CPLD是逻辑阵列,里面有很多基本的逻辑单元,我用的FPGA(CPLD的进化版)就是与非门阵列,与非门通过一定的组合可以组成触发器,触发器可以组合成寄存器、计数器等,那么如何知道该怎么组合,就是HDL语言的作用了。既然是HDL是一种硬件描述语言,那么就没有先后之分了,也就是在CPLD可以工作前,里面的组合必需要全部完成。你可能不理解,既然在工作前要把器件生成,那么如何先后执行某个功能?先后执行某个功能是靠器件的排列实现的,如果你先生成一个D触发器,把触发器的输出作为计数器的输入,那么运行的时候自然就D触发器先运行。那么既然生成的是器件,那么几乎所有的数字器件都可以生成,包括单片机,我曾用NIOS生成单片机,写入单片机的代码执行程序。

最后说一句,CPLD是比较早的东西,自然也比较廉价,如果学习用的话,我建议还是用FPGA,FPGA比CPLD的集成门电路更多,也就是资源更多,可以生成的器件越大型,而且频率会更高,我的FPGA可以达到200Mhz以上(ALTERA的EP2C8),而另一个是可以达到1Ghz的输出(XILINX的XC6LX16-CS324)。追问

寥寥数语,说明了我好多天都不能理解的东西。定是大侠了。那么,可以给我这个对FPGA一窍不通的门外汉,推荐几本FPGA入门的书吗?谢谢。太谢谢了。

追答

FPGA的参考书很多很多呢,但其实一类器件,并不是书能够解决的,最重要的是动手。建议你先大致了解一下FPGA的内部构造和功能实现的方法,而后学习Verilog HDL语言,当然,如果学习其他语言,如VHDL也是可以的,只是如果你有C语言基础,Verilog更容易入手罢了。而大部分的书都是在讲语言的,目前我看过的都是如此,但有基本书不错,只是难度比较大,比如ALTERA的官方教程(以前在图书馆借过来看的,名字也忘了),那本书侧重讲的是解决方案,如时序问题,毛刺的解决等,是一本比较深奥的书,有上下两册,一册入门篇,一册高级篇。你也可以去ALTERA的官方网站,里面我电子教程,以前我也去看过,好像是英语讲述的。也可以到VeryCD去下载视频教程,好VERYCD里面也有ALTERA的官方教程。至于书,我就不推荐了,因为我觉得我所看过的书都是一个抄一个,没有一本让我太深刻。
如果要买器件,我建议买ALTERA的,因为比较便宜,而且很多资料都是用ALTERA的芯片。

第3个回答  2015-04-22
TM1812 哈哈
相似回答