【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
对于一部分嵌入式场景来说,f103其实已经足够了,特别是要求不高的低速场合。如果开发的代码比较多,还可以选用更高版本的f103 mcu芯片。但是f103也有它自身的一些问题,比如频率不高、不支持硬件浮点、不支持mac、ran和flash过小、不支持复杂外设等等。所以在工业生产当中,如果希望要求比较高一点,一般都会选用f407这颗mcu来处理。
1、频率更高
整个f系列的mcu,f7是最高的,一般200多M,其次是f4 168M,最后是f1 72M。更高的频率,意味着单位时间内可以做更多的事情。当然如果f7还是不满足,还可以选用h7系类的mcu,频率可以达到400m。
2、支持硬件浮点运算
其实f103也是支持浮点运算的,但是这种浮点是软件浮点,相当于用函数搭起来的浮点。而f4开始,就可以实现硬件级别的浮点运算,相当于说cpu层面就可以支持浮点运算,而不是用函数仿真的。
3、更大的flash和ram
编写f103的时候,特别是c8t6之类的小芯片,很多情况下我们都会对ram和flash斤斤计较。比如说,移植一下rtos、fatfs,ram空间可能就上去了,20k ram不够用了。但是f407系列的mcu,上面的flash和ram都很丰富。以f407zgt7来说,上面包含了1m的flash、192k的ram,不管是编写代码,还是移植第三方软件,一般来说资源都是富余的。就算ram不够,还可以外挂一个sram来解决。
4、eth mac的支持
这里的eth mac,指的是网络支持。对于f103来说,虽然也可以支持网络,比如通过spi接口外挂一个w5500的模块,这也是可以的,但是总觉得不是很方便。而f407自身集成了mac模块,我们只需要外挂一个lan 8720这样的phy,进一步移植一下lwip,就可以实现网络通信了。网络通信在信息化的今天,还是非常非常重要的。
5、更复杂外设的使用
从前我们做f103开发的时候,无外乎就是spi、iic、sdio、tim这些接口。现在到了f407之后,频率高了,资源多了,相应可以做的事情也就更多了。这里最明显的特点就是f407支持lcd、支持camera、支持复杂usb应用。之前103虽然也支持屏幕,不过是分辨率比较小的那种屏幕。至于camera,f103很少支持,但是从407开始,我们就可以看到一些camera出现在开发板上了,只是想要跑算法的话,最好进一步提高到h750这样的mcu来处理。usb的话,其实103也用得少,一般都是232/485用的多。
6、总结
本身f407还是非常优秀的,更大的ram和flash,搭配上更复杂的外设,让我们除了spi、iic、sdio这些传统接口之外,还可以处理sram、lcd、camera,并且引入更多的中间件代码来处理业务,整个应用有了更多的可能性,这是非常非常重要的。
大部分stm32系列的mcu,稳定运行的温度区间都是-40度~+85度,部分mcu可以达到-40度~+105度,这一点就胜过了大部分的消费级soc。在成本要求越来越严苛的今天,mcu还是有很多优势和用武之地的。