分享

MPU知多少(一)

 乐创客搬运工 2021-01-27


十年前,当我在大学里的时候,买过一块开发板,那是当时很流行的S3C2440开发板,当时的三十二位机还没有像如今一样普及,很多人都认为嵌入式系统今后的发展方向一定是ARM9+Linux。这个S3C2440开发板,它的核心处理器其实就是一块S3C2440A,是三星公司推出的16/32位精简指令集(RISC)微型处理器,它是基于ARM920T核心的MPU(可以称其为微处理器)。我重新搜索了一下其产品特性,如下:
1.2V内核供电,1.8V/2.5V/3.3V存储器供电,3.3V外部I/O供电,具备16KB的I-Cache和16KB DC Cache/MMU处理器
外部存储控制器(SDRAM控制和片选逻辑)
LCD控制器(最大支持4K色STN和256K色TFT),提供1通道LCD专用DMA
4通道DMA并有外部请求引脚
3通道UART
2通道SPI
1通道IIC-BUS接口(多主支持)
1通道IIS-BUS音频编解码器接口
AC'97解码器接口
兼容SD主接口协议1.0版和MMC卡协议2.11兼容版
2端口USB主机/1端口USB设备(1.1版)
4通道PWM定时器和1通道内部定时器/看门狗定时器
8通道10bit ADC和触摸屏接口
具有日历功能的RTC
相机接口(最大4096 X 4096像素的投入支持,2048X2048像素的投入,支持缩放)
130个通用I/O口和24通道外部中断源
具有普通,慢速,空闲和掉电模式
具有PLL片上时钟发生器
FBGA-289封装
最高稳定FCLK可达400MHz
这个性能的ARM9处理器,其实放到现在来看,依旧可以吊打一众MCU。
而反观现在,通用MPU的市场貌似没有预期发展的那么好,学习的热度也比不上火热的STM32。主要原因可能有以下几点:
(1)    MPU速度非常快,有的甚至能达到1GHz,而且绝大多数的MPU需要外部扩展DDR,因此对MPU的硬件设计要求很高。
(2)    MPU由于要外接大量外设,因此引脚非常多,封装常常以BGA为主,BGA布线的板子,哪怕不考虑信号完整性,你需要扇出MPU的引脚至少需要四层及以上,因此PCB的生产成本很高。
(3)    MPU有大量的资源需要去驱动和调度,因此离不开Bootloader和Linux的移植,因此软件开发难度大。
综上原因,很多做一些要求不高的嵌入式产品时,目前的32位单片机就足够了,而且还能极大的降低成本。
 
虽然现在的MPU学习已经远远没有S3C2440那时候来的这么热了,但是依旧有不少行业中大量地使用它。下面我们就来谈谈目前主流的MPU有哪些。
 
AM335x系列
AM335x 微处理器基于 ARMCortex-A8 处理器,在图像、图形处理、外设以及 EtherCAT 和 PROFIBUS 等工业接口选项方面得到了增强。
工业应用依旧是德州仪器的强项,因此AM335x系列的MPU广泛被应用于工业控制,电力,机器人等行业。AM335x系列MPU从高端过渡到低端,分别有AM3359、AM3358、AM3357、AM3356、AM3354等多款配置参数各不相同的处理器,满足不同行业客户的各种功能需求,达到性价比最优的微妙平衡。且系列处理器管脚PIN对PIN兼容,方便客户进行产品升级。除此之外,TI强大的电源支持,还为这个系列的芯片配套了完整的电源管理芯片。
德州仪器可能太过于执着于自身的DSP了,因此早期它对MPU市场并不伤心,直到后来三星的S3C2440和S3C6410大放异彩之际,它才后知后觉地推出了自己的MPU。由于上市时间比较晚,因此直接采用了ARM-Cortex A8内核,而TI终究是TI,最后还是凭借着自己过硬的实力,经住了市场的检验,成为MPU家族中的中流砥柱。
 


i.MX 6系列
i.MX 6 是飞思卡尔(现被NXP收购)应用处理器的一个最新系列,应用于汽车电子,多媒体,工业控制,电子支付,消费电子等诸多领域。该系列产品涵盖了Cortex-A9单核,Cortex-A9双核,Cortex-A9四核,Cortex-A9 + Cortex-M4异构双核,Cortex-A7单核等共计9种产品类型。i.MX 6系列中不同的产品类型,能够覆盖从高性能到低功耗的多种应用场景。整个系列软件具有兼容性,支持 Linux和Android。除了使用分立电源供电,i.MX 6系列产品还有与之配套的飞思卡尔电源管理芯片(PMIC)。
i.MX 6的低端芯片i.MX 6UltraLite采用单核ARM Cortex-A7,处理器主频528MHz,采用NEON技术加速多媒体和信号处理算法,具有浮点运算单元。广泛应用于物联网,电子支付,智能家居,能源管理等领域。
而i.MX的高端芯片i.MX 6QuadPlus系列可显著增强图形和存储器性能,并与广泛的i.MX 6处理器引脚兼容。此器件是四核Arm®Cortex®-A9平台,运行频率高达1.2 GHz*,带有1 MB L2缓存,先进图形,预取和解析引擎以及优化的64位DDR3或2通道、32位LPDDR2支持。这个系列的器件集成了FlexCAN、MLB总线、PCI Express®和SATA-2,具有卓越的连接性,同时集成了LVDS、MIPI显示器端口、MIPI摄像头端口和HDMI v1.4,是需要较高图形性能的先进的消费电子、汽车和工业多媒体应用的理想多核平台。之前接触过一家叫做QNX操作系统公司的人员,他告诉我,目前汽车的全液晶仪表盘,很多都使用i.MX6Q系列的高端MPU。除了i.MX6以外,NXP还有如i.MX7,i.MX8等更高端的MPU,这里就不说下去了。
 

STM32MP系列
STM32MP系列于2019年推出,是意法半导体迈入ARM MPU的开山之作。虽然来的有点晚,但是一上市便以极高的性价比惊艳全场。
作为能够支持轻松开发更广泛应用的通用微处理器产品线,STM32MP1系列基于单核或双核Cortex-A7与Cortex-M4组成的异构架构,加强了支持多应用和灵活应用的能力,可以随时实现最佳性能和功率数据。Cortex-A7内核提供对开源操作系统(Linux/Android)的支持,而Cortex-M4内核可以利用STM32 MCU生态系统。
说句简单点的,就是它即引入了ARM Cortex A系列芯片优秀的交互能力,又保留了ARM Cortex M4核心易于开发和快速编程的优点(这一点其实i.MX早就引入了)。虽然市面上目前也有类似架构的MPU,但是STM32MP15x却有着极高的性价比,100多即可轻松入手STM32MP157双核A7+M4内核的MPU,实属性价比之作。
单或双Cortex-A7内核专用于开源操作系统,而Cortex-M4内核则专用于实时和低功耗任务。
运行于800 MHz的双Cortex®-A7内核
32KB的L1指令缓存
32KB的L1数据缓存
256KB的Level 2缓存
运行于209MHz的Cortex®-M4内核
单精度浮点单元(FPU)
一套完整的数字信号处理器(DSP)指令
内存保护单元用于增强应用安全性
Cortex-M4内核得益于嵌入式SRAM(448 KB),可以运行完全确定的代码。例如,当前使用基于STM32Cube固件的STM32 MCU的客户可以透明地在Cortex-M4内核的448 KB大小SRAM上完全复用其代码,并添加运行在Cortex-A7内核上的Linux应用程序(例如HMI)。
为了满足广泛的应用需求,大多数外设可以被分配给Cortex-A7或Cortex-M4内核。
 



以上是三家老牌的半导体厂家推出的MPU,我们乐创客后面也会陆续去完善这些芯片的开发板和教程。除了以上三家老牌的半导体厂家以外,国产MPU也是市场的一支劲旅,我们下期再说。


    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多