CN108390807B - 一种基于单片机的多机通讯方法 - Google Patents

一种基于单片机的多机通讯方法 Download PDF

Info

Publication number
CN108390807B
CN108390807B CN201810140434.XA CN201810140434A CN108390807B CN 108390807 B CN108390807 B CN 108390807B CN 201810140434 A CN201810140434 A CN 201810140434A CN 108390807 B CN108390807 B CN 108390807B
Authority
CN
China
Prior art keywords
slave
data
priority
communication
frame
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
CN201810140434.XA
Other languages
English (en)
Other versions
CN108390807A (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.)
Ningbo University of Technology
Original Assignee
Ningbo University of Technology
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 Ningbo University of Technology filed Critical Ningbo University of Technology
Priority to CN201810140434.XA priority Critical patent/CN108390807B/zh
Publication of CN108390807A publication Critical patent/CN108390807A/zh
Application granted granted Critical
Publication of CN108390807B publication Critical patent/CN108390807B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提供一种基于单片机的多机通讯方法,实现多个单片机的主从式通讯,各个单片机之间采用RS422总线连接。主机利用数据长度、扫描次数、从机地址计算各个从机优先级,进而分配数据传输次序,直到所有数据传输完成,最后通过通讯效能量化的方法,评估通讯效率,作为优先级参数优化的依据。本发明动态调整优先级,量化通讯效能优化参数,既保证优先级,又充分利用线路通讯资源。本发明实现简单,满足实际应用的需要。

Description

一种基于单片机的多机通讯方法
技术领域
本发明涉及一种基于单片机的多机通讯方法。
背景技术
单片机系统十分广泛,由于单片机的系统资源有限,通讯成为单片机系统应用的瓶颈,尤其是在系统中有多个处理器的情况,单片机显得力不从心。为了应对多个处理器的情况,很多的通讯方法也被提出来,比如发明专利“一种基于UART的主从多机通讯系统及方法(申请号201610977199.2)”,论文“计算机与51系列单片机多机通讯的实现(作者:程万胜等)”、“单片机RS-485多机通讯技术(作者:姜地)”、“基于RS-422总线的单片机多机通讯接口的设计与实现(作者:桑胜举等)”等。这些方法往往在优化的过程中,只关注了某些方面,而在应用过程中,需要考虑优先级、信息的先来先到次序、短作业任务优先的问题,从而实现设备高利用率。而且在大部分的方法没有进行效果评估,不能自适应调整,导致应用效果不佳。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种能够动态优化、响应快、利用率高的多单片机通讯方法。
为实现上述目的,本发明提供一种基于单片机的多机通讯方法,包括一主机和多个从机,主机和从机之间通过RS422总线连接。通讯方法包括如下步骤:
1)主机逐个给从机发送指令帧,扫描从机状态,指令帧包括起始位、从机地址Sn、发送询问和要求发送四部分信息;主机若有数据发送给从机,可以给从机发送数据帧,主机数据帧包括起始位、从机地址Sn、数据三部分信息;
2)从机发送优先级帧,优先级帧包括起始位、主机地址、优先级信息p和待发送数据长度L;
3)主机计算从机优先级,安排各从机发送顺序,从机优先级SP计算方法如下:
SP=p·(aL+b/M)+c·Sn
其中M是扫描次数M=1,2,3,…,每次加1,a、b、c是常量参数;
4)主机给优先级最高的从机发送指令帧,从机发送数据帧,从机数据帧包括起始位、主机地址和数据;
5)主机重复步骤1-4,直到所有数据发送完毕;
6)量化通讯效能f,判断是否对a、b、c参数优化,供下次通讯计算调整优先级,若f>Th(Th为常量1.1),则调整参数a、b、c,否则不调整,计算通讯效能f方法如下:
Figure BDA0001577457740000021
其中,Wi为第i条从机通讯数据等待扫描次数,p为数据优先级,k为通讯数据总数。
优选的,主机指令帧和数据帧的起始位分别为3个脉冲和2个脉冲,从机优先级帧和数据帧的起始位分别为3个脉冲和2个脉冲。
综上所述,本发明的多机通讯方法简化了通讯信息帧,动态调整优先级,可使从机根据不同的优先级向主机传输数据,这样可避免出现总线系统出现死循环,保证总线系统的通讯资源得到充分利用,并且通过评估通讯效能,优化参数,提升了通讯效率。主机指令帧、数据帧和从机优先级帧、数据帧采用起始位脉冲个数区分,简化了通讯数据量,实现简单。
附图说明
图1为本发明多机通讯方法流程图。
图2为本发明多机通讯的系统框图。
图3为本发明多机通讯方法主机指令帧。
图4为本发明多机通讯方法主机数据帧。
图5为本发明多机通讯方法从机优先级帧。
图6为本发明多机通讯方法从机数据帧。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地实施。本发明一种基于单片机的多机通讯系统如图2所示,假设系统由1个主机和3个从机,主机和从机均由单片机构成,并且通过RS422相连。主机和从机统一编址,主机地址为00,3个从机地址依次为01,10,11。从机数量可根据实际情况增加,通讯方法如图1所示,包括如下步骤:
1)主机逐个给从机发送指令帧,扫描从机状态,指令帧包括起始位、从机地址Sn、发送询问和要求发送四部分信息,如图3所示,信息各个部分长度根据实际情况设置。主机指令帧起始位为3个脉冲,从机地址Sn分别为01,10,11,发送询问是主机询问从机是否有数据要发送,0表示询问,1表示不询问,要求发送是主机要求从机立即发送数据,0表示立即发送,1表示不发送。开始,主机给1号从机、2号从机、3号从机分别发送0101、1001、1101,注意还有起始位3个脉冲。
主机若有数据发送给从机,可以给从机发送数据帧,主机数据帧包括起始位、从机地址Sn、数据三部分信息,如图4所示,信息各个部分长度根据实际情况设置。主机给3个从机发送数据帧中的地址分别为01、10、11,主机数据帧的起始位为2个脉冲,数据位数定为5位。
2)从机发送优先级帧,优先级帧包括起始位、主机地址、优先级信息p和待发送数据长度L,如图5所示,信息各个部分长度根据实际情况设置,从机优先级帧的起始位为3个脉冲。从机接收到主机指令帧,回复优先级帧,假设从机1、2、3均有发送数据的要求,且发送优先级分别为11、00、01,优先级越小优先级越高,00是最高优先级,11优先级最低。从机待发送给主机的数据长度分别为2、3、4。因此,从机1、2、3发送给主机的优先级帧分别为0011010、0000011、0001100,注意还有起始位3个脉冲。
3)主机计算从机优先级,安排各从机发送顺序,从机优先级SP计算方法如下:
SP=p·(aL+b/M)+c·Sn
其中M是扫描次数M=1,2,3,…,每次加1,a、b、c是常量参数,初始均取为1。
根据从机回复的优先级帧,由上式计算从机优先级SP。1号从机的优先级SP=3·(2+1/1)+1=10;2号从机的优先级SP=0·(2+1/1)+2=2;3号从机的优先级SP=1·(4+1/1)+3=8;从机优先级从高到低为2号、3号、1号。此处优先级计算考虑了数据长度、优先级和编号,优化了通讯效率,最大限度挖据通信效能。
4)主机给优先级最高的从机发送指令帧,从机发送数据帧,从机数据帧包括起始位、主机地址和数据,如图6所示,信息各个部分长度根据实际情况设置。主机给2号从机发送指令帧,让2号机发送数据,主机给2号从机发送的指令帧为起始位3个脉冲+1010,从机发送的数据帧的起始位为2个脉冲+00+3个数据。
5)主机重复步骤1-4,直到所有数据发送完毕。主机再次给2号从机发送指令帧,询问2号机是否有数据发送,给2号从机发送指令帧为起始位3个脉冲+1001.假设2号从机还有长度为5的数据要发送,优先级11,因此号从机回复的优先级帧为起始位3个脉冲+0011101.根据从机回复的优先级帧,计算从机优先级SP。1号从机的优先级SP=3·(2+1/2)+1=8.5;2号从机的优先级SP=3·(5+1/1)+2=20;3号从机的优先级SP=1·(4+1/2)+3=7.5;从机优先级从高到低为3号、1号、2号。主机给3号从机发送指令帧让其发送数据,假设后面只有1号、2号从机数据待发送,直到所有从机数据发送完成,此次通讯完成。
6)量化通讯效能f,判断是否对a、b、c参数优化,供下次通讯计算调整优先级,若f>Th(Th为常量,初始取为1.1),则调整参数a、b、c,否则不调整,计算通讯效能f方法如下:
Figure BDA0001577457740000041
其中,Wi为第i条从机通讯数据等待扫描次数,p为数据优先级,k为通讯数据总数。上述通讯过程中,第1条从机数据扫描次数为3,优先级为3;第2条从机数据扫描次数为1,优先级为0;第3条从机数据扫描次数为2,优先级为1;第4条从机数据扫描次数为3,优先级为2。代入上式:
Figure BDA0001577457740000042
通讯效能达到要求,不需要优化a、b、c参数。如果没有达到通讯效能要求,根据通讯数据长度调整参数,如果通讯数据长度太长,a、b、c参数分别减小、增大、减小,如果通讯数据长度太长,a、b、c参数分别增大、减小、增大,调整优先级,使得通讯效能满足要求。通讯效能函数设计的思路就是考虑优先级情况下,各条通讯数据等待时间最短,既保证优先级,又充分利用线路通讯效率,达到最优效果。
综上所述,本发明动态调整优先级,可使从机根据不同的优先级向主机传输数据,这样可避免出现总线系统出现死循环,保证总线系统的通讯资源得到充分利用,并且通过评估通讯效能,优化参数,既保证优先级,又充分利用线路通讯效率。主机指令帧、数据帧和从机优先级帧、数据帧采用起始位脉冲个数区分,简化了通讯数据量,实现简单。本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

Claims (2)

1.一种基于单片机的多处理器通讯方法,其特征在于主机和从机均由单片机组成,多处理器通过RS422接口相连,通讯方法包括如下步骤:
1)主机逐个给从机发送指令帧,扫描从机状态,指令帧包括起始位、从机地址Sn、发送询问和要求发送四部分信息;主机若有数据发送给从机,可以给从机发送数据帧,主机数据帧包括起始位、从机地址Sn、数据三部分信息;
2)从机发送优先级帧,优先级帧包括起始位、主机地址、数据优先级p和待发送数据长度L;
3)主机计算从机优先级,安排各从机发送顺序,从机优先级SP计算方法如下:
SP=p·(aL+b/M)+c·Sn
其中M是扫描次数,M=1,2,3,…,每次加1,a、b、c是常量参数;
4)主机给优先级最高的从机发送指令帧,从机发送数据帧,从机数据帧包括起始位、主机地址和数据;
5)主机重复步骤1)-4),直到所有数据发送完毕;
6)量化通讯效能f,判断是否对a、b、c参数优化,供下次通讯计算调整优先级,若f>1.1,
则调整参数a、b、c,否则不调整,计算通讯效能f方法如下:
Figure FDA0002657243740000011
其中,Wi为第i条从机通讯数据等待扫描次数,p为数据优先级,k为通讯数据总数。
2.根据权利要求1所述的一种基于单片机的多处理器通讯方法,其特征在于:主机指令帧和数据帧的起始位分别为3个脉冲和2个脉冲,从机优先级帧和数据帧的起始位分别为3个脉冲和2个脉冲。
CN201810140434.XA 2018-02-11 2018-02-11 一种基于单片机的多机通讯方法 Active CN108390807B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810140434.XA CN108390807B (zh) 2018-02-11 2018-02-11 一种基于单片机的多机通讯方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810140434.XA CN108390807B (zh) 2018-02-11 2018-02-11 一种基于单片机的多机通讯方法

Publications (2)

Publication Number Publication Date
CN108390807A CN108390807A (zh) 2018-08-10
CN108390807B true CN108390807B (zh) 2020-12-15

Family

ID=63068632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810140434.XA Active CN108390807B (zh) 2018-02-11 2018-02-11 一种基于单片机的多机通讯方法

Country Status (1)

Country Link
CN (1) CN108390807B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109413217B (zh) * 2018-12-31 2021-06-08 宁波工程学院 一种农业物联网数据通讯方法
CN110018659A (zh) * 2019-04-18 2019-07-16 承德石油高等专科学校 一种单片机通讯系统及其通讯方法
CN112087535B (zh) * 2020-09-17 2022-10-28 山东科大机电科技股份有限公司 一种总线地址自动检测装置、系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736019A (zh) * 2012-07-17 2012-10-17 宁波工程学院 电路板柔性检测系统及检测方法
CN104794089A (zh) * 2015-05-12 2015-07-22 中国电子科技集团公司第四十七研究所 适用于单片机的改进型uart通信的方法、装置及系统
CN107528798A (zh) * 2016-06-22 2017-12-29 宁波工程学院 基于rs485总线系统的优化调度方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103166821A (zh) * 2011-12-12 2013-06-19 深圳市华为安捷信电气有限公司 实现串口通信的方法、设备及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736019A (zh) * 2012-07-17 2012-10-17 宁波工程学院 电路板柔性检测系统及检测方法
CN104794089A (zh) * 2015-05-12 2015-07-22 中国电子科技集团公司第四十七研究所 适用于单片机的改进型uart通信的方法、装置及系统
CN107528798A (zh) * 2016-06-22 2017-12-29 宁波工程学院 基于rs485总线系统的优化调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于RS-422总线的单片机多机通讯接口的设计与实现;桑胜举,张华,沈丁,安琦;《泰山学院学报》;20081130;第30卷(第6期);5-10 *

Also Published As

Publication number Publication date
CN108390807A (zh) 2018-08-10

Similar Documents

Publication Publication Date Title
CN108390807B (zh) 一种基于单片机的多机通讯方法
EP3255553B1 (en) Transmission control method and device for direct memory access
CN105528330B (zh) 负载均衡的方法、装置、丛集和众核处理器
RU2568292C2 (ru) Система и способ выбора синхронного или асинхронного межпроцессного взаимодействия
US20070214307A1 (en) Dynamically setting routing information to transfer input output data directly into processor caches in a multi processor system
CN103714027B (zh) 一种直接内存存取控制器的数据传输方法及装置
WO2018107751A1 (zh) 一种资源调度装置、系统和方法
WO2017185285A1 (zh) 图形处理器任务的分配方法和装置
CN112711550A (zh) Dma自动配置模块和片上系统soc
CN109005223A (zh) 物联网资源调度方法及系统、计算机可读存储介质和终端
KR20220038497A (ko) 기계-학습 워크로드들에 대한 작업 스케줄링
CN113946450A (zh) 一种用于k8s微服务框架的自适应带权轮询负载均衡系统
US20110246667A1 (en) Processing unit, chip, computing device and method for accelerating data transmission
CN103853676B (zh) 基于PCIe总线的信道分配、释放、数据传输方法和系统
EP2913759B1 (en) Memory access processing method based on memory chip interconnection, memory chip, and system
EP3355525B1 (en) Computing apparatus, node device, and server
KR20140071194A (ko) 집합 통신 수행 방법 및 이를 이용한 집합 통신 시스템
WO2018170732A1 (zh) 一种边缘云架构下服务部署的方法和装置
WO2021134459A1 (en) Ai intelligentialization based on signaling interaction
CN106445661A (zh) 一种动态优化方法及系统
US20210191754A1 (en) User-defined metered priority queues
US8060667B2 (en) Apparatus and method for processing high speed data using hybrid DMA
CN110096374B (zh) 内部多类别的计算单元之间通信中间件控制系统及方法
CN113961489B (zh) 数据访问的方法、装置、设备及存储介质
CN118012796B (zh) 中断资源管理方法、计算机设备及介质

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