微控制器(Microcontroller,简称MCU)是一种小型计算机系统,通常被用于嵌入式系统中,用于控制各种电子设备和系统。它是一种集成电路(IC),包含了处理器核心、内存、输入/输出引脚、定时器、计数器、串口通信和其他外设,用于执行特定的任务。
微控制器
1 – 总览
对于一个 ARM 微控制器的初学者来说,有时候要找到一些有用的设计参考信息是非常困难的一件事。因为在网上实在有太多资源了,最先遇到的困难可能就是能不能找到一个地方帮助你正确选择一款 ARM 的处理器 ,目前,主要有两种 ARM 处理器:
应用处理器 Application processors – 这些都是能跑操作系统的,比如 Linux 呀, Windows RT 啥的。典型应用就是智能手机,移动计算设备甚至服务器。 推荐用 ARM Cortex-A 系列处理器
嵌入式处理器 Embedded processors – 比较典型的包括微控制器产品,以及其他广泛的嵌入式系统。目前在微控制器市场最流行的是 ARM Cortex-M 处理器系列 ,而 Cortex-R 处理器系列常用于专用控制器,比如硬盘驱动,汽车应用以及 基带控制等。
当然最近几年来,基于 Cortex-A 的微控制器也逐渐多起来了。这些微控制器可以跑 Linux 或者 Android 。和传统的模块化电脑 COM ( computer-on-module )相比, 成本降低了很多 。
2- ARM 网站文档
在 ARM 的信息中心 ( http://infocenter.arm.com ) 可以找到大量的 ARM 技术文档。
2.1 – 应用处理器资源
如果你是一个应用处理器的开发人员,或者你想使用一个基于 ARM Cortex-A 处理器的微控制器,那么下面的文档可以帮到你:
参考 | 文档 |
1 | Cortex-A Series Programmer’s Guide |
2 | Neon Programmer’s Guide |
这些文档深入介绍了 Cortex-A 处理器的架构。如果需要了解处理器产品的概述和相关信息,也可以访问产品网页 ( http://www.arm.com/products/processors/cortex-a/index.php )
如果你需要为智能手机开发基于 Android , Linux 或者 WindowsRT 的应用软件,那么最好从相应的 SDK 文档开始( Software Development Kit 软件开发套件)。 因为经常在编程环境中,应用代码只需要利用设备驱动或者 操作系统的应用程序编程接口,而不需要直接关联底层硬件 。
2.2 – 嵌入式处理器资源
如果你对低成本和低功耗微控制器感兴趣,那么 Cortex-M 系列将是你的不二之选。
您如果访问 http://www.keil.com/learn 网页 ,就会发现ARM提供了教程,应用笔记,视频等有用的资源给Cortex-M微控制器的用户。
同时在信息中心你能找到很多嵌入式处理器的文档。比如有一系列的 Cortex-M 处理器的入门手册:
处理器 | 入门手册 |
Cortex-M7 | Cortex-M7 Devices Generic User Guide |
Cortex-M4 | Cortex-M4 Devices Generic User Guide |
Cortex-M3 | Cortex-M3 Devices Generic User Guide |
Cortex-M0+ | Cortex-M0+ Devices Generic User Guide |
Cortex-M0 | Cortex-M0 Devices Generic User Guide |
这些文档涵盖了编程模型,处理器内嵌外设(比如中断控制器)以及指令设置等信息。 不过,如果你需要了解其他外设,内存映射以及微控制器(系列)其他特点,还是需要阅读微控制器制造商的用户手册
此外你还可以在 ARM 网站上找到更多的相关信息。从2015年第一季度开始,Cortex-M7的相关文档也能查找了。
如果您是从ARM7切换到Cortex-M的用户,这篇文档(稍微有点老)可能对您有一些帮助: http://www.arm.com/zh/files/pdf/Cortex-M3_programming_for_ARM7_developer...
如果您是从Cortex-M4 切换到Cortex-M7 的用户, 这篇 应用笔记 可以帮到你: NEW App Note: Migrating Application Code from ARM Cortex-M4 to Cortex-M7 Processors
而如果您需要Cortex-R的编程手册,可以点击Cortex-R编程手册
要找其他的Cortex-M产品信息,请访问这个网址
Cortex-R产品的信息,则请访问这个网址
2.3 – ARM 经典处理器资源
如果您选用的是 ARM 经典处理器例如 ARM7TDMI 或者 ARM926EJ-S 同样也可以在 ARM 网站或者信息中心找到相应文档资源 ( http://www.arm.com/products/processors/classic/index.php ). 此外需要强调的是其实有很多微控制器是基于 ARM7TDMI 或者 ARM9 处理器的 . 在 ARM 网站上,您同样可以找到相应的大量技术参考手册 Technical Reference Manuals (TRM) 。
同时,还有不少第三方也提供 ARM7 微控制器的学习指导文档。比如 Hitex 免费电子内部指导手册就涵盖了一些 ARM7 的微控制器产品 ( http://www.hitex.com/index.php?id=download-insiders-guides ).
2.4 – 教育 / 教学用资源
ARM 提供非常多的免费资料用于教学,中国大学的朋友们可 以点击这个链接: ARM 大学计划
2.5 – ARM 网站上的其他资源
在 ARM 信息中心,除了产品信息和用户手册以外,您还可以找到很多:
同时,在 Keil 的网站上 ( http://www.keil.com/ ),我们为初学者提供教程和应用笔记( http://www.keil.com/learn ) 还有许多应用笔记和教程告诉您如何为一些流行的微控制器开发代码 ( 例如 http://www.keil.com/appnotes/list/arm.htm ).
3 – 其他信息和资料
3.1 – 书籍
这里可以找到 ARM 相关书籍 : http://www.arm.com/support/resources/arm-books/index.php
3.2 – 在线资源
除了 ARM 的官网,还有很多地方有不少好的资料
在 ARM 在线社区 , Alban Rampon 建立了一个 MCU resources . 的网页
Stephan Cadene 也在 LinkedIn 上建立一个有用文档的列表 :
Some links and books to begin in ARM Architectures
微控制器厂商也有很多文档,教程,应用笔记等资源。有些厂商还有自己的论坛 。
3.3 – 视频
在 Youtube 上可以找到很多 ARM 的相关视频比如 ARMflix 频道 http://www.youtube.com/user/ARMflix . ARMflix 包含很多有用的教程帮助你学习 ARM 架构和开发工具,其中也包含 介绍 ARM 架构基本原理的内容 ARM Architecture Fundamentals 由 Chris Shore 发布 ( http://www.youtube.com/watch?v=7LqPJGnBPMM ). 中国用户可以去ARM的优酷网站观看其中一部分视频,请点击:ARM视界
3.4 – 开发工具
通常当你安装一个开发套件的时候,里面就已经包含有文档了(有一些甚至还有快速学习指导文档)以及样例项目。这些可以帮助你尽快理解软件开发流程和开展项目
当然也请不要忘记到工具厂商的网站去检查一下有没有其他的应用笔记。
3.5 - mbed 开发平台
mbed 是一个易于使用并且低成本的微控制器软件开发平台帮助你开发 ARM 微控制器。 m bed 板子设计就是用来轻松上手的,并且这个开发环境提供大量的外设和中间件的 API ,你可以为你的系统找到合适的范例。建议从第二版 mbed SDK 上手, SDK 是开源的 ( mbed )
4 – 学习 AAE 和 AAME ( ARM Accredited Engineer / ARM Accredited Microcontroller Engineer )
如果你在学习 AAE or AAME ( http://www.arm.com/support/arm-accredited-engineer-program/index.php ), 你可以在 ARM 网站上找到教学大纲:
不要忘记下载学习指导 ( 注 : AAME) 这些指导会帮助你更详细地了解如何找到相应的信息
同时在 AAE 和 AAME 网页 , 你可以找到其他的参考文档列表。
5 – 总结
其实有很多资源可以帮助大家上手 ARM 的微控制器。希望这篇文章能给你一个好的启示。如果你发现了什么有用的资源,请告知我们让我们做出更新。
原文地址: Getting started with ARM Microcontroller Resources
转自:极客头条
中央处理器是一块超大规模的集成电路,是一台计算机的运算核心和控制核心,它的功能主要是解释计算机指令以及处理计算机软件中的数据。主要包括运算器和高速缓冲存储器及实现它们之间联系的数据、控制及状态的总线。它与内部存储器和输入/输出设备合称为电子计算机三大核心部件。
目前,嵌入式处理器的高端产品有:Advanced RISC Machines公司的ARM、Silicon Graphics公司的MIPS、IBM和Motorola的Power PC 、Intel的X86和i960芯片、AMD的Am386EM、Hitachi的SH RISC芯片;掌上电脑的处理器有六类处理器,分别是:英特尔的PXA系列处理器、MIPS处理器、StrongARM系列处理器、日立SH3处理器、摩托罗拉龙珠系列处理器和德州仪器OMAP系列处理器。
微处理器和微控制器区别所在
微处理器和微控制器的区别主要集中在硬件结构、应用领域和指令集特征三个方面:
其一,硬件结构。 微处理器是一个单芯片CPU,而微控制器则在一块集成电路芯片中集成了CPU和其他电路,构成了一个完整的微型计算机系统。除了CPU,微控制器还包括RAM、ROM、一个串行接口、一个并行接口、计时器和中断调度电路。虽然片上RAM的容量比普通微型计算机系统还要小,但是这并未限制微控制器的使用。在后面可以了解到,微控制器的应用范围非常广泛。其中,微控制器的一个重要的特征是内建的中断系统。作为面向控制的设备,微控制器经常要实时响应外界的激励。
其二,应用领域。 微处理器通常作为微型计算机系统中的CPU使用,其设计正是针对这样的应用,这也是微处理器的优势所在。然而,微控制器通常用于面向控制的应用,系统设计追求小型化,尽可能减少元器件数量。在过去,这些应用通常需要用数十个甚至数百个数字集成电路来实现。使用微控制器可以减少元器件的使用数量,只需一个微控制器、少量的外部元件和存储在ROM中的控制程序就能够实现同样的功能。微控制器适用于那些以极少的元件实现对输入/输出设备进行控制的场合,而微处理器适用于计算机系统中进行信息处理。
其三,指令集特征。 由于应用场合不同,微控制器和微处理器的指令集也有所不同。微处理器的指令集增强了处理功能,使其拥有强大的寻址模式和适于操作大规模数据的指令。微处理器的指令可以对半字节、字节、字,甚至双字进行操作。通过使用地址指针和地址偏移,微处理器提供了可以访问大批数据的寻址模式。自增和自减模式使得以字节、字或双字为单位访问数据变得非常容易。另外,微处理器还具有其他的特点,如用户程序中无法使用特权指令等。
微控制器的指令集适用于输入/输出控制。许多输入/输出的接口是单位的。例如,电磁铁控制着马达的开关,而电磁铁由一个1位的输出端口控制。微控制器具有设置和清除单位的指令,也能执行其他面向位的操作,如对“位”进行逻辑与、或和异或的运算,根据标志位跳转等。很少有微处理器具备这些强大的位操作能力,因为设计者在设计微处理器时,仅考虑以字节或更大的单位来操作数据。
DSP芯片分类以及特点
数字信号处理器里的CPU是专门设计用来极快地进行离散时间信号处理计算的,比如那些需要进行音频和视频通信的场合。特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:
(1)在一个指令周期内可完成一次乘法和一次加法;
(2)程序和数据空间分开,可以同时访问指令和数据;
(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;
(4)具有低开销或无开销循环及跳转的硬件支持;
(5)快速的中断处理和硬件I/O支持;
(6)具有在单周期内操作的多个硬件地址产生器;
(7)可以并行执行多个操作;
(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。
当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些,DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令,可以用来快速的实现各种数字信号处理算法。DSP芯片可以按照下列三种方式进行分类。
(1)按基础特性分
这是根据DSP芯片的工作时钟和指令类型来分类的。如果在某时钟频率范围内的任何时钟频率上,DSP芯片都能正常工作,除计算速度有变化外,没有性能的下降,这类DSP芯片一般称为静态DSP芯片。如果有两种或两种以上的DSP芯片,它们的指令集和相应的机器代码机管脚结构相互兼容,则这类DSP芯片称为一致性DSP芯片。例如,美国TI公司的TMS320C54X就属于这一类。
(2)按数据格式分
这是根据DSP芯片工作的数据格式来分类的。数据以定点格式工作的DSP 芯片称为定点DSP芯片,如TI公司的TMS320C1X/C2X、TMS320C2XX/C5X、TMS320C54X/C62XX系列,ADI公司的 ADSP21XX系列,AT&T公司的DSP16/16A,Motolora公司的MC56000等。以浮点格式工作的称为浮点DSP芯片,如 TI公司的TMS320C3X/C4X/C8X,ADI公司的ADSP21XXX系列,AT&T公司的DSP32/32C,Motolora公司的 MC96002等。
不同浮点DSP芯片所采用的浮点格式不完全一样,有的DSP芯片采用自定义的浮点格式,如TMS320C3X,而有的DSP芯片则采用IEEE的标准浮点格式,如Motorola公司的MC96002、FUJITSU公司的 MB86232和ZORAN公司的ZR35325等。
(3)按用途分
按照DSP的用途来分,可分为通用型DSP芯片和专用型DSP芯片。通用型DSP芯片适合普通的DSP应用,如TI公司的一系列DSP芯片属于通用型DSP芯片。专用DSP芯片是为特定的DSP运算而设计的,更适合特殊的运算,如数字滤波、卷积和FFT,如Motorola公司的DSP56200,Zoran公司的ZR34881,Inmos公司的IMSA100等就属于专用型DSP芯片。
主要DSP芯片厂商及其产品
德州仪器公司
美国德州仪器是世界上最知名的DSP芯片生产厂商,其产品应用也最广泛,TI公司生产的TMS320系列DSP芯片广泛应用于各个领域。TI公司在1982年成功推出了其第一代DSP芯片TMS32010,这是DSP应用历史上的一个里程碑,从此,DSP芯片开始得到真正的广泛应用。由于TMS320系列DSP芯片具有价格低廉、简单易用、功能强大等特点,所以逐渐成为目前最有影响、最为成功的DSP系列处理器。目前,TI公司在市场上主要有三大系列产品:
(1)面向数字控制、运动控制的TMS320C2000系列,主要包括TMS320C24x/F24x、TMS320LC240x/LF240x、TMS320C24xA /LF240xA、TMS320C28xx等。
(2)面向低功耗、手持设备、无线终端应用的 TMS320C5000系列,主要包括TMS320C54x、TMS320C54xx、TMS320C55x 等。
(3)面向高性能、多功能、复杂应用领域的TMS320C6000系列,主要包括TMS320C62xx、 TMS320C64xx、TMS320C67xx等。
美国模拟器件公司
ADI公司在DSP芯片市场上也占有一定的份额,相继推出了一系列具有自己特点的DSP芯片,其定点DSP芯片有 ADSP2101/2103/2105、ADSP2111/2115、ADSP2126/2162/2164、ADSP2127/2181 、ADSP-BF532以及Blackfin系列,浮点DSP芯片有ADSP21000/21020、ADSP21060/21062,以及虎鲨 TS101,TS201S。
Motorola公司
Motorola 公司推出的DSP芯片比较晚。 1986年该公司推出了定点DSP 处理器MC56001;1990年又推出了与IEEE浮点格式兼容的的浮点DSP芯片MC96002。还有DSP53611、16位DSP56800、24位的DSP563XX和MSC8101等产品。
文章来源:嵌入式资讯精选