4、术语与缩写表:建立统一的术语表,避免沟通歧义

做嵌入式开发这么多年,我踩过最大的坑,往往不是技术本身,而是沟通。

有一次,客户说“这个信号要拉高”。我理解的是GPIO输出高电平,结果他指的是内部上拉电阻使能。就这一个词,折腾了两天。你说冤不冤?

所以,术语表不是文档的装饰品,它是团队的“共同语言”。今天我就跟你聊聊,怎么建好这个表。

4.1 为什么术语表这么重要?

说白了,汽车ECU开发涉及的角色太多了。硬件工程师、软件工程师、测试工程师、系统工程师、项目经理……每个人对同一个词的理解可能都不一样。

举个例子,“复位”这个词:

  • 硬件工程师:电源掉电再上电
  • 软件工程师:看门狗超时触发的中断
  • 测试工程师:手动按复位按钮

你看,同一个词,三种理解。项目不出问题才怪。

我个人习惯,在项目启动的第一周,就把术语表定下来。哪怕后面再补充,也比没有强。

4.2 术语表应该包含哪些内容?

一个合格的术语表,至少要有四列:

列名 说明 示例
术语 英文缩写或全称 ECU
全称 英文全称,必要时加中文 Electronic Control Unit
定义 一句话说清楚是什么 电子控制单元,负责执行控制逻辑的嵌入式系统
备注 使用场景、注意事项 在本文档中特指动力域ECU

嗯,这里要注意:定义一定要“一句话说清楚”。别写长篇大论,没人看。

4.3 常见术语举例

我整理了一份汽车ECU开发中最常见的术语表,你可以直接拿来用:

术语 全称 定义
ECU Electronic Control Unit 电子控制单元,汽车上的嵌入式计算机
MCU Microcontroller Unit 微控制器,ECU的核心处理器
CAN Controller Area Network 控制器局域网,汽车常用总线协议
LIN Local Interconnect Network 本地互联网络,低成本低速总线
OSEK Offene Systeme und deren Schnittstellen für die Elektronik in Kraftfahrzeugen 汽车电子开放式系统接口标准
AUTOSAR AUTomotive Open System ARchitecture 汽车开放系统架构,全球标准化软件平台
SWC Software Component 软件组件,AUTOSAR中的基本功能单元
RTE Runtime Environment 运行时环境,连接SWC与BSW的中间层
BSW Basic Software 基础软件层,提供底层服务
NVM Non-Volatile Memory 非易失性存储器,掉电不丢失数据
我的小技巧: 把这份表放在文档的第二章,或者附录里。每次开会前,先花30秒扫一眼。你会发现,争论少了很多。

4.4 如何维护术语表?

术语表不是写一次就完事了。项目进行中,新术语会不断冒出来。

我曾经遇到过一个项目,中期评审时发现“DTC”这个词,硬件组和软件组的理解完全相反。硬件组认为是“诊断故障码”,软件组以为是“数据传输控制”。

从那以后,我定了个规矩:

  1. 每周更新一次:周五下午,花10分钟过一遍新增术语
  2. 谁提出谁负责:发现新术语的人,负责填写定义
  3. 必须评审:定义写好后,至少让另一个角色的人看一眼
  4. 版本控制:每次更新都要记录版本号和修改人
注意: 千万别让一个人闭门造车写术语表。我见过最离谱的,是项目经理自己写了50个术语,结果团队里没人看得懂。术语表是大家的,不是某个人的。

4.5 避坑指南

做术语表这么多年,我总结了几条血泪教训:

  • 别用太长的定义:超过30个字,基本没人会读完
  • 别用术语解释术语:比如“SWC是AUTOSAR中的组件”,那AUTOSAR又是什么?
  • 别忽略中文:虽然代码里全是英文,但团队沟通时,中文更高效
  • 别放在文档最后:放在前面,大家才会看

你想想看,如果连“ECU”和“MCU”都分不清,后面的架构设计还怎么聊?

4.6 一个实用的模板

最后,我给你一个可以直接用的模板。我在好几个项目里都用过,效果不错:

# 术语与缩写表

| 术语 | 全称 | 定义 | 备注 |
|------|------|------|------|
| ECU  | Electronic Control Unit | 电子控制单元 | 本文档特指动力域ECU |
| MCU  | Microcontroller Unit | 微控制器 | 采用Infineon TC3xx系列 |
| CAN  | Controller Area Network | 控制器局域网 | 速率500kbps |
| ...  | ... | ... | ... |

更新记录:
- v1.0 2024-01-10 初始版本
- v1.1 2024-01-17 新增DTC、NVM

嗯,就这些。记住一句话:术语表越简单,团队沟通越顺畅。

下一章,我会聊聊架构设计文档的“分层原则”。到时候见。