跳到内容

思想领袖星期四:担心故障?尝试基于模型的嵌入式设计

要创建可靠的嵌入式软件,只需看看基于模型的嵌入式设计(MBED)。MBED是一种利用建模和仿真来加速可靠嵌入式软件开发的有效方法。你可能听说过最近纽约证券交易所、联合航空公司预订系统和《华尔街日报》网站因“电脑故障”而关闭的情况。对于大型机构来说,几分钟的关闭可以极大地影响其业务运营的许多方面。

用批处理语言(如C、Java、PHP或Python)编写程序的问题是,代码很难而且容易出错。仅仅一个错误的字符就可能导致一个大错误,并在程序中产生小故障。vissim,Altair于2014年8月收购的一个高级语言程序,通过为用户提供一个简单的解决方案,以可视化框图的形式实现和测试算法,解决了这个问题。

控制工程师是第一个采用MBED的

控制工程师一直是这种设计方法的主要采用者,部分原因是控制设计难度和许多控制应用中的难度。bob电竞官方随着嵌入式控制芯片的成本下降(低至约1美元)和对更智能设备的需求,我们开始看到嵌入式控制器到处都会弹出。例如,由于可靠的高速通信和控制操作的需求,汽车今天的汽车包含数十个嵌入式控制循环。这是在各种主要行业的情况下发生,包括医疗设备,家庭建筑,航空,工艺植厂,发电厂,可再生能力等等。

现代汽车中的嵌入式控制器。
现代汽车中的嵌入式控制器。

通过简单的接线板编程

在VisSim中,用户通过连接执行诸如数值积分、表格查找、布尔比较和其他数学操作等任务的块来编写代码。用户可以快速建立控制器和他想要控制的东西的模型(控制工程师称之为“工厂”)。控制器可以完全调整在仿真中使用各种优化技术。通过对控制器和对象的仿真,可以在设计过程的早期发现并解决问题。

自动生成C代码

为了识别嵌入式微处理器上的控制器,VisSim有一个C代码生成器,它能够自动将框图转换为高效的C代码。通过提供特定于芯片的块,用户可以包括传感器数据,如模数转换器或正交编码器、执行器信号(如PWM)和通信块(如can、SPI或I2C)。通过与目标芯片的JTAG链接,用户可以在框图中进行更改,并在几秒钟内看到它在微控制器上运行。

Vissim视觉实时操作系统(RTOS)

在大多数控制系统中,开发过程中至少有一个控制任务、高级通信任务和调试任务。协调这些任务并提供设备驱动程序是实时操作系统(RTOS)的领域。VisSim提供了一个可视化的RTOS,其配置集成到图形框图中。这样,应用程序就可以完全在图中实现,而不需要用C语言进行额外的手工编码。

波音787的教学案例

787.

在最近的一个值得注意的问题中,这可以看到这一点的有用性。今年早些时候,波音公司发布警报船上发生器控制单元(GCU)存在问题。如同报价,“连续248天后,所有四个GCU都将同时进入故障保护模式,导致无论飞行阶段如何,所有AC电力丢失。”要重新创建此问题,我们必须逆转工程师依赖于连续上升计时器的错误系统,并且没有临界误差信号的可删除。一个合理的定时器是要感测转速,并测量速度,发电机将提供索引脉冲以发出完全旋转。通过测量索引脉冲和反转它的时间,我们可以计算发电机的速度。来自标称范围的速度变化可能是用于关闭发电机的标准。一个错误的方法来获得时间间隔是从先前索引脉冲的时间中减去当前索引脉冲处的时间。这工作正常,只要时间在每个索引脉冲后的时间重置或有足够的精度来处理设备的使用寿命。

mbed_2.

在这种情况下,假设以100Hz速率计数的32位符号计数器,我们期望溢出为21亿计数。您可以假设它是一个适合我们的设备的“无限”,但通过执行数学,它实际上只持续了2100万秒。这效果为357,000分钟,或248.55天。通过创建一个简单的模型来测量来自索引脉冲的发电机轴速度,我们可以运行模拟过去248天的标记来检查。幸运的是,Vissim的仿真速度使我们能够比实时运行超过5000x的型号,这意味着我们不必等待248天的答案!只需要一小时时间才能击中毛刺。Vissim可以在一小时半的时间内模拟定时器,速度计算器和关闭逻辑的全年操作。如果波音GCU供应商使用了基于模型的开发工具,他们将在子系统仿真中看到问题,在框图中修复它并重新模拟以验证正确的操作。然后,它们可以直接从修复的图中生成嵌入式代码。愤怒的灾难避免了。

mbed_3.

基于模型的嵌入式开发是一个强大的工具,它可以提供现代控制系统所要求的开发速度和可靠性,而不需要花费太多的时间和金钱。联系Altair了解VisSim EMBEDDED如何为您节省时间、金钱和尴尬。