嵌入式软件项目开发_第1页
嵌入式软件项目开发_第2页
嵌入式软件项目开发_第3页
嵌入式软件项目开发_第4页
嵌入式软件项目开发_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XXXX软件设计文档模块:XXXX模块版本:V1.0编者:XX时间:XX年XX月XX日本模板仅针对嵌入式软件组,编写时请删除此行)修订记录版本号制定/修改人时间修订内容V1.0XXXXX新建文档V1.1XXXXX【要求】修订内容直接对应章节及功能需求,如修改功能1,对应4.1节目录TOC\o"1-5"\h\z一、引言 41.1编写目的 41.2预期读者和阅读建议 41.3术语定义 4参考资料 4\o"CurrentDocument"二、 FPGA功能需求概述 5\o"CurrentDocument"三、 XXXX软件系统介绍 6系统外部接口框图 6\o"CurrentDocument"3.1.1EEPROM通信接口说明 6\o"CurrentDocument"W5300通信接口说明 6FPGA软件系统模块 63・3XXX系统通信链路框图 7\o"CurrentDocument"四、 系统子模块代码实现说明 84.1远程更新模块 8\o"CurrentDocument"4.1.1spi_control模块 9spi_driver模块 错误!未定义书签。remote_data_rx模块 错误!未定义书签。\o"CurrentDocument"icape2_ctrl模块 10远程更新保护设计 11\o"CurrentDocument"五、 测试须知 12\o"CurrentDocument"六、软件非功能需求总结 13软件性能瓶颈总结 13性能可提升性总结 13失效性分析 14引言引言1.1编写目的基于当前风机叶片在极限情况下,可能会打到风机塔筒的情况,设计净空雷达,测量并上报当前实时的净空数据,风机主机可以根据上报净空数据来判断风机运转情况并作出相应的决策。1.2预期读者和阅读建议预期参考人员包括测试人员、开发人员、项目管理人员、研发部门经理和需要阅读本报告的高层经理。1.3术语定义词汇详细描述FPGA现场可编程逻辑门阵列1.4参考资料XXXX任务书XXXX需求分析XXXX通信协议【如涉及需求变更,需要在功能变更后在功能后面加上变更日期,如:DA第四通道输出电压分4段区间线性变化功能,变更日期:2020年11月20日】2.1FPGA功能需求概述单片TDC初始化配置及实现4个stop信号测量功能;TDC测量距离校正功能;TDC内部测量时间自动换算为测量距离;TDC距离预处理开关,控制是否打开预处理去除无效数据;实现2片TDC共使用三通道测量距离功能,其中一片TDC需要实现单片TDC时分复用,实现3通道串行初始化配置,及串行测量距离时序控制;实现FPGA与stm32串口通信功能;网口参数下发、FPGA状态及参数由网口定时上传、FPGA原始数据包(包括所有4个stop的测量距离、3路AD采集数据、当前算法最终输出的3路净空数据;以1ms周期上传);其中FPGA原始数据包由上位机参数下发中定义固定通信协议帧来控制FPGA是否需要上传原始数据包。2.2FPGA性能需求概述1.与单片机之间串口通信频率为50Hz;2•网口能够以1Hz频率输出FFT数据及原始数据;3.热敏电阻值读取速率能够达到1KHz;三、XXXX软件系统介绍系统外部接口框图【要求】本节需要说明本软件系统出核心处理器所涉及的外设名称、型号,及此外设使用目的说明;【示例】此系统外部设备包含一个EEPROM,型号为XXXXX,此外设主要解决系统参数存储功能,设备上电后读取EEPROM中的参数并解析。板卡外部通信框图如图1:图1系统硬件通信接口图EEPROM通信接口说明【要求】说明接口使用的协议及涉及的通信对象W5300通信接口说明【要求】说明接口使用的协议及涉及的通信对象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约束文件参考设置。riag«的内虽这些配餐歪姜在主励old約bitfi勺时勵喲朿常叙0下:afiE._propo!ft^EI!l£^KEJiM..SE^EPAL.C>DMP:RE£2<!HUE[>urron^daaign] //可选的.压堀疝set_prcji?rt^EIISIHEBK.CCTTIG.COTTIijrALLBACF.EWM1E[匚口rrei:t_de=:ign] 和厘(总回浜联I鶴aet_pi:ope!LtyBriSIKES2rr„CONFId. 32'hDOS0^00D[curEent_M±ign|//u.pdzi-eimage&:!mS^DffiupdateImage出费时■又要能舉返U列3恫即Imfi-geE,逵需要在生成叩禹teInwge时潘加如下鲨]車・setjpropertyELIBI£EA£4uGEKEHAZi.C^DHFREESIKUE[curTenz_design]sec_jfropertii,BII5TJP.EM,C&N?IG,CONTIGFALLBACF;ENAS1E[curraiiT;_de3ian]当前根据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。内部主要包含一个状态机来完成整个更新过程的控制。状态机运行逻辑如下图所示。

单次擦除完成厂IDLEJrL FWR_CMD1单次擦除完成厂IDLEJrL FWR_CMD11h-. JERASECTRL—WRCMD2-WAITDONE11rL F>ROGRAPsr[WRASE_ONCEr(B_CMD)】 J4.1.4icape2_ctrl模块此模块功能是在远程更新完成后,通过给ICAPE2原语发送指定命令来控制FPGA自动重新加载工作。命令详细参考如下:Table7-1:ExampleBitstreamfarIPROGthroughICAPE2ConllgurationData(hex)^1)ExplanationFFFFFFFFDummyWordAA995566SyncWord20000000Type1NOOP30020001Type1Write1WordstoWBSTAR00000000WiinTLBo(itStartAddress(LoadtheDistredAddress)30008001Type1Write1WordstnCMDDOOOOOOz'IPROGConunand20000000Type1NOOF需要注意的是1•原语中涉及DEVICE_ID,参考原语给的是仿真用的参考ID,并不是实际使用过程中的DEVICE」D;DEVICE_ID可以通过impact中检测芯片后,可以右击空白处选项内可直接获取DEVICE_ID。2•写入的命令需要改变每个字节的bit顺序;详细参考如下:4.1.5远程更新保护设计XXXXXX五、测试须知【要求】本章节主要针对测试人员进行测试用例编写,针对系统功能编写测试方向说明(通信、边缘测试、单模测试);并针对某些特殊测试进行特殊说明;说明覆盖面需求覆盖到每一条具体功能需求。测试人员编写测试用例主要参考软件功能需求及本章特殊测试说明。六、软件非功能需求总结软件性能瓶颈总结【示例】以3D性能评估及总结为例参数以200MHz时钟作为系统时钟,每次FFT耗时1024个系统时钟周期,假设FFT可以不间断的进行工作。1024*200MHz>Sus即每次计算需要至少脉冲频率:LOKHe(1/1OKHz)/5us=20即每次脉冲周期内最多计算2嗽总门数moo300/20=15300/15=20即门的数量保守估计至少需要20个。加上DDR读写耗时可能需要以和个门计算300/30=10叩毎个门只需耍计算[0次FFT10次FFT耗时6*10=60us每次脉冲周期型余下30阴左右的时间处理别的计算°性能可提升性总结【示例】以B300海上版雷达初版FPGA设计文档总结为例鬥前24牛门.MA8次FFT传输消耗宦源如下匚*VtLlLElti»lSWiVVSljetLdEi«UtilliK«i:i«DdAiftIttkHeriIB-14]■■■AM^btrof51i»UJTs劇Mflaim叽| 肘 s?>rcfeba:-dEE/rEd&Eli'Mroj&ILi.4ITB90IijsWt北BlFG-mnTTllt3Z43Bihrb斫/lEF^Ilx&7T从当前占用资源吃例来S-JihBlnckRAM资源最为紧张,I片用36KElockBLAM232个,占用]ffKEkckRAM曲417艾,合算占用36KBloclJLAM440.5">;l_i达到总卅445■ 1 w^^wv^wwwww^ww"个[忙99%以二想要血接以复制的刀式扩展林离JU感量是eJi壷的=■如要进疔1邂扩展.则需要考虑频譜计鄴模块的番源复用『节省出FTT所占用的RiskRAM資源*以目前3臨的融爱重频•和目前2048点的FFT来右.复川决数最哆为3窝也就是一亍频谱计算模块可以负靑3个距离门的缎据处理;在审频丕銮得情况下,如此设计就;需要像dD—样.在加窗模块Z前加一层缓存原始数据的FIFO;并目累加1后的FIFO深度也需要同样増加.屮6.3失效性分析示例】信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论