1、什么是CPLD

CPLD(Complex Programmable Logic Device)复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。CPLD主要是由可编程逻辑宏单元(MC,Macro Cell)围绕中心的可编程互连矩阵单元组成。其中MC结构较复杂,并具有复杂的I/O单元互连结构,可由用户根据需要生成特定的电路结构,完成一定的功能。由于CPLD内部采用固定长度的金属线进行各逻辑块的互连,所以设计的逻辑电路具有时间可预测性,避免了分段式互连结构时序不完全预测的缺点。

2、什么是FPGA

FPGA英文全名,Field-Programmable Gate Array,既现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。

3、单片机(MCU)

单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统。

CPLD,FPGA,单片机概念的区别及编程环境及编程语言

二、编程环境及编程语言

1、CPLD采用原理图输入、编写HDL(VHDL,Verilog),编译,给出逻辑电路的输入激励信号,进行仿真,查看逻辑输出结果是否正确,进行管脚输入、输出锁定,生成代码,通过下载电缆将代码传送并存储在CPLD芯片中。开发工具有quartus,ise等,工作流程和FPGA设计流程基本相似,编程语言和开发工具基本一样。与FPGA的不同在于两者芯片内部不同。

2、FPGA开发环境主要有ISE,quartus,Vivado,modelsim,编程语言常用verilog,VHDL。采用自顶向下设计,从需求到功能模块,编程仿真,时序约束,生成bit文件下载调试。

CPLD,FPGA,单片机概念的区别及编程环境及编程语言

3、单片机主要是C语言开发,常用开发工具keil,单片机的开发必须熟悉芯片的常用接口,熟练配置,编写接口驱动,硬件复位,软件复位。同时要了解单片机的结构,硬件加密,软件加密等等。

三、三者应用领域

1、CPLD的应用领域

目前已深入网络、仪器仪表、汽车电子数控机床、航天测控设备等等。

CPLD,FPGA,单片机概念的区别及编程环境及编程语言

2、FPGA的应用领域

FPGA的应用领域相当广泛,各种高速处理,图像视频处理,航空航天等等,如下图所示。

CPLD,FPGA,单片机概念的区别及编程环境及编程语言

3、单片机的应用领域

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物,自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械等等,单片机成本低。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查