论文部分内容阅读
[摘 要]针对系统设计时多块电路板中FPGA处理器都需要程序升级,导致整机对外接口比较复杂、操作维护不方便。设计了一种以Cyclone公司V5系列FPGA为处理器的级联式串口升级功能模块,实现了整机对外通过一路串口升级多级处理器的程序。设计结果表明,级联式串口升级功能减少了整机对外接口,大大减少了硬件成本,同时系统程序升级更加方便。
[关键词]FPGA ;级联;串口升级
中图分类号:TP29 文献标识码:A 文章编号:1009-914X(2018)38-0055-01
0. 引言
在某系统项目中有这样的需求,观瞄发控应具有升级维护功能。因观瞄发控装置不仅仅是一台红外热像仪,集成了红外、可见光观瞄具和发控装置。涉及到红外机芯的成像板,可见光组件,视频切换板及发控装置的综合处理板。如果每一个组件都需要进行升级维护,那么至少需要对外连接4个串口或者4个仿真口,对于一台便携式观瞄发控这样显然不合理。在越来越多的系统中希望通过以配置数据的远程更新来提高系统的可扩展性和升级的灵活性[1],一个系统整机往往一块电路板无法满足系统设计的需求,也会涉及到多块不同功能的电路板,因此,本文提出采用FPGA串口级联式方式进行串口升级,仅通过一个对外串口升级项目中所有涉及的电路板。本系统串口采用RS-422通讯方式,差分传输模式,具有通讯距离远、抗干扰能力强等特点[2]。
1. 硬件设计方案
整机对外为1根RS-422通讯线缆,通过PC机发送不同的命令给各模块进行串口升级,串口升级数据发送软件使用专用上位机软件,上位机与下位机应先约定两者之间的通讯协议[3],包括帧头、帧尾、校验位等信息。
FPGA上电启动时,自动产生时序从EPCS中读取配置文件并进行配置。对FPGA程序进行升级主要为对EPCS中数据进行擦除和写入。完成FPGA的串口升级主要需要解决两个问题:(1)更新数据的获取;(2)将配置文件写入EPCS配置芯片[4]。本文主要对本系统中多级更新数据的获取进行设计。
因便携发控装置整机对外是由发控装置中的综合处理板的RS-422串口对外,因此综合处理板成为升级其他电路板的中间桥梁。
综合处理板不仅需要升级本地FPGA程序还需要升级其他电路板的FPGA程序,因此需要考虑串口升级是对本级升级还是下一级升级或是次下一级升级。设计思路如下所示:
a) 接收串口命令,如果升级本级时将接收数据进行缓存,接收完毕后保存,重启后运行最新程序。
接收串口命令,如果升级为下一级时,需要将本地FPAG逻辑中设置为串口透传模式[5]。接收到升级下一级命令后,逻辑中将综合处理板XS4与XS2进行硬件连接,SOPC中不进行解析,发送到下级FPGA视频切换板XS3串口。
b)接收串口命令,如果升级为次下级时,在本地发送命令到下一级,告知下一级进行次下级升级,同时需要将本地和下一级FPAG逻辑中设置为串口透传模式。接收到升级次下一级命令后,逻辑中将综合处理板XS4与XS2进行硬件连接,SOPC中不进行解析,同时逻辑中将视频切换板XS3与XS2(升級红外)或XS1(升级可见光)进行硬件连接,SPOC中不进行解析。
2. 软件实现
2.1软件实现方法
观瞄中的视频切换板,在逻辑透传中需要考虑3个串口的切换,对红外升级或者对可见光升级。在对红外升级时视频切换板的XS3与XS2内部逻辑连接,在对可见光升级时视频切换板的XS3与XS1内部逻辑连接。同时需要将对应SOPC中串口接收端置0,避免软核进入中断接收。
综合处理板作为最前级数据接收模块,需要考虑三级模块的程序升级。对本级升级、对下一级升级和对次下一级升级。其中对下一级和对次下一级升级时需将综合处理板的XS4与XS2内部逻辑连接,同时SOPC中串口接收端置逻辑置0。
2.2软件实现流程
视频切换板软件工作流程如下:(1)电路板上电,FPGA初始化,主要对时钟、寄存器、串口等初始化。(2)解析串口命令,是否收到升级命令进行判断。采用中断的方式,接收外部中断请求就会调用相应的中断服务程序来处理中断请求[6]。(3)收到升级命令,对本地进行升级时,接收缓存数据;对下一级进行升级时,发送升级下一级命令,并且本级串口为透传模式。(4)保存,收到保存命令后将缓存数据写入EPCS配置芯片中。
2.3软件实现代码
为考虑多个处理器的软件实现,软件代码采用VHDL标准语言,可以方便地进行移植和重用[7]。
3. 测试结果
将FPGA升级程序转化成HEX文件后,通过串口升级专用软件发送数据,一帧1034个字节,升级包数据接收完成后,通过发送保存命令,对升级程序进行保存,在保存之前对升级数据进行CRC校验,保存后断电重启,即完成程序升级。
4. 结束语
整机通过一个RS-422串口,可以达到升级便携观瞄发控中不同设备的FPGA电路板程序,有效减少了整机对外的升级串口个数。使用该方法不用打开机箱即可随时更新不同电路板的FPGA配置程序,同时,采用FPGA设计串口透传模块具有通用性,可移植性强,大大节省了整系统的开发周期。
参考文献
[1][4]丁丁,汤晓斌,陈立德,殷树根.基于uClinux的FPGA远程更新系统的实现[J].电子技术应用,2014,40(3):6-8.
[2]胡敦利,肖力,尤文艳.基于FPGA的测试控制板卡的设计与实现[J].电子技术应用,2012,38(1):70-76.
[3]杨光海,彭文渊等.利用RS422串口实现微控制器程序在线升级的方法[J].电子世界,2016,16,87-88.
[5]彭冬乔,王建新,苏攀.基于FPGA的数据透传方法在SmallCell中的应用[J].电子设计工程,2016,24(1):159-161.
[6]杨新华,王用玺,刘欣.基于FPGA的以太网高速数据传输系统的设计[J].仪表技术与传感器,2013,12:80-83.
[7](巴西)VolneiA.Pedroni著.VHDL数字电路设计教程[M].乔庐峰王志功等译,北京:电子工业出版社,2005.
作者简介
陈继海,1987年生,男,湖北黄冈,汉族,硕士学历,工程师,嵌入式软件开发。
[关键词]FPGA ;级联;串口升级
中图分类号:TP29 文献标识码:A 文章编号:1009-914X(2018)38-0055-01
0. 引言
在某系统项目中有这样的需求,观瞄发控应具有升级维护功能。因观瞄发控装置不仅仅是一台红外热像仪,集成了红外、可见光观瞄具和发控装置。涉及到红外机芯的成像板,可见光组件,视频切换板及发控装置的综合处理板。如果每一个组件都需要进行升级维护,那么至少需要对外连接4个串口或者4个仿真口,对于一台便携式观瞄发控这样显然不合理。在越来越多的系统中希望通过以配置数据的远程更新来提高系统的可扩展性和升级的灵活性[1],一个系统整机往往一块电路板无法满足系统设计的需求,也会涉及到多块不同功能的电路板,因此,本文提出采用FPGA串口级联式方式进行串口升级,仅通过一个对外串口升级项目中所有涉及的电路板。本系统串口采用RS-422通讯方式,差分传输模式,具有通讯距离远、抗干扰能力强等特点[2]。
1. 硬件设计方案
整机对外为1根RS-422通讯线缆,通过PC机发送不同的命令给各模块进行串口升级,串口升级数据发送软件使用专用上位机软件,上位机与下位机应先约定两者之间的通讯协议[3],包括帧头、帧尾、校验位等信息。
FPGA上电启动时,自动产生时序从EPCS中读取配置文件并进行配置。对FPGA程序进行升级主要为对EPCS中数据进行擦除和写入。完成FPGA的串口升级主要需要解决两个问题:(1)更新数据的获取;(2)将配置文件写入EPCS配置芯片[4]。本文主要对本系统中多级更新数据的获取进行设计。
因便携发控装置整机对外是由发控装置中的综合处理板的RS-422串口对外,因此综合处理板成为升级其他电路板的中间桥梁。
综合处理板不仅需要升级本地FPGA程序还需要升级其他电路板的FPGA程序,因此需要考虑串口升级是对本级升级还是下一级升级或是次下一级升级。设计思路如下所示:
a) 接收串口命令,如果升级本级时将接收数据进行缓存,接收完毕后保存,重启后运行最新程序。
接收串口命令,如果升级为下一级时,需要将本地FPAG逻辑中设置为串口透传模式[5]。接收到升级下一级命令后,逻辑中将综合处理板XS4与XS2进行硬件连接,SOPC中不进行解析,发送到下级FPGA视频切换板XS3串口。
b)接收串口命令,如果升级为次下级时,在本地发送命令到下一级,告知下一级进行次下级升级,同时需要将本地和下一级FPAG逻辑中设置为串口透传模式。接收到升级次下一级命令后,逻辑中将综合处理板XS4与XS2进行硬件连接,SOPC中不进行解析,同时逻辑中将视频切换板XS3与XS2(升級红外)或XS1(升级可见光)进行硬件连接,SPOC中不进行解析。
2. 软件实现
2.1软件实现方法
观瞄中的视频切换板,在逻辑透传中需要考虑3个串口的切换,对红外升级或者对可见光升级。在对红外升级时视频切换板的XS3与XS2内部逻辑连接,在对可见光升级时视频切换板的XS3与XS1内部逻辑连接。同时需要将对应SOPC中串口接收端置0,避免软核进入中断接收。
综合处理板作为最前级数据接收模块,需要考虑三级模块的程序升级。对本级升级、对下一级升级和对次下一级升级。其中对下一级和对次下一级升级时需将综合处理板的XS4与XS2内部逻辑连接,同时SOPC中串口接收端置逻辑置0。
2.2软件实现流程
视频切换板软件工作流程如下:(1)电路板上电,FPGA初始化,主要对时钟、寄存器、串口等初始化。(2)解析串口命令,是否收到升级命令进行判断。采用中断的方式,接收外部中断请求就会调用相应的中断服务程序来处理中断请求[6]。(3)收到升级命令,对本地进行升级时,接收缓存数据;对下一级进行升级时,发送升级下一级命令,并且本级串口为透传模式。(4)保存,收到保存命令后将缓存数据写入EPCS配置芯片中。
2.3软件实现代码
为考虑多个处理器的软件实现,软件代码采用VHDL标准语言,可以方便地进行移植和重用[7]。
3. 测试结果
将FPGA升级程序转化成HEX文件后,通过串口升级专用软件发送数据,一帧1034个字节,升级包数据接收完成后,通过发送保存命令,对升级程序进行保存,在保存之前对升级数据进行CRC校验,保存后断电重启,即完成程序升级。
4. 结束语
整机通过一个RS-422串口,可以达到升级便携观瞄发控中不同设备的FPGA电路板程序,有效减少了整机对外的升级串口个数。使用该方法不用打开机箱即可随时更新不同电路板的FPGA配置程序,同时,采用FPGA设计串口透传模块具有通用性,可移植性强,大大节省了整系统的开发周期。
参考文献
[1][4]丁丁,汤晓斌,陈立德,殷树根.基于uClinux的FPGA远程更新系统的实现[J].电子技术应用,2014,40(3):6-8.
[2]胡敦利,肖力,尤文艳.基于FPGA的测试控制板卡的设计与实现[J].电子技术应用,2012,38(1):70-76.
[3]杨光海,彭文渊等.利用RS422串口实现微控制器程序在线升级的方法[J].电子世界,2016,16,87-88.
[5]彭冬乔,王建新,苏攀.基于FPGA的数据透传方法在SmallCell中的应用[J].电子设计工程,2016,24(1):159-161.
[6]杨新华,王用玺,刘欣.基于FPGA的以太网高速数据传输系统的设计[J].仪表技术与传感器,2013,12:80-83.
[7](巴西)VolneiA.Pedroni著.VHDL数字电路设计教程[M].乔庐峰王志功等译,北京:电子工业出版社,2005.
作者简介
陈继海,1987年生,男,湖北黄冈,汉族,硕士学历,工程师,嵌入式软件开发。