CN112214246A - 一种低功耗多处理器串口唤醒方法及系统 - Google Patents
一种低功耗多处理器串口唤醒方法及系统 Download PDFInfo
- Publication number
- CN112214246A CN112214246A CN201910626006.2A CN201910626006A CN112214246A CN 112214246 A CN112214246 A CN 112214246A CN 201910626006 A CN201910626006 A CN 201910626006A CN 112214246 A CN112214246 A CN 112214246A
- Authority
- CN
- China
- Prior art keywords
- serial port
- module
- slave
- data
- processor
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 18
- 230000007246 mechanism Effects 0.000 abstract description 3
- 230000001960 triggered effect Effects 0.000 abstract 2
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Power Sources (AREA)
Abstract
本发明提出一种低功耗多处理器串口唤醒方法及系统,该方法通过主处理器唤醒从处理器,从处理器为一个或多个。本发明中,从处理器通过下降沿触发,并在下降沿触发后增加ID号判断机制,及主处理器发送所要通信的从处理器ID给所有从处理器,从处理器的串口模块进行ID判断,仅当ID一致时才唤醒从处理器,否则保持低功耗模式。本发明能够实现一对多的处理器唤醒,且保证整个系统功耗较低。
Description
技术领域
本发明涉及智能设备在线升级技术领域,尤其是一种低功耗多处理器串口唤醒方法。
背景技术
微控制器在物联网领域的应用越来越广泛,同时对控制器的低功耗设计也有了更高的要求。一般微控制器都有多种低功耗模式,在进入低功耗模式之后,微控制器内部时钟被停掉,内核以及外设和内部振荡电路都停止了工作。这个时候,微控制器可以通过外部引脚产生中断来唤醒微控制器,也可以通过内部电路来唤醒。很多时候,还要求通过通信接口来唤醒微控制器,从而可以实现在需要通信的时候,微控制器处于工作状态,在不需要通信的时候进入低功耗模式。特别是在多处理器通信中,一般只有两个微控制器间在某一时刻建立通信,其他的微控制器最好处于低功耗状态。
现有方法是通过一对一的方式,一个主机,一个从机。通过判断接收线上是否有数据,或者是否收到数据来唤醒从机。这样的一对一连接方式,比较简单,容易实现。但要想唤醒多个从机,多个系统,就不太方便。本文使用了一种ID确认机制,来唤醒多个从机的低功耗系统。
为了更好的解决在多处理器中低功耗通信,保证在某一个时刻,被寻址的串口能够正确唤醒接受数据,我们在通常的串口上增加了部分逻辑,实现多处理器中低功耗通信。
发明内容
发明目的:为解决现有技术的缺陷,本发明提出一种低功耗多处理器串口唤醒方法及系统。
技术方案:本发明给出的技术方案为:
一种低功耗多处理器串口唤醒方法,该方法通过主处理器唤醒从处理器,从处理器为一个或多个;从处理器包括串口模块、电源管理模块、时钟控制模块和内核模块;
该方法包括步骤:
(1)主处理器在发送数据之前,先发送选定的从处理器的ID,发送ID时,起始位下降沿信号触发所有从处理器的串口模块产生时钟请求信号给电源管理模块,电源管理控制模块使能时钟控制模块,时钟控制模块产生串口时钟信号反馈给串口模块,使串口开始接收数据;
(2)从处理器的串口模块接收到ID后,与预先保存在串口模块中的自身ID进行比较,若比较结果一致,则串口模块发出中断唤醒信号给电源管理控制模块,通知电源管理控制模块使能时钟控制模块产生系统时钟送到内核模块,同时产生唤醒中断唤醒内核模块;若比较结果不一致,则串口模块不产生中断唤醒信号,并立即停止接收数据;
(3)主处理器向所有从处理器发送数据,数据的最高位为0,已经被唤醒的从处理器继续接收数据,而未被唤醒的从处理器不接收数据,等待下一个ID发送触发唤醒;
(4)当主处理器需要更换所要通信的从处理器时,主处理器重新发送从处理器的ID,ID起始位下降沿信号触发所有从处理器的串口模块,各从处理器重复执行步骤(2)至(3)。
进一步的,所述ID的最高位为1,所述数据的最高位为0。
本发明还提出一种用于实现所述低功耗多处理器串口唤醒方法的系统,该系统包括:主处理器和至少一个从处理器,主处理器的输出端分别与各从处理器的输入端连接;从处理器的串口模块包括:数据接收控制逻辑电路、数据接收缓冲器、ID寄存器、ID判断电路;
数据接收控制逻辑电路用于检测从处理器输入端的下降沿信号,当检测到下降沿信号时,产生串口时钟请求信号UART_CK_REQ给电源管理模块;以及接收时钟控制模块反馈的串口时钟信号,并根据串口时钟信号开始接收处理器输入端上的数据,当接收ID时,将ID存放至数据接收缓冲器,此时ID判断电路将数据接收缓冲器中存放的ID与ID寄存器中存放的自身ID进行逐位比对,并根据比对结果产生一位电平信号发送给电源管理控制模块的使能端;若比对结果一致,所述电平信号即为可以启动电源管理控制模块的中断唤醒信号,若比较结果不一致,则所述电平信号不能启动电源管理控制模块。
有益效果:与现有技术相比,本发明具有以下优势:
具有一个主机唤醒多个从机的低功耗系统功能;只有被访问的从机系统才能从低功耗唤醒,如果主机发送的数据不针对任何一个已连的从机,那么所有的从机系统继续保持低功耗模式;从机系统从低功耗唤醒后,将接收主机发送的数据,直到主机停止发送或者切换到下一个从机系统为止。
附图说明
图1 为本发明所述多处理器串口唤醒系统的结构图;
图2为从处理器内部模块功能结构图;
图3为串口模块内部模拟电路图;
图4为多处理器串口唤醒方法流程图。
具体实施方式
下面结合附图和具体实施例对本发明作更进一步的说明。
本发明旨在提出一种低功耗多处理器串口唤醒方法,该方法通过主处理器唤醒从处理器,从处理器为一个或多个;从处理器包括串口模块、电源管理模块、时钟控制模块和内核模块;
该方法包括步骤:
(1)主处理器在发送数据之前,先发送选定的从处理器的ID,发送ID时,起始位下降沿信号触发所有从处理器的串口模块产生时钟请求信号给电源管理模块,电源管理控制模块使能时钟控制模块,时钟控制模块产生串口时钟信号反馈给串口模块,使串口开始接收数据;
(2)从处理器的串口模块接收到ID后,与预先保存在串口模块中的自身ID进行比较,若比较结果一致,则串口模块发出中断唤醒信号给电源管理控制模块,通知电源管理控制模块使能时钟控制模块产生系统时钟送到内核模块,同时产生唤醒中断唤醒内核模块;若比较结果不一致,则串口模块不产生中断唤醒信号,并立即停止接收数据;
(3)主处理器向所有从处理器发送数据,数据的最高位为0,已经被唤醒的从处理器继续接收数据,而未被唤醒的从处理器不接收数据,等待下一个ID发送触发唤醒;
(4)当主处理器需要更换所要通信的从处理器时,主处理器重新发送从处理器的ID,ID起始位下降沿信号触发所有从处理器的串口模块,各从处理器重复执行步骤(3)至(4)。
本发明可以适用于一对一的串口唤醒系统,也可以适用于一对多的串口唤醒系统,此处仅以一对多的串口唤醒系统为例,阐述本发明的技术方案。
实施例:图1所示为一种一对多的处理器串口唤醒系统,其中微控制器0为主机,其它微控制器为从机。其中,从处理器内部模块功能结构如图2所示,包括串口UART、电源管理模块PMU、时钟控制模块CLK_GEN、内核模块CORE。
为了实现唤醒机制,本发明在微处理器的串口模块增加了以下功能:
1.接收端RX下降沿检测逻辑;
2.内部新增ID号寄存器,ID寄存器一共8位,最高位为标志位,低4位为ID号位;本实施例中设置ID位为4位,用于比较接收的数据的,判断是否需要产生唤醒请求;接收的数据如果是ID,则最高位为1,如果是数据,则为0, ID低4位有效。
3.ID比较电路,用于比较接收到的ID和ID号寄存器存储的ID的,如果比较结果相同,对于未唤醒的微控制器,则产生唤醒请求(UART_WUK输出),对于已唤醒的微控制器,继续接收数据;如果不同,对于已经唤醒的微控制器,则让自身进入静默模式,停止接收RX传来的数据,对于还未唤醒的微控制器,则继续保持低功耗模式等待唤醒。
图3所示为所述串口模块的模拟电路结构图。
基于图3所示的串口模块,多处理器串口通信工作过程如图4所示:
微控制器0 UART(简称UART0)是主机,当需要访问其他从机时,UART0发送要访问从机的ID号到TX0上。 此时,所有的从机都接受到TX0发过来的数据。对从机微控制器1 UART(简称UART1)来说,接收端RX1与TX0相连,所以,信号和TX0一样。当RX1检查到有下降沿时,就会产生时钟请求信号UART_CK_REQ。这个时钟请求会通过电源管理控制模块后,使能内部振荡时钟(CLK_GEN),从而将UART1需要的时钟送到UART1,这样便可以有效地接收RX1上的ID数据。对于多处理器中的其他UART从机来说,也是同样的方法接收数据。
如果是ID数据,则最高位为1。当ID数据接收到以后,这个接收到的ID将和存在ID寄存器中的ID进行比较,如果结果相同,那么该从机就是主机UART0要访问的从机。这个时候,这个要访问的从机发出中断唤醒信号UART_WUK到PMU,通知PMU模块唤醒使能系统时钟,唤醒CORE。而未被ID命中的从机,则不会产生UART_WUK,同时使时钟请求UART_CK_REQ无效。
如果不是ID数据,则最高位为0。对于已经正确接收到ID的从机来说,就可以正确接收数据了。而对于未检测到ID的从机来说,就会在RX下降沿继续重复请求时钟,接收ID,当发现收到的不是ID时,则不去比较ID,忽略收到的数据。
如果主机想要通信,则需要发出该从机的ID。对于已经唤醒的从机(如UART1),当接收ID后,和ID寄存器比较,发现主机要访问的不是自己,立刻停止继续接收数据(不再向系统产生中断,或者各种状态位不再更新)。当主机UART0再次发出UART1的ID时,又可以重新接收数据。对于还未唤醒的从机(UART2),其唤醒如同前面提到的UART1一样,产生UART_CK_REQ,比较ID,产生UART_WUK,唤醒系统。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (3)
1.一种低功耗多处理器串口唤醒方法,其特征在于,该方法通过主处理器唤醒从处理器,从处理器为一个或多个;从处理器包括串口模块、电源管理模块、时钟控制模块和内核模块;
该方法包括步骤:
主处理器在发送数据之前,先发送选定的从处理器的ID,发送ID时,起始位下降沿触发所有从处理器的串口模块产生时钟请求信号给电源管理模块,电源管理控制模块使能时钟控制模块,时钟控制模块产生串口时钟信号反馈给串口模块,使串口开始接收数据;
从处理器的串口模块接收到ID后,与预先保存在串口模块中的自身ID进行比较,若比较结果一致,则串口模块发出中断唤醒信号给电源管理控制模块,通知电源管理控制模块使能时钟控制模块产生系统时钟送到内核模块,同时产生唤醒中断唤醒内核模块;若比较结果不一致,则串口模块不产生中断唤醒信号,并立即停止接收数据;
主处理器向所有从处理器发送数据,数据的最高位为0,已经被唤醒的从处理器继续接收数据,而未被唤醒的从处理器不接收数据,等待下一个ID发送触发唤醒;
当主处理器需要更换所要通信的从处理器时,主处理器重新发送从处理器的ID,ID起始位触发所有从处理器的串口模块,各从处理器重复执行步骤(3)至(4)。
2.根据权利要求1所述的一种低功耗多处理器串口唤醒方法,其特征在于,所述ID的最高位为1,所述数据的最高位为0。
3.一种用于实现权利要求1至2任意一项所述低功耗多处理器串口唤醒方法的系统,其特征在于,包括:主处理器和至少一个从处理器,主处理器的输出端分别与各从处理器的输入端连接;从处理器的串口模块包括:数据接收控制逻辑电路、数据接收缓冲器、ID寄存器、ID判断电路;
数据接收控制逻辑电路用于检测从处理器输入端的下降沿信号,当检测到下降沿信号时,产生串口时钟请求信号UART_CK_REQ给电源管理模块;以及接收时钟控制模块反馈的串口时钟信号,并根据串口时钟信号开始接收处理器输入端上的数据,当接收ID时,将ID存放至数据接收缓冲器,此时ID判断电路将数据接收缓冲器中存放的ID与ID寄存器中存放的自身ID进行逐位比对,并根据比对结果产生一位电平信号发送给电源管理控制模块的使能端;若比对结果一致,所述电平信号即为可以启动电源管理控制模块的中断唤醒信号,若比较结果不一致,则所述电平信号不能启动电源管理控制模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910626006.2A CN112214246A (zh) | 2019-07-11 | 2019-07-11 | 一种低功耗多处理器串口唤醒方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910626006.2A CN112214246A (zh) | 2019-07-11 | 2019-07-11 | 一种低功耗多处理器串口唤醒方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112214246A true CN112214246A (zh) | 2021-01-12 |
Family
ID=74047678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910626006.2A Pending CN112214246A (zh) | 2019-07-11 | 2019-07-11 | 一种低功耗多处理器串口唤醒方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112214246A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104597790A (zh) * | 2014-12-26 | 2015-05-06 | 北京兆易创新科技股份有限公司 | 一种串口控制器及基于其的微控制器系统的唤醒方法 |
CN105426338A (zh) * | 2015-10-30 | 2016-03-23 | 深圳市芯海科技有限公司 | 一种i2c唤醒mcu电路及唤醒方法 |
-
2019
- 2019-07-11 CN CN201910626006.2A patent/CN112214246A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104597790A (zh) * | 2014-12-26 | 2015-05-06 | 北京兆易创新科技股份有限公司 | 一种串口控制器及基于其的微控制器系统的唤醒方法 |
CN105426338A (zh) * | 2015-10-30 | 2016-03-23 | 深圳市芯海科技有限公司 | 一种i2c唤醒mcu电路及唤醒方法 |
Non-Patent Citations (2)
Title |
---|
姚蕾: "分布式无线土壤湿度监测系统的设计", 《农机化研究》 * |
程小艳等: "基于ARM Cortex-M3内核的嵌入式多机通信系统设计与应用", 《仪表技术》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6085330A (en) | Control circuit for switching a processor between multiple low power states to allow cache snoops | |
WO2019104947A1 (zh) | 系统级芯片、通用串行总线主设备、系统及唤醒方法 | |
US7330926B2 (en) | Interruption control system | |
US7430673B2 (en) | Power management system for computing platform | |
US9117036B2 (en) | Fast exit from low-power state for bus protocol compatible device | |
US8307233B2 (en) | Bus-handling | |
JP5773288B2 (ja) | ハイスピードインターチップhsicインタフェースに基づくウェイクアップ方法、ホットスワップ方法、およびデバイス | |
KR20120096866A (ko) | 모바일 기기의 센서를 제어하는 시스템 및 방법 | |
EP3844628B1 (en) | Slave-to-slave direct communication | |
US9395799B2 (en) | Power management techniques for USB interfaces | |
CN111512266A (zh) | 用于低功率状态转换的握手协议的系统、装置和方法 | |
WO2013063972A1 (zh) | 一种通信方法、通信装置及电子设备 | |
CN105225316A (zh) | 一种电子钥匙低功耗供电方案的休眠及唤醒方法 | |
US20160216758A1 (en) | PCI Express Device With Early Low Power State | |
US7886177B2 (en) | Method and apparatus of collecting timer ticks | |
CN106063304B (zh) | 用于基于消息的细粒度片上系统功率门控的系统和方法 | |
US7469349B2 (en) | Computer system and method of signal transmission via a PCI-Express bus | |
WO2022204990A1 (zh) | 控制芯片的方法和集成电路系统 | |
JP2004514211A (ja) | バス結合された回路ブロックのための電力管理の方法及び構成 | |
US7363408B2 (en) | Interruption control system and method | |
CN110865959B (zh) | 一种用于唤醒i2c设备的方法及电路 | |
US7206883B2 (en) | Interruption control system and method | |
CN112214246A (zh) | 一种低功耗多处理器串口唤醒方法及系统 | |
CN108181983B (zh) | 具有控制器进入低功率模式的电子设备 | |
CN108282186B (zh) | 一种uart通信系统、方法、设备及计算机存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210112 |
|
RJ01 | Rejection of invention patent application after publication |