嵌入式系统是计算设备硬件中嵌入软件作为其核心组件的应用。我们身边现在已经被嵌入式系统包围了,这些产品能为我们的生活带来各种方便乃至奢华的功能,包括移动手持设备、洗衣机、微波炉、ATM 机、空调等等。由于某些特定的应用要求,工程师必须以不同于其它设计类型的特定方法进行嵌入式设计。
以下简要介绍了进行嵌入式系统设计的几个步骤:
1. 建议:一个能够让生活变得更轻松和/或减少完成任务所需人力的创新性理念或系统。
2. 定义:接下来需要设计整个系统,包括在各种可能的输入条件下系统的表现情况。定义或许是最关键的部分,因为在定义阶段的任何错误均会影响整个系统的工作。
I. 输入/输出考虑因素:定义在一个特定输入下系统输出会是什么,要把系统作为一个黑盒子来考虑;
II. 数学建模:设计让系统按需工作的算法;
III. 功能建模:设计系统接受输入并生成所需输出的功能。
3. 技术选择:基于上述几点,设计人员可评估可用的技术,选择哪些器件能够满足所有要求,同时平衡效率、成本和产品上市进程。
4. 集成和 PCB 设计:列出实现您想要的功能所需的所有组件,并设计它们在PCB 上的布局。布线和所有其它路径都必须尽可能地降低电磁干扰 (EMI),而且应避免各种错误。设计 PCB 时,应特别注意铺地以及 PCB 上接地的所有组件。
5. 固件开发和调试:由于硬件需要指令来按我们想要的方式加以执行,我们需要为硬件使用的每个组件编写代码。这也正是固件(即应用代码)所做的工作。固件应当最大限度地降低复杂性。此外,我们在编写代码时,可能会遇到许多错误和故障,这些都需要适当的调试协议。
6. 测试:调试时需要测试代码部分,而在测试过程中,我们需要检测整个系统,也就是硬件以及驱动该硬件的软件。
7. 文档:任何浏览您完整应用设计的人都不应该问您“这是什么意思?”“这个东西怎么操作?”为了避免被这样的问题所困扰,我们应当准备好全面完整的文档。
当前设计流程中存在的问题:
在开发嵌入式应用时,我们应当充分了解不同的芯片及其功能和复杂的架构,然后再创建系统设计流程。接下来,我们需要一款应用来为我们的产品和组件提供功能,为此我们必须要编写代码。在编写代码时,系统要求会不断变化,设计人员需要相关工具,为不同的调试协议提供支持。我们或许无法重复使用代码,我们希望在单个系统中集成多种特性。鉴于上述问题,嵌入式系统设计需要考虑整个系统价格、性能、加速产品上市进程、尺寸、功耗、可维护性、安全性、存储器容量等各种问题。此外,嵌入式系统的开发人员还希望在单个芯片上实现可编程模拟和数字外设。因此,片上系统 (SOC) 的开发工作对于开发人员来说是相当繁琐的。
嵌入式系统日益复杂,几乎在任何情况下都需要可编程性。为此,设计人员需要工具来应对这种困难的局面,同时提供用户友好型环境来开发应用。虽然我们有一些SOC工具的市场,但我们并不完全了解这些工具的功能。此外,工具还必须能够最大限度地发挥产品的特性潜力。为了说明这一点,我们不妨举一个采用复杂架构芯片的例子,在单个芯片上集成了几乎所有的模拟和数字可编程外设。我们或许会发现,阅读和了解相关的配置寄存器以及使用器件相关的其它底层信息可能比较复杂,因此我们需要一款直观易用的系统设计工具把底层信息隐藏起来,让我们更方便地集中了解系统应用。
简而言之,我们需要这样一款工具,它不仅可加速产品的上市进程,直观高效地处理所有的开发考虑因素,而且成本不能太高,还能根据要求的变化支持项目在不同芯片之间的移植。
PSoC Creator:
可编程片上系统 (PSoC) 制造商已经充分认识到,开发人员需要在单个芯片上拥有完整的系统,而且要同时具备模拟和数字功能,同时该模拟和数字功能也应该完全具有可编程性。为了开发可在这些芯片上工作的嵌入式应用,以及为上述所有问题提供解决方案,赛普拉斯半导体公司推出了 PSoC Creator。PSoC Creator 通过其独特的基于原理图的格式能让设计人员无需手动管理架构或配置寄存器即可开发应用。现在,我们要做的就是思考出设计方案,然后通过把组件从赛普拉斯组件库或我们自己的组件库中拖放到设计原理图中即可绘制出设计。这就好像绘制系统方框图一样,不用考虑使用的是什么器件。正是由于革命性的图形设计编辑器支持独特而功能强大的软硬件协同设计环境,我们才能实现这一目标。请注意,该工具不仅是将软件开发环境和直观的图形设计编辑器完美地结合在一起,同时还支持全新理念的即时测试,能够快速响应于硬件变化,创建可共享的设计组件库,提供定制外设,支持片上外设的无差错互动,并能使用内置的调试器实现完整的设计。
简而言之,该工具的功能和使用可如下图所示分为 4 步:
步骤 1:设计与配置拖放组件 连接外设 I/O 到引脚 设置时钟频率
步骤 2:开发调用内置 API C/汇编语言编程无差错更方便
步骤 3:调试内置调试器在运行时查看任何变量的类型、地址和值在运行时查看协议栈、存储器和寄存器
步骤 4:重复使用快速方便地创建未来设计将工作设计集成到可重复使用的组件中
图 1. 使用 PSoC Creator 创建项目的步骤
PSoC Creator 将基于 C 语言的开发流程与自动生成的组件 API 在您的设计中相结合。它能根据后续阶段要求的变化在器件之间(比如8位到32位)实现无缝移植。即便要在不同的器件系列之间进行移植,我们也无需考虑存储器映射、助记符等问题。这里的一个独特优势在于,设计过程中不必考虑目标芯片属于什么系列的问题,因为设计人员能在开发周期中的任何时间更改器件,而且无需修改项目中的任何东西。
现在让我们通过一个项目范例来更好地了解 PSoC Creator 在实际环境中开发嵌入式应用的功能和可用性。这个项目范例演示了如何通过使用脉冲宽度调制 (PWM) 来控制 LED 的亮度。
图2:PSoC Creator 的示意图
技术专区
- Alexa语音服务软件扩展STM32Cube
- 结合DNN API驱动未来神经网络应用的解决方案
- 针对于高端移动通信和汽车市场的四集群设计
- 一款基于帧捕捉的开源图形调试器应用设计
- 即将成为标准配置的最新安全技术:后视摄像系统