汽车安全体系:FuSa、SOTIF、Cybersecurity 从理论到实战
汽车安全:功能安全(FuSa)、预期功能安全(SOTIF)与网络安全(Cybersecurity) 从理论到实战的安全体系
引言:自动驾驶浪潮下的安全挑战
随着自动驾驶技术从L2向L4快速演进,汽车安全正从“机械可靠性”时代迈入“智能系统安全”的新纪元。据统计,2023年全球自动驾驶相关事故中,约67%涉及系统设计缺陷或未知场景应对不足。如何构建覆盖“系统失效-功能局限-外部攻击”的全维度安全体系?本文将结合经典案例与行业标准,深度解析**功能安全(FuSa)、预期功能安全(SOTIF)与网络安全(Cybersecurity)**的技术逻辑与协同机制。
一、功能安全(FuSa):守护系统的“内在防线”
定义:功能安全(Functional Safety)聚焦于电子电气(E/E)系统的非预期失效,通过ISO 26262标准规范开发流程,确保硬件故障和软件逻辑错误不会导致危险事件。
核心目标:在规格书(Spec)正确的前提下,通过故障检测、冗余设计等手段,将风险降低至可接受水平。
示例:
- 某车型的ESP(电子稳定程序)传感器因电磁干扰误报车身姿态,触发错误的制动指令。FuSa要求在传感器电路中增加滤波设计,并通过软件诊断监控信号合理性,避免因单点故障引发失控。
- 特斯拉Model 3的双冗余电池管理系统(BMS),通过独立的硬件通道和软件算法校验,确保电池状态监控的可靠性,符合ASIL D级功能安全要求。
关键工具:
- 故障树分析(FTA):自顶向下分析系统失效路径
- 失效模式与影响分析(FMEA):自底向上评估组件风险
- 安全机制测试:通过硬件在环(HiL)验证冗余切换逻辑
二、预期功能安全(SOTIF):突破规格书的“认知边界”
定义:预期功能安全(Safety of the Intended Functionality)解决因系统性能局限、功能不足或人员合理误用引发的危险,填补FuSa未覆盖的“规格书盲区”,遵循ISO 21448标准。
核心挑战:
- 数据驱动的不确定性:自动驾驶依赖的视觉模型可能漏检“骑自行车的行人横穿马路”(如2018年Uber致死事故)
- 算法黑箱特性:深度学习模型的决策逻辑难以通过传统测试完全验证
- 非技术因素:道路施工、交通参与者违规等“不可预测场景”
示例:Uber事故深度解析
- 场景还原:测试车模型仅识别“行人/自行车/车辆”三类目标,且假设其沿车道线行进。当行人推自行车斜穿马路时,系统因超出预设场景而漏检。
- SOTIF应对策略:
- 扩展场景边界:通过仿真平台生成“行人异常行为”的百万级虚拟测试用例
- 人机共驾设计:在系统响应延迟临界值时,提前触发驾驶员接管预警
- 动态风险评估:结合高精地图预判施工路段,自动降低车速
技术路径:
- 场景库构建:基于自然驾驶数据(NDS)提取“长尾场景”特征
- 鲁棒性测试:通过对抗性样本(如雨天模糊图像)验证算法容错能力
- 驾驶员行为建模:利用眼动追踪技术优化接管提示逻辑
三、网络安全(Cybersecurity):抵御外部的“恶意入侵”
定义:网络安全聚焦于人为故意攻击导致的系统风险,涵盖车载网络、通信协议、软件固件等层面的防护,遵循ISO/SAE 21434标准。
典型威胁场景:
攻击类型 | 技术手段 | 后果示例 |
---|---|---|
车载网络渗透 | 通过OBD接口注入CAN总线恶意指令 | 远程控制刹车/转向系统 |
通信劫持 | 伪造V2X消息诱导车辆碰撞 | 高速公路连环追尾 |
固件篡改 | 植入后门程序绕过安全认证 | 窃取用户隐私数据或解锁限制功能 |
防御体系构建:
- 分层防护架构:
- 边界防护:车载防火墙隔离娱乐系统与控制总线
- 身份认证:基于PKI的ECU固件签名与密钥管理
- 入侵检测:实时监控CAN总线异常流量(如超过阈值的高频指令)
- 实战案例:奔驰DRIVE PILOT L3系统通过安全启动(Secure Boot)和持续完整性验证(CIV),确保自动驾驶控制单元不受供应链攻击影响。
四、三位一体的安全矩阵:关系图谱与协同机制
FuSa/SOTIF/网络安全的风险域划分及协同案例:
图1:FuSa/SOTIF/网络安全的风险域划分
图表说明:
- 风险域划分部分(上部):
- 三个主要风险域垂直排列,每个域包含具体风险示例
- FuSa:橙色框,聚焦内部系统失效
- SOTIF:蓝色框,处理外部非故意风险
- 网络安全:紫色框,防御外部故意攻击
- 协同案例部分(下部):
- 采用水平布局展示L4系统的三重防护实现
- 每个安全层对应具体技术措施:
- FuSa层:传感器冗余与校验
- SOTIF层:场景化算法优化
- 网络安全层:加密通信防护
- 连接关系:
- 箭头明确显示三类风险域到具体实施方案的映射关系
安全层级 | 技术措施 | 实现原理 | 防护目标 |
---|---|---|---|
FuSa层 | 冗余IMU传感器 | • 双传感器并行采集 • 硬件级数据校验 • 故障时梯度降级 | 确保车辆姿态数据准确性 (ASIL-D等级要求) |
SOTIF层 | 激光雷达补盲+算法优化 | • 增加侧向探测点云密度 • 行人轨迹预测模型 • 紧急制动边界控制 | 提升"夜间无路灯路口"场景下 行人检测率至99.3% |
网络安全层 | 国密SM4加密 | • 端到端加密传输 • 数字签名验证 • 密钥动态轮换 | 防止实时路况数据被篡改 (满足ISO/SAE 21434) |
- FuSa:处理“系统内部非预期失效”(如传感器硬件故障)
- SOTIF:覆盖“外部非故意风险”(如模型未预见的行人行为)
- 网络安全:应对“外部故意攻击”(如黑客远程操控)
协同案例:某L4级自动驾驶系统的安全设计:
- FuSa层:冗余IMU传感器通过硬件校验确保姿态数据准确性
- SOTIF层:针对“夜间无路灯路口行人突然冲出”场景,通过激光雷达补盲与算法优化提升检测率
- 网络安全层:车云通信采用国密SM4加密,防止攻击方篡改实时路况数据
五、行业挑战与未来趋势
1. 长尾场景的“熵增困境”
- 即使通过数据闭环持续迭代,未知不安全场景(图2区域3)仍无法完全消除,需结合V2X车路协同扩大感知边界,通过混合增强智能融合人类驾驶经验。
图2:自动驾驶场景的认知-安全矩阵 (来自参考资料)
区域 | 场景特征 | 典型案例 | 安全挑战 | 文章关联策略 |
---|---|---|---|---|
1 | 已知安全场景(高认知+高安全) | 晴天城市道路行人正常过街 | 无显著风险 | FuSa硬件冗余+SOTIF基础测试 |
2 | 已知不安全场景(高认知+低安全) | 夜间无照明路口电动车穿行 | 算法局限性导致漏检 | 影子模式数据采集+模型优化 |
3 | 未知不安全场景(低认知+低安全) | 暴雨天隧道内积水+后方车辆突然变道 | 场景不可预测性 | V2X车路协同+混合接管 |
4 | 未知安全场景(低认知+高安全) | 新型智能交通信号系统区域通行 | 场景探索成本高 | 仿真平台生成虚拟场景验证 |
- 区域3(核心矛盾点):对应文中“未知不安全场景”,强调通过V2X车路协同(如路侧单元实时传递积水信息)和混合增强智能(如人类驾驶经验注入算法)突破认知边界。
- 动态演进逻辑:通过“数据闭环”推动场景从区域3→2→1转化,体现安全体系的持续迭代性。
2. 标准化与工具链革新
- 新兴标准如ISO 26262:2023(第二版)强化了SOTIF与FuSa的协同要求
- 仿真测试平台(如ANSYS VRXPERIENCE)正集成“功能安全测试-场景生成-网络攻击模拟”的一体化解决方案
六、评估汽车安全系统的性能和效果
评估汽车安全系统的性能和效果需覆盖**功能安全(FuSa)、预期功能安全(SOTIF)、网络安全(Cybersecurity)**三大领域,结合行业标准、测试方法论和量化指标,形成全生命周期的验证体系。以下是具体评估框架与实施要点:
功能安全(FuSa)评估:基于ISO 26262的系统性验证
核心目标:验证电子电气系统是否满足故障预防与控制要求,确保ASIL等级合规。
1. 开发流程合规性
- 评估维度:
- 遵循ISO 26262的V模型开发流程,覆盖概念阶段、系统设计、硬件/软件开发、测试验证
- 安全计划、危害分析与风险评估(HARA)、安全需求规范的完整性
- 工具与方法:
- 审查文档:安全案例(Safety Case)、FMEA(失效模式与影响分析)、FTA(故障树分析)
- 示例:某车企对ESP系统进行FMEA,识别出12个潜在硬件失效点,通过冗余设计将单点故障概率降至10⁻⁷/h以下
2. 技术实现验证
- 硬件评估:
- 故障注入测试:通过HiL(硬件在环)平台模拟传感器故障、电源波动等场景,验证冗余切换逻辑
- 指标:硬件随机失效概率(PMHF)、安全机制覆盖率
- 软件评估:
- 代码静态分析:使用Coverity等工具检测代码缺陷(如缓冲区溢出、竞态条件)
- 动态测试:通过SiL(软件在环)验证安全功能响应时间(如紧急制动系统需在200ms内触发)
3. 量产一致性管控
- 生产线功能安全测试:对ECU进行100%在线诊断,确保硬件装配无缺陷
- 售后数据监控:通过OTA收集故障码,分析现场失效模式与开发阶段预测的吻合度
预期功能安全(SOTIF)评估:突破“已知边界”的场景化验证
核心目标:评估系统在预期功能范围内的安全性,识别性能局限与合理可预见的误用风险(ISO 21448)。
1. 场景库构建与风险分级
- 场景来源:
- 自然驾驶数据(NDS):通过路测采集“行人鬼探头”“施工路段绕行”等长尾场景
- 威胁分析(TARA):识别“驾驶员误触自动驾驶开关”“恶劣天气传感器失效”等误用场景
- 风险矩阵:
危害等级\发生概率 | 高(频繁出现) | 中(偶发) | 低(罕见) |
---|---|---|---|
高(威胁生命安全) | 高风险区 - 场景:行人鬼探头 - 应对:强制优先验证,需100%覆盖测试 | 中风险区 - 场景:施工路段绕行误判 - 应对:仿真测试+高精地图联动 | 低风险区 - 场景:高速路突发障碍物 - 应对:冗余传感器+紧急制动备份 |
中(重伤/财产损失) | 中风险区 - 场景:恶劣天气传感器失效 - 应对:多传感器融合校验 | 中风险区 - 场景:驾驶员误触自动驾驶开关 - 应对:防误触设计+接管提示优化 | 极低风险区 - 场景:非常规路口交通规则误判 - 应对:边缘场景数据标注 |
低(轻微影响) | 低风险区 - 场景:拥堵路段跟车距离过近 - 应对:算法阈值调整 | 低风险区 - 场景:阳光直射导致摄像头过曝 - 应对:动态白平衡算法优化 | 极低风险区 - 场景:罕见车型识别错误 - 应对:开放数据平台众包标注 |
按场景发生概率(横轴)与危害等级(纵轴)划分优先级
优先级排序:
- 高风险区(左上):如“行人鬼探头”(高概率+高危害),需通过10万次以上仿真测试+封闭场地实测验证避撞逻辑。
- 极低风险区(右下):如“野生动物闯入高速路”(低概率+高危害),可通过场景生成算法模拟验证,无需全量路测。
如需调整场景案例或量化概率区间(如定义“高概率”为≥1次/千公里),可提供具体数据标准进一步优化。
2. 多阶段测试体系
- 仿真测试:
- 使用CARLA、PreScan等平台生成百万级虚拟场景,验证算法鲁棒性
- 示例:对自动泊车系统模拟“车位线模糊+后方突然来车”场景,测试避撞逻辑
- 封闭场地测试:
- 构建极端物理场景(如暴雨天低光照、弯道积水),评估传感器融合精度
- 公开道路测试:
- 影子模式(Shadow Mode)采集真实场景数据,对比系统决策与人类驾驶的差异率
3. 量化评估指标
- 场景覆盖率:已验证场景数/总场景数(目标:≥95%已知风险场景)
- 误报率/漏报率:传感器或算法在复杂场景中的错误响应频率
- 接管成功率:驾驶员在系统提示后完成接管的时间与成功率
网络安全(Cybersecurity)评估:抵御动态攻击的攻防验证
核心目标:确保车载系统抵御外部恶意攻击,符合ISO/SAE 21434标准。
1. 攻击面分析
- 识别暴露点:车载网络接口(CAN/LIN/Ethernet)、通信协议(如DoIP、UDS)、外部连接(WiFi/蓝牙/OTA)
- 示例:通过渗透测试发现某车型OBD接口未加密,攻击者可通过USB设备注入CAN指令控制车门
2. 攻防测试方法论
- 白盒测试:
- 代码审计:检查加密算法实现漏洞(如弱密钥协商)
- 安全协议验证:分析V2X消息签名机制是否抗重放攻击
- 黑盒测试:
- 模糊测试(Fuzzing):向ECU发送随机畸形数据,检测缓冲区溢出漏洞
- 实战演练:模拟黑客通过车载WiFi接入娱乐系统,尝试横向渗透至底盘控制域
3. 持续监控与响应
- 车载入侵检测系统(IVS):实时监控总线异常流量(如非授权ECU通信)
- 漏洞管理流程(VDP):建立CVE漏洞库,定期更新安全补丁(如特斯拉季度OTA修复远程控制漏洞)
- 指标:平均漏洞修复时间(MTTR)、攻击成功概率(通过攻防演练量化)
跨领域协同评估:构建“三位一体”安全闭环
1. 集成测试场景
安全领域 | 测试用例 | 协同验证点 |
---|---|---|
FuSa+SOTIF | 传感器硬件失效+复杂场景(如雷达盲区行人横穿) | 冗余传感器能否弥补算法漏检 |
SOTIF+网络安全 | 伪造V2X消息诱导系统进入“已知不安全场景”(如虚假限速标志) | 通信加密能否防止场景误判 |
全领域 | 模拟“ECU硬件故障+黑客篡改传感器数据+未知施工场景”的多重风险叠加 | 安全机制是否触发多级防护(如冗余切换+入侵检测+接管提示) |
2. 数据驱动的持续优化
- 建立安全绩效指标(SPI)体系:
- 功能安全:硬件故障率、安全机制误触发率
- SOTIF:长尾场景发现速率、算法迭代前后的风险降低率
- 网络安全:漏洞修复及时率、零日漏洞(0-Day)检测时间
- 通过车云数据闭环,将路测中发现的新风险(如新型攻击手法、未覆盖场景)反馈至开发端,形成“评估-迭代-再评估”的正向循环
行业挑战与前沿技术
1. 长尾场景的评估瓶颈
- 解决方案:
- 基于生成式AI(如GPT-4)自动生成“低概率高风险”场景,扩展测试边界
- 联邦学习技术:在保护隐私的前提下,聚合多车企数据构建更全面的场景库
2. AI系统的安全评估
- 针对深度学习模型的不可解释性,引入**可解释AI(XAI)**技术:
- 通过注意力机制可视化,验证模型决策是否依赖关键特征(如行人位置、车辆速度)
- 对抗性鲁棒性评估:使用FGSM等攻击算法测试模型对微小扰动的容忍度
3. 标准化进展
- ISO 26262 Part 10(草案)拟新增AI系统安全评估指南,要求:
- 模型训练数据的多样性与代表性验证
- 部署后持续监控模型漂移(Drift)的机制
总结:从“合规验证”到“风险量化”的范式升级
汽车安全系统的评估已从“满足标准条款”转向“量化风险控制”,需建立**“开发阶段全流程验证+量产阶段持续监控+生态协同数据共享”的立体评估体系。未来,随着ISO 21448与ISO/SAE 21434的深度落地,安全评估将更依赖数据智能、仿真技术与跨行业协同**,最终实现从“被动防御”到“主动预测”的质变,为L4+自动驾驶的商业化铺就安全基石。
结语:安全是自动驾驶的基石
从Uber事故到特斯拉的影子模式(Shadow Mode),行业逐渐意识到:FuSa是安全的“底线”,SOTIF是安全的“弹性边界”,网络安全是安全的“防御盾牌”。随着ISO 21448与ISO/SAE 21434的落地,汽车安全正从“合规驱动”转向“风险量化驱动”。未来,唯有构建“动态迭代的安全体系+开放协同的生态”,才能在自动驾驶的“熵增”挑战中持续“减熵”,让安全成为技术落地的基石而非枷锁。
参考资料: https://www.laitimes.com/zh/article/1fi2k_1h8pr.html
相关文章:

汽车安全体系:FuSa、SOTIF、Cybersecurity 从理论到实战
汽车安全:功能安全(FuSa)、预期功能安全(SOTIF)与网络安全(Cybersecurity) 从理论到实战的安全体系 引言:自动驾驶浪潮下的安全挑战 随着自动驾驶技术从L2向L4快速演进,汽车安全正从“机械可靠…...

Excel-vlookup -多条件匹配,返回指定列处的值
前提:先了解vlookup 的简单使用, 参照:https://blog.csdn.net/yanweijie0317/article/details/144886106?spm1011.2124.3001.6209 要求:按照Sheet0的B列和I列,在Sheet1中查找H列。 函数: VLOOKUP(B509&a…...

Python异步爬虫与代理完美结合
为了编写一个高性能的异步爬虫,并使用代理IP,我们可以使用以下技术栈:aiohttp (用于异步HTTP请求)、asyncio (用于异步编程)、代理IP可以使用一个代理池,我们从文件中读取或者从API获…...
惠普HP Deskjet 9600 打印机信息
基本参数 产品定位:彩色喷墨打印机。打印速度:14 页 / 分钟。最高分辨率:48001200dpi。打印内存:8MB4。打印语言:HP PCL 3 增强型。打印负荷:每月 5000 页。接口类型:USB、并口。 功能特点 自动…...
Hive的Parquet格式优化方法
一、Parquet格式的特点与优势 1. 列式存储架构 核心特点:数据按列存储,同一列的数据连续存储在文件中,而非行式存储的“整行连续存储”。优势: 查询性能高:仅读取查询所需列的数据,减少I/O量(如SELECT name FROM table仅扫描name列)。压缩效率高:同一列数据类型一致,…...
ADI硬件笔试面试题型解析下
本专栏预计更新60期左右。当前第17期-ADI硬件. ADI其硬件工程师岗位的招聘流程通常包括笔试和多轮技术面试,考察领域涵盖模拟电路设计、数字电路、半导体器件和信号处理等。 本文通过分析平台上的信息,汇总了ADI硬件工程师的典型笔试和面试题型,并提供详细解析和备考建议,…...
服务器租用:高防CDN和加速CDN的区别
CDN全称为内容分发网络,其主要的作用原理能够加快网站的数据传输的速度,随着技术的快速发展,CDN也分为高防CDN和加速CDN两种不同的类型,本文将为大家介绍一下高防CDN和加速CDN两者之间的区别有哪些? 高防CDN能够有效抵…...

吃透 Golang 基础:数据结构之 Map
文章目录 Map概述初始化删除访问不存在的 key 返回 value 的零值遍历 mapmap 自身的零值map 索引时返回的第二个参数使用 map 实现 set Map Hash Map 是无序的 key/value 对集合,其中所有的 key 都是不同的。通过给定的 key 可以在常数时间复杂度内完成检索、更新或…...
ABP VNext 与 Neo4j:构建基于图数据库的高效关系查询
ABP VNext 与 Neo4j:构建基于图数据库的高效关系查询 🚀 在社交网络、权限图谱、推荐系统等应用场景中,关系链深度和复杂度远超传统关系型数据库的表达能力。本文基于 ABP VNext 框架,集成 Neo4j 图数据库,构建一套高…...
数论——同余问题全家桶3 __int128和同余方程组
数论——同余问题全家桶3 __int128和同余方程组 快速读写和__int128快速读写__int128 中国剩余定理和线性同余方程组中国剩余定理(CRT)中国剩余定理OJ示例模板题曹冲养猪 - 洛谷模板题猜数字 - 洛谷 扩展中国剩余定理扩展中国剩余定理OJ示例模板题扩展中国剩余定理(…...
leetcode47.全排列II:HashSet层去重与used数组枝去重的双重保障
一、题目深度解析与重复排列问题 题目描述 给定一个可能包含重复数字的数组nums,返回其所有不重复的全排列。解集不能包含重复的排列,且排列可以按任意顺序返回。例如: 输入:nums [1,1,2]输出:[[1,1,2],[1,2,1],[2…...

5.Nginx+Tomcat负载均衡群集
Tomcat服务器应用场景:tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。一般来说,Tomcat虽然和Apache或…...

React项目的状态管理:Redux Toolkit
目录 1、搭建环境 2、Redux Toolkit 包含了什么 3、使用示例 (1)创建user切片 (2)合并切片得到store (3)配置store和使用store 使用js来编写代码,方便理解一些 1、搭建环境 首先…...

跨界破局者鲁力:用思辨与创新重塑汽车流通行业标杆
来源:投资家 在汽车流通行业深度变革的浪潮中,东莞东风南方汽车销售服务有限公司塘厦分公司总经理鲁力历经近二十年行业深耕,构建了一条从汽车销售顾问到区域运营掌舵者的进阶范本。作为东风日产体系内兼具理论建构与实战穿透力的标杆管理者…...
Druid连接池实现自定义数据库密码加解密功能详解
Druid连接池实现自定义数据库密码加解密功能详解 在企业级应用开发中,数据库密码的明文存储是一个显著的安全隐患。Druid作为阿里巴巴开源的高性能数据库连接池组件,提供了灵活的密码加密与解密功能,允许开发者通过自定义逻辑实现数据库密码…...

OS11.【Linux】vim文本编辑器
目录 1.四种模式 命令模式 几个命令 插入模式 底行模式 一图展示三种模式之间的关系 2.分屏(多文件操作) 3.配置vim的原理 4.脚本一键配置vim CentOS 7 x86_64 其他发行版 5.NeoVim(推荐) vim文本编辑器是一个多模式的编辑器,因此先介绍它的四种模式 附vim的官网:…...

基于SFC的windows系统损坏修复程序
前言 在平时使用Windows操作系统时会遇到很多因为系统文件损坏而出现的错误 例如:系统应用无法打开 系统窗口(例如开始菜单)无法使用 电脑蓝屏或者卡死 是如果想要修复很多人只能想到重装系统。但其实Windows有一个内置的系统文件检查器可以修复此类错误。 原理 SFC命令…...
强化学习基础概念图文版笔记
📘 强化学习基础概念图文版笔记 1️⃣ 基本框架:Agent 与 Environment 🧠 核心角色: Agent(智能体):做出决策的“大脑”,根据当前状态选择动作。Environment(环境&…...
k8s下离线搭建elasticsearch
前提 已经完成k8s安装 已经完成相关组件如helm的安装 下载es的chart包 如下地址 https://helm.elastic.co/helm/elasticsearch/elasticsearch-版本号.tgz 如6.8.10 https://helm.elastic.co/helm/elasticsearch/elasticsearch-6.8.10.tgz 修改配置 修改value.yaml文件…...

WAF绕过,网络层面后门分析,Windows/linux/数据库提权实验
一、WAF绕过文件上传漏洞 win7:10.0.0.168 思路:要想要绕过WAF,第一步是要根据上传的内容找出来被拦截的原因。对于文件上传有三个可以考虑的点:文件后缀名,文件内容,文件类型。 第二步是根据找出来的拦截原…...
Oracle杀进程注意事项
文章目录 一、哪些后台进程杀死会导致数据库重启二、杀死哪些后台进程会导致数据库关闭三、杀死哪些后台进程对数据库没有影响 一、哪些后台进程杀死会导致数据库重启 CKPT:检查点进程,checkpoint 检查点,检查点事件的责任是:标志…...

Vue 3 弹出式计算器组件(源码 + 教程)
🧮 Vue 3 弹出式计算器组件(源码 教程) 📌 建议收藏 点赞 关注,本组件支持加减乘除、双向绑定、计算过程展示,适用于表单辅助输入场景。 🔧 一、完整源码(复制即用) …...

监测预警系统重塑隧道安全新范式
在崇山峻岭的脉络间延伸的隧道,曾是交通安全的薄弱环节。智慧隧道监测预警系统的诞生,正在彻底改变这种被动防御格局,通过数字神经网络的构建,为地下交通动脉注入智能守护基因。 一、安全防控体系的质变升级 1.风险感知维度革命…...
solidity中sar和>>的区别
sar和>>都是右移操作,其区别简而言之前者保留符号位,后者不保留。要解释清楚这个问题,需要从有符号数和无符号数讲起: 有符号数和无符号数 打个比方int8和uint8 uint8(无符号 8 位整数) 取值范围:…...
ESP32与STM32
ESP32与STM32深度对比:物联网与嵌入式开发的王者之争 一、核心架构对比 1.1 ESP32 - 无线物联网霸主 // 典型双核架构配置 #include "freertos/FreeRTOS.h" #include "freertos/task.h"void app_main() {// 核心0执行无线通信任务xTaskCreat…...
vue在打包的时候能不能固定assets里的js和css文件名称
在 Vue 项目中(特别是使用 Vue CLI 构建的项目),打包时生成的 assets 目录下的 .js 和 .css 文件默认会带有哈希值(如 app.123abc.js),这是为了缓存优化。但你可以配置固定名称,方法如下&#x…...
用设计模式重新思考(类FSM)验证:从混乱到优雅
在数字设计的世界里,Finite-State Machine(FSM)就像一个城市的交通信号系统。每个状态都有自己的规则,每个转换都需要精确的条件。而对于验证工程师来说,如何优雅地验证这些状态机,一直是个让人头疼的问题。…...

技巧小结:外部总线访问FPGA寄存器
概述 需求:stm32的fsmc总线挂载fpga,stm32需要访问fpga内部寄存器 1、分散加载文件将变量存放到指定地址即FPGA寄存器地址 sct文件指定变量存储地址,从而可以直接访问外设,(28335也可以,不过用的是cmd文件…...
Qt客户端技巧 -- 窗口美化 -- 圆角窗口
不解析,直接给代码例子 利用窗口重绘事件处理函数paintEvent main.cpp #include <QtCore/qglobal.h> #if QT_VERSION > 0x050000 #include <QtWidgets/QApplication> #else #include <QtGui/QApplication> #endif#include "roundedwin…...
Go语言爬虫系列教程5:HTML解析技术以及第三方库选择
Go语言爬虫系列教程5:HTML解析技术以及第三方库选择 在上一章中,我们使用正则表达式提取网页内容,但这种方法有局限性。对于复杂的HTML结构,我们需要使用专门的HTML解析库。在这一章中,我们将介绍HTML解析技术以及如何…...