产品选型

stm32是单片机吗 简述单片机和FPGA的区别

小编 2024-10-06 产品选型 23 0

简述单片机和FPGA的区别

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。用一句话描述就是麻雀虽小五脏俱全,可以说是一个微型电脑,而它所执行的命令就是你所写的程序。

FPGA即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。简单来说为可用电脑编译的数字逻辑芯片,而你所写的代码其实是在描述一个数字逻辑电路。

两者差别最大的是运行速度,由于后者是硬件电路,所以其速度直接取决于晶振,所以它具有运行稳定,抗干扰性强,适用于高速运行电路。

在学起来的单片机相对来说会容易很多,价格也较便宜,一些基本的算法几乎都能满足,部分单片机系列运行速度高达300M(51但单片机12M左右),再加上ARM芯片的发展,很多需要高速运行的部分都会用到,像图像处理传输等。

STM32

单片机入门不是很难,网上有很多家销售,并带有配套视频,编译语言也是我们熟悉的C语言,只要比这教程去学,学会是不会很难,硬件要求也不是很高,由于单片机学起来比较容易,所以有很多朋友从STM32开始学习,这也是可以的。

但FPGA就相对来说就难很多,由于其编译语言为Verilog,这个语言一般接触不到,但如果你有编程基础,相对来说还是容易点,现在网上也有销售的,但不是很多,资料也不是很全,目前只有部分配套教材视频,但赠送的资料还是能够让你入手,学的深度这得看个人了,至于FPGA网上也有销售,给大家推荐一款FPGA开发版,价格比较合理,有了合理的开发版和配套资料学起来就容易多了。

FPGA

再深入说一下单片机:单片机是一个微型计算机,和PC相比增加了IO口,由于其体积小,所以增加了携带便利性和学习性,同时学习单片机还可以学习硬件知识。单片机也可简单理解为在小电脑上写程序,其思路也跟电脑编译相似,也同样追求算法的效率和稳定性,对于在校大学生来说,如果经常参加一些电子类比赛那么STM32是必须要学的,像知名度比较高的全国大学生电子设计大赛还会要求使用MSP430。

FPGA由于是以硬件描述的语言,所以学起来需要一定的硬件基础,在使用中还有要求会一些电路设计,经过简单的综合与布局,快速下载到开发版上进行测试是现代IC设计验证主流,在大多数FPGA中、这些可编译元件也包含记忆元件,设计师可以根据可编程的连接把FPGA内部逻辑块连在一块,就像一个电路放在一个芯片里。通常情况下FPGA运行速度要比ASIC速度要慢,因此同样的功能,在个头上要比后者大,除了这些还具有比较差的可编译性。

stm32为什么短短几年就占领了单片机的大半江山?来了解一下

一、前言

还记得12年的时候,当时市场上8位机还很多,尤其51单片机在stc的带领下,占据着大片的单片机市场,学单片机大家都用51,大学教材也是以51来入门,虽然此时Atmel系列51单片机已经不太常见了,但国产51任占据着90%的国内51市场,可谓是51单片机经久不衰,低端8位机市场基本不可替代,经得住了历史的考验,当时8位机还有avr,16位机有msp430,其他厂家单片机还有pic,高端嵌入式处理器等市场有arm7,arm9等,各种单片机都“安分守己,各守其位,一片祥和”,可是到了14年,当我再次进行单片机开发的时候,发展stm32非常火爆了,企业都在用stm32来做开发,曾经用8位机开发的产品大部分转而用stm32开发,曾经只能用arm9能做的产品,现在stm32照样可以做,而且做起来比arm9+linux简单,让我实在是又惊喜又叹息,惊喜的是可以用性能更为强劲的mcu,叹息的是我曾经学的51已无用武之地了。

二、下面谈谈我对这种现象的原因分析

1、51单片机性能受限,外设资源比较少,少到每次开发我们都可以用寄存器来操作,可以不用任何库,时钟低,跑的慢,ram少,容易溢出,cpu没有集成调试组件,对于复杂的程序,我们没有办法调试,只能打印,所以这就注定了它的应用只能是简单的需求,当然我们可以外挂ram和rom,我觉得这样来说一个系统变得复杂,这个系统就不是单片机系统了,成本也是个问题。

2、arm公司的cortex m内核出现,让很多半导体公司看到了该内核的前景,stm32单片机就是采用cortex m内核,内核强大,性能强劲,与其51的cpu来说,cortex m内核更加现代化,有缓存,有强大的中断管理,有强大的调试组件,st利用该内核设计了stm32,丰富的外设资源,多系列,多封装,让它能够完成简单到8位机,复杂到arm9才能完成的各种行业产品。

3、比起做功能的mcu,stm32的性价比超高,例如一片51芯片5元,而比这功能丰富的stm32能够低到6元,你说我还用51干嘛。在arm9使用的领域,当时火爆的s3c2410一片处理器就得20多块,还有外围flash和sdram成本,板子设计成本等,而用 stm32也是20多块钱,外围器件少,板子设计成本低,软件开发成本也是高,一个需要的是linux技术,一个需要的还是单片机技术。

4、stm32丰富的生态系统,stm32全系列都给我们提供了外设开发库,所以开发起来跟树莓派一样简单,我感觉都比51简单,51的栈溢出,无法调试在大型应用中是很难排查的。

相关问答

STM32是什么 啊,是32位的 单片机吗 - 懂得

stm32是一种32位的单片机。单片机是嵌入式系统中最常用的核心部件,stm32本质上也是一种单片机。从事嵌入式方面工作,如果有一定的基础,可以从STM32...

STM32是什么 啊,是32位的 单片机吗 - 5UTewoX7wo 的回答 - 懂得

STM32是ST公司推出的基于ARM-Cortex-M3内核的32位单片机。想了解这个系列的单片机,可以去百度百科搜'STM32'如果你从未入门,建议你学51系列的8位单...

stm32单片机 是什么品牌?

意法半导体,简称ST意法半导体,简称ST

PLC和 STM32 不同是什么?-ZOL问答

STM32是一款性能更好、编程更灵活的嵌入式应用芯片,而PLC(可编程逻辑控制器)在编程上相对不够灵活。另外,在现场环境下,考虑到稳定性和抗干扰能力方面,STM32相...

stm32单片机 的三种开发模式的区别与联系?

1、BOOT1=xBOOT0=0从用户闪存启动,这是正常的工作模式。2、BOOT1=0BOOT0=1从系统存储器启动,这种模式启动的程序功能由厂家设置。ISP3、BOOT1=1BOOT0...

stm32 和51 单片机 有什么区别?

STM32和51单片机是两种常见的嵌入式系统开发平台,区别如下:1.架构:STM32系列采用了现代化的ARMCortex-M内核架构,具有强大的处理能力和丰富的资源,支持高...

stc8a 单片机 stm32 ?

STC8A和STM32是两种结构差别很大的单片机,前者是MCS51内核,后者是CortexM内核。它们最主要的区别有以下两点:第一,STC8A是8位单片机,主频最大35M。STM32是...

32 单片机 和52 单片机 的区别?

51单片机和STM32单片机的区别51单片机是对所有兼容Intel8031指令系统的单片机的统称,这一系列的单片机的始祖是Intel的8031单片机,后来随着flashROM技术...

stm32 的程序可以用51 单片机 实现嘛?

相应的功能是可以用51单片机实现的,但stm32的程序和51单片机是绝对不能通用的,主要原因有三点:第一,STM32是32位,而51是8位,所以程序变量的定义是不一样...

STM32单片机 可以用来做人机交互界面吗?

不请自来!首先,明确人机交互界面的定义人机交互界面,顾名思义就是人和机器交互的接口,包括人向机器输入指令,机器向人展示指令执行的结果或者机器运行的状...

猜你喜欢