一种基于FPGA具有自识别功能的IO总线装置.pdf

上传人:a3 文档编号:2235496 上传时间:2018-08-03 格式:PDF 页数:9 大小:879.01KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410821282.1

申请日:

2014.12.25

公开号:

CN104484301A

公开日:

2015.04.01

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 13/38申请日:20141225|||公开

IPC分类号:

G06F13/38; G06F13/40

主分类号:

G06F13/38

申请人:

南京因泰莱电器股份有限公司

发明人:

张杭; 倪浩

地址:

211100江苏省南京市江宁科学园天元东路52号

优先权:

专利代理机构:

南京知识律师事务所32207

代理人:

张苏沛

PDF下载: PDF下载
内容摘要

本发明基于FPGA具有自识别功能的IO总线装置,属于总线技术领域。本发明包括CPU、FPGA、槽位板件、并行总线、串行总线以及现场总线,所述CPU通过外部总线与FPGA进行数据交互,所述FPGA通过并行总线或者串行总线与槽位板件交互;CPU通过现场总线与槽位板件直接交互;所述FPGA提供板件地址给CPU,并帮助CPU发送和接收数据,所述FPGA中设有状态机,状态机能够循环选中板件接口,读取板件信息和数据信号。本发明具有自识别板件信息的功能,增强了数据交互的可靠性。板件之间通讯更加灵活,方便了装置平台更新换代。FPGA作为CPU与外部数据的桥梁,通过并行总线与串行总线对板件数据进行交互。

权利要求书

权利要求书
1.  一种基于FPGA具有自识别功能的IO总线装置,其特征在于,包括CPU、FPGA、槽 位板件、并行总线、串行总线以及现场总线,所述CPU通过外部总线与FPGA进行数 据交互,所述FPGA通过并行总线或者串行总线与槽位板件交互;CPU通过现场总线 与槽位板件直接交互;所述FPGA提供板件地址给CPU,并帮助CPU发送和接收数据, 所述FPGA中设有状态机,状态机能够循环选中板件接口,读取板件信息和数据信号。

2.  根据权利要求1所述的IO总线装置,其特征在于,所述并行总线采用数据线、片选线、 写信号线、读信号线,数据线为各槽位公用,并且数据传输为双向;各板件接口都连 接片选线;读信号线中部分用于读取板件信息。

3.  根据权利要求2所述的IO总线装置,其特征在于,所述数据线为8位,所述选线为1 位,所述写信号线为4位,所述读信号线为6位,其中2位读信号线用作读取板件信 息,4位用作读取功能数据。

4.  根据权利要求1所述的IO总线装置,其特征在于,所述板件信息由2个8位数据组成, 包含5位板件类型、3位硬件版本、5位BOM版本、3位固定码。

5.  根据权利要求1所述的IO总线装置,其特征在于,所述FPGA的发送和接收寄存器采 用FIFO缓存数据。

6.  根据权利要求1所述的IO总线装置,其特征在于,所述现场总线为CAN总线,所述 串行总线为RS485串行总线。

说明书

说明书一种基于FPGA具有自识别功能的IO总线装置
技术领域
本发明涉及总线技术领域,特别是涉及可扩展的电力设备保护装置。
背景技术
传统的电力设备保护装置中,主CPU板与开入、开出、模拟量等板件之间的连接采用 专用总线,数据交互直接建立在主CPU与各种板件之间,此种数据传输方式存在诸多固 有缺陷。首先,这种传输方式固定住各块板件的位置,即各块板件只能插在背板的固定位 置,背板与主CPU板之间的连线在设计之初就已经固定,背板上各槽位不能插接其他类 型的板件。其次,板件插错可能导致装置损坏,尤其是误插错电源板或模拟量板,将可能 导致主CPU板损坏。第三,由于专用连线繁多,并且保护装置中没有智能的自检功能和 识别功能,在长期工作中,会发生板件接插件处氧化,导致板件与背板连接不可靠,输入 信号不能被正确识别,输出信号也可能错误动作。第四,随着电力设备对保护装置的需求 增加,CPU需要经常更新换代,传统的装置往往需要对硬件和程序进行大幅修改。
发明内容
为了解决上述现有技术中存在的问题,本发明提供了一种基于FPGA具有自识别功能 的IO总线装置。实现了各种板件任意位置安装,并且主CPU具有自识别板件功能,从而 增强了电力设备保护装置的可靠性。同时,通过FPGA管理IO总线,方便了硬件平台升 级,CPU更新换代。
本发明所采用的技术方案如下。
一种基于FPGA具有自识别功能的IO总线装置,包括CPU、FPGA、槽位板件、并行 总线、串行总线以及现场总线,所述CPU通过外部总线与FPGA进行数据交互,所述FPGA 通过并行总线或者串行总线与槽位板件交互;CPU通过现场总线与槽位板件直接交互;所 述FPGA提供板件地址给CPU,并帮助CPU发送和接收数据。所述FPGA中设有状态机, 状态机能够循环选中板件接口,读取板件信息和数据信号。
所述并行总线采用数据线、片选线、写信号线、读信号线,数据线为各槽位公用,并 且数据传输为双向;各板件接口都连接片选线;读信号线中部分用于读取板件信息。
所述数据线为8位,所述选线为1位,所述写信号线为4位,所述读信号线为6位, 其中2位读信号线用作读取板件信息,4位用作读取功能数据。
所述板件信息由2个8位数据组成,包含5位板件类型、3位硬件版本、5位BOM版 本、3位固定码。
所述FPGA的发送和接收寄存器采用FIFO缓存数据。
所述现场总线为CAN总线,所述串行总线为RS485串行总线。
基于FPGA具有自识别功能的IO总线装置是通过FPGA对并行总线和串行总线统一管 理,把FPGA当作CPU与各板件数据交互的主要桥梁。并行总线采用8位数据线、1位片 选线、4位写信号线、6位读信号线。串行总线可为RS485串行总线。FPGA通过并行总 线和RS485串行总线与各板件连接。FPGA提供板件接口地址给CPU,并帮助CPU发送和 接收数据。对于速率要求较高的数据量采用CAN总线进行通讯,CPU直接与各板件通讯。
并行总线由FPGA控制,背板上每个槽位都对应有各自的CS片选线。8位数据为所 有槽位公用,数据线是双向的,FPGA可以发送数据给每个板件,也可以读取每个板件的 数据。WR写信号线有4位,配合8位数据线,可以向每个槽位的板件发送32位数据, 如控制开出板上的继电器,单板最多支持32个继电器。同样的读信号线有6位,其中2 位用作读取板件信息,剩余的4位用作读取功能数据,如读取开入板的开入量,单个板件 最多支持32个开入信号。在FPGA中使用状态机循环选中每个槽位,并对读取每个槽位 的板件信息和数据信号(如开入量),接着写入数据到相应板件(如控制继电器)。自识别 功能是通过读取板件信息实现的,板件信息由2个8位数据组成。板件信息包含5位板件 类型、3位硬件版本、5位BOM版本、3位固定码(如010)。固定码用于判断板件是否 插入,便于排查因焊接出错导致板件信息错误的现象。
串行总线用于补充并行总线的不足,当主CPU板需要与专用板件通讯时,就采用串行 总线传输数据。如直流采样板需要把采样数据上发给主CPU板时,直流采样板通过RS485 与主CPU板通讯。RS485串行通讯总线也是由FPGA模拟uart实现,FPGA将RS485串 行总线传输的数据提供给CPU接口。FPGA的发送和接收寄存器可以采用FIFO缓存数据, 这样减少CPU的消耗。背板上的每个槽位都留有RS485串行总线,方便每个槽位与主CPU 板通讯。CAN总线也是同样的设计,只不过是CPU与板件直接通讯,不经过FPGA统一 控制。
并行总线与串行总线不仅可以独立工作传输不同的数据,还可以协同工作,都用来传 输同种数据。对于关键数据使用并行总线传输给CPU,同时也使用串行总线传输给CPU, 这样增强了传输数据的可靠性。
有益效果:
本发明相对于传统的电力设备保护装置内部数据总线作出了改进。
首先,总线对每个槽位的板件都可以自识别,这样可以读取板件信息,自识别板件类 型,硬件版本等信息,便于程序处理,增强了各个板件的通用性。
其次,在FPGA中设计状态机循环控制每个槽位,增强了板件位置的灵活性,每个槽 位不再固定只能插单种板件,而是每个槽位都可以插接任意板件。
第三,数据传输既可以通过并行总线,也可以通过串行总线,还可以同时通过两类总 线传输,增强了数据的可靠性。而且FPGA中可以对开入量进行消抖动处理,增强了开入 数据的可靠性。
第四,FPGA控制并行总线和串行总线,于主CPU来说程序不需要uart驱动,方便主 CPU更新换代,只需要编写与FPGA通讯部分的代码,就可以控制开出、读取开入和交 换板件数据等功能。
第五,本发明数据读取和写入时主CPU与FPGA之间的操作可以保留32位,这种方 法在一定程度上节省了主CPU的开销,降低了主CPU的使用率,同时对于读取的开入量 还可以做消抖处理,在FPGA中做消抖处理又一步节省了主CPU的开销。
第六,在FPGA中采用上述的RS485串行总线控制器,增强了整体的通用性,主CPU 访问以上地址就可以实现RS485串行通讯,节省了主CPU的查询或中断时间。
第七,数据可以分别从不同的总线通道到达主CPU,对于速率要求高的信号,通过 CAN总线直接与主板的CPU相连,这样保证了信号的及时性。对于速率较低的信号,可 以通过RS485总线传输数据。
第八,并行总线与串行总线不仅可以独立工作传输不同的数据,还可以协同工作,都 用来传输同种数据。对于关键数据使用并行总线传输给主CPU,同时也使用串行总线传输 给主CPU,这样增强了传输数据的可靠性。
本发明的特点在于,对于某个槽位可以自识别是否有板件插入,自识别插入板件的类 型、硬件版本等信息。而且可以动态识别,这样就可以实现板件的热插拔功能。同时板件 的设计不局限于某种产品,不同产品可以使用同种单板,尤其是大量使用的开入开出板件。
附图说明
图1是本发明的整体结构框图。
图2是本发明读取板件信息的电路图。
具体实施方式
如图1所示,本实施例包括主CPU板,插接板件的槽位,三种总线并行总线、串行总 线以及现场总线,主CPU板包括CPU模块和FPGA模块。其中这三种总线都与各槽位连 接。每个槽位都可以使用这三种总线发送数据。除了CAN总线是直接由CPU与槽位连接, 其余都是由FPGA与槽位相连,统一管理并行总线和RS485总线。
每个槽位有各自不同的地方,每个槽位有CS片选线与FPGA相连,这样FPGA就可 以分时复用并行总线。
并行总线由CS片选线、2根RD_ID、4根RD、4根WR和8根数据线组成,如表1 所示。
表1 总线具体端子定义表
  A B C 1   CS   2       3 DATA1 DGND DATA0 4 DATA3 DGND DATA2 5 DATA5 DGND DATA4 6 DATA7 DGND DATA6 7 RD_1 DGND RD_0 8 RD_3 DGND RD_2 9 RD_ID1 DGND RD_ID0 10 WR_1 DGND WR_0 11 WR_3 DGND WR_2 12 +3.3V CAN_H RS485+ 13 +3.3V CAN_L RS485- 14 +5V +5V +5V 15 +24V +24V +24V 16 24GND 24GND 24GND
FPGA的状态机通过片选、读写信号线读取和写入数据。读取5位板件类型和3位硬 件版本的电路如图2所示。当片选线CS和RD_ID0同时为低电平时,BOARD_RD_ID0 信号为低电平,缓冲器就会把这个板件的5位类型码0x07和3位硬件版本号0x0传输到 8位数据线上,FPGA就可以读到该板件的类型和版本号。同样的方法可以读取板件的BOM 号和用来确定板件是否插上的固定码。16位板件信息定义如表2所示。
表2 16位板件信息定义表


从板件读取32位数据(如开入量)时,采用与读取板件信息同样的方法,通过4位 RD信号线来分别读取8位数据,在FPGA中拼成一个32位数据量,方便32位CPU(如 ARM)访问。向板件写入32位数据(如继电器)时,片选线CS与4位WR线配合,分 别写入8位数据。此时CPU与FPGA之间的操作还可以保留32位。这种方法在一定程度 上节省了CPU的开销,降低了CPU的使用率,同时对于读取的开入量还可以做消抖处理, 在FPGA中做消抖处理又一步节省了CPU的开销。
如表1所示,总线中不仅有并行总线,而且留有RS485和CAN两种串行接口。对于 速率要求高的信号,通过CAN总线直接与主板的CPU相连,这样保证了信号的及时性。 对于速率较低的信号,可以通过RS485总线传输数据。RS485总线是主板上的FPGA与 单板连接线,在FPGA中开辟2个FIFO用来缓存总线数据,这样保证数据不丢失传输的 同时,减少了CPU等待的时间,而且对于CPU来说程序不需要uart驱动,方便CPU更 新换代,只需要编写与FPGA通讯部分的代码,就可以控制开出、读取开入和交换板件数 据等功能。
FPGA控制的RS485总线接口地址如下表。
表3 FPGA控制的RS485总线接口地址表
0x3800_C000 RS485控制寄存器;0bit为时能,1bit为自发自收,2bit为复位 0x3800_C002 RS485波特率寄存器;用于计算RS485的波特率 0x3800_C004 TX_FIFO使用量寄存器; 0x3800_C008 TX数据寄存器;
0x3800_C00A RX_FIFO使用量寄存器; 0x3800_C00E RX数据寄存器;
在FPGA中采用上述的RS485串行总线控制器,增强了整体的通用性,CPU访问以上 地址就可以实现RS485串行通讯,节省了CPU的查询或中断时间。

一种基于FPGA具有自识别功能的IO总线装置.pdf_第1页
第1页 / 共9页
一种基于FPGA具有自识别功能的IO总线装置.pdf_第2页
第2页 / 共9页
一种基于FPGA具有自识别功能的IO总线装置.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《一种基于FPGA具有自识别功能的IO总线装置.pdf》由会员分享,可在线阅读,更多相关《一种基于FPGA具有自识别功能的IO总线装置.pdf(9页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201410821282.1(22)申请日 2014.12.25G06F 13/38(2006.01)G06F 13/40(2006.01)(71)申请人 南京因泰莱电器股份有限公司地址 211100 江苏省南京市江宁科学园天元东路 52 号(72)发明人 张杭 倪浩(74)专利代理机构 南京知识律师事务所 32207代理人 张苏沛(54) 发明名称一种基于 FPGA 具有自识别功能的 IO 总线装置(57) 摘要本发明基于 FPGA 具有自识别功能的 IO 总线装置,属于总线技术领域。本发明包括 CPU、FPGA、槽位板件、并行总线、串。

2、行总线以及现场总线,所述 CPU 通过外部总线与 FPGA 进行数据交互,所述FPGA 通过并行总线或者串行总线与槽位板件交互 ;CPU 通过现场总线与槽位板件直接交互 ;所述FPGA提供板件地址给CPU,并帮助CPU发送和接收数据,所述 FPGA 中设有状态机,状态机能够循环选中板件接口,读取板件信息和数据信号。本发明具有自识别板件信息的功能,增强了数据交互的可靠性。板件之间通讯更加灵活,方便了装置平台更新换代。FPGA 作为 CPU 与外部数据的桥梁,通过并行总线与串行总线对板件数据进行交互。(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书1页 说明。

3、书6页 附图1页(10)申请公布号 CN 104484301 A(43)申请公布日 2015.04.01CN 104484301 A1/1 页21.一种基于 FPGA 具有自识别功能的 IO 总线装置,其特征在于,包括 CPU、FPGA、槽位板件、并行总线、串行总线以及现场总线,所述 CPU 通过外部总线与 FPGA 进行数据交互,所述 FPGA 通过并行总线或者串行总线与槽位板件交互 ;CPU 通过现场总线与槽位板件直接交互 ;所述 FPGA 提供板件地址给 CPU,并帮助 CPU 发送和接收数据,所述 FPGA 中设有状态机,状态机能够循环选中板件接口,读取板件信息和数据信号。2.根据权利。

4、要求 1 所述的 IO 总线装置,其特征在于,所述并行总线采用数据线、片选线、写信号线、读信号线,数据线为各槽位公用,并且数据传输为双向 ;各板件接口都连接片选线 ;读信号线中部分用于读取板件信息。3.根据权利要求 2 所述的 IO 总线装置,其特征在于,所述数据线为 8 位,所述选线为 1位,所述写信号线为 4 位,所述读信号线为 6 位,其中 2 位读信号线用作读取板件信息,4 位用作读取功能数据。4.根据权利要求 1 所述的 IO 总线装置,其特征在于,所述板件信息由 2 个 8 位数据组成,包含 5 位板件类型、3 位硬件版本、5 位 BOM 版本、3 位固定码。5.根据权利要求1所述。

5、的IO总线装置,其特征在于,所述FPGA的发送和接收寄存器采用 FIFO 缓存数据。6.根据权利要求1所述的IO总线装置,其特征在于,所述现场总线为CAN总线,所述串行总线为 RS485 串行总线。权 利 要 求 书CN 104484301 A1/6 页3一种基于 FPGA 具有自识别功能的 IO 总线装置技术领域0001 本发明涉及总线技术领域,特别是涉及可扩展的电力设备保护装置。背景技术0002 传统的电力设备保护装置中,主 CPU 板与开入、开出、模拟量等板件之间的连接采用专用总线,数据交互直接建立在主 CPU 与各种板件之间,此种数据传输方式存在诸多固有缺陷。首先,这种传输方式固定住各。

6、块板件的位置,即各块板件只能插在背板的固定位置,背板与主 CPU 板之间的连线在设计之初就已经固定,背板上各槽位不能插接其他类型的板件。其次,板件插错可能导致装置损坏,尤其是误插错电源板或模拟量板,将可能导致主 CPU 板损坏。第三,由于专用连线繁多,并且保护装置中没有智能的自检功能和识别功能,在长期工作中,会发生板件接插件处氧化,导致板件与背板连接不可靠,输入信号不能被正确识别,输出信号也可能错误动作。第四,随着电力设备对保护装置的需求增加,CPU需要经常更新换代,传统的装置往往需要对硬件和程序进行大幅修改。发明内容0003 为了解决上述现有技术中存在的问题,本发明提供了一种基于 FPGA 。

7、具有自识别功能的IO总线装置。实现了各种板件任意位置安装,并且主CPU具有自识别板件功能,从而增强了电力设备保护装置的可靠性。同时,通过 FPGA 管理 IO 总线,方便了硬件平台升级,CPU 更新换代。0004 本发明所采用的技术方案如下。0005 一种基于 FPGA 具有自识别功能的 IO 总线装置,包括 CPU、FPGA、槽位板件、并行总线、串行总线以及现场总线,所述 CPU 通过外部总线与 FPGA 进行数据交互,所述 FPGA 通过并行总线或者串行总线与槽位板件交互 ;CPU 通过现场总线与槽位板件直接交互 ;所述FPGA 提供板件地址给 CPU,并帮助 CPU 发送和接收数据。所述。

8、 FPGA 中设有状态机,状态机能够循环选中板件接口,读取板件信息和数据信号。0006 所述并行总线采用数据线、片选线、写信号线、读信号线,数据线为各槽位公用,并且数据传输为双向 ;各板件接口都连接片选线 ;读信号线中部分用于读取板件信息。0007 所述数据线为 8 位,所述选线为 1 位,所述写信号线为 4 位,所述读信号线为 6 位,其中 2 位读信号线用作读取板件信息,4 位用作读取功能数据。0008 所述板件信息由 2 个 8 位数据组成,包含 5 位板件类型、3 位硬件版本、5 位 BOM 版本、3 位固定码。0009 所述 FPGA 的发送和接收寄存器采用 FIFO 缓存数据。00。

9、10 所述现场总线为 CAN 总线,所述串行总线为 RS485 串行总线。0011 基于 FPGA 具有自识别功能的 IO 总线装置是通过 FPGA 对并行总线和串行总线统一管理,把 FPGA 当作 CPU 与各板件数据交互的主要桥梁。并行总线采用 8 位数据线、1 位片选线、4 位写信号线、6 位读信号线。串行总线可为 RS485 串行总线。 FPGA 通过并行总线说 明 书CN 104484301 A2/6 页4和 RS485 串行总线与各板件连接。FPGA 提供板件接口地址给 CPU,并帮助 CPU 发送和接收数据。对于速率要求较高的数据量采用 CAN 总线进行通讯,CPU 直接与各板件。

10、通讯。0012 并行总线由 FPGA 控制,背板上每个槽位都对应有各自的 CS 片选线。8 位数据为所有槽位公用,数据线是双向的,FPGA 可以发送数据给每个板件,也可以读取每个板件的数据。WR 写信号线有 4 位,配合 8 位数据线,可以向每个槽位的板件发送 32 位数据,如控制开出板上的继电器,单板最多支持 32 个继电器。同样的读信号线有 6 位,其中 2 位用作读取板件信息,剩余的4位用作读取功能数据,如读取开入板的开入量,单个板件最多支持32个开入信号。在 FPGA 中使用状态机循环选中每个槽位,并对读取每个槽位的板件信息和数据信号 ( 如开入量 ),接着写入数据到相应板件 ( 如控。

11、制继电器 )。自识别功能是通过读取板件信息实现的,板件信息由 2 个 8 位数据组成。板件信息包含 5 位板件类型、3 位硬件版本、5 位 BOM 版本、3 位固定码 ( 如 010)。固定码用于判断板件是否插入,便于排查因焊接出错导致板件信息错误的现象。0013 串行总线用于补充并行总线的不足,当主 CPU 板需要与专用板件通讯时,就采用串行总线传输数据。如直流采样板需要把采样数据上发给主 CPU 板时,直流采样板通过RS485 与主 CPU 板通讯。RS485 串行通讯总线也是由 FPGA 模拟 uart 实现,FPGA 将 RS485 串行总线传输的数据提供给CPU接口。FPGA的发送和。

12、接收寄存器可以采用FIFO缓存数据,这样减少 CPU 的消耗。背板上的每个槽位都留有 RS485 串行总线,方便每个槽位与主 CPU 板通讯。CAN 总线也是同样的设计,只不过是 CPU 与板件直接通讯,不经过 FPGA 统一控制。0014 并行总线与串行总线不仅可以独立工作传输不同的数据,还可以协同工作,都用来传输同种数据。对于关键数据使用并行总线传输给 CPU,同时也使用串行总线传输给CPU,这样增强了传输数据的可靠性。0015 有益效果 :0016 本发明相对于传统的电力设备保护装置内部数据总线作出了改进。0017 首先,总线对每个槽位的板件都可以自识别,这样可以读取板件信息,自识别板件。

13、类型,硬件版本等信息,便于程序处理,增强了各个板件的通用性。0018 其次,在 FPGA 中设计状态机循环控制每个槽位,增强了板件位置的灵活性,每个槽位不再固定只能插单种板件,而是每个槽位都可以插接任意板件。0019 第三,数据传输既可以通过并行总线,也可以通过串行总线,还可以同时通过两类总线传输,增强了数据的可靠性。而且 FPGA 中可以对开入量进行消抖动处理,增强了开入数据的可靠性。0020 第四,FPGA 控制并行总线和串行总线,于主 CPU 来说程序不需要 uart 驱动,方便主CPU更新换代,只需要编写与FPGA通讯部分的代码,就可以控制开出、读取开入和交换板件数据等功能。0021 。

14、第五,本发明数据读取和写入时主 CPU 与 FPGA 之间的操作可以保留 32 位,这种方法在一定程度上节省了主CPU的开销,降低了主CPU的使用率,同时对于读取的开入量还可以做消抖处理,在 FPGA 中做消抖处理又一步节省了主 CPU 的开销。0022 第六,在 FPGA 中采用上述的 RS485 串行总线控制器,增强了整体的通用性,主 CPU访问以上地址就可以实现 RS485 串行通讯,节省了主 CPU 的查询或中断时间。0023 第七,数据可以分别从不同的总线通道到达主 CPU,对于速率要求高的信号,通过说 明 书CN 104484301 A3/6 页5CAN 总线直接与主板的 CPU 。

15、相连,这样保证了信号的及时性。对于速率较低的信号,可以通过 RS485 总线传输数据。0024 第八,并行总线与串行总线不仅可以独立工作传输不同的数据,还可以协同工作,都用来传输同种数据。对于关键数据使用并行总线传输给主CPU,同时也使用串行总线传输给主 CPU,这样增强了传输数据的可靠性。0025 本发明的特点在于,对于某个槽位可以自识别是否有板件插入,自识别插入板件的类型、硬件版本等信息。而且可以动态识别,这样就可以实现板件的热插拔功能。同时板件的设计不局限于某种产品,不同产品可以使用同种单板,尤其是大量使用的开入开出板件。附图说明0026 图 1 是本发明的整体结构框图。0027 图 2。

16、 是本发明读取板件信息的电路图。具体实施方式0028 如图1所示,本实施例包括主CPU板,插接板件的槽位,三种总线并行总线、串行总线以及现场总线,主 CPU 板包括 CPU 模块和 FPGA 模块。其中这三种总线都与各槽位连接。每个槽位都可以使用这三种总线发送数据。除了 CAN 总线是直接由 CPU 与槽位连接,其余都是由 FPGA 与槽位相连,统一管理并行总线和 RS485 总线。0029 每个槽位有各自不同的地方,每个槽位有 CS 片选线与 FPGA 相连,这样 FPGA 就可以分时复用并行总线。0030 并行总线由CS片选线、2根RD_ID、4根RD、4根WR和8根数据线组成,如表1所示。

17、。0031 表 1 总线具体端子定义表0032 A B C1 CS 2 3 DATA1 DGND DATA04 DATA3 DGND DATA25 DATA5 DGND DATA46 DATA7 DGND DATA67 RD_1 DGND RD_0说 明 书CN 104484301 A4/6 页68 RD_3 DGND RD_29 RD_ID1 DGND RD_ID010 WR_1 DGND WR_011 WR_3 DGND WR_212 +3.3V CAN_H RS485+13 +3.3V CAN_L RS485-14 +5V +5V +5V15 +24V +24V +24V16 24GND。

18、 24GND 24GND0033 FPGA 的状态机通过片选、读写信号线读取和写入数据。读取 5 位板件类型和 3 位硬件版本的电路如图 2 所示。当片选线 CS 和 RD_ID0 同时为低电平时,BOARD_RD_ID0 信号为低电平,缓冲器就会把这个板件的 5 位类型码 0x07 和 3 位硬件版本号 0x0 传输到 8 位数据线上,FPGA 就可以读到该板件的类型和版本号。同样的方法可以读取板件的 BOM 号和用来确定板件是否插上的固定码。16 位板件信息定义如表 2 所示。0034 表 2 16 位板件信息定义表0035 0036 说 明 书CN 104484301 A5/6 页700。

19、37 从板件读取32位数据(如开入量)时,采用与读取板件信息同样的方法,通过4位RD 信号线来分别读取 8 位数据,在 FPGA 中拼成一个 32 位数据量,方便 32 位 CPU( 如 ARM)访问。向板件写入 32 位数据 ( 如继电器 ) 时,片选线 CS 与 4 位 WR 线配合,分别写入 8 位数据。此时 CPU 与 FPGA 之间的操作还可以保留 32 位。这种方法在一定程度上节省了 CPU的开销,降低了CPU的使用率,同时对于读取的开入量还可以做消抖处理,在FPGA中做消抖处理又一步节省了 CPU 的开销。0038 如表 1 所示,总线中不仅有并行总线,而且留有 RS485 和 。

20、CAN 两种串行接口。对于速率要求高的信号,通过 CAN 总线直接与主板的 CPU 相连,这样保证了信号的及时性。对于速率较低的信号,可以通过 RS485 总线传输数据。RS485 总线是主板上的 FPGA 与单板连接线,在 FPGA 中开辟 2 个 FIFO 用来缓存总线数据,这样保证数据不丢失传输的同时,减少了CPU 等待的时间,而且对于 CPU 来说程序不需要 uart 驱动,方便 CPU 更新换代,只需要编写与 FPGA 通讯部分的代码,就可以控制开出、读取开入和交换板件数据等功能。0039 FPGA 控制的 RS485 总线接口地址如下表。0040 表 3 FPGA 控制的 RS48。

21、5 总线接口地址表0041 0x3800_C000 RS485 控制寄存器 ;0bit 为时能,1bit 为自发自收,2bit 为复位0x3800_C002 RS485 波特率寄存器 ;用于计算 RS485 的波特率0x3800_C004 TX_FIFO 使用量寄存器 ;0x3800_C008 TX 数据寄存器 ;0x3800_C00A RX_FIFO 使用量寄存器 ;0x3800_C00E RX 数据寄存器 ;说 明 书CN 104484301 A6/6 页80042 0043 在 FPGA 中采用上述的 RS485 串行总线控制器,增强了整体的通用性,CPU 访问以上地址就可以实现 RS485 串行通讯,节省了 CPU 的查询或中断时间。说 明 书CN 104484301 A1/1 页9图1图2说 明 书 附 图CN 104484301 A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1