如何选择合适的微处理器?选择微控制器的十个步骤

全部回答2
默认 最新
  • 这样的区别主要集中在硬件结构、应用领域和指令集特征3个方面:1)硬件结构微处理器是一个单芯片cpu,而微控制器则在一块集成电路芯片中集成了cpu和其他电路,构成了一个完整的微型计算机系统。图1-6虚线框中所示是大多数微控制器的完整结构。除了cpu,微控制器还包括ram、rom、一个串行接口、一个并行接口,计时器和中断调度电路。这些都集成在一块集成电路上。虽然片上ram的容量比普通微型计算机系统还要小,但是这并未限制微控制器的使用。在后面可以了解到,微控制器的应用范围非常广泛。微控制器的一个重要的特征是内建的中断系统。作为面向控制的设备,微控制器经常要实时响应外界的激励(中断)。微控制器必须执行快速上下文切换,挂起一个进程去执行另一个进程以响应一个“事件”。例如,打开微波炉的门就是一个事件,在基于微控制器的产品中这个事件将触发一个中断。微处理器也能拥有强大的中断功能,但是通常需要外部元件的配合,而微控制器在片上集成了所有处理中断必需的电路。2)应用领域微处理器通常作为微型计算机系统中的cpu使用。其设计正是针对这样的应用,这也是微处理器的优势所在。然而,微控制器通常用于面向控制的应用。其系统设计追求小型化,尽可能减少元器件数量。在过去,这些应用通常需要用数十个甚至数百个数字集成电路来实现。使用微控制器可以减少元器件的使用数量,只需一个微控制器、少量的外部元件和存储在rom中的控制程序就能够实现同样的功能。微控制器适用于那些以极少的元件实现对输入/输出设备进行控制的场合,而微处理器适用于计算机系统中进行信息处理。3)指令集特征由于应用场合不同,微控制器和微处理器的指令集也有所不同。微处理器的指令集增强了处理功能,使其拥有强大的寻址模式和适于操作大规模数据的指令。微处理器的指令可以对半字节、字节、字,甚至双字进行操作。通过使用地址指针和地址偏移,微处理器提供了可以访问大批数据的寻址模式。自增和自减模式使得以字节、字或双字为单位访问数据变得非常容易。另外,微处理器还具有其他的特点,如用户程序中无法使用特权指 令等。微控制器的指令集适用于输入/输出控制。许多输入/输出的接口是单/位的。例如,电磁铁控制着马达的开关,而电磁铁由一个1位的输出端口控制。微控制器具有设置和清除单位的指令,也能执行其他面向位的操作,如对“位”进行逻辑与、或和异或的运算,根据标志位跳转等。很少有微处理器具备这些强大的位操作能力,因为设计者在设计微处理器时,仅考虑以字节或更大的单位来操作数据。在对设备的控制和监视方面(可能是通过一个1位的接口),微控制器具有专门的内部电路和指令用于输入/输出、计时和外部中断的优先权分配。微处理器一般需要配合附加的电路(串行接口芯片、中断控制器、定时器等)才能执行相同的任务。不过,单纯就处理能力而言,微控制器永远达不到微处理器的水平(在其他条件相同的情况下),因为微控制器芯片中的集成电路的很大一部分用于实现其他的片上功能,代价就是牺牲掉一部分处理能力。由于微控制器芯片上的资源非常紧张,它的指令必须非常精简,大部分指令的长度都短于1个字节。控制程序的设计原则通常是要求程序能够装入片上的rom,因为即使只增加1片外部rom也将显著提高产品的硬件成本。微控制器指令集的基本特点就是具有精简的编码方案。
    0 点赞
  • 选择适合某个产品使用的微处理器是一项艰巨的任务。不仅要考虑许多技术因素,而且要考虑可能影响到项目成败的成本和交货时间等商业问题。在项目刚启动时,人们经常压抑不住马上动手的欲望,在系统细节出台之前就准备微控制器选型了。这当然不是个好主意。在微控制器方面做任何决策时,硬件和软件工程师首先应设计出系统的高层结构、框图和流程图,只有到那时才有足够的信息开始对微控制器选型进行合理的决策。此时遵循以下10个简单步骤可确保做出正确的选择。步骤1:制作一份要求的硬件接口清单利用大致的硬件框图制作出一份微控制器需要支持的所有外部接口清单。有两种常见的接口类型需要列出来。第一种是通信接口。系统中一般会使用到USB、I2C、SPI、UART等外设。如果应用要求USB或某种形式的以太网,还需要做一个专门的备注。这些接口对微控制器需要支持多大的程序空间有很大的影响。第二种接口是数字输入和输出、模拟到数字输入、PWM等。这两种类型接口将决定微控制器需要提供的引脚数量。图1显示了常见的框图例子,并列出了对I/O的要求。图1:硬件功能清单步骤2:检查软件架构软件架构和要求将显著影响微控制器的选择。处理负担是轻是重将决定是使用80MHz的DSP还是8MHz的8051。就像硬件一样,记录下所有要求非常重要。例如,是否有算法要求浮点运算?有高频控制环路或传感器吗?并估计每个任务需要运行的时间和频度。然后推算出需要多少数量级的处理能力。运算能力的大小是确定微控制器架构和频率的最关键要求之一。步骤3:选择架构利用步骤1和步骤2得到的信息,一个工程师应该能够开始确定所需的架构想法。8位架构可以支撑这个应用吗?需要用16位的架构吗?或者要求32位的ARM内核?在应用和要求的软件算法之间经常推敲这些问题将最终得出一个解决方案。不要忘了还有未来的可能要求和功能扩展。只是因为目前8位微控制器可以胜任当前应用并不意味着你不应为未来功能扩展甚至易用性考虑16位微控制器。记住,微控制器选型是一个反复的过程。你可能在这个步骤中选择了一个16位的器件,但在后面的步骤中发现32位ARM器件会更好。这个步骤只是让工程师有一个正确的考虑方向。步骤4:确定内存需求闪存(flash)和RAM是任何微控制器的两个非常关键的组件。确保程序空间或变量空间的充足无疑具有最高优先级。选择一个远多于足够容量的闪存和RAM通常是很容易做到的。不要等到设计末尾时才发现你需要110%的空间或者有些功能需要削减,这可不是闹着玩的。实际上,你可以在开始时选择一个具有较大空间的器件,后面再转到同一芯片系统中空间更小些的器件。借助软件架构和应用中包含的通信外设,工程师可以估计出该应用需要多大的闪存和RAM空间。不要忘了预留足够空间给扩展功能和新的版本!这将解决未来可能遇到的许多头疼问题。
    0 点赞

没有更多内容了

返回顶部
产品求购 求购