主权项 |
一种基于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收发缓冲区中的数据打包成载波数据包,发送到对应的子节点。 |