(一)、为什么要学习FreeRTOS和单片机的选型?

1、作为一名打杂的硬件工程师,与机器人的接触的时间也比较多,但我们的单片机工程师使用的是裸奔的方式与ROS打交道;使用的是SMT32单片机作为主IC,因为项目的需求需要用到室外,项目的功能安全问题不容忽视,这里引发了我对目前项目的担忧和一些思考。

2、关于功能安全问题

         单片机在汽车功能安全中实现的主要手段包括以下几个方面:

  1. 软件设计和开发:单片机上运行的软件需要经过严格的设计和开发,确保其功能安全性。软件开发过程中通常采用安全开发标准和最佳实践,包括规范化的编程风格、代码审查、单元测试等,以减少软件中的漏洞和错误。

  2. 故障检测和容错处理:单片机可以实现故障检测和容错处理功能,通过监测系统状态、检测传感器数据异常以及执行自检程序等方式来及时发现和处理潜在的故障。一旦发现故障,单片机可以采取相应的措施,如切换到备用系统、触发警报或执行紧急停机操作,以保障汽车功能的安全性。

  3. 安全通信和数据处理:单片机负责处理传感器和执行器的数据,并与其他汽车系统进行通信。在数据传输过程中,单片机可以采用加密、认证和完整性检查等技术,确保数据的安全性和可靠性,防止恶意攻击对汽车系统造成损害。

  4. 硬件监测和保护措施:除了软件层面的安全性保障,单片机还可以实现硬件监测和保护措施,如电源电压监测、温度监测、电流监测等。单片机可以根据监测到的信息采取相应的措施,如降低系统负载、减少功耗或执行紧急停机操作,以防止硬件故障对汽车系统造成不良影响。

  5. 遵循功能安全标准和规范:在单片机的设计和开发过程中,制造商需要遵循相关的功能安全标准和规范,如ISO26262等。这些标准和规范提供了针对汽车电子系统的功能安全管理流程、安全性评估方法和安全性要求,有助于确保单片机在设计、开发和应用过程中满足功能安全的要求。

 

3、安全单片机选型        

以下是一些生产安全单片机的厂家和一些型号:

  1. Infineon Technologies

    Aurix系列:例如TC27x、TC29x、TC37x、TC39x等常用型号。
  2. STMicroelectronics

    SPC5系列
  3. NXP Semiconductors

    S32系列:例如S32K等。

        其中 Infineon 的单片机如果开发软件的附加成本是非常昂贵的,必须采购第三方软件进行适配开发,目前ST的单片机没有尝试过开发,但NXP的开发环境目前相对来说会比较友好一点。除了这一点外,大家有必要了解下 AUTOSAR

        以下是AUTOSAR标准的主要特点和组成部分:

  1. 软件架构:AUTOSAR定义了一种模块化的软件架构,以支持汽车电子系统的分布式开发和集成。该架构将汽车软件系统划分为应用层、运行时环境、基础设施和MCAL(Microcontroller Abstraction Layer)等组件,以实现软件功能的模块化设计和可重用性。

  2. 通信协议:AUTOSAR标准定义了一系列通信协议,如CAN(Controller Area Network)、FlexRay、Ethernet等,用于汽车电子系统之间的数据交换和通信。

  3. 配置和描述文件:AUTOSAR引入了一种称为ARXML(AUTOSAR XML)的XML格式文件,用于描述汽车电子系统的配置信息、软件组件、通信接口等,以支持系统的配置管理和自动化工具的开发。

  4. 标准化接口:AUTOSAR定义了一系列标准化的软件接口,包括应用程序接口(API)、通信接口、驱动程序接口等,以促进不同供应商的软件组件之间的互操作性和可替换性。

  5. 安全和可靠性:AUTOSAR关注汽车电子系统的安全性和可靠性,在标准中包含了一些安全机制和建议,如软件故障管理、数据保护、通信安全等。

  6. 工具链支持:AUTOSAR提供了一系列工具链和开发工具,用于支持汽车电子系统的设计、开发、测试和集成。

        总得来说是汽车联盟开发了一套标准的套件,里面规定一些标准用来加速开发和帮助软件开发的稳定,其中也有Simulink开发(即基于模型开发),一种通过描述模型来生成代码的方式进行开发的方式。 

 4、为什么使用FreeRTOS?

        当使用ROS2进行机器人的开发的底层驱动时候,例如控制机器人的运动和一些传感器的读取上传到ROS端,比如轮速计和超声波等数据就可以通过单片机上发。我们之前在ROS1的时候使用的是rosserials通过串口与ROS主机通信,但是目前ROS2的到来变成了分布式的方式,使用的DDS通信解决了很多ROS1的缺点。这里就不得不提一下 micro-ROS ,本着不重复造轮子的原则,网址为 Micro ROS

        我们看到他为了实时性支持的实时操作系统为如下三种:

        而我们为了学习为主,现在我们硬件工程师常用的的单片机(STM32)的IDE大多数情况下都支持 FreeRTOS。

        再者SafeRTOS和FreeRTOS  SafeRTOS 是符合汽车功能安全的要求的,SafeRTOS基于 FreeRTOS 内核的功能模型,他们共享相同的功能模型,升级非常容易。我们即使后面使用商业稳定的目的时候,使用 FreeRTOS 内核进行原型设计,并在正式开发阶段开始时转换为SafeRTOS即可,成本非常低。

  • 22
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习FreeRTOS,你可以按照以下步骤进行: 1. 了解FreeRTOS是什么。FreeRTOS是一个免费的实时操作系统,广泛应用于嵌入式系统和物联网设备中。它具有简单、灵活和可移植等特点。 2. 研究FreeRTOS的优势。FreeRTOS是免费的,被许多半导体厂商和软件厂商使用,有丰富的文档和示例,同时在市场上拥有较高的占有率。 3. 寻找学习资料。在FreeRTOS的官方网站上可以找到相关的文档和源代码。此外,还可以搜索并阅读FreeRTOS系列教程,这些教程详细介绍了FreeRTOS的基础知识和应用函数。 4. 学习任务创建和删除。任务是FreeRTOS的核心概念,了解如何创建和删除任务是学习FreeRTOS的重要一步。可以阅读相关的教程和文档来学习任务的创建和删除方法。 5. 学习任务控制。掌握如何控制任务的执行顺序、优先级和通信方式是学习FreeRTOS的关键。可以通过阅读相关的教程和文档来学习任务控制的方法。 6. 实践应用函数。学习FreeRTOS的应用函数,如任务同步、任务通信和事件标志等,可以通过阅读相关的教程和文档来学习这些应用函数的用法。 7. 使用示例代码。利用FreeRTOS提供的示例代码,可以更好地理解和应用FreeRTOS的功能和特性。可以参考官方网站上的示例代码或者其他开源项目中使用FreeRTOS的代码。 通过以上步骤,你可以全面学习FreeRTOS的使用和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值