您的当前位置:首页基于串行总线和FPGA的FLASH烧写方法研究与实现

基于串行总线和FPGA的FLASH烧写方法研究与实现

来源:锐游网
ELECTRONICS WORLD・探索与观察 m 基于串行总线 ̄I:I FPGA的FLASH烧写方法研究与实现 中国航空工业空空导弹研究院 丁 宁 樊宏伦 【摘要】当 ̄;TFPGA的程序多保存在外部FLAsH中,在上电时将外部FLAsH中的程序加载到FPGA中,对FLASH中程序的操作需要用到专用 的软件和专用的下栽器,本文旨在开发一种无需专用下载器和专用软件,仅需串口即可实现FLAsH烧写的方法 【关键词】串口通信;FPGA;FLASH' ̄写 1引言 随 各个导弹型 的发展,各个组件中FPGA之间的烧写接【1、 烧写软件、烧写程序各 相 ,在全弹状态下,不同组件的研发郜¨ 到 个试验地点进行程序版本修改或升级时 往需要携带沉重的烧’ 硬备平Ij 门的F载器与_卜载线缆,同时部分组件需要对整流罩或部 分弹体壳体盖板进仃拆卸,增加操作风险,t’分不便。因此,开发 -彝}只需要统一贯标口,光需专用烧写设备的适用于全弹的烧 平 {‘分必要。本文 ̄:FPGA }t编 ̄/FLASH控制代码,通过串【_]总线实 现FLASH的烧写校验l口J读功能。而FLASH通常}  ̄IIFPGA进行连接, 此 FLAsH烧写时,需要FPGA具备对FLASH的控制逻辑来保证对 FLASH的控制,通常的做法是通过FPGAJ 家配套的下载器和计算机 软件拄 ̄JFPGA中内置编程fjl擎来实现FLASH的擦除烧写阐读校验的 功能,优点是配套软硬件均是现成且成熟,无需用户进行编程,缺点 是必须将产品FPGA上指定的FLASH烧写管脚引l乜全弹,且必须尉厂‘ 家配套的专用下载器 ̄lli-t一算机程序进行烧写。 2系统原理 / — l——— ^— —一 枉缸撼‘算机lH  一书n每专蟹l『扼蛀与哥j女毓卜 .——- 氟{。 辫  蜒 L兰!【 i 霉 习 - f 广——].— ——— ——————/ L::.:::擎 | 艇嚣勰^ j、 h地H鞋 1 j f 厂 —・一 黪。 图1串行总线FPGA烧写原理图 如E图系统框 所 :由计算机中烧r与控制软件发送串【J指令, FPGA收到串口指令后执行相应程序完成埘FLASH的撩除、烧与、川 读、校验等功能。冈FPGA T}】串口命令解析功能和FI ASH操作功能十} j关代码均在“配置文件.bit”(图中位置2)【lf】保存,为防_L【:FPGA ̄i!t,,J “配置文件_b 进行操作时造成配置文件损坏,导致下次上电过程t{ 序加载失败,FPGA尤法正常工作,变成“砖”,采用如下方法保 证FPGA在“配置文件Ib 被损坏情况下能够恢复。 利用FPGA的FallBack厦配置功能实现从FLASH两个不同的化 置:位置1和位置2对程序进行加载,其中他置l是装成纰件时预 的程序,里面含有FPGA『{己置数据的加载逻辑,在全弹状态下小可 更改。正常情况下,上电Fa1lBack管脚为高电平,相应FLASH地址 最高化为‘1’,FPGA从FLASH位置2“配置文件-b 中读取配置 数据,当位置2配置数据在加载更新过程中因掉电被损坏时,FPGA 数据读取失败,调』乃FallBack重配置功能,FallBack管脚为低电 平,相应FLASH地址最低位为‘0’,从位置1“驻留配置.bit”中 渎取配置数据,之后可根据串口命令对位置2数据进行配置更新, 更新J 确后,下次I:电FPGA将从位置2进行读取,即实现FPGA配 置数据的更新。 本烧 方法从功能』-分为!部分:串口协议设计、Flash烧写软 件编写及实观、FPGA程序编写及实现,下面分别对这儿部分进仃 介绍。 3串口协议设计 从实际 求来讲,书I I协议要对包括擦除FLASH、烧写 FLASH、卡殳验FLASH、回谈FLASH四种操作进行没汁,协议约定 一个数据包长度为38字节(其・I】37字节.38字节为CRC校验),帧 格式组成如农l,五种操作如卜: 表1协议帧格式 帧 命令 传输内容 校验 3字住 1字 32 e≠ 2字节 1)擦除FLASH流程:Flash烧写软件向FPGA发送擦除命令 OxOl,FPGA收到擦除命令后进仃擦除操作,每擦除8K向计算机返 回擦除进度,命令字返回OxOl表尔正在擦除,返1.10xl1表示或超过 10秒未返刚任何结果表示擦除故障,需计算机重新发送擦除指令。 返回0x02表示擦除完成。 2)烧 FLASH流程:Flash烧写软件向FPGA发送烧写命令 Ox03,FPGA收到烧 命令后返l"l0x03命令,表 已经做好烧写前 准备,返网 他或超过】秒无响应l二报烧写故障,需计算机重新发 送烧 命令,计算机接收到FPGA的Ox03命令字后发送Ox03,数 据部分写入程序版本号和文件长度,FPGA收到后返回命令Ox03 表示已经做好烧写前准备,返 其他或超过l杪允响 上报烧写故 障,需计算机_叵新发送烧写命令,计算机接收到FPGA的Ox03命令 字后,烧 式开始,发送0x03,数据部分写入 霞文件数据, FPGA返(.Dx03和烧写完成的帧数,直到烧写结束,FPGA返回0x04 结束烧写流氍,若烧写过程中Hj错,返回Oxl3,结束烧写流程,需 重新发起烧 流程。 3)校验FLASH流程:Flash烧写软件向FPGA技送校验命令 Ox05,FPGA ̄(到校验命令后返J ̄'t0x05命令,之后每究成8K字节数 据的校验返川一次校验进度, I,计算机接收到0x06命令后读取该帧 数槲的数据他,得到校验和,干u自己计算的校验和进行比对,得L{{ 校验结果。若计算机q ̄4Oxl5或1秒内未收到FPGA数掘帧表示校验 失败,需重新发送校验命令。 4)【uj读FLASH流程:Flash烧写软件向FPGA发送校验命令 Ox07,FPGA收到校验命令后返Iul0x07命令和版奉号和字节长,之 后计算机发送0x08 ̄l上‘次接收到的帧 ‘数,FPGA拿自己的帧计 数和收到的榭比,如 吲则将当前计数修改为收到的帧计数,之后 将组好的数 f帧传回计算机,当  ̄flj0x09表示数据伞部传输完成。 4 Flash烧写软件编写及实现 Flash烧 软件主要[j1串口参数配置功能,串¨命令发送与接收功 能,烧写及叫读文件存取和校验功能,操作记录显示及保存功能。 1)串【 I参数配置功能:设置帧长,帧格式,波特率等。 屯子世界 ・33・ ELECTRONICS WORLD・jIi 费与 粤 察 2)串口命令发送与接收功能:具有擦除、烧写、校验、回读 等命令,能够分别设置上述四个命令的发送接收逻辑、时序,能够 使能管脚和输出使能管脚。 表2 FLASH命令 指令(Command) 读存储单元数据 写存储单元数据 存储单元镇定 存储单元解锁 存储单元擦除 读状态寄存器 操作完成 命令字(Code) 0xO1 0妫2 Ox03 Ox04 0x05 0xO7 0xD0 功能描述 批量读取VLASHq ̄数据 批量数据写入FLASH 镄定存储单元,镀定后无法写入 生成带校验和的数据帧。 3)烧写及回读文件存取和校验功能:能够从计算机中读取待 烧写文件并进行校验,将数据文件拆分并放到对应帧中,以便通过 串口命令进行发送:同时可以对收到回读串口数据帧进行解析,将 数据组合为文件保存到 ‘算机上,并完成校验。 4)操作记录显示及存取功能:对操作信息、串口交互信息进 行显示并生成曰志;可填写烧写组件的组件号并生成文档,记录烧 写文件的校验和,版本号及烧写时长等信息:能够对之前的串口配 解镄存储单元,解镀后可进行写入和擦酴 清除存储单元中的数据 读取上述操作的结果 擦除或写FLASH完成命令 本文需完成的FLASH操作功能分为擦除、烧写、校验和回读, 置、收发功能配置以及界面设置等状态进行保存和读取。 需要用到的对FLASH的操作分为块解锁、块擦除、编程、清除状态 寄存器、读状态寄存器、读FLASH数据。根据相应FLASH手册进 行程序代码编写。 5 FPGA程序编写及实现 1)串口命令解析校验功能: 编写串口接收逻辑,能够按照串口协议和速率接收串口比特数 据,之后将比特数据组成字节,并对字节进行校验;编写接收数据 组帧及判别逻辑,将接收的字节进行组帧并校验,正确后对帧头和 指令进行识别,并执行对应的程序分支。 2)FLASH操作功能: 6结束语 本文设计了一种通过串行总线* ̄HFPGA对FPAG配置FLASH进 行烧写、回读、校验的方法,文中使用的方法通俗易懂,便于掌 握,已经成功应用在某型号导弹某组件样机中,经过实际应用证 明,方法可靠有效。 FLASH包含管脚、存储单元、指令接口、状态寄存器等组成 部分:其中管脚分为地址管脚、数据管脚和控制管脚以及供电管脚 等:指令接口通过地址线和数据线读入指令并完成对应FLASH操 作:状态寄存器中存放有执行指令后的结果,通过状态寄存器可以 了解FLASH的工作状态,通常每进行一组命令后都需要查看状态寄 参考文献 【11刘家兵,刘涛,王宗义,韩宏克.基于TMS320C6713的F1ash烧写 7; ̄BootLoad程序设计【『l_应用科技.2008(8):48—51. 【2】官琴,赖文娟,张筱波.一种基于TM¥320C6713串口烧写 FLASH实现自启动的方法【『1.兵X-自动化.2014(2):91—92,96. 【3l夏爽.DsP外部Flash存储器的自烧写方式研究….电脑编程技 巧与维护,2011(18):99-100.121. 存器以便确定下一步的工作。 本文需用到的指令如表2所示;FLASH对应的两个基本操作为 读和写,涉及的控制管脚为片选使能管脚、地址锁存使能管脚、写 (上接第32页) 等体积的葡萄糖溶液(1.67mM)加入到硝酸银溶液中,并将PDA涂 覆的基质立即浸入溶液中 反应l0分钟后,从溶液中取出底物,用去 一些缺点,并提出了自己的解决方案。这种PDA聚合物聚合物干¨ MEMS技术设计的结合可以很好地解决前面提到的问题,而且产量 离子水冲洗,并用N 2干燥。最后,在特定位置涂覆碳墨。使用这个 计划,经过百次弯曲后,阻力没有产生显着的变化。 p4f ,甜 '_啪 0 00 Hf’口 ・∞ 非常高,标准化的过程,在商业应用中的前景非常,“泛。也可以 大大提高欠发达国家和地区的检测水平,提高生活质量。 参考文献 【11王兰“生物芯片检测系统在基层幽门螺旋杆菌(HP)诊断中 W 翱 r“●0 d 0 §嘲 pa^ ‘ 的应用”,中外健康文摘,Vo16,No 6.PP.47.Feb20()9. 【2]MeeraPunjiya,eta1.“OrigamiMicrofluidicPaper—Analytical— Devices(omPAD)forSensingandDiagnostics.”IEEE,PP 307—309,2016. 【3]Glavin,GaryB.,andSandorSzabo“Dopamineingastrointestinaldise ase.”Digestivediseasesandsciences,vo1.35,I10.9,PP.1 1 53-1 1 611 990. ,『4]Lee,H.;Dellatore,S.M.;Miller,W M;Messersmith.P B.“Mussel—insp ●●●— h口。r_ 蛹 g——— ax ■■■■■ l…日 of*ctlvlt iredsurfacechemistryformultifunctionalcoatings“Science2007,31 8,426,430. 『5]Lee,H.;DeUatore,S.M.;Miller,W.M.;Messersmith,P.B“Mussel—imp 图5制备流程圈 iredsurfacechemistryformultifunctionalcoatings“Science2007,31 8,426,430. 该程序的使用不仅在弯曲电线时不易脱落,而且由于其纳米 【6]LeiZhao,DaqunChen,andWeihuaHu“PattemingoflVletalFilmson ArbitrarySubstratesbyUsingPolydopamineasaUV—Sen iveCatalyticLayerf orElectrolessDeposition”Langmuir,201632,5285,5290. ,结构的金属颗粒,导电率也大大提高,而制备工艺也标准化。该方 案将聚合物化学领域的最新科学研究成果与传统MEMS技术结合起 来,在调研了大量文献后确定了其高度的可行性。在商业应用中 将有一个光明的未来。 f7]Formanek,F.;Takeyasu,N.;Tanaka,T.;Chiyoda,K.;lshikawa,A.;Ka wata,S.“Selectiveelectrolessplatingtofabricatecomplexthreedimensionalm etaUicmicro/nanostructures”App1Phys.Lett.2006,88,0831 10. .3.总结 总之,我对低成本的生物检测芯片进行了详细的分析,找出了 ・34・ lI詈子t蟹I● 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top