嵌入式系统

德州仪器 (TI) 今日推出可扩展的 Arm® Cortex®-M0+ 微控制器 (MCU) 产品系列,进一步扩大德州仪器广泛的模拟和嵌入式处理半导体产品组合。该产品系列具有丰富的计算、引脚排列、存储器和集成模拟选项。

1.jpg

此次发布的数十款 MCU 由直观软件和设计工具提供支持,使得 MSPM0 MCU 产品系列可助力设计人员将更多时间用于创新,减少评估和编程时间,将设计时间从几个月缩短至几天。Arm® Cortex®-M0+ MCU 经济实惠、易于编程,可帮助简化电子设计。

为通用设计提供合适的处理和集成模拟功能

设计人员可以从 32MHz 到 80MHz 的各种计算选项中进行选择,这些选项具有数学加速和集成模拟信号链元件的多种配置,包括业内先进的 MCU 片上零漂移运算放大器以及 12 位、4MSPS 精密模数转换器。这种灵活性帮助设计人员实现他们当前的设计要求并规划其未来的设计,而且所有这些都是通过同一个 MCU 产品系列实现。

今年,德州仪器计划推出 100 多款 MCU,将 MSPM0 产品系列打造为业界品类齐全的 Arm® Cortex®-M0+ MCU 产品组合。

将设计时间从几个月缩短到几天,几分钟内即可开始操作

MSPM0 MCU 可以通过软件、设计支持资源和编码工具(包括简化设备配置的图形工具)帮助节省数月的设计时间设计人员仅编写一次代码,实现在未来基于 MSPM0 的设计中进行扩展。

设计人员可以使用 MSPM0 软件开发套件 (SDK) 提高系统性能和存储器利用率。该 SDK 提供了统一体验,其中包括各种驱动程序、库、200 多个简单易用的代码示例和子系统参考设计。

可扩展的处理产品系列,让嵌入式系统未来可期

新的 MCU 产品系列体现了德州仪器的承诺,即为设计人员提供更经济实用的嵌入式处理器,以应对任何设计挑战。德州仪器嵌入式处理器可帮助设计人员以智能、可靠和安全的方式连接和控制系统,同时降低成本和复杂性。

除了庞大的软件、工具和培训生态系统,所有模拟和嵌入式处理器件均由德州仪器的生产基地制造,可帮助满足客户未来几十年的需求。

包装和供货情况

MSPM0L 和 MSPM0G MCU 可通过 TI.com.cn 和授权分销商购买。这些 MCU 提供多种封装尺寸,包括 16 至 32 引脚封装选项和 8 kB 至 128 kB 闪存选项。TI.com.cn 上提供多种付款和物流选项。设计人员现在可以通过申请适用于 MSPM0L1306 和 MSPM0G3507 的 LaunchPad™ 开发套件开始原型设计。

如需获取更多在线技术支持,请访问 TI E2E™ 中文支持论坛 (e2echina.ti.com)。

来源:德州仪器

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 12

专注于引入新品并提供海量库存™的电子元器件分销商贸泽电子 (Mouser Electronics) 持续为嵌入式系统工程师提供一系列支持资源。作为Microchip Technology解决方案的全球授权分销商,贸泽备有其新一代MCU、混合信号、模拟和闪存IP解决方案,以降低各类应用的产品开发风险并加快上市。贸泽还为工程师提供了电子书等丰富的Microchip资源,为设计提供支持。

“贸泽推出各种Microchip创新MCU解决方案

电子书:贸泽和Microchip最近联手推出了《Effortless Embedded Solutions》(轻松设计嵌入式解决方案)电子书,书中提供了业界大咖就Microchip MCU如何简化设备设计的独特看法。此外,还通过信息丰富的视频和文章,解释了这些产品在测试医疗解决方案到部署物联网 (IoT) 设备等应用中发挥的重要作用。更多信息,敬请访问:https://www.mouser.com/newsroom/publicrelations-microchip-effortless-embedded-solutions-2022final/

新产品:Microchip PIC16F18015/25/44/45PIC16F18126/46系列MCU以较高的性价比提供传感器信号调理与实时控制功能。PIC16F18015/25/44/45 MCU拥有7 KB到14 KB的闪存、强大的控制和外围功能,高达32 MHz的速度,专门设计用于传感器应用。PIC16F18126/46 MCU拥有28KB程序闪存、12位差分ADCC、两个8位DAC、16位PWM外设和互补波形发生器。更多信息,敬请访问: https://www.mouser.com/newsroom/publicrelations-microchip-pic16f180xx-pic16f181x6-mcus-2022final/

新产品:AVR DD系列MCU采用AVR CPU,其中搭载了时钟速度高达24 MHz的硬件乘法器,是非常注重安全的工业和汽车应用的理想选择。此系列器件具有16/32/64 KB闪存、2/4/8 KB SRAM和256字节EEPROM的可选存储器。更多信息,敬请访问:

https://www.mouser.com/newsroom/microchip-avr-dd-mcus/

作为全球授权分销商,贸泽电子库存有极其丰富的半导体和电子元器件并支持随时发货™。贸泽旨在为客户供应全面认证的原厂产品,并提供全方位的制造商可追溯性。为帮助客户加速设计,贸泽网站提供了丰富的技术资源库,包括技术资源中心、产品数据手册、供应商特定参考设计、应用笔记、技术设计信息、设计工具以及其他有用的信息。

工程师还可以一键订阅免费的贸泽电子报,及时了解业界新品动态和资讯。在订阅贸泽的电子报时,我们可以根据您不断变化的具体项目需求来提供相关的新闻报道和参考信息。贸泽充分尊重用户的权利,让您能自由掌控想要接收的内容。欢迎登陆https://sub.info.mouser.com/subscriber-sc注册,及时掌握新兴技术、行业趋势及更多资讯。

关于贸泽电子 (Mouser Electronics)

贸泽电子隶属于伯克希尔哈撒韦集团 (Berkshire Hathaway) 公司旗下,是一家授权电子元器件分销商,专门致力于向设计工程师和采购人员提供各产品线制造商的新产品。作为一家全球分销商,我们的网站mouser.cn能够提供多语言和多货币交易支持,分销超过1200家品牌制造商的680多万种产品。我们通过遍布全球的27个客户支持中心,为客户提供无时差的本地化贴心服务,并支持使用当地货币结算。我们从占地9.3万平方米的全球配送中心,将产品运送至全球223个国家/地区、超过65万个顾客的手中。更多信息,敬请访问:https://www.mouser.cn/

围观 17

尽管许多嵌入式工程师充满了希望和梦想,但高可靠性的代码不是一蹴而就的。它是一个艰苦的过程,需要开发人员维护和管理系统的每个比特和字节。当一个应用程序被确认为“成功”的那一刻,通常会有一种如释重负的感觉,但仅仅因为软件在受控条件下的那一刻运行正常并不意味着明天或一年后还会运行正常。

从规范完善的开发周期到严格执行和系统检查,开发高可靠性嵌入式系统的技术有许多种。本文介绍了7个易操作且可以长久使用的技巧,它们对于确保系统更加可靠地运行并捕获异常行为大有帮助。

技巧#1——用已知值填充ROM

软件开发人员往往都是非常乐观的一群人,只要让他们的代码忠实地长时间地运行就可以了,仅此而已。微控制器跳出应用程序空间并在非预想的代码空间中执行这种情况似乎是相当少有的。然而,这种情况发生的机会并不比缓存溢出或错误指针失去引用少。它确实会发生!发生这种情况后的系统行为将是不确定的,因为默认情况下内存空间都是0xFF,或者由于内存区通常没有写过,其中的值可能只有上帝才知道。

不过有相当完备的linker或IDE技巧可以用来帮助识别这样的事件并从中恢复系统。技巧就是使用FILL命令对未用ROM填充已知的位模式。要填充未使用的内存,有很多不同的可能组合可以使用,但如果是想建立更加可靠的系统,最明显的选择是在这些位置放置ISR fault handler。如果系统出了某些差错,处理器开始执行程序空间以外的代码,就会触发ISR,并在决定校正行动之前提供储存处理器、寄存器和系统状态的机会。

技巧#2——检查应用程序的CRC

对嵌入式工程师来说一个很大的好处是,我们的IDE和工具链可以自动产生应用程序或内存空间校验和(Checksum),从而根据这个校验和验证应用程序是否完好。有趣的是,在许多这些案例中,只有在将程序代码加载到设备时,才会用到校验和。

然而,如果CRC或校验和保持在内存中,那么验证应用程序在启动时(或甚至对长时间运行的系统定期验证)是否仍然完好是确保意外之事不会发生的极好途径。现在一个编程过的应用程序发生改变的概率是很小的,但考虑每年交付的数十亿个微控制器以及可能恶劣的工作环境,应用程序崩溃的机会并不是零。更有可能的是,系统中的一个缺陷可能导致某一扇区发生闪存写入或闪存擦除,从而破坏应用程序的完整性。

技巧#3——在启动时执行RAM检查

为了建立一个更加可靠和扎实的系统,确保系统硬件正常工作非常重要。毕竟硬件会发生故障。(幸运的是软件永远不会发生故障,软件只会做代码要它做的事,不管是正确的还是错误的)。在启动时验证RAM的内部或外部没有问题,是确保硬件可以如预期般运作的一个好方法。

有许多不同的方法可用于执行RAM检查,但常用的方法是写入一个已知的模式,然后等上一小段时间再回读。结果应该是所读就是所写。真相是,在大多数情况下RAM检查是通过的,这也是我们想要的结果。但也有极小的可能性检查不通过,这时就为系统标示出硬件问题提供了极好的机会。

技巧#4——使用堆栈监视器

对许多的嵌入式开发者而言,堆栈似乎是一股相当神秘的力量。当奇怪的事情开始发生,工程师终于被难倒了,他们开始思考,也许堆栈中发生了什么事。结果是盲目地调整堆栈的大小和位置等等。但该错误往往是与堆栈无关的,但怎能如此确定?毕竟,有多少工程师真的实际执行过最坏情况下的堆栈大小分析?

堆栈大小是在编译时就静态分配好的,但堆栈是以动态的方式使用的。随着代码的执行,应用程序需要的变量、返回的地址和其它信息被不断存储在堆栈中。这种机制导致堆栈在其分配的内存中不断增长。然而,这种增长有时会超出编译时确定的容量极限,导致堆栈破坏相邻内存区域的数据。

绝对确保堆栈正常工作的一种方法是实现堆栈监视器,将它作为系统“保健”代码的一部分(有多少工程师会这样做?)。堆栈监视器会在堆栈和“其它”内存区域之间创建一个缓冲区域,并填充已知的位模式。然后监视器会不断的监视图案是否有任何变化。如果该位模式发生了改变,那就意味着堆栈增长得太大了,即将要把系统推向黑暗地狱!此时监视器可以记录事件的发生、系统状态以及任何其它有用的数据,供日后用于问题的诊断。

大多数实时操作系统(RTOS)或实现了内存保护单元(MPU)的微控制器系统中都提供有堆栈监视器。可怕的是,这些功能默认都是关闭状态,或者经常被开发人员有意关闭。在网络上快速搜寻一下可以发现,很多人建议关闭实时操作系统中的堆栈监视器以节省56字节的闪存空间。等等,这可是得不偿失的做法!

技巧#5 - 使用MPU

在过去,是很难在一个小而廉价的微控制器中找到内存保护单元(MPU)的,但这种情况已经开始改变。现在从高端到低端的微控制器都已经有MPU,而这些MPU为嵌入式软件开发人员提供了一个可以大幅提高其固件(firmware)鲁棒性(robustness)的机会。

MPU 已逐渐与操作系统耦合,以便建立内存空间,其中的处理都分开,或任务可执行其代码,而不用担心被stomped on。倘若真有事情发生,不受控制的处理会被取消,也会执行其他的保护措施。请留意带有这种组件的微控制器,如果有,请多加利用它的这种特性。

技巧#6 - 建立一个强大的看门狗系统

你经常会发现的一种总是最受喜爱的看门狗(watchdog)实现是,在看门狗被启用之处(这是一个很好的开始),但也是可以用周期性定时器将该看门狗清零之处;定时器的启用是完全与程序中出现的任何情况隔离的。使用看门狗的目的是协助确保如果出现错误,看门狗不会被清零,即当工作暂停,系统会被迫去执行硬件重设定(hardware reset),以便恢复。使用与系统活动独立的定时器可以让看门狗保持清零,即使系统已失效。

对应用任务如何整合到看门狗系统中,嵌入式开发人员需要仔细考虑和设计。例如,有种技术可能可以让每个在一定时期内运行的任务标示它们可以成功地完成其任 务。在此事件中,看门狗不被清零,强制被复位。还有一些比较先进的技术,像是使用外部看门狗处理器,它可用来监视主处理器如何表现,反之亦然。

对一个可靠的系统而言,建立一个强大的看门狗系统是很重要的。由于有太多的技术,难以在这几个段落中完全涵盖,但针对此一议题,笔者未来还会发表相关的文章。

技巧#7 - 避免易失存储器分配

不习惯在资源有限环境下工作的工程师,可能会试图使用其编程语言的特性,这种语言让他们可以使用易失存储器分配。毕竟,这是一种常在计算器系统中使用的技术,在计算器系统中,只有在有必要时,内存才会被分配。例如,以C开发时,工程师可能倾向于使用malloc来分配在堆(heap)上的空间。有一个操 作会执行,一旦完成,可以使用free将被分配的内存返回,以便堆的使用。

在资源受限的系统,这可 能是一场灾难!使用易失存储器分配的其中一个问题是,错误或不当的技术可能会导致内存泄漏或内存碎片。如果出现这些问题时,大多数的嵌入式系统并没有 资源或知识来监视堆或妥善地处理它。而当它们发生时,如果应用程序提出对空间的要求,但却没有所请求的空间可以使用,会发生什么事呢?

使用易失存储器分配所产生的问题是很复杂的,要妥善处理这些问题,可以说是一个噩梦!一种替代的方法是,直接以静态的方式,简化内存的分配。例如,只要在 程序中简单地建立一个大小为256字节长的缓冲区,而不是经由malloc请求这样大小的内存缓冲区。此一分配的内存可在整个应用程序的生命周期期 间保持,且不会有堆或内存碎片问题方面的顾虑。

结论

这些都只是一些可以让开发人员开始建立更可靠嵌入式系统的方法。另外还有很多其他技术,例如利用良好的编码标准、位翻转的监测、执行数组和指针边界检查,及使用断言等。所有这些技术都是让设计者可以开发出可靠性更高嵌入式系统的秘诀。

来源:网络转载

围观 52

来源:Silicon Labs

嵌入式开发工程师正面临着许多关于如何有效执行物联网安全措施的挑战,他们需要了解被保护的内容、威胁情况以及需要保护的特定攻击载体等复杂的工作。现今的物联网环境,保护嵌入式设备不再是选择性的,而是必须的。随着越来越多的产品连接起来,主要可感知的攻击源不只会来自互联网流量,整个嵌入式系统都可能受到持续和不同的威胁。

开发人员可以采用几种技术来简化保护系统的任务。Silicon Labs(亦称“芯科科技”)是ioXt联盟(ioXt Alliance)的创始成员之一。ioXt联盟是一个由行业主导的倡议,通过业内各个领域的合作伙伴协力创建物联网安全规范,并已经制訂了8项关键原则。

守则一:没有通用密码

通常,大批量生产的消费者设备都使用相同的默认密码。通常,用户希望快速部署他们的新设备,并未将默认密码更改为新的密码,因此,要让黑客更难进入或控制已部署的数百台设备,运送每台配备独特工厂编程密码的新设备只是简单的第一步。

守则二:安全接口

任何基于微控制器的设备都有多种接口和端口,可以在本地或远程访问。主应用程序将在操作和通信期间使用其中一些端口。但是,其他部分(特别是作为外部通信接口的部分)必须得到保护。同样,任何芯片对芯片的接口(例如,微控制器和显示控制器之间)必须是安全的。建议在使用过程中对所有接口进行加密和身份验证。

守则三:已验证的密码学

在一个充斥互操作技术的世界中,使用行业认可的、开放的和经过验证的加密标准是必不可少的。不建议使用封闭的、专有的加密算法,因为开放加密标准的使用将有助于鼓励所有开发人员、工程师和利益相关者的参与,以便他们能够持续评估针对新的安全威胁的潜在漏洞。

守则四:默认安全性

至关重要的是,当消费者购买新设备时,它已经被设置为尽可能高的安全级别。交付没有配置安全选项或配置安全选项最少的产品,很可能为攻击者抢占优势铺平道路。为用户提供的开箱即用安全体验应该要启用所有可行的安全措施。默认情况下,开发人员不应该让用户不受保护。

守则五:签署软件更新

随着越来越多的消费者智能家居设备能够通过OTA自动更新,设计者应该优先考虑的是每个更新都应该以加密方式签名。通过这种方式,黑客就无法试图用恶意代码更新设备。

守则六:自动应用软件更新

消费者不应该成为自己设备的管理员,来面对是否更新产品软件的选择。如果需要进行更新,则应该自动部署和实现更新。此外,更新应该在不影响设备运行的情况下进行。例如,智能连接的洗衣机在使用时不应更新。

守则七:漏洞报告方案

通常,遇到嵌入式智能家居设备问题的消费者不确定该联系谁。设备商提供漏洞报告方案将为客户提供一种回报途径,让他们报告问题,并传达他们对产品安全的担忧。

守则八:安全凭证到期日

与产品保修期一样,产品保修期在购买后有一个截止日期,安全更新可用的期间也应该定义并告知消费者,继续支持具有安全更新的产品涉及持续的工程成本,因此消费者在购买时需要能够做出知情的决定。制造商还可以选择延长保修期,以抵消正在进行的安全更新。

我们采用上述八大原则的方式及详细解释可以在Silicon Labs - IoT端点安全基础文档中找到:https://www.silabs.com/documents/public/user-guides/ug103-05-fundamental...

智能家居的安全

多亏了物联网,我们对自己家的控制已经远远超出了几年前的想象,而且这一趋势还在持续发展。这意味着,防范下一代网络罪犯将成为行业首要解决的挑战,为此,Silicon Labs提供业内先进的Secure Vault物联网安全解决方案,旨在帮助联网设备制造商克服不断演变的安全威胁,并保护未经授权的访问和保证芯片的真实性。通过OTA更新,Secure Vault可以在不大幅增加成本和设计复杂性的前提下,最大化加强产品安全并加速通过安全监管机构认证。

Secure Vault特色功能包括:

  • 为每个单独的芯片提供安全的设备身份证明(类似于出生证明):支持部署后安全性、真实性和基于认证站的健康检查,确保芯片在其生命周期内的真实性。
  • 先进的篡改检测:当设备经历意外的行为,如极端的电压、频率和温度变化,使开发人员能够设置适当的响应动作,以预防可能的漏洞。
  • 安全密钥管理和存储:通过加密和隔离密钥与应用程序代码,并使用物理不可克隆函数(PUF)硬件生成的主密钥加密密钥(KEK),防止对物联网设备及其数据的直接访问。

要了解更多关于网络威胁的演变以及设计人员如何应用的方案,请查看白皮书《为物联网的下一代网络攻击做准备》https://www.silabs.com/whitepapers/preparing-for-next-gen-cyber-attacks-...

围观 34

——与众多媒体及业内人士共同探讨汽车电子市场发展趋势

赛普拉斯半导体公司举办媒体交流会,并独家赞助了由TechSugar主办的SugarTalk第二期汽车电子论坛。赛普拉斯多位高管就全球汽车电子发展趋势与行业媒体进行了深入的剖析和充分的沟通,并介绍了赛普拉斯先进的汽车电子解决方案。赛普拉斯汽车事业部高级副总裁布施武司先生还在论坛现场发表了关于“创新浪潮中的汽车:变与不变”的主题演讲,表达了赛普拉斯深耕中国,全力助推中国汽车电子市场发展的决心。

赛普拉斯携先进汽车电子嵌入式系统解决方案,助力中国汽车创新
赛普拉斯汽车事业部高级副总裁布施武司在SugarTalk第二期汽车电子论坛上发表演讲

赛普拉斯认为,在智能化、网联化与电动化等技术趋势的推动下,汽车市场已进入颠覆式创新发展时代。车、城市基础设施、驾乘者,乃至各种相关服务都将实现不同级别的联网;集复杂信息显示与控制功能,以及人工智能技术于一身的人机界面也将取代现有的仪表与机械式交互方式;与驾驶安全密切相关的数据采集、记录、分析、学习、推理、预测技术发展迅猛,带动辅助驾驶和自动驾驶技术日臻完善。所有这些都将为包括汽车设计制造、驾乘体验、基础设施、汽车服务等在内的产业链各个环节带来翻天覆地的变化。

赛普拉斯携先进汽车电子嵌入式系统解决方案,助力中国汽车创新
赛普拉斯亚太区汽车产品总监文君培参加SugarTalk圆桌论坛

在Cypress3.0计划的推动下,刚刚结束的2018年第一季度中,赛普拉斯汽车电子业务取得了骄人的业绩。汽车电子营收占公司总营收的34%,同比增长15%。 在全球汽车市场中,赛普拉斯在汽车仪表盘MCU、Wi-Fi和蓝牙无线组合连接解决方案、触摸屏和触摸感应解决方案、用于高级驾驶辅助系统(ADAS)的NOR闪存等应用方面均处于市场领先地位。 赛普拉斯还是USB-C连接和快速充电解决方案的领导者,率先推出了汽车级USB-C产品。 丰富的汽车产品组合、零缺陷和提供世界一流服务的承诺,以及对于行业标准最严格的遵从,赋予赛普拉斯提供完整卓越的汽车电子解决方案的能力。

赛普拉斯全球应用及销售执行副总裁迈克•贝罗表示:“作为汽车电子供应商,赛普拉斯始终以客户为中心,致力于为客户提供优质的服务和长期的支持和供货能力。我们将汽车市场作为我们未来发展的一个关键增长动力,在包括中国在内的全球市场上,我们已经和多个顶级汽车公司及核心供应商建立了紧密的合作关系。我们愿意与中国的伙伴们分享我们对汽车市场发展趋势的看法,并为中国市场提供最先进的汽车产品组合,把豪华车用户体验引入普及车型,惠及普通大众,使之充分享受高端驾乘乐趣。”

赛普拉斯携先进汽车电子嵌入式系统解决方案,助力中国汽车创新
赛普拉斯全球应用及销售执行副总裁迈克•贝罗为到场媒体做演讲

长期以来,赛普拉斯一直致力于与全球顶尖的汽车厂商及供应商合作,开发领先的汽车系统,其中包括高级驾驶辅助系统 (ADAS)、3D图形显示、无线连接、全功能触摸屏和卓越的车身电子系统。赛普拉斯的汽车级产品组合包括:

  •   内置于汽车仪表盘和车身电子系统的Traveo™ 微控制器(MCU)
  •   用于通用控制和触摸感应功能的PSoC®MCU
  •   Wi-Fi®、Bluetooth®和组合无线连接解决方案,包括Real Simultaneous Dual Band(RSDB)技术,可以使车辆中的多个设备同时连接并传输不同内容
  •   用于移动设备连接和快速充电的USB、USB-C和USB PD解决方案
  •   用于触摸感应用户界面及液位感应的CapSense®电容式感应解决方案
  •   用于中控显示屏和后座显示屏的TrueTouch®触摸屏解决方案
  •   用于系统安全准入和个性化设置的指纹解决方案
  •   用于仪表盘、车载娱乐系统、ADAS和其他安全系统中数据存储的汽车级NOR闪存及 HyperBus™存储器
  •   用于事件数据记录仪中的Excelon™F-RAM™非易失性存储器
  •   用于安全电气操作的电源管理IC(PMIC)

围观 492

1 、电路设计原理

(1)电路板设计主要分为3个步骤:设计电路原理图、生成网络表、设计印制电路版。

(2) 网络表是电路原理设计和印制电路板设计中的一个桥梁,它是设计工具软件自动布线的灵魂。

(3)网络表的格式包括2部分:元器件声明和网络定义。(缺少任一部分都有可能在布线的时候出错)

(4) 电路原理图设计不仅是整个电路设计的第一步,也是电路设计的基础。包括以下的一些具体步骤:

A、建立元器件库中没有的库元件。
B、设置图纸属性。
C、放置元件。
D、原理图布线。
E、检查与校对。
F、电路分析与仿真。
G、生成网络表。
H、保存与输出。

2、 PCB 电路设计

(1)PCB 设计是电子产品物理结构设计的一部分,它的主要任务是根据电路的原理和所需元件的封装形式进行物理结构的布局和布线。

(2)PCB 设计包括下面一些具体步骤:

A、建立封装库中没有的封装。
B、规划电路板。
C、载入网络表和元件封装。
D、布置元件封装。
E、布线。
F、设计规则检查。
G、PCB 仿真分析。
H、存档输出。

3、多层 PCB 设计的注意事项

(1)高频信号线一定要短,不可以有尖角(90度直角),两根线之间的距离不宜平行、过近,否则可能会产生寄生电容。

(2)如果是两面板,一面的线布成横线,一面的线布成竖线,尽量不要布成斜线。

(3)一般来说,线宽一般为0.3mm,间隔也为0.3mm,这个长度约为8~10mil。但是对于电源线或者大电流线应该有足够宽度,一般需要60~80mil。焊盘一般为64mil。

(4)单面板的生产工艺都很差,因此,单面板的焊盘尽量做得大一些,线要尽量粗一些。

(5)铜膜线的地线应该在电路板的周边,同时将电路上可以利用的空间全部使用铜箔做地线,增强屏蔽能力,并且防止寄生电容。

(6)电路图上的地线表示电路中的零电位,并用作电路中其他各点的公共参考点,在实际电路中由于地线阻抗的存在,必然会带来共阻干扰,因此,在布线是,不能将具有地线符号的点随便连接在一起,这可能引起有害的耦合而影响电路的正常工作。

4 、PCB 设计中的可靠性知识

(1)地线设计:在电子设备中,接地是控制干扰的重要方法。

A、正确选择单点接地与多点接地。
a、在低频电路中(工作频率小于1MHz),采用一点接地。
b、在高频电路中(工作频率大于10MHz),采用就近多点接地。

B、将数字电路与模拟电路分开,两者地线不要相混。分别与电源端地线相连。

C、尽量加粗地线。若地线很细,接地电位则随电流的变化而变化,如有可能,接地线的宽度应大于3mm。

D、将接地线构成环路,可以明显提高抗噪声能力。

(2)电磁兼容性设计

A、选择合理的导线宽度。

a、瞬变电流在印制线条上所产生的冲击干扰主要是由印制导线的电感成分造成的。
b、时钟引线、行驱动器和总线驱动器的信号线常常载有大的瞬变电流,导线要尽可能短。
c、对于分立元件,导线宽度载1.5mm 左右可满足要求。
d、对于集成电路,导线宽度可在0.2mm~1mm 之间选择。

B、采用正确的布线策略:最好采用井字形网状布线结构。

a、PCB 的一面横向布线,另一面纵向布线,然后在交叉孔处用金属化孔相连。
b、尽量减少导线的不连续性,例如导线不要突变,拐角应大于90度。
c、尽量避免长距离的平行走线,尽可能拉开线与线之间的距离。
d、信号线与地线及电源线尽可能不交叉。
e、在一些对干扰十分敏感的信号线之间设置一根地线,可以有效抑制串扰。

C、抑制反射干扰。

(3)去耦电容配置。

配置去耦电容可以抑制因负载变化而产生的噪声,是印制电路板的可靠性设计的一种常规做法。

配置原则如下:

A、 电源输入端跨接一个10~100uF 的电解电容。
B、 为每个集成电路芯片配置一个0.01uF 的陶瓷电容。
C、 对于噪声能力弱、关断时电流变化大的器件和 ROM、RAM 等存储型器件,应在芯片的电源线和地线之间直接接入去耦电容。
D、去耦电容的引线不能过长,特别是高频旁路电容不能带引线。

(4) PCB 的尺寸与器件的布置。

A、相互有关的元件尽量放得靠近一些。
B、时钟发生器、晶振和 CPU 的时钟输入端易产生干扰,要相互靠近一些。
C、易产生噪声的元件、小电流电路、大电流电路等应尽量原理逻辑电路。

(5)散热设计。

5 、电子设计原理

(1) EDA 是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术最新成果而研制成的 电子CAD通用软件包。利用 EDA 工具,电子工程师可以将电子产品的由电路设计、性能分析到 IC 设计图或 PCB 设计图整个过程在计算机上自动处理完成。

(2)“自顶向下”的设计方法。

先从系统设计入手,在顶层进行功能框图的划分和结构设计。在框图一级进行仿真和纠错,并用硬件描述语言对高层次的系统行为进行描述,在系统一级进行验证,然后用综合优化工具生成具体的门电路网表,其对应的物理实现级可以是 PCB 或专用集成电路。

(3)VHDL 是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流、行为3种描述形式的混合描述。

6、电子电路测试原理与方法

(1)故障检测:判断故障是否存在,即只判断有无故障。

(2)故障诊断(故障定位):不仅判断故障是否存在,而且指出故障位置。

(3)仿真:对设计过程中得到的电路参数验证其正确性。

(4)测试:判断产品是否合格。

(5)可测试设计的3个方面是:测试生成、测试验证、测试设计。

(6)JTAG 测试接口是 IC 芯片测试方法的标准。

7 、硬件抗干扰测试

(1)形成干扰的3个基本要素:干扰源、传播路径和敏感器件。

(2)干扰的耦合方式:干扰源产生的干扰信号要通过一定的耦合通道才对系统产生作用。

A、直接耦合:最有效的方式是加入去耦电容。
B、公共阻抗耦合。
C、电容耦合。
D、电磁感应耦合(磁场耦合)。
E、漏电耦合。

(3)抑制干扰源的技术:尽可能减小干扰源的 du/dt 和 di/dt,这是抗干扰设计中最优先考虑和最重要的原则。

A、 主要通过在干扰源两端并联电容来实现减小干扰源的 du/dt。
B、 主要通过在干扰源回路串联电感或电阻及增加续流二极管来实现 di/dt。

(4)切断干扰传播路径的技术

A、充分考虑电源对嵌入式系统的影响。例如给电源加滤波电路或稳压器。
B、若微处理器的 I/O 口接控制电机等噪声器件,应在 I/O 和噪声源之间加隔离。
C、晶振与微处理器的引脚尽量靠近,用地线把时钟区隔离起来,晶振外壳接地并固定。
D、电路板合理分区,如强、弱信号,数字、模拟信号。
E、尽可能将干扰源与敏感元件远离。
F、用地线把数字区与模拟区隔离。
G、数字地与模拟地要分离,最后再一点接于电源地。
H、微处理器和大功率器件的地线要单独接地,以减小互相干扰。
I、大功率器件尽可能放在电路板边缘。

(5)提高敏感元件的抗干扰性能

A、布线时尽量减少回路环的面积,以降低感应噪声。
B、电源线和地线要尽量粗,除减小压降外,更重要的是降低耦合噪声。
C、微处理器闲置的 I/O 口不要悬空,要接地或接电源。
D、其他 IC 的闲置端在不改变系统逻辑的情况下接地或电源。
E、使用电源监控及看门狗电路,可大幅度提高整个电路的抗干扰性能。
F、在满足要求的前提下,尽量降低微处理器的晶振和选用低速数字电路。

转自: 沉舟侧畔

围观 379

上一篇:嵌入式系统之接口技术篇(一)

12 、PCI 接口

(1)PCI 总线是 地址 、 数据多路复用的高性能32位和64位总线,是微处理器与外围控制部件、外围附加板之间的互连机构。

(2)从数据宽度上看,PCI 定义了32位数据总线,且可扩展为64位。从总线速度上分,有33MHz 和66MHz两种。

(3)与 ISA 总线相比,PCI 总线的地址总线与数据总线分时复用,支持即插即用、中断共享等功能。

13 、 USB 接口

(1)USB 总线的主要特点:

A、使用简单,即插即用。
B、每个 USB 系统中都有主机,这个 USB 网络中最多可以连接127个设备。
C、应用范围广,支持多个设备同时操作。
D、低成本的电缆和连接器,使用统一的4引脚插头。
E、较强的纠错能力。
F、较低的协议开销带来了高的总线性能,且适合于低成本外设的开发。
G、支持主机与设备之间的多数据流和多消息流传输,且支持同步和异步传输类型。
H、总线供电,能为设备提供5V/100mA 的供电。

(2)USB 系统由3部分来描述:USB 主机、USB 设备和 USB 互连。

(3)USB 总线支持的数据传输率有3种:高速信令位传输率为 480Mb/s;全速信令位传输率为 12Mb/s ;全速信令位传输率为 1.5Mb/s。

(4)USB 总线电缆有4根线:一对双绞信号线和一对电源线。

(5)USB 是一种 查询总线,由主控制器启动所有的数据传输。USB 上所挂接的外设通过由主机调度的 、基于令牌的协议来共享 USB 带宽。

(6)大部分总线事务涉及3个包的传输:

A、 令牌包:指示总线上要执行什么事务,欲寻址的 USB 设备及数据传送方向。
B、 数据包:传输数据或指示它没有数据要传输。
C、 握手包:指示传输是否成功。

(7)主机与设备端点之间的 USB 数据传输模型被称作 管道。管道有两种类型: 流和 消息。消息数据具有USB 定义的结构,而数据流没有。

(8) 事务调度表允许对某些流管道进行流量控制,在硬件级,通过使用 NAK(否认)握手信号来调节数据传输率,以防止缓冲区上溢或下溢产生。

(9)USB 设备最大的特点是 即插即用。

(10)工作原理:USB 设备插入 USB 端点时,主机都通过 默认地址0 0 0 0与 设备的端点0 0 0 0进行通信。在这个过程中,主机发出一系列试图得到 描述符的标准请求,通过这些请求,主机得到所有感兴趣的设备信息,从而知道了设备的情况以及该如何与设备通信。随后主机通过发出 Set Address 请求为设备设置一个 唯一的地址。以后主机就通过为设备设置好的地址与设备通信,而不再使用默认地址0。

14 、SPI 接口

(1)SPI 是一个 同步协议接口,所有的传输都参照一个共同的时钟,这个同步时钟有主机产生,接收数据的外设使用时钟来对串行比特流的接收进行同步化。

(2)在多个设备连接到主机的同一个 SPI 接口时,主机通过从设备的 片选引脚来选择。

(3)SPI 主要使用4 4 4 4 个信号:主机输出/从机输入(MOSI),主机输入/从机输出(MISO)、串行时钟 SCLK和外设片选 CS。

(4)主机和外设都包含一个 串行移位寄存器,主机通过向它的 SPI 串行寄存器写入一个字节来发起一次数据传输。寄存器通过 MOSI 信号线将字节传送给外设,外设也将自己移位寄存器中的内容通过 MISO 信号线返回给主机,这样,两个移位寄存器中的内容就被 交换了。

(5)外设的 写操作和读操作时同步完成的,因此 SPI 成为一个很有效的协议。

(6)如果只是进行写操作,主机只需忽略收到的字节;反过来,如果主机要读取外设的一个字节,就必须发送一个空字节来引发从机的传输。

15 、 IIC 接口

(1)IIC 总线是具备 总线仲裁和 高低速设备同步等功能的高性能 多主机总线。

(2)IIC 总线上需要 两条线:串行数据线 SDA 和串行时钟线 SCL。

(3)总线上的每个器件都有唯一的地址以供识别,而且各器件都可以作为一个发送器或者接收器(由器件的功能决定)。

(4)IIC 总线有4种操作模式:主发送、主接收、从发送、从接收。

(5)IIC 在传送数据过程中共有3种类型信号:
A、 开始信号:SCL 为高电平时,SDA 由高向低跳变。
B、 结束信号:SCL 为高电平时,SDA 由低向高跳变。
C、 应答信号:接收方在收到8位数据后,在第9个脉冲向发送方发出特点的低电平。

(6)主器件发送一个开始信号后,它还会立即送出一个从地址,来通知将与它进行数据通信的从器件。1个字节的地址包括7 7 7 7 位地址信息和1 1 1 1 位传输方向指示位,如果第7位为0,表示要进行一个写操作,如果为1 ,表示要进行一个读操作。

(7)SDA 线上传输的每个字节长度都是8 8 8 8 位,每次传输种字节的数量没有限制的。在开始信号后面的第一个字节是地址域,之后每个传输字节后面都有一个应答位(ACK),传输中串行数据的 MSB ( 字节高位 ) )首先发送。

(8)如果数据接收方无法再接收更多的数据,它可以通过将 SCL 保持低电平来中断传输,这样可以迫使数据发送方等待,直到 SCL 被重新释放。这样可以达到高低速设备同步。

(9)IIC 总线的工作过程:SDA 和 SCL 都是双向的。空闲的时候,SDA 和 SCL 都是高电平,只有 SDA变为低电平,接着 SCL 再变为低电平,IIC 总线的数据传输才开始。SDA 线上被传输的每一位在 SCL 的上升沿被采样,该位必须一直保持有效到 SCL 再次变为低电平,然后 SDA 就在 SCL 再次变为高电平之前传输下一个位。最后,SCL 变回高电平,接着 SDA 也变为高电平,表示数据传输结束。

16 、以太网接口

(1)最常用的以太网协议是 IEEE802.3 标准。

(2)传输编码(06和07年都有考题):曼彻斯特编码和差分曼彻斯特编码。
A、 曼彻斯特编码:每位中间有一个电平跳变,从 高到底的跳变表示“0”,从 低到高的跳变表示为“1”。
B、 差分曼彻斯特编码:每位中间有一个电平跳变,利用每个码元开始时有无跳变来表示“0”或“1” ,有跳变为“0”, 无跳变为“1”。

(3)相比之下,曼彻斯特编码编码简单,差分曼彻斯特编码提供更好的噪声抑制性能。

曼彻斯特编码:
0=在间隔的中间位置从高向低跳变。
1=在间隔的中间位置从低向高跳变。

差分曼彻斯特编码:在间隔的中间位置总有一个跳变。
0=在间隔的起始位置有跳变。
1=在间隔的起始位置没有跳变。

(4)以太网数据传输特点:

A、所有数据位的传输 由低位开始,传输的位流时用 曼彻斯特编码。
B、以太网是 基于冲突检测的总线复用方法,由硬件自动执行。
C、传输的数据长度,目的地址 DA+源地址 SA+类型字段 TYPE+数据段 DATA +填充位 PAD,最小为60B,最大为1514B。
D、通常以太网卡可以接收3种地址的数据:广播地址、多播地址、自己的地址。
E、任何两个网卡的 物理地址都不一样,是世界上 唯一的,网卡地址由专门机构分配。

(5)嵌入式以太网接口有两种实现方法:

A、嵌入式处理器+网卡芯片(例如:RTL8019AS、CS8900等)
B、带有以太网接口的处理器。

(6)TCP/IP 是一个分层协议,分为:物理层、数据链路层、网络层、传输层和应用层。每层实现一个明确的功能,对应一个或几个传输协议,每层相对于它的下层都作为一个独立的数据包来实现。每层上的协议如下:

A、应用层:BSD 套接字。
B、传输层:TCP、UDP。
C、网络层:IP、ARP、ICMP、IGMP
D、数据链路层:IEEE802.3 Ethernet MAC
E、物理层:二进制比特流。

(7)ARP(地址解析协议)

A、 网络层用 32 位的地址来标识不同的主机(即 IP 地址),而 链路层使用 48 位的物理地址(MAC)来标识不同的以太网或令牌网接口。
B、ARP 功能:实现从 IP 地址到对应物理地址的转换。

(8)ICMP(网络控制报文协议)

A、IP 层用它来与其他主机或路由器交换错误报文和其他重要控制信息。
B、ICMP 报文是在 IP 数据包内被传输的。
C、网络诊断工具 ping 和 traceroute 其实就是 ICMP 协议。

(9)IP(网际协议)

A、IP 工作在网络层,是 TCP/IP 协议族中最为核心的协议。
B、所有的 TCP、UDP、ICMP 及 IGMP 数据都以 IP 数据包格式传输。
C、TTL(生存时间字段):指定了 IP 数据包的生存时间(数据包可以经过的路由器数)。

D、IP 提供不可靠、无连接的数据包传送服务,高效、灵活。
a、 不可靠:它不能保证数据包能成功到达目的地,任何要求的可靠性必须由上层来提供(如 TCP) 。如果发生某种错误,IP 有一个简单的错误处理算法。丢弃该数据包,然后发送 ICMP 消息报给信源端。
b、 无连接:IP 不维护任何关于后续数据包的状态信息。每个数据包的处理都是相互独立的。IP数据包可以不按顺序接收,

(10)TCP(传输控制协议)

TCP 协议是一个 面向连接的可靠的传输层协议,它为两台主机提供高可靠性的端到端数据通信。

( 11 )UDP(用户数据包协议)

UDP 协议是一种 无连接不可靠的传输层协议,它不保证数据包能到达目的地,可靠性有应用层来提供。UDP 协议开销少,和 TCP 相比更适合于应用在低端的嵌入式领域中。

(12)端口:TCP 和 UDP 采用16位端口号来识别上层的用户,即应用层协议,例如 FTP 服务的 TCP端口号都是21,Telnet 服务的 TCP 端口号都是23,TFTP 服务的 UDP 端口号都是69。

17 、 CAN 总线接口

(1)CAN(Control Area Network,控制器局域网)总线是一种 多主方式的串行通信总线,是国际上应用最广泛的现场总线之一,最初被用于汽车环境中的电子控制网络。一个 CAN 总线构成的单一网络中,理想情况下可以挂接任意多个节点,实际应用中节点数据受网络硬件的电气特性所限制。

(2)总线信号使用 差分电压传送。两条信号线被称为 CAN_H 和 CAN_L,静态是均为2.5V 左右,此时状态表示 逻辑1 1 1 1,也可以叫做“ 隐性”。用 CAN_H 比 CAN_L 高表示 逻辑0 ,称为“ 显性”,此时,通常电压值为 CAN_H=3.5V 和 CAN_L=1.5V。

(3)当“显性”和“隐性”位同时发送的时候,最后总线数值将为“显性”这种特性为 CAN 总线的仲裁奠定了基础。

(4)CAN 总线的一个位时间可以分成4个部分:同步段、传播时间段、相位缓冲段1和相位缓冲段2。

(5)CAN 总线的数据帧有两种格式: 标准格式和 扩展格式。包括:帧起始、仲裁场、控制场、数据场 、CRC 场、ACK 场和帧结束。

(6)CAN 总线硬件接口包括: CAN 总线控制器和 CAN 收发器。CAN 控制器主要完成时序逻辑转换等工作,例如菲利普的 SJA1000。CAN 收发器是 CAN 总线的物理层芯片,实现 TTL 电平到 CAN 总线电平特性的转换,例如 TJA1050。

18 、 xDSL 接口

(1)xDSL(数字用户线路)技术是,在现有用户电话线两侧同时接入专用的 DSL 调制解调设备,在用户线上 利用数字数字信号高频带宽较宽的特性直接采用数字信号传输,省去中间的 A/D 转换,突破了模拟信号传输极限速率为56KB/s 的闲置。

(2)DSL 技术主要分为 对称和 非对称两大类。

(3)对成 xDSL 更适合于企业 点对点连接应用,例如文件传输、视频会议等收发数据量大致相同的工作。

(4)ASDL 是近年发展的另一种宽带接入技术,是利用双绞铜线向用户提供两个方向上 速率不对称的宽带信息业务。

(5)ADSL 在一对电话线上同时传送一路高速下行数据、一路较低速率上行数据、一路模拟电话。各信号之间采用 频分复用方式占用不同频带, 低频段传送话音; 中间窄频带传送上行信道数据及控制信息; 其余高频段传送下行信道数据、图像或高速数据。

19 、 WLAN 接口

(1)WLAN(Wireless Local Area Network)是利用无线通信技术在一定的局部范围内建立的,是计算机网络与无线通信技术相结合的产物,它以无线多址通道作为传输媒介,提供有线局域网的功能。

(2)WLAN 的标准:主要是针对 物理层和 媒质访问控制层 ( MAC 层) ),涉及到所有使用的无线频率范围 、控制接口通信协议等技术规范与技术标准。

A、 IEEE 802.11:定义了物理层和 MAC 层规范,工作在2.4~2.4835GHz 频段,最高速率为2Mb/s ,是 IEEE 最初制定的一个无线局域网标准。
B、 IEEE 802.11b:工作在2.4~2.4835GHz 频段,最高速率为11Mb/s,传输距离50~150inch。采用点对点模式和基本模式两种运行模式。在数据传输速率方面可以根据实际情况在11Mb/s、5.5Mb/s、2Mb/s、1 Mb/s 的不同速率间自动切换。
C、 IEEE 802.11a:工作在5.15~8.825GHz 频段,最高速率为54Mb/s/72Mb/s,传输距离10~100m。
D、 IEEE 802.11g:混合标准,拥有 EEE 802.11a 的传输速率,安全性较 EEE 802.11b 好,采用两种调制方式,做到与 EEE 802.11a 和 EEE 802.11b 兼容。

(3)WLAN 有两种网络类型: 对等网络和 基础机构网络。

20 、蓝牙接口

(1)蓝牙技术的目的:使特定的移动电话、便鞋式电脑以及各种便携通信设备的主机之间近距离内实现无缝的资源共享。

(2)蓝牙技术的实质内容是要建立通用的无线空中接口及其控制软件的公开标准。其工作频段为全球通用的 2.4GHz ISM(即工业、科学、医学)频段,其数据传输速率为 1Mb/s,采用 时分双工方案来实现全双工传输,其理想的连接范围为 10cm ~ 10m。

(3)蓝牙基带协议是 电路交换和分组交换的结合。

(4)蓝牙技术特点:

A、传输距离短,工作距离在10m 以内。
B、采用跳频扩频技术。
C、采用时分复用多路访问技术,有效地避免了“碰撞”和“隐藏终端”等问题。
D、网络技术。
E、语言支持。
F、纠错技术,其采用的是 FEC(前向纠错)方案。

(5)蓝牙接口由3 3 3 3 大单元组成:无线单元、基带单元、链路管理与控制单元。

21 、 1394 接口

(1)1394作为一种标准总线,可以在不同的工业设备之间架起一座沟通的桥梁,在一条总线上可以接入63个设备。

(2)IEEE 1394的 特点:

A、支持多种总线速度,适应不同应用要求。
B、即插即用,支持热插拔。
C、支持同步和异步两种传输方式。
D、支持点到点通信模式,IEEE 1394是多主总线。
E、遵循 ANSI IEEE 1212控制及状态寄存器(CSR)标准,定义了64位的地址空间,可寻址1024条总线的63个节点,每个节点可包含256TB 的内存空间。
F、支持较远距离的传输。
G、支持公平仲裁原则,为每一种传输方式保证足够的传输带宽。
H、六线电缆具有电源线,可传输8~40V 的直流电压。

(3)IEEE 1394的 协议栈由3 3 3 3 层组成:物理层、链路层和事务层,例外还有一个管理层。物理层和链路层由硬件构成,而事务层主要由软件实现。

A、 物理层提供 IEEE 1394的电气和机械接口,功能是重组字节流并将它们发送到目的节点上去。
B、 链路层提供了给事务层确认的数据服务,包括:寻址、数据组帧和数据校验。
C、 事务层为应用提供服务。
D、 管理层定义了一个管理节点所使用的所有协议、服务以及进程。

22 、电源接口

(1)DC-DC 转换器有三种类型:

A、 线性稳压器:产生较输入电压低的电压。
B、 开关稳压器:能升高电压、降低电压或翻转输入电压。
C、 充电泵:可以升高、降低或翻转输入电压,但电流驱动能力有限。

(2)任何变压器的转换过程都不具有100%的效率,稳压器本省也使用电流(静态电流),这个电流来自输入电流。静态电流越大,稳压器功耗越大。

(3)线性稳压器输入输出使用 退耦电容来过滤,电容除了有助于平稳电压以外,还有利于去除电源中的瞬间短时脉冲波形干扰。

(4)电压与功耗之间的平方关系意味着理想高效的方法是在要求较低电压的较低时钟速率上执行代码,而不是先以最高的时钟速率执行代码然后再转为空闲休眠。

(5)电源通常被认为是整个系统的“心脏”,绝大多数电子设备50%~80%的节能潜力在于电源系统 ,研制开发新型开关电源是节能的主要举措之一。

(6) 降低功耗的设计技术:

A、采用低功耗器件,例如选用 CMOS 电路芯片。

B、采用高集成度专用器件,外部设备的选择也要尽量支持低功耗设计。

C、动态调整处理器的时钟频率和电压,在允许的情况下尽量使用低频率器件。

D、利用“节电”工作方式。

E、合理处理器件空余引脚:

a、大多数数字电路的输出端在输出低电平时,其功耗远远大于输出高电平时的功耗,设计时应该注意控制低电平的输出时间,闲置时使其处于高电平输出状态。
b、多余的非门、与非门的输入端应接低电平,多余的与门、或门的输入端应接高电平。
c、ROM 或 RAM 及其他有片选信号的器件,不要将“片选”引脚直接接地,避免器件长期被接通,而应该与“读/写”信号结合,只对其进行读写操作时才选通。

F、实现电源管理,设计外部器件电源控制电路,控制“耗电大户”的供电情况。

转自: 沉舟侧畔

围观 276

1 、存储器系统的层次架构

计算机系统的存储器被组织城一个 金字塔的层次结构。自上而下为:CPU 内部寄存器、芯片内部高速缓存(cache)、芯片外部高速缓存(SRAM、SDRAM、DRAM) 、主存储器(FLASH、EEPROM)、外部存储器(磁盘、光盘、CF 卡、SD 卡)和远程二级存储器(分布式文件系统 、WEB 服务器),6个层次的结构。上述设备从上而下,依次速度更慢、容量更大、访问频率更小,造价更便宜。

2、高速缓存 (cache)

(1)工作原理 :主要利用了程序的 局部性特点。地址映象是指把主存地址空间映象到 cache 的地址空间。地址变换是指当程序或数据已经装入到 cache 后,在实际运行过程中,把主存地址如何编程 cache 空间的地址。

常用的地址映象和地址变换的方式有:

A、直接映象和变换:速度快,造价低,但有局限性,不能充分利用 cache 的好处。
B、组相联地址映象和变换:速度稍慢但是命中率高。
C、全相联地址映象和变换:可以任意映射。
D、常用的 cache 替换算法:轮转法和随机替换算法。
  
(2)高速缓存的分类:

A、统一 cache 和独立的数据/指令 cache
B、写通 cache 和写回 cache
C、读操作分配 cache 和写操作分配 cache

3 、存储管理单元( MMU )

MMU 在 CPU 和物理内存之间进行地址转换,将地址从逻辑空间映射到物理空间,这个过程称为 内存映射。

MMU 主要完成下面的工作:

A. 虚拟存储空间到物理空间的映射。
B. 存储器访问权限的控制。
C. 设置虚拟存储空间的缓冲特性。

嵌入式系统中常常采用 页式存储管理。为了管理这些页引入了页表的概念。页表是位于内存中的表,它的每一行对应虚拟存储空间的一个页,该行包含了该虚拟内存页对应的物
理内存页的地址、该页的访问权限和该页的缓冲特性等。从虚拟地址到物理地址的变换过程就是 查询页表的过程。由于页表存储在内存中的,整个查询过程需要付出很大的代价。根据程序局部性的特点,增加了一个小容量、高速度的存储部件来存放当前访问需要的地址变换条目,这个存储部件称为: 地址转换后备缓冲器 (TLB)。

当 CPU 访问内存时,首先在 TLB 中查找需要的地址变换条目,如果该条目不存在,CPU 再从内存中的页表中查询,并把相应的结果添加到 TLB 中,更新它的内容。嵌入式系统中虚拟存储空间到物理空间的映射以 内存块为单位进行。即虚拟存储空间中一块连续的存储空间被映射到物理存储空间中同样大小的一块连续存储空间。在页表和 TLB 中,每一个地址变换条目实际上记录了一个虚拟存储空间的内存块的基地址与物理存储空间相对应的一个内存块的基地址之间的对应关系。在 MMU 中实现虚拟地址到物理地址的映射是通过 两级页表来实现的。禁止 MMU 时,所有物理地址和虚拟地址相等,即使用 平板存储模式。

4 、内存保护

操作系统通常利用 U MMU 来实现操作系统内核与应用程序之间的隔离,以及应用程序与应用程序之间的隔离。

内存保护包含两个方面的内容:

A. 防止地址越界,每个应用程序都有自己独立的地址空间。
B. 防止越权操作,每个应用程序都有自己的访问权限。

5 、实模式与保护模式

在嵌入式系统中,常见的存储管理方案可以分为两大类: 实模式和 保护模式。

(1)实模式:内存的平面使用模式。特点有:

A. 不划分“系统空间”与“用户空间”,无须进行地址映射。
B. 操作系统与应用程序之间不再有物理的边界。
C. 系统中的“任务”或“进程”,实际上全是内核线程。

在实模式下, 内存布局可以分为5个段:

A. 代码段:包含操作系统和应用程序的所有代码。
B. 数据段:所有带有初始值的全局变量。
C. BSS 段:所有未带初始值的全局变量。
D. 堆空间:动态分配的内存空间。
E. 栈空间:保存上下文以及函数调用时的局部变量和形参。

在实模式存储管理方案下,主要的工作在于 堆空间的管理,即如何来管理空闲的堆空间、如何来分配内存、如何来回收内存等等。

(2)保护模式:处理器中必须有 U MMU 硬件并启用。特点有:

A. 系统内核和用户程序都有各自独立的地址空间。
B. 每个应用程序只能访问自己的地址空间,不能去破坏操作系统和其他应用程序的代码和数据。

6 、分区存储管理

为了实现多道程序系统而采用的最简单的内存管理。基本思路:把整个内存划分为两大区域,即系统区和用户区,然后再把用户区划分为若干个分区,每个任务占有其中的一个分区。这样,在内存当中就同时保留多个任务,让他们共享整个用户区,从而实现多个任务的并发运行。

分区存储管理又可以分为两类: 固定分区和 可变分区。

(1)固定分区:各个用户分区的个数、位置和大小一旦确定后,就固定不变,不能再修改。

优点:易于实现,系统开销较小。

缺点:内存利用率不高,分区总数固定。

(2)可变分区:动态创建,在装入一个程序时,系统将根据它的需求和内存空间的使用情况来决定是否分配。

优点:动态变化,非常灵活。

缺点:可能存在外碎片。

在实现可变存储管理技术的时候,需要考虑三个方面的问题:

A. 内存管理的数据结构
B. 内存的分配算法
C. 内存的回收算法

7 、地址映射

地址映射也叫地址重定位。逻辑地址和物理地址是完全不同的,不能用逻辑地址来直接访问内存单元。为了保证 CPU 在执行指令的时候,可以正确地访问内存单元,需要将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。这个过程称为: 地址映射。地址映射由存储管理单元 MMU 来完成。

(1)地址映射主要有两种方式:静态地址映射和动态地址映射。

A、静态地址映射:当用户程序被装入内存时,直接对指令代码进行修改,一次性地实现逻辑地址到物理地址的转换。

B、动态地址映射:当用户程序被装入内存时,不对指令代码做任何修改,而是在程序的运行过程中,当它需要访问内存单元的时候,再来进行地址转换。在具体实现时,这项转换工作一般是由硬件的地址映射机制来完成的。通常设置一个 基地址寄存器 ,或者叫重定位寄存器。当一个任务被调度运行时,就把它所在分区的起始地址装入到整个寄存器中。然后 ,在程序运行的过程中,当需要访问某个内存单元时,硬件就会自动地将其中的逻辑地址加上基地址寄存器中的内容,从而得到实际的物理地址,并且按照这个物理地址区执行。这个基地址寄存器位于 MMU 的内部,整个地址映射过程是自动运行的。从理论上说,每访问一次内存都要进行一次地址映射。

8 、页式存储管理(重点)

(1)基本思路:把物理内存划分为许多固定大小的内存块,称为 物理页面;把逻辑地址空间也划分为大小相同的块,称为 逻辑页面。当一个用户程序被装入内存时,不是以整个程序为单位,把它存放在一整块连续的区域,而是以页面为单位来进行分配的。对于一个大小为 N 的页面程序,需要有 N 个空闲的物理页面来把它装载。这些物理页面不一定是要连续的。在页式存储管理中需要解决三个问题:数据结构、内存分配与回收、地址映射。

数据结构有两个:页表和物理页面表。

A. 页表:给出了任务逻辑页面号和内存中物理页面号之间的对应关系。
B. 物理页面表:描述内存空间中,各个物理页面的使用情况。

内存的分配过程:

A. 对于一个新来的任务,计算它所需要的页面数 N,然后查看位示图,看是否还有 N 个空闲的物理页面。
B. 如果有足够的空闲物理页面,就去申请一个页表,其长度为 N,并把页表的起始地址填入到该任务的控制块中。
C. 分配 N 个空闲的物理页面,把他们的变换填到页表中,建立逻辑页面与物理页面直接的对应关系。
D. 修改位示图,对刚刚被占用的那些物理页面进行标记。

(2)地址映射的基本思路:

A. 逻辑地址分析:对逻辑地址,找到它所在的逻辑页面,以及它在页面内的偏移地址。
B. 页表查找:根据逻辑页面号,从页表中找出它对应的物理页面号。
C. 物理地址合成:根据物理页面号和页内偏移地址,最终确定物理地址。
  
(3)逻辑地址分析:

页面的大小都是2的整数次幂。对于给定的一个逻辑地址,可以直接把它的高位部分作为逻辑页面号 ,把它的低位部分作为页内偏移地址。例如,假设页面的大小是4KB,即2的12次幂,逻辑地址为32为,那么在一个逻辑地址当中,最低12位为页内偏移地址,而剩下的20位就是逻辑页面号。

计算方法:
逻辑页面号=逻辑地址/页面大小
页内偏移量=逻辑地址%页面大小

页表查找:
页表作为操作系统的一个数据结构,通常保存在内核的地址空间中。页表基地址寄存器用来指向页表的起始地址;页表长度寄存器用来指示页表的大小,即对于当前任务,它总共包含有多少个页面。

物理地址合成:
假设物理页面号为 f,页内偏移地址为 offset,每个页面大小为2n ,那么相应的物理地址为: f×2n+offset。

9 、虚拟存储管理

(1)程序局部性原理: 时间局限性和 空间局限性。
(2)虚拟页式存储管理:在页式管理的基础上,增加了 请求调页和 页面置换的功能。

(3)基本思路 :当一个用户程序需要调入内存去运行时,不是将这个程序的所有页面都装入内存,而是只装载部分的页面,就可以启动这个程序运行。在运行过程中,如果发现要执行的指令或者访问的数据不在内存当中,就向系统发出缺页中断请求,然后系统在处理这个中断请求时,就会将保存在外存中的相应页面调入内存,从而使该程序能继续运行。在虚拟页式存储管理中,页表包含:逻辑页面号、物理页面号、驻留位、保护位、修改位和访问位。  

(4)常用的页面置换算法:

A. 最优页面置换算法:理想化算法。
B. 最近最久未使用算法:链表法和栈方法。寻找长时间没有被访问的页面。
C. 最不常用算法:每个页面设置一个访问计数器。
D. 先进先出算法:性能比较差。
E. 时钟页面置换算法:把页面组成环形链表,类似时钟面。

一般来说,当一个任务刚刚启动的时候,它会不断去访问一些新的页面,然后逐步建立一个比较稳定的工作集。 工作集是指当前任务正在使用的逻辑页面的集合。如果分配给一个任务的物理页面数太少,不能包含整个的工作集,任务将会造成很多缺页中断,需要频繁地进行页面置换,这种现象称为“ 抖动”。

转自: 沉舟侧畔

围观 630

页面

订阅 RSS - 嵌入式系统