CN108628793B - Spi通信电路及方法 - Google Patents
Spi通信电路及方法 Download PDFInfo
- Publication number
- CN108628793B CN108628793B CN201710164669.8A CN201710164669A CN108628793B CN 108628793 B CN108628793 B CN 108628793B CN 201710164669 A CN201710164669 A CN 201710164669A CN 108628793 B CN108628793 B CN 108628793B
- Authority
- CN
- China
- Prior art keywords
- spi communication
- data
- communication module
- speed clock
- clock
- 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
Images
Classifications
-
- 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
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Communication Control (AREA)
Abstract
一种SPI通信电路,所述电路包括SPI通信模块和时钟控制模块,所述SPI通信模块通过SPI总线与外部主机保持通信,时钟控制模块控制SPI通信模块时钟在系统高速时钟和内部低速时钟之间切换,低功耗模式下,SPI通信模块进入从机接收模式并工作在内部低速时钟下。允许低功耗模式下SPI通信模块进行通信。
Description
技术领域
本发明涉及数据传输接口,尤其涉及一种低功耗模式下SPI通信电路及方法。
背景技术
SPI(Serial Peripheral Interface,串行外设接口)是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为印制电路板(Printed Circuit Board;PCB)的布局节省空间,提供方便,正是出于这种简单易用的特性,如今越来越多的芯片集成了这种通信协议。
超低功耗系列控制器对于功耗的控制非常严格,低功耗的设计可以尽可能的延长智能计量设备的电池寿命。在现有设计中,SPI模块在系统进入低功耗模式下,无法正常工作。
SPI以主从方式工作,这种模式通常有一个主设备和一个或多个从设备。在系统工作在正常模式下,SPI工作在高速时钟下,功耗较高。而当系统进入低功耗模式下时,高速时钟被关闭,SPI无法和外部正常通信。
本发明提出一种SPI通信电路及方法,在低功耗模式下,可以进行SPI通信。
发明内容
本发明所要解决的技术问题在于,克服现有技术中存在的问题,提供一种SPI通信电路,可以进行在低功耗模式下的SPI通信。
为了解决上述问题,本发明的技术方案是这样的:
一种SPI通信电路,所述电路包括SPI通信模块和时钟控制模块,所述SPI通信模块通过SPI总线与外部主机保持通信,时钟控制模块控制SPI通信模块的时钟在系统高速主频时钟和内部低速时钟之间切换,低功耗模式下,SPI通信模块进入从机接收模式并工作在内部低速时钟下。
低功耗模式下,SPI通信模块当外部主机发送数据时,接收数据。
所述电路还包括CPU,所述SPI通信模块与CPU之间设置有中断控制模块,当SPI通信模块接收数据完成时产生中断,中断送到中断控制模块,然后唤醒CPU,CPU被唤醒后,打开系统高速时钟,系统恢复正常工作。
系统恢复正常工作后,清除数据接收中断。
处理数据后,系统再次进入低功耗模式。
根据本发明的另一个方面,一种低功耗模式下的SPI通信方法,包括以下步骤:
S201,系统正常模式;
S202,切换SPI通信模块的时钟到内部低速时钟;
S203,切换SPI通信模块到从机接收模式;
S204,关闭高速时钟,系统进入低功耗模式。
还包括步骤S205,SPI通信模块接收外部主机发送的数据;步骤S206,判断是否数据接收结束;当数据接收结束,进入步骤S207,SPI通信模块产生接收数据中断。
还包括步骤S208,中断唤醒CPU,打开高速时钟;并进入步骤S209,清除中断,处理数据。
处理数据完成后,返回步骤S204,关闭高速时钟,系统进入低功耗模式。
本发明提供的低功耗模式下的SPI通信电路和方法,可以在系统进入低功耗模式下,使SPI模块进入从机接收模式并工作在内部低速时钟下,只有当外部主机发送数据时,才接收数据,接收数据完成后发送中断,唤醒CPU处理数据,处理数据结束后,CPU再次进入低功耗模式。保障了系统在超低功耗模式下SPI模块的正常通信。
附图说明
下面结合附图和具体实施方式来详细说明本发明;
图1是表示根据本发明一个实施例的低功耗模式下的SPI通信电路的电路框图示意图。
图2是表示根据本发明一个实施例的低功耗模式下的SPI通信方法的流程示意图。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。
本发明提出的一种低功耗模式下的SPI通信电路,可以在系统进入低功耗模式下进行SPI通信。
本发明的一种低功耗模式下的SPI通信电路,包括SPI通信模块和时钟控制模块,所述SPI通信模块通过SPI总线与外部主机保持通讯,时钟控制模块控制SPI通信模块的时钟在系统高速主频时钟和内部低速时钟之间切换,低功耗模式下,SPI通信模块进入从机接收模式并工作在内部低速时钟下。
根据本发明的一个实施例,低功耗模式下,SPI模块只有当外部主机发送数据时,才接收数据。
所述电路还包括CPU,所述SPI通信模块与CPU之间设置有中断控制模块,当SPI通信模块接收数据完成时产生中断,中断送到中断控制模块,然后唤醒CPU,CPU被唤醒后,打开系统高速时钟,系统恢复正常工作。
系统恢复正常工作后,清除数据接收中断。
CPU清除数据接收中断标志位,处理数据后,再次进入低功耗模式。
SPI以主从方式工作,这种模式通常有一个主设备和一个或多个从设备。它有四根信号线,分别是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)和CS(片选)。
其中,CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。
由于SPI是串行通讯协议,也就是说数据是一位一位地传输的,这就是SCLK时钟线存在的原因,由SCLK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取,完成一位数据输出。数据输入也使用同样原理。这样,经过至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据,即一个字节数据的传输。
在系统工作在正常模式下,SPI通信模块工作在高速时钟下,功耗较高。一种技术当系统进入低功耗模式下时,高速时钟被关闭,SPI通信模块无法和外部正常通信。本发明的一种低功耗模式下的SPI通信电路,低功耗模式下,SPI通信模块工作在内部低速时钟下。SPI通信模块进入从机接收模式。
图1是表示根据本发明一个实施例的低功耗模式下的SPI通信电路的电路框图示意图。
如图1所示,根据本发明的一个实施例,低功耗模式下的SPI通信电路包括SPI通信模块101、时钟控制模块102和CPU103,SPI通信模块101与CPU103之间设置有中断控制模块104。SPI通信模块101通过SPI总线(未图示)与外部主机保持通讯,时钟控制模块102控制SPI通信模块的时钟在系统高速主频时钟和内部低速时钟之间切换。根据本发明的一个实施例,系统高速时钟和内部低速时钟都是系统原有的,位于SPI通信电路的外部,通过时钟控制模块将系统高速时钟和内部低速时钟发送给SPI通信模块。低功耗模式下,SPI通信模块101进入从机接收模式并工作在内部低速时钟下。只有当外部主机发送数据时,才接收数据。
当SPI通信模块101接收数据完成时产生中断,中断送到中断控制模块104,然后唤醒CPU103。
CPU103被唤醒后,打开系统高速时钟,系统恢复正常工作。系统例如指SPI通信电路所用的系统。
系统恢复正常工作后,清除数据接收中断。例如清除数据接收中断标志位。处理数据后,系统再次进入低功耗模式。
图2是表示根据本发明一个实施例的低功耗模式下的SPI通信方法的流程示意图。
如图2所示,根据本发明的一个实施例,低功耗模式下的SPI通信方法包括以下步骤:
S201,系统正常模式;这里的系统例如是MCU。系统为系统高速时钟。
S202,切换SPI通信模块的时钟到内部低速时钟;
S203,切换SPI通信模块到从机接收模式;
S204,关闭高速时钟,系统进入低功耗模式;
S205,SPI接收外部主机发送的数据;
S206,判断是否数据接收结束;
当数据接收结束,进入步骤S207,SPI通信模块产生接收数据中断;
然后是步骤S208,中断唤醒CPU,打开系统高速时钟;
并进入步骤S209,清除中断,处理数据;
处理数据完成后,返回步骤S204,关闭系统高速时钟,系统进入低功耗模式。低功耗模式为深度睡眠模式。
本发明的本发明提供的低功耗模式下的SPI通信电路和方法,可以在系统进入低功耗模式下,使SPI通信模块进入从机接收模式并工作在内部低速时钟下,只有当外部主机发送数据时,才接收数据,接收数据完成后发送中断,唤醒CPU处理数据,处理数据结束后,CPU再次进入低功耗模式。通过在系统进入低功耗模式时,切换SPI通信模块的时钟到内部低速时钟,保证了系统低功耗模式下SPI通信模块和外部主机的正常通信,从而降低系统的整体功耗。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实例的限制,上述实例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等同物界定。
Claims (6)
1.一种SPI通信电路,其特征在于,所述电路包括SPI通信模块和时钟控制模块,所述SPI通信模块通过一SPI总线与一外部主机保持通信,时钟控制模块控制所述SPI通信模块的时钟在系统高速时钟和内部低速时钟之间切换,低功耗模式下,所述SPI通信模块进入从机接收模式并工作在内部低速时钟下,低功耗模式下,所述SPI通信模块当所述外部主机发送数据时,接收数据,所述电路还包括CPU,所述SPI通信模块与CPU之间设置有一中断控制模块,当所述SPI通信模块接收数据完成时产生中断,所述中断送到中断控制模块,然后唤醒CPU处理所述数据,CPU被唤醒后,打开系统高速时钟,系统恢复正常工作。
2.如权利要求1所述的SPI通信电路,其特征在于,系统恢复正常工作后,清除数据接收中断。
3.如权利要求2所述的SPI通信电路,其特征在于,所述清除数据接收中断包括清除数据接收中断标志位。
4.如权利要求1所述的SPI通信电路,其特征在于,处理数据后,系统再次进入低功耗模式。
5.一种SPI通信方法,包括以下步骤:
S201,系统正常模式;
S202,切换SPI通信模块的时钟从系统高速时钟到内部低速时钟;
S203,切换SPI通信模块到从机接收模式;
S204,关闭系统高速时钟,系统进入低功耗模式;
S205,SPI通信模块接收外部主机发送的数据;
S206,判断是否数据接收结束,当数据接收结束,进入步骤S207;
S207,SPI通信模块产生接收数据中断;
S208,中断唤醒CPU,打开系统高速时钟;
S209,清除中断,处理数据。
6.如权利要求5所述的SPI通信方法,其特征在于,处理数据完成后,返回步骤S204,关闭系统高速时钟,系统进入低功耗模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710164669.8A CN108628793B (zh) | 2017-03-20 | 2017-03-20 | Spi通信电路及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710164669.8A CN108628793B (zh) | 2017-03-20 | 2017-03-20 | Spi通信电路及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108628793A CN108628793A (zh) | 2018-10-09 |
CN108628793B true CN108628793B (zh) | 2021-04-02 |
Family
ID=63686477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710164669.8A Active CN108628793B (zh) | 2017-03-20 | 2017-03-20 | Spi通信电路及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108628793B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102495030B1 (ko) * | 2018-11-15 | 2023-02-06 | 매그나칩 반도체 유한회사 | 클록 장애를 복원하는 수신 장치 및 이를 포함하는 전송 시스템 |
CN110673524B (zh) * | 2019-09-27 | 2020-09-22 | 安凯(广州)微电子技术有限公司 | 一种高速spi主模式控制器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101303620A (zh) * | 2008-06-27 | 2008-11-12 | 北京中星微电子有限公司 | 一种低功耗多通道控制系统 |
CN103558907A (zh) * | 2013-09-02 | 2014-02-05 | 威盛电子股份有限公司 | 电子装置及降低电子装置功耗的方法 |
CN105426338A (zh) * | 2015-10-30 | 2016-03-23 | 深圳市芯海科技有限公司 | 一种i2c唤醒mcu电路及唤醒方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101452337A (zh) * | 2008-12-18 | 2009-06-10 | 北京中星微电子有限公司 | 一种外接设备的控制方法和装置 |
CN102136046B (zh) * | 2010-12-29 | 2013-02-06 | 上海爱信诺航芯电子科技有限公司 | 一种高速低功耗的安全sd卡的通讯方法 |
CN103324268A (zh) * | 2013-05-29 | 2013-09-25 | 东南大学 | 用于无线传感器网络核心芯片的低功耗设计方法 |
US9842071B2 (en) * | 2014-11-11 | 2017-12-12 | Microchip Technology Incorporated | Multi-channel I2S transmit control system and method |
CN104516296B (zh) * | 2014-12-26 | 2017-05-31 | 北京兆易创新科技股份有限公司 | 一种基于外设模块的微控制器系统的唤醒方法及外设模块 |
US9548736B2 (en) * | 2015-06-15 | 2017-01-17 | The University Of Utah Research Foundation | Relative timed clock gating cell |
CN105353679B (zh) * | 2015-11-19 | 2018-07-27 | 北京时代民芯科技有限公司 | 自动感知导弹运行状态的低功耗履历电路 |
CN106358273B (zh) * | 2016-08-11 | 2020-10-27 | 南京矽力微电子技术有限公司 | 一种低功耗通信装置 |
-
2017
- 2017-03-20 CN CN201710164669.8A patent/CN108628793B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101303620A (zh) * | 2008-06-27 | 2008-11-12 | 北京中星微电子有限公司 | 一种低功耗多通道控制系统 |
CN103558907A (zh) * | 2013-09-02 | 2014-02-05 | 威盛电子股份有限公司 | 电子装置及降低电子装置功耗的方法 |
CN105426338A (zh) * | 2015-10-30 | 2016-03-23 | 深圳市芯海科技有限公司 | 一种i2c唤醒mcu电路及唤醒方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108628793A (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8745417B2 (en) | Computer system and notebook computer, and method for controlling computer system | |
CN109857243B (zh) | 系统级芯片、通用串行总线主设备、系统及唤醒方法 | |
EP2757839B1 (en) | Power management method and apparatus for network access module | |
CN103677916A (zh) | 一种基于fpga的在线重配置系统及方法 | |
CN106487372A (zh) | 包括单线接口的装置和具有该装置的数据处理系统 | |
CN102650904B (zh) | 低功耗电路以及降低功率消耗的方法 | |
US20200065116A1 (en) | Method and circuit for waking up i2c device | |
CN103914418A (zh) | 处理器模块、微型服务器以及使用处理器模块的方法 | |
CN102799550A (zh) | 基于芯片间高速接口hsic的唤醒、热插拔方法和设备 | |
CN108628793B (zh) | Spi通信电路及方法 | |
CN105487638A (zh) | 电子电路系统及其降低功耗的方法 | |
CN102253910A (zh) | 一种i2c传输方法及其装置 | |
CN106063304B (zh) | 用于基于消息的细粒度片上系统功率门控的系统和方法 | |
CN102445981B (zh) | 数据传输系统以及数据传输方法 | |
CN107370651B (zh) | 一种spi从机之间的通信方法 | |
CN103729320B (zh) | 一种基于fpga实现cy7c68013通信的方法 | |
CN116088667B (zh) | 一种系统级soc芯片控制电路、方法及电子设备 | |
CN112069121A (zh) | 一种MCU控制GPU服务器Switch板系统及控制方法 | |
CN102156899A (zh) | Rfid标签芯片时钟管理单元 | |
CN102110237B (zh) | 一种多界面ic卡管脚低功耗处理方法 | |
CN117311447A (zh) | 时钟源确定方法、装置、设备及计算机可读存储介质 | |
CN201378316Y (zh) | 通用输入/输出接口扩展电路和具有该电路的移动终端 | |
CN111338460B (zh) | 电子装置以及供电方法 | |
US10608680B1 (en) | Dual mode communication device and dual mode communication module | |
CN101719053A (zh) | 一种通过spi接口读取iic存储卡的方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221221 Address after: 201210 floor 10, block a, building 1, No. 1867, Zhongke Road, pilot Free Trade Zone, Pudong New Area, Shanghai Patentee after: Xiaohua Semiconductor Co.,Ltd. Address before: Room 303-304, block a, 112 liangxiu Road, pilot Free Trade Zone, Pudong New Area, Shanghai Patentee before: HUADA SEMICONDUCTOR Co.,Ltd. |
|
TR01 | Transfer of patent right |