历史上的今天
返回首页

历史上的今天

今天是:2025年01月30日(星期四)

2019年01月30日 | 技术文章-通过系统封装技术增强系统功能

2019-01-30

嵌入式系统的复杂度及其具备的功能正在进入一个新阶段。即使是对于大多数人认为相对简单的系统,也需要更复杂的控制来保持其在市场中的地位。开发团队在选择硬件平台时需要考虑采用的标准,上述复杂性则对此产生了连锁反应。

 

我们可以在许多领域看到这种效果,这里仅以一个安全系统为例。表面上看,两个电子门锁可能看起来同样简单,但是它们所包含的功能却有很大差异。传统的设计采用一个相对简单的微控制器(MCU),并与外围设备接口,用于读取电子钥匙卡(采用磁条或通过NFC原理)。这种类型的系统将被那些更先进和更加智能化的设计所取代,未来的设计将具有更多的功能,包括基于人脸、指纹或语音的识别技术,甚至是利用这些生物特征的可能组合。

 

对于智能门锁,其核心功能和逻辑保持不变,即只有在钥匙(以任何形式)出现时才能打开门,但其设计所需的复杂程度要高得多。而且必须指出的是,设计仍然需要考虑成本和功率的限制。这种更高级的锁可能需要从摄像头获取输入信息,甚至可能还需要麦克风和指纹读取器,具体取决于使用多少生物特征识别选项。高性能数字信号处理(DSP)用来处理来自这些设备的输入数据,并可以智能地处理每个数据流。

 

在软件级别,现在已有大量的资源来帮助实现这种设计,许多设计师使用高性能ARM内核来处理高级软件。执行人脸和指纹识别的图像处理和机器学习程序库可用于各种平台,其中包括基于德州仪器Sitara系列的DSP内核以及ARM内核。 OpenCV图像处理程序库即是一个例子。Debian等Linux版本则可为开发和运行时间执行提供了一个方便的环境,能够访问多种编程语言(从Python到C++)。

 

虽然C和C++是嵌入式系统中使用的传统程序语言,但Python却能够提供许多显著的优势。例如,Numpy程序库拥有广泛的函数组合,支持与复杂机器学习应用相关的多维矩阵和数组所需的复杂数学运算。因此,能够为软件原型设计提供一个更简单的流程。然而,对于从门锁到工业电机控制器等所有嵌入式应用,满足实时要求的能力至关重要。

 

传统上,为MCU设计的操作系统已针对软件实时功能进行了优化,但是大多数Linux版版却不是这样。 Linux有其实时性,但通常无法访问软件工程师想要使用的程序库,而这却是多核方案的有用之处。例如,Sitara系列不仅提供能够运行确定性算法的DSP,还包括了高速可编程实时单元(PRU),能够独立地于主要面向Linux的ARM处理器内核而运行。

 

选择适当的硬件也有助于控制目标设计的能效。以门锁为例,一种可能的情形是,即使门前没有人,处理器也会持续处理其输入,对于需要全天候运行的设备,这种方案无疑非常耗电。相反,如果增加一个接近传感器,则可以提醒核心处理器应该检查附近范围内是否有人,并相应地激活摄像头。

 

开发人员可能希望尝试不同的选项。一种方案是简单的接近传感器,只能确定是否存在足够高度的物体。另一种方案是采用热电传感器,接近的人会发出红外辐射,热电传感器接收到这种辐射后将产生电压。开发人员针对这些开发所需要的是一个原型设计环境,能够支持轻松地切换I/O。

 

Beagleboard和Beaglebone 都是非常受欢迎的原型设计平台,其中Beaglebone特别适用于空间受限的应用,例如需要嵌入到门内或门框架的锁等等。通过附加的Click板,可以直接为执行器安装不同的传感器和控制器,包括热电传感器和麦克风等各种器件。

 

相较于采用较简单MCU器件用户可用的选择,进行更高性能嵌入式系统硬件设计时遇到的问题传统上则更加困难。虽然这些器件本身可以适应Beaglebone主板的尺寸要求,但设计高性能多核处理器要比传统处理器困难得多。如果市场上有现成的主板,并带有所需的SoC,对于初始原型设计应该没有问题,但如果系统设计是针对制造而进行优化,则是一个至关重要的考虑因素。

 

通常情况下,MCU仅有非常简单的电源要求,只需一个电源输入轨即可。但对于高性能微处理器和SoC,通常需要多个电源轨。这些电源轨通常需要灵活可变,以支持SoC所需的不同低功耗模式。在电源轨电压设定后,即使在高电流负载下也不能出现任何偏差。此外,SoC在启动时通常会有严格的电源排序要求。

 

在考虑如何将SoC连接到存储器时,设计人员也面临着类似的复杂性。基于传统MCU的应用在数据存储方面通常是独立的,相比之下,智能系统则需要访问更多的内存资源,图像和视频缓冲可以轻松占据许多兆字节的数据存储容量。诸如深度神经网络(DNN)等机器学习算法,依赖于系统处理数百万个参数的能力,并需要长期占用大量的存储。

 

系统所需的存储器不仅要容量大,而且也需采用诸如DDR3之类的协议来实现高速运行。 SoC和DDR3存储器之间的信号传输非常复杂且耗时,总线上的信号总是具有非常严格的时序约束,这要求信号路由长度要相等。较短的直接路径必须要包括一些蛇形绕线布局,以使它们的路径长度与较长的迹线相等。这就是系统级封装(SIP)能够发挥效力之所在。

 

与许多原型设计平台的系统级模块(SOM)相比,SIP更容易在生产环境中集成。 SOM是一块印制电路板(PCB),需要安装到主电路板上,并通过一个特殊连接器来实现所有定制I/O,这增加了系统的尺寸和成本。另一方面,SIP更像是一个标准的单片IC,可以像其他IC一样与所有其他I/O器件一起焊接到定制PCB。

 

OSD335 Functional Block Diagram

 

图1:Octavo OSD335x SIP的功能框图。

 

Octavo Systems的OSD335x 系列 SIP产品包含有强大智能系统核心所需的一切,也秉承了传统MCU设计的简易性。这些SIP基于德州仪器的Sitara系列SoC,可为工程师提供1GHz ARM Cortex-A8处理器、两个PRU、DDR3内存和一个电源管理IC(PMIC),能够确保它们始终以最高效率运行。OSD335x封装内的PMIC可应对所有不同的电压轨和电源排序,因此就像传统的MCU一样,只需连接一个电源输入。

 

image.png?imageView2/2/w/550

图2:Octavo Systems的OSD335x。

 

此外,SIP PMIC中的电源控制电路也负责为并非始终连接到主电源的系统进行电池管理。对于需要通过AC适配器等各种电源供电的系统,OSD335x PMIC可自动处理电源多路复用和电源之间的切换。对于电池供电系统的另一个好处是,通过微型封装实现的集成有助于减少SoC和DDR存储器之间数据传输所消耗的能量。

 

现实世界要求系统具备更多的智能,并要融入不断发展的物联网(IoT)世界,Octavo SIP解决方案是一个非常高效的处理平台,既提供了传统MCU的简易性,同时又具有更强大的功能。该公司开发的核心SIP技术有助于创建多种变体,确保工程师能够得到针对其应用而调整的版本,并且以一个非常小的封装满足许多智能物联网设备的空间受限要求。对于原型设计,OSD335x已内置针对物联网应用的Beaglebone Black Wireless等平台,可轻松地将SIP从开发移植到生产。凭借Sitara SoC提供的丰富软件支持,这种解决方案一定能够使未来的开发项目更容易地实现。



推荐阅读

史海拾趣

ept Connectors公司的发展小趣事

EPT Connectors公司成立于1967年,由创始人Bernhard Guglhör在德国的某个小镇上创建。起初,公司专注于连接器的小规模制造,以满足当地电子设备的需求。随着技术的不断进步和市场的扩大,EPT逐渐意识到连接器在电子设备中的重要性,并决定专注于这一领域的发展。经过几年的努力,EPT在德国建立了自己的总部,并开始向国际市场拓展。

Fair Rite公司的发展小趣事

为了确保产品质量和满足客户需求,Fair Rite引入了严格的质量管理体系,并通过了ISO/TS 16949认证。此外,公司还积极拓展国际市场,在美国、中国等地建立了生产基地和销售网络。通过全球布局和本土化策略,Fair Rite为全球客户提供高品质、高性能的电子元器件。

HellermannTyton公司的发展小趣事

进入21世纪后,Heimann Optoelectronics Gmbh意识到全球化合作的重要性。公司积极寻求与国际知名企业的合作机会,与美国一家领先的半导体制造商共同研发了新一代的光电集成芯片。这一合作不仅提升了产品的技术水平和市场竞争力,还借助合作伙伴的全球销售网络,将Heimann的产品迅速推向国际市场。同时,公司也在亚洲设立了研发中心和生产基地,进一步提升了生产效率和供应链管理能力。

Graseby Infrared公司的发展小趣事
首先确认三相电源是否正常,可以使用万用表测量电源电压和相序。
FEIG ELECTRONIC公司的发展小趣事

自1997年以来,FEIG ELECTRONIC开始加速其全球扩张的步伐。通过不断的技术创新和市场推广,FEIG的产品逐渐覆盖了全球多个行业,包括物流、零售、医疗、制造等。FEIG凭借其高质量的产品和卓越的服务,赢得了全球客户的广泛认可,逐渐发展成为全球RFID领域的领军企业。

ALLEN BRADLEY公司的发展小趣事

FEIG ELECTRONIC成立于1978年,作为德国射频识别(RFID)系统的先驱,公司从一开始就专注于RFID技术的研发与制造。在创立初期,FEIG凭借其独特的技术视角和对市场需求的敏锐洞察,成功开发了一系列RFID系统,为物流、零售等行业提供了有效的解决方案。通过不断的技术创新和市场拓展,FEIG逐渐在RFID领域崭露头角。

问答坊 | AI 解惑

步进程序的疑问

#include #include \"math.h\" unsigned char z,z1;//取步序 unsigned int lj1=0;//a电机累加次数 unsigned int lj2=0; //b电机累加次数 unsigned char pda,pdb;//判断正反转 unsigned char x1=0,x2=0;  //x坐标 unsigned char y ...…

查看全部问答>

枕头里的私人音乐空间

这是一个内置音乐播放器、扬声器的枕头,手提箱式的设计方便携带,打开之后还可以展开一张很大的毯子,就算是躺在操场的草坪上,也不用担心草尖会扎到脖颈。内置的播放器可以识别U盘或存储卡,随时随地可以营造一个有轻音乐伴随的休憩空间。 …

查看全部问答>

单片机能做什么?

今天和同学聊天,谈起单片机,他觉得单片机做不了什么东西,更适合小工厂。而更广泛的应该用PLC,大家觉得单片机会被淘汰吗?用单片机又能做些什么呢?欢迎大家发表自己的意见啊。(我同学研究生毕业直接做了老师,接触实际的很少。)…

查看全部问答>

100分求一个用于C#上能带图片的按钮控件.

我想用C#开发WinCE的程序,找了半天没有找到怎么在按钮上放图片,听说是没有带这样的控件,  都是第三方的才行. 哪位有发给小弟一个. …

查看全部问答>

2440头文件的奇怪问题

在s2440.h有这么一段: #define ADC_BASE      0xB1800000 // 0x58000000 typedef struct {         unsigned int         rADCCON;         ...…

查看全部问答>

菜鸟求问:如果调试2440下面的SPI接口

买的是tq2440,有四个GPIO引脚支持SPI协议。 但是不知道调试的话该从何做起。 刚开始学习,网上溜达了好多天 看了driver下的驱动程序以及DOcument下面的test程序 但是具体是怎么个操作过程,希望有人能指点一下 譬如说是不是先要用导线将MISO ...…

查看全部问答>

task延时问题

我想使用task来实现毫秒级的延时,想延时了就调用task延时。 但是遇到要使用时钟的问题,不知如何解决,哪位大虾能伸出援手????…

查看全部问答>

转贴:LM3S单片机UART的FIFO理解 和μDMA方式的UART

最近在看UART,看到这篇理解的不错,特转发过来,和大家一起学习学习。   Stellaris单片机有两个16字FIFO,分别用于缓存收和发的数据。FIFO触发中断的深度可设置,设置为8个数据(1/8)触发发送中断时,就是当发送FIFO中数据少于8时触发发送 ...…

查看全部问答>

请教STM8S103读取内部EEPROM为什么不行?

void EEP_INIT(void) {     FLASH_CR1 = 0x00;     FLASH_CR2 = 0x00;     FLASH_NCR2 = 0xff;     FLASH_DUKR = MASS_KEY1;     FLASH_DUKR = MASS_KEY2;     while(!FL ...…

查看全部问答>

关于批量生产时,向芯片中烧写程序的问题!

现在产品已基本上开发出来,即将批量生产,但是却存在一个问题,在以前开发阶段,我总是通过在线 编程的方式将程序写入芯片,现在要批量生产了,总不能还通过这种方式吧,能不能向51单片机一样将程序编译成HEX或二进制文件,通过编程器,先加密,然后写到片子 ...…

查看全部问答>