通过MCU实现Altera FPGA在线升级

通过MCU实现Altera FPGA在线升级

ID:47527770

大小:263.50 KB

页数:9页

时间:2019-09-14

通过MCU实现Altera FPGA在线升级_第1页
通过MCU实现Altera FPGA在线升级_第2页
通过MCU实现Altera FPGA在线升级_第3页
通过MCU实现Altera FPGA在线升级_第4页
通过MCU实现Altera FPGA在线升级_第5页
资源描述:

《通过MCU实现Altera FPGA在线升级》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、通过MCU实现AlteraFPGA在线升级一.问题背景在实际工程应用中,我们时常会遇到为解决某个老产品的BUG,需要在工程现场更新设备的FPGA代码,或者参加电信测试时需要现场升级设备FPGA程序以便于调试。公司现阶段所用的AlteraFPGA程序代码一般存放于芯片配套的FLASH存储器中,而常见的对印制板上FLASH编程有几种方法,原始的方法是使用编程器,这种方法需要要将芯片取下,十分不便,或者通过JTAG接口连接到PC机上,但需要专用下载软件(一般由芯片生产厂商提供)。在测试现场或调测机房现场,要找到FPGA的专用下载线是比较困难的,且AlteraFPGA的专用下载软件并不是每

2、个PC设备上都有的。有时仅为了更新一个FPGA的程序就需要研发或客服人员亲自到现场去烧写程序,这既不便捷,也使得设备维护成本大大增加。经过可行性与成本的考虑,我们找到一种既方便实用又低成本的方法来实现FPGA程序的在线现升级。即在MCU中(单片机或ARM均可)用软件来模拟XModem协议,将程序文件传输到FPGA的FLASH中。这种方法使用WINDOWS自带的超级终端软件来传送文件,无需安装专用软件,硬件支持仅需要一根通用串口线,只要在目标板MCU上增加一段实现XModem协议传输的代码,就可以方便的实现FPGA程序下载了。这种特点不仅方便了客服人员,也给研发和生产人员在现场调试和

3、软件升级、修改中带来极大方便。二.XModem协议简介XModem协议是一种在串口通信中广泛用到的异步文件传输协议。协议以128字节块的形式传输数据,每个块都使用一个校验过程来进行错误检测。标准XModem协议帧格式如图1所示:________________________________________________________________

4、

5、

6、

7、

8、

9、

10、SOH

11、信息包序号

12、  信息包序号的补码

13、数据区段

14、  校验

15、

16、_______

17、___________

18、___________________

19、___________

20、___________

21、图1标准XModem协议帧

22、格式XModem协议传输逻辑:对于标准XModem协议来说,如果传送的文件不是128的整数倍,那么最后一个数据包的有效内容肯定小于帧长,不足的部分需要用CTRL-Z来填充。传输由接收方启动,方法是向发送方发送"C"或者NAK(注:这里提到的NAK是用来启动传输的)。XModem协议支持2种校验,接收方发送NAK信号表示接收方打算用累加和校验,发送字符"C"则表示接收方想打算使用CRC校验。当接收方发送的第一个"C"或者NAK到达发送方,发送方认为可以发送第一个数据包,传输已经启动。发送方接着应该将数据以每次128字节的数据加上包头,包序号,包序号补码,末尾加上校验和,打包成帧格式传

23、送。发送方发了第一包后就等待接收方的确认字节ACK,收到接收方传来的ACK确认,就认为数据包被接收方正确接收,并且接收方要求发送方继续发送下一个包。接收方首先确认数据包序号的完整性,通过对数据包序号取补,然后和数据包序号的补码异或,结果为0表示正确,结果不为0则发送NAK请求重传(注:这里NAK用来告诉发送方重传,而不是用来启动传输)。接收方确认数据包序号正确后,然后检查是否期望的序号。如果不是期望得到的数据包序号,说明发生严重错误,则发送一个CAN来无条件中止传输。如果接收到的数据包的包序号和前一包相同,那么接收方会忽略这个重复包,向发送方发出ACK,准备接收下一个包。接收方确认

24、了信息包序号的完整性和是正确期望的后,只对128字节的数据区段进行算术和校验,结果与帧中最后一个字节比较,相同发送ACK,不同发送NAK。如果发送方正常传输完全部数据,需要结束传输,正常结束需要发送方发送EOT字节通知接收方,接收方回以ACK进行确认。虽然数据包是以SOH来标志一个信息包的起始的,但在SOH位置上如果出现EOT则表示数据传输结束,再也没有数据传过来。当然接收方也可强制停止传输,当接收方发送CAN字节给发送方,表示接收方想无条件停止传输,发送方收到CAN后,不需要再发送EOT确认。XModem协议相关控制字符含义详见附录1。三.AlteraFPGA在线升级的硬件实现A

25、lteraFPGA用JTAG在AS模式下的程序烧写,是先将程序文件*.pof下载到芯片的FLASH中存储起来,每次重新上电后,程序文件会重新由FLASH载入到FPGA芯片中。AlteraFPGA常用FLASH芯片为EPCS1和EPCS4,这两个FLASH芯片除了容量不一样,其他方面几乎完全相同,在引脚上也完全兼容。图2FPGAAS模式烧写硬件连接图图2所示为FPGA用JTAG在AS模式下烧写程序文件的硬件连接图。我们需要用MCU模拟AS模式的硬件操作方式,通过XMod

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。