打印
[其他]

【每日话题】51单片机,STM32,FPGA之间有什么联系吗?有奖

[复制链接]
1480|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本话题得到大家热烈讨论,原定1名获奖者,但有2名用户贡献了精彩回答,所以恭喜:

@lylam18   @dengjunqing   获得论坛送出的小礼物!

请获奖用户给小喇叭发邮件:wangyq@21ic.com

为防止冒领,邮件格式为:51单片机 + 用户名 + 注册邮箱 + 姓名 + 电话 + 地址

奖品自开奖起为获奖用户保留两周(2020年4月1日 至 2020年4月14日),逾期未领奖视为自动放弃。





大家好~

前两天有位学生小哥哥问:

他学过C,数电,模电,微机,没学过51,STM32,可以直接学FPGA吗?

所以在这里,小喇叭替这位用户征集回答~

欢迎大家从:

1、类型

2、功能

3、行业现状等角度,一起讨论看看哈~




本话题结束后,将于2020年4月1日,选出1位优质参与用户,赠送小礼物。

使用特权

评论回复
评论
hobbye501 2020-3-31 11:29 回复TA
@songchenping :还不到抢人家饭碗的程度。。。 
songchenping 2020-3-31 11:28 回复TA
@hobbye501 :鄙视你,把别人的饭碗都抢了,别人杂活啊。 
hobbye501 2020-3-31 09:59 回复TA
真巧,我也在学FPGA 

相关帖子

沙发
tpgf| | 2020-3-31 09:34 | 只看该作者
必须支持啊

使用特权

评论回复
板凳
gyh974| | 2020-3-31 09:40 | 只看该作者
毫无联系,如果说有联系,就是都是芯片,功能越来越强大

使用特权

评论回复
地板
hobbye501| | 2020-3-31 10:01 | 只看该作者
FPGA属于硬件平台方面的,跟51 STM32 区别还是很大的,FPGA基本上都是并行的,里面很多逻辑方面的知识。只要学过电路,模电,数电的话 都好理解 没学过51.STM32不要紧的

使用特权

评论回复
5
gaon2| | 2020-3-31 10:04 | 只看该作者
51单片机,STM32,FPGA之间都可以编程, 以实现定制化的功能电路.

使用特权

评论回复
6
王栋春| | 2020-3-31 10:11 | 只看该作者
只要掌握了编程语言和编程技巧其它就如同是红烧还是清蒸  没有多大关系的

使用特权

评论回复
7
ilymqdh| | 2020-3-31 10:14 | 只看该作者
都可以学
没有关系的
夸专业、行业都可以的

使用特权

评论回复
8
LED2013| | 2020-3-31 10:21 | 只看该作者
都是可以学习的东西,并不过时,多学一科找工作的时候也更有力,可惜的是,学好需要大量的时间精力,还是对岗位来学吧

使用特权

评论回复
9
hufanli21| | 2020-3-31 11:08 | 只看该作者
好啊。

使用特权

评论回复
10
黑夜之狼| | 2020-3-31 11:37 | 只看该作者
只要掌握了编程的语法和小技巧,啥单片机都一样吧,反而硬件上需要花点功夫

使用特权

评论回复
11
csdnpurple| | 2020-3-31 11:38 | 只看该作者
本帖最后由 csdnpurple 于 2020-3-31 11:41 编辑

有联系,我们多数大学的电磁学的课程是断档的,从模电、数电直接跳到MCU cpu应用,很少涉及 从门电路到芯片的设计课程,fpga就是其中的一个分支,fpga可以类比成可以编程的mcu,也就是说当你学习了模电数电、mcu应用,fpga就会了解到整个电子世界大厦的全貌了。

使用特权

评论回复
12
lylam18| | 2020-3-31 11:44 | 只看该作者

声明:
没学过FPGA,以下个人对它的理解可能有误,由此引发的问题概不负责,接收批评,拒绝赔偿(包括:心理的、生理的、物质的等)
long long ago刚入门时,对控制电机、还有多轴联动摸不着头绪,听到了FPGA,仿佛黑暗中看到了1丝曙光。。。。
计划学,但是你们懂的,咱这个坑很大,一直没闲着拼命学东西,也一直没抽出精力学FPGA,练半本书也没读过
直到用单片机解决了这些问题,我放弃了它

首先:没学过51,STM32,可以直接学FPGA吗?
答案是肯定的,没学,可直接学FPGA,因为它俩是两个概念,估计学过单片机的人,学FPGA也要暂时掏空脑壳,换一种思维来学习
不过学过很定比没学好,因为我们学单片机的时候并非只是编程,一路上外围硬件原理也跟着学了很多,所以说学了有帮助


单片机:或者说CPU
同一时刻只能执行一个任务
通过线程可以实现多任务同时运行
但实际上还以1个1个执行,只不过看起来像是同时运行,
当然不是特别的场合,这种软件任务并行可以满足需求

而FPGA属于硬件类:
相当于一推与门,非门,触发器的组合,(逻辑电路需要一步一步运行吗??不需要,它们存在逻辑关系,但是同时运行的)
因此可以并行运行的,真正意义上的“同时运行”,
所以说在时效性、和速度上优于单片机

FPGA编程
对fpga编的程序其实不是让它用来执行的,
而是搭建fpga的内部结构,也就决定它内部这些与门非门触发器的连接方式,
个人认为:"以软件方式来搭建硬件电路":通常我们设计的电路,是在物理硬件上实现的,而这个则是通过软件“捏”出来的,不合适可以重新捏,可增可减,可裁剪 (←不知这么说正不正确,错了不要怪我,我没学过

总结:
单片机 fpga的区别和各项优势。
单片机:控制能力强。时序实现能力弱,组合逻辑能力较强。
FPGA:控制能力较弱,组合逻辑能力较强,时序实现能力强。
总的来说:fpga在频率范围和逻辑实现方面要高出单片机。但是由于没有指令系统。所以控制和运算能力比较弱。


应用中:CPU和FPGA是组合使用的,由于CPU的指令周期可能比较长,配上1块FPGA协助做预判处理,是很有意义的


以上!!!


使用特权

评论回复
评论
神圣雅诗人 2020-3-31 15:14 回复TA
你牛大B了 
21ic小喇叭 2020-3-31 12:15 回复TA
nb 
13
zxw1126| | 2020-3-31 13:06 | 只看该作者
本人电子信息工程专业毕业,上学那会都是先学完C++,模电数电,51单片机,可编程逻辑,数字信号处理,嵌入式等等之后才学的FPGA,必须先打好基础,这也应了李云龙那句话:没有这些家底,老子敢跟坂田硬碰硬拼刺刀,做梦吧你!

使用特权

评论回复
评论
神圣雅诗人 2020-3-31 15:15 回复TA
你牛B大了 
14
brokendream| | 2020-3-31 15:39 | 只看该作者
都是大佬

使用特权

评论回复
15
dengjunqing| | 2020-3-31 17:17 | 只看该作者
    51和stm32都是单片机,FPGA……额……就是FPGA。

    简单想象一台电脑主机,里面包括了CPU、寄存器以及其他设备;把这些东西缩成一小块,胶水灌进去封装后就是一片单片机。
    然后再想象一块电路板,上面排列着许许多多的开关、门电路,然后把这块电路板缩成一小片,就是一片FPGA。

    51和STM32的差别,就如同两台性能、价格不同的主机一样。
    51、STM32都各自包含了一个系列的单片机。常说的51单片机指的是采用51内核、兼容Intel8031指令系统的8位单片机;外设简单,工作频率较低,通常在8M~16M。而STM32系列则是32位单片机,采用ARM内核、精简指令集,外设丰富,工作频率高,H7系列的工作频率最高的到480M。
    至于什么是内核架构、什么是指令集,三言两语我是讲不清楚的。可以粗犷地想当然——架构就是东西摆放的位置:数据、指令程序怎么放,CPU走哪些路线去调用这些东西。指令集就是动作命令,不同指令集的单片机执行某个动作的命令是不一样的。具体可以看一下微机原理这类书。

    不过我猜学生小哥哥顾虑的不是这个,他想问的是在学习这两个单片机的时候有什么不同。其实没什么大的不同,现在单片机开发都是用C语言,所以指令集不同其实是体验不出来的,至于外设调用、寄存器设置这些都是查芯片手册,也没什么实质上的区别。我的建议是51单片机浅尝辄止,然后去玩STM32,不要有什么顾虑,复杂的会了,简单的也就会了。

     现在说FPGA,一直有人说单片机是软件、FPGA是硬件。这一开始很容易让人疑惑,两个东西都是一块小小的芯片,而且都是在软件上编程实现功能,怎么的就一个软件一个硬件了?
    我们给单片机编程、烧写,是为了将程序存到单片机里面的存储单元里,然后CPU才能读取指令、执行相应代码。但是给FPGA编程有所不同,前面说了,FPGA就像是一块电路板上排列了密密麻麻的开关和门电路,想象一下,这些器件原本独立排列,互不相连,我们在电脑上利用verilog编程,然后编译、下载,这时候下载的不是程序,而是我们在程序中表达的各部分逻辑关系,在FPGA上的各个元器件就根据这些逻辑关系连接起来,如同用一个特定的硬件电路实现我们需要的功能。所以常说单片机是软件,FPGA是硬件,这就是两者的区别。

    再说到执行速度,理所当然的,频率越高执行速度越快,但是单片机和FPGA有串行、并行的区别。单片机串行很好理解,数字处理总是要一位一位地来,但是FPGA的并行怎么理解?
    不妨再想象两个芯片,一个是单片机,一个是FPGA。两个芯片各有A\B\C\D五个输入信号,现在要读取这五个信号。为了直观,假设两者频率一样。单片机一次只能读取一个信号,要完成五个信号的采集至少要经过五个指令周期。而FPGA是硬件电路的连接,不需要经历CPU调用程序、处理数据这个过程,只要有电信号施加在引脚上,电路立即就能反应,它的速度至少是单片机的五倍。FPGA常常用在高频信号处理上就是类似的道理。

    我刚学的时候常常纠结,51简单好玩,STM32很流行,FPGA有这么强大,到底要不要都学一遍?我猜提问的学生小哥哥可能也是这种纠结。对此,我还是建议学STM32,FPGA虽然是好东西,但是应用面比较窄,如果不是相关专业,基本上就算学了也不会有什么大的用处。就学生而言,STM32足以应对大部分需求,而且也符合技能树的发展方向嘛。FPGA开发板那么贵,实在有精力,把ARM架构熟悉了,再往上点Linux技能吧。
    若还是纠结,也可以学学DSP,也比FPGA好一些。至于DSP和单片机的区别,写出来又是一大段,学生哥哥没问,我就懒得写了。

使用特权

评论回复
评论
21ic小喇叭 2020-3-31 17:28 回复TA
大神! 
16
full_stack| | 2020-3-31 17:35 | 只看该作者
这个要说全很难,要综合考虑,没能力说出来

使用特权

评论回复
17
叶春勇| | 2020-3-31 18:43 | 只看该作者
51 stm32 fpga
共同点,都有数字电路。都需要软件。
不同点,51 stm32 用汇编,或c。fpga用硬件描述语言vhdl或verilog或其他支持的图形语言。

使用特权

评论回复
18
WoodData| | 2020-3-31 22:37 | 只看该作者
以我了解FPGA和51,STM32之类的单片机的异同点:
相同点都是属于硬件电路部分,都需要编程软件。只是编程语言不同,51和STM32可以用汇编或C语言或C++;而FPGA是用硬件描述语言vhdl或verilog或直接门电路图形语言。
还有51、STM32都是单片机处理器,只是51和STM32内核指令和架构不同。而FPGA是门电路组合,而且FPGA可以编程实现单片机,现在很多IC设计都用FPGA来模拟设计单片机IC。

目前市场上FPGA主要只有几家能做的比较好。而单片机IC设计厂家就非常多了。

使用特权

评论回复
19
21ic小喇叭|  楼主 | 2020-4-1 11:10 | 只看该作者
lylam18 发表于 2020-3-31 11:44
声明:
没学过FPGA,以下个人对它的理解可能有误,由此引发的问题概不负责,接收批评,拒绝赔偿(包括:心 ...

恭喜您获得论坛送出的小礼物

请您给小喇叭发邮件:wangyq@21ic.com

为防止冒领,邮件格式为:51单片机 + 用户名 + 注册邮箱 + 姓名 + 电话 + 地址

奖品自开奖起为您保留两周(2020年4月1日 至 2020年4月14日),逾期未领奖视为自动放弃。

使用特权

评论回复
20
21ic小喇叭|  楼主 | 2020-4-1 11:10 | 只看该作者
dengjunqing 发表于 2020-3-31 17:17
51和stm32都是单片机,FPGA……额……就是FPGA。

    简单想象一台电脑主机,里面包括了CPU、寄存器以 ...

恭喜您获得论坛送出的小礼物

请您给小喇叭发邮件:wangyq@21ic.com

为防止冒领,邮件格式为:51单片机 + 用户名 + 注册邮箱 + 姓名 + 电话 + 地址

奖品自开奖起为您保留两周(2020年4月1日 至 2020年4月14日),逾期未领奖视为自动放弃。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1110

主题

7323

帖子

152

粉丝