CN112506108B - 基于fpga实现lvds通信的plc系统及其方法 - Google Patents

基于fpga实现lvds通信的plc系统及其方法 Download PDF

Info

Publication number
CN112506108B
CN112506108B CN202011481060.1A CN202011481060A CN112506108B CN 112506108 B CN112506108 B CN 112506108B CN 202011481060 A CN202011481060 A CN 202011481060A CN 112506108 B CN112506108 B CN 112506108B
Authority
CN
China
Prior art keywords
data frame
main control
module
fpga
expansion module
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.)
Active
Application number
CN202011481060.1A
Other languages
English (en)
Other versions
CN112506108A (zh
Inventor
禤大祥
李岩
冯桂兵
黄小明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Invt Electric Co Ltd
Original Assignee
Shenzhen Invt Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Invt Electric Co Ltd filed Critical Shenzhen Invt Electric Co Ltd
Priority to CN202011481060.1A priority Critical patent/CN112506108B/zh
Publication of CN112506108A publication Critical patent/CN112506108A/zh
Application granted granted Critical
Publication of CN112506108B publication Critical patent/CN112506108B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25257Microcontroller

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

本发明实施例公开了一种基于FPGA实现LVDS通信的PLC系统及其方法,其包括:主控模块和至少一个扩展模块;所述主控模块包括MCU和FPGA主控芯片,所述MCU和所述FPGA主控芯片相连接,所述FPGA主控芯片通过LVDS接口与所述扩展模块相连接;所述FPGA主控芯片通过数据帧控制所述扩展模块,所述扩展模块通过所述数据帧响应所述FPGA主控芯片的控制。本发明实施例能够减少PLC处理器的硬件设施,优化了结构,从而降低了成本和提高了运行效率。

Description

基于FPGA实现LVDS通信的PLC系统及其方法
技术领域
本发明涉及工业化自动控制领域,尤其涉及一种基于FPGA实现LVDS通信的PLC系统及其方法。
背景技术
PLC(可编程逻辑控制器)是一种数字运算操作电子系统,常用于工业、航空、武器装备控制领域,其采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字式或模拟式的输入输出来控制各种类型的机械设备或生产过程。
在现有的PLC中,通常是通过PLC主机控制与其相连接的多个扩展I/O以实现不同的功能。而现有的技术中,PLC主机与多个扩展I/O之间的连接较为复杂,例如,在PLC主机中包括处理器、串行解串器芯片、锁相环芯片、FPGA以及板间连接器,结构较为臃肿,导致成本较高,同时,还容易互相干扰从而降低处理效率,另外,在扩展I/O中,最后一个扩展I/O需要通过设置末端端子以便于PLC识别多个扩展I/O中的最后一个扩展I/O,不仅增加了成本,还给用户带来了不便。
发明内容
本发明实施例提供一种基于FPGA实现LVDS通信的PLC系统及其方法,其结构简单,不仅能够简化了主控模块的结构,同时还提升了运行效率和降低了成本,同时,还提供了一种主控模块与扩展模块的通信方法,提升了通信效率。
第一方面,本发明实施例提供了一种基于FPGA实现LVDS通信的PLC系统,其包括主控模块和至少一个扩展模块;所述主控模块包括MCU和FPGA主控芯片,所述MCU和所述FPGA主控芯片相连接,所述FPGA主控芯片通过LVDS接口与所述扩展模块相连接;所述FPGA主控芯片通过数据帧控制所述扩展模块,所述扩展模块通过所述数据帧响应所述FPGA主控芯片的控制。
进一步地,所述PLC系统包括多个扩展模块,每个所述扩展模块均包括FPGA辅助芯片,所述FPGA主控芯片通过LVDS接口与第一个所述扩展模块相连接,其余每个所述扩展模块之间通过LVDS接口串联;所述FPGA主控芯片与所有所述FPGA辅助芯片以及每个所述FPGA辅助芯片之间均通过所述数据帧进行通信。
进一步地,所述MCU和所述FPGA主控芯片通过并行接口连接。
第二方面,本发明还提供一种基于FPGA实现LVDS通信的方法,应用于上述基于FPGA实现LVDS通信的PLC系统,所述数据帧包括第一数据帧和第二数据帧;所述FPGA主控芯片通过向所有所述扩展模块发送所述第一数据帧以实现对所有所述扩展模块的编址和识别;所述FPGA主控芯片通过向所有所述扩展模块发送第二数据帧以实现和所有所述扩展模块之间的数据交换。
进一步地,所述第一数据帧包括同步头、指令类型以及地址计数器;所述所述FPGA主控芯片通过向所有所述扩展模块发送所述第一数据帧以实现对所有所述扩展模块的编址和识别的步骤包括下行传输和上行传输,在所述下行传输中,所有所述扩展模块通过接受所述第一数据帧以完成编址从而获得相对应的地址,在所述上行传输中,所述扩展模块通过再次接受所述第一数据帧以及所获得的地址确认自身的时隙。
进一步地,所述第二数据帧包括所述同步头、所述指令类型以及所述扩展模块的数据,其中,所述扩展模块的数据位于每个所述扩展模块相对应的时隙中。
进一步地,所述下行传输和所述上行传输的步骤,包括:
若接收到所述第一数据帧,判断自身是否为最后一级扩展模块;
若自身不是最后一级扩展模块,则在所述第一数据帧的地址计数器中加1,并将所述第一数据帧传输至下一级扩展模块;
若自身是最后一级扩展模块,则确认自身的时隙并将自身的地址以及扩展类型输入至该时隙中,并将所述第一数据帧传输至前一级扩展模块;
若接收到后一级扩展模块传输的所述第一数据帧,则确认自身的时隙并将自身的地址以及扩展类型输入至该时隙中,并将所述第一数据帧传输至前一级扩展模块以便于将所述第一帧数据传回所述FPGA主控芯片从而完成对所有所述扩展模块的编址和识别。
进一步地,所述若自身是最后一级扩展模块,则将自身的地址以及扩展类型输入至相对应的时隙中,并将所述第一数据帧传输至前一级扩展模块的步骤,包括:
若自身是最后一级扩展模块,则生成末端标志;
确认自身的时隙并将所述末端标志以及自身的地址和扩展类型输入至该时隙中,并将所述第一数据帧传输至前一级扩展模块。
进一步地,所述所述FPGA主控芯片通过向所有所述扩展模块发送第二数据帧以实现和所有所述扩展模块之间的数据交换的步骤,包括:
若所述扩展模块接收到所述第二数据帧,识别所述第二数据帧中与自身相对应的时隙,并获取该时隙的数据;
若完成所述数据的获取,判断自身是否为最后一个扩展模块;
若自身不是最后一个扩展模块,则将所述第二数据帧传输至后一级扩展模块;
若自身是最后一个扩展模块,则将自身数据写入相对应的时隙中,并将所述第二数据帧传输至前一级扩展模块;
若接收到后一级扩展模块传输的所述第二数据帧,则将自身数据写入相对应的时隙中,并将所述第二数据帧传输至前一级扩展模块以便于将所述第二数据帧反馈至所述FPGA主控芯片以实现与所述FPGA主控芯片的数据交换。
进一步地,所述FPGA主控芯片同时发送多个所述第二数据帧。
本发明实施例通过将主控模块中的MCU与FPGA主控芯片直接连接,无需其它元件辅助,从而简化了主控模块内部的连接结构,避免了其它元件干扰主控模块的运行,节约了成本的同时还提升了处理效率,同时,主控模块与扩展模块之间通过LVDS接口连接,简化了主控模块与扩展模块之间的连接结构,同时,还通过基于LVDS通信方法,简化了主控模块与扩展模块之间的数据交换过程,进一步地提升了处理效率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于FPGA实现LVDS通信的PLC系统的系统框图;
图2是本发明实施例提供的一种基于FPGA实现LVDS通信的方法的流程示意图;
图3是本发明实施例提供的一种基于FPGA实现LVDS通信的方法的流程示意图;
图4是本发明实施例提供的一种基于FPGA实现LVDS通信的方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
参见图1,其是本发明实施例所提供的一种基于FPGA实现LVDS通信的PLC系统的结构框图,其通过简化主控模块内部的连接结构以及主控模块与扩展模块20之间的连接结构,从而降低了成本和提升了处理效率。本发明实施例提供的基于FPGA实现LVDS通信的PLC系统,包括主控模块和至少一个扩展模块20;所述主控模块包括MCU11和FPGA主控芯片12,所述MCU11和所述FPGA主控芯片12相连接,所述FPGA主控芯片12通过LVDS接口与所述扩展模块20相连接;所述FPGA主控芯片12通过数据帧控制所述扩展模块20,所述扩展模块20通过所述数据帧响应所述FPGA主控芯片12的控制。
具体地,主控模块由MCU11和FPGA主控芯片12组成,并且通过将FPGA主控芯片12与MCU11连接,使得MCU11负责处理整个PLC的系统,而FPGA主控芯片12用于处理与主控模块连接的扩展模块20。而扩展模块20的主要用于实现各种功能,例如,通用开关量的输入采集与控制、通用开关量的输出控制、模拟量的输入采集与控制、模拟量的输出控制以及温度采集与控制等等,每个扩展模块20均具有一个相应的功能,因此,扩展模块20的数量可由具体使用情况进行相应的变化,在某一实施例中,扩展模块20的数量可以为0,即不需要进行额外功能的扩展。
为了进一步地简化主控模块与扩展模块20之间的通信过程以提升通信效率,主控模块通过内部的FPGA主控芯片12与扩展模块20通过LVDS(Low-Voltage DifferentialSignaling)接口连接,LVDS低电压差分信号,是一种低功耗、低误码率、低串扰和低辐射的差分信号技术,用于高速传输数据,且消耗的功率十分的小,在本实施例中利用LVDS接口进行通信时,其接口的接线仅由rxp和rxn以及txp和txn两对差分线组成,不仅接线少,而且扩展简单,稳定。当存在多个扩展模块20时,FPGA主控芯片12与第一个扩展模块20连接,其余的扩展模块20首尾串联。FPGA主控芯片12可以通过向扩展模块20发送数据帧以实现对扩展模块20的控制。具体控制过程分为上行传输和下行传输,在下行传输中FPGA主控芯片12向与其相连的第一个扩展模块20发送数据帧,第一扩展模块20接收到数据帧后进行处理并将数据帧传输至后一级相连接的扩展模块20,直到最后一个扩展模块20,在上行传输中,最后一个扩展模块20对数据帧进行处理后,将数据帧传输至上一级扩展模块20,直到数据帧回到FPGA主控芯片12,从而完成一次控制。
作为进一步的实施例,所述PLC系统包括多个扩展模块20,每个所述扩展模块20均包括FPGA辅助芯片,所述FPGA主控芯片12通过LVDS接口与第一个所述扩展模块20相连接,其余每个所述扩展模块20之间通过LVDS接口串联;所述FPGA主控芯片12与所有所述FPGA辅助芯片一级每个所述FPGA辅助芯片之间均通过所述数据帧进行通信。
其中,多个扩展模块20分别具有不同的功能以实现不同的目的,例如具有温度采集与控制功能的扩展模块20用于采集温度和调整温度的大小。每个扩展模块20中均设有一个相对应的FPGA芯片,除开第一个扩展模块20之外,其余所有的扩展模块20的FPGA芯片之间均通过LVDS接口相连接,以便于通过数据帧进行通信。
作为进一步的实施例,所述MCU11和所述FPGA主控芯片12通过并行接口连接。
其中,将MCU11和FPGA主控芯片12通过并行接口连接,且无需其他串行接口,从而避免了在主控模块内部同时存在串行接口和并行接口,降低了主控模块的复杂程度。
本发明实施例还公开了一种基于FPGA实现LVDS通信的方法,应用于上述实施例中的任一实施例中所述基于FPGA实现LVDS通信的PLC系统。所述数据帧包括第一数据帧和第二数据帧;所述FPGA主控芯片通过向所有所述扩展模块发送所述第一数据帧以实现对所有所述扩展模块的编址和识别;所述FPGA主控芯片通过向所有所述扩展模块发送第二数据帧以实现和所有所述扩展模块之间的数据交换。
具体地,第一数据帧用于收集所有扩展模块的地址信息和扩展类型信息,FPGA主控芯片将第一数据帧发送至第一个扩展模块,第一个扩展模块在接收到第一数据帧后会识别第一数据帧的内容并进行相应的处理,将将第一数据帧传输至后一级的扩展模块,直到传递至最后一个扩展模块,然后再通过将第一数据帧逐级传回直到返回到FPGA主控芯片。第二数据帧用于在完成第一数据帧之后,对扩展模块进行数据交换,其传输过程和第一数据帧的传输过程类似,在此不再进行说明。
作为进一步的实施例,所述第一数据帧包括同步头、指令类型以及地址计数器;所述所述FPGA主控芯片通过向所有所述扩展模块发送所述第一数据帧以实现对所有所述扩展模块的编址和识别的步骤包括下行传输和上行传输,在所述下行传输中,所有所述扩展模块通过接受所述第一数据帧以完成编址从而获得相对应的地址,在所述上行传输中,所述扩展模块通过再次接受所述第一数据帧以及所获得的地址确认自身的时隙。
其中,第一数据帧中的同步头用于同步所处的数据帧,即确保每个扩展模块所接收到的数据帧都是相同的,同时,还用于区别于其它的数据帧,而指令类型具体为ID-PACK。每个扩展模块均可以通过地址计数器进行编址以便于获得自身的地址。在下行传输中,FPGA主控芯片尚未了解所有扩展模块的数量以及扩展类型,因此,在下行传输中,通过逐级传递第一数据帧,以完成对所有扩展模块的编址,当第一数据帧传递至最后一级扩展模块时,此时完成对所有的扩展模块的编址,第一数据帧需要逐级往回传递以便于FPGA主控芯片了解所有扩展模块的信息,即上行传输。在上行传输中,由于每个扩展模块均有了唯一的地址,且扩展模块的数量已经确定,因此可以在第一数据帧中确认自身的时隙,时隙的数量与扩展模块的数量相对应,每个扩展模块均有唯一一个对应的时隙。同时,时隙还用于第二数据帧中的数据交换。
作为进一步的实施例,所述第二数据帧包括所述同步头、所述指令类型以及所述扩展模块的数据,其中,所述扩展模块的数据位于每个所述扩展模块相对应的时隙中。
其中,同步头的作用和第一数据帧中的同步头的作用是相同的,在这里不再进行说明,而第二数据帧的指令类型为DATA-PACK。由于在第一数据帧中已经确认了扩展模块的数量、地址以及扩展类型,且每个扩展模块均有唯一一个对应的时隙。因此,在发送第二数据帧之前,FPGA主控芯片会往时隙中写入该时隙相对应的数据以便于与扩展模块进行数据交换。
如图2所示,作为进一步的实施例,所述下行传输和所述上行传输的步骤,包括:
S110,若接收到所述第一数据帧,判断自身是否为最后一级扩展模块。
其中,由于第一数据帧的传输是逐级传输的,因此可以通过判断自身是否为最后一级扩展模块来决定是否向后一级扩展模块或者前一级扩展模块传输第一数据帧。
S120,若自身不是最后一级扩展模块,则在所述第一数据帧的地址计数器中加1,并将所述第一数据帧传输至下一级扩展模块。
其中,当自身不是最后一级扩展模块时,即需要获取第一数据帧中的地址计数器中的地址,并将该地址作为自身的地址,同时在第一数据中的地址计数器中的地址的数值上加1,然后将该第一数据帧传输至下一级扩展模块,以便于每个扩展模块都是唯一的。
S130,若自身是最后一级扩展模块,则确认自身的时隙并将自身的地址以及扩展类型输入至该时隙中,并将所述第一数据帧传输至前一级扩展模块。
其中,当自身是最后一级扩展模块时,则说明前面每个扩展模块均获得了相对应的地址,则可以将当前地址计数器中的数值作为自己的地址,并且确认与自身相对应的时隙,同时将自身的地址和扩展类型写入至第一数据帧的时隙中,然后将第一数据帧传回上一级扩展模块。
S140,若接收到后一级扩展模块传输的所述第一数据帧,则确认自身的时隙并将自身的地址以及扩展类型输入至该时隙中,并将所述第一数据帧传输至前一级扩展模块以便于将所述第一帧数据传回所述FPGA主控芯片从而完成对所有所述扩展模块的编址和识别。
其中,当处于中间的扩展模块接收到后一级传输过来的第一数据帧时,则表明该第一数据帧是需要返回至FPGA主控芯片的,因此,可以将自身的地址以及扩展类型写入相对应的时隙中,并将该第一数据帧传输至上一级扩展模块,直到该第一数据帧回到FPGA主控芯片。当第一数据帧返回至FPGA主控芯片时,FPGA主控芯片即可以掌握所有相连接的扩展模块的地址和扩展类型,从而便于发送第二数据帧。
如图3所示,作为进一步的实施例,所述步骤S130包括步骤S210和步骤S220。
S210,若自身是最后一级扩展模块,则生成末端标志。
其中,末端标志即代表此次数据传输的终点,以便于FPGA主控芯片确认是否完成对所有主控芯片的编址和识别。
S220,确认自身的时隙并将所述末端标志以及自身的地址和扩展类型输入至该时隙中,并将所述第一数据帧传输至前一级扩展模块。
其中,将带有末端标志的第一数据帧传输至前一级扩展模块,以便于通过前一级扩展模块将第一数据帧传输至FPGA主控芯片。
如图4所示,作为进一步的实施例,所述所述FPGA主控芯片通过向所有所述扩展模块发送第二数据帧以实现和所有所述扩展模块之间的数据交换的步骤,包括:
S310,若接收到所述第二数据帧,识别所述第二数据帧中与自身相对应的时隙,并获取该时隙的数据。
其中,每个扩展模块均只能识别与自身相对应的时隙,因此,每个扩展模块在接收到第二数据帧时,会主动识别与自身相对应的时隙,在识别之后,获取该时隙上的数据。
S320,若完成所述数据的获取,判断自身是否为最后一个扩展模块。
其中,当完成数据的获取之后,需要判断自身是否是最后一个扩展模块,以便于决定将第二数据帧是往前一级扩展模块传输还是往后一级扩展模块传输。
S330,若自身不是最后一个扩展模块,则将所述第二数据帧传输至后一级扩展模块。
其中,当自身不是最后一个扩展模块时,则将第二数据帧传输至后一级扩展莫,以便于后一级扩展模块进行数据交换。
S340,若自身是最后一个扩展模块,则将自身数据写入相对应的时隙中,并将所述第二数据帧传输至前一级扩展模块。
其中,当自身是最后一个扩展模块时,则需要将自身的数据写入与自身相对应的时隙中,同时将第二数据帧传输至前一级扩展模块以便于将第二数据帧返回至FPGA主控芯片。
S350,若接收到后一级扩展模块传输的所述第二数据帧,则将自身数据写入相对应的时隙中,并将所述第二数据帧传输至前一级扩展模块以便于将所述第二数据帧反馈至所述FPGA主控芯片以实现与所述FPGA主控芯片的数据交换。
其中,当位于中间的扩展模块接收到后一级传输的第二数据帧时,即代表需要将该第二数据帧传输回FPGA主控芯片,同时,也需要将自身的数据写入相对应的时隙中,因此,每个中间的扩展模块均会将第二数据帧往前一级扩展模块传输,直到传输回FPGA主控芯片。通过在第二数据帧进行下行传输时,各个扩展模块获取第二数据帧中与自身相对应的时隙内的数据,在上行传输时,各个扩展模块往与自身相对应的时隙中写入自身的数据,缩小了各个扩展模块等待第二数据帧的时间,从而进一步地提高了FPGA主控芯片与各个扩展模块之间的数据交换的效率。
作为进一步地实施例中,所述FPGA主控芯片同时发送多个所述第二数据帧。
其中,FPGA主控芯片可以在完成对第二数据帧中的数据写入之后,开始进行下一个第二数据帧的数据写入,并不需要等待上一个第二数据帧返回,从而提升了FPGA主控芯片与扩展模块数据交换的效率。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (6)

1.一种基于FPGA实现LVDS通信的PLC系统,其特征在于,包括:主控模块和至少一个扩展模块;
所述主控模块包括MCU和FPGA主控芯片,所述MCU和所述FPGA主控芯片相连接,所述FPGA主控芯片通过LVDS接口与所述扩展模块相连接;所述FPGA主控芯片通过数据帧控制所述扩展模块,所述扩展模块通过所述数据帧响应所述FPGA主控芯片的控制;
其中,所述PLC系统包括多个扩展模块,每个所述扩展模块均包括FPGA辅助芯片,所述FPGA主控芯片通过LVDS接口与第一个所述扩展模块的FPGA辅助芯片相连接,其余每个所述扩展模块的FPGA辅助芯片之间通过LVDS接口串联;
所述FPGA主控芯片与所有所述FPGA辅助芯片以及每个所述FPGA辅助芯片之间均通过所述数据帧进行通信。
2.如权利要求1所述的基于FPGA实现LVDS通信的PLC系统,其特征在于,所述MCU和所述FPGA主控芯片通过并行接口连接。
3.一种基于FPGA实现LVDS通信的方法,应用于权利要求1-2任一项所述的PLC系统,其特征在于,所述数据帧包括第一数据帧和第二数据帧;
所述FPGA主控芯片通过向所有所述扩展模块发送所述第一数据帧以实现对所有所述扩展模块的编址和识别;
所述FPGA主控芯片通过向所有所述扩展模块发送第二数据帧以实现和所有所述扩展模块之间的数据交换;
其中,所述第一数据帧包括同步头、指令类型以及地址计数器;
所述FPGA主控芯片通过向所有所述扩展模块发送所述第一数据帧以实现对所有所述扩展模块的编址和识别的步骤包括下行传输和上行传输,在所述下行传输中,所有所述扩展模块通过接受所述第一数据帧以完成编址从而获得相对应的地址,在所述上行传输中,所述扩展模块通过再次接受所述第一数据帧以及所获得的地址确认自身的时隙;
所述第二数据帧包括所述同步头、所述指令类型以及所述扩展模块的数据,其中,所述扩展模块的数据位于每个所述扩展模块相对应的时隙中;
所述下行传输和所述上行传输的步骤,包括:
若所述扩展模块接收到所述第一数据帧,判断自身是否为最后一级扩展模块;
若自身不是最后一级扩展模块,则在所述第一数据帧的地址计数器中加1,并将所述第一数据帧传输至下一级扩展模块;
若自身是最后一级扩展模块,则确认自身的时隙并将自身的地址以及扩展类型输入至该时隙中,并将所述第一数据帧传输至前一级扩展模块;
若接收到后一级扩展模块传输的所述第一数据帧,则确认自身的时隙并将自身的地址以及扩展类型输入至该时隙中,并将所述第一数据帧传输至前一级扩展模块以便于将所述第一数据帧 传回所述FPGA主控芯片从而完成对所有所述扩展模块的编址和识别。
4.如权利要求3所述的基于FPGA实现LVDS通信的方法,其特征在于,所述若自身是最后一级扩展模块,则将自身的地址以及扩展类型输入至相对应的时隙中,并将所述第一数据帧传输至前一级扩展模块的步骤,包括:
若自身是最后一级扩展模块,则生成末端标志;
确认自身的时隙并将所述末端标志以及自身的地址和扩展类型输入至该时隙中,并将所述第一数据帧传输至前一级扩展模块。
5.如权利要求3所述的基于FPGA实现LVDS通信的方法,其特征在于,所述FPGA主控芯片通过向所有所述扩展模块发送第二数据帧以实现和所有所述扩展模块之间的数据交换的步骤,包括:
若所述扩展模块接收到所述第二数据帧,识别所述第二数据帧中与自身相对应的时隙,并获取该时隙的数据;
若完成所述数据的获取,判断自身是否为最后一个扩展模块;
若自身不是最后一个扩展模块,则将所述第二数据帧传输至后一级扩展模块;
若自身是最后一个扩展模块,则将自身数据写入相对应的时隙中,并将所述第二数据帧传输至前一级扩展模块;
若接收到后一级扩展模块传输的所述第二数据帧,则将自身数据写入相对应的时隙中,并将所述第二数据帧传输至前一级扩展模块以便于将所述第二数据帧反馈至所述FPGA主控芯片以实现与所述FPGA主控芯片的数据交换。
6.如权利要求5所述的基于FPGA实现LVDS通信的方法,其特征在于,所述FPGA主控芯片同时发送多个所述第二数据帧。
CN202011481060.1A 2020-12-15 2020-12-15 基于fpga实现lvds通信的plc系统及其方法 Active CN112506108B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011481060.1A CN112506108B (zh) 2020-12-15 2020-12-15 基于fpga实现lvds通信的plc系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011481060.1A CN112506108B (zh) 2020-12-15 2020-12-15 基于fpga实现lvds通信的plc系统及其方法

Publications (2)

Publication Number Publication Date
CN112506108A CN112506108A (zh) 2021-03-16
CN112506108B true CN112506108B (zh) 2022-04-01

Family

ID=74972210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011481060.1A Active CN112506108B (zh) 2020-12-15 2020-12-15 基于fpga实现lvds通信的plc系统及其方法

Country Status (1)

Country Link
CN (1) CN112506108B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114035501A (zh) * 2021-11-25 2022-02-11 南京科远智慧科技集团股份有限公司 一种plc控制系统及其通讯方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SI20398A (sl) * 2000-12-08 2001-04-30 Daisy Technologies Inc. Postopek in priprava za prenos podatkovnih in govornih paketov med paketnim in sinhronim omrežjem
KR100909805B1 (ko) * 2006-09-21 2009-07-29 주식회사 하이닉스반도체 멀티포트 메모리 장치
CN105761654B (zh) * 2016-05-17 2019-04-09 深圳前海骁客影像科技设计有限公司 一种灵活易扩展的液晶屏测试平台
CN109828938B (zh) * 2018-12-13 2021-09-03 山东亚华电子股份有限公司 一种基于芯片的通信方法和装置
CN111444125B (zh) * 2020-05-15 2024-03-29 小华半导体有限公司 一种扩展总线系统

Also Published As

Publication number Publication date
CN112506108A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
CN105302484B (zh) 批量读取以太网卡光模块中数字诊断信息的装置及方法
CN102023954B (zh) 具有多路i2c总线的装置、处理器、系统主板及工控计算机
CN101866328B (zh) 一种自动访问的串行总线读写控制方法
CN103377083A (zh) 用于运行冗余的自动化系统的方法
EP0017988A1 (en) Multiplex interface circuit connecting a processor to a synchronous transmission means
CN112506108B (zh) 基于fpga实现lvds通信的plc系统及其方法
CN111506249A (zh) 一种基于zynq平台的数据交互系统及方法
CN107436851B (zh) 串行外设接口四线隔离系统及其控制方法
CN115033515A (zh) 一种主从spi通信方法
CN106201973B (zh) 一种单线串行通信接口的方法与系统
CN105260260A (zh) 具有数据校验功能的spi数据传输设备及数据校验方法
CN212486527U (zh) 一种基于modbus协议的从站转换装置
CN103488600A (zh) 通用从机同步串行接口电路
CN100594707C (zh) 基于以太网技术的数控系统数字通信方法
CN111510363A (zh) 基于modbus协议的从站转换装置及其控制方法
CN113961496A (zh) 通信电路系统、方法、芯片以及存储介质
CN117056274B (zh) 一种用于单核处理器的并行数据通信架构及方法
CN107832249B (zh) 三线实现和带有spi接口外设进行通讯的系统及方法
CN107370651B (zh) 一种spi从机之间的通信方法
CN115766332B (zh) 串行通信装置、串行通信系统及串行通信方法
CN101415027A (zh) 基于hdlc协议的通讯模块及数据实时转发存储控制方法
CN113918501B (zh) 新型智能多点数工业互联网远程输入输出控制器及方法
CN216013989U (zh) 扩展模块数量识别电路
CN116185929A (zh) 主从设备间通讯的通讯转换装置
CN112506840B (zh) 一种多对多spi总线切换方法

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
GR01 Patent grant
GR01 Patent grant