嵌入式软件项目开发软件详细设计模板.docx
- 文档编号:6742310
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:9
- 大小:382.64KB
嵌入式软件项目开发软件详细设计模板.docx
《嵌入式软件项目开发软件详细设计模板.docx》由会员分享,可在线阅读,更多相关《嵌入式软件项目开发软件详细设计模板.docx(9页珍藏版)》请在冰豆网上搜索。
嵌入式软件项目开发软件详细设计模板
XXXX软件设计文档
模块:
XXXX模块
版本:
V1.0
编者:
XX
时间:
XX年XX月XX日
(本模板仅针对嵌入式软件组,编写时请删除此行)
修订记录
版本号
制定/修改人
时间
修订内容
V1.0
XX
XXX
新建文档
V1.1
xx
XXX
【要求】修订内容直接对应章节及功能需求,如修改功能1,对应4.1节
一、引言
1.1编写目的
基于当前风机叶片在极限情况下,可能会打到风机塔筒的情况,设计净空雷达,测量并上报当前实时的净空数据,风机主机可以根据上报净空数据来判断风机运转情况并作出相应的决策。
1.2预期读者和阅读建议
预期参考人员包括测试人员、开发人员、项目管理人员、研发部门经理和需要阅读本报告的高层经理。
1.3术语定义
词汇
详细描述
FPGA
现场可编程逻辑门阵列
1.4参考资料
XXXX任务书
XXXX需求分析
XXXX通信协议
二、需求概述
【如涉及需求变更,需要在功能变更后在功能后面加上变更日期,如:
1.DA第四通道输出电压分4段区间线性变化功能,变更日期:
2020年11月20日】
2.1FPGA功能需求概述
1.单片TDC初始化配置及实现4个stop信号测量功能;
2.TDC测量距离校正功能;
3.TDC内部测量时间自动换算为测量距离;
4.TDC距离预处理开关,控制是否打开预处理去除无效数据;
5.实现2片TDC共使用三通道测量距离功能,其中一片TDC需要实现单片TDC时分复用,实现3通道串行初始化配置,及串行测量距离时序控制;
6.实现FPGA与stm32串口通信功能;
7.网口参数下发、FPGA状态及参数由网口定时上传、FPGA原始数据包(包括所有4个stop的测量距离、3路AD采集数据、当前算法最终输出的3路净空数据;以1ms周期上传);其中FPGA原始数据包由上位机参数下发中定义固定通信协议帧来控制FPGA是否需要上传原始数据包。
2.2FPGA性能需求概述
1.与单片机之间串口通信频率为50Hz;
2.网口能够以1Hz频率输出FFT数据及原始数据;
3.热敏电阻值读取速率能够达到1KHz;
三、XXXX软件系统介绍
3.1系统外部接口框图
【要求】本节需要说明本软件系统出核心处理器所涉及的外设名称、型号,及此外设使用目的说明;
【示例】此系统外部设备包含一个EEPROM,型号为XXXXX,此外设主要解决系统参数存储功能,设备上电后读取EEPROM中的参数并解析。
板卡外部通信框图如图1:
图1系统硬件通信接口图
3.1.1EEPROM通信接口说明
【要求】说明接口使用的协议及涉及的通信对象
3.1.2W5300通信接口说明
【要求】说明接口使用的协议及涉及的通信对象
3.2FPGA软件系统模块
【要求】本节需要说明本软件系统针对《XXXX需求分析》中,所涉及的功能需求,所进行的模块设计。
【示例】
1.根据XXX需求设计XXXX模块;
2.根据XXX需求设计XXXX模块;
图2XXXX系统子模块连接框图
3.3XXX系统通信链路框图
【要求】本节需要描述本软件系统中主体通信链路(数据流),简述系统正常工作与初始化配置时的一些数据通信流程;
【示例】网口通信只要包括:
配置参数下发、远程更新数据下发、原始数据包上传、系统工作状态包上传、远程更新状态上传。
网口通信硬件采用W5300芯片,芯片上集成TCP与UDP通信协议。
用户只需要在嵌入式端根据w5300手册,根据需求进行寄存器配置后,即可完成与IPC网口连接,进而根据w5300数据收发机制完成数据通信。
此工程中FPGA工程内部网口数据通信模块数据链路如图3所示。
图3网口数据通信模块数据链路
FPGA系统工程中,网口驱动模块为w5300_top,完成与工控机之间的数据收发。
其他具体模块功能说明参见第四章。
四、系统子模块代码实现说明
4.1远程更新模块
【要求】本章主要是用于研发内部查看、需要根据设计进行详细逻辑说明,说明模式包括功能说明、性能评估、输入输出、流程框图、接口说明、文字说明。
【示例】远程更新模块共包含3个模块分别为:
spi_top、remote_data_rx和icape2_ctrl模块。
远程更新原理参考xilinx官方文档xapp1247-multiboot-spi和ug470_7Series_Config;
为了保证远程更新过程中程序中断或者设备断电导致设备成砖,参考xilinx官方提供的multiboot功能。
分别准备golden和update两个烧写文件。
简而言之,就是你的.mcs文件里包含有两个或更多的下载文件,然后地址0的位置开始存放一个可用的下载文件(多数是升级前那个旧的文件),后面的地址(ADDR_1)存放你将要更新的文件。
当下载时,FPGA会先从ADDR_1读取更新的文件,若这个过程发生错误的话就会回到地址0,读取之前的文件,确保设备仍能正常工作。
途中fallback和Jumptoupdateregion功能都能软件编译bit文件配置选项可选配置。
当前工程编译软件为ISE,网上给出vivado版本XDC约束文件参考设置。
当前根据XDC参考设置在ISE的generateprogrammingfile设定项中进行对应设置后即可实现。
远程更新总体实现功能需求总结后可分3个步骤进行:
1、将远程更新文件正确(需要校验)写入falsh对应位置;
2、完成更新文件写入后,利用IPROG命令重新加载FPGA;
3、生成goldenimage和updateimage,组合烧写进flash。
4.1.1spi_control模块
spi_control模块主要负责flash文件更新的控制命令产生,根据当前更新进度生成cmd、addr、和program_over等信号,并根据当前状态产生跟新状态寄存器update_sts上报IPC。
内部主要包含一个状态机来完成整个更新过程的控制。
状态机运行逻辑如下图所示。
4.1.4icape2_ctrl模块
此模块功能是在远程更新完成后,通过给ICAPE2原语发送指定命令来控制FPGA自动重新加载工作。
命令详细参考如下:
需要注意的是1.原语中涉及DEVICE_ID,参考原语给的是仿真用的参考ID,并不是实际使用过程中的DEVICE_ID;DEVICE_ID可以通过impact中检测芯片后,可以右击空白处选项内可直接获取DEVICE_ID。
2.写入的命令需要改变每个字节的bit顺序;详细参考如下:
4.1.5远程更新保护设计
XXXXXX
五、测试须知
【要求】本章节主要针对测试人员进行测试用例编写,针对系统功能编写测试方向说明(通信、边缘测试、单模测试);并针对某些特殊测试进行特殊说明;说明覆盖面需求覆盖到每一条具体功能需求。
测试人员编写测试用例主要参考软件功能需求及本章特殊测试说明。
六、软件非功能需求总结
6.1软件性能瓶颈总结
【示例】以3D性能评估及总结为例
6.2性能可提升性总结
【示例】以B300海上版雷达初版FPGA设计文档总结为例
6.3失效性分析
【示例】
信号
判断结果
判断条件
采取行动
网口信号
Socket断开
11毫秒没有收到W5300Socket连接上标志。
(实际情况可能是由于没有在规定时间内收到TCPACK回包导致,可以根据实际情况调节规定时间改善。
)
给PSoC的包内容清零。
在通信协议中体现网口状态。
发不出去的数据内容在FPGA内部丢弃。
Socket没连接
W5300状态表示Socket在监听状态,没有实际连接上
同上
AD信号
断开
没有特殊判断,AD信号断开可能没有AD时钟
网络无数据,只报给PSOC状态
饱和
AD信号超过8000则判断为饱和,即接近满量程则判断为饱和
发送饱和计数,正常输出所有信号
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 软件 项目 开发软件 详细 设计 模板
![提示](https://static.bdocx.com/images/bang_tan.gif)