<sa8650>Safety Monitor 之 API介绍 (第一部分)

<sa8650>Safety Monitor 之 API介绍

  • 1介绍
    • 1.1目的
    • 1.2约定
    • 1.3技术援助
    • 1.4发布重点
  • 2功能概述
    • 2.1故障报告
    • 2.2故障订阅
    • 2.3健康报告
    • 2.4架构
      • 2.4.1软件架构
      • 2.4.2测试应用程序
      • 2.4.3 在APSS上的安全监视器
      • 2.4.4 在SAIL上的安全监视器
      • 2.4.5在AURIX上的安全应用程序
      • 2.4.6 AURIX安全应用程序的高级设计
  • 3 Use cases

1介绍

1.1目的

本文档指定了安全监视器与其客户端之间的接口规范。本文件同时适用于APSS和SAIL安全监控接口。

1.2约定

函数声明、函数名称、类型声明、属性和代码示例会以不同的字体出现,例如,cp armcc armcpp。
代码变量显示在角括号中,例如,<编号>。
要输入的命令会以不同的字体显示,例如,复制一个: b:.
按钮和键名称以粗体显示,例如,单击保存或按Enter键。
阴影表示在文档版本中添加或更改的内容。

1.3技术援助

对于本文档中的信息的帮助或澄清,请在https://support.qualcomm.com/上打开一个技术支持案例。
您将需要注册一个高通ID帐户,您的公司必须启用支持才能访问我们的案例系统。
https://qualcomm.com/support上还列出了其他系统和支持资源。
如果你需要进一步的帮助,你可以发送电子邮件到[email protected]

1.4发布重点

APSS和SAIL安全监视器的初始接口规范

2功能概述

下面提到的api公开了一个接口,供安全客户端调用安全监视器来检测SoC的各种功能安全组件的故障和健康管理。

2.1故障报告

安全监控模块允许安全关键应用程序向安全监控模块通知安全关键故障。

2.2故障订阅

安全监控模块可以通知已注册的应用程序的安全关键故障。

2.3健康报告

安全监控模块聚合所有安全关键子系统的健康信息,并将其发送到AURIX。

2.4架构

2.4.1软件架构

<sa8650>Safety Monitor 之 API介绍 (第一部分)_第1张图片
图2-1 APSS、SAIL和MCU(安全SoC)体系结构
如图2-1所示,APSS安全监视器运行在APSS(APSS SM)上,SAIL安全监视器运行在SAIL(SAIL SM)上,而安全应用程序运行在MCU(或安全SoC)上。
APSS SM使用邮箱接口与SAIL SM通信,而SAIL SM使用UART接口与MCU通信。APSS SM通过邮箱将健康消息和故障消息发送到SAIL SM,而SAIL SM通过UART接口将其发送到MCU。

本文档解释了安全监视器与其客户端之间的接口。

2.4.2测试应用程序

测试应用程序模拟到安全监视器的客户端接口,并驱动安全监视器发送运行状况和故障消息。测试应用程序还可以模拟用户界面,它可以接收由安全监控器发布的任何故障。

2.4.3 在APSS上的安全监视器

安全监视器执行故障和运行状况状态管理,并通过邮箱接口将运行状况和故障状态通信给SAIL。安全监视器还会将错误发布给订阅应用程序。
安全监控器与测试应用程序等客户端进行接口,用于接收故障和健康状态消息。安全监视器提供了一个API来获取SoC聚合的健康状态。

2.4.4 在SAIL上的安全监视器

SAIL上的安全监视器接收来自APSS-SM的故障和健康消息,并通过UART将故障转发给MCU。当在SAIL上接收到一个FUSA中断时,它也会生成一个故障消息。此外,SAIL安全监视器还为SAIL上的客户端提供了API接口,以向SAIL报告运行状况和故障状态,并将错误发布给订阅应用程序。

2.4.5在AURIX上的安全应用程序

安全应用程序运行在单片机(Safety SoC)硬件上。安全应用程序与单片机上的UART固件进行接口,以接收来自安全监视器的信息。安全应用程序接收通过UART接口接收到的消息,并在控制台上显示这些消息。

2.4.6 AURIX安全应用程序的高级设计

<sa8650>Safety Monitor 之 API介绍 (第一部分)_第2张图片
图2-2 AURIX单片机流程
AURIX固件支持接收来自SOC的安全消息。消息通过SOC和AURIX之间的UART接口进行传输。AURIX与SOC之间的通信是基于请求-响应模型的。AURIX通过UART定期(以一个已定义的、可编程的时间间隔)向SAIL上的安全监视器发送请求消息。
当MCU通过UART发送请求消息时,在计算处理器/安全监视器(SAIL安全监控器)上运行的安全监控器应用程序通过UART向MCU发送故障/健康消息。MCU通过UART读取消息,并解析和存储运行状况/故障消息。此消息摘要将打印在MCU控制台上。
图2-2显示了安全监控器如何发送故障和运行状况消息以及AURIX固件如何处理这些消息的高级概述。
1.在sail_apps.c文件中,使用parse_msg()解析消息,并验证CRC和序列号。
2.分析消息的parse_msg()会检查消息是运行状况还是故障,并调用API来存储消息。
3.解析消息后,parse_msg()每1秒在控制台上打印运行状况/故障消息摘要。
注意:可以在parse_msg()中添加上层软件,以处理串序列化和存储的运行状况/故障消息,用于在串行控制台上打印以外的任何目的。
高级软件所需的接口文件是fusa_msg_interface.h。源代码可以在 safety.c文件中找到(见第5.7节)。

3 Use cases

<sa8650>Safety Monitor 之 API介绍 (第一部分)_第3张图片

图3-1安全应用程序和安全监控器呼叫流程

描述
▪使用sm_register_client()API向安全监控器进行注册,以进行健康监测和故障报告。
▪使用sm_notify_fault()发送故障,并使用sm_report_health()报告运行状况。
▪使用sm_subscribe_faults()订阅错误。
▪使用sm_get_soc_health_status()获取soc的运行状况状态。
▪使用sm_unsubscribe_faults()取消订阅错误。
▪使用sm_unregister_client()注销与安全监视器的注册。

你可能感兴趣的:(车载系统,视觉检测,c++)