CN114338273A - 一种基于fpga的profibus-dp从站控制*** - Google Patents
一种基于fpga的profibus-dp从站控制*** Download PDFInfo
- Publication number
- CN114338273A CN114338273A CN202111648923.4A CN202111648923A CN114338273A CN 114338273 A CN114338273 A CN 114338273A CN 202111648923 A CN202111648923 A CN 202111648923A CN 114338273 A CN114338273 A CN 114338273A
- Authority
- CN
- China
- Prior art keywords
- data
- profibus
- bus
- module
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000002093 peripheral effect Effects 0.000 claims abstract description 46
- 238000013461 design Methods 0.000 claims abstract description 11
- 230000003139 buffering effect Effects 0.000 claims description 35
- 238000004458 analytical method Methods 0.000 claims description 11
- 238000007781 pre-processing Methods 0.000 claims description 11
- 238000000034 method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 238000012856 packing Methods 0.000 claims description 5
- 230000007175 bidirectional communication Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 13
- 230000006854 communication Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 5
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 2
- 238000004801 process automation Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Communication Control (AREA)
Abstract
本发明提供了一种基于FPGA的PROFIBUS‑DP从站控制***,PROFIBUS‑DP从站和PROFIBUS‑DP主站连接到PROFIBUS‑DP总线上,包括FPGA芯片和若干扩展外设,所述FPGA芯片连接所述扩展外设和所述PROFIBUS‑DP总线;在所述FPGA芯片中,通过逻辑设计实现了逻辑模块和MCU软核,所述逻辑模块接收所述PROFIBUS‑DP总线发送的数据并对所述PROFIBUS‑DP总线发送的数据进行预处理后发送至所述MCU软核,所述MCU软核对所述逻辑模块发送的数据进行解析,并根据解析数据执行对所述PROFIBUS‑DP主站、所述扩展外设和自身的控制;本发明具有高速率、成本低、灵活性高和易扩展的特性。
Description
技术领域
本发明涉及数据通信与控制技术领域,尤其涉及一种基于FPGA的PROFIBUS-DP从站控制***。
背景技术
过程现场总线(PROFIBUS,Process Field Bus)是一种完全开放的,广泛应用于工厂自动化、流程自动化的国际标准总线协议,用于实现监控和现场设备层数据通信与控制。根据适用对象和场合,以及使用规范上的不同,PROFIBUS分为三种类型:PROFIBUS-FMS(现场总线信息规范), PROFIBUS-DP(分布式周边),PROFIBUS-PA(过程自动化)。其中,DP(Decentralized Periphery)经过优化、专门用于现场 I/O 设备与自动控制***之间数字高速率通信,数据传输速率范围9.6Kbit/s~12Mbit/s;在实际应用中,90%的PROFIBUS用量属于DP的使用量,因此DP技术在PROFIBUS 中最具影响力。
PROFIBUS-DP从站***包含硬件电路部分和软件控制部分,其中硬件电路部分保证通信芯片的正常工作和信号传输质量,软件控制部分主要分为PROFIBUS-DP的初始化和正常数据通信的控制。
作为完全开放的协议,现有的PROFIBUS-DP从站控制***的设计主要包括以下三种情况:
1、使用单片机实现PROFIBUS-DP从站控制***的设计,适用于简单、低速的场合,无法满足高速率通信;
2、使用专用通信协议芯片与CPU/FPGA芯片结合或者使用CPU芯片与FPGA芯片内软核、硬核结合实现PROFIBUS-DP从站控制***的设计,虽然功能完整,但专用通信协议芯片成本较高,灵活性有限,并且两种芯片在硬件设计上占用PCB板空间较大;
3、使用FPGA芯片内部逻辑实现PROFIBUS-DP从站控制***的设计,单纯使用Verilog硬件语言实现,但由于硬件语言的特点导致整个框架的灵活性欠缺,不便于进行应用的扩展开发。
发明内容
本发明的目的在于提供一种基于FPGA的PROFIBUS-DP从站控制***,具有高速率、成本低、灵活性高和易扩展的特性。
为了达到上述目的,本发明提供了一种基于FPGA的PROFIBUS-DP从站控制***,PROFIBUS-DP从站和PROFIBUS-DP主站连接到PROFIBUS-DP总线上,其特征在于,包括FPGA芯片和若干扩展外设,所述FPGA芯片连接所述扩展外设和所述PROFIBUS-DP总线;
在所述FPGA芯片中,通过逻辑设计实现了逻辑模块和MCU软核,所述逻辑模块接收所述PROFIBUS-DP总线发送的数据并对所述PROFIBUS-DP总线发送的数据进行预处理后发送至所述MCU软核,所述MCU软核对所述逻辑模块发送的数据进行解析,并根据解析数据执行对所述PROFIBUS-DP主站、所述扩展外设和自身的控制。
可选的,所述MCU软核根据所述解析数据将自身存储的数据和/或获取的所述扩展外设的数据发送至所述逻辑模块。
可选的,所述逻辑模块包括UART子模块和信号缓冲子模块,所述UART子模块接收所述PROFIBUS-DP总线发送的数据并发送至所述信号缓冲子模块,所述信号缓冲子模块接收所述UART子模块发送的数据并进行预处理后发送至所述MCU软核;或者,所述信号缓冲子模块接收所述MCU软核发送的数据并进行数据打包后发送至所述UART子模块。
可选的,所述PROFIBUS-DP总线发送的数据为串行数据,所述信号缓冲子模块发送至所述UART子模块的数据为并行数据;所述UART子模块包括数据接收单元、数据发送单元和波特率发生单元,所述数据接收单元接收所述PROFIBUS-DP总线发送的串行数据,所述数据发送单元将所述信号缓冲子模块发送的并行数据转为串行数据后发送至所述PROFIBUS-DP总线上,所述波特率发生单元提供波特率时钟信号给所述数据接收单元和所述数据发送单元。
可选的,所述波特率发生单元包括波特率自动检测子单元和波特率手动配置子单元,所述波特率自动检测子单元或所述波特率手动配置子单元向所述数据接收单元和所述数据发送单元提供所述波特率时钟信号。
可选的,所述数据接收单元在所述波特率时钟信号下对所述PROFIBUS-DP总线发送的串行数据进行双沿采样并将采样数据发送所述信号缓冲子模块。
可选的,所述信号缓冲子模块包括数据缓存单元、协议预处理单元和总线数据接口单元,所述数据缓存单元和所述协议预处理单元依次将所述UART子模块发送的数据进行缓存和预处理后通过所述总线数据接口单元发送至所述MCU软核;或者,所述MCU软核发送的数据通过所述总线数据接口单元后依次被所述协议预处理单元和所述数据缓存单元进行数据打包和缓存并发送至所述UART子模块。
可选的,所述数据缓存单元包括数据接收缓存子单元和数据发送缓存子单元,所述协议预处理单元包括协议预解析子单元和协议打包子单元,所述总线数据接口单元包括总线数据接收缓存子单元、总线数据发送缓存子单元、总线数据接收接口和总线数据发送接口;
其中,所述数据接收缓存子单元、所述协议预解析子单元和所述总线数据接收缓存子单元依次将所述UART子模块发送的数据进行缓存、预解析和数据转换后通过所述总线数据接收接口发送至所述MCU软核;或者,
所述MCU软核发送的数据通过所述总线数据发送接口后依次被所述总线数据发送缓存子单元、所述协议打包子单元和所述数据发送缓存子单元进行数据转换、数据打包和缓存并发送至所述UART子模块。
可选的,所述MCU软核包括中央控制模块、中断控制模块、总线控制模块和输入输出控制模块,所述总线控制模块接收所述逻辑模块发送的数据并发送至所述中央控制模块或者接收所述中央控制模块发送的数据并发送至所述逻辑模块;所述中断控制模块接收并响应于所述逻辑模块发送的中断信号以控制所述中央控制模块实现中断;所述扩展外设通过所述输入输出控制模块与所述中央控制模块实现双向通信。
可选的,所述输入输出控制模块包括UART控制单元、SPI控制单元和I2C控制单元,所述UART控制单元、所述SPI控制单元和所述I2C控制单元分别具有UART控制接口、SPI控制接口和I2C控制接口,所述UART控制单元、所述SPI控制单元和所述I2C控制单元分别通过所述UART控制接口、所述SPI控制接口和所述I2C控制接口与所述扩展外设连接。
在本发明提供的一种基于FPGA的PROFIBUS-DP从站控制***中,包括FPGA芯片和若干扩展外设,FPGA芯片连接扩展外设和PROFIBUS-DP总线,从硬件层面看,本发明的从站控制***仅用一片FPGA芯片实现,并且适用于不同型号的FPGA芯片,节省硬件成本和PCB板空间;在FPGA芯片中,通过逻辑设计实现了逻辑模块和MCU软核,逻辑模块接收PROFIBUS-DP总线发送的数据并对PROFIBUS-DP总线发送的数据进行预处理后发送至MCU软核,逻辑模块处理数据速率高,实时性好,满足PROFIBUS-DP总线上较高速率的需求;MCU软核对逻辑模块发送的数据进行解析,并根据解析数据执行对PROFIBUS-DP主站、扩展外设和自身的控制,通过在FPGA芯片中实现MCU软核,增加了应用的灵活性,可以根据应用需求对MCU软核的功能进行扩展和缩减。因此,本发明具有高速率、成本低、灵活性高和易扩展的特性。
附图说明
图1为本发明一实施例提供的基于FPGA的PROFIBUS-DP从站控制***的硬件框架示意图。
图2为本发明一实施例提供的基于FPGA的PROFIBUS-DP从站控制***中FPGA芯片的框架示意图。
图3和图4为本发明一实施例提供的基于FPGA的PROFIBUS-DP从站控制***中FPGA芯片中的逻辑模块的框架示意图。
图5为本发明一实施例提供的基于FPGA的PROFIBUS-DP从站控制***中FPGA芯片中的MCU软核的框架示意图。
图6为本发明一实施例提供的基于FPGA的PROFIBUS-DP从站控制***中FPGA芯片的整体框架示意图。
具体实施方式
下面将结合示意图对本发明的具体实施方式进行更详细的描述。根据下列描述,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
图1为本实施例提供的基于FPGA的PROFIBUS-DP从站控制***的硬件框架示意图。请参考图1,本实施例提供了一种基于FPGA的PROFIBUS-DP从站控制***,PROFIBUS-DP从站和PROFIBUS-DP主站连接到PROFIBUS-DP总线上,基于FPGA的PROFIBUS-DP从站控制***包括FPGA芯片和若干扩展外设,FPGA芯片连接若干扩展外设,扩展外设可为温度传感器、扩展测试接口、扩展串口等。并且FPGA芯片连接到PROFIBUS-DP总线以接收PROFIBUS-DP总线发送的数据并对PROFIBUS-DP总线发送的数据进行处理,以通过PROFIBUS-DP总线实现PROFIBUS-DP从站和PROFIBUS-DP主站的数据通信和***控制。例如FPGA芯片实时接收PROFIBUS-DP总线发送的数据并对PROFIBUS-DP总线发送的数据进行识别,判断PROFIBUS-DP总线发送的数据是否需要PROFIBUS-DP从站进行处理,若不需要则忽略PROFIBUS-DP总线发送的数据,若需要则FPGA芯片响应于PROFIBUS-DP总线发送的数据执行相应的操作,比如PROFIBUS-DP总线发送的数据要求获取扩展外设的数据,则FPGA芯片获取扩展外设的数据,然后FPGA芯片将获得的扩展外设的数据进行打包等处理发送至PROFIBUS-DP总线上。
进一步地,在PROFIBUS-DP总线和FPGA芯片之间设有隔离电路,由于PROFIBUS-DP总线属于工业总线,而FPGA芯片应用于弱电中,在PROFIBUS-DP总线和FPGA芯片之间设置隔离电路可以起到避免浪涌,消除地电势差等作用。在本实施例中,从硬件角度看,通过一片FPGA芯片就能够实现PROFIBUS-DP从站的主要功能,无需再使用专用协议解析芯片,也不需使用特制接口模块,能够节约硬件成本和PCB板空间。
图2为本实施例提供的基于FPGA的PROFIBUS-DP从站控制***中FPGA芯片的框架示意图。请参考图2,在FPGA芯片中,通过逻辑设计实现了逻辑模块和MCU软核,通过编程语言在FPGA芯片中嵌入MCU软核,此编程语言可为C语言,MCU软核可以根据实际需要灵活扩展功能,例如FPGA芯片需要与更多的扩展外设连接以实现更多功能,则可以根据需要实现的功能对MCU软核进行扩展功能的开发;以及,通过编程语言在FPGA芯片中设置逻辑模块,此编程语言为硬件Verilog语言,逻辑模块主要用于对PROFIBUS-DP总线发送的数据进行收发控制,逻辑模块能够使***的处理数据速率高、实时性好,满足了PROFIBUS-DP总线上较高速率的需求。
在本实施例中,逻辑模块接收PROFIBUS-DP总线发送的数据并对PROFIBUS-DP总线发送的数据进行预处理后发送至MCU软核,MCU软核对逻辑模块发送的数据进行解析,并根据解析数据执行对PROFIBUS-DP主站、扩展外设和自身的控制。逻辑模块还向MCU软核发送中断信号,MCU软核接收并响应于中断信号实现对MCU软核的中断控制;并且MCU软核可根据解析数据将自身存储的数据和/或获取的扩展外设的数据发送至逻辑模块中。
图3和图4为本实施例提供的基于FPGA的PROFIBUS-DP从站控制***中FPGA芯片中的逻辑模块的框架示意图。请参考图3和图4,逻辑模块包括UART子模块和信号缓冲子模块,UART子模块接收PROFIBUS-DP总线发送的数据并发送至信号缓冲子模块,信号缓冲子模块对接收UART子模块发送的数据并进行预处理后发送至MCU软核;或者,信号缓冲子模块接收MCU软核发送的数据并进行数据打包后至UART子模块。
进一步地,UART子模块数据接收单元、数据发送单元和波特率发生单元,PROFIBUS-DP总线发送的数据为串行数据,信号缓冲子模块发送至UART子模块的数据为并行数据;数据接收单元接收PROFIBUS-DP总线发送的数据的串行数据,数据发送单元将信号缓冲子模块发送的并行数据转为串行数据发送至PROFIBUS-DP总线上;波特率发生单元提供波特率时钟信号给数据接收单元和数据发送单元,具体是波特率发生单元接收输入的时钟信号,此时钟信号可以是外部***时钟输入,波特率发生单元将输入的时钟信号转换成需要的波特率时钟,然后将波特率时钟信号给数据接收单元和数据发送单元。在本实施例中,波特率发生单元包括波特率自动检测子单元和波特率手动配置子单元,通过波特率自动检测子单元或波特率手动配置子单元向数据接收单元和数据发送单元提供波特率时钟信号,其中波特率自动检测子单元适用场景更广,但是复杂度相对较高,对硬件要求较高;波特率手动配置子单元适用于波特率固定不变的场景,对硬件要求较低,所占用FPGA芯片内部资源较少。
进一步地,数据接收单元在波特率时钟信号下对PROFIBUS-DP总线发送的串行数据进行双沿采样并将采样数据发送信号缓冲子模块,双沿采样能够降低***时钟,对选取FPGA芯片的要求较低,适用于不同型号的FPGA芯片。
进一步地,信号缓冲子模块包括数据缓存单元、协议预处理单元和总线数据接口单元,信号缓冲子模块包括数据缓存单元、协议预处理单元和总线数据接口单元,数据缓存单元和协议预处理单元依次将UART子模块发送的数据进行缓存和预处理后通过总线数据接口单元发送至MCU软核;或者,MCU软核发送的数据通过总线数据接口单元后依次被协议预处理单元和数据缓存单元进行数据打包和缓存并发送至UART子模块。
其中,数据缓存单元包括数据接收缓存子单元和数据发送缓存子单元,协议预处理单元包括协议预解析子单元和协议打包子单元,总线数据接口单元包括总线数据接收缓存子单元、总线数据发送缓存子单元、总线数据接收接口和总线数据发送接口。数据接收缓存子单元、协议预解析子单元和总线数据接收缓存子单元依次将UART子模块发送的数据进行缓存、预解析和数据转换后通过总线数据接收接口发送至MCU软核;或者,MCU软核发送的数据通过总线数据发送接口后依次被总线数据发送缓存子单元、协议打包子单元和数据发送缓存子单元进行数据转换、数据打包和缓存并发送至UART子模块。具体是数据接收单元接收PROFIBUS-DP总线发送的串行数据后发送至数据接收缓存子单元,数据接收缓存子单元将数据接收单元发送的数据暂存在数据接收缓存子单元中,然后发送至协议预解析子单元进行初步解析,初步解析主要是进行数据校验和分析,进而将预解析后的数据发送至总线数据接收缓存子单元,总线数据接收缓存子单元按照MCU软核的总线接口协议进行数据转换再通过总线数据接收接口发送至MCU软核。或者,总线数据发送缓存子单元通过总线数据发送接口接收MCU软核发送的数据,经总线数据发送缓存子单元按照逻辑模块的总线接口协议进行数据转换后发送至协议打包子单元,协议打包子单元将数据按照固定模式进行包装后发送至数据发送缓存子单元,固定模式为接收方可识别的模式,数据发送缓存子单元将打包好的数据暂存在数据发送缓存子单元,然后通过数据发送单元发送至PROFIBUS-DP总线上。
图5为本实施例提供的基于FPGA的PROFIBUS-DP从站控制***中FPGA芯片中的MCU软核的框架示意图。请参考图5,MCU软核包括中央控制模块、中断控制模块、总线控制模块、输入输出控制模块、程序存储模块、随机存储模块和定时模块/计数模块;其中,总线控制模块具有总线数据接口,且总线数据模块的总线数据接口与逻辑模块中的总线数据接收接口和总线数据发送接口连接,总线控制模块接收逻辑模块发送的数据发送至中央控制模块或者接收中央控制模块发送的数据发送至逻辑模块;输入时钟信号给中央控制模块,中央控制模块包括控制模块和运算模块,总线控制模块与中央控制模块、输入输出控制模块、随机存储模块、双向通信和定时模块/计数模块双向通信,中央控制模块能够获得程序存储模块中存储的数据,外部输入中断信号给中断控制模块,中断控制模块能够获得程序存储模块的数据并响应于中断信号,以控制中央控制模块实现中断并执行相应的操作;扩展外设与输入输出控制模块连接,扩展外设通过输入输出控制模块与中央控制模块实现数据交互。
在本实施例中,输入输出控制模块包括UART控制单元、SPI控制单元和I2C控制单元,但不限于上述控制单元;UART控制单元、SPI控制单元和I2C控制单元分别具有UART控制接口、SPI控制接口和I2C控制接口,上述接口均为输入输出双向接口,UART控制单元、SPI控制单元和I2C控制单元分别通过UART控制接口、SPI控制接口和I2C控制接口分别与不同的扩展外设连接,以实现扩展外设与中央控制模块的双向通信。
进一步地,MCU软核可以根据实际需求灵活实现功能扩展,例如FPGA芯片需要与更多的扩展外设连接以实现更多功能,则可以根据需要实现的功能对MCU软核进行开发,功能扩展后同样具有扩展接口,扩展接口与扩展外设连接,实现更多的扩展外设与中央控制模块的双向通信。
图6为本实施例提供的基于FPGA的PROFIBUS-DP从站控制***中FPGA芯片的整体框架示意图。请参考图6,PROFIBUS-DP总线上的数据输入至FPGA芯片,依次经过数据接收模块、数据接收缓存子单元、协议预解析模块和总线数据接收缓存子单元的预处理后,逻辑模块将预处理后的数据通过总线接收接口发送至总线控制模块,总线控制模块将逻辑模块发送的数据发送至中央控制模块,中央控制模块结合程序存储模块、随机存储模块和定时模块/计数模块实现对逻辑模块发送的数据的解析,中央控制模块响应于解析后的数据执行相应的进程,例如解析后的数据要求获得扩展外设的数据,则中央控制模块获得扩展外设的数据,然后将获得的扩展外设的数据通过总线控制模块发送至逻辑模块,在将扩展外设的数据通过总线控制模块发送给逻辑模块的同时,通过总线控制模块发送写标志,标示逻辑模块可以写入从MCU内核发送的数据即扩展外设的数据;扩展外设的数据通过总线数据发送接口发送至总线数据发送缓存子单元,经总线数据发送缓存子单元处理后,依次经过协议打包子单元、数据发送缓存子单元和数据发送单元将扩展外设的数据发送至PROFIBUS-DP总线上。在本实施例中,FPGA芯片中还具有看门狗,当***出现死机时,通过看门狗对逻辑模块和MCU软核进行复位,看门狗输入时钟信号,此时钟信号可以是外部***时钟输入。
在图1至图6中,箭头的指向表示输入和/或输出,在上述内容中,已经清楚说明每个模块、子模块、单元和子单元的输入和输出的数据或信号走向,即已说明箭头的指向的含义。例如在图4中数据接收单元的输入箭头表示PROFIBUS-DP总线发送的数据输入至数据接收单元即数据接收单元接收PROFIBUS-DP总线发送的数据,数据发送单元的输出箭头表示数据发送单元发送数据至PROFIBUS-DP总线上,波特率发生单元的输入箭头表示外部时钟信号输入至波特率发生单元,总线数据接收接口的输出箭头表示通过总线数据接收接口发送数据至MCU软核,总线数据发送接口的输入箭头表示MCU软核发送的数据通过总线数据发送接口输入;在图5中中断控制模块的输入箭头表示逻辑模块发送的中断信号发送至中断控制模块,中央控制模块的两个输入箭头一个是表示中断控制模块发送的数据至中央控制模块,另一个是表示外部输入中断信号给中央控制模块,总线控制模块的双向箭头表示既可以接收逻辑模块发送的数据又可以发送数据至逻辑模块,输入输出控制模块的双向箭头表示既可以接收扩展外设发送的数据即获得扩展外设的数据又可以发送数据至扩展外设,功能扩展的双向箭头同样既可以发送数据又可以接收数据。
综上,在本发明提供的一种基于FPGA的PROFIBUS-DP从站控制***中,包括FPGA芯片和若干扩展外设,FPGA芯片连接扩展外设和PROFIBUS-DP总线,从硬件层面看,本发明的从站控制***仅用一片FPGA芯片实现,并且适用于不同型号的FPGA芯片,节省硬件成本和PCB板空间;在FPGA芯片中,通过逻辑设计实现了逻辑模块和MCU软核,逻辑模块接收PROFIBUS-DP总线发送的数据并对PROFIBUS-DP总线发送的数据进行预处理后发送至MCU软核,逻辑模块处理数据速率高,实时性好,满足PROFIBUS-DP总线上较高速率的需求;MCU软核对逻辑模块发送的数据进行解析,并根据解析数据执行对PROFIBUS-DP主站、扩展外设和自身的控制,通过在FPGA芯片中实现MCU软核,增加了应用的灵活性,可以根据应用需求对MCU软核的功能进行扩展和缩减。因此,本发明具有高速率、成本低、灵活性高和易扩展的特性。
上述仅为本发明的优选实施例而已,并不对本发明起到任何限制作用。任何所属技术领域的技术人员,在不脱离本发明的技术方案的范围内,对本发明揭露的技术方案和技术内容做任何形式的等同替换或修改等变动,均属未脱离本发明的技术方案的内容,仍属于本发明的保护范围之内。
Claims (10)
1.一种基于FPGA的PROFIBUS-DP从站控制***,PROFIBUS-DP从站和PROFIBUS-DP主站连接到PROFIBUS-DP总线上,其特征在于,包括FPGA芯片和若干扩展外设,所述FPGA芯片连接所述扩展外设和所述PROFIBUS-DP总线;
在所述FPGA芯片中,通过逻辑设计实现了逻辑模块和MCU软核,所述逻辑模块接收所述PROFIBUS-DP总线发送的数据并对所述PROFIBUS-DP总线发送的数据进行预处理后发送至所述MCU软核,所述MCU软核对所述逻辑模块发送的数据进行解析,并根据解析数据执行对所述PROFIBUS-DP主站、所述扩展外设和自身的控制。
2.如权利要求1所述的一种基于FPGA的PROFIBUS-DP从站控制***,其特征在于,所述MCU软核根据所述解析数据将自身存储的数据和/或获取的所述扩展外设的数据发送至所述逻辑模块。
3.如权利要求1所述的一种基于FPGA的PROFIBUS-DP从站控制***,其特征在于,所述逻辑模块包括UART子模块和信号缓冲子模块,所述UART子模块接收所述PROFIBUS-DP总线发送的数据并发送至所述信号缓冲子模块,所述信号缓冲子模块接收所述UART子模块发送的数据并进行预处理后发送至所述MCU软核;或者,所述信号缓冲子模块接收所述MCU软核发送的数据并进行数据打包后发送至所述UART子模块。
4.如权利要求3所述的一种基于FPGA的PROFIBUS-DP从站控制***,其特征在于,所述PROFIBUS-DP总线发送的数据为串行数据,所述信号缓冲子模块发送至所述UART子模块的数据为并行数据;所述UART子模块包括数据接收单元、数据发送单元和波特率发生单元,所述数据接收单元接收所述PROFIBUS-DP总线发送的串行数据,所述数据发送单元将所述信号缓冲子模块发送的并行数据转为串行数据后发送至所述PROFIBUS-DP总线上,所述波特率发生单元提供波特率时钟信号给所述数据接收单元和所述数据发送单元。
5.如权利要求4所述的一种基于FPGA的PROFIBUS-DP从站控制***,其特征在于,所述波特率发生单元包括波特率自动检测子单元和波特率手动配置子单元,所述波特率自动检测子单元或所述波特率手动配置子单元向所述数据接收单元和所述数据发送单元提供所述波特率时钟信号。
6.如权利要求4或5所述的一种基于FPGA的PROFIBUS-DP从站控制***,其特征在于,所述数据接收单元在所述波特率时钟信号下对所述PROFIBUS-DP总线发送的串行数据进行双沿采样并将采样数据发送所述信号缓冲子模块。
7.如权利要求3所述的一种基于FPGA的PROFIBUS-DP从站控制***,其特征在于,所述信号缓冲子模块包括数据缓存单元、协议预处理单元和总线数据接口单元,所述数据缓存单元和所述协议预处理单元依次将所述UART子模块发送的数据进行缓存和预处理后通过所述总线数据接口单元发送至所述MCU软核;或者,所述MCU软核发送的数据通过所述总线数据接口单元后依次被所述协议预处理单元和所述数据缓存单元进行数据打包和缓存并发送至所述UART子模块。
8.如权利要求7所述的一种基于FPGA的PROFIBUS-DP从站控制***,其特征在于,所述数据缓存单元包括数据接收缓存子单元和数据发送缓存子单元,所述协议预处理单元包括协议预解析子单元和协议打包子单元,所述总线数据接口单元包括总线数据接收缓存子单元、总线数据发送缓存子单元、总线数据接收接口和总线数据发送接口;
其中,所述数据接收缓存子单元、所述协议预解析子单元和所述总线数据接收缓存子单元依次将所述UART子模块发送的数据进行缓存、预解析和数据转换后通过所述总线数据接收接口发送至所述MCU软核;或者,
所述MCU软核发送的数据通过所述总线数据发送接口后依次被所述总线数据发送缓存子单元、所述协议打包子单元和所述数据发送缓存子单元进行数据转换、数据打包和缓存并发送至所述UART子模块。
9.如权利要求1所述的一种基于FPGA的PROFIBUS-DP从站控制***,其特征在于,所述MCU软核包括中央控制模块、中断控制模块、总线控制模块和输入输出控制模块,所述总线控制模块接收所述逻辑模块发送的数据并发送至所述中央控制模块或者接收所述中央控制模块发送的数据并发送至所述逻辑模块;所述中断控制模块接收并响应于所述逻辑模块发送的中断信号以控制所述中央控制模块实现中断;所述扩展外设通过所述输入输出控制模块与所述中央控制模块实现双向通信。
10.如权利要求9所述的一种基于FPGA的PROFIBUS-DP从站控制***,其特征在于,所述输入输出控制模块包括UART控制单元、SPI控制单元和I2C控制单元,所述UART控制单元、所述SPI控制单元和所述I2C控制单元分别具有UART控制接口、SPI控制接口和I2C控制接口,所述UART控制单元、所述SPI控制单元和所述I2C控制单元分别通过所述UART控制接口、所述SPI控制接口和所述I2C控制接口与所述扩展外设连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111648923.4A CN114338273A (zh) | 2021-12-30 | 2021-12-30 | 一种基于fpga的profibus-dp从站控制*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111648923.4A CN114338273A (zh) | 2021-12-30 | 2021-12-30 | 一种基于fpga的profibus-dp从站控制*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114338273A true CN114338273A (zh) | 2022-04-12 |
Family
ID=81019017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111648923.4A Pending CN114338273A (zh) | 2021-12-30 | 2021-12-30 | 一种基于fpga的profibus-dp从站控制*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114338273A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833142A (zh) * | 2012-09-10 | 2012-12-19 | 天津理工大学 | 一种基于FPGA的Profibus-DP从站装置 |
CN204906430U (zh) * | 2015-08-04 | 2015-12-23 | 西安工程大学 | 现场总线协议转换装置 |
CN109407578A (zh) * | 2018-10-15 | 2019-03-01 | 杭州和利时自动化有限公司 | 一种Profibus-DP总线控制器的数据处理方法 |
CN110519138A (zh) * | 2019-08-12 | 2019-11-29 | 北京和利时***工程有限公司 | 一种Profibus-DP主站协议的实现方法及*** |
CN111078611A (zh) * | 2019-12-17 | 2020-04-28 | 昆明联诚科技股份有限公司 | 一种基于fpga的plc高速背板总线 |
US20200186414A1 (en) * | 2019-09-09 | 2020-06-11 | Intel Corporation | Link Layer Communication By Multiple Link Layer Encodings For Computer Buses |
-
2021
- 2021-12-30 CN CN202111648923.4A patent/CN114338273A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102833142A (zh) * | 2012-09-10 | 2012-12-19 | 天津理工大学 | 一种基于FPGA的Profibus-DP从站装置 |
CN204906430U (zh) * | 2015-08-04 | 2015-12-23 | 西安工程大学 | 现场总线协议转换装置 |
CN109407578A (zh) * | 2018-10-15 | 2019-03-01 | 杭州和利时自动化有限公司 | 一种Profibus-DP总线控制器的数据处理方法 |
CN110519138A (zh) * | 2019-08-12 | 2019-11-29 | 北京和利时***工程有限公司 | 一种Profibus-DP主站协议的实现方法及*** |
US20200186414A1 (en) * | 2019-09-09 | 2020-06-11 | Intel Corporation | Link Layer Communication By Multiple Link Layer Encodings For Computer Buses |
CN111078611A (zh) * | 2019-12-17 | 2020-04-28 | 昆明联诚科技股份有限公司 | 一种基于fpga的plc高速背板总线 |
Non-Patent Citations (2)
Title |
---|
朱博 等: ""基于FPGA的PROFIBUS- DP从站链路层控制器IP核的设计"", 《微电子学与计算机》, vol. 24, no. 1, 31 January 2007 (2007-01-31), pages 2 - 4 * |
蔡远斌: ""基于FPGA的PROFIBUS-DP从站研究与实现"", 《中国优秀硕士学位论文全文数据库(信息科技I辑)》, 15 September 2012 (2012-09-15), pages 5 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107203484B (zh) | 一种基于FPGA的PCIe与SRIO总线桥接*** | |
CN110213143B (zh) | 一种1553b总线ip核及监视*** | |
CN110471872B (zh) | 一种基于zynq芯片实现m-lvds总线数据交互***和方法 | |
CN210781101U (zh) | 数据采集装置及数据采集*** | |
CN110417780B (zh) | 定制化数据传输协议的多通道高速数据接口转化模块 | |
CN108132897B (zh) | 一种基于zynq平台软核的srio控制器 | |
CN111090603B (zh) | 一种lvds转usb3.0适配器 | |
CN103714029A (zh) | 新型二线同步通信协议及应用 | |
CN109165178B (zh) | 一种基于RapidIO的弹上***SoC芯片间高速通信方法 | |
CN110851388B (zh) | 针对risc-v处理器的调试***及调试信号传输方法 | |
CN108628784B (zh) | 串行通信器及串行通信*** | |
CN112584092B (zh) | 数据采集装置及数据采集*** | |
CN112395230A (zh) | 一种基于可编程逻辑器件的uart接口扩展电路 | |
CN114756494A (zh) | 多裸芯互连的标准通信协议与片上包传输协议的转换接口 | |
CN113849436A (zh) | 一种兼容多种串行协议的can数据转换芯片和方法 | |
CN112631976A (zh) | 一种可配置硬件ip电路结构 | |
CN116506524B (zh) | 一种毫米波雷达数据采集卡及其数据采集控制方法 | |
CN114338273A (zh) | 一种基于fpga的profibus-dp从站控制*** | |
CN105939238B (zh) | 一种基于SOC隔离Memory的10Gbps以太网实时数据采集方法 | |
KR100801759B1 (ko) | 슬레이브의 디버깅 방법 및 시스템 | |
CN110069429B (zh) | 基于zynq的实时高性能srio控制器及控制方法 | |
CN115903569A (zh) | 一种全数字综合模块化航电*** | |
CN204795399U (zh) | 基于axi总线的视频数据传输装置 | |
CN112147918B (zh) | 基于arm+fpga+dsp架构的异步数据交互方法及*** | |
CN111651399A (zh) | 一种ai板卡及主机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |