CN103150287B - 多单片机多任务协作方法 - Google Patents
多单片机多任务协作方法 Download PDFInfo
- Publication number
- CN103150287B CN103150287B CN201310079045.8A CN201310079045A CN103150287B CN 103150287 B CN103150287 B CN 103150287B CN 201310079045 A CN201310079045 A CN 201310079045A CN 103150287 B CN103150287 B CN 103150287B
- Authority
- CN
- China
- Prior art keywords
- chip microcomputer
- hardware
- line
- singlechip
- wake
- 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
Links
Landscapes
- Microcomputers (AREA)
Abstract
本发明涉及一种多单片机多任务协作电路,包括多个单片机、三态门及每个单片机上做为控制线的三根IO口线。三根控制口线分别是通讯口线INT、数据口线DAT和三态门使能口线EN;每个单片机的输入输出线分别与各自对应的三态门相连;通过三态门使能口线EN使能或禁能三态门以决定单片机是否与其他硬件相连;每个单片机的通讯口线INT相连;每个单片机的数据口线DAT相连。本发明可以使多个单片机分时共用同一硬件,并运行多道不同程序。本发明可以有两种运行模式:一、多单片机分时使用硬件分时运行软件从而达到“一机多能”节约资源,增强仪器功能的目的;二、多单片机分时使用硬件同时运行软件,分工协作完成一个复杂算法。
Description
技术领域
本发明涉及一种多单片机多任务协作电路及其方法,属于电子技术应用和计算机应用研究领域。
背景技术
单片机以其低廉的价格和强大的功能广泛应用于工业领域。在单片机应用时我们会发现这样一种情况:以单片机为核心的几种工业控制系统,这些系统除单片机中运行的软件外,其余硬件均相同。但是如果希望在这样一套硬件上完成几种不同的控制软件以实现不同的功能,使得“一机多能”,会受制于单片机的程序存储空间、数据存储空间、运算速度、控制软件的复杂度等条件的限制变得难以实现。以纺织测量仪器为例,拉伸强力测试、撕破强力测试、顶破强力测试、剥离强力测试、单纱强力测试、弹性回复测试、缝口脱开测试、腋下接缝测试这些测试项目均是要给被测试织物加载负荷,然后测试织物承受的强力、引起的伸长和加荷时间参数,但是其加荷过程和测试方法各不相同。它们测试参数相同,意味着可以采用相同的硬件;加荷过程和方法的不同则意味着要采用不同的软件。如果我们希望一台机器上能进行以上各项目的测量,传统的设计方法是无法做到的。
另外,在单片机应用系统也会存在这样一种情况:虽然没有“一机多能”的要求,但是算法特别复杂,单个单片机受片内资源限制已无法完成。这时可以把一个较大的任务分解成多个相对简单的子任务,交给多个单片机运行,以实现复杂的算法。
本发明就是解决以上问题的电路和方法。使用多个单片机,这些单片机的输入和输出引脚均用三态门加以隔离后再连接到其他硬件上。本发明有两种运行模式:一、每个单片机分时工作,轮到自己工作时才执行程序,否则进入休眠状态。利用此电路和方法,可以在同一硬件电路中存在多个单片机,每个单片机仅执行功能相对单一的程序,多个单片机分时工作,使得仅用一套硬件就可以同时完成多个不同的功能,实现“一机多能”。二、某时刻仅有其中一个单片机连接到其他硬件,其余单片机虽然不再使用其他硬件但也不进行休眠,而是运行各自的子任务,使得多个单片机多任务并行协同工作。
本发明和发明专利《多单片机协同工作方法及多单片机协同工作系统》(申请号:201010200548.2,下文称后者)虽然都涉及到一种多单片机协同工作方法,但是二者电路结构、工作方法、拟解决的问题和发明内容都完全不同。本发明各单片机地位对等,各自运行的不同任务。各单片机都可以调度其他单片机;后者采用的是一个主机多个从机的方式,属主从式调度通讯,主单片机运行调度程序,从单片机运行子任务。本发明的主要硬件为三态门;后者的主要硬件是计数器、译码器和数据选择器。本发明的电路结构为各单片机可以分时使用同一其他硬件,也可以各自使用其他硬件的不同部分,整机工作方式为“一机多核”。后者主单片机和从单片都各自使用部分硬件,分别运行不同的任务,方式为“多机协作”。
发明内容
本发明提供一种多单片机多任务协作电路及方法。通过此装置与方法,在同一硬件系统上可以共存多个单片机,各单片机分时运行不同的程序,使得同一硬件具有多种功能;或者多单片机多任务分时使用其他硬件,但各自的软件并行工作。
为了达到以上目的,本发明的主要技术内容如下:
一种多单片机多任务协作电路,包括多个单片机和三态门,所述三态门包括三态输出门和三态输入门;所述每个单片机的三个IO口线作为控制口线,所述三个控制口线分别是通讯口线INT、数据口线DAT和三态门使能口线EN;
所述每个单片机的输出线与各自的三态输出门相连;
所述每个单片机的输入线与各自的三态输入门相连;
所述每个单片机的三态门使能口线EN分别与各自的三态输出门、三态输入门的使能端相连;
所述每个单片机的三态输出门的输出线一一对应相连,并连接至其他硬件的输出线;
所述每个单片机的三态输入门的输出线一一对应相连,并连接至其他硬件的输入线;
所述每个单片机的通讯口线INT相连;
所述每个单片机的数据口线DAT相连。
一种多单片机多任务协作方法,采用上述多单片机多任务协作电路的硬件,其工作步骤是:
(1)、禁能三态门,与其他硬件断开;
(2)、判断是否热复位启动,如果是热复位启动,进入休眠状态(或者运行子任务),等待其他单片机唤醒(或调度),唤醒(或调度)后转步骤(6);否则转步骤(3);
(3)、判断自己是否是0号单片机,如是0号单片机,使能三态门连接其他硬件电路,转步骤(4);否则进入休眠状态(或者运行子任务),等待其他单片机唤醒(或调度),唤醒(或调度)后转步骤(6);
(4)、运行本单片机的子任务;
(5)、判断是否要唤醒(或调度)其他单片机工作,如果需要唤醒(或调度)其他单片机工作,首先使能通讯口线INT唤醒(或调度)其他单片机,其次通过数据口线DAT发送一个序号,此序号是需要唤醒(或调度)并工作的单片机编号;而后热复位,转入步骤(1);否则转步骤(4);
(6)、被其他单片机唤醒(或调度),接收序号;
(7)、判断此序号是否是自己的编号,如果是自己的编号,转步骤(4);否则进入休眠状态(或者保持原状态),等待其他单片机唤醒(或调度),唤醒(或调度)后转步骤(6)。
上述步骤(5)中发送序号的方法是通过DAT引脚在规定时间内连续发送若干个低电平脉冲。
上述规定的时间为10ms。
上述低电平脉冲的周期是20us。
借由上述技术方案,本发明至少具有下列优点:
本发明可以消耗很少的单片机资源(仅三根口线)就可以在同一硬件系统上可以共存多个单片机,各单片机分时运行不同的程序,使得同一硬件具有多种功能;或者多单片机分时使用其他硬件(或各自使用部分其他硬件),但各自的软件并行工作,使得多单片机协作完成复杂的任务。这样即可以节约硬件资源,又可以提高仪器或控制系统的功能和技术附加值,获得较好地社会影响。
本发明的具体实施方式由以下实施例及其附图详细给出。
附图说明
图1为本发明的电路图;
图2为本发明的程序流程图。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的其具体实施方式、结构、特征及其功效,详细说明如后。
如图1所示,一种多单片机多任务协作电路,包括多个单片机和三态门,三态门包括三态输出门和三态输入门;每个单片机主机上的三个IO口线作为控制口线,所述三个控制口线分别是通讯口线INT、数据口线DAT和三态门使能口线EN;
每个单片机的输出线与各自的三态输出门相连;
每个单片机的输入线与各自的三态输入门相连;
每个单片机的三态门使能口线EN分别与各自的三态输出门、三态输入门的使能端相连;
每个单片机的三态输出门的输出线一一对应相连,并连接至其他硬件的输出线;
每个单片机的三态输入门的输出线一一对应相连,并连接至其他硬件的输入线;
每个单片机的通讯口线INT相连;
每个单片机的数据口线DAT相连。
如图2所示,一种多单片机多任务协作方法,采用上述多单片机多任务协作电路的硬件,其工作步骤是:
(1)、禁能三态门,与其他硬件断开;
(2)、判断是否热复位启动,如果是热复位启动,进入休眠状态(或者运行子任务),等待其他单片机唤醒(或调度),唤醒(或调度)后转步骤(6);否则转步骤(3);
(3)、判断自己是否是0号单片机,如是0号单片机,使能三态门连接其他硬件电路,转步骤(4);否则进入休眠状态(或者运行子任务),等待其他单片机唤醒(或调度),唤醒(或调度)后转步骤(6);
(4)、运行本单片机的程序;
(5)、判断是否要唤醒(或调度)其他单片机工作,如果需要唤醒(或调度)其他单片机工作,首先使能通讯口线INT唤醒(或调度)其他单片机,其次通过数据口线DAT发送一个序号,此序号是需要唤醒(或调度)并工作的单片机编号;而后热复位,转入步骤(1);否则转步骤(4);
(6)、被其他单片机唤醒(或调度),接收序号;
(7)、判断此序号是否是自己的编号,如果是自己的编号,转步骤(4);否则进入休眠状态(或者保持原状态),等待其他单片机唤醒(或调度),唤醒(或调度)后转步骤(6)。
上述步骤(5)中发送序号的方法是通过DAT引脚在规定时间内连续发送若干个低电平脉冲。规定的时间为10ms。低电平脉冲的周期是20us。
本发明总体工作原理是每个单片机通过三态门与其他硬件相连。当自己不工作时禁能三态门与其他硬件断开,然后进入休眠状态(或者运行子任务),等待其他单片机唤醒(或调度)。当需要自己工作时,使能三态门连接其他硬件,运行自己的程序。第一次上电时总是第0号单片机首先运行,然后通过调度算法唤醒(或调度)其他单片机。唤醒(或调度)其他单片机后,第0号单片机进入休眠状态(或者运行子任务)。
实施例:
利用本发明技术,把8个单片机用于一套机械和电路组成的硬件上,实现了织物的拉伸强力测试、撕破强力测试、顶破强力测试、剥离强力测试、单纱强力测试、弹性回复测试、缝口脱开测试、腋下接缝测试,使得原本一个功能单一的仪器,变成了多功能仪器,开发了多功能织物强力机。
实施例的电路板分为单片机板和硬件底板两部分。单片机板的电路原理图参考图1。其单片机采用51单片机,三态门采用74LS245。INT采用P3.2引脚,DAT采用P1.0引脚,EN采用P1.1引脚。单片机板共8片,分别含有拉伸强力测试、撕破强力测试、顶破强力测试、剥离强力测试、单纱强力测试、弹性回复测试、缝口脱开测试、腋下接缝测试的程序。编号从0到7。硬件底板主要包括:输入键盘、液晶显示、存储芯片、强力AD、长度脉冲计数、通讯接口等电路。8片单片机板分别插座硬件底板对应的插座上。二者通过插针和插座的连接使单片机的输入输出引脚和底板的硬件输入输出信号相连。
上电后,0号单片机使能EN脚,与硬件底板电路相连,运行内置程序,在液晶上显示主菜单——测试项目选择菜单,等待用户选择,其余单片机禁能EN并休眠。若用户通过键盘选择“拉伸强力测试”,0号单片机就运行拉伸强力测试程序,执行完毕后,再次在液晶上显示主菜单等待用户选择。若用户选择“撕破强力测试”,0号单片机做4个动作:使能INT,通过DAT引脚发送“1”,禁能EN脚,热复位并休眠。由于所有单片机的INT引脚连在一起,除0号单片机的其他单片机都被唤醒,但DAT发送的是“1”,所以只有1号单片机即撕破强力测试程序开始执行,执行完毕后,在液晶上显示主菜单等待用户选择。未被选中的单片机继续休眠。若用户选择其他功能,原理相同。
可以看到利用本发明,把本来只能完成一项测试的仪器,变成了能完成八项测试的仪器。节约资源,增强了仪器的科技含量,提高了经济效益和社会效益。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (4)
1.一种多单片机多任务协作方法,其特征在于,包括采用多单片机多任务协作电路的硬件,所述多单片机多任务协作电路包括多个单片机和三态门,所述三态门包括三态输出门和三态输入门;每个所述单片机的三个IO口线作为控制口线,所述三个控制口线分别是通讯口线INT、数据口线DAT和三态门使能口线EN;
所述每个单片机的输出线与各自的三态输出门相连;
每个所述单片机的输入线与各自的三态输入门相连;
每个所述单片机的三态门使能口线EN分别与各自的三态输出门、三态输入门的使能端相连;
每个所述单片机的三态输出门的输出线一一对应相连,并连接至其他硬件的输出线;
每个所述单片机的三态输入门的输出线一一对应相连,并连接至其他硬件的输入线;
每个所述单片机的通讯口线INT相连;
每个所述单片机的数据口线DAT相连;
其工作步骤是:
(1)、禁能三态门,与其他硬件断开;
(2)、判断是否热复位启动,如果是热复位启动,进入休眠状态,等待其他单片机唤醒,唤醒后转步骤(6);否则转步骤(3);
(3)、判断自己是否是0号单片机,如是0号单片机,使能三态门连接其他硬件电路,转步骤(4);否则进入休眠状态,等待其他单片机唤醒,唤醒后转步骤(6);
(4)、运行本单片机的任务;
(5)、判断是否要唤醒其他单片机工作,如果需要唤醒其他单片机工作,首先使能通讯口线INT唤醒其他单片机,其次通过数据口线DAT发送一个序号,此序号是需要唤醒并工作的单片机编号;而后热复位,转入步骤(1);否则转步骤(4);
(6)、被其他单片机唤醒,接收序号;
(7)、判断此序号是否是自己的编号,如果是自己的编号,转步骤(4);否则进入休眠状态,等待其他单片机唤醒,唤醒后转步骤(6)。
2.根据权利要求1所述的一种多单片机多任务协作方法,其特征在于:所述步骤(5)中通过数据口线DAT发送一个序号是指通过DAT引脚在规定时间内连续发送若干个低电平脉冲。
3.根据权利要求2所述的一种多单片机多任务协作方法,其特征在于:所述规定时间为10ms。
4.根据权利要求2所述的一种多单片机多任务协作方法,其特征在于:所述低电平脉冲的周期是20us。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310079045.8A CN103150287B (zh) | 2013-03-12 | 2013-03-12 | 多单片机多任务协作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310079045.8A CN103150287B (zh) | 2013-03-12 | 2013-03-12 | 多单片机多任务协作方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103150287A CN103150287A (zh) | 2013-06-12 |
CN103150287B true CN103150287B (zh) | 2016-01-20 |
Family
ID=48548375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310079045.8A Active CN103150287B (zh) | 2013-03-12 | 2013-03-12 | 多单片机多任务协作方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103150287B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111475213B (zh) * | 2020-04-03 | 2023-04-28 | 深圳忆联信息系统有限公司 | 多核结构固态硬盘的功耗降低方法、装置和计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1783147A (zh) * | 2005-09-07 | 2006-06-07 | 哈尔滨工业大学固泰电子有限责任公司 | 一种单片机控制的汽车仪表装置 |
CN201288460Y (zh) * | 2008-09-01 | 2009-08-12 | 华中科技大学 | 自行车防盗锁系统 |
CN101859291A (zh) * | 2010-06-13 | 2010-10-13 | 王新辉 | 多单片机协同工作方法及多单片机协同工作系统 |
-
2013
- 2013-03-12 CN CN201310079045.8A patent/CN103150287B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1783147A (zh) * | 2005-09-07 | 2006-06-07 | 哈尔滨工业大学固泰电子有限责任公司 | 一种单片机控制的汽车仪表装置 |
CN201288460Y (zh) * | 2008-09-01 | 2009-08-12 | 华中科技大学 | 自行车防盗锁系统 |
CN101859291A (zh) * | 2010-06-13 | 2010-10-13 | 王新辉 | 多单片机协同工作方法及多单片机协同工作系统 |
Non-Patent Citations (3)
Title |
---|
多单片机实现多任务控制;范小林等;《计算机应用》;19981130;第18卷(第11期);第51-53页 * |
多单片机系统的主从式并行通讯;赵文敏;《仪表技术》;20000331;第2000(年)卷(第3期);第27-30页 * |
多单片机系统直接并行通信;刘永强;《电脑开发与应用》;19971231;第10卷(第1期);第13-16页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103150287A (zh) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103116384B (zh) | 一种SoC系统时钟控制的方法和SoC | |
CN103995742B (zh) | 一种基于mcu的嵌入式实时调度控制装置及方法 | |
CN103631360A (zh) | 一种支持睡眠模式的芯片及方法 | |
CN103645794A (zh) | 一种通过边沿检测电路实现睡眠模式唤醒的芯片及方法 | |
CN112530056A (zh) | 降低智能门锁功耗的方法、智能门锁和存储介质 | |
CN108304223A (zh) | 一种用于电源休眠机制的操作系统与硬件平台交互方法 | |
CN104111850A (zh) | 一种降低微控制单元mcu功耗的方法及系统 | |
CN101387896B (zh) | Soc中实现片上主系统唤醒和睡眠功能的方法和装置 | |
CN105892629A (zh) | 基于多内核的屏幕唤醒方法、装置和移动终端 | |
CN109613970B (zh) | 一种基于fpga和dsp架构的低功耗处理方法 | |
CN103150005A (zh) | 非对称低功耗移动设备的多核结构 | |
CN106502770A (zh) | 一种基于有限状态机的hmi状态迁移方法 | |
CN105823965A (zh) | 基于智能手机的配电线路故障实时定位监测系统 | |
CN103150287B (zh) | 多单片机多任务协作方法 | |
CN104626165A (zh) | 示教器按键反应灵敏度优化方法 | |
CN109062624A (zh) | 一种用于汽车电子控制单元中断唤醒的处理方法 | |
CN103677991A (zh) | 基于单片机系统架构的任务执行方法及单片机系统架构 | |
CN105208099A (zh) | 一种云服务器内利用sdn技术智能节电的体系架构 | |
CN201749350U (zh) | 小型plc的人机界面装置 | |
CN204009892U (zh) | 基于x86与通用操作系统的嵌入式综合处理平台 | |
CN102817727B (zh) | 一种柴油发电机组嵌入式实时控制方法及其装置 | |
CN102841808B (zh) | 电脑系统的效能提升方法及其电脑系统 | |
CN201285527Y (zh) | 一种基于fpga的网络计算机 | |
CN101281418B (zh) | 设定通用串行总线设备的方法及计算机可读取的记录媒体 | |
CN201788460U (zh) | 一种复位电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220525 Address after: Room 903, building 1, zone 2, Hang Seng Science Park, No. 8, beitanghe Road, Tianning District, Changzhou City, Jiangsu Province, 213017 Patentee after: Changzhou Ourui Electronic Equipment Co.,Ltd. Address before: 213022, No. 200, Jinling North Road, Xinbei District, Jiangsu, Changzhou Patentee before: CHANGZHOU CAMPUS OF HOHAI University |