当前位置:首页 > 嵌入式系统
  • 工业4.0中包含了物联网以外哪一些技术

    工业4.0中包含了物联网以外哪一些技术

    将IT与OT域进行合并的挑战是在一处组装四种必需的工业物联网技术:网络,处理,用户界面和安全性。 在称为工业4.0的转型中,精明的制造商正在忙于构想并创建未来的智能工业企业。通过合并信息技术和运营技术领域,他们正在构建下一代智能系统,以优化可制造性,改善运营,增强客户支持并分析由工业物联网提供的实时数据。物联网概念,以其最简化的形式,是关于将嵌入式系统连接到更广阔的世界。更广泛地说,它包括数据分析,人机交互和安全性。挑战在于将四种必需的工业物联网技术集中在一处:网络,处理,用户界面和安全性。 时间敏感的网络 IT和OT的合并只有通过调整绑定每个域的网络才能实现。由于域的功能差异很大,因此它们的网络本质上也有所不同。IT领域包含将数据转换为有用信息的系统。对于制造商而言,它包括诸如会计,电子邮件和客户关系管理之类的通用系统,并且还包括针对计划和物流的特定制造系统。这些是基于计算机的系统,没有严格的实时限制,可以使用常规以太网的尽力而为方法。 OT域包括用于将材料制成产品的系统,用于过程控制,工作流管理和过程监控的实时嵌入式系统。工厂可以使用适应标准以太网的工业以太网技术,以提供实时响应并使用传统的工业通信协议。不幸的是,许多工业以太网协议既不能相互配合,也不能与标准以太网互操作,从而限制了技术供应商的规模经济,从而减缓了创新速度。工厂中的一台机器可以连接到不同的工业以太网网络,每个网络都运行其特定的协议,以实现不同的控制功能。制造商必须部署网关以在不同网络之间或向IT系统传递数据。 由于它们的互操作性有限,因此工业以太网协议不太适合工业4.0。同时,面向IT的标准以太网无法提供控制系统所需的实时性能。 处理 正如网络必须支持实时功能,因此必须处理。实时操作系统(RTOS)有助于确保当CPU到达启用了TSN的端口时,它们可用于接收和处理控制数据包。响应控制数据包的能力还有助于CPU处理从其他输入进入处理器的事件,并执行控制处理器所属系统的循环。这些循环可能需要每30微秒或更短的时间运行一次,这是传统的IT操作系统无法满足的精确度。 对更高自动化的需求要求嵌入式控制器中增强处理能力。可以使用更高性能的处理来减少控制回路的时间,更快地移动机械臂和装配线并增加工厂产量。它还可以增加由单个运动控制器管理的轴数,从而使机器人具有更多的关节关节,从而可以在更狭窄的空间中操作或执行上一代工厂机器人无法解决的任务。可以从操作员那里学习任务的机器人将需要图像处理以及新的机器学习算法。 随着工业级Linux的出现,开源替代方案是另一种选择。这些为工业企业和OEM提供了向其系统添加新功能的敏捷性。如果有足够强大的处理器,不仅可以在工厂现场的计算机上进行分析,甚至可以在生产机器内进行分析。除了分析之外,还将使用工业4.0体制中的处理能力来远程管理操作,使机器能够相互之间进行自动协调,并通过将生产数据和IT系统链接起来来提高效率。 人机界面 另一个要求处理能力的功能是人机界面。受智能手机启发的界面将日益渗透到工业设备的僵硬世界。易于使用的可视界面简化了操作员对机器的控制。高分辨率的屏幕使您可以查看高清相机的输出,从而检查制造出来的商品。驱动这些屏幕的是智能手机中使用的相同类型的图形处理单元。尽管将这些GPU的3D性能从智能手机中缩小以降低成本和功耗,但它们将支持大尺寸高分辨率屏幕。图形,视频和文本的叠加;和光滑的用户界面。 安全性 OT和IT的安全融合将增加安全威胁的风险。过去,运营是孤立的,几乎是外界无法理解的。黑客需要物理链接来攻击计算机。融合的工业环境侵蚀了隔离操作的障碍,因此可以在系统之间共享信息以提高效率。 必须建立新的屏障,以确保系统的完整性,同时保持对数据流的渗透性。设备制造商的第一步是确保设备中的处理平台安全。他们必须确保其系统仅执行批准的软件并安全地连接到其他系统。这些系统必须进行安全调试和定期更新,并且不得篡改其硬件和软件在工业环境中,财务和安全风险较高,从而扩大了对安全系统的需求。

    时间:2020-05-11 关键词: 以太网 工业物联网 嵌入式系统

  • 嵌入式系统中如何程度的安全才算真正安全

    嵌入式系统中如何程度的安全才算真正安全

    (文章来源:电子工程网) 当今的嵌入式系统常常处理应用代码(IP)和数据等敏感信息,因此安全是其设计的一个主要关注因素。为了确立一个合理的基础来判断建议的安全系统是否足以御敌或是防卫过当,就必须识别所察觉到的安全威胁。这意味着我们需要弄清对手有哪些,他们有什么样的能力,他们的目标是什么?我们要保护什么,我们要防范谁的威胁或什么威胁? 世界上并没有一个包打天下的解决方案,也没有百分之百安全的安全系统。然而,安全系统不必是完美无缺的解决方案,也不需要全然牢不可破以至于失去应用价值。安全系统只要足够安全即可,也就是在它所保护的数据的预期有效时间内,它能够抵御可能的敌人进攻即可。 嵌入式系统设计师经常误解安全,认为诸如特定的加密算法和安全协议等安全措施只是系统的附加特性。安全是一个过程,而不是永远保持不变的一款产品或一种终极状态。而且,也不能在产品将永远保持安全的假设下,把安全措施简单地加入到一款产品中。当今设计师面临的最棘手难题之一就是明确嵌入式系统的安全要求和目标。有助于解决这一难题的方法很多,本文所讨论的方法涉及威胁建模和风险评估,目的是帮助设计师定义安全策略,然后设计对策来实施安全策略。 在设计安全解决方案的时候,首先必须做的就是定义一个威胁模型,然后再创建安全策略。一旦评估完成,就能安心地选择具体的技术来实现安全对策。威胁决定应对策略,策略决定设计。 许多设计师都会犯同一个错误,在设计安全系统时没有首先明确和了解可能遇到的真正威胁,以及这些威胁会给他们的终端产品带来的重大风险。相反,他们教条地把各类安全技术堆在一起,并希望能获得很高的安全性。这样做代价高昂,没有系统能防御所有的安全威胁,在设计中囊括那些没有必要的技术和防御没有实际威胁的风险毫无意义。 对于资源受限的设备,嵌入式系统必须在存储容量、功耗、处理能力、上市时间及成本等参数和安全需求之间获取一种平衡。尽管存在资源不足的挑战,通过仔细考虑威胁模型并设计系统使其工作在能满足该模型的可用计算能力限制之内,仍有可能开发出使产品在开放环境中有效工作的系统。 对系统设计师来说,考虑“威胁建模”的原理非常有用。威胁建模是基于一种假设,即每个系统都有值得保护的固有价值。然而,因为这些系统是有价值的,他们对内部或外部威胁也是开放的,这些威胁能够且经常给终端产品带来损害。设计完成后的安全漏洞常常是无法修正的,且危及投入的资金和开发资源,因此需要在设计周期的初始阶段增强对安全评估的需求,并在整个设计周期进行监测和重复修正。 本质上,我们可以把威胁模型定义为:“识别一组可能的攻击,以便考虑配合一套彻底的风险评估策略。”有了威胁模型,我们就能评估攻击的概率、潜在危害和优先级。 当正确完成威胁建模时,真正的威胁就被确定下来了。然而,如果弄错了可能存在的威胁的话,其代价将是高昂的。设计师弄错威胁的一个案例是DVD的保护措施。尽管DVD碟片被加密,密钥也放在播放机里,只要播放机里包含抗篡改硬件,这种保护方式是没有问题的。但引入软件播放器时,密钥会曝露出来,通过逆向工程就能恢复密钥,也使任何人都能随便复制和散布任何DVD内容。 在这种情况下,它是有缺陷的威胁模型。虽然有安全措施,但是这无法真正解决问题。 仅仅列出一堆威胁是不够的,由于不同威胁的风险不同,因此还需要知道每种威胁的风险。威胁建模的下一个步骤是风险评估,这是在任何安全系统设计中的一个至关重要的部分。风险评估的一些基础问题,即“保护什么”、“为什么要保护”和“防范的对象是谁”,应在设计周期的最初阶段厘清。尽早采取表1所示的措施,将有助于您选择有效、安全的防范技术和防御策略。 识别出威胁,并权衡风险后,接下来就该建立安全策略了。安全策略是解决方案背后的战略,而技术仅仅是战术手段。安全策略描述“为什么”,而不是“如何做”。 在确定了潜在的攻击,且已定义好安全目标后,就可以考虑实施防范技术来减轻风险。一套有效的安全防范措施包括三个不同的部分:保护、检测、回应。这些对策必须基于系统已知威胁来合理地共同工作。如果保护机制被攻破,必须依靠检测和回应机制来抵御攻击。如果回应机制不存在或无效,那拥有检测机制也就没有意义。 安全设计是一个动态的、与具体的系统相关的过程,且往往很复杂。对于本文中谈论的每种安全话题,都有大量研究和专门技术资料供设计师研究和学习。在开始进行设计时,最重要的事情就是尽早开始安全需求评估,定义系统安全目标,并经常性地根据系统用途及市场的变化来确定是否最初的威胁已经改变或扩展。        

    时间:2020-05-10 关键词: 安全系统 嵌入式系统

  • 物联网和嵌入式领域出现了什么重大的事情

    物联网和嵌入式领域出现了什么重大的事情

    今年,嵌入式系统和物联网的主题从边缘智能到安全性以及开源的发展。下面,我们分享了我们认为是2019年最重要的五个关键事件,这些事件可能会在2020年产生重大影响。 重生超宽带(UWB) 引进的U1超宽带(UWB)芯片在苹果公司最新推出iPhone用到了,其实不只是苹果一个显著的事件,而是整个行业。目前,市场上实际有几家公司包括:NXP半导体,Decawave,3db Access和基于UWB密钥的开发商之一海拉(Hella)。 UWB曾经被誉为高速连接技术,现已转变为一种传感技术:它现在可以提供非常精确的设备定位信息。 尽管苹果尚未使用UWB启用任何服务,但芯片行业将苹果的举动视为该技术大规模采用所需的重大突破。它已在Jaguar Land Rover中用于防止中继站攻击(这是带有密钥卡的新车中最常见的汽车盗窃原因之一);因此,大众汽车公司等汽车制造商希望将这项技术广泛应用于安全的智能数字钥匙和其他智能移动服务。 UWB使数据可以在短距离和宽带宽上传输,即使在拥挤的多径信号环境中,也可以提供准确的定位信息。 人人都想要连通性 在2019年,我们已经看到华为在5G基础架构技术方面领先于游戏。我们还观察到,物联网和汽车行业都在寻求利用5G,希望为其各自的互联应用创造巨大的机会。这两个市场细分显然已成为每个大型芯片公司的头等大事。这就是为什么芯片制造商一直在大笔收购来开放其支票簿以增强连接性的原因。这些例子包括英飞凌以100亿美元收购赛普拉斯半导体公司,英伟达以69亿美元收购Mellanox Technologies以及恩智浦以17.6亿美元收购Marvell的Wi-Fi和蓝牙连接资产。 Arm现在允许进行一些自定义 Arm使用该公司自己的TechCon 2019展示了它将开放其指令集为客户针对Cortex-M内核的定制指令。尽管Arm显然是市场上销量最高的32位RISC核心产品,但这种定制可以帮助在其他成功采用可定制指令集的知识产权(IP)公司的领导下获得立足点。它们包括:ARC(现在是Synopsys的一部分)和Tensilica(现在是Cadence的一部分)。 安全成为开源 当世界各国政府越来越多地考虑连接设备的安全准则时,2020年1月将实施加利福尼亚州的参议院法案SB 327。这就要求在加利福尼亚出售的联网设备制造商必须为设备配备“合理的”安全功能。 因此,OpenTitan(开源的信任硅根)的发布被视为至关重要。此举将使开发人员更容易在金属级的系统中设计可信赖的安全性。我们认为这可能是嵌入式安全和物联网的关键时刻。 RISC-V RISC-V的出现在2019年肯定是至关重要的。以阿里巴巴在7月份的宣布为例,将启用一种新的16核RISC-V芯片,针对人工智能(AI),物联网和5G,其性能将比现有RISC-V内核高40%。 当然,RISC-V中还有许多其他举措建议一个逐渐成熟的生态系统。一个很好的例子是OpenHW Group,它基于处理器内核提供了强化的片上系统(SoC)。此外,我们看到个别公司的举措,如晶心科技的计划,诱使开发商尝试它的RISC-V核心的自由没有前期的IP授权费。

    时间:2020-05-10 关键词: 物联网 人工智能 嵌入式系统

  • 基于嵌入式系统的CAN总线网络通信是怎样设计的

    基于嵌入式系统的CAN总线网络通信是怎样设计的

    1.引言 可编程逻辑器件PLD(Programmable logic Device)就是由用户进行编程实现所需逻辑功能的数字专用集成电路ASIC。可编程逻辑器件在现代电子工程设计中得到了广泛应用。它是在PAL,GAL等逻辑器件的基础上发展起来的,具有高密度,高速度,低功耗体系结构和逻辑单元,灵活以及运用范围宽等特点,同时还具有设计周期短,制造成本低,开发工具先进,标准产品无需测试,质量稳定及可实时布线检验等优点。 现场总线技术广泛应用于工业和军用测控局域网中,它可以实现较远距离、较快速度的信息传输,而且只需要双绞线作为传输媒介,简单可靠。但是,在该技术应用中总线控制器与微机之间的接口电路一般采用单片机来实现。采用这种方式将导致较长的研发周期和庞大的电路,且难于实现高速数据传输。本文利用CPLD成功地实现了嵌入式系统与CAN总线网络的通信,速度快,易于实现,而且非常稳定。 本系统采用的器件是Altera公司的CPLD,属于MAX7000系列。Altera公司的CPLD器件主要包括MAX系列、ACEX系列、FLEX系列和APEX系列。其中MAX系列器件为高速实际应用提供了非常高的性价比,这基于它先进的MAX架构。MAX7000系列提供了速度最快的可编程逻辑器件解决方案,它基于CMOS EEPROM工艺,传播延迟最小为3.5ns。 2.CPLD实现接口电路 实时控制系统中,测控局域网利用CAN控制器实现微机间的数据传输。其基本的设计思想是:由于PC总线协议与CAN控制器不一致,因而在它们中间设计了一个硬件电路作为接口来实现转换。PC地址与数据总线是分离的,而CAN控制器数据与地址线通过分时复用来实现地址与数据分离,刚好与单片机一致。单片机技术虽然较成熟,但是,由于涉及单片机编程和开发的周期较长,且采用单片机系统需要较庞大的外围电路,不利于研制系统应用于嵌入式系统中。因此,用可编程逻辑器件设计接口电路,可以有效解决这些问题。 本系统采用“主-从”式点对点通信。系统硬件由两台PC104主机和两块CAN总线通信模块组成,如图1所示。主机采用CPU主频为300MHz的奔腾处理器;CAN总线控制器位SJA1000T;一带屏蔽的双绞线作为系统总线;通信波特率可用软件设置为1Mbps;为了提高通信的可靠性,用CAN控制器的报文筛选器对报文进行筛选,来对由于干扰而产生的错误报文进行滤波。 图1 系统硬件组成 本系统主要是利用主机PC(PC104)采集多个下位机从被控对象得到的数据,并进行实时控制和综合调度,其原理框图如图2所示。 图2 原理框图 其中CPLD完成从CAN控制器到PC总线的数据转换。CAN控制器负责从总线上采集数据。总线驱动部分由89C250完成总线驱动;光电隔离器完成CAN控制器与传输电缆的信号隔离,防止电缆上的非规则信号对CAN控制器产生干扰。 3.MAX+PLUSⅡ程序设计 Altera公司的MAX+PLUS Ⅱ是一个高效实用的工具。直接采用原理图输入方式,进行编译后写入器件中;同时可在线更改写入内容,修改和调试简单易行。利用MAX+PLUS Ⅱ可以对输入输出关系进行在线调试和仿真,开发和调试周期短而高效。MAX+PLUSⅡ的软件设计的流程包括设计输入、功能仿真、编译、后仿真、编程验证几个部分。 本文所论述的系统已经实现并进行通信测试,在最高通信速度、通信距离、热冗余和冷冗余实验等测试中都取得了良好的表现。这里仅论述逻辑设计输入和功能仿真。 CPLD主要用于实现PC接口板的地址选择比较器和CAN控制器到PC总线的数据转换,其设计输入如图3所示。 基于嵌入式系统的CAN总线网络通信流程设计 图3 设计输入 其中compare完成选址功能,MUX2×8完成总线转换。 4.仿真实验 为简明起见,这里仅给出核心的部分时序仿真图形,如图4所示。 图4 核心的部分时序仿真图形 由仿真波形可知,在PC总线的读写操作进行时,地址和数据很好的实现了转换,读写的周期完整,触发迅速,保证转换的准确和迅速,满足了设计的要求。 5.结论 可编程逻辑器件的应用已经成为现代电子电路设计中的高效方式,它可以实现高效率、可靠的设计,也可以进一步提高电路的集成度;使用它设计的CAN通信卡可以作为通信接口而满足嵌入式系统的要求。同时,基于PC104系统的CAN通信的通信效率较高,具有较强的实时性,可以满足工业现场高速通信的需要,也可为复杂控制系统实现实时控制提供强有力的工具。

    时间:2020-05-10 关键词: 通信网络 嵌入式系统 can总线

  • 物联网嵌入式应用带来了怎样的价值

    物联网嵌入式应用带来了怎样的价值

    当今什么技术最有发展前途?嵌入式系统毫无疑问正是这个问题的答案。事实上,嵌入式系统一直都是热门的应用领域,原因就在于嵌入式系统随处可见,特别是在一些特定的专用设备上,这些设备的特点是在于硬件资源十分有限,并且对成本非常敏感,此外,对于实时响应也有很高的要求。而今天,随着家电与消费性电子产品的智能化,使得嵌入式系统更显出其重要性。 在日常生活中,嵌入式系统常见于移动电话、视讯电话、VCD/DVD/MP3、数字相机、数字摄影机、USB-Disk、数字机顶盒、高画质电视、游戏机、电子字典、智能玩具、路由器、交换机、汽车电子、数字控制设备或仪表、家电控制系统、医疗仪器,甚至航空与太空设备等,都广泛采用了嵌入式系统。可以说,嵌入式系统就在你我的生活当中。 嵌入式系统 嵌入式系统根据英国电机工程师协会的定义,其为控制、监视或辅助设备、机器或甚至工厂运作的装置。一般来说,嵌入式系统将具备如下的特性: 1.可用于执行特定功能。这与一般PC或伺服系统执行多样化功能有很大区别。 2.核心为计算机与周边所构成。其规模小至一个MCU,大到先进的x86芯片系统。 3.对于时序与稳定度要求严格。在机器控制上,若稍有不慎可能导致失控与酿灾,因此对于稳定度要求高。 4.需可全自动操作且循环。既使断电后也可自动进行紧急处置,并在复电后回复原有的执行状态。 一般来说,嵌入式系统都是借助软件与硬件的整合,来提供设备各种所需之功能。嵌入式系统的硬件端设计完成之后,各种功能的实现就要交由软件端来达成。嵌入式系统的功能优劣,很大程度是决定于嵌入式软件,这也成为是否能为嵌入式系统提升附加价值的关键。且目前各种智慧化设备盛行,智能化系统的高复杂度,也必须要依赖软件来赋予其运作的能力。因此,在硬件端技术普遍成熟的状况之下,软件将决定嵌入式系统的差异化。 物联网嵌入式应用 物联网是嵌入式系统最为广泛与频繁的应用领域。在物联网的系统中,最常见的硬件组件为控制器、传感器等。在物联网时代,为了实现所有物品都能连结上网,最不可或缺的组件,就是检测状态时所必要的传感器,以及让大家共享传感器所获得数据数据的网络。随着物联网、智能城市等应用市场的快速发展,对传感器产品在低功耗、低成本、可靠性、稳定性、准确度、小型化、微型化、复合型、标准化等技术和经济指标上,都出现了更高的要求。而这些市场的迫切需求,也使得传感器开发商更积极展开技术与产品的研发,以满足市场所需。 事实上,物联网、智慧城市等,将成为传感器最主要的应用市场之一,其应用也将渗透到未来生活中的各个不同层面。而近年来随着物联网、智能手机、汽车电子与医疗电子等产业的快速发展,对陀螺仪、加速度传感器、MEMS麦克风等感测组件的需求正不断增加,也带动传感器产业迈入快速发展阶段。 万物互联新挑战 物联网的概念,最早是由研究RFID的英国科学家Kevin Ashton所提出。在他的构想中,物联网是透过一个无所不在的传感器系统,将真实世界与互联网相互连结。到了今天,物联网已可将嵌入了电子系统、传感器、应用软件、或传动器的实体设备链接到云端,甚至可让装置之间透过不同的协议来彼此互连。物联网是透过网络链接不同装置并传送数据数据,因此对于传感器与随时联网有很高的需求。只是有些物联网装置可以容忍间断联机,并降低所需要的网络带宽。 当然,由于传送了大量的数据数据,因此所有物联网的通讯都必须采用预防性的安全机制来加以保护,例如装置的身分管理、加密和访问控制,以及设备稽核和监控等。尽管物联网的连结并不像是看起来这么容易,尚需要考虑到各种安全性的问题,然而在这些挑战的背后,是物联网所带来的应用价值,可真正缩小这些真实世界与数字世界之间的距离与差异,智慧城市与智能家居的愿景也将会更接近。 数据应用是重要环节 物联网的关键之一,就在于数据。透过物联网,让过去看似一无是处的数据数据可以变得很有用处。透过物联网装置,可以对数据进行搜集、分析并建立数据库,如此便可实现智能化的机器学习。而这些经过的分析数据也可透过物联网在装置上执行,提供智能化的分析结果,以便在事件发生时可以立即反应。 例如街道上的场景侦测分析,透过监视摄影机的预测模型,便可在镜头发觉可疑活动时实时传送提醒。物联网可广泛应用于生活中的各种应用情景,包括智能城市中的连网家居、联网车辆、医疗保健、工业生产、与智慧零售等。透过物联网不只更安全、更有效率,也更为节能。 物联网的主要目的,就是将真实世界连接到互联网,让用户都可以透过装置的数据数据来提高生产力和工作效率。然而,是否万物都可以真的连结到互联网呢?事实上,现阶段随着更多不同的可用联机选项,以及联机成本正逐步下降,使得万物连接到互联网不只已经成为一种可能,也正在发生着,并且越来越多的装置都正在透过网络撷取数据数据。 物联网透过嵌入式系统的硬件组件与软件应用程序,来控制各式各样的事物,可能是冰箱、监控摄影机、或者有线机顶盒等家电产品;可能是产线输送带和制造设备等工业环境设备系统;或者交通号志、智能型电表等智能城市中的一切商用装置。可以说,只要是能透过云端启动的任何装置,都可能成为物联网整体应用上的一个重要环节。 结语 对于消费者来说,他们希望食衣住行的各种层面装置都具备物联网功能,例如智能全自动电冰箱安全地在云端往来并传送数据。而制造商希望能透过云端数据来更清楚了解客户的使用情况和零件状态,以提升产品和客户体验。至于工业客户则希望能透过物联网相关应用程序,让工业设备和产线程序更加聪明并提升安全。例如可以有效减少技术人员花在维护抽水马达和电表这类装置的时间,或者可以透过数据的优化,将现场技术人员的生产力提高更多。 无论如何,嵌入式系统在物联网应用中,已经扮演着越来越重要的角色。而嵌入式系统也成为万物互联之下,能否为相关应用赋予更多智能化能力的关键组件。无所不在的嵌入式系统,与万物互联的物联网架构,在未来肯定还将激出更多火花。

    时间:2020-05-05 关键词: 物联网 嵌入式系统

  • SysConfig如何助推嵌入式系统开发

    SysConfig如何助推嵌入式系统开发

    嵌入式系统开发人员面临的重大挑战之一是如何高效而精确地配置系统。当今先进的微控制器(MCU)包括各类处理器内核、硬件加速器、先进的无线电、精密的外围器件和接口,并带有复杂的管脚多路复用方案的封装。许多半导体供应商提供的软件示例可为嵌入式设计提供起点,但是开发人员通常必须修改各种参数、事件和变量,以针对特定应用优化软件。这些修改通常需要查阅许多技术文档,以识别和更新特定的寄存器或源代码行。考虑到代码序列的复杂性和各类命名规范,此类手动修改较容易出错。更新的数量也可能呈指数增长,这取决于给定软件组件支持的选项数量以及所需应用程序使用的选项数量。手动更新还可能引入直到构建过程的更晚阶段才被发现的资源冲突,从而导致运转受阻和潜在的多种无用指令。为帮助简化配置并加速软件开发,德州仪器创建了SysConfig(一个统一的软件配置工具)。该工具具有直观、全面的图形应用程序集合,可用于配置管脚、外围器件、无线电、子系统和其他组件。SysConfig帮您直观管理、发现和解决冲突,以便您有更多时间创建差异化的应用程序。SysConfig在图形用户界面中显示所有可配置参数,并在下拉列表中显示配置选项。与SysConfig进行交互时,鼠标悬停,工具提示和视觉提示可指导您进行有效的配置。上下文文档直接嵌入界面中,而相关文档和定义在工具中被曝光和链接,从而为您提供正确信息,帮您在需要时配置软件。您不再需要在众多文档和源代码行中进行搜索以找出更新参数的方法。相反,您可使用TI LaunchPad™开发套件或您自己的自定义硬件,快速创建您的初始配置并花费更多时间在应用程序中进行创新。SysConfig是智能的。LaunchPad开发套件的主板视图显示了主板上使用的管脚以及图1所示的扩展接头。SysConfig了解应用程序已在使用哪些管脚和资源,且能够在启用和配置其他组件时帮助自动解决潜在冲突。例如,如果要在项目中添加一个模数转换器(ADC)实例,SysConfig将自动查找并分配下一个可用的ADC外设和管脚。使用加号标志可以轻松添加资源,下拉菜单则可帮助组织可用选项。颜色编码有助于指示冲突、共享资源和成功分配。图1:LaunchPad开发套件电路板视图示例SysConfig的器件视图对于具有类似信息级别的自定义硬件开发很有用。软件视图(如图2中所示的Z-Stack配置视图)提供了可配置参数的总览,并显示每个参数的选项列表(在此示例中为Zigbee器件类型)。只需单击鼠标,即可将默认设置从Zigbee连接器更改为Zigbee终端器件。用鼠标悬停在“?”图标上,将显示有关这些参数的更多详细信息,而更新后的软件将显示在预览窗格中。在此初始版本中,SysConfig支持大多数SimpleLink™MCU的管脚和驱动器配置,包括射频(RF)参数和用于Wi-Fi®、以太网、Bluetooth®、Zigbee®、Thread、15.4和EasyLink的有线和无线通信技术的堆栈的配置。它还支持多协议配置。您可轻松更新默认设置,以快速找到适合您的用例的RF和堆栈设置的最佳组合。您还可将参数导出到其他TI工具,包括TI的Smart RF™Studio,以进行进一步的测试和调整。图2:示例堆栈配置视图SysConfig现在可在TI的Code Composer Studio™集成开发环境(IDE)中用于台式机和云。它也可以作为独立工具与其他IDE一起使用,包括用于Arm®处理器的IAR Embedded Workbench。SysConfig的功能将随着时间的推移继续扩展。该工具将遵循SimpleLink软件开发工具包的季度发布节奏,引入新功能,以继续提高开发人员的效率。

    时间:2019-12-30 关键词: 微控制器 嵌入式系统 sysconfig

  • SysConfig助推嵌入式系统开发

    SysConfig助推嵌入式系统开发

     嵌入式系统开发人员面临的最大挑战之一是系统的高效和精确配置。现代微控制器(先进的微控制器,MCU)包括大量处理器内核、硬件加速器、先进的无线电设备、高度发展的外围设备和接口以及具有复杂引脚复用方案的封装。 许多半导体供应商提供的软件示例可为嵌入式设计提供起点,但是开发人员通常必须修改各种参数、事件和变量,以针对特定应用优化软件。这些修改通常需要查阅许多技术文档,以识别和更新特定的寄存器或源代码行。考虑到代码序列的复杂性和各类命名规范,此类手动修改较容易出错。更新的数量也可能呈指数增长,这取决于给定软件组件支持的选项数量以及所需应用程序使用的选项数量。手动更新还可能引入直到构建过程的更晚阶段才被发现的资源冲突,从而导致运转受阻和潜在的多种无用指令。 为帮助简化配置并加速软件开发,德州仪器创建了SysConfig(一个统一的软件配置工具)。该工具具有直观、全面的图形应用程序集合,可用于配置管脚、外围器件、无线电、子系统和其他组件。SysConfig帮您直观管理、发现和解决冲突,以便您有更多时间创建差异化的应用程序。 SysConfig 在图形用户界面中显示所有可配置参数,并在下拉列表中显示配置选项。与SysConfig进行交互时,鼠标悬停,工具提示和视觉提示可指导您进行有效的配置。上下文文档直接嵌入界面中,而相关文档和定义在工具中被曝光和链接,从而为您提供正确信息,帮您在需要时配置软件。您不再需要在众多文档和源代码行中进行搜索以找出更新参数的方法。相反,您可使用TI LaunchPad™开发套件或您自己的自定义硬件,快速创建您的初始配置并花费更多时间在应用程序中进行创新。 SysConfig是智能的。LaunchPad开发套件的主板视图显示了主板上使用的管脚以及图1所示的扩展接头。SysConfig了解应用程序已在使用哪些管脚和资源,且能够在启用和配置其他组件时帮助自动解决潜在冲突。例如,如果要在项目中添加一个模数转换器(ADC)实例,SysConfig将自动查找并分配下一个可用的ADC外设和管脚。使用加号标志可以轻松添加资源,下拉菜单则可帮助组织可用选项。颜色编码有助于指示冲突、共享资源和成功分配。 图1:LaunchPad开发套件电路板视图示例 SysConfig的器件视图对于具有类似信息级别的自定义硬件开发很有用。软件视图(如图2中所示的Z-Stack配置视图)提供了可配置参数的总览,并显示每个参数的选项列表(在此示例中为Zigbee器件类型)。只需单击鼠标,即可将默认设置从Zigbee连接器更改为Zigbee终端器件。用鼠标悬停在“?”图标上,将显示有关这些参数的更多详细信息,而更新后的软件将显示在预览窗格中。在此初始版本中,SysConfig支持大多数SimpleLink™MCU的管脚和驱动器配置,包括射频(RF)参数和用于Wi-Fi、以太网、Bluetooth、Zigbee、Thread、15.4和EasyLink的有线和无线通信技术的堆栈的配置。它还支持多协议配置。您可轻松更新默认设置,以快速找到适合您的用例的RF和堆栈设置的最佳组合。您还可将参数导出到其他TI工具,包括TI的Smart RF™Studio,以进行进一步的测试和调整。 图2:示例堆栈配置视图 SysConfig现在可在TI的Code Composer Studio™集成开发环境(IDE)中用于台式机和云。 它也可以作为独立工具与其他IDE一起使用,包括用于Arm处理器的IAR Embedded Workbench。 SysConfig的功能将随着时间的推移而扩展。该工具遵循SimpleLink SDK的季度发布速度,并引入了新功能来进一步提高开发人员的生产率。

    时间:2019-12-25 关键词: 嵌入式系统 sysconfig 行业资讯 主板视图

  • AI处理器的三原则你需要知道

    AI处理器的三原则你需要知道

    众所周知,在云计算处理过程中,采用浮点计算进行训练,定点计算进行推理,从而实现最大的准确性。用大型服务器群组进行数据处理,能耗和大小必须考虑,但他们相较于有边缘约束的处理几乎是无限的。移动设备上的人工智能已经不再依赖于云端连接,今年 CES 最热门的产品演示和最近宣布的旗舰智能手机都论证了这一观点。人工智能已经进入终端设备,并且迅速成为一个市场卖点。包括安全、隐私和响应时间在内的这些因素,使得该趋势必将继续扩大到更多的终端设备上。为了满足需求,几乎每个芯片行业的玩家都推出了不同版本、不同命名的人工智能处理器,像“深度学习引擎”、“神经处理器”、“人工智能引擎”等等。 说起人工智能好像我们想到的是机器视觉,指纹识别,人脸识别,视网膜识别,虹膜识别,掌纹识别,自动规划,智能搜索,博弈,自动程序设计,智能控制等;然而其核心内容是离不开嵌入式的。 然而,并非所有的人工智能处理器都是一样的。现实是,许多所谓的人工智能引擎就是传统的嵌入式处理器加上一个矢量向量处理单元。这里还有一些其它功能对于人工智能处理前端化至关重要。 优化嵌入式系统的工作负载 在移动设备上,功耗、性能和面积(PPA)的可行性设计至关重要。因此在嵌入式 SoC 芯片上,优先采用更有效的定点计算。 当将网络从浮点转换为定点时,会不可避免地损失掉一些精度。然而正确的设计可以优化精度损失,从而达到与原始训练网络几乎相同的结果。     控制精度的方法之一是在 8 位和 16 位整数精度之间做出选择。虽然 8 位精度可以节省带宽和计算资源,但是许多商用的神经网络仍然需要采用 16 位精度以保证准确性。 神经网络的每一层都有不同的约束和冗余,因此为每一层选择更高的精度是至关重要的。 针对开发人员和 SoC 设计者,一个工具可以自动输出优化的图形编译器和可执行文件,例如 CEVA 网络生成器,从上市时间的角度来看是一个巨大的优势。 此外,保持为每一层选择更高精度(8 位或 16 位)的灵活性也是很重要的。这使每一层都可以在优化精度和性能之间进行权衡,然后一键生成高效和精确的嵌入式网络推理。     专用硬件来处理真正的人工智能算法 VPU 使用灵活,但许多常见的神经网络需要的大量带宽通道对标准处理器指令集提出了挑战。因此,必须有专门的硬件来处理这些复杂的计算。 例如 NeuPro AI 处理器包括专用的引擎处理矩阵乘法、完全连接层、激活层和汇聚层。这种先进的专用 AI 引擎结合完全可编程工作的 NeuPro VPU,可以支持所有其它层类型和神经网络拓扑。 这些模块之间的直接连接允许数据无缝交换,不再需要写入内存。此外,优化的 DDR 带宽和先进的 DMA 控制器采用动态流水线处理,可以进一步提高速度,同时降低功耗。     明天未知的人工智能算法 人工智能仍然是一个新兴且快速发展的领域。神经网络的应用场景快速增加,例如目标识别、语音和声音分析、5G 通信等。保持一种适应性的解决方案,满足未来趋势是确保芯片设计成功唯一途径。 因此,满足现有算法的专用硬件肯定是不够的,还必须搭配一个完全可编程的平台。在算法一直不断改进的情况下,计算机模拟仿真是基于实际结果进行决策的关键工具,并且减少了上市时间。 CDNN PC 仿真包允许 SoC 设计人员在开发真实硬件之前,就可以使用 PC 环境权衡自己的设计。     另一个满足未来需求的宝贵特征是可扩展性。NeuPro AI 产品家族可以应用于广泛的目标市场,从轻量型的物联网和可穿戴设备(2 TOPs)到高性能的行业监控和自动驾驶应用(12.5 TOPs)。 在移动端实现旗舰 AI 处理器的竞赛已经开始。 许多人快速赶上了这一趋势,使用人工智能作为自己产品的卖点,但并不是所有产品里都具备相同的智能水平。

    时间:2019-12-19 关键词: 移动设备 SoC 人工智能 嵌入式系统 行业资讯

  • Linux知识点系列(二)

    Linux知识点系列(二)

    我们这篇文章接着上一篇文档继续来了解Linux系统: 1. Linux只有被授权的用户才可以使用系统命令。  2. Linux系统提供的命令需要在shell环境下运行。  3. 使用bash命令时,应注意以下7点:   (1) 命令名必须是小写英文字母。(2) 方括号里面的部分是可选的。(3) 选项是对命令的特别定义。(4) 命令行参数提供命令运行的信息或者命令执行过程中所使用的文件名。(5) 如果命令行中没有参数,命令将从标准输入文件上接收数据,输出结果显示在标准输出文件上,错误信息显示在标准错误输出文件上。(6) 命令在正常执行后返回0值,表示执行成功;如果执行过程中出错,则返回非零值。(7) 联机帮助对每个命令的准确语法都做了说明。   4. 如果一个命令太长,一行放不下,要在第一行行尾输入“\”字符,按回车键。这时shell会返回一个大于号(>)作为提示符,表示该命令行尚未结束,允许继续输入有关信息。  5. who命令显示:   (1) 正在使用系统的用户 (2) 所用终端名 (3) 注册到系统的时间   6. who am i命令   列出当前用户的相关信息。   7. echo命令   将命令行中的参数显示到标准输出上   8. 复习date命令  cal命令   password命令  9. clear命令     清除屏幕上的信息。清屏后,提示符移到屏幕的左上方。  10. 磁盘上的文件系统是层次结构的,由若干目录和子目录组成,最上层的目录称为根目录,用“/”表示。  11. root目录就作为自己的父目录。  12. 文件名按照ascii码顺序列出,以数字开头的文件名列在前面,然后是以大写字母开头的文件名,最后是以小写字母开头的文件名。 13. 文件的结构:   (1) 索引节点 (2) 数据   14. 以圆点(.)开头的文件是隐含文件,默认情况下,使用ls命令不能把它们在屏幕上显示出来。  15. Linux支持的文件类型:   (1) 普通文件:包括文本文件、数据文件、可执行的二进制程序文件 (2) 目录文件 (3) 设备文件:包括字符设备和块设备 (4) 符号链接文件   16. 使用带-a选项的ls命令可以显示隐含文件。  17. cat命令   (1) 显示文件的内容,输出到标准输出上。 (2) 连接两个或多个文件。   18. more命令   显示文件内容,每次显示一屏。   19. less命令   分屏显示文件的内容。less命令允许用户向前或向后浏览文件,more命令只能向前浏览。   20. head命令   显示指定文件的开头若干行。默认值是10    21. tail命令   显示指定文件的末尾若干行。   22. touch命令     修改指定文件的时间标签或者创建一个空文件。  23. grep命令   在文本文件中查找指定模式的词或短语,并在标准输出设备上显示包括给定字符串模式的所有行。   24. sort命令   对文本文件的各行进行排序。   25. uniq命令   从排好序的文件中删去重复行。   26. comm命令   对两个已排序文件进行逐行比较。   27. diff命令   比较两个文件,并找出它们的不同。不要求两个文件预先排好序。   28. cp命令   将源文件或目录复制到目标文件或目录中。   29. rm命令   删除文件或目录   30. mv命令   对文件或目录重新命名,或者将文件从一个目录移到另一个目录。   31. wc命令   统计指定文件的字节数、字数、行数,并将统计结果显示出来。   32. 主目录就是用户当前工作目录。  33. 绝对路径名总是以斜线(/)字符开头,表示根目录。绝对路径名也称全路径名。  34. 使用pwd命令可以显示当前工作目录的绝对路径名。  35. 点(.)表示当前工作目录。  36. mkdir命令     创建目录 37. cd命令   改变工作目录   38. Linux具有为一个文件起多个名字的功能,称为链接。被链接的文件可以存放在相同的目录下,但是必须有不同的文件名,而不用在硬盘上为同样的数据重复备份。被链接的文件也可以有相同的文件名,但是存放在不同的目录下,只要对一个目录下的该文件进行修改,就可以完成对所有目录下同名链接文件的修改。对于某个文件的各个链接文件,可以指定不同的存取权限,以控制对信息的共享和增强安全性。   39. 文件链接的两种形式:   (1) 硬链接 (2) 符号链接   40. 建立硬链接时,在别的目录或本目录中增加目标文件的一个目录项,这样一个文件就登记在多个目录中。  41. 在默认情况下,ln命令创建硬链接,ln命令会增加链接数,rm命令会减少链接数。  42. 硬链接的限制:   (1) 不能对目录文件创建硬链接  (2) 不能在不同的文件系统之间做硬链接。链接文件和被链接文件必须位于同一个文件系统中。   43. 符号链接也称软链接,是将一个路径名链接到一个文件。  44. 与硬链接不同,符号链接确实是一个新文件,具有不同的I节点号,而硬链接没有建立新文件。  45. 符号链接没有硬链接的限制,可以对目录文件建立符号链接,也可以在不同文件系统之间建立符号链接。  46. ln命令  创建链接   47. Linux为每个文件都分配一个文件所有者,称为文件主,并赋予文件主唯一的注册名。对文件的控制取 决于文件主或超级用户(root)。  48. 文件或目录的创建者对创建的文件或目录拥有特别使用权。  49. Linux规定四种不同类型的用户:   (1) 文件主 (2) 同组用户  (3) 可以访问系统的其他用户 (4) 超级用户   50. chmod命令   改变或设置文件或目录的存取权限。注意只有文件主和超级用户有权使用该命令。   51. man命令   格式化并显示某一命令的联机帮助手册页。   52. help命令   查看所有shell内置命令的帮助信息。   53. ps命令   查看当前系统中运行的进程信息。   54. kill命令   终止一个进程的运行。   55. sleep命令   使进程暂停执行一段时间。   56. gzip命令   对文件进行压缩和解压缩   57. unzip命令   对zip格式的压缩文件进行解压缩。    精彩继续~~~ 

    时间:2019-11-12 关键词: 软件 Linux 嵌入式系统 linux知识点

  • 抑制嵌入式系统设计的复杂性

    抑制嵌入式系统设计的复杂性

      Raspberry Pi系列不久前通过全新的Raspberry Pi Zero W1(2017年2月)扩充了产品线,这是一台支持无线连接的个人计算机,售价仅10美元。对于业余爱好者、制造商、工匠和黑客而言,它的意义非同寻常。是的,我们之中很少有人真正尝试做好我们的工作,即设计真正的(电子)产品!当我最近观看Eben Upton的视频公告时,我忍不住想起早年的经历。那是80年代中期,我买不起BBC电脑,也负担不起奢侈的Amiga。但我花光所有的钱购买了Sinclair ZX Spectrum。因此,Eben努力实现“让所有人都买得起”的目标确实让我产生了共鸣。  一台功能强大的个人计算机塞进一块小巧的印刷电路板(PCB)上,确切地说是6 x 3 cm的印刷电路板,达到这种小尺寸的新记录着实让我惊叹。经过进一步思考,我经常想弄清楚是否正是Spectrum的简约及其诸多限制促使我深入研究计算机并最终沉醉于这一奇妙领域——软件和硬件之间的边界,我们今天称之为嵌入式。  小型片上系统  Raspberry Pi Zero设计基于片上系统(SoC)(BCM2835),其中包括一个1 GHz ARM®内核和一个图形处理单元(GPU)、一个视频接口、多个串行接口(USB、UART、SPI和I2C)以及一个外部存储器接口,用于管理运行Linux®操作系统(OS)所需的大容量RAM(512 MB DDR2)和大容量存储卡(SD卡)。对于单芯片器件来说,这些都是令人印象深刻的功能,特别是与我年轻时看到的早期个人计算机相比。我们可能会争辩,与目前在各种嵌入式控制应用中常用的最新简单型单片机相比,这并非不成比例。虽然时钟速度和处理能力都要低得多(从10 MHz到100 MHz不等),但今天所有小型单片机本身都是真正的小型片上系统奇迹。正如您对单片机期望的那样,所有RAM和闪存都位于芯片上。存在串行接口(USB、UART、SPI和I2C),但也集成了所有电源调节和电压监控电路。片上通常有五个或更多不同的(精密)振荡器,以便获得更大的灵活性并控制功耗。此外,还有几个具有大输入/输出多路开关的模拟外设(ADC、DAC、运算放大器和模拟比较器......),取代了Raspberry Pi幻想视频中的功能,一直以来反映出偏爱嵌入式超过计算的设计选择中的显著不同。  事实上,当Raspberry Pi用户需要与现实世界连接时,对于使常用LED闪烁等最平和I/O应用以外的应用而言,由更小的单片机(实际上通常为8位单片机)通过“帽子”(小型子板)提供必要的I/O接口和所需电压转换并不意外。  我不想在两个截然不同的世界之间将这种不公平的对比一直拖下去,但我必须指出,在支持开发人员方面,两者有一个共同关注的问题:“控制复杂性”,最终“吸引新用户”。毋庸置疑,它们的解决方案类似,但终究有所不同。  这两个平台都是由提供免费软件工具开始,包括集成开发环境(IDE)、编译器、链接器、模拟器、调试器(在专业版中提供,只需少量费用)、或多或少的开放式中间件和(RT-)OS以及一小部分硬件(板)选项。  两个阵营(嵌入式计算和通用计算)之间的差异比您想象的要小。两者最终都依赖于类似的(如果不相同)工具链,这些工具链大部分都基于GNU。在中间件级别,一旦您正确抽取下级(下至金属)驱动程序层,开源选项会再次变得极其相似。操作系统级别的差异最大,因为许多单片机将很愿意运行RTOS,但无法承受完整Linux内核的负担。这反映了真正的行业差异。实时是操作系统“工作说明”的一部分。  膨胀  查看文档时会发现,两者的复杂度在膨胀。我最喜欢的一个例子是基于流行8位PIC®架构的小巧而简单的单片机。PIC16F1619经常用于控制小家电,为此,它将小容量闪存(16 KB)封装在20引脚微型封装中,具有十几个数字外设接口和几乎同样多的模拟支持模块。其数据手册长达650页,之后还增加了特性数据、表和图2。  此小型SoC上提供的一些外设(例如信号测量定时器)需要长达50页的篇幅才能适当记录。这几乎是描述实际PIC内核及其整个指令集所需页数的两倍。  在Raspberry Pi方面,如果只是按比例放大(10倍),则问题类似,因为有多个数据手册需要考虑,每个数据手册只记录片上系统硬件组件的一部分(SoC外设、GPU和内核),内核单独占用超过750页的篇幅。  嵌入式软件架构  很明显,没有人能够阅读或跟上如此庞大的信息量。特别是嵌入式开发人员,他们总是承担着极大的压力,需要在更短的时间内完成应用,以实现最快的产品上市速度。常见的解决方案是使用分层架构对应用进行分区,并使用标准化外设库来抽取硬件详细信息。这些层可以整齐地形成协议栈,其中“应用”位于硬件抽象层(HAL)的顶部。实际上,可以进一步细化此图片来完全识别HAL,HAL上方的中间件层将负责实现诸如网络、文件系统和图形UI(如果存在/需要)一类的通用服务/功能。  图1:嵌入式应用的软件协议栈  注:通常通过从HAL分离驱动程序层和电路板支持层来进一步细化协议栈,但是在以下考虑中,我们不需要详细到这种程度。  此软件架构直接来源于“计算”领域,可以很好地对大多数通用案例进行建模。遗憾的是,由于它适用于嵌入式应用,因此有两个基本缺点:  · 只要重点放在顶层中间件层提供的标准功能上,分层架构就可以简化文档篇幅过长的问题。在应用范围的底端,当中间件层(如果存在)非常薄时,结果大多比较模糊。开发人员必须依赖以大型应用编程接口(API)形式存在的HAL文档,这份材料的篇幅同样较长(可达数千页),但始终未真正研究器件的任何细节。出现问题时,他/她将身陷窘境或被迫深入研究陌生领域和大量代码。  · HAL层为支持标准中间件服务提供了巨大帮助,但由于其性质极其严格,因此最终会清除特定器件的任何独特差异化功能。否则,这些独特功能可以为特定应用提供技术优势,并且可能成为选择特定器件型号的原因。  · 在应用范围的顶端,中间件层非常厚,例如Raspberry Pi,仅Linux OS内核就添加了数百万行代码来应对问题3。虽然可以说这是开源代码,但对于希望自己永远不必深入了解到如此程度的普通开发人员而言,它几乎无法带来安慰。  让计算机尽其所能!  最终,Raspberry Pi开发人员将能够依靠“计算”性能带来的巨大收益和小电路板提供的大量资源。标准Linux操作系统的便利性远不止弥补API的复杂性和广泛性。  我最关心的是全新小型SoC的开发人员:现代单片机用户。对于他们而言,使用标准化HAL的好处减少了,因为性能存在损失,而且堆叠软件架构使独特的功能变得单一。  用于快速开发的新一代软件工具代表了摆脱这一难题的巧妙方式。这是最近出现在嵌入式控制市场中的一种新型代码生成器或配置器。尽管最初时持有明显(但通常合理)的怀疑态度,但事实证明,这些工具不仅有效,对于任何严格的嵌入式开发人员也必不可少。  我们发现的显著特征包括:  - 完全集成在常见的IDE中,这有助于其了解项目上下文:型号(器件编号)选择和中间件库感知。  - 支持独特和复杂的外设。例如,先前示例中提到的信号测量定时器(SMT)可以在单个页面/对话框中直观地呈现给用户,其中仅包含少数滚动列表、复选框和一些直观选项。有关来自Microchip的PIC单片机的旗舰快速开发工具MPLAB®代码配置器(MCC)4的屏幕截图,请参见图2。  图2——MPLAB代码配置器:信号测量定时器选项  - 利用模板引擎,将配置选项转换为一小部分完全自定义的函数。这意味着只需通过少量待学习的函数以及一致且直观的命名约定便可生成最小API。函数定制保证大多数硬件抽象是在编译时(实际上在编译前)静态执行的。这有助于减少传递到每个函数所需的参数列表,从而提高性能和代码密度。有关MPLAB代码配置器的典型简约用例,请参见列表1。  - 输出由非常短的(C语言)源文件组成,这些源文件可由用户全面检查(可将其作为一次学习机会),但也会经过专家进一步手动优化。现代化的代码生成器将其代码与用户代码灵活地混合,既可保持完整性,也允许充分利用宝贵的高级硬件功能。  void SMT1_Initialize(void) {  // CPOL rising edge; EN enabled; SPOL high/rising edge enabled; SMT1PS 1:1 Prescaler; …  SMT1CON0 = 0x80;  // SMT1MODE Counter; SMT1GO disabled; SMT1REPEAT Single Acquisition mode;  SMT1CON1 = 0x08;  // SMT1CPRUP SMT1PR1 update complete; SMT1TS not incrementing; RST SMT1TMR1 update complete …  SMT1STAT = 0x00;  SMT1CLK = 0x00; // SMT1CSEL FOSC;  SMT1WIN = 0x00; // SMT1WSEL SMTWINx;  SMT1SIG = 0x00; // SMT1SSEL SMTxSIG;  SMT1PRU = 0x00; // SMT1PR16 0x0;  SMT1PRH = 0x00; // SMT1PR8 0x0;  SMT1PRL = 0x00; // SMT1PR0 0x0;  }  void SMT1_DataAcquisitionEnable(void) {  SMT1CON1bits.SMT1GO = 1; // Start the SMT module by writing to SMTxGO bit  }  void SMT1_SetPeriod(uint32_t periodVal) {  // Write to the SMT1 Period registers  SMT1PRU = (periodVal >> 16);  SMT1PRH = (periodVal >> 8);  SMT1PRL = periodVal;  }  列表1——由MCC生成、用于配置SMT外设的源文件(smt1.c)部分  从根本上说,代码配置器/生成器可将“计算机”执行的操作做到最好。构建HAL是硬件外设配置重复且容易出错的阶段,通常会导致在数据手册中花费大量时间进行乏味的搜索,现在,这一阶段现已然消失或显著缩短,只留下一些更加趣味横生、启发思维的探索与创造时间。  事实上,用户可以从同一个用户界面了解特定的硬件外设功能,从根本上消除(或至少极大减少)对数据手册的需求。  硬件抽象层成为项目的灵活部分,实际上可以根据需要频繁、快速地重新生成,从而优化应用性能。  十(二进制)行代码  处理完(外设)配置后,可将注意力立即集中到应用上,这是设计中更智能的部分(在应用层上),这一部分位于“主循环”之内,而不是之前。  最后要说的是,凭借代码生成器,即使在嵌入式领域中,经典的“Hello World”示例(总是转换为使LED闪烁)也会成为令人耳目一新的两行代码练习!  LED_Toggle();  __delay_ms(500);  列表2——为创建第一个嵌入式“Hello World”而需要输入的短短两行代码 您将能够在我最近出版的书中找到(20个)更多关于同样有效利用快速开发工具的实例:“In 10 Lines of Code”5。  对抗复杂性  在小型单片机发展成为小型SoC或者个人计算机缩小为Raspberry Pi的过程中,不仅会浪费时间和造成认知负担,还会在我们操作无法完全理解/掌握的系统时引入漏洞。  复杂性不是技术进步的必然结果。现代化的代码配置器/生成器可以通过扩展我们的软件开发流程、实现自动化并最终恢复我们对快速增长的可用功能/选项数量的掌握来帮助我们。  个人简历  Lucio Di Jasio是Microchip的EMEA业务开发经理。过去18年来,他一直在公司8位、16位和32位部门担任各种技术和营销职位。作为一位固执己见的多产技术作家,Lucio发表了大量文章和多部有关嵌入式控制应用编程的书籍。凭借对飞行的热情,他获得了FAA和EASA私人飞行员执照证书。

    时间:2019-09-25 关键词: Microchip 嵌入式系统 复杂性

  • Microchip大中华区技术精英年会2019报名注册现已开放

    Microchip Technology Inc.(美国微芯科技公司)今日宣布,2019年大中华区技术精英年会现已开始接受报名。技术精英年会是Microchip为嵌入式控制工程师举办的技术培训盛宴。今年年会将在五个城市举行,提供各种讲座课程、动手实验以及与专家交流的机会。会议将于今年11月6-8日、11月13-15日、11月14-15日、11月20-22日以及11月28-29日分别在武汉、深圳、台北、上海和台中举行。Microchip技术精英年会提供适合各类经验水平的课程,旨在为工程师提供一个平台,分享并交流与Microchip庞大的产品组合相关的技术信息,为这些产品的各类应用提供设计资源。今年的年会在中国大陆和台湾地区共设有57门课程,涉及Microchip的8、16和32位PIC®MCU、基于AVR®的SAM单片机(MCU)、高性能模拟和接口解决方案、dsPIC®数字信号控制器、电机控制解决方案,带二维触摸表面库的触摸板解决方案,时钟和频率应用和解决方案、USB Type-CTM接口介绍、PCIe基础、基于BLE的安全UART库、MPLAB® Harmony v3外设库介绍以及Linux®构建系统。今年的会议还设有一些新的课程,涉及Microchip的PolarFire® FPGA和以太网供电(PoE)解决方案。开设的课程中,包括为与会者提供的12个动手实验课程。Microchip大中华区销售总监E.H.Chen表示:“技术精英年会的与会者将了解如何使用智能、互联和安全的半导体和服务来开发新的差异化产品,实现跨市场的创新。Microchip工程师将与年会参与者一同打造最佳的学习体验,从而缩短设计周期,加快产品上市速度。”Microchip技术精英年会还设有许多其他活动,包括:Microchip工程师、合作伙伴和与会者讨论相关设计话题的交流环节,以及与第三方开发工具专家会面等。此外,会场内设有多个展位,与会者可在培训课程间隙参观展览,更好地了解Microchip及其第三方产品。出席台湾技术精英年会的所有人员还可获得一套MASTERS-19通用开发板。此外,他们还可以参加11月举行的嵌入式系统研讨会(ESS),并免费获得APP-ESS19-2开发板。

    时间:2019-09-10 关键词: 嵌入式系统 智能 技术精英年会

  • MII RMII SMII GMII

    MII (Media Independent Interface(介质无关接口)或称为媒体独立接口,它是 IEEE-802.3定义的以太网行业标准。它包括一个数据接口和一个 MAC 和 PHY 之间的管理接口。 数据接口包括分别用于发送器和接收器的两条独立信道,每条信道都有自己的数据、时 钟和控制信号。 MII 数据接口总共需要 16 个信号。 管理接口是个双信号接口:一个是时钟信号,另一个是数据信号。通过管理接口,上层 能监视和控制 PHY。 MII ( Management interface)只有两条信号线。MII 标准接口用于连接 Fast Ethernet MAC-block 与 PHY。表明在不对 MAC 硬件重新设 计或替换的情况下,任何类型的 PHY 设备都可以正常工作。在其他速率下工作的与 MII 等 效的接口有: AUI( 10M 以太网)、 GMII( Gigabit 以太网)和 XAUI( 10-Gigabit 以 太网)。 MII 总线      在IEEE802.3中规定的MII总线是一种用于将不同类型的 PHY与相同网络控制器( MAC) 相连接的通用总线。网络控制器可以用同样的硬件接口与任何 相连接的通用总线。网络控制器可以用同样的硬件接口与任何 PHY 进行连接。MII 相关接口介绍: 以太网媒体接口有: MII RMII SMII GMII所有的这些接口都从 MII 而来, MII 是(Medium Independent Interface)的意思,是指不 用考虑媒体是铜轴、光纤、电缆等,因为这些媒体处理的相关工作都有 PHY 或者叫做 MAC 的芯片完成。        MII 支持 10 兆和 100 兆的操作,一个接口由 14 根线组成,它的支持还是比较灵活的, 但是有一个缺点是因为它一个端口用的信号线太多,如果一个 8 端口的交换机要用到 112根线, 16 端口就要用到 224 根线,到 32 端口的话就要用到 448 根线,一般按照这个接口 做交换机,是不太现实的,所以现代的交换机的制作都会用到其它的一些从 MII 简化出来的 标准,比如 RMII、 SMII、 GMII 等。 RMII 是简化的 MII 接口,在数据的收发上它比 MII 接口少了一倍的信号线,所以它一般 要求是 50 兆的总线时钟。 RMII 一般用在多端口的交换机,它不是每个端口安排收、发两个 时钟,而是所有的数据端口公用一个时钟用于所有端口的收发,这里就节省了不少的端口数 目。 RMII 的一个端口要求 7 个数据线,比 MII 少了一倍,所以交换机能够接入多一倍数据 的端口。和 MII 一样, RMII 支持 10 兆和 100 兆的总线接口速度。 SMII 是由思科提出的一种媒体接口,它有比 RMII 更少的信号线数目, S 表示串行的意 思。因为它只用一根信号线传送发送数据,一根信号线传输接受数据,所以在时钟上为了满 足 100 的需求,它的时钟频率很高,达到了 125 兆,为什么用 125 兆,是因为数据线里面 会传送一些控制信息。 SMII 一个端口仅用 4 根信号线完成 100 信号的传输,比起 RMII 差 不多又少了一倍的信号线。 SMII 在工业界的支持力度是很高的。同理,所有端口的数据收 发都公用同一个外部的 125M 时钟。 GMII 是千兆网的 MII 接口,这个也有相应的 RGMII 接口,表示简化了的 GMII 接口。 MII 工作原理:“媒体独立”表明在不对 MAC 硬件重新设计或替换的情况下,任何类型的 PHY 设备都可 以正常工作。包括分别用于发送器和接收器的两条独立信道。每条信道都有自己的数据、时 钟和控制信号。 MII 数据接口总共需要 16 个信号,包括 TX_ER, TXD, TX_EN, TX_CLK, COL, RXD, RX_EX, RX_CLK, CRS, RX_DV 等。 MII 以 4 位半字节方式传送数据双向传输,时钟速率 25MHz。其工作速率可达 100Mb/s。MII 管理接口是个双信号接口,一个是时钟信号,另一个是数据信号。 通过管理接口,上层能监视和控制 PHY,其管理是使用 SMI ( Serial Management Interface) 总线通过读写 PHY 的寄存器来完成的。 PHY 里面的部分寄存器是 IEEE 定义的,这样 PHY 把自己的目前的状态反映到寄存器里 面, MAC 通过 SMI 总线不断的读取 PHY 的状态寄存器以得知目前 PHY 的状态,例如连接 速度,双工的能力等。 当然也可以通过 SMI 设置 PHY 的寄存器达到控制的目的,例如流控的打开关闭,自协 商模式还是强制模式等。 不论是物理连接的 MII 总线和 SMI 总线还是 PHY 的状态寄存器和控制寄存器都是有IEEE 的规范的,因此不同公司的 MAC 和 PHY 一样可以协调工作。当然为了配合不同公司 的 PHY 的自己特有的一些功能,驱动需要做相应的修改。PHY 是物理接口收发器,它实现物理层。包括 MII/GMII(介质独立接口)子层、 PCS(物 理编码子层)、PMA (物理介质附加)子层、PMD (物理介质相关)子层、MDI 子层。100BaseTX采用 4B/5B 编码。PHY 在发送数据的时候,收到 MAC 过来的数据(对 PHY 来说,没有帧的概念,对它来 说,都是数据而不管什么地址,数据还是 CRC),每 4bit 就增加 1bit 的检错码,然后把并 行数据转化为串行流数据,再按照物理层的编码规则把数据编码,再变为模拟信号把数据送 出去。收数据时的流程反之。PHY 还有个重要的功能就是实现 CSMA/CD 的部分功能。 它可以检测到网络上是否有数据在传送,如果有数据在传送中就等待,一旦检测到网络 空闲,再等待一个随机时间后将送数据出去。如果两个碰巧同时送出了数据,那样必将造成 冲突,这时候,冲突检测机构可以检测到冲突,然后各等待一个随机的时间重新发送数据。 这个随机时间很有讲究的,并不是一个常数,在不同的时刻计算出来的随机时间都是不同的, 而且有多重算法来应付出现概率很低的同两台主机之间的第二次冲突。 通信速率通过双方协商,协商的结果是两个设备中能同时支持的最大速度和最好的双工模式,这个技术被称为 Auto Negotiation 或者 NWAY。 隔离变压器把 PHY 送出来的差分信号用差模耦合的线圈耦合滤波以增强信号,并且通过 电磁场的转换耦合到连接网线的另外一端。 RJ-45 中 1、 2 是传送数据的, 3、 6 是接收数据的。 新的 PHY 支持 AUTO MDI-X 功能,也需要隔离变压器支持,它可以实现 RJ-45 接口的1、 2 上的传送信号线和 3、 6 上的接收信号线的功能自动互相交换。GMII 简介:GMII (Gigabit MII) GMII 采用 8 位接口数据,工作时钟 125MHz,因此传输速率可达 1000Mbps。同时兼容MII 所规定的 10/100 Mbps 工作方式。GMII 接口数据结构符合 IEEE 以太网标准。该接口定义见 IEEE 802.3-2000。 发送器: ◇ GTXCLK——吉比特 TX..信号的时钟信号( 125MHz) ◇ TXCLK——10/100M 信号时钟 ◇ TXD[7..0]——被发送数据 ◇ TXEN——发送器使能信号 ◇ TXER——发送器错误(用于破坏一个数据包) 注:在千兆速率下,向 PHY 提供 GTXCLK 信号, TXD、 TXEN、 TXER 信号与此时钟信 号同步。否则,在 10/100M 速率下, PHY 提供 TXCLK 时钟信号,其它信号与此信号同步。 其工作频率为 25MHz( 100M 网络)或 2.5MHz( 10M 网络)。 接收器: ◇ RXCLK——接收时钟信号(从收到的数据中提取,因此与 GTXCLK 无关联) ◇ RXD[7..0]——接收数据 ◇ RXDV——接收数据有效指示 ◇ RXER——接收数据出错指示 ◇ COL——冲突检测(仅用于半双工状态) 管理配置 ◇ MDC——配置接口时钟 ◇ MDIO——配置接口 I/O管理配置接口控制 PHY 的特性。该接口有 32 个寄存器地址,每个地址 16 位。其中前16 个已经在“IEEE 802.3,2000-22.2.4 Management Functions”中规定了用途,其余的则由 各器件自己指定。 RMII 简介:RMII: Reduced Media Independant Interface 即简化媒体独立接口;是标准的以太网接 口之一,比 MII 有更少的 I/O 传输。 关于 RMII 口和 MII 口的问题RMII 口是用两根线来传输数据的,MII 口是用 4 根线来传输数据的,GMII 是用 8 根线来传输数据的。MII/RMII 只是一种接口,对于 10M 线速,MII 的速率是 2.5M, RMII 则是 5M;对于 100M线速, MII 的速率是 25M, RMII 则是 50M。MII/RMII 用于传输以太网包,在 MII/RMII 接口是 4/2bit 的,在以太网的 PHY 里需要做 串并转换、编解码等才能在双绞线和光纤上进行传输,其帧格式遵循 IEEE 802.3(10M)/IEEE 802.3u(100M)/IEEE 802.1q(VLAN)。 以太网帧的格式为:前导符+开始位+目的 mac 地址+源 mac 地址+类型/长度+数据+padding(optional)+32bitCRC如果有 vlan,则要在类型/长度后面加上 2 个字节的 vlan tag,其中 12bit 来表示 vlan id, 另外 4bit 表示数据的优先级! 网卡的工作原理, MAC 和 PHY: 认识网卡,我们上网必备组件之一。 网卡工作在 osi 的最后两层,物理层和数据链路层,物理层定义了数据传送与接收所需要 的电与光信号、线路状态、时钟基准、数据编码和电路等,并向数据链路层设备提供标准接 口。物理层的芯片称之为 PHY。数据链路层则提供寻址机构、数据帧的构建、数据差错检 查、传送控制、向网络层提供标准的数据接口等功能。以太网卡中数据链路层的芯片称之为MAC 控制器。很多网卡的这两个部分是做到一起的。他们之间的关系是 pci 总线接 mac 总 线, mac 接 phy, phy 接网线(当然也不是直接接上的,还有一个变压装置)。 下面继续让我们来关心一下 PHY 和 MAC 之间是如何传送数据和相互沟通的。通过 IEEE定义的标准的 MII/GigaMII(Media Independed Interfade,介质独立界面)界面连接 MAC 和PHY。这个界面是 IEEE 定义的。 MII 界面传递了网络的所有数据和数据的控制。而 MAC对 PHY 的工作状态的确定和对 PHY 的控制则是使用 SMI(Serial Management Interface)界 面通过读写 PHY 的寄存器来完成的。 PHY 里面的部分寄存器也是 IEEE 定义的,这样 PHY把自己的目前的状态反映到寄存器里面, MAC 通过 SMI 总线不断的读取 PHY 的状态寄存 器以得知目前 PHY 的状态,例如连接速度,双工的能力等。当然也可以通过 SMI 设置 PHY的寄存器达到控制的目的,例如流控的打开关闭,自协商模式还是强制模式等。我们看到了, 不论是物理连接的 MII 界面和 SMI 总线还是 PHY 的状态寄存器和控制寄存器都是有 IEEE的规范的,因此不同公司的 MAC 和 PHY 一样可以协调工作。当然为了配合不同公司的 PHY的自己特有的一些功能,驱动需要做相应的修改。一片网卡主要功能的实现就基本上是上面 这些器件了。其他的,还有一颗 EEPROM 芯片,通常是一颗 93C46。里面记录了网卡芯片 的供应商 ID、子系统供应商 ID、网卡的 MAC 地址、网卡的一些配置,如 SMI 总线上 PHY的地址, BOOTROM 的容量,是否启用 BOOTROM 引导系统等东西。很多网卡上还有BOOTROM 这个东西。它是用于无盘工作站引导操作系统的。既然无盘,一些引导用必需 用到的程序和协议栈就放到里面了,例如 RPL、PXE 等。实际上它就是一个标准的 PCI ROM。 所以才会有一些硬盘写保护卡可以通过烧写网卡的 BootRom 来实现。其实 PCI 设备的 ROM是可以放到主板 BIOS 里面的。启动电脑的时候一样可以检测到这个 ROM 并且正确识别它 是什么设备的。 AGP 在配置上和 PCI 很多地方一样,所以很多显卡的 BIOS 也可以放到主 板 BIOS 里面。这就是为什么板载的网卡我们从来没有看到过 BOOTROM 的原因。 2。工作过程, PHY 在发送数据的时候,收到 MAC 过来的数据(对 PHY 来说,没有帧 的概念,对它来说,都是数据而不管什么地址,数据还是 CRC),每 4bit 就增加 1bit 的检错 码,然后把并行数据转化为串行流数据,再按照物理层的编码规则(10Based-T 的 NRZ 编码 或 100based-T 的曼彻斯特编码)把数据编码,再变为模拟信号把数据送出去。收数据时的 流程反之。现在来了解 PHY 的输出后面部分。一颗 CMOS 制程的芯片工作的时候产生的 信号电平总是大于 0V 的(这取决于芯片的制程和设计需求),但是这样的信号送到 100 米甚 至更长的地方会有很大的直流分量的损失。而且如果外部网现直接和芯片相连的话,电磁感 应(打雷)和静电,很容易造成芯片的损坏。 再就是设备接地方法不同,电网环境不同会导 致双方的 0V 电平不一致,这样信号从 A 传到 B,由于 A 设备的 0V 电平和 B 点的 0V 电平 不一样,这样会导致很大的电流从电势高的设备流向电势低的设备。我们如何解决这个问题 呢?这时就出现了 Transformer(隔离变压器)这个器件。它把 PHY 送出来的差分信号用差模 耦合的线圈耦合滤波以增强信号,并且通过电磁场的转换耦合到连接网线的另外一端。这样 不但使网线和 PHY 之间没有物理上的连接而换传递了信号,隔断了信号中的直流分量,还 可以在不同 0V 电平的设备中传送数据。隔离变压器本身就是设计为耐 2KV~3KV 的电压的。 也起到了防雷感应(我个人认为这里用防雷击不合适)保护的作用。有些朋友的网络设备在雷 雨天气时容易被烧坏,大都是 PCB 设计不合理造成的,而且大都烧毁了设备的接口,很少 有芯片被烧毁的,就是隔离变压器起到了保护作用。

    时间:2019-09-03 关键词: mac 嵌入式系统

  • 国产嵌入式操作系统技术与产业发展论坛

    国产嵌入式操作系统技术与产业发展论坛

    嵌入式系统是电子信息产业的基础,是智能系统的核心。伴随物联网和人工智能的快速发展,嵌入式操作系统在智能系统中发挥越来越大的作用,为了应对日益复杂的外部环境,国产智能系统更加离不开国产嵌入式操作系统。 嵌入式操作系统历史悠久、门类繁多、用途广泛,不仅包括RTOS、开源的Linux、机器人和路由器操作系统,还包括新型的物联网操作系统,以及边缘计算操作系统平台。只要是国人开发的、参与维护的开源项目,均可以称为广义上的“国产嵌入式操作系统”。 主办方拟邀请国内从事嵌入式操作系统研究、教育、开发和开源项目维护的专家和学者(约15人)参与论坛的主题演讲和嘉宾讨论,研讨嵌入式操作系统最新技术、产业机遇以及商业模式,共同探讨国产嵌入式操作系统标准化、生态建设和国际合作等一系列有助于促进嵌入式操作系统发展的热点问题。 论坛主办方 北京航空航天大学计算机学院 北京航空航天大学杭州创新研究院 中国电子技术标准化研究院物联网研究中心 嵌入式系统联谊会 论坛承办方 北京航空航天大学杭州创新研究院 嵌入式系统联谊会 论坛地点 浙江省杭州市滨江区创慧街18号北京航空航天大学杭州创新研究院,8号楼2楼学术报告厅。 论坛时间 2019年8月24日 (周六)9:00-17:00 论坛议程 国产嵌入式操作系统技术与产业发展论坛暨嵌入式系统联谊会主题讨论会(总第25次) 注意事项: 论坛不收取会议注册会,不接受纯商业宣传。会议限额100人 报名从速。 报名通道 https://www.zhihuihuiwu.com/event/e411d138-e416-4beb-91d1-38e4161beb6e

    时间:2019-08-05 关键词: 物联网 嵌入式系统 智能

  • 嵌入式视觉系统与标准视觉系统的区别

    嵌入式视觉系统与标准视觉系统的区别

    “嵌入式视觉”与标准机器视觉系统之间的明显区别有时并不容易。进行分类的一种方法是将它们分解为三个部分。 第一部分:包括带摄像头和独立PC的经典视觉系统。 第二部分:包括基于板级相机和特定应用硬件(如小型PC)的系统。 第三部分:您将找到一个高度集成的系统,该系统具有很强的小型化程度,并且只有少数或根本没有标准化组件。例如,在第一部分和第二部分中,您通常会发现使用GigE,USB,屏蔽电缆等的相机系统,而在第三部分中,您更有可能找到带有带状电缆的LVDS等低级接口。 换句话说,沿着从第一阶段到第三阶段的路径,相机变得更小并且标准化部件的数量缩小。 成本节约是嵌入式视觉的结果。 与传统的PC设置相比,嵌入式方法不仅可以节省空间和能源。它也能够以低得多的成本实现。嵌入式系统降低成本的一个主要因素是软件。例如,Linux操作系统和OpenCV图像处理库是开源的,免费提供,因此使用此组合时,无需担心许可费用。 此外,基于ARM的处理器系列正在不断升级。众所周知,它具有经济实惠的性能,可用于各种性能等级,包括具有多核架构的性能等级。基于ARM的流程目前在嵌入式领域占据主导地位,并且比基于x86的处理器更为普遍。 对于在基于ARM和x86的架构上运行的SDK,通常可以将程序代码移植,而无需花费大量时间和精力。已经开发的代码的可重用性可以显着节省成本。 嵌入式视觉的硬件方面:芯片上的系统(SOC),模块上的系统(SOM)和模块上的计算机(COM) 嵌入式区域中使用的处理板通常是具有x86或ARM处理器的平台。这里使用的处理器通常将图形单元,总线系统和接口(USB,GigE,PCIe等)集中在一个所谓的片上系统或SOC中。 硬件集成的下一步使用模块上计算机或模块上系统(COM或SOM,可以同义使用)。SOC,RAM,电源管理和任何其他外围设备在电路板上组合成带有插头连接器的模块。 通过系统模块降低硬件开发成本 在嵌入式应用程序的硬件开发范围内,开发人员只需开发所谓的载体或基板,然后通过合适的插头连接器将其用于安装SOM。总的来说,这就是嵌入式处理板。 这种方法的好处在于,硬件开发中最复杂的部分已经通过SOM完成。从根本上将SOM连接到外部接口(USB,GigE,HDMI等)的基板,与开发所需的所有组件的完全定制设计相比,复杂得多,开发成本更低。例如,在单个电路板上。 各种具有各种SOC(包括x86和ARM)的SOM也可用于工业应用。制造商通常将其SOM设计为兼容,而无需调整基板,因此可以使用性能更高的SOM轻松替换性能较低的SOM。 还建立了几个独立于制造商的标准,例如COM Express,Qseven和SMARC。但是,在这种情况下,SOM在不同制造商产品中的兼容性通常仅涵盖SOM功能的一部分。 SOM使得即使在小单位体积的情况下开发嵌入式视觉系统也具有吸引力。虽然这种使用SOM方法的完全定制设计不太可能降低生产成本,但与传统的标准PC设置相比,它仍然具有显着的成本效益。

    时间:2019-07-29 关键词: 相机 pc 嵌入式开发 嵌入式系统

  • LabVIEW开发基于32位处理器的嵌入式系统指南

    LabVIEW开发基于32位处理器的嵌入式系统指南

    ARMLimited公司所开发的32位元RISC ARM处理器架构,成为多家主要制造商所普遍使用。ARM系列产品已包括75%的32位元RISC处理器市场占有率。针对ARM微控制器的设计作业,使用专为ARM微控制器所设计的NILabVIEW嵌入式(Embedded)模块。 随着32位多核处理器应用逐渐走热,设计者正面临着新的挑战, 业内专家指出面向角色(actor-oriented)的图形化方法是更适合嵌入式软件设计的工具。NI 的LabVIEW嵌入式开发模块是LabVIEW图形化编程环境的一款全新附加模块,通过这个软件和图形化系统设计的理念,原先无法利用到嵌入式编程的工程师们都可以进入32位微处理器的领域之中。通过LabVIEW中附加的状态图、控制图表、信号处理库函数等这一完整的工具来设计它们的应用,以解决各种问题。本文对该开发工具进行了介绍。 随着嵌入式系统变得越来越复杂,设计者正面临着新的挑战:随着基于32位微控制器(MCU)的嵌入式系统的成本向16位系统逐步接近,在许多高级应用中8位和16位微控制器正逐步让位给扩展性更佳,性能更好的32位片上系统(SoC)。此外,由于单纯通过CPU的性能提升来增加整个系统的性能已经不是一种持久的发展趋势了,所以主要的处理器制造商已经转向了多核心架构。从Dell在几个月前推出的多处理器核心的台式计算机,就可以看到这种趋势。从消费者和用户的观点上来看,处理性能的提升是一样的。但是,从一个嵌入式系统开发者的观点来看,设计将变得更加复杂,因为您必须了解如何在多处理器环境下开发和分割您的应用。根据十年前的估计,嵌入式系统的平均代码量为10万行。到2001年,这个数字实际已经超过了100万,而现在的数字估计为500万。 现在我们将视线转移到当前嵌入式系统的开发工具上来,随着复杂度的逐渐上升,现在传统工具很难降低编程工作的复杂度,嵌入式领域需要另一种方法来应对这些挑战。挑战不仅是工具方面的,还有解决问题的途径:基于文本编程的嵌入式应用开发在将来不可能解决这些问题。这已经是许多业内专家的共识;Edward Lee博士是加州大学伯克利分校嵌入式研究方面的领先者,他指出现在嵌入式系统的开发手段如基于文本编程和面向对象的工具都难以用来构建嵌入式实时系统,因为面向对象很难直观地表达时间和平行性(parallelism),而时间和平行性或并行(concurrency)在现在的嵌入式系统中是必不可少的。Lee博士提出面向角色(actor-oriented)的图形化方法是更适合嵌入式软件设计的工具。 虽然嵌入式系统的挑战越来越严峻,但是现在已经有了许多解决的方向。许多供应商采取了将底层工具的设计抽象出来的办法。这种方法每前进一步,都会吸引更多的用户。另一个方向是可以更彻底地解决面临的挑战,也就是向基于平台的工具转移,它能够更好地表达整个系统,而减少与特定硬件的相关性,这使得更多的软件设计容易理解并被重复使用,而从基于文本的工具向图形化工具的转移则可以直观地表达系统,并解决系统的挑战。图形化系统设计(Graphical System Design)的理念就是源于这些趋势。通过简化嵌入式编程的复杂性,它降低了对领域专家在嵌入式设计流程中各个步骤的要求;同时提供了从设计、原型到部署的一条捷径,使得工程师和科学家们可以更快速地进行重复设计。 尽管市场上的工具都在向图形化的方向转变,但由于它们是针对特定领域特定应用的工具,所以仍旧受到自身的限制,而这是不足以解决行业将要面临的挑战的。事实上,现在的嵌入式系统市场与八十年代早期的台式计算机市场有很多相似之处,其中的一个特点就是非常分散。现在市场所需的是一种完全的图形化编程语言,提供足够的灵活性和功能,以满足更广泛应用的需求。因此,图形化系统设计的关键因素是图形化编程。 将设计方法学直接应用于实现 自1986年诞生以来,LabVIEW图形化编程语言已经开始简化了系统的复杂性,并在同一个平台上提供采集、分析和显示等功能,在使用计算能力对处理过程自动化的同时,允许在研发原型,制造和测试过程中对软硬件的重用,弥补了原先因为原型、制造和测试三个步骤间因工具不同而造成的这一鸿沟。在所有涉及到数据采集和控制的领域里,LabVIEW图形化方式都已经成为标准的开发工具。从那时开始,我们就一直向这个编程环境添加功能上的改进,现在LabVIEW在已有的定时循环结构上新加了硬件定时功能,它是一种表示时间和并行的语义。现在,我们就可以通过点击来设置操作系统优先级,延时,循环速率等等;回想在文章前面所提到的向多处理器转移的趋势,现在我们可以憧憬使用可扩展的直观图形化编程,来开发应用,并将处理过程分配到不同的处理器上。 新的NI LabVIEW嵌入式开发模块(LabVIEW Embedded Development Module,)是LabVIEW图形化编程环境的一款全新附加模块,通过这个软件和图形化系统设计的理念,原先无法利用到嵌入式编程的工程师们都可以进入32位微处理器的领域之中。通过LabVIEW中附加的状态图、控制图表、信号处理库函数等这一完整的工具来设计它们的应用,以解决各种问题。 领域专家-在某个科学或工程领域的专家,但不一定是嵌入式的程序员-一般使用不同的模型或工具解决他们学术上或工程上的问题。例如,开发引擎控制单元(ECU)的工程师可能使用状态图来对引擎控制单元的功能进行图形化的描述。这位工程师可能是一个控制理论方面的专家,但是却可能没有任何嵌入式或C编程方面的经验。直到现在,嵌入式应用的实现仍然需要深入了解关于嵌入式编程工具,如C语言等方面的知识。因此,很多领域专家要实现他们的解决方案,甚至只是简单的验证一个概念仍然要依赖专门的嵌入式开发人员。这个存在于领域专家和嵌入式程序员之间的鸿沟,使得开发时间增加,而且容易在系统中引入错误。 LabVIEW嵌入式开发模块在设计和实现间的鸿沟之上架起了一座桥梁。领域的专家现在可以使用相同环境快速地设计算法,对定制的设计进行原型设计,将他们的解决方案在所选的目标上实现,并进行调试——所有这些过程都是通过图形化方式实现的。 开发与目标无关的代码 嵌入式目标本身要求程序员在编写代码之前对目标有深入的了解。程序需要知道板卡上各种关于内存映射和寄存器的信息,才能在板卡上执行他们的代码。另外,大部分代码是专为某一特定目标编写的。这样,在一块板卡上使用不同的微处理器或是不同的外围设备,可能就需要重新编写大部分已有的代码,或是完全从头开始。这意味着最终产品的扩展性方面是有缺陷的。

    时间:2019-07-24 关键词: LabVIEW 嵌入式系统 嵌入式处理器 32位处理器

  • 未来嵌入式系统设计中采用平行测试方法

    未来嵌入式系统设计中采用平行测试方法

    嵌入式系统是用来控制或者监视机器、装置、工厂等大规模设备的系统。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。 传统测试方法显然无法满足需求,工程师与嵌入式开发人员没有时间进行手动测量,也无法冒着可能在最终制造过程才发现关键缺陷的风险。同时,亚洲市场也带来了独特挑战,如必须整合全球各地的开发周期,以及激烈的成本压力。因此,嵌入式设计师需要创新的工具、技术和方法学。若没有新工具,嵌入式设计师就必须成为测试专家。 好消息是,许多技术可协助此一过程。从新的数据总线、多核心处理器到同步执行软件,都带给嵌入式设计师新的希望。开发人员现在可透过平行处理与平行测量实现更快的测试。向多核心处理器的转移可消除由传统循序式单核心测试平台造成的时间约束。这让拥有合适工具的工程师与科学家能以平行方式处理并分析数据。本质上,像NI LabVIEW这类平行软件语言能让执行在多核心系统上的应用大幅提升效能,且几乎不必更改程序代码。 如果工程师能采用平行处理,他们还会要求更有效率的测量。平行测试需要系统的每个子组件,而非仅需要处理组件,以支持平行模式。最通用的数据传输总线如PCI、USB、LAN、GPIB等都无法支持真实的平行数据传输模式,因为总线上的组件会共享频宽。随着任务数量的增加,分配给每个任务的可用频宽正在减少。工程师可透过选择能支持专用频宽的数据总线如PCI Express来消弭此一瓶颈。 尽管PCI Express开发了许多应用程序,以便在主机端采用软件处理,但最新的高速数字电子软件也许仍需常驻在其本身的硬件内以实现实时响应。FPGA可提供最佳化解决方案,因为它们运用软件定义了硬件能力,因此能以硬件速度做出响应。举例来说,LabVIEW可针对板上FPGA应用,并合成了直接来自图形化软件的所需硬件。 未来的嵌入式设计正朝更高效率的方向发展,许多开发商将运用整合式系统设计平台实现其设计与测试。图形化系统设计可提供商用化的现成软硬件平台,让开发商使用同样直观的软件进行设计与测试,并运用灵活的硬件平台来验证设计、原型并进行测试。

    时间:2019-07-24 关键词: 嵌入式开发 嵌入式系统 高速数字电子软件

  • 关于Linux嵌入式系统设计的层次设计

    关于Linux嵌入式系统设计的层次设计

    嵌入式 Linux是嵌入式操作系统的一个新成员,其最大的特点是源代码公开并且遵循GPL协议,近几年来已成为研究热点。目前正在开发的嵌入式系统中,有近50%的项目选择Linux作为嵌入式操作系统。 1. 第1层次:以PCB CAD软件和ICE为主要工具的设计方法。 这是过去直至现在我国单片机应用系统设计人员一直沿用的方法,其步骤是先抽象后具体。 抽象设计主要是根据嵌入式应用系统要实现的功能要求,对系统功能细化,分成若干功能模块,画出系统功能框图,再对功能模块进行硬件和软件功能实现的分配。 具体设计包括硬件设计和软件设计。硬件设计主要是根据性能参数要求对各功能模块所需要使用的元器件进行选择和组合,其选择的基本原则就是市场上可以购买到的性价比最高的通用元器件。必要时,须分别对各个没有把握的部分进行搭试、功能检验和性能测试,从模块到系统找到相对优化的方案,画出电路原理图。硬件设计的关键一步就是利用印制板(PCB)计算机辅助设计(CAD)软件对系统的元器件进行布局和布线,接着是印制板加工、装配和硬件调试。 工作量最大的部分是软件设计。软件设计贯穿整个系统的设计过程,主要包括任务分析、资源分配、模块划分、流程设计和细化、编码调试等。软件设计的工作量主要集中在程序调试,所以软件调试工具就是关键。最常用和最有效的工具是在线仿真器(ICE)。 2. 第2层次:以EDA工具软件和EOS为开发平台的设计方法。 随着微电子工艺技术的发展,各种通用的可编程半定制逻辑器件应运而生。在硬件设计时,设计师可以利用这些半定制器件,逐步把原先要通过印制板线路互连的若干标准逻辑器件自制成专用集成电路(ASIC)使用,这样,就把印制板布局和布线的复杂性转换成半定制器件内配置的复杂性。然而,半定制器件的设计并不需要设计人员有半导体工艺和片内集成电路布局和布线的知识和经验。随着半定制器件的规模越来越大,可集成的器件越来越多,使印制板上互连器件的线路、装配和调试费用越来越少,不仅大大减少了印制板的面积和接插件的数量,降低了系统综合成本,增加了可编程应用的灵活性,更重要的是降低了系统功耗,提高了系统工作速度,大大提高了系统的可靠性和安全性。 这样,硬件设计人员从过去选择和使用标准通用集成电路器件,逐步转向自己设计和制作部分专用的集成电路器件,而这些技术是由各种EDA工具软件提供支持的。 半定制逻辑器件经历了可编程逻辑阵列PLA、可编程阵列逻辑PAL、通用阵列逻辑GAL、复杂可编程逻辑器件CPLD和现场可编程门阵列FPGA的发展过程。其趋势是集成度和速度不断提高,功能不断增强,结构趋于更合理,使用变得更灵活和方便。 设计人员可以利用各种EDA工具和标准的CPLD和FPGA等,设计和自制用户专用的大规模集成电路。然后再通过自下而上的设计方法,把用半定制器件设计自制的集成电路、可编程外围器件、所选择的ASIC与嵌入式微处理器或微控制器在印制板上布局、布线构成系统。 3. 第3层次:以IP内核库为设计基础,用软硬件协同设计技术的设计方法。 20世纪90年代后,进一步开始了从“集成电路”级设计不断转向“集成系统”级设计。目前已进入单片系统SOC(System o-n a chip)设计阶段,并开始进入实用阶段。这种设计方法不是把系统所需要用到的所有集成电路简单地二次集成到1个芯片上,如果这样实现单片系统,是不可能达到单片系统所要求的高密度、高速度、高性能、小体积、低电压、低功耗等指标的,特别是低功耗要求。单片系统设计要从整个系统性能要求出发,把微处理器、模型算法、芯片结构、外围器件各层次电路直至器件的设计紧密结合起来,并通过建立在全新理念上的系统软件和硬件的协同设计,在单个芯片上完成整个系统的功能。有时也可能把系统做在几个芯片上。因为,实际上并不是所有的系统都能在一个芯片上实现的;还可能因为实现某种单片系统的工艺成本太高,以至于失去商业价值。目前,进入实用的单片系统还属简单的单片系统,如智能IC卡等。但几个着名的半导体厂商正在紧锣密鼓地研制和开发像单片PC这样的复杂单片系统。 单片系统的设计如果从零开始,这既不现实也无必要。因为除了设计不成熟、未经过时间考验,其系统性能和质量得不到保证外,还会因为设计周期太长而失去商业价值。 为了加快单片系统设计周期和提高系统的可靠性,目前最有效的一个途径就是通过授权,使用成熟优化的IP内核模块来进行设计集成和二次开发,利用胶粘逻辑技术GLT(Glue Logic Technology),把这些IP内核模块嵌入到SOC中。IP内核模块是单片系统设计的基础,究竟购买哪一级IP内核模块,要根据现有基础、时间、资金和其他条件权衡确定。购买硬IP内核模块风险最小,但付出最大,这是必然的。但总的来说,通过购买IP内核模块不仅可以降低开发风险,还能节省开发费用,因为一般购买IP内核模块的费用要低于自己单独设计和验证的费用。当然,并不是所需要的IP内核模块都可以从市场上买得到。为了垄断市场,有一些公司开发出来的关键IP内核模块(至少暂时)是不愿意授权转让使用的。像这样的IP内核模块就不得不自己组织力量来开发。 这3个层次各有各的应用范围。从应用开发角度看,在相当长的一段时间内,都是采用前2种方法。第3层次设计方法对一般具体应用人员来说,只能用来设计简单的单片系统。而复杂的单片系统则是某些大的半导体厂商才能设计和实现的,并且用这种方法实现的单片系统,只可能是那些广泛使用、具有一定规模的应用系统才值得投入研制。还有些应用系统,因为技术问题或商业价值问题并不适宜用单片实现。当它们以商品形式推出相应单片系统后,应用人员只要会选用即可。所以,3个层次的设计方法会并存,并不会简单地用后者取代前者。 初级应用设计人员会以第1种方法为主;富有经验的设计人员会以第2种方法为主;很专业的设计人员会用第3种方法进行简单单片系统的设计和应用。但所有的设计人员都可以应用半导体大厂商推出的用第3种方法设计的专用单片系统。 结束语 目前,在我国3个层次的设计分别呈“面”、“线”、“点”的状态。习惯于第1层次设计方法的电子信息系统设计人员需要逐步向第2层次过渡和发展;第2层次设计方法要由“线”逐步发展成“面”;第3层次设计方法需要国家有关部门根据IT发展战略和规划,组织各方面力量攻关、协调发展。第3层次设计方法要由“点”逐步发展成“线”。

    时间:2019-07-24 关键词: Linux PCB 嵌入式系统 cad

  • 嵌入式系统设计的注意事项

    嵌入式系统设计的注意事项

    在目前我们生活当中,充满着数量不断增长的微型电池供电设备及系统。这些嵌入式系统必须长期使用相同的电源供电,才能降低反复出现的维护成本或避免最终用户频繁更换电源。及早规划可以在优化系统实现低功耗的同时,减少对返工和/或代码重新编写的需求。这些考量包括: 1. 应用层面的低功耗设计; 2. 了解功耗与性能之间的利弊权衡; 3. 使用可优化功耗的软硬件技巧。 嵌入式应用中的功耗因素 任何给定系统中的功耗都可分为两大类: i. 静态功耗:静态功耗指器件在未运行代码、等待特定事件触发系统唤醒至工作模式时所消耗的电源。静态功耗的主要包括系统中流过的漏电流、模拟偏差、不能关闭的模块以及运行RTC、看门狗定时器和中断控制器等独立代码的模块。该电流与器件的工作电压成正比。工作电压越高,漏电流就越大; ii. 动态功耗:系统处于工作状态,CPU执行程序代码时所消耗的电源称为动态功耗。系统的动态电流取决于工作频率、电压以及有关总线与电路设计的寄生电容。计算方法为: P = V2 * f * C V为电压、f为工作频率、C为输出端的寄生电容 静态与动态功耗的图形表达: 对于任何给定的晶体管,其静态功耗在给定电源电压下基本上是恒定的。静态功耗源于漏电流(CMOS电路)或偏置电流(工作模拟电路),主要取决于系统类型。  晶体管中的动态功耗发生在电压转换过程中。在这些转换过程中,CMOS对会进入某个状态,在该状态下CMOS对的器件均部分开启,充当电阻器,从而可形成一种分压器电路。这种虚拟分压器电路消耗的电源要比所定义逻辑电平下的漏电流高很多。这就是为什么动态功耗与电路中的开关频率成正比的原因所在。因此在定义低功耗嵌入式系统时,它是最根本的注意事项之一,即要尽量减少系统的开关事件。 1. 硬件考量: a. 电池类型: 在嵌入式应用中主要有以下类型的电池: i. )标准碱性电池 iii. )可充电电池: 可充电碱性电池,锂离子电池 iii. )钮扣电池 对于各种广泛低功耗嵌入式应用而言,为系统充电不是合理的使用案例模型。这里无需为这些应用使用可充电电池。我们来比较一下另外两种在低功耗应用中有用的电池以及在为设计选择电池时需考虑的因素。 标准碱性电池:标准AA电池的典型容量大约为1500mAh,不仅可轻松提供数百mA的峰值电流,而且还能够以50mA的恒定速率放尽电流。 碱性电池能为应用提供高峰值电流,因此系统能够在并列使用其全部专用外设(定时器与通信模块等)的同时,在其最高时钟频率下运行,从而可在尽快完成各项任务后,快速进入低功耗工作模式。 钮扣电池:钮扣电池具有极高的内部电阻,因此不能承受高峰值电流。在应用超过20mA的峰值电流时,即便持续时间很短,其有效电压也会大幅下降。因此对于使用钮扣电池供电的设计而言,强烈建议设计使用能在2V或以下电压下工作的组件。微控制器的掉电电压应低至能避免在钮扣电池提供高峰值电流时系统出现意外复位的水平。 此外,我们还需要采取预防措施来降低系统所需的峰值电流。降低峰值电流的途径包括: ● 降低CPU时钟频率 ● 通过随时分配负载,避免一次性启用所有内部模块 ● 在外部组件及内部模块未使用时,减少对它们的供电 b. 设置正确的微控制器: 要让低功耗应用中的静态功耗和动态功耗保持最低,最重要的是选择具有所需外设集的微控制器,其可在所需电源模式下工作。根据需要,系统设计人员可选择合适的微控制器,该微控制器支持低功耗模式下其应用所需的外设集。 以需要LCD较长时间工作的应用为例。通过选择可在低功耗模式下运行该LCD的微控制器,开发人员可最大限度降低功耗。这类微控制器的典型实例就是赛普拉斯的PSoC 4,其可让LCD显示器以仅3uA的流耗进入深度睡眠模式。复杂应用的情况类似,我们需要进行利弊权衡,确定能以最低平均功耗完成每项任务的适当微控制器。 c. 选择合适的无源组件: 上拉电阻器和下拉电阻器是支持接口开关及I2C器件等的常用组件。有时在低功耗设计中,这些上拉及下拉电阻器消耗的电源比系统其它部分还大。要降低其功耗,需要使用更大的电阻值。这样可降低流经它们的电流量。但它同时会增大RC时间常数,因此会降低系统对高频率信号的响应能力。 例如,为I2C线路使用高阻值上拉电阻器会降低I2C通信的速度,因为增大了I2C线路的压摆率。因此这些电阻器值可决定影响最终设计的各种因素之间的权衡取舍。 同样,在为设计选择电容器时,应避免电解电容器,因为它们具有极高的漏电流。薄膜电容器和陶瓷电容器能以合理的成本提供超低的漏电流,可考虑用于低功耗系统设计。 d. 审慎使用I/O: 避免在系统中随机分配控制器I/O引脚。如果引脚随机分布在不同端口,则需要对每个端口单独处理,这样会增加控制它们所需的寄存器写入数。为解决这一问题,可以按最小端口数对输入引脚和输出引脚进行分组,从而实现以最小的寄存器写入数完成读取与写入。 在引脚用于驱动LED和其它类似负载的地方,应使用引脚的开漏驱动模式,这些负载的一端固定在VDD或接地上。这种驱动模式可降低通过I/O引脚的漏电流,因此可降低功耗。   e. 选择正确的外设: 在系统设计中应使用支持低功耗模式、在工作模式下支持低功耗的外设组件,以降低设计的总体功耗。 f. 审慎使用系统时钟: 定义系统时钟的行为有助于降低系统功耗。遵循通用系统时钟相关设计实践可帮助在几乎每个系统中实现低功耗。 ● 在系统中使用低频率时钟降低动态功耗。 ● 在执行计算密集型任务时提升系统时钟,可通过缩短完成任务的时间,降低平均功耗。 ● 优先使用系统时钟,而非外部时钟。 ● 在CPU等待通信传输完成时,应关闭CPU,只开启通信模块的时钟。在完成该任务后,它可获得一个中断信号,恢复代码执行。 g. 电流门控: 一般情况下,热敏电阻等无源传感器工作在分压器模式下,因此一直都在消耗系统电流。为降低这种情况下的功耗,我们可以在通过采样传感器网络获得相关数据之前为其提供电源,并在数据采样完成后切断电源。这在传感器需要定期读取的情况下才有用。 但当传感器必须保持工作状态才能检测环境中的异常现象时,CPU可在整个传感过程中保持低功耗模式。CPU一旦收到传感器的中断/数据信息,就会恢复工作模式。类似逻辑可用于读取开关状态,以判断它是处于开启还是关闭状态。 2. 固件考量: a. 减少函数调用: 每次函数调用都将涉及多重冗余运算,比如堆栈上的添加与取出运算(用于重新加载程序的计数器和寄存器)。这些运算的每一次工作都会耗用多个时钟周期,应尽量避免。对于简短函数而言,函数调用可采用能够布置内联代码的宏命令替换。这有助于减少CPU加载,进而降低相同运算所需的功耗。然而,每种方法都有其自身的优缺点。宏命令需要更大的存储器,这对写入高密度固件来说是一个问题,因为它可能会增大系统成本。 b. 为频繁重复的输入值使用查找表: 通常会有一部分输入值的使用频率大于其它输入值。通过创建与这些输入值对应的查找表,在遇到这些输入其中之一时,可缩短计算时间,进而可降低功耗。 这种方法在当完成计算后需要查找值的应用中比较容易看到,比如电机应用中角度正弦与余弦的计算。在这类应用中,会有一系列频繁遇到的值(相比之下,其它值遇到的频率较低)。正弦值或余弦值的计算需要较长的时间,因此对于该频繁重复的角度而言,其正弦及余弦的预计算值可存储在查找表中。每次遇到这些角度中的一种时,处理器便可查找该表,用在此找到的值进行替代,不必计算。 c. 使用中断,无需轮询: 在复杂的嵌入式系统中,CPU会花大部分时间来等待某项工作的完成,然后再进入下一个步骤。当前提供的大多数SoC都提供能在无需CPU干预的情况下完成大多数任务的硬件模块。在需要CPU干预时,它们会以中断的方式发出信号,唤醒CPU。例如一般在采样数据完成后,ADC会发出中断信号。这样就无需轮询来自ADC的数据。因此CPU可以进入低功耗模式,只在数据准备处理时唤醒。 d. 自适应时钟门控和电源门控 一个典型的系统会使用微控制器的多个模块,但在任何给定时间点上,不会同时使用所有的模块。因此可以对这些模块的时钟进行门控,降低这些模块的动态功耗,从而节省电源。此外,这也有助于降低峰值电流需求,这是钮扣电池供电设计的重要考虑因素。PSoC系列器件允许单独禁用未使用的模块。

    时间:2019-07-23 关键词: 晶体管 嵌入式开发 嵌入式系统 中断控制器

  • 物联网开发套件云认证:亚马逊网络服务(AWS)

    物联网开发套件云认证:亚马逊网络服务(AWS)

    安森美半导体已宣布加入亚马逊网络服务合作伙伴网络(APN),该网络帮助制造商找到现成的硬件,包括所有亚马逊网络服务(AWS)就绪的嵌入式系统,开发套件和传感器。 AWS云平台提供增强的灵活性和安全性,可支持从军事和国防到保护银行网络的物联网(IOT)应用程序.AWS平台提供2000多项服务和功能,包括机器学习和人工智能(AI) ,提供毋庸置疑的创新机会。 IoT开发套件(IDK)是快速节点到云的平台,是安森美半导体首个成功地成为在IoT核心(物联网核心)计划内的AWS平台。 安森美半导体的IDK是个全面的,节点到云的,原型开发平台,用于一些的IoT用例,适用于多个垂直领域和应用,如智能家居,楼宇自动化和预测性维护。基板(BB-GEVK)用作主机,并配备ARM®Cortex-M3®处理器和无线网络连接的联接。子卡(或子板)结合多个传感器(光,运动,加速计,陀螺仪,磁力仪,触摸)和执行器(无刷直流BLDC电机,步进电机,LED驱动器),通过PMOD和Arduino的连接器连接到基板。最近,该平台增加新的ALT-ALSPIR子板,从而增加对环境光和距离探测的支持。该平台还进一步增强功能,支持蓝牙®低功耗,Sigfox和802.15.4联接子卡.IDK提供一个易于使用的集成开发环境(IDE),具有多个示例用例,详细文档包括与AWS IoT核心的联接。  

    时间:2019-07-10 关键词: 物联网 智能家居 嵌入式系统 aws

  • USB与FPGA的联合应用架构

    时间:2019-07-04 关键词: FPGA 嵌入式系统

首页  上一页  1 2 3 4 5 6 7 8 9 10 下一页 尾页
发布文章

技术子站

更多

项目外包