项目

一般

简介

功能 #3389

涛 陆 更新于 3 个月 之前

参考软件 DR-003701-708063 Software Timing 
 需求描述 
 本设计规则支持 RQT-003701-705442《时间确定性(Temporal Determinism)》,适用于包含以下类型软件的所有电子控制模块非AUTOSAR操作系统(Non-AUTOSAR OS),AUTOSAR Classic 平台,AUTOSAR Adaptive 平台,第三方软件并作为该RQT的合规性实施方法。 
     软件不得通过计算指令周期实现时间管理 
     支持系统计时器标记事件时间并校验耗时 
         示例:某任务在10毫秒循环中执行,需累计3秒耗时,则循环计数为3000次,若任务迁移至20毫秒调度周期,循环计数需全局可修改为1500次(保持3秒累计) 
     计数器指令仅限硬件底层接口实现,必须在代码中详细注释例外原因,设计评审中需逐项例外合理性论证,并按"分析/讨论"章节流程升级审批 
     需包含以下技术参数文档:时序计算(Timing calculation),微控制器型号(Microcontroller type),时钟频率(Clock speed),时钟预分频器/PLL倍频器(Clock pre-scalar/PLL multiplier),编译器配置(Compiler switches)。 
 ——使用定时器进行task任务周期性调度 技术规范 
 通过指令计数进行计时的做法使子系统对硬件和软件的变化很敏感。如果算法在设计中使用循环计数器而不是基于系统的计时机制,那么改变任务评估率将导致算法不正确。 
 最好根据使用的时钟和要达到的时间自动计算计数器值。让所有计时器以相同的方向计数是一种很好的做法。这简化了可维护性和可移植性。 
 分析/讨论 
 本设计规则支持所有带软件的电子模块的RQT-003701-705442“时间决定论”,适用于所有带软件的电子模块,是符合RQT的一种方法。 
 设计规则关闭机制:这些设计规则的关闭是软件技术设计的完成审查(TDR),可以通过“SWQA常见TDR检查表”问题来解决: 
 IMC02002 
 微控制器(Microcontroller) 
 A) 使用的微控制器型号(提供制造商及准确型号)? 
 B) 微控制器的架构(8、16、32、64位)? 
 C) 该微控制器是否为现成产品(off-the-shelf product)? 
 D) 您此前对该微控制器有何使用经验? 
 E) 该微控制器是否已认证?/若未认证,计划何时认证?备选方案是什么? 
 F) 该微控制器是否符合汽车级认证(如AEC Q100/Q101、Q200等)? 
 G) 该微控制器是否用于福特/其他OEM项目的量产? 
 IAS03004 
 操作系统与调度器设计 
 A) 您使用哪种操作系统(Operating System)? 
 B) 阐述调度器设计(寄存器刷新、任务调度、线程、空闲任务、看门狗维护、电压范围等) 
 C) 您的采样率(Sampling rate)和最快时钟定时中断(Fastest clock-timing interrupt)是多少? 
 D) 该调度器是否已在其他应用中应用? 
 ISR04001 
 中断服务程序(ISR)设计需提交所有ISR的详细设计文档,包含以下内容: 
 A) 列出所有微控制器中断(包括未使用的中断)及其优先级和分类(如AUTOSAR类别1(Category 1)与类别2(Category 2)) 
 B) 各中断的中断源、预期标称输入频率(nominal input frequency)、最坏情况输入频率(worst-case input frequency)及清除(解除断言)中断源的必要操作 
 C) 是否在ISR内直接操作硬件?若是,具体操作哪些硬件?原因是什么? 
 D) 针对每个唤醒中断(wake-up interrupt),明确其触发类型(电平敏感(level sensitive)或边沿敏感(edge sensitive) 
 注:答案需包含通信通道(如CAN、LIN、IPC、以太网)的中断类型。 
 ISR04002 
 中断电路与ISR设计 
 A) 呈现中断电路的最坏情况分析(worst-case analysis),需补偿以下预期信号衰减源(signal degradation sources): 
     制造差异(manufacturing variations) 
     时间/使用损耗(time/usage) 
     工作温度范围(operational temperature range) 
     机械振动环境(mechanical vibration environment) 
     EMC(电磁兼容性) 
     线束布线(harness routing) 
     连接器(connectors) 
     子板(daughter cards) 
     模块内跳线(in-module jumpers) 
     电容失效(capacitor failure) 
     水/灰尘/盐雾(water, dust, salt) 
 B) 您的ISR执行时间(指令数 & 微秒数)是多少? 
 C) 基于ECU软件需求文档中的最坏情况分析场景,仅由中断导致的最坏CPU负载(worst-case CPU load)是多少? 
 D) 若超出预期最坏中断速率(worst-case interrupt rate),子系统的预期行为是什么? 
 E) 您的ISR是否调用其他软件模块?若是,该模块是否可重入(re-entrant)?若否,原因是什么? 
 ICO21027 
 当时钟监视器出现故障时,软件会执行什么操作?

返回