共2条
1/1 1 跳转至页
16,ARM 从8位、16位微控制器到ARM处理器
问
从8位、16位微控制器到ARM处理器
作者:Mark Moran
作者 Mark Moran, IAR东区经理
前言:
ARM7 SoC(Systems-on-chip)价格的下调,给了那些考虑使用此种芯片的嵌入式开发人员更好的选择。降价节省的费用将在短期内和长期内得到检验,同时得到检验的还有那些因采用ARM7而对价格下降施压的其他因素。一些移植的问题也将在选择开发软件时考虑到,短期或长期使用对整个开发以及最终产品费用的影响。ARM7提供了非常好的机会推动那些原来使用8位或16位机的开发人员转而使用32位处理器。
“从经济的角度上说,他是愚蠢的!”,这句话是1992年美国大选时克林顿批评布什的非官方竞选标语,它或许能恰当的用到同时代的嵌入式系统设计中去,因为研发人员不得不从各个能想到的角度去使成本最低。国内外的竞争使得产品利润越来越低,而设计的最终期限让人期待,上市逾早,市场愈容易占领,利润也逾大。成本、性能、上市时间是铁三角关系,而这三角关系会一直困扰、折磨着产品的设计研发工程师,即使是调和三者的关系都非常的困难。
去年的嵌入式市场,基于ARM7TDMI内核的SoC(级芯片)微控制器吸引了很多人的注意。它们集成了更多的外设,价格也更具有竞争力,小型的封装,通用的外设,可配置的存储器以及快的令人瞠目的频率。本文将把注意力基本放在ARM7 SoC上,检查它对“铁三角”关系的冲击,并且讨论那些有时在目标相冲突的时候必须被加以考虑以获得最佳的利润的因素。在考虑是否会在设计中选择某一部分的时候,研发人员必须考虑短期的和长期的不同。
在短期,主要的因素是芯片价格,功能以及开发的费用。长期的因素包括潜在的芯片替代,软件维护的费用:程序缺陷的维护以及功能的扩展。我们将把注意力依次集中到这些因素,看看ARM结构是如何在价格和性能方面朝着有利的方向前进。
ARM7 SoC的性价比达到前所未有的高度,这并不是什么秘密。ARM7 SoC主要的比较对象是传统的8位、16位的微控制器。长时间占据低端市场的8位微控制器正越来越感受到ARM7 SoC的压力。例如,一片传统的8位微控制器,10 MIPS的执行速度,带有64K的Flash,4K的RAM,ADC,3个定时器,EEPROM,SPI,UART,芯片引脚在40到46之间,仅仅购买几片的话,价格大约在7.5美元。而除了RAM容量不同外,其他配置一样的ARM7 SoC,仅仅购买几片的话,价格大约在4美元到5.5美元。当然,不可能与种类繁多的8位微控制器一件一件的进行比较,但是,上面比较的是主要的部分,你或许希望有1K的EEPROM,然而ARM7 SoC是没有的。从另一方面说,那些队成本特别在意的人或许会希望ARM7内有16K的RAM。与16位的控制器比较也存在类似的情况。当采用单片机设计最终的产品,每片多花费2到3美元可导致公司在此产品退出市场前总共要多花费几万或者几十万英镑。
许多8位机的资深研发人员通常会对要阅读ARM7的手册感到头疼。相比ARM7寄存器的设置,8位机的控制寄存器的设置显得相当简单。的确,当写ARM7片内外设的驱动时,需要处理更多的寄存器。本文作者也曾试着看那些设备的驱动是否可以省时省力在合理的框架内编写,可是最终的曙光在最后被遮挡:ARM的寄存器数量有时会因设备的状态、创建和消除例子而膨胀。换言之,8位机可能有一个R/W寄存器来处理,而要达到同样的效果,ARM结构或许需要三个寄存器处理。另外一件与“寄存器膨胀”相关的是向量中断控制器(VIC),VIC拥有一些寄存器来控制优先级以及配置中断。这是学习曲线上的一次性投入,好消息是一旦研发人员熟练的写各个寄存器来设置以及清除sfr,那么对ARM外设的操作就会和8位、16位一样得心应手。
在价格的比较中,我们提到对成本特别敏感的使用者通常会希望ARM有8K、16K甚至32K的RAM,而且要比带有4KRAM的8位或16位机更加便宜。这开启了一个有趣的可能性,那就是在合并了像TCP/IP堆栈,嵌入式文件系统以及用户图形界面后,可以大大增进产品的性能。它也把使用RTOS比用8位、16位机变得更加有吸引力。聪明的读者或许要指出购买RTOS是一笔额外的费用,违反了把设置成本最小化的思想。然而事实上是所用的RTOS值的花钱,同时它在产品的维护与升级方面表现出巨大的潜力,可以省去不菲的费用。一旦如何使用RTOS的学习曲线被克服,使用这样的工具往往可以使软件设计更加的系统化。功能的外扩通常会相当的容易,而且在增加应用的时候,可以按有关要求做较少的衰减测试。简而言之,软件的开发是费力又费钱的,软件的维护更是如此,所有可以减少此种费用的方法都是很好的事情。
大多数RTOS的卖主都有白皮书或其他信息,很容易地可以帮助研发人员决定某个RTOS是否适合他们的应用。从8位、16位领域转过来的研发人员,过去习惯于在没有RTOS的情况下达到目的他们会发现大多数ARM7 SoC拥有足够的资源使用RTOS而无须担心成本底线。总之,如果你怀疑RTOS对你产品效益的长期利益,现在你可以全力以赴的用它了,因为它无须额外的存储器。
嵌入式系统另外的一个引人注目的成本是研发工具。现在有许多高水平的语言开发工具供选择,并且每天都有新的面市。这些工具从没有初始费用的GNU工具到各种不同价格不同性能的付费工具。尽管ARM7 SoC拥有良好的价格与资源配置,从8位、16位转过来的研发人员在使用这些工具几年后,将很好的回忆起所有的写出高效代码的范例。
内存仍旧是影响成本最大的因素。值得牢记的是ARM编译器实际上是两个,一个为ARM,另外一个为Thumb指令模式。拥有较高的代码密度的Thumb指令结构是节约资源以及成本的钥匙。使用Thumb模式代码紧凑程度至少等于,在许多例子还要优于8位、16位控制器所能达到的程度。
ARM7 SoC的使用者值得认真地评估编译器的效率而先不管它增加的成本,尽管编译的结果可靠,GNU编译器并非在代码优化方面做得最好。高质量的代码优化值得考虑,ARM7 SoC的一个普通应用就是典型的代表。这样的应用分别需要128K和256K字节的Flash,16K的SRAM,4通道的10位ADC,2个UART、SPI、I2C,可以在线编程以及跟踪调试,LQTP64封装。在北美,购买5K的话,每片大约分别需要6.09美元与6.84美元,一件0.75美元的差价,如果卖出5000件那就是要多支出3750美元。经过一般编译器优化后需要256K的代码,在经过有高度优化能力的编译器编译后可以只用128K。
一旦有更多的外设集成到芯片,性价比相差就更大了。例如,带有CAN控制器的ARM芯片才多花费0.85美元。这些进一步减少编译器的花费所占的比重,这些工具每年可以节省12500美元到2000美元。
最近上市的ARM7 SoC内带DAC,引脚加多,带有128K存储器的要比256K存储器的ARM芯片低2.52美元。这样,用量5K工具的花费更少,大约在1190片就可以收回成本,整个下来可以节省9601美元。
最后,一种内带USB控制器的新型ARM7 SoC带有128K存储器的要比256K存储器的ARM芯片低2.78美元,整个下来可以节省10900美元。当然,个别的情况会有出入,但是很清楚的是高质量的编译器不但可以节省下它自己的费用,而且从长远来看,还可以为公司增加收入,如下表所示。
外设 带有128k Flash与256K Flash的差价 假设编译器3K美元,收回成本的芯片数目 购买开发工具总共可以节省的费用
4通道,10位ADC
2个UAR,WDG,2个I2C,2个SPI,IAP,ISP,LQFP64 0.75美元 4000 750
8通道,10位ADC
2个UAR,2个I2C,2个SPI,4个16位的定时器,6通道的PWM,DAC WDG,LQFP64 9.34-7.49=1.85美元
本例是128K的Flash与64K Flash比较 1.622 6248
4通道,12位ADC
WDG,RTC,4个UART,2个I2C,2个SPI,5个16位的定时器,USB,LQFP64 14.16-11.38=2.73美元 1079 10900
另外,高质量编译器的使用者一般希望能够从厂家得到直接的技术支持。而如前面所述,软件已经成为整个项目中劳动密集型、最费钱的环节,编译器可以节省重复性劳动。进一步说,在竞争激烈的现在,上市时间至关重要,即便是晚上几天,几周之内损失的利益都会超过开发工具的费用。
在软件开发的预算中,调试通常占据重要的角色。有多少软件工程师就几乎有相同数量的软件调试思想与方法。不过,大多数人倾向于采用好用且准确的JTAG调试方法而不采用传统的嵌入式调试技术。因为价格与时钟频率的问题,in-circuit仿真器已经不再被采用。市场上有各种各样的JTAG调试器,在考虑采用哪个调试器时,有三种重要的因素决定着调试器的价格:速度,跟踪能力以及front-end软件特性。对于大多数ARM7 SoC来说,各种调试器的价格有几百英镑的差距可供选择。有些可以达到每秒128K比特的速度,这些调试器一般可以和同时代的编译器联合使用。跟踪调试的能力因需要跟踪宏单元执行而使调试器价格相差几千美元,它是影响调试器价格的主要因素。高级调试软件的特性,例如精确控制中断触发以及其他类似的特性,通常可以在硬件调试器上发现。大多数情况,包括ARM7 SoCs,许多研发人员倾向于使用一个物美价廉且易学易用的调试器。
如同谚语所说,所有的事情,除了死亡与纳税之外,在生命里都没有保证。然而,可以打赌的是,将来ARM结构应用将越来越广泛。ARM主要芯片厂商,如Atmel, Cirrus Logic, Intel, Freescale, Oki, Philips, Samsung, Sharp, STMicroelectronics, Texas Instruments以及其他提供某种ARM结构的厂家,完全可以确保嵌入式市场。唯一可能使设计者做噩梦的是许多人预言ARM将会如现在的8051一样,曾经风光无限,早晚会淡出市场。
ARM结构另外一个非常吸引人的优点是有无尽的发展空间。ARM7的MIPS不够的话?可以换ARM9或者ARM11!精挑细选的工具集会支持这些结构。需要比讨论的更廉价的芯片码?尽管没有正式的公布,市场上强烈的暗示基于Cortex内核的运行改造的Thumb指令结构,此结构就是大家所知的Thumb-II,将要继续在芯片价格上施压。一美元可以买到一片32位CPU吗?现在还不知道,不过可以推断以当前的趋势,在不久的将来芯片的价格会达到这样的价格。
答 1: 哈哈,用了ARM就知道乐趣了---顶一下 答 2: !顶,写得不错! 答 3: 从成本的角度分析ARM7应用问题,很专业! 答 4: ARM 不可能完全取代8位MCU市场 答 5: 虽然不会完全取代,但8位mcu的份额会越来越小 答 6: 不错 答 7: re8cuo 答 8: 顶一个
作者:Mark Moran
作者 Mark Moran, IAR东区经理
前言:
ARM7 SoC(Systems-on-chip)价格的下调,给了那些考虑使用此种芯片的嵌入式开发人员更好的选择。降价节省的费用将在短期内和长期内得到检验,同时得到检验的还有那些因采用ARM7而对价格下降施压的其他因素。一些移植的问题也将在选择开发软件时考虑到,短期或长期使用对整个开发以及最终产品费用的影响。ARM7提供了非常好的机会推动那些原来使用8位或16位机的开发人员转而使用32位处理器。
“从经济的角度上说,他是愚蠢的!”,这句话是1992年美国大选时克林顿批评布什的非官方竞选标语,它或许能恰当的用到同时代的嵌入式系统设计中去,因为研发人员不得不从各个能想到的角度去使成本最低。国内外的竞争使得产品利润越来越低,而设计的最终期限让人期待,上市逾早,市场愈容易占领,利润也逾大。成本、性能、上市时间是铁三角关系,而这三角关系会一直困扰、折磨着产品的设计研发工程师,即使是调和三者的关系都非常的困难。
去年的嵌入式市场,基于ARM7TDMI内核的SoC(级芯片)微控制器吸引了很多人的注意。它们集成了更多的外设,价格也更具有竞争力,小型的封装,通用的外设,可配置的存储器以及快的令人瞠目的频率。本文将把注意力基本放在ARM7 SoC上,检查它对“铁三角”关系的冲击,并且讨论那些有时在目标相冲突的时候必须被加以考虑以获得最佳的利润的因素。在考虑是否会在设计中选择某一部分的时候,研发人员必须考虑短期的和长期的不同。
在短期,主要的因素是芯片价格,功能以及开发的费用。长期的因素包括潜在的芯片替代,软件维护的费用:程序缺陷的维护以及功能的扩展。我们将把注意力依次集中到这些因素,看看ARM结构是如何在价格和性能方面朝着有利的方向前进。
ARM7 SoC的性价比达到前所未有的高度,这并不是什么秘密。ARM7 SoC主要的比较对象是传统的8位、16位的微控制器。长时间占据低端市场的8位微控制器正越来越感受到ARM7 SoC的压力。例如,一片传统的8位微控制器,10 MIPS的执行速度,带有64K的Flash,4K的RAM,ADC,3个定时器,EEPROM,SPI,UART,芯片引脚在40到46之间,仅仅购买几片的话,价格大约在7.5美元。而除了RAM容量不同外,其他配置一样的ARM7 SoC,仅仅购买几片的话,价格大约在4美元到5.5美元。当然,不可能与种类繁多的8位微控制器一件一件的进行比较,但是,上面比较的是主要的部分,你或许希望有1K的EEPROM,然而ARM7 SoC是没有的。从另一方面说,那些队成本特别在意的人或许会希望ARM7内有16K的RAM。与16位的控制器比较也存在类似的情况。当采用单片机设计最终的产品,每片多花费2到3美元可导致公司在此产品退出市场前总共要多花费几万或者几十万英镑。
许多8位机的资深研发人员通常会对要阅读ARM7的手册感到头疼。相比ARM7寄存器的设置,8位机的控制寄存器的设置显得相当简单。的确,当写ARM7片内外设的驱动时,需要处理更多的寄存器。本文作者也曾试着看那些设备的驱动是否可以省时省力在合理的框架内编写,可是最终的曙光在最后被遮挡:ARM的寄存器数量有时会因设备的状态、创建和消除例子而膨胀。换言之,8位机可能有一个R/W寄存器来处理,而要达到同样的效果,ARM结构或许需要三个寄存器处理。另外一件与“寄存器膨胀”相关的是向量中断控制器(VIC),VIC拥有一些寄存器来控制优先级以及配置中断。这是学习曲线上的一次性投入,好消息是一旦研发人员熟练的写各个寄存器来设置以及清除sfr,那么对ARM外设的操作就会和8位、16位一样得心应手。
在价格的比较中,我们提到对成本特别敏感的使用者通常会希望ARM有8K、16K甚至32K的RAM,而且要比带有4KRAM的8位或16位机更加便宜。这开启了一个有趣的可能性,那就是在合并了像TCP/IP堆栈,嵌入式文件系统以及用户图形界面后,可以大大增进产品的性能。它也把使用RTOS比用8位、16位机变得更加有吸引力。聪明的读者或许要指出购买RTOS是一笔额外的费用,违反了把设置成本最小化的思想。然而事实上是所用的RTOS值的花钱,同时它在产品的维护与升级方面表现出巨大的潜力,可以省去不菲的费用。一旦如何使用RTOS的学习曲线被克服,使用这样的工具往往可以使软件设计更加的系统化。功能的外扩通常会相当的容易,而且在增加应用的时候,可以按有关要求做较少的衰减测试。简而言之,软件的开发是费力又费钱的,软件的维护更是如此,所有可以减少此种费用的方法都是很好的事情。
大多数RTOS的卖主都有白皮书或其他信息,很容易地可以帮助研发人员决定某个RTOS是否适合他们的应用。从8位、16位领域转过来的研发人员,过去习惯于在没有RTOS的情况下达到目的他们会发现大多数ARM7 SoC拥有足够的资源使用RTOS而无须担心成本底线。总之,如果你怀疑RTOS对你产品效益的长期利益,现在你可以全力以赴的用它了,因为它无须额外的存储器。
嵌入式系统另外的一个引人注目的成本是研发工具。现在有许多高水平的语言开发工具供选择,并且每天都有新的面市。这些工具从没有初始费用的GNU工具到各种不同价格不同性能的付费工具。尽管ARM7 SoC拥有良好的价格与资源配置,从8位、16位转过来的研发人员在使用这些工具几年后,将很好的回忆起所有的写出高效代码的范例。
内存仍旧是影响成本最大的因素。值得牢记的是ARM编译器实际上是两个,一个为ARM,另外一个为Thumb指令模式。拥有较高的代码密度的Thumb指令结构是节约资源以及成本的钥匙。使用Thumb模式代码紧凑程度至少等于,在许多例子还要优于8位、16位控制器所能达到的程度。
ARM7 SoC的使用者值得认真地评估编译器的效率而先不管它增加的成本,尽管编译的结果可靠,GNU编译器并非在代码优化方面做得最好。高质量的代码优化值得考虑,ARM7 SoC的一个普通应用就是典型的代表。这样的应用分别需要128K和256K字节的Flash,16K的SRAM,4通道的10位ADC,2个UART、SPI、I2C,可以在线编程以及跟踪调试,LQTP64封装。在北美,购买5K的话,每片大约分别需要6.09美元与6.84美元,一件0.75美元的差价,如果卖出5000件那就是要多支出3750美元。经过一般编译器优化后需要256K的代码,在经过有高度优化能力的编译器编译后可以只用128K。
一旦有更多的外设集成到芯片,性价比相差就更大了。例如,带有CAN控制器的ARM芯片才多花费0.85美元。这些进一步减少编译器的花费所占的比重,这些工具每年可以节省12500美元到2000美元。
最近上市的ARM7 SoC内带DAC,引脚加多,带有128K存储器的要比256K存储器的ARM芯片低2.52美元。这样,用量5K工具的花费更少,大约在1190片就可以收回成本,整个下来可以节省9601美元。
最后,一种内带USB控制器的新型ARM7 SoC带有128K存储器的要比256K存储器的ARM芯片低2.78美元,整个下来可以节省10900美元。当然,个别的情况会有出入,但是很清楚的是高质量的编译器不但可以节省下它自己的费用,而且从长远来看,还可以为公司增加收入,如下表所示。
外设 带有128k Flash与256K Flash的差价 假设编译器3K美元,收回成本的芯片数目 购买开发工具总共可以节省的费用
4通道,10位ADC
2个UAR,WDG,2个I2C,2个SPI,IAP,ISP,LQFP64 0.75美元 4000 750
8通道,10位ADC
2个UAR,2个I2C,2个SPI,4个16位的定时器,6通道的PWM,DAC WDG,LQFP64 9.34-7.49=1.85美元
本例是128K的Flash与64K Flash比较 1.622 6248
4通道,12位ADC
WDG,RTC,4个UART,2个I2C,2个SPI,5个16位的定时器,USB,LQFP64 14.16-11.38=2.73美元 1079 10900
另外,高质量编译器的使用者一般希望能够从厂家得到直接的技术支持。而如前面所述,软件已经成为整个项目中劳动密集型、最费钱的环节,编译器可以节省重复性劳动。进一步说,在竞争激烈的现在,上市时间至关重要,即便是晚上几天,几周之内损失的利益都会超过开发工具的费用。
在软件开发的预算中,调试通常占据重要的角色。有多少软件工程师就几乎有相同数量的软件调试思想与方法。不过,大多数人倾向于采用好用且准确的JTAG调试方法而不采用传统的嵌入式调试技术。因为价格与时钟频率的问题,in-circuit仿真器已经不再被采用。市场上有各种各样的JTAG调试器,在考虑采用哪个调试器时,有三种重要的因素决定着调试器的价格:速度,跟踪能力以及front-end软件特性。对于大多数ARM7 SoC来说,各种调试器的价格有几百英镑的差距可供选择。有些可以达到每秒128K比特的速度,这些调试器一般可以和同时代的编译器联合使用。跟踪调试的能力因需要跟踪宏单元执行而使调试器价格相差几千美元,它是影响调试器价格的主要因素。高级调试软件的特性,例如精确控制中断触发以及其他类似的特性,通常可以在硬件调试器上发现。大多数情况,包括ARM7 SoCs,许多研发人员倾向于使用一个物美价廉且易学易用的调试器。
如同谚语所说,所有的事情,除了死亡与纳税之外,在生命里都没有保证。然而,可以打赌的是,将来ARM结构应用将越来越广泛。ARM主要芯片厂商,如Atmel, Cirrus Logic, Intel, Freescale, Oki, Philips, Samsung, Sharp, STMicroelectronics, Texas Instruments以及其他提供某种ARM结构的厂家,完全可以确保嵌入式市场。唯一可能使设计者做噩梦的是许多人预言ARM将会如现在的8051一样,曾经风光无限,早晚会淡出市场。
ARM结构另外一个非常吸引人的优点是有无尽的发展空间。ARM7的MIPS不够的话?可以换ARM9或者ARM11!精挑细选的工具集会支持这些结构。需要比讨论的更廉价的芯片码?尽管没有正式的公布,市场上强烈的暗示基于Cortex内核的运行改造的Thumb指令结构,此结构就是大家所知的Thumb-II,将要继续在芯片价格上施压。一美元可以买到一片32位CPU吗?现在还不知道,不过可以推断以当前的趋势,在不久的将来芯片的价格会达到这样的价格。
答 1: 哈哈,用了ARM就知道乐趣了---顶一下 答 2: !顶,写得不错! 答 3: 从成本的角度分析ARM7应用问题,很专业! 答 4: ARM 不可能完全取代8位MCU市场 答 5: 虽然不会完全取代,但8位mcu的份额会越来越小 答 6: 不错 答 7: re8cuo 答 8: 顶一个
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |