硬件开发文档规范

本文出发点:

一般来说,越是大公司越注重开发文档的规范性,因为这样最大的好处是能够保证开发的连贯性,也就是即使有员工离职了,只要开发文档是齐全的,新员工入职后,就能够很快接手工作,而不会对项目开发有较大的损失。
而对于工程师来说,熟练的硬件开发文档的写作能力是必须的,电路要设计好,文档也要及时补全。甚至,对个人来说,还可以进行总结,我个人就是从2010年开始,就有每天写工作日志的习惯。这样可以让技术有一个记录。另外,也会按照领域和项目的细分进行笔记的整理,将开发中遇到的各种问题进行分类整理,并详细记录,时而温故知新,因此技术能力得到了不断地增强,积累了经验,工作时间越长,也就更加得心应手了。

在这里插入图片描述

1. 硬件开发文档规范文件介绍

为规范硬件开发过程中文档的编写,明确文档的格式和内容,规定硬件开发过程中所需文档清单。开发人员在写文档时往往会漏掉一些该写的内容,因此编制规范在开发人员写文档时也有一定的提示作用。规范中共列出以下文档的规范:
a 硬件需求说明书
b 硬件总体设计报告
c 单板总体设计方案
d 单板硬件详细设计
e 单板软件详细设计
f 单板硬件过程调试文档
g 单板软件过程调试文档
h 单板系统联调报告
i 单板硬件测试文档
j 单板软件归档详细文档
k 单板软件归档详细文档
l 硬件总体方案归档详细文档
m 硬件单板总体方案归档详细文档
当然,这是大公司一般的文档数量和规范,基本都是差不太多的内容,可能名字略有差异。但是小公司,可能会更加简化,但基本的文档都是一致的。

2. 对硬件开发文档编制规范进行详解

1、硬件需求说明书
硬件需求说明书是描写硬件开发目标,基本功能、基本配置,主要性能指标、 运行环境,约束条件以及开发经费和进度等要求,它的要求依据是产品规格说明书和系统需求说明书。它是硬件总体设计和制订硬件开发计划的依据,
具体编写的内容有:硬件整体系统的基本功能和主要性能指标、硬件分系统的基本功能和主要性能指标以及功能模块的划分等。

2、硬件总体设计报告
硬件总体设计报告是根据需求说明书的要求进行总体设计后出的报告,它是硬件详细设计的依据。编写硬件总体设计报告应包含以下内容:
系统总体结构及功能划分,系统逻辑框图、组成系统各功能模块的逻辑框图,电路结构图及单板组成,单板逻辑框图和电路结构图,以及可靠性、安全性、电磁兼容性讨论和硬件测试方案等。
在这里插入图片描述

3、单板总体设计方案
在单板的总体设计方案定下来之后应出这份文档,单板总体设计方案应包含单板版本号,单板在整机中的位置、开发目的及主要功能,单板功能描述、单板逻辑框图及各功能模块说明,单板软件功能描述及功能模块划分、接口简单定义与相关板的关系,主要性能指标、功耗和采用标准。

4、单板硬件详细设计
在单板硬件进入到详细设计阶段,应提交单板硬件详细设计报告。在单板硬件详细设计中应着重体现:单板逻辑框图及各功能模块详细说明,各功能模块实现方式、地址分配、控制方式、接口方式、存贮器空间、中断方式、接口管脚信号详细定义、时序说明、性能指标、指示灯说明、外接线定义、可编程器件图、功能模块说明、原理图、详细物料清单以及单板测试、调试计划。有时候一块单板的硬件和软件分别由两个开发人员开发,因此这时候单板硬件详细设计便为软件设计者提供了一个详细的指导,因此单板硬件详细设计报告至关重要。尤其是地址分配、控制方式、接口方式、中断方式是编制单板软件的基础,一定要详细写出。以方便其他部门同事进行开发。

5、单板软件详细设计
在单板软件设计完成后应相应完成单板软件详细设计报告,在报告中应列出完成单板软件的编程语言,编译器的调试环境,硬件描述与功能要求及数据结构等。要特别强调的是:要详细列出详细的设计细节,其中包括中断、主程序、子程序的功能、入口参数、出口参数、局部变量、函数调用和流程图。在有关通讯协议的描述中,应说明物理层,链路层通讯协议和高层通讯协议由哪些文档定义。这部分主要有软件同事完成,但一般而言,硬件同事会给一些辅助,并且提供详细的接口开发文档。

6、单板硬件过程调试文档
开发过程中,每次所投 PCB 板,工程师应提交一份过程文档,以便管理阶层了解进度,进行考评,另外也给其他相关工程师留下一份有参考价值的技术文档。每次所投 PCB 板时应制作此文档。这份文档应包括以下内容:单板硬件功能模块划分,单板硬件各模块调试进度,调试中出现的问题及解决方法,原始数据记录、系统方案修改说明、单板方案修改说明、器件改换说明、原理图、PCB 修改说明、可编程器件修改说明、调试工作阶段总结、调试进展说明、下阶段调试计划以及测试方案的修改。

7、单板软件过程调试文档
一般是项目调试结束,收集单板软件过程调试文档,要求尽可能清楚,完整列出软件调试修改过程。单板软件过程调试文档应当包括以下内容:单板软件功能模块划分及各功能模块调试进度、单板软件调试出现问题及解决、下阶段的调试计划、测试方案修改。
在这里插入图片描述

8、单板系统联调报告
在项目进入单板系统联调阶段,应出单板系统联调报告。单板系统联调报告包括这些内容:系统功能模块划分、系统功能模块调试进展、系统接口信号的测试原始记录及分析、系统联调中出现问题及解决、调试技巧集锦、整机性能评估等。

9、单板硬件测试文档
在单板调试完之后,申请内部验收之前,应先进行自测以确保每个功能都能实现,每项指标都能满足。自测完毕应出单板硬件测试文档,单板硬件测试文档包括以下内容:单板功能模块划分、各功能模块设计输入输出信号及性能参数、各功能模块测试点确定、各测试参考点实测原始记录及分析、板内高速信号线测试原始记录及分析、系统 I/O 口信号线测试原始记录及分析,整板性能测试结果分析。
其实,说到最后一步,整个项目就基本完成了,如果没有大的bug, 基本就可以开始量产了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/589617.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux驱动学习:从Linux主机nfs共享文件到uboot

第一步:在Linux主机上开启NFS服务,使用如下命令安装NFS服务: sudo apt-get install nfs-kernel-server rpcbind 第二步:创建一个文件夹用于共享,直接以nfs命名就行: 第三步:打开nfs服务配置文…

arm裸机(1)、点灯|按键

芯片是S3C2440 首先看原理图&#xff0c;led_1234分别对应引脚GPB 5678 设置引脚为输出 向寄存器相应位写入 #define GPBCON (*(volatile unsigned long *)0x56000010) //p5 6 7 8 void led_init(void) {GPBCON & ~(0x3 << 10);GPBCON | (0x1 <<…

LeetCode-19. 删除链表的倒数第 N 个结点【链表 双指针】

LeetCode-19. 删除链表的倒数第 N 个结点【链表 双指针】 题目描述&#xff1a;解题思路一&#xff1a;双指针解题思路二&#xff1a;优化解题思路三&#xff1a;0 题目描述&#xff1a; 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。…

MTU/TCPMSS/VLAN/ACCESS/TRUNK/HYBRID

MTU RFC标准定义以太网的默认MTU值为1500 最小64字节是为了保证最极端的冲突能被检测到&#xff0c;64字节是能被检测到的最小值&#xff1b;最大不超过1518字节是为了防止过长的帧传输时间过长而占用共享链路太长时间导致其他业务阻塞。所以规定以太网帧大小为64~1518字节&am…

构建第一个JS应用(FA模型)

创建JS工程 若首次打开DevEco Studio&#xff0c;请点击Create Project创建工程。如果已经打开了一个工程&#xff0c;请在菜单栏选择File > New > Create Project来创建一个新工程。选择Application应用开发&#xff08;本文以应用开发为例&#xff0c;Atomic Service对…

Sy6 编辑器vi的应用(+shell脚本3例子)

实验环境&#xff1a; 宿主机为win11&#xff0c;网络&#xff1a;10.255.50.5 6389 WSL2 ubuntu 目标机的OS&#xff1a;Ubuntu 内核、版本如下&#xff1a; linuxpeggy0223:/$ uname -r 5.15.146.1-microsoft-standard-WSL2 linuxpeggy0223:/$ cat /proc/version Linux vers…

基于SSM的网络视频播放器

目录 背景 技术简介 系统简介 界面预览 背景 互联网的迅猛发展彻底转变了全球各类组织的管理策略。自20世纪90年代起&#xff0c;中国政府和企业便开始探索利用网络系统进行信息管理。然而&#xff0c;早期的网络覆盖不广泛、用户接受度不高、相关法律法规不完善以及技术开…

交流电压的峰峰值,有效值,均方根值,平均值,最大值,最小值和幅值

小鱼电路设计基础课程请点击--从零开始硬件电路设计元器件篇https://edu.csdn.net/course/detail/39260 常见的交流电压参数包括峰峰值&#xff0c;有效值&#xff0c;均方根值&#xff0c;平均值&#xff0c;最大值&#xff0c;最小值和幅值 今天以正负对称的正弦波电压和方…

C语言杂谈

努力扩大自己&#xff0c;以靠近&#xff0c;以触及自身以外的世界 文章目录 什么是定义&#xff1f;什么是声明&#xff1f;什么是赋值&#xff1f;什么是初始化&#xff1f;什么是生命周期&#xff1f;什么是作用域&#xff1f;全局变量&#xff1f;局部变量&#xff1f;size…

【C++进阶】AVL树(来自二叉搜索树的复仇)

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;c大冒险 总有光环在陨落&#xff0c;总有新星在闪烁 引言&#xff1a; 之前我们学…

从0配置React

在本地安装和配置React项目&#xff0c;您可以使用create-react-app这个官方推荐的脚手架工具。以下是安装React的步骤&#xff0c;包括安装Node.js、使用create-react-app创建React应用&#xff0c;以及启动开发服务器。 下载安装node.js运行以下命令&#xff0c;验证Node.js…

字符分类函数

字符分类函数 C语言中有⼀系列的函数是专门做字符分类的&#xff0c;也就是⼀个字符是属于什么类型的字符的。这些函数的使用都需要包含⼀个头文件是 ctype.h 这些函数的使用方法非常类似&#xff0c;我们就讲解⼀个函数的事情&#xff0c;其他的非常类似&#xff1a; int i…