随着科技的不断发展,单片机的种类和功能也在不断扩展和完善。在众多的单片机中,8位单片机和32位单片机是最为常见的两种类型。本文将为您介绍这两种单片机的特点,以及如何为您的PCB设计选择合适的微控制器。
一、8位单片机
8位单片机是最早出现的单片机之一,其特点是价格低廉、开发简单、指令集简单,适用于控制简单、运算量不大的场合。8位单片机的时钟频率通常在10MHz以下,运行速度相对较慢。由于其内部存储器容量较小,因此通常只能处理一些简单的控制任务。
在选择8位单片机时,需要考虑以下几个因素:
1. 性能指标:8位单片机的性能指标主要包括时钟频率、指令集、内部存储器容量等。根据您的应用需求,选择符合要求的单片机。
2. 开发环境:8位单片机的开发环境通常比较简单,易于学习和使用。在选择单片机时,需要考虑开发环境是否支持您的开发语言和开发工具。
3. 价格:8位单片机的价格相对较低,适合一些预算有限的场合。在选择单片机时,需要考虑价格因素是否符合您的预算要求。
二、32位单片机
32位单片机是近年来逐渐普及的一种单片机类型,其特点是时钟频率高、运行速度快、内部存储器容量大,适用于需要高性能、高速度、大容量存储的应用场合。32位单片机的时钟频率通常在100MHz以上,运行速度比8位单片机快很多。由于其内部存储器容量较大,因此可以处理一些复杂的控制任务和数据处理任务。
在选择32位单片机时,需要考虑以下几个因素:
1. 性能指标:32位单片机的性能指标主要包括时钟频率、指令集、内部存储器容量等。根据您的应用需求,选择符合要求的单片机。
2. 开发环境:32位单片机的开发环境通常比8位单片机复杂,需要更高的编程技能和经验。在选择单片机时,需要考虑开发环境是否支持您的开发语言和开发工具。
3. 价格:32位单片机的价格相对较高,适合一些需要高性能、高速度、大容量存储的应用场合。在选择单片机时,需要考虑价格因素是否符合您的预算要求。
三、选择合适的单片机
在选择单片机时,需要根据您的应用需求和预算要求来选择合适的类型。如果您需要控制一些简单的机电设备,且运算量不大,那么8位单片机可能是一个更好的选择。如果您需要处理一些复杂的控制任务和数据处理任务,且需要高性能、高速度、大容量存储,那么32位单片机可能更适合您的需求。
除了以上两种类型外,还有一些其他的单片机类型,如16位单片机等。在选择单片机时,需要根据您的应用需求和预算要求来选择合适的类型。同时,还需要考虑开发环境、技术支持等因素,选择一个可靠的供应商和开发平台。
8 位与 32 位 MCB:微控制器基础知识
严格来说,8 位微控制器在任何特定时间处理 8 位数据。 MCU 使用的位数(有时称为位深度或数据宽度)告诉您寄存器的大小(每个寄存器 8 位)、内存地址的数量(仅 2^8 = 256 个地址)以及它们的最大数量可以处理(同样,2^8 = 256 个整数,或整数 0 到 255)。 8 位微控制器具有有限的寻址能力,但一些 8 位微控制器使用分页,其中页面寄存器的内容决定使用哪个板载存储体。
32 位微控制器理论上可以处理达到 2^32 的数字。它们具有 32 位算术逻辑单元、寄存器和总线宽度。一般来说,这意味着 32 位可以处理四倍的数据量,使其在技术上更高效。但是,8 位和 32 位微控制器之间还存在超出算术运算的其他差异。
算术运算
一个限制应该是显而易见的,即对算术运算的限制。 8 位微控制器通常只允许输出从 0 到 255(或从 -127 到 128)范围内的数字的算术运算,尽管可以在两个线程之间共享更大的数字。这引入了一些编程复杂性,因为线程不会在硬件级别自动发生。
一般来说,使用数据宽度较大的微控制器可以进行较大的计算。一个 32 位微控制器可以处理从 0 到 4,294,967,295 的无符号数(我会让读者找出有符号数的范围!)。如果您使用 C 之类的高级编程语言或专有 IDE(例如 AtmelStudio),您应该可以访问支持更大数字或使用科学记数法的库。
8、16 和 32 位微控制器的外形尺寸
如果听起来 32 位微控制器总是比 8 位微控制器安装在更大的封装中,这并不总是正确的。一些 8 位、16 位和 32 位微控制器具有相同的外形尺寸(例如,Microchip 提供了一系列具有不同位宽的微控制器,它们都采用 TQFP-64 封装)。 8 位微控制器采用 DIP 封装,如常见的 Arduino 板。
8 位(左)和 32 位(右)微控制器的两种常见封装。
嵌入式软件和内存使用
在软件层面,代码中使用的数据类型也将决定使用哪种类型的微控制器。例如,在 8 位微控制器中声明的无符号整数将仅消耗 1 个字节。 32 位微控制器中的相同变量消耗 4 个字节的数据。你可能会说“等等,一个 32 位 MCU 有 1600 万倍的地址,如果它使用 4 个字节,我们在乎什么?”可用唯一地址的最大数量与放置在微控制器上的实际内存量无关。片上存储器通常处于 KB 级别,因此代码中所需的数据量很重要。
决定是 8 位还是 32 位微控制器不仅仅涉及数据宽度。考虑 8 位和 32 位微控制器之间的主要差异将帮助您为您的设计做出最佳决策。
速度和内存
与 8 位微控制器相比,32 位微控制器的主要优势之一是其卓越的处理速度。典型的 8 位微控制器通常以 8 Mhz 运行,而 32 位微控制器的时钟频率可达数百 Mhz。如果您使用微控制器打开机械继电器,您可能不会注意到嵌入式数据处理速度的差异;但是,当您运行需要大量数据处理应用程序的应用程序时,这一点很快就会变得明显。例如,每天处理数千笔交易的门禁控制器需要一个 32 位微控制器处理器。
8 位微控制器价格便宜且易于使用。事实上,它们在许多应用中经过四年的发展仍然非常流行。但是,如果您正在开发需要大量内部随机存取存储器 (RAM) 的产品,那么您可能需要将 8 位替换为 32 位。 32 位微控制器的 RAM 通常是 8 位微控制器的 8 倍。如果您需要一个巨大的缓冲区来存储音频数据,那么 32 针微控制器是更好的处理器应用选项。
编辑搜图
如果您的设计离不开速度,请购买 32 位微控制器。
嵌入式系统设计的基础包括根据项目要求创建所需外围设备的列表。如果您需要以太网、通用串行总线(USB 堆栈)、多个通用异步收发器设备 (UARTS) 和控制器局域网 (CAN) 总线,则 8 位微控制器将是不够的。您可能需要考虑添加外围芯片,这可能比单独使用 32 位微控制器的成本更高。
通常,与 8 位微控制器相比,32 位微控制器功能丰富。凭借卓越的处理速度,32 位微控制器可以高效地处理多个外设。但是,请记住,32 位微控制器会消耗更多功率,尤其是在所有嵌入式系统和外围设备都打开的情况下。
硬件设计和学习曲线
公平地说,带有 32 位微控制器的 PCB(通常有 100 多个引脚)比 8 位微控制器更复杂,8 位微控制器很少超过 30。组装方面,焊接 SOIC 封装绝对比 Quad Flat 容易封装 (QFP) 或球栅阵列 (BGA) 封装。 SOIC 封装上的更宽间距也减少了质量问题。如果 8 位微控制器设备足以满足您的项目,请不要选择 32 引脚微控制器。否则,请在 PCB 设计软件中使用预先构建的封装以最大程度地缩短设计时间。
当您搜索微控制器的编程教程时,您会发现大多数教程都使用 8 位微控制器,例如 8051 或 Arduino,这是一种流行的基于 8 位的微控制器板。这是因为使用 8 位微控制器更容易上手。 32 位微控制器具有更复杂的架构,需要更长的时间来熟悉。如果您正在创建一个简单的代码生产计数器,那么请固件工程师花一周时间研究微控制器是不划算的,因为他可以使用 8 位微控制器以更便宜的价格设置整个固件。
编辑搜图
32 位微控制器应用
32 位微控制器有很多应用,但这应该是关于何时不使用 32 位微控制器的讨论。一般来说,任何需要计算不可避免地涉及大量数字并且必须更快地计算的应用程序都应该使用 16 位或 32 位微控制器。一些示例操作包括 FFT 计算、图像处理、高质量音频或视频以及边缘计算应用程序。一些涉及机器学习或 AI 的内存和处理密集型任务最好使用更强大的东西来实现,例如 ARM MCU 或单板计算机。如果您需要收集模拟信号的测量值,32 位微控制器不一定比 8 位微控制器好。微控制器引用的位深度不等同于内置模数转换器 (ADC) 的位深度。市售微控制器将包括一个板载 ADC,其速率可达到 8 位、10 位、12 位或 16 位。对于移动应用,32 位微控制器将以更高的功耗为代价提供更密集的计算。
可以使用 32 位微控制器更快地完成重要计算,然后让 CPU 长时间处于睡眠模式。然而,这并不意味着 32 位微控制器更节能。与类似的 32 位设备相比,8 位微控制器通常会提供更长的电池寿命并具有更好的外围功能平衡。为您的 PCB 设计选择最佳 MCU 要为您的 PCB 设计选择最佳微控制器,同时最大限度地减少时间和总成本,有必要仔细评估 8 位与 32 位微控制器的主要优势和劣势。通过考虑速度、复杂性、外围设备和闪存等设计要求,您可以在为您的设计选择最佳微控制器时最大限度地减少决策瘫痪和潜在的挫折。如果您需要使用易于使用的 PCB 布局工具,其中包括构建高质量可制造电路板所需的一切,那么 CircuitMaker 就是您的最佳选择。除了易于使用的 PCB 设计软件外。