带您学STM32之二:主角MCU——F030

内容分享2周前发布
0 7 0

上一次讲了开发板的设计思路。本来打算这次讲电源,思考了下,还是讲主角吧。

开发板MCU我们选用STM32F030C8T6。这是一颗ARM Cortex-M0内核的32位CPU芯片,个人认为它远比8051适合初学者。同时ARM日盛,不学就意味着落伍。

带您学STM32之二:主角MCU——F030

强劲的ARM,不学意味着落伍

主角简介

为了节省篇幅和大家的时间,这里不抄器件手册了,简单归纳下MCU的情况。

STM32F030C8T6(后续简称F030)有64KB Flash/8KB SRAM,2个SPI、2个I2C、2个UART、39个GPIO、12通道的ADC,还有足够多的定时器。这些资源远比老掉牙的89C52要多,对于初学者来说,够用了。如果我们要做产品,第一也是要考察资源情况。一般情况下,尽量少地外扩芯片。从这个角度来说,89C52真没存在必要了!

需要注意的是,F030的正常工作电压是2.4~3.6V。因此,实际使用时,注意输入电压不能超过3.6V,否则会烧坏芯片。开发板上设计了电源稳压电路,可以将4.5~12V的输入电压,转为3.3V,供MCU使用。这部分,我在后来再讲。

8位和32位的差异

F030是32位CPU,而8051属于8位CPU。差异在哪呢?

CPU的位数是指其指令字长以及一次能处理的最大整数宽度,一般内部数据总线的宽度也不低于此位数。CPU的位数越大,一个时钟周期的处理能力也越大。毫无疑问,F030一次能处理32位数的加减和逻辑位操作,而8051仅能处理8位。再思考到取指令和处理进位等过程,同频率8位机和32位机的性能差异可能在10倍以上。如果旧型号的非1T周期的8051,那性能差距更是成倍扩大。这个概念同样适用于PC和手机的64位CPU。

带您学STM32之二:主角MCU——F030

学会研究MCU

我们来认识一下F030到底内部是什么样子的。许多只研究编程的朋友,并不清楚MCU里面是什么样子,编代码只能是一种很抽象的思维过程。实则,如果能了解MCU内部的结构,那么编码中的许多语句,都可以想象成一个数据流动。

图中A是核心的CPU部分,包括存储、总线和高速设备。B部分是GPIO,C部分是我们常用的各种外设。我们重点关注A到B、C的过程。图中彩色的粗箭头是总线,联通了A->B和A->C,它们就像芯片里的高速公路。

A里的CPU发出一个读写指令,就像派出一个信令员,沿高速公路(总线)到达目的,如果有返回的信息(读数据),还会在通过高速公路(总线)返回到CPU中。由于CPU只有一个出口,所以CPU同时只能读写一个外设。

要学好单片机,必定要学会阅读器件手册,框图是器件手册最重大的部分之一,其余还有各电气指标、PIN-Map、外设操作手册等。这里我先浅尝辄止,这些将逐渐穿插于后来的文章里。

带您学STM32之二:主角MCU——F030

F030的内部逻辑框图

管脚复用

ARM与89C51的区别之一,就是外设大量与GPIO复用,初学者容易困惑。下图是IO的电路结构,大部分ARM单片机都差不多。初学者可能一下看不懂,问题不大。你只要知道GPIO和外设信号、模拟信号,最终汇总到引脚那就行。具体哪个起作用,要用GPIO的模式设定来完成,英文一般叫Function或Mode。通过配置GPIO的模式、输入输出、上下拉等配置,最终确定引脚功能。具体细节,这部分到后面会有专门的文章介绍。

带您学STM32之二:主角MCU——F030

F030的IO结构

小结

学单片机,最好先粗略看看器件手册,主要关注电气、PIN脚、外设等。上手后,再根据具体需求,逐个研究外设模块。上面,是一个热身,后来会有许多这样的分析和研究。

下次,我将以开发板的电路,分模块讲解。最近可能以讲宏观知识点为主,等板子做好,再讲实操。敬请期待。

© 版权声明

相关文章

7 条评论

您必须登录才能参与评论!
立即登录
  • 头像
    阿丢 读者

    两者都不少用。我们用030更多点,还有国产Pin2Pin兼容的。

    无记录
  • 头像
    奇奇瑟瑟瑟 读者

    讲很详细,不错不错

    无记录
  • 头像
    昌江发布 投稿者

    030是不是没有can,主频低,定时器也是1高级3通用?

    无记录
  • 头像
    南宫司徒 读者

    对的,030C8T6是没有CAN的,很多高级外设或者没有,或者被精减。就是个性价比高的MCU。M0的其他型号有带CAN的。

    无记录
  • 头像
    懂思教育 读者

    收藏了,感谢分享

    无记录
  • 头像
    某飞 读者

    STM32F030C8T6与STM32F103C8T6有什么区别,后者更常见呀

    无记录
  • 头像
    冲动与浪漫ovo 投稿者

    前面是M0内核,后面是M3内核。理论上后者性能强一点,实际差异很有限,前者成本更低些。其他差异一般情况用不上,可以忽略。

    无记录