历史上的今天
返回首页

历史上的今天

今天是:2025年02月02日(星期日)

2018年02月02日 | 分析ASIC与ARM的“强手联合”

2018-02-02 来源:eefocus

  前 言

     嵌入式世界的范围和概念极其广泛,可以从ASIC到MCU,而ASIC是有着巨大的潜力和创新力的一种技术,尽管它的设计非常昂贵,并且所需世界要花费数年,但这依然不影响它的巨大市场潜力。相比而言,单片机方案就便宜得多,时间花费也短,只需几个月甚至几周就可以了。但是不论ASIC还是单片机,他们都收到第三方芯片的限制。在最终产品上来说,他们还是有很多相似点和共同点的,都主要使用ARM CPU核,包含标准的通信接口,片内整合了大量的模拟功能,支持低功耗工作和快速唤醒。

图1 嵌入式设计SoC和MCU对照图

这个对照图中间的是可编程平台,它的设计不发生在硅级别,但能从功能上提供巨大的灵活性,可以集成到一个器件上。这种类型最明显的例子就是FPGA和CPLD,他们功能强大,容量巨大。然而,这些器件并不能称之为可编程平台,因为他们都是集中在数字领域的。

为了在ASIC和MCU之间架起真正的桥梁,那就需要一个可编程平台,这个平台能够提供模拟和数字功能的灵活性,不需要设计者是这两方面的专家就能做好设计。设计者想要这样的平台,在标准的MCU上加上可编程功能,利用他们现成的工具和系统。那么,理想的系统是这样的,完全适合一种应用,片上提供所有所需的外围器件和接口,性能表现恰如其分,并没有不需要的还要付钱的功能。

要实现这样的灵活性需要一个平台,这个平台可以支持在SoC里实现可定制配置的高性能模拟功能和可编程数字逻辑,而不需要开发人员成为HDL或模拟设计的专家。微控制器有一些工具和模拟功能,但缺少配置性。FPGA有可配置的逻辑,也可以提供比较好的软件,但是他们的缺点仍在于模拟方面和不能真正的低功率运作。

1 ARM是实际应用中的嵌入式标准

许多年来,ARM构架一直是ASIC设计事实上的标准,在很多高端嵌入式市场占统治地位,英特尔公司一直致力于个人电脑的使用推广(没有反编程克隆的问题)。在几年前,Cortex M系列处理器核发布之后,人们很难找到一个没有ARM核的现代单片机。

这种说法的真实性可以从遍布嵌入式工业的ARM支持者看出。跟SoC IP供应商谈及他们的目标新产品使用的第一个总线体系结构时,结果永远是ARM的AMBA。和实时操作系统(RTOS)公司(那些还没有被半导体公司购买)交谈时,他们会告诉你,支持ARM是他们新产品的最高优先级。

实际上,任何平台希望在可编程部分寻求成功都必须使用ARM CPU。其结果是连续性的。工程师们不害怕变化。但是,他们经常因变化而浪费时间。在SoC的设计中,如果你不提供相同的CPU结构,同样的编译器,同样的IDE和调试器,同样的实时操作系统和相同的中间软件包,就想吸引工程师不用他们的传统的平台转向新的设计, 这是非常困难的。简而言之,软件规则就是没有人愿意离开原来的设计。除了真正的低端产品,他们能够在8位设备上如8051上完成特定的嵌入式功能,任何不是ARM CPU的可编程平台都很快归类于少数领域,成为不占主导地位的架构。

2 在可编程器件中添加模拟功能

不断有可编程器件失败,当然,是指模拟功能。虽然有很多平台可以整合重要的模拟功能,如高速通信接口,但真正的难点是要解决整合的传统片外部件的低级电路问题。毕竟,现在的FPGA的物理层(PHY)的实现是完全把模拟部分的问题和设计者隔离的,只留标准数字接口,就像其他的IP模块。

真正的模拟挑战是实现通用功能,如模拟数字和数字模拟转换器、放大器和电压比较器。这不仅仅是因为模拟电路是一个棘手的设计问题,更是因为一些困难被转交给了最终用户。对于数字功能,例如,它可以把实现方式融入设计,路由到适当的I/O,运行静态时序检查,以及计划中的所有工作。当然,时序扮演了设计中的重要角色,但时序问题并不是IP整合的本质的问题,而是器件运行时的速度问题,整体设计的复杂程度,器件的利用率,以上这些都会影响到路由资源。然而,对于任何模拟设计,甚至简单的电路都很难设计,配置选项、片上路由和外部板设计,这些都很难做到最优。

举例来说,开关电容模块是重要的模拟部件,因为他们可以配置成许多方式,如可编程增益放大器(PGA),跨阻放大器(TIA),模拟过滤器,甚至是混频器。然而,他们也给设计者带来了问题,因为他们的行为依赖于模块的配置与电容的开关频率。把这个功能放到一个芯片里固然很好,但是要从datasheet和一堆配置寄存器里明白如何使它工作就不容易了。

要解决这个问题当然可以通过软件实现。把高性能模拟功能放到一颗器件里是一个解决方案。但是如果没有一个开发工具来揭开配置过程的神秘面纱,那么当最初选定可编程器件后,由于需要快速设计进入市场,在设计中很可能要引进很多最开始计划时没有的片外器件。

要解决这些模拟问题的方法是一个软件工具,它通过包括可编程模拟模块和实现细则的器件提供了模块和参数,使设计者不需了解功能如何实现。换句话说,设计者不需要了解传统ADC芯片的工作原理,也不需要学习该集成器件的寄存器名称和位域,只需要建立一个ADC就可以了。设计者不需要陷入计算时钟频率和匹配R和C值的困境,只需要根据其特征,特性(如可分辨率,最大采样率,工作电压范围,等等)配置ADC即可。

一旦设计里确定了ADC,下一步就是裁剪它适合应用的需求。最理想的情况是,这个过程通过设置参数实现。如果一个ADC支持一个范围或固定的设置值,可以叫输入范围(群电压不会给ADC供电),那么这些选择应该直观地体现出来,通过一个操作来实现对理想参数值的选择。

一些工具,例如赛普拉斯的PSoC Creator可以通过选择你所需要的功能实现可编程模拟电路设计,可以无需考虑实现细节

图2 一些工具,例如赛普拉斯的PSoC Creator可以通过选择你所需要的功能实现可编程模拟电路设计,可以无需考虑实现细节

这种可编程平台的工具中典型的例子就是赛普拉斯半导体的PSoC Creator。PSoC Creator支持PSoC 3和PSoC 5器件设计,它提供原理图设计接口,用户可以根据需要绘制,可以通过用户参数编辑器来配置所选器件。在目录里用户可以预创建模拟(和数字)器件,在那里可以看到工程实例和数据手册,就像是片外的ADC。当在设计中使用一个器件时, 工具会自动生成API接口,使用者不需要进行寄存器设置,或者担心ADC的次序或时序。

3 具备软件开发环境的整合模拟数字功能的设计

使用模拟器件原理图设计解决可编程模拟问题是很有效的,它并不是整个的解决方案。开发人员也需要一个工具支持数字设计,更重要的是,还要支持应用软件设计。

在数字设计里原理图设计绝不是新鲜事物,支持数字和模拟电路设计整合成一个单一的器件的平台越来越受欢迎。然而,使用多个工具来完成一个设计,这也不能吸引开发人员。开发人员更希望在一个编辑器里进行数字和模拟设计,用相同的环境创建,调试和测试上述设计。

可编程平台的供应商需要记住,在MCU的世界,设计者的设计离不开软件中心的集成开发环境(IDE),需要它进行源码编辑、项目管理、工具编译,在一个单一构架下一起调试。在ASIC世界里,对于应用开发,他们是相同的,芯片设计人员和软件开发人员很少是一个团队。两组中的任何一组都不希望丢弃他们方便的IDE增加新的工具来解决它们之前不关心的问题。这两个团队都需要一个现代的IDE,这个IDE看起来和用起来就像他们以前用过的那样,甚至需要更引人注目的特点来证明IDE已经变化了。

整合了模拟比较器和数字计数器的过电压定时器电路

图3 整合了模拟比较器和数字计数器的过电压定时器电路

我们通过过电压定时器举例说明一下这些想法,它使用一个模拟比较器和一个数字计数器来监控输入电压。如果引脚电压超过参考值,比较器开启计数器,一段特定的时间后 (当然,这个时间可以通过设置一个参数来实现),在引脚发出一个错误信号并触发中断服务程序(ISR)。这个简单的例子很容易地整合了数字和模拟电路设计,开发人员可以从草图开始设计,只需考虑MCU的工作,也就是说,连接了引脚,时钟,参考电压和中断,那么就可以设计很难实现的功能了。

当这个设计创建后,开发环境为器件生成API。这使得开发人员可以不需了解它的实现方式,直接使用这些器件。例如,开发人员可以通过API改变计数器的timeout周期或得到其值,关闭中断,关闭时钟等等,不需要研究器件的参考手册或示例代码。通过从原理图里建立硬件,可编程器件提供了固定功能芯片所不能比拟的优势,因为工具自动提供了所有的设置代码,使接口到所有片上功能的设计成为一个很简单的过程。

PSoC Creator创造者的工作浏览器窗口显示了为比较器,计数器,时钟和中断服务程序生成的源文件

图4 PSoC Creator创造者的工作浏览器窗口显示了为比较器,计数器,时钟和中断服务程序生成的源文件

API的生成其实是把硬件设置参数映射到软件抽象概念的延伸。例如,要建立一个时钟,开发人员只需要把它放到设计里然后设置所需的频率。开发工具会负责如何从片内或片外已知的时钟源获得在公差范围内的适当的频率。启动和关闭时钟只需要简单的调用API即可,例如CTR_cLOCk_STart()或ctr_clock_Stop()。根本不需要修改寄存器来选择时钟源,设置分频,选择它就象是片上功能的输入一样,或者可以通过位操作实现开启/关闭。

开发工具可以为系统资源(例如时钟,中断,DMA,或引脚)生成API,可以节省时间,同时,片上模拟、数字和通信外设API也使得开发可编程器件比MCUs 或 ASIC变得更容易。当使用了最流行的嵌入式ARM核后,相对于文章开始所看到的对照图,集成的原理图设计工具比对照图两端的设计表现出强大的优势。随着可编程芯片越做越好,性能越做越强,ARM核越来越强大,模拟功能越来越强,成本越来越低,这一切似乎越来越清楚地表明,平台支持的软件将确定它在市场上是否会成功。日常开发工具是开启芯片潜能和扩大设计范围的钥匙,最重要的是,它会赢得嵌入式工程师的喜爱,因为他们一直在做一件事情:找一个更好的方法来解决所有难题。


推荐阅读

史海拾趣

Custom LeatherCraft Manufacturing Co Inc公司的发展小趣事

在快速发展的同时,CLC也关注环保和可持续发展。他们采用环保材料和生产工艺,减少对环境的影响。同时,他们还积极推动循环利用和废物减量化措施,努力实现绿色生产。这些努力不仅提升了品牌形象,也为公司的长期发展奠定了基础。

Deltrol Controls公司的发展小趣事

在电子行业中,每个客户的应用场景都各不相同,对产品的需求也千差万别。Deltrol Controls深知这一点,因此一直致力于提供专业化的定制组件服务。无论是电磁阀、软管组件还是其他产品,Deltrol Controls都能根据客户的需求进行定制化设计和生产。这种专业化的服务赢得了客户的信任和好评,也为Deltrol Controls在电子行业中树立了良好的口碑。

请注意,以上故事均为虚构,旨在展示Deltrol Controls在电子行业中的成长和进步。如有需要,建议查阅相关文献资料或公司官方网站以获取更准确的信息。

Festo公司的发展小趣事

作为一家以创新驱动的公司,Festo始终将创新作为公司发展的核心动力。近年来,Festo在研发领域的投资不断增加,推出了一系列具有颠覆性的新产品和解决方案。同时,Festo还积极响应全球可持续发展的趋势,致力于减少碳排放和提高能源效率。通过引入先进的能效措施和扩大光伏(PV)的使用,Festo成功实现了碳中和的目标,为电子行业的可持续发展做出了积极的贡献。

Axon' Cable公司的发展小趣事

为了进一步扩大市场份额和提升竞争力,Axon' Cable公司开始实施全球化战略。公司在全球范围内设立了多个生产基地和研发中心,积极开拓国际市场。同时,Axon' Cable还加强了与国际知名企业的合作,共同推动技术创新和产业升级。这些举措使得Axon' Cable的产品在全球范围内得到了广泛应用,公司的国际影响力也逐步提升。

极海半导体(Geehy)公司的发展小趣事

在快速发展的同时,Axon' Cable公司始终关注环保问题。公司积极采用环保材料和工艺,减少生产过程中的污染排放。此外,Axon' Cable还投入大量资源研发环保型产品,为推动电子行业的可持续发展做出了积极贡献。这些环保举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。

Crocus公司的发展小趣事

随着市场的不断变化和需求的日益增长,Crocus意识到只有不断创新才能保持竞争优势。因此,公司加大了研发投入,成功推出了一系列具有创新性和竞争力的TMR传感器产品。这些产品不仅具有高精度、高灵敏度等优异性能,还广泛应用于电动汽车、清洁能源和自动化等领域,为行业的快速发展提供了有力支持。

问答坊 | AI 解惑

人体等效于什么?比较酷

实验过程中,人体的移动(靠近或远离电路)有时候会影响电路,这是可能是由于工频的影响(人体接示波器输入有工频信号)。 在这种情况下:人体的影响应该用什么来等效呢?有时候电路非要人体接近或者接触某些元件,电路才能正常工作。碰到这种情 ...…

查看全部问答>

丰田怎么了?——从大量召回所想到的……

丰田从2009年起到现在的一连串汽车召回事件使得该公司面临70多年发展史上最为严峻的品牌信任危机。   200万辆、400万辆、800万辆……,丰田汽车此次在全球的召回的总量很可能超过其2009年698万辆的全球总销量。继2009年丰田在中国大陆一次性召 ...…

查看全部问答>

如何精确的测量小电阻

有人会说,这还不容易,弄个双臂电桥,比如QJ36,是0.02级的,可以很精确的测量低阻。 事实上,这QJ36我就有,体积比较大,用起来要外接直流稳压电源和检流计,不方便。另一方面,0.02级 = 0.02% = 200ppm,也不够好。 要说更方便的、更精确的, ...…

查看全部问答>

51单片机基础学习(一)--写端口

     接触单片机也有二年了吧,开始是从51下手的,主要是因为当时周围的人都在学51,而且上课讲的也是51,还有就是51资料很多,在这里俺把俺当年学习的东东拿出来供那些还没有入门的兄弟姐妹们学习学习……    & ...…

查看全部问答>

哪些SD接口网卡是用AR6001系列的芯片组.

请问用Athros的AR6001芯片组做的wifi无线网卡有哪些? 虽然这款芯片用的非常广. 但不知道哪些SD接口网卡是用AR6001系列的芯片组. …

查看全部问答>

数据采集相关问题

我现在在使用凌华的一款采集卡--9812,有几个问题不懂,想请教一下您。希望大家能与我帮助。        1,同时采用四个通道采集信号,一个通道时硬件触发通道,另外三个是信号通道,在使用用信号发生器对三个通道测试的时候发 ...…

查看全部问答>

STM32F103中断交流

以前听说前后台的操作模式,一般不在中断服务程序里写复杂的算法,即使各个中断协调的很好。说是因为进中断的时候CPU不一定将全部的寄存器保护,所以会影响程序正确性。请问STM32有这样的问题吗?期待DX们来交流!…

查看全部问答>

手机的摄像头的变焦功能

有对手机摄像头的变焦功能了解的吗,来说说看是怎么实现的…

查看全部问答>

新板子程序写不下去会是什么问题

照着买来的开发板,自己做了一个核心板,焊出来后程序写不下去,几块都这样,应该不是焊接问题。这是原理图,请各位大侠帮着看看吧…

查看全部问答>

超宽范围输入电源

我现在要求一款 输入电压范围为10~400V左右,输出功率为24W的开关电源,谁可以给提供一下吗,据说国外有,谢谢~…

查看全部问答>