【深入浅出CortexM4-SWM320 第一章】SWM320控制器简介

单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用缩写MCU表示。单片机由运算器、控制器、存储器、输入输出设备构成,相当于一个微型的计算机(最小系统)。与计算机相比,单片机缺少了外围设备等,概括的讲:一块芯片就成了一台计算机,它的体积小、质量轻、价格便宜,从而为学习、应用和开发提供了便利条件。

INTEL的8080是最早按照这种思想设计出的处理器,当时的单片机都是4位或8位的。其中最成功的是INTEL的8051,此后发展出了MCS51系列单片机系统,因为简单可靠而性能不错获得了很大的好评。可2000年以后ARM公司先后推出了32、64位,主频从几十MHz到上GHz。在很多方面单片机比专用处理器更适合应用于嵌入式系统,因此它得到了广泛的应用。事实上单片机是世界上数量最多处理器,随着单片机家族的发展壮大,单片机和专用处理器的发展便分道扬镳。

几乎现代人类生活中的每件有电子器件的产品中都会集成有单片机。例如手机、智能穿戴、智能家居、掌上电脑等电子产品。 汽车上一般配备几十片单片机,复杂的工业控制系统上甚至可能有数百、上千片单片机在协同工作!单片机的数量不仅远超过PC机和其他计算机的总和。截止17年末,据官方统计,基于ARM核的芯片出货量达到了600多亿,是世界人口的10倍之多。

可见单片机应用之广,前景之大,随着物联网、人工智能、区块链等新兴技术的兴起,加之对速度、功耗、性能等方面的严格要求,基于ARM核的控制器以优越的性价比取代8位机,是大势所趋,设计所向,那么学习基于ARM核的单片机也迫在眉睫。

1.1 ARM知多少

一、ARM公司简介

ARM(Advanced RISC Machine)有三种含义,它是一家公司的名称;是一种技术的名称;是一类处理器的通称。

ARM公司是微处理器行业的一家知名企业,提供基于ARM体系的知识产权。ARM公司并不生产芯片,也不出售芯片;转让设计方案给半导体厂商,由半导体厂商生产SOC,并销售;同时提供一些其他的技术服务,比如物理IP、图像内核、开发工具、实时操作系统。

二、ARM处理器家族

ARM处理器家族现阶段有四大类,具体如下:

  1. 早先经典处理器,包括ARM7、ARM9、ARM11,称之为Classic系列;
  1. Cortex-M系列,该系列为单片机驱动的系统提供了低成本优化方案,应用于传统的微控制器市场,蓝牙、WiFi设备,智能传感器,汽车周边部件等。具体分类有Cortex-M0、Cortex-M1、Cortex-M3、Cortex-M4、Cortex-M7。
  2. Cortex-A系列,主要针对开放式操作系统的高性能处理器。应用于智能手机、数字电视、智能本等高端领域。按性能可分为Cortex-A5、Cortex-A7、Cortex-A8、Cortex-A9、Cortex-A15、Cortex-A53、Cortex-A57。
  3. Cortex-R系列,主要针对实时系统、满足实时性的控制需求,应用于汽车控制系统、动力系统等。分类有Cortex-R4、Cortex-R5、Cortex-R7。

三、ARM处理器指令集

所谓指令集就是处理器能够识别并执行的指令集合,每条指令可处理一个简单或复杂操作(加、加乘…),并且每一条指令对应一条或几条汇编指令。

常见指令集分两大类,复杂指令集(CISC),包括处理复杂操作的特定指令,指令长度不固定,执行需要多个周期;精简指令集(RISC),指令简单有效,格式和长度通常是固定的,大多数指令在一个周期内可以执行完毕。其中ARM的内核是基于RISC体系结构的。

四、片上系统-SOC

片上系统是指在单个芯片上集成一个完整的计算机系统,所谓完整的系统一般包括*处理器(CPU)、存储器、外围电路等。我们入门的51单片机同样是一个片上系统,只是他的资源没有基于ARM的这么丰富,运行主频么有那么快,功耗等方面没有那么有优势。

既然ARM公司不出芯片,那我们用的IC是有哪些厂商制造了?世界上能制造芯片的厂商很多,这里不一一列举,其中以Cortex-M为核心的有欧美的Microchip、Silicon Labs、NXP、ST等,*的新唐、松翰、合泰,大陆的上海灵动、北京兆易、佛山华芯微特。这里我们着重以华芯微特的SWM320(M4核)为主,来讲述SWM320的学习和应用。

1.2 SWM320简述

SWM320是一款基于ARM公司CortexTM-M4的32位微控制器。具有高性能、低功耗、代码密度大等突出特点,适用于工业控制、白色家电、电机驱动等诸多应用领域。

SWM320内嵌CortexTM-M4控制器,片上包含精度为1%以内的20MHz、40MHz时钟,可通过PLL倍频到120MHz时钟,提供多种内置FLASH/SRAM大小可供选择,支持ISP(在系统编程)操作及IAP(在应用编程)。

外设串行总线包括1个CAN接口,多个UART接口、SPI通信接口(支持主/从选择)及I2C接口(支持主/从选择)。此外还包括1个32位看门狗定时器,6组32位通用定时器,1组32位专用脉冲宽度测量定时器,12通道16位的PWM发生器,2个8通道12位、 1MSPS的逐次逼近型ADC模块,1 SDIO接口模块,TFT-LCD液晶驱动模块以及RTC实时时钟、SRAMC、SDRAMC、NORFLC接口控制模块,同时提供欠压检测及低电压复位功能。同时外设可通过编程,*分配到各个GPIO口上,这样极大简化了PCB的设计。

1.3 SWM320的特性

  1. 内核
  1. 32位CortexTM-M4内核
  2. 24位系统定时器
  3. 工作频率最高120MHz
  4. 硬件单周期乘法
  5. 集成嵌套向量中断控制器(NVIC),提供最多240个、8级可配置优先级的中断
  6. 通过SWD接口烧录
  1. 内置LDO,供电电压范围为2.0V~3.6V
  2. 128KB的片上SRAM存储器
  3. 256/512KB的片上FLASH存储器,支持用户定制ISP(在系统编程)更新用户程序
  4. 串行接口
  1. UART模块,具有独立8字节FIFO,最高支持主时钟16分频
  2. SPI模块,具有8字节独立FIFO,支持SPI、SSI协议,支持master/slave模式
  3. I2C模块,支持7位、10位地址方式,支持master模式
  4. CAN模块,支持协议2.0A(11Bit标识符)和2.0B(29Bit标识符)
  1. PWM控制模块
  1. 12通道16位PWM产生器
  2. 可设置高电平结束或周期开始两种条件触发中断
  3. 具有普通、互补、中心对称等多种输出模式
  4. 支持死区控制
  5. ADC采用触发
  1. 定时器模块
  1. 6路32位通用定时器
  2. 可做计数器使用
  3. 支持输入单脉冲捕获功能
  4. 32位看门狗定时器,溢出后可配置触发中断或复位芯片
  1. RTC 模块
  1. 使用支持自校正功能的内部32KHz时钟
  2. 可*设置日期(年、月、周、日)和时间(时、分、秒
  3. 可*设置闹钟(周、时、分、秒)
  4. 自动识别当前设置年份是否为闰年
  5. 支持RTC中断从Sleep模式下唤醒芯片
  1. DMA 模块,支持存储器到存储器之间的数据搬运
  2. SRAMC模块,支持8位数据位宽和16位数据位宽的外部SRAM存储颗粒,最大支持24位地址线
  3. SDRAMC模块

支持16Bit位宽的SDRAM

支持兼容PC133标准的SDRAM颗粒

支持2MB到64MB的外部SDRAM颗粒

  1. NORFLC模块

支持并行NOR FLASH接口

支持8位数据位宽和16位数据位宽的外部NOR FLASH存储颗粒
最大支持24位地址线

  1. SDIO接口模块,支持标准SDIO接口协议
  2. TFT-LCD 驱动模块
  1. 支持MPU/SYNC两种接口的外部LCD扩展
  2. 支持最高分辨率1024*768,实际分辨率可以配置
  3. 输出数据宽度16Bit
  4. 支持横屏和竖屏模式
  1. GPIO
  1. 可配置成4种IO模式(上拉输入、下拉输入、推挽输出、开漏输出)
  2. 灵活的中断配置
  3. 触发类型设置(边沿检测、电平检测)
  4. 触发电平设置(高电平、低电平、双电平)
  5. GPIO可配置灵活配置为I2C、UART、SPI、CAN等接口
  1. 模拟外设
  1. 12位8通道高精度SAR ADC
  2. 采样率高达3M SPS
  3. 内建7档参考电压,最低至100mV
  4. 支持single、scan两种模式
  5. 独立的结果寄存器
  6. 提供独立 FIFO
  7. 可由软件、PWM、TIMER 触发
  8. 支持 DMA
  1. 欠压检测( BOD)
  1. 支持欠压检测
  2. 支持欠压中断和复位选择
  1. 时钟源
  1. 20MHz/40MHz 精度可达1%的片内时钟源
  2. 32KHz精度可达5‰的片内时钟源
  3. 2~32MHz片外晶振
  1. 环境
  1. 工作温度:-40℃~105℃
  2. 保存温度:-40℃~150℃
  3. 湿度等级:MSL3
  1. 可定制 ISP 程序,可定制96BIT独立ID

1.4 SWM320功能框图及其封装实物

前面了解到,每个单片机实质是一个片上系统,这里我们看看SWM320的片上系统结构框图,具体如图1-1所示。

【深入浅出CortexM4-SWM320 第一章】SWM320控制器简介

图1-1 SWM320结构框图

具体资源在特性里有详细介绍这里,这里不再赘述。其封装形式有LQFP64(图1-2左)、LQFP100(图1-2右),其示意图见图1-2。

                                                    【深入浅出CortexM4-SWM320 第一章】SWM320控制器简介

1.5 SWM320应用领域

基于以上丰富的特性和惠民的价格,可广泛应用于各行各业。

  1. 音频系统:专业麦克风、吉他控制板
  2. 工业计算设计:EBS、PLC、测量和测试、工厂自动化、HMI控制系统
  3. 消费类产品:智能家电、LCD、数码产品
  4. 楼宇和家庭自动化:物联网关、照明控制、温湿度控制
  5. 电机控制和电源转换:3D打印机、无人自动驾驶、机器人