0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

拥有性能良好且集成的工具和可配置性可帮助外围的编程设计

牵手一起梦 来源:电子工程网 作者:佚名 2020-10-04 14:57 次阅读

今天半导体工艺几何尺寸的不断减小正在改变微控制器的经济学。新的嵌入式设计开发工具成本快速增长,但微控制器上的数字逻辑线路成本正不断下降。这使得提供具有更多外围的微控制器更具经济性,尤其是如果这些外围属于数字类电路、UARTCAN控制器和以太网MAC等。目前市场上带有更复杂外围的微控制器正不断出现。如果我们将闪存和RAM也看作是外围,那么今天许多微控制器的结构中90%以上的部分都是外围。

这里以目前销售的8051和许多衍生器件为例进行说明。10年前,8051几乎要被弃用,但是现在有许多新产品还在采用8051内核,为提高性能,其外围的数量和种类都有了显着增加。许多熟悉8051的工程师都在关注这些新产品。他们认为自己了解8051内核,所以采用基于8051的器件比采用基于其它内核的器件会更简单。但仅仅熟悉微控制器内核就足够了吗?

1 用C编译器编写控制器软件

在回答这个问题之前,先了解一下新微控制器发展的过程。大多数微控制器制造商都有许多不同的变种产品,某个厂商甚至拥有500多个不同的变种。这些变种对于设计者为特定应用充分选择外围提供了条件。

图1:CyanIDE集成开发环境。

一种更好的方式就是选择已经具备很多项目所需的所有外围和灵活输入输出排列的微控制器。因此,用户可以选择和配置每个项目要求的具体外围组合,显著降低了PCB重新设计所需的工作量。选择这类微控制器可以使硬件修改更加容易。这可使用户更加灵活地选取恰当的外围组合来满足设计要求。

此外,工程师通过降低不同零部件购买和库存的数量,将获得公司内的物料供应人员认同,因为在过去很长的一段时间内,我们看到制造商都以能提供各种各样的微控制器为荣,实际上,这对于客户和制造商本身来说都无异于一场物流供应方面的噩梦。事实上,供货商应更好地利用不断降低的硅成本制造更少变种、但功能更强大的微控制器。

大多数工程师会争辩说软件功能是他们不能放弃现有微控制器系列的原因之一,所以我们来谈谈软件问题。

考虑一款新的微控制器时,需要解决2个主要软件问题:

1. 编写完全运行在内核中的算法,包括数学算法(如滤波算法)或主循环;

2. 外围初始化和接口的软件。

首先来谈谈在微控制器内核中运行的软件。过去几年里,C编译器的使用不断普遍,并且效率也有所提高。这意味着,C编译器可节省的编程工作比所有应用程序中性能损失的程度更重要。仍有一些与时间精确性相关的软件功能需要用汇编程序编写,但是这些程序也可能打包在C编译器编写的主程序中。

除了编译器的效率外,微控制器总体性能也有了明显的提高。许多工程师都利用比以前性能强10倍的现代控制器并转变成用C编译器编写软件,而设计出的产品比前几代产品运行起来要快得多。

采用C编译器的另外一个驱动因素就是许多产品普遍都需要增加代码数量。在汇编程序中编写8K代码可能相当于100张A4纸的软件。编写和维护这种数量的代码需要耗费大量的工作量。一旦你开始着眼于需要32K或64K代码的应用程序,那么使用编译器自然而然就成了99%应用程序的唯一实际选择。

如果我们决定下一个要开发项目使用C编译器,那么就可以做出一个大胆得结论。包括C语言在内的高级语言可以使工程师避开微控制器内核的繁杂工作。如果我们编写:

Counter=Counter+1; (or Counter++;),

我们可以意识到其实我们不必在乎它在应用程序中究竟如何执行。这就是编译器的主要目的所在,所以也就不足为怪。只要变量Counter增加,我们并不需要知道是否使用累加器或寄存器架构获得结果。

2 应对复杂外围电路编程挑战

现在来讨论外围电路编程的问题。在市场上许多新款微控制器中,外围数量迅速增长。越来越多的芯片面积都被外围电路占用,它们的复杂性和功率似乎也在不断增加。今天市场上的一些8051微控制器拥有300~400页的数据手册。其中,你会发现只有25页内容是介绍内核工作原理的,剩下的都是关于外围的,从复位控制器、复杂的ADC到更复杂的通信控制器(如CAN、USB、以太网)。

这让我们得出一个结论,涉及外围的软件比完全在内核中运行的软件要花费更多得多的工作量。

进一步说就是,专门针对外围的datasheet越多,对熟悉这种控制器内核来说就越无益。

图2:赛恩的16位微控制器μCOG1m集成了密集的外围电路

作为面对复杂外围的工程师,为了避免淹没在那些外围实现所有预期用途的繁重任务时,你会怎样做呢?有些微控制器制造商提供能够生成源代码的工具。在图1中,你可以到这种工具的一个例子,赛恩科技公司提供的CyanIDE集成开发环境,显示了只需点击鼠标就可以轻松设定UART波特率的便捷方法。

有了这些工具,开发者无需阅读长篇累牍的数据手册就能算出每个寄存器中应该编程的数值。此外,CyanIDE还具有全面的上下文相关的帮助。这种工具可以大幅减少新款微控制器所涉及的工程量。

3 本文小结

本文开篇就对一项假设提出了质疑,即选择带有熟悉内核的微控制器一定会降低新项目设计工作涉及的学习任务量吗?对所涉及的工作进行简单分析后,可以清楚的发现这种假设是不正确的。如果使用C编译器和即使带有为数不多外围的器件,那么对内核的熟悉程度比起帮助完成外围电路编程的工具来说其重要性要小得多。

实际上,如果新制造商拥有性能良好且集成的工具帮助进行外围的编程,那么选择新制造商的微控制器可能不比选择来自传统系列和制造商但具有重要新型外围的微控制器更容易。工具和可配置性的强有力结合比拥有内核方面的丰富经验要重要得多。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    15154

    浏览量

    170951
  • 寄存器
    +关注

    关注

    30

    文章

    5020

    浏览量

    117630
  • 编译器
    +关注

    关注

    1

    文章

    1570

    浏览量

    48603
收藏 人收藏

    评论

    相关推荐

    电源系统设计中灵活性和可配置的好处

    。全定制式设计,按照用户的具体规格定制,包括功率、输出数、外形尺寸、环境保护和其它任何必需参数。可配置或可编程电源。 通过选择安装在常用底座单元中的适当模块,可配置电源单元能够支持多种电源规格,还支持
    发表于 04-07 15:06

    Silego 可配置混合信号集成电路出货量突破30多亿

    有效的硬件产品投入市场。CMIC产品平台是扩展的,它是由可配置集成电路、专有的设计软件以及开发工具包组成。我们的解决方案包括我们专有的CMIC平台与交付模式,其中包括互动设计支持、快
    发表于 08-28 15:53

    一种基于FPGA的可配置FFT IP核实现设计

    中,数字信号处理系统经常要进行高速、高精度的FFF运算。现场可编程逻辑阵列(FPGA)是一种定制集成电路,具有面向数字信号处理算法的物理结构。用FPGA实现FFT处理器具有硬件系统简单、功耗低的优点
    发表于 07-03 07:56

    SoPC目标板Flash编程设计的创建及应用介绍

    ,它是可编程片上系统,即由单个芯片完成整个系统的主要功能,并具备软硬件系统可编程的能力;另一方面,它内嵌处理器IP核,具有灵活的设计方式,用户可根据需要随意配置、构建、裁剪处理器IP核。目前最具有代表
    发表于 07-29 06:58

    怎么实现SoPC目标板Flash编程设计的创建?

    怎么实现SoPC目标板Flash编程设计的创建?目标板Flash编程设计在实际Flash编程中的应用
    发表于 04-30 07:06

    浅谈编程设计模式

    时候你就能够理解在开发初期对程序架构的搭建重要。而架构最基本熟知的其中就是设计模式,使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠、程序的重用。尝试去研究优秀
    发表于 11-08 08:36

    分享一种用于Arduino的嵌入式编程设计工具

    工具包用于Arduino的嵌入式编程设计。This file exchange submission is an Embedded Coder custom target for Arduino.
    发表于 12-22 08:16

    SoC设计链中的可配置IP

    本文简要介绍了SoC 设计链面临的挑战以及对可配置IP 提出的新的要求。重点分析了如何利用Improv 系统公司开发的VLIW架构和包括Jazz DSP 平台的工具套件进行快速、低成本、高性能
    发表于 12-14 10:25 14次下载

    可配置振荡器,可配置振荡器结构原理是什么?

    可配置振荡器,可配置振荡器结构原理是什么? 可配置振荡器既具备可编程振荡器交付时间短的优势,又避免了其噪声高的缺陷,其内部结构如图2
    发表于 03-22 14:34 773次阅读

    C嵌入式编程设计模式.part3

    C嵌入式编程设计模式电子书,第三部分的内容。
    发表于 05-20 17:01 0次下载

    C嵌入式编程设计模式.part1

    C嵌入式编程设计模式电子书,第1部分的内容。
    发表于 05-20 17:01 0次下载

    C嵌入式编程设计模式.part2

    C嵌入式编程设计模式电子书,第2部分的内容。
    发表于 05-20 17:01 0次下载

    SLPC可编程调节器的编程设计与操作

    SLPC可编程调节器的编程设计与操作
    发表于 12-11 23:15 0次下载

    一个arm的接口编程设计

    一个arm的接口编程设计
    发表于 10-24 09:22 10次下载
    一个arm的接口<b class='flag-5'>编程设计</b>

    可配置逻辑单元(CLC)配置工具的详细中文资料概述

    本用户指南旨在帮助读者熟悉可配置逻辑单元(CLC)配置工具。文中将介绍如何安装该工具,并通过创建曼彻斯特编码器的应用示例介绍如何
    发表于 06-08 10:28 24次下载
    <b class='flag-5'>可配置</b>逻辑单元(CLC)<b class='flag-5'>配置</b><b class='flag-5'>工具</b>的详细中文资料概述