一种基于dma的电力线网络系统及其通讯方法

文档序号:7809983阅读:465来源:国知局
一种基于dma的电力线网络系统及其通讯方法
【专利摘要】本发明涉及一种基于DMA的电力线网络系统及其通讯方法。电力线网络系统包括主节点和若干个子节点,所述的主节点与各个子节点之间通过电力线交互连接。所述的主节点通过RS232接口与上位机应用平台终端交互连接。所述的若干个子节点分别通过RS485接口与现场应用设备交互连接。该系统是由一个主节点和若干个子节点通过电力线组成的PLC网络,各个子节点通过RS485总线连接现场应用设备。本发明所述的电力线网络系统及其通讯方法能够解决现有技术中的不足,提高电力线网络系统各节点收发数据的速度,保证PLC组网中数据报文传输的时效性,使PLC组网应用更加灵活、可靠。
【专利说明】-种基于DMA的电力线网络系统及其通讯方法

【技术领域】
[0001] 本发明涉及电力线载波组网【技术领域】,具体涉及一种基于DMA的电力线网络系统 及其通讯方法。
[0002]

【背景技术】
[0003] 随着科技的进步,智能电网的建设正在日益深入全面的展开,而智能通信技术是 智能电网应用的关键。电力线载波通信方式因其以电力线网络为传输介质,具有通道可靠 性高、抗破坏能力强、投资少等优点,在智能电网建设中起着不可替代的作用。随着国家建 设坚强智能电网和电力物联网概念的提出,现在的基于FSK和PSK以及S-FSK调制模式的 低速载波已无法满足利用载波进行大规模组网和高速传输数据的要求。因此,基于0FDM 技术的高速电力线载波技术得到快速发展,OFDM电力线载波技术具有抗衰减能力强、频 率利用率高、抗码间干扰能力强等优势,目前基于该技术制定的相关技术规范已实现高于 100kbps的数据传输速率。
[0004] 但是,随着电力线载波速度的大幅提升,之前一些配合低速载波使用的技术缺点 也逐渐暴露出来,其主要问题有: 1、低速载波传输数据时,载波节点模块收发数据一般采用串口中断按字节方式,时效 不高、延时很大。由于数据在电力线上传输的速度也很低,数据收发的延时相对于数据在 电力线上传输的时间来说不是很明显,同时之前的应用一般对数据传输速度要求都不是很 高,因此这种技术缺点对载波在应用中的使用影响不大。然而随着电力线载波技术的发 展,载波传输数据的速度大幅提升,其应用场合也不断扩大,相关应用对数据传输速度的要 求也越来越严。如果载波节点还是按照之前的方式收发数据,一帧数据在节点接收阶段的 时间延时将会超过其在电力线上实际传输时间,严重阻碍了高速电力线载波技术的推广使 用。
[0005] 2、载波节点模块在接收应用层协议帧时,一般都是在收完一完整帧后再进行转发 操作。这在应用层协议帧报文长度较短时对报文传输速度影响不大,但是当应用层协议报 文长度较长时,节点等全部接收后,由于电力线上对传输的载波帧长度限制,还需分段传 输,这种接收后再分段发送的特点使时效性本来就不高的载波通信速度更加缓慢。
[0006] 3、一般利用PLC网络组网进行数据传输的应用中,应用协议比较固定单一,不够 灵活。当组网中传输的应用协议发生改变时,网络中各个节点需重新烧写代码来支持对新 应用协议的解析。
[0007]


【发明内容】

[0008] 本发明的目的在于提供一种基于DMA的电力线网络系统及其通讯方法,该电力线 网络系统及其通讯方法能够解决现有技术中的不足,提高电力线网络系统各节点收发数据 的速度,保证PLC组网中数据报文传输的时效性,使PLC组网应用更加灵活、可靠。
[0009] 为实现上述目的,本发明采用了以下技术方案:一种基于DMA的电力线网络系统, 包括主节点和若干个子节点,所述的主节点与各个子节点之间通过电力线交互连接。所述 的主节点通过RS232接口与上位机应用平台终端交互连接。所述的若干个子节点分别通过 RS485接口与现场应用设备交互连接。该系统是由一个主节点和若干个子节点通过电力线 组成的PLC网络,各个子节点通过RS485总线连接现场应用设备。
[0010] 具体地说,所述的主节点包括第一微控制器、第一载波电路模块、第一耦合电路模 块、第一电源管理模块、和第一收发状态显示模块。所述的第一载波电路模块通过第一微控 制器的第一 UART接口与第一微控制器交互连接。所述的第一耦合电路模块与第一载波电 路模块交互连接。所述的第一电源管理模块的输出端分别与第一微控制器的电源信号输入 端、第一载波电路模块的电源信号输入端相连。所述的第一收发状态指示模块与第一微控 制器的输出端相连。所述的第一微控制器的第二UART接口通过RS232接口与上位机应用 平台终端交互连接。第一收发状态指示模块由一系列的发光二极管组成,发光二极管闪烁 表示对应的端口有数据正在传输。
[0011] 所述的子节点包括第二微控制器、第二载波电路模块、第二耦合电路模块、第二电 源管理模块、和第二收发状态显示模块。所述的第二载波电路模块通过第二微控制器的第 一 UART接口与第二微控制器交互连接。所述的第二耦合电路模块与第二载波电路模块交 互连接。所述的第二电源管理模块的输出端分别与第二微控制器的电源信号输入端、第二 载波电路模块的电源信号输入端相连。所述的第二收发状态指示模块与第二微控制器的输 出端相连。所述的第二微控制器的第三UART接口通过RS485接口与现场应用设备交互连 接。第二收发状态指示模块由一系列的发光二极管组成,发光二极管闪烁表示对应的端口 有数据正在传输。
[0012] 进一步的,所述的主节点还包括第一看门狗模块、第一无源晶振模块、第一时钟模 块、第一液晶显示模块和第一按键输入模块。所述的第一看门狗模块、第一无源晶振模块以 及第一按键输入模块的输出端分别与第一微控制器的输入端相连。所述的第一时钟模块与 第一微控制器交互连接。所述的第一液晶显示模块的输入端与第一微控制器的输出端相 连。第一液晶显示模块和第一按键输入模块实现主节点运行时主要参数的显示。
[0013] 所述的子节点还包括第二看门狗模块、第二无源晶振模块、第二时钟模块、第二液 晶显示模块和第二按键输入模块。所述的第二看门狗模块、第二无源晶振模块以及第二按 键输入模块的输出端分别与第二微控制器的输入端相连。所述的第二时钟模块与第二微控 制器交互连接。所述的第二液晶显示模块的输入端与第二微控制器的输出端相连。第二液 晶显示模块和第二按键输入模块实现子节点运行时主要参数的显示。
[0014] 更进一步的,所述的第一微控制器和第二微控制器均采用STM32F107VC处理器。 所述的第一载波电路模块和第二载波电路模块均米用MAX2992载波芯片。
[0015] 本发明还涉及一种根据上述基于DMA的电力线网络系统的通讯方法,该方法包括 以下步骤: (1)电力线网络系统初始化,对主节点、子节点以及连接在子节点下的各个现场应用设 备的参数进行配置,并对DMA收发缓冲区的长度d、中断触发条件和数据报文分段限定长度 L进行设置。在系统初始化阶段,需要配置的参数包括协议类型、主节点地址、子节点地址和 连接在子节点下各个现场应用设备的地址。
[0016] (2)采用DMA数据传输技术收发数据,并根据DMA收发缓冲区的中断触发条件,将 DMA缓存区中的数据读取到固定的接收数据缓存区待处理。
[0017] 所述的DMA收发缓冲区的中断触发条件包括两个,第一中断触发条件是:当接收 数据长度为DMA收发缓冲区长度d的一半时,触发中断。第二中断触发条件是:当接收数据 长度等于DMA收发缓冲区长度d时,触发中断。当满足第一中断触发条件时,如是一帧报文 接收的开始,微控制器MCU先根据系统初始化配置文件中定义的协议类型,获取报文中的 设备地址;再根据设备地址以及配置文件中的映射规则,获取到对应目的子节点的地址。
[0018] (3)根据数据报文分段限定长度L和传输的数据报文长度L1间的大小关系,对DMA 收发缓冲区收发的数据进行判断处理。
[0019] (4)根据判断处理结果,对数据进行转发。具体过程为: 若传输的数据报文长度L1大于数据报文分段限定长度L,则当DMA收发缓冲区的数据 长度累积达到分段限定长度L时,DMA收发缓冲区继续接收剩下的数据。与此同时,微控制 器MCU将DMA收发缓冲区中接收到长度为L的数据打包成载波数据包,发送到对应的子节 点。
[0020] 若传输的数据报文长度L1小于等于数据报文分段限定长度L,则当一帧数据收发 接收后,将DMA收发缓冲区中的数据打包成载波数据包,发送到对应的子节点。
[0021] 进一步的,所述的DMA收发缓冲区长度d为20字节~30字节。
[0022] 与现有技术相比,本发明的有益效果为: 1、本发明在电力线网络系统的各个节点中均采用基于DMA方式收发数据,通过有效设 置DMA缓存长度以及中断触发条件,在DMA缓存接收数据为0. 5个DMA缓存长度和1个DMA 缓存长度时分别触发中断让微控制器MCU读取数据。从而有效提高了电力线网络系统各节 点收发数据的速度,保证了 PLC组网中数据报文传输的时效性。
[0023] 2、在电力线网络系统主节点的接收转发流程中,利用DMA接收数据无需MCU干涉 的特性,对长报文进行分段接收发送。这样无需等待长报文全部接收完成后再组帧进行发 送,不仅可实现电力线网络系统节点对长报文的同步收发,减少报文在节点中的处理时间, 还能提高报文在PLC网络中的传输速度,有效扩展PLC组网的应用范围。
[0024] 3、本发明采用配置参数方式,支持多协议在电力线网络系统中的传输。网络系统 中的主节点利用配置参数建立协议设备地址到所在子节点的映射关系。主节点接收到上位 机应用平台发送的协议后,依据配置参数和映射关系,获取协议报文接收设备对应的子节 点地址,无需解析报文,直接发送给该子节点。从而增加了 PLC组网应用的灵活性、可靠性, 同时也有效降低了应用系统的投资,具有明显的经济效益。
[0025]

【专利附图】

【附图说明】
[0026] 图1是本发明中电力线网络系统结构示意图; 图2是本发明中主节点的硬件结构示意图; 图3是本发明中子节点的硬件结构示意图; 图4是本发明中基于DMA的收发数据算法流程图; 图5是本发明中基于DMA的处理数据算法流程图; 图6是本发明中基于DMA的转发数据算法流程图; 图7是本发明网络系统多协议地址映射表。
[0027] 其中: 1、第一微控制器,2、第一无源晶振模块,3、第一看门狗模块,4、第一电源管理模块,5、 第一时钟模块,6、第一液晶显不模块,7、第一按键输入模块,8、第一载波电路模块,9、第一 耦合电路模块,l〇、RS232接口,11、上位机应用平台,12、第一收发状态指示模块,13、第二微 控制器,14、第二无源晶振模块,15、第二看门狗模块,16、第二电源管理模块,17、第二时钟 模块,18、第二液晶显示模块,19、第二按键输入模块,20、第二载波电路模块,21、第二耦合 电路模块,22、RS485接口,23、现场应用设备,24、第二收发状态指示模块。

【具体实施方式】
[0028] 下面结合附图对本发明做进一步说明: 如图1-图3所示的一种基于DMA的电力线网络系统,包括主节点和若干个子节点,所 述的主节点与各个子节点之间通过电力线交互连接。所述的主节点通过RS232接口 10与 上位机应用平台终端11交互连接。所述的若干个子节点分别通过RS485接口 22与现场应 用设备23交互连接。该系统是由一个主节点和若干个子节点通过电力线组成的PLC网络, 各个子节点通过RS485总线22连接现场应用设备23。只要在RS485总线驱动能力范围内, 每个子节点可以连接不同数量的现场应用设备,每个现场应用设备具有一个唯一的设备地 址。在该电力线网络系统中,主节点和各个子节点都具有各自唯一的短地址,用于标识各自 的身份。各个子节点的短地址是主节点在网络初始化时根据配置参数分配的。在该电力线 网络系统的组建过程中,主节点根据配置参数来建立各个子节点下的设备地址与对应子节 点地址间的映射关系;与此同时,各个子节点也将分配到的网络短地址设置到各自的载波 电路模块中。当该电力线网络系统组建成功后,上位机应用平台可以通过配置参数设置的 协议类型发送对应的协议报文,实现和网络中各个子节点下各设备的数据通信。
[0029] 具体地说,所述的主节点包括第一微控制器1、第一载波电路模块8、第一稱合电 路模块9、第一电源管理模块4、和第一收发状态显不模块6。所述的第一载波电路模块8通 过第一微控制器1的第一 UART接口与第一微控制器1交互连接。所述的第一耦合电路模 块9与第一载波电路模块8交互连接。所述的第一电源管理模块4的输出端分别与第一微 控制器1的电源信号输入端、第一载波电路模块8的电源信号输入端相连。所述的第一收 发状态指示模块12与第一微控制器1的输出端相连。所述的第一微控制器1的第二UART 接口通过RS232接口 10与上位机应用平台终端11交互连接。第一收发状态指示模块12 由一系列的发光二极管组成,发光二极管闪烁表示对应的端口有数据正在传输。
[0030] 所述的子节点包括第二微控制器13、第二载波电路模块20、第二耦合电路模块 21、第二电源管理模块16、和第二收发状态显示模块24。所述的第二载波电路模块20通过 第二微控制器13的第一 UART接口与第二微控制器13交互连接。所述的第二耦合电路模 块21与第二载波电路模块20交互连接。所述的第二电源管理模块16的输出端分别与第 二微控制器13的电源信号输入端、第二载波电路模块20的电源信号输入端相连。所述的 第二收发状态指示模块24与第二微控制器13的输出端相连。所述的第二微控制器13的 第三UART接口通过RS485接口 22与现场应用设备23交互连接。第二收发状态指示模块 24由一系列的发光二极管组成,发光二极管闪烁表示对应的端口有数据正在传输。
[0031] 进一步的,所述的主节点还包括第一看门狗模块3、第一无源晶振模块2、第一时 钟模块5、第一液晶显不模块6和第一按键输入模块7。所述的第一看门狗模块3、第一无源 晶振模块2以及第一按键输入模块7的输出端分别与第一微控制器1的输入端相连。所述 的第一时钟模块5与第一微控制器1交互连接。所述的第一液晶显示模块6的输入端与第 一微控制器1的输出端相连。第一液晶显不模块6和第一按键输入模块7实现主节点运行 时主要参数的显示。
[0032] 所述的子节点还包括第二看门狗模块15、第二无源晶振模块14、第二时钟模块 17、第二液晶显示模块18和第二按键输入模块19。所述的第二看门狗模块15、第二无源晶 振模块14以及第二按键输入模块19的输出端分别与第二微控制器13的输入端相连。所 述的第二时钟模块17与第二微控制器13交互连接。所述的第二液晶显示模块18的输入 端与第二微控制器13的输出端相连。第二液晶显示模块18和第二按键输入模19块实现 子节点运行时主要参数的显示。
[0033] 更进一步的,所述的第一微控制器1和第二微控制器13均采用STM32F107VC处理 器。所述的第一载波电路模块8和第二载波电路模块20均采用MAX2992载波芯片。如图2 和图3所示,STM32F107VC的UART1接口与载波电路模块交互连接,主节点的UART2接口通 过RS232接口与上位机应用平台终端交互连接,子节点的UART3接口通过RS485接口与现 场应用设备交互连接。STM32F107VC的0SC_IN管脚接无源晶振模块,5个GPI0管脚分别接 看门狗模块、时钟模块、液晶显示模块、按键输入模块和收发状态指示模块。电源管理模块 给STM32F107VC的输出信号为3. 3V,给MAX2992载波芯片的输出信号为3. 3V/12V。MAX2992 载波芯片通过STM32F107VC处理器的UART1接口与微控制器MCU通信。微控制器将应用协 议报文按其要求封装成对应的载波报文,通过UART1接口发送到MAX2992,再由MAX2992将 接收到的报文通过其前端电路耦合到电力线上,实现载波数据的收发,或者接收到电力线 上的数据后通过UART1 口将数据发送给微控制器MCU。上位机平台通过RS232接口将应用 协议报文发送到主节点,主节点通过STM32F107VC处理器的UART2接口以DMA方式接收协 议报文。对于子节点来说,子节点将通过STM32F107VC处理器的UART3接口接收到的协议 报文经RS485接口发送到各个现场应用设备。
[0034] 本发明还涉及一种根据上述基于DMA的电力线网络系统的通讯方法,该方法包括 以下步骤: (1)电力线网络系统初始化,对主节点、子节点以及连接在子节点下的各个现场应用设 备的参数进行配置,并对DMA收发缓冲区的长度d、中断触发条件和数据报文分段限定长度 L进行设置。在系统初始化阶段,需要配置的参数包括协议类型、主节点地址、子节点地址和 连接在子节点下各个现场应用设备的地址。
[0035] (2)采用DMA数据传输技术收发数据,并根据DMA收发缓冲区的中断触发条件,将 DMA缓存区中的数据读取到固定的接收数据缓存区待处理。
[0036] 所述的DMA收发缓冲区的中断触发条件包括两个,第一中断触发条件是:当接收 数据长度为DMA收发缓冲区长度d的一半时,触发中断。第二中断触发条件是:当接收数据 长度等于DMA收发缓冲区长度d时,触发中断。当满足第一中断触发条件时,如是一帧报文 接收的开始,微控制器MCU先根据系统初始化配置文件中定义的协议类型,获取报文中的 设备地址;再根据设备地址以及配置文件中的映射规则,获取到对应目的子节点的地址。
[0037] (3)根据数据报文分段限定长度L和传输的数据报文长度L1间的大小关系,对DMA 收发缓冲区收发的数据进行判断处理。
[0038] (4)根据判断处理结果,对数据进行转发。具体过程为: 若传输的数据报文长度L1大于数据报文分段限定长度L,则当DMA收发缓冲区的数据 长度累积达到分段限定长度L时,DMA收发缓冲区继续接收剩下的数据。与此同时,微控制 器MCU将DMA收发缓冲区中接收到长度为L的数据打包成载波数据包,发送到对应的子节 点。
[0039] 若传输的数据报文长度L1小于等于数据报文分段限定长度L,则当一帧数据收发 接收后,将DMA收发缓冲区中的数据打包成载波数据包,发送到对应的子节点。
[0040] 进一步的,所述的DMA收发缓冲区长度d为20字节~30字节。
[0041] 下面,结合图4-图7对数据的接收、处理、转发过程以及多协议映射表进行详细的 描述: 图4为主节点采用DMA收发数据的算法过程。在开启一次DMA缓冲区接收数据过程中 会有两次触发中断,进入中断函数后判断中断触发类型。若是接收一半中断或者接收满中 断,则将DMA缓存区中的数据读取到固定的接收数据缓存区待处理。两种中断读取数据时, 数据在DMA缓存区中的位置不同。当接收完数据后,置数帧结束计数器,启动一帧接收结束 的判断依据,最后清除相关中断标志位并退出中断。当接收数据DMA模块出现错误时,中断 函数根据触发中断的标志位是错误标志位,初始化相关参数后重新使能DMA中断,保证DMA 接收数据的可靠性。
[0042] 图5为数据接收后,判断是否进行转发的判断处理过程。本发明采用微控制器MCU 的systick定时中断作为接收数据帧结束的基础。在图3所述的流程图中,每个DMA接收中 断后,均将帧结束计数器初始化为一个固定值;且在每次进入systick定时中断函数中时, 均对该计数器进行减1操作,当计数器值为〇时,则认定一帧接收结束。在图3所示的接收 数据的过程中,因为每次接收数据完成后均对计数器进行重新置数,因此在DMA接收数据 过程中,计数器值不为0。同时,为了将接收的长帧报文分段同步接收发送,在接收过程中, 需要判断接收数据总长度对分段发送限定长度的求余结果。若求余结果为〇,则表示接收的 数据长度已经符合分段发送的条件,并将数据转发计数器加1。若求余结果不为0,表示接 收的数据长度还未达到限定的发送长度;则判断一帧是否收发结束。如果一帧收发已经结 束,但接收的数据长度还没有达到限定的发送长度,则将数据转发计数器加1,并转发实际 收到的数据。如果一帧收发未结束,则退出中断进行下次判断。
[0043] 图6为将接收到的数据转发到载波电路模块的算法流程。根据图4所示的算法流 程的处理结果,对接收的数据进行转发操作。当转发计数器值不为0时,说明数据接收区中 存在需要转发的数据报文。首先,根据配置参数中的协议类型,获取数据报文帧中设备地址 的位置,读出设备地址。其次,根据映射表查出该设备地址所在的目的子节点地址,将该地 址和数据缓存区的数据报文进行载波帧组包,发送到载波电路模块对应串口的DMA发送缓 冲区。再次,使能DMA发送中断,通过载波电路模块将数据报文发送出去。最后,发送完一 帧后,根据转发计数器的值判断数据是否已经转发完,没有则继按照前面流程进行转发。
[0044] 图7给出了本发明中多协议的映射表。在系统组网初始阶段需通过配置参数配置 该表,协议类型包含常用的Modbus,DLT645,101等规约。由于不同规约对应的设备地址长 度不同,且该地址在不同协议中的位置也不同。因此,主节点在进行组网转发数据前必须通 过协议类型得知其转发的是哪种协议报文,并依据不同的协议类型先从数据接收缓冲区中 对应协议报文的帧格式读出设备地址,再根据映射表查找出对应的目的子节点地址。下面 介绍几种常见协议的协议类型及设备地址: Modbus协议:协议类型为01,协议设备地址为一个字节,子节点地址为0x0001,该子节 点下面对应的设备地址为0x02,0x03。子节点地址为0x0002,该子节点下面对应的设备地 址为0x04,0x05,0x06等,其他子节点配置类似。
[0045] DLT645协议:协议类型为02,协议设备地址为6个字节,子节点地址为0x001,该 子节点下面对应的设备地址为0x000000000002,0x000000000003。子节点地址为0x0002, 该子节点下面对应的设备地址为0x000000000004,0x000000000005,0x000000000006等, 其他子节点配置类似。
[0046] 101协议:协议类型为03,协议设备地址为1个字节,子节点地址为0x001,该子节 点下面对应的设备地址为0x02,0x03。子节点地址为0x0002,该子节点下面对应的设备地 址为0x04,0x05,0x06等,其他子节点配置类似。
[0047] 当主节点判断协议类型是02,主节点知道应用平台发来的数据帧都为645报文 帧,在转发数据的过程中,依据该协议报文帧格式,读出设备地址。比如0x000000000005,查 表得知该地址对应的网络子节点地址为0x0002。无需解析具体报文,直接根据获得的子节 点地址将该报文组装成都应的载波报文,通过载波模块发送到PLC网络中对应的子节点。 子节点通过其载波模块收到主节点发给自己的协议报文,将载波报文帧中的数据直接发送 到连接设备RS485总线的串口,实现上位机应用平台和PLC组网中各个子节点下的不同设 备的数据通信。
[0048] 在本发明所述的基于DMA的电力线网络系统中,主节点和子节点均采用DMA接收 和发送对应的报文帧。本发明所述的基于DMA的电力线网络系统的通讯方法具有以下特 占 · (1)将DMA数据缓冲区的长度d设置成较短的长度(一般设为2(Γ30字节,优选为24字 节);并设置第一中断触发条件和第二中断触发条件。所述的第一中断触发条件为:DMA数 据缓冲区接收的数据长度等于〇.5d。所述的第二中断触发条件为:DMA数据缓冲区接收的 数据长度等于d。通过设置两个中断触发条件,在DMA数据缓冲区接收数据期间,微控制器 MCU有两次机会对接收的数据进行处理。
[0049] 微控制器MCU对接收的数据进行处理的过程为: 当满足第一中断触发条件时,如是接收协议数据报文的开始,则根据系统配置文件中 定义的协议类型获取报文中的设备地址;然后根据获取的设备地址和配置文件中的映射规 贝1J,获取对应目的子节点的地址。
[0050] 当传输的数据报文长度大于分段限定长度L时,利用DMA接收数据无需MCU干涉 的特点,在缓冲区接收的数据累积达到分段限定长度L个字节时,DMA继续接收数据,与此 同时,MCU将已收到的数据打包成载波数据包,发送到对应的子节点。从而实现长报文接收 一段就发送一段,而无需等长报文全部接收完后再发送。
[0051] 当传输的数据报文长度小于分段限定长度L时,等帧结束判断有效时,直接将该 数据打包成载波数据包,发送到对应的子节点,无需截断发送。
[0052] (2)本发明采用的配置参数方式来将多协议快速映射到对应的子节点。在电力线 组网过程中,PLC网络中的主节点和子节点的地址是唯一的,主节点通过子节点的地址来进 行数据的一一对应收发的。连接在子节点下的各个设备的地址也是唯一的,并且体现在交 互的通信协议报文中。
[0053] 在网络系统的初始化配置阶段,配置参数包括协议类型、主节点地址、子节点地 址、子节点下对应的所有设备地址等。上位机应用平台通过微控制器MCU的维护端口将配 置参数发送给主节点,主节点根据参数建立各个子节点地址和其下接设备地址之间的映射 关系,在系统组网阶段将对应的子节点地址分配给各个子节点。组网成功后,上位机应用 平台可以根据配置的协议和各个子节点下的设备进行数据通信。主节点收到通信报文后, 首先,根据配置参数判断出协议类型;其次,根据每个协议报文帧中设备地址位置固定的特 点,读取出设备地址;再次,根据之前建立的映射关系,快速查找出该报文要发往的目的子 节点地址;再次,根据地址和协议报文帧组建成载波数据报文帧,通过串口模块发送给载波 模块,由载波模块和耦合电路模块耦合到电力线上,发送到协议目的设备所在的子节点。
[0054] 以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范 围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方 案作出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。
【权利要求】
1. 一种基于DMA的电力线网络系统,其特征在于:包括主节点和若干个子节点,所述 的主节点与各个子节点之间通过电力线交互连接;所述的主节点通过RS232接口与上位机 应用平台终端交互连接;所述的若干个子节点分别通过RS485接口与现场应用设备交互连 接; 所述的主节点包括第一微控制器(1)、第一载波电路模块(8)、第一耦合电路模块(9)、 第一电源管理模块(4)、和第一收发状态显不模块(12);所述的第一载波电路模块(8)通过 第一微控制器(1)的第一 UART接口与第一微控制器(1)交互连接;所述的第一耦合电路模 块(9 )与第一载波电路模块(8 )交互连接;所述的第一电源管理模块(4)的输出端分别与第 一微控制器(1)的电源信号输入端、第一载波电路模块(8)的电源信号输入端相连;所述的 第一收发状态指示模块(12)与第一微控制器(1)的输出端相连;所述的第一微控制器(1) 的第二UART接口通过RS232接口(10)与上位机应用平台终端(11)交互连接; 所述的子节点包括第二微控制器(13)、第二载波电路模块(20)、第二耦合电路模块 (21 )、第二电源管理模块(16 )、和第二收发状态显示模块(24 );所述的第二载波电路模块 (20)通过第二微控制器(13)的第一 UART接口与第二微控制器(13)交互连接;所述的第二 耦合电路模块(21)与第二载波电路模块(20)交互连接;所述的第二电源管理模块(16)的 输出端分别与第二微控制器(13)的电源信号输入端、第二载波电路模块(20)的电源信号 输入端相连;所述的第二收发状态指示模块(24)与第二微控制器(13)的输出端相连;所述 的第二微控制器(13)的第三UART接口通过RS485接口( 22)与现场应用设备(23)交互连 接。
2. 根据权利要求1所述的一种基于DMA的电力线网络系统,其特征在于:所述的主节 点还包括第一看门狗模块(3 )、第一无源晶振模块(2 )、第一时钟模块(5 )、第一液晶显不模 块(6)和第一按键输入模块(7);所述的第一看门狗模块(3)、第一无源晶振模块(2)以及第 一按键输入模块(7)的输出端分别与第一微控制器(1)的输入端相连;所述的第一时钟模 块(5)与第一微控制器(1)交互连接;所述的第一液晶显不模块(6)的输入端与第一微控制 器(1)的输出端相连; 所述的子节点还包括第二看门狗模块(15)、第二无源晶振模块(14)、第二时钟模块 (17)、第二液晶显示模块(18)和第二按键输入模块(19);所述的第二看门狗模块(15)、第 二无源晶振模块(14)以及第二按键输入模块(19)的输出端分别与第二微控制器(13)的输 入端相连;所述的第二时钟模块(17)与第二微控制器(13)交互连接;所述的第二液晶显示 模块(18)的输入端与第二微控制器(13)的输出端相连。
3. 根据权利要求1所述的一种基于DMA的电力线网络系统,其特征在于:所述的第一 微控制器(1)和第二微控制器(13)均采用STM32F107VC处理器; 所述的第一载波电路模块(8)和第二载波电路模块(20)均采用MAX2992载波芯片。
4. 根据权利要求1~3任意一项所述的一种基于DMA的电力线网络系统的通讯方法,其 特征在于:该方法包括以下步骤: (1)电力线网络系统初始化,对主节点、子节点以及连接在子节点下的各个现场应用设 备的参数进行配置,并对DMA收发缓冲区的长度d、中断触发条件和数据报文分段限定长度 L进行设置; 在系统初始化阶段,需要配置的参数包括协议类型、主节点地址、子节点地址和连接在 子节点下各个现场应用设备的地址; (2) 采用DMA数据传输技术收发数据,并根据DMA收发缓冲区的中断触发条件,将DMA 缓存区中的数据读取到固定的接收数据缓存区待处理; 所述的DMA收发缓冲区的中断触发条件包括两个,第一中断触发条件是:当接收数据 长度为DMA收发缓冲区长度d的一半时,触发中断;第二中断触发条件是:当接收数据长度 等于DMA收发缓冲区长度d时,触发中断; 当满足第一中断触发条件时,如是一帧报文接收的开始,微控制器MCU先根据系统初 始化配置文件中定义的协议类型,获取报文中的设备地址;再根据设备地址以及配置文件 中的映射规则,获取到对应目的子节点的地址; (3) 根据数据报文分段限定长度L和传输的数据报文长度L1间的大小关系,对DMA收 发缓冲区收发的数据进行判断处理; (4) 根据判断处理结果,对数据进行转发,具体过程为: 若传输的数据报文长度L1大于数据报文分段限定长度L,则当DMA收发缓冲区的数据 长度累积达到分段限定长度L时,DMA收发缓冲区继续接收剩下的数据;与此同时,微控制 器MCU将DMA收发缓冲区中接收到长度为L的数据打包成载波数据包,发送到对应的子节 占 . 若传输的数据报文长度L1小于等于数据报文分段限定长度L,则当一帧数据收发接收 后,将DMA收发缓冲区中的数据打包成载波数据包,发送到对应的子节点。
5.根据权利要求4所述的一种基于DMA的电力线网络系统的通讯方法,其特征在于: 所述的DMA收发缓冲区长度d为20字节~30字节。
【文档编号】H04B3/54GK104104412SQ201410361914
【公开日】2014年10月15日 申请日期:2014年7月28日 优先权日:2014年7月28日
【发明者】曹军, 李林, 汪丽丽, 沈艳, 郭晋楠, 陶维青 申请人:安徽科大智能电网技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1