CN116450555B - 通过串行外设接口通信的方法及装置 - Google Patents
通过串行外设接口通信的方法及装置 Download PDFInfo
- Publication number
- CN116450555B CN116450555B CN202310714064.7A CN202310714064A CN116450555B CN 116450555 B CN116450555 B CN 116450555B CN 202310714064 A CN202310714064 A CN 202310714064A CN 116450555 B CN116450555 B CN 116450555B
- Authority
- CN
- China
- Prior art keywords
- module
- host
- data
- slave
- communication
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 66
- 238000004891 communication Methods 0.000 title claims abstract description 64
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000002093 peripheral effect Effects 0.000 title claims abstract description 37
- 230000005540 biological transmission Effects 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 5
- 230000000737 periodic effect Effects 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000009191 jumping Effects 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000013021 overheating Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- 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
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供了一种通过串行外设接口通信的方法及装置,该方法包括主机模块的SPI软件将从机模块使能并向主机模块内部的发送寄存器写入主机数据,然后主机模块向从机模块发送主机数据并同时接收从机模块的从机数据,经过预设的发送周期后主机模块的SPI硬件将判断从机数据是否大于设定阈值,若否,则经过预设的等待周期后继续进行通信,若是,则向主机模块的MCU发送中断信号并调整工作频率后再进行通信。本发明所提供的方法能够使得主机模块与从机模块进行完全周期性的通信,使工作频率控制更加精准并且降低了MCU的功耗。
Description
技术领域
本发明涉及串行外设接口通信领域,尤其涉及一种通过串行外设接口通信的方法及装置。
背景技术
串行外设接口(SPI,Serial Peripheral Interface)是一种高速、全双工、同步通信总线,其可以在同一时间发送和接收数据,SPI没有定义速度限制,通常能达到甚至超过10M/bps。
串行外设接口通信通常由一个主机模块(Master)和从机模块(Slave)执行。主机模块选择需要进行通信的从机模块进行同步通信从而完成数据的交换。其中,主机模块用于提供时钟,从机模块用于接收时钟,串行外设接口的读写操作,都是由主机模块发起,当存在多个从机模块时,通过各自的片选信号进行管理。
串行外设接口通信需要4根信号线,分别为MISO、MOSI、SCLK和CS/SS:
MISO(Master Input Slave Output):主机模块数据输入,从机模块数据输出;
MOSI(Master Output Slave Input):主机模块数据输出,从机模块数据输入;
SCLK(Serial Clock):时钟信号,由主机模块产生;
CS/SS(Chip Select/Slave Select):片选信号,一个主机模块可以和多个从机模块进行通信,但每次只能选择一个从机模块进行通信,需要通过片选信号选中从机模块,片选信号低电平时有效。
现有技术中,当需要利用串行外设接口读取芯片数据并进行阈值判断时,作为主机模块的芯片与作为从机模块的芯片(例如温度传感器芯片)进行通信的工作流程分为以下几步:
1)SPI首先初始化配置通信频率以及通信相位;
2)SPI软件配置从机模块有效,向发送数据寄存器中写入需要发送的数据并开始与从机模块通信;
3)通信完成后,置位中断信号并通知MCU读取接收到的数据;
4)判断接收到的数据是否超过了设置的阈值,若超过阈值则发生中断并通知MCU,否则,则跳到步骤2)继续开始新的SPI的通信。
由上述步骤流程可以看出,在整个通信过程中均需要软件参与操作。而由于存在软件的全程参与,使得现有技术至少存在以下缺陷:
(1)每一次主机模块与从机模块实际通信的起点与理论上开始通信的起点之间均存在偏差,使得主机模块与从机模块之间无法做到完全周期性的通信,因此随着通信周期重复的次数越多,累积的偏差也会越来越大;
(2)软件参与时,每发送一帧数据均需要唤醒MCU发送数据,即MCU需要反复被唤醒,因而使得MCU无法持续处于低功耗的工作模式。
发明内容
鉴于此,本发明提供了一种通过串行外设接口通信的方法及装置,实现主机模块周期性且低功耗地与从机模块进行通信。
根据本发明的一个方面,提供了一种通过串行外设接口通信的方法,其中,该方法包括:
S1:主机模块的SPI软件将从机模块使能,并向主机模块写入主机数据;
S2:主机模块向从机模块发送主机数据,并同时从从机模块接收从机数据,经过预设的发送周期后执行S3;
S3:主机模块的SPI硬件判断从机数据是否大于设定阈值,若否,则执行S4,若是,则向主机模块的MCU发送中断信号并执行S5;
S4:经过预设的等待周期后执行S2;
S5:调整工作频率后执行S2 。
根据本发明的另一个方面,提供了一种通过串行外设接口通信的装置,其中,该装置包括通过串行外设接口通信的主机模块和从机模块:
主机模块包括;
从机模块,被配置为与主机模块通过串行外设接口通信;
使能模块,被配置为调用主机模块的SPI软件将从机模块使能,并向主机模块写入主机数据;
通信模块,被配置为使得主机模块向从机模块发送主机数据,并同时从从机模块接收从机数据,经过预设的发送周期后调用判断模块;
判断模块,被配置为调用主机模块的SPI硬件判断从机数据是否大于设定阈值,若否,则调用跳转模块,若是,则发送中断信号并调用调频模块;
跳转模块,被配置为经过预设的等待周期后调用通信模块;
调频模块,被配置为调整工作频率后调用通信模块。
根据本发明的又一个方面,提供了一种电子设备,包括:一个或多个处理器以及存储器,其中,存储器用于存储可执行指令;一个或多个处理器被配置为经由可执行指令来实现上述的方法。
根据本发明的再另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,使处理器执行上述的方法。
从以上技术方案可以看出,本发明所提供的技术方案至少存在以下优点:
1. 能够实现完全周期性的SPI通信,使工作频率控制更加精准;
2. 降低了MCU在SPI通信过程中的参与程度,从而降低了整体功耗。
本发明的其它特征和优点将在随后的说明书中阐述,或者通过实施本发明的具体实施例而了解。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,但并不构成对本发明技术方案的限制。
图1示出了本发明示例性实施例所提供的方法的流程图;
图2示出了本发明示例性实施例中主机模块与从机模块进行通信的一种应用情景下的示意图;
图3示出了本发明示例性实施例中主机模块与从机模块进行通信的一种应用情景下的波形图;
图4示出了本发明示例性实施例中主机模块与从机模块进行通信的一种应用情景下的流程图;
图5示出了本发明示例性实施例所提供的装置的结构框图;
图6示出了本发明示例性实施例中的电子设备的结构框图。
具体实施方式
下面将参照附图来详细描述本发明的各种示例性实施例。对示例性实施例的描述仅仅是说明性的,并不作为对本发明及其应用或使用的任何限制。本发明可以以许多不同的形式实现,不限于这里所述的实施例。提供这些实施例是为了使本发明透彻且完整,并且向本领域技术人员充分表达本发明的范围。
除非上下文另外明确地表明,如果未特意限定要素的数量,则该要素可以是一个也可以是多个。如本说明书使用的,术语“多个/若干”意指两个或更多,并且术语“基于”应解释为“至少部分地基于”。此外,术语“和/或”以及“……中的至少一个”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
串行外设接口(SPI,Serial Peripheral Interface)具有一对一(一个主机模块对一个从机模块)以及一对多(一个主机模块对多个从机模块)两种通信模式。此外,由于串行外设接口是一种单主机(Single Master)通信协议,因此只有单个主机模块能够发起通信。当主机模块想读/写从机模块时,该主机模块首先需要拉低从机模块对应的片选信号,然后将工作脉冲发送到时钟线上,在相应的脉冲时间上,主机模块将信号发到 MOSI以实现数据的写入,同时可通过MISO进行数据的读取。本发明说明书的以下部分将结合附图详细描述本发明的实施例。
本发明的一个方面提供了一种通过串行外设接口通信的方法,其提供了一种SPI的自动工作模式,不仅能够实现严格周期性的SPI通信,而且能够降低MCU的功耗。
关于严格周期性通信,本发明的技术方案采用硬件的方式来控制SPI的周期性发送,通过软件配置发送周期和等待周期,实现了周期性的SPI的通信。具体而言,本发明所提供的技术方案能够通过定义SPI的CONTINUE模式(连续工作模式)持续发送命令来读取从机模块的目标信息。并且每次发送的命令均是同一个值,如此,可以使得只需设定一次要发送的值,就能够周期性地把该值发送出去。
关于保持MCU低功耗,本发明的技术方案在自动工作模式下可以使MCU以及周边其它模块进入睡眠模式,由SPI单独完成对目标值的监测,直至发现目标值超过设定阈值时,才发送中断以唤醒MCU工作。具体而言,本发明所提供的技术方案增加了SPI的自动比较功能,即能够将SPI接收到的值与设定的阈值进行比较,当发现接收到的值超过设定的阈值时,就会发出中断信号以通知MCU。
请参考图1,其示出了本发明示例性实施例所提供的方法的流程图,该方法按照如下的步骤执行:
S1:主机模块的SPI软件将从机模块使能,并向设置在主机模块内部的发送寄存器写入主机数据;
S2:主机模块向从机模块发送主机数据,并同时从从机模块接收从机数据,经过预设的发送周期后执行S3;
S3:判断从机数据是否大于设定阈值,若否,则执行S4,若是,则向主机模块的MCU发送中断信号并执行S5;
S4:经过预设的等待周期后执行S2;
S5:调整工作频率后执行S2。
其中,工作频率为主机模块的主频,当检查到从机数据大于设定阈值(过流或者过热)时,就会调整主机模块芯片工作的主频。
本实施例的方法还可以包括通信初始化的步骤,包括对在主机模块与从机模块之间的通信频率、通信相位、发送bit数以及发送时钟周期进行配置。主机模块向发送寄存器写入主机数据的操作在S1中被执行并且仅需写入一次,这使得此后S2中每次通信均重复发送该主机数据,无需再写入其他数据。上述步骤中,S1的执行为软件控制,S2至S4的执行为硬件控制,无需软件的再次参与。
此外,预设的发送周期以及预设的等待周期均通过SPI软件配置。其中,预设的发送周期为主机模块发送主机数据的第1bit开始直到主机数据的最后1bit发送完成的时间,此时SPI软件需要配置主机数据中每bit数据的发送时间,以及主机数据中包括的bit数,每bit数据的发送时间与bit数之间的乘积即为预设的发送周期。预设的等待周期为主机数据在两次发送之间的时间间隔,此时SPI软件需要配置当前发送完主机数据的最后1bit的时间与下一次开始发送主机数据的第1bit之间时间间隔,该时间间隔即为预设的等待周期。
请参考图2至图4,其分别示出了本发明示例性实施例中主机模块与从机模块进行通信的一种应用情景下的示意图、波形图以及流程图。
本发明所提供的方法可运用于数字电路芯片中需要通过串行外设接口周期性地连续读取电流值或温度值数据的情况,该数字电路芯片包括图形处理器(GPU,GraphicsProcessing Unit)、微控制器(MCU,Microcontroller Unit)以及串行外设接口,以下部分将结合图2至图4进行具体说明。
如图2所示,供电电源VDD给芯片进行供电,为实现对供电温度高低的监控,还需要给供电电源VDD外接一个温度传感器芯片实时地监测温度值。此时,图形处理器芯片即为主机模块,温度传感器芯片即为从机模块。可以通过串行外设接口利用MOSI发送读温度值的命令,来读取前述温度传感器芯片的温度值。串行外设接口通过MISO信号读取到温度值后,即将该读取到的温度值与设置的温度阈值进行比较,当读取到的温度值超过了所设置的温度阈值时,就会发生中断并通知微控制器。微控制器获得该通知后就会调整工作频率,以避免芯片过热的风险。此时,主机模块为图形处理器芯片,从机模块为温度传感器芯片,从机数据为温度传感器芯片通过采样获得的温度值。
此外,也可通过测量供电电源VDD的电流值来判断是否发生过流风险,将前述温度传感器芯片相应地换为能够对供电电源VDD的电流进行采样的模数转换芯片(Analog-to-Digital Converter,ADC)并设置电流阈值即可实现。此时,从机模块为模数转换芯片,从机数据为模数转换芯片通过采样获得的电流值。
此外,在一个优选实施例中,本发明所提供的技术方案不仅可以在过热/过流情况下调低工作频率,还可以适时地调高工作频率。具体而言,通过配置硬件计时,若在计时经过一段预设时间后,仍没有发生过阈值中断的情况,则可以调高工作频率。
图3示出了在上述应用情景下主机模块与从机模块进行通信的波形图。
a) bit0~bit5(即图3中的“6bit”阶段):图形处理器芯片(主机模块)向模数转换芯片(从机模块)发送数据,发送地址信息,用于对模数转换芯片中的相应的地址寄存器进行读或者写;
b)bit6~bit7(即图3中的“2bit”阶段):图形处理器芯片(主机模块)向模数转换芯片(从机模块)发送数据,发送读写控制信号,用于控制对模数转换芯片的内部寄存器进行读或者写操作;
c)bit8~bit31(即图3中的“24bit”阶段):当图形处理器芯片(主机模块)对模数转换芯片(从机模块)进行读操作时,读取的数据由模数转换芯片发送到图形处理器芯片;当图形处理器芯片对模数转换芯片进行写操作的时候,写入的数据由图形处理器芯片发送到模数转换芯片。
图4即示出了在上述应用情景下主机模块与从机模块进行通信的工作的流程图。
具体而言,主机模块与从机模块的工作流程包括如下步骤:
1)串行外设接口初始化配置通信频率以及通信相位;
2)配置串行外设接口重复发送第一帧的数据;
3)设置用于检测的温度阈值大小;
4)配置发送寄存器为32’h1100_0000并发送读取温度数据的命令;
5)与温度传感器芯片进行通信,得到供电电源VDD的温度值并与温度阈值进行比较,如果比温度阈值小,则执行步骤6),否则发送中断信号并执行步骤7);
6)等待足够的时间Twait后跳至步骤5),继续下一次通信;
7)微控制器响应中断,切换系统频率到更低的频率,然后跳至步骤5)继续执行。
请参考图5,其示出了本发明示例性实施例所提供的装置的结构框图。
本发明的另一个方面提供了一种通过串行外设接口通信的装置,其中,该装置包括通过串行外设接口通信的主机模块和从机模块:
主机模块包括;
从机模块,被配置为与主机模块通过串行外设接口通信;
使能模块,被配置为调用主机模块的SPI软件将从机模块使能,并向主机模块写入主机数据;
通信模块,被配置为使得主机模块向从机模块发送主机数据,并同时从从机模块接收从机数据,经过预设的发送周期后调用判断模块;
判断模块,被配置为调用主机模块的SPI硬件判断从机数据是否大于设定阈值,若否,则调用跳转模块,若是,则发送中断信号并调用调频模块;
跳转模块,被配置为经过预设的等待周期后调用通信模块;
调频模块,被配置为调整工作频率后调用通信模块。
在一个优选实施例中,前述装置还包括配置模块,该配置模块被配置以执行对在主机模块与从机模块之间进行通信的通信频率、通信相位、发送bit数以及发送时钟周期进行配置。
本发明所提供的装置还优选地包括写数据模块,该写数据模块被配置以使得主机模块向设置在其内部的发送寄存器写入需要给从机模块发送的主机数据。需要说明的是,主机模块的写入操作仅需执行一次,这使得后续通信中将无需再写入其他数据,即,通信模块每次被执行时发送的主机数据均是同一数据。
应当理解,图5中所示的装置的各个模块可以与本说明书前文描述的方法中的各个步骤相对应。由此,上面针对方法描述的操作、特征和优点同样适用于装置及其包括的模块。为了简洁起见,某些操作、特征和优点在此不再赘述。
虽然上面参考特定模块讨论了特定功能,但是应当注意,本发明技术方案中各个模块的功能也可以分为多个模块进行实现,和/或多个模块的至少一些功能可以组合成单个模块进行实现。本发明技术方案中特定模块执行动作的方式包括,该特定模块本身执行动作,或者由该特定模块调用或以其他方式访问执行动作(或结合该特定模块一起执行动作)。因此,执行动作的特定模块可以包括执行动作的该特定模块本身和/或该特定模块调用或以其他方式访问的、执行动作的另一模块。
除上述技术方案外,本发明还提供了一种电子设备,该电子设备包括一个或多个处理器以及用于存储可执行指令存储器。其中,该一个或多个处理器被配置为经由可执行指令来实现上述方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,使得处理器执行上述方法。
在本说明书的以下部分,将结合图6来描述前述电子设备、非暂态计算机可读存储介质的说明性示例。
图6示出了可以被用来实施本发明所描述的方法的电子设备300的示例配置。本发明技术方案所提供装置也可以全部或至少部分地由电子设备300或类似设备或系统实现。
电子设备300可以是各种不同类型的设备。电子设备300的示例包括但不限于:台式计算机、服务器计算机、笔记本电脑或上网本计算机、移动设备(例如,平板电脑、蜂窝或其他无线电话(例如,智能电话)、记事本计算机、移动台)、可穿戴设备(例如,眼镜、手表)、娱乐设备(例如,娱乐器具、通信地耦合到显示设备的机顶盒、游戏机)、电视或其他显示设备、汽车计算机等。
电子设备300可以包括能够诸如通过系统总线311或其他适当的连接彼此通信的至少一个处理器302、存储器304、(多个)通信接口309、显示设备301、其他输入/输出(I/O)设备310以及一个或更多大容量存储设备303。
处理器302可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器302可以被实施成一个或更多微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。除了其他能力之外,处理器302可以被配置成获取并且执行存储在存储器304、大容量存储设备303或者其他计算机可读介质中的计算机可读指令,诸如操作系统305的程序代码、应用程序306的程序代码、其他程序307的程序代码等。
存储器304和大容量存储设备303是用于存储指令的计算机可读存储介质的示例,指令由处理器302执行来实施前面所描述的各种功能。举例来说,存储器304一般可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等)。此外,大容量存储设备303一般可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等。存储器304和大容量存储设备303在本发明中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,计算机程序代码可以由处理器302作为被配置成实施在本发明的示例中所描述的操作和功能的特定机器来执行。
多个程序可以存储在大容量存储设备303上。这些程序包括操作系统305、一个或多个应用程序306、其他程序307和程序数据308,并且它们可以被加载到存储器304以供执行。这样的应用程序或程序模块的示例可以包括例如用于实现以下部件/功能的计算机程序逻辑(例如,计算机程序代码或指令):本申请所提供的方法(包括该方法的任何合适的步骤)和/或本申请描述的另外的实施例。
虽然在图6中被图示成存储在电子设备300的存储器304中,但是模块305、306、307和308或者其部分可以使用可由电子设备300访问的任何形式的计算机可读介质来实施。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质和能传播能量波的无线介质,例如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质中的已调制数据信号。
作为示例而非限制,计算机可读存储介质可包括以用于存储例如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括但不限于,易失性存储器,例如随机存储器(RAM、DRAM、SRAM);以及非易失性存储器,例如闪存、各种只读存储器(ROM、PROM、EPROM、EEPROM)、磁性和铁磁/铁电存储器(MRAM、FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。
一个或更多通信接口309用于诸如通过网络、直接连接等与其他设备交换数据。这样的通信接口可以是以下各项中的一个或多个:任何类型的网络接口(例如,网络接口卡)、有线或无线(诸如IEEE 802.11无线LAN)无线接口、全球微波接入互操作(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、Bluetooth接口、近场通信(NFC)接口等。通信接口309可以促进在多种网络和协议类型内的通信,其中包括有线网络(例如LAN、电缆等)和无线网络(例如WLAN、蜂窝、卫星等)、因特网等。通信接口309还可以提供与诸如存储阵列、网络附属存储、存储区域网等中的外部存储设备(图中未示出)的通信。
在一些示例中,可以包括诸如监视器之类的显示设备301,以用于向用户显示信息和图像。其他I/O设备310可以是接收来自用户的各种输入并且向用户提供各种输出的设备,并且可以包括触摸输入设备、手势输入设备、摄影机、键盘、遥控器、鼠标、打印机、音频输入/输出设备等。
本发明描述的技术方案可以由电子设备300的这些各种配置来支持,并且不限于本发明所描述的技术方案的具体示例。
虽然在附图和前面的描述中已经详细地说明和描述了本发明,但是这样的说明和描述应当被认为是说明性的和示意性的,而非限制性的;对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,本发明所要求保护的范围由权利要求而非上述说明限定,落在权利要求的等同要件的含义和范围内的所有变化均涵盖在本发明的保护范围内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。
Claims (11)
1.一种通过串行外设接口通信的方法,其特征在于,所述方法包括:
S1:主机模块的SPI软件将从机模块使能,并向设置在所述主机模块内部的发送寄存器写入主机数据;
S2:所述主机模块向所述从机模块发送所述主机数据,并同时从所述从机模块接收所述从机模块检测到的与所述主机模块运行相关的从机数据,经过预设的发送周期后执行S3,所述预设的发送周期为所述主机模块发送所述主机数据的第1bit开始直到所述主机数据的最后1bit发送完成的时间;
S3:所述主机模块的SPI硬件判断所述从机数据是否大于设定阈值,若否,则执行S4,若是,则向主机模块的MCU发送中断信号以唤醒MCU工作并执行S5;
S4:经过预设的等待周期后执行S2,所述预设的等待周期为当前发送完所述主机数据的最后1bit数据的时间与下一次开始发送所述主机数据的第1bit数据之间的时间间隔;
S5:调整所述主机模块的工作频率后执行S2。
2.根据权利要求1所述的通过串行外设接口通信的方法,其特征在于,所述方法还包括配置在所述主机模块与所述从机模块之间进行串行外设接口通信的通信频率、通信相位、发送bit数以及发送时钟周期。
3.根据权利要求2所述的通过串行外设接口通信的方法,其特征在于,所述主机数据的写入操作仅需执行一次。
4.根据权利要求1所述的通过串行外设接口通信的方法,其特征在于,所述主机模块为图形处理器芯片,所述从机模块为温度传感器芯片,所述从机数据为所述温度传感器芯片通过采样获得的温度值。
5.根据权利要求1所述的通过串行外设接口通信的方法,其特征在于,所述主机模块为图形处理器芯片,所述从机模块为模数转换芯片,所述从机数据为所述模数转换芯片通过采样获得的电流值。
6.根据权利要求1所述的通过串行外设接口通信的方法,其特征在于,所述预设的发送周期通过所述SPI软件配置,所述SPI软件配置所述主机数据中每bit数据的发送时间,以及所述主机数据中包括的bit数。
7.根据权利要求1所述的通过串行外设接口通信的方法,其特征在于,所述预设的等待周期通过所述SPI软件配置。
8.根据权利要求1所述的通过串行外设接口通信的方法,其特征在于,所述工作频率为所述主机模块的主频。
9.一种通过串行外设接口通信的装置,其特征在于,所述装置包括通过串行外设接口通信的主机模块和从机模块:
所述主机模块包括;
使能模块,被配置为调用所述主机模块的SPI软件将所述从机模块使能,并向设置在所述主机模块内部的发送寄存器写入主机数据;
通信模块,被配置为使得所述主机模块向所述从机模块发送所述主机数据,并同时从所述从机模块接收所述从机模块检测到的与所述主机模块运行相关的从机数据,经过预设的发送周期后调用判断模块,所述预设的发送周期为所述主机模块发送所述主机数据的第1bit开始直到所述主机数据的最后1bit发送完成的时间;
判断模块,被配置为调用所述主机模块的SPI硬件判断所述从机数据是否大于设定阈值,若否,则调用跳转模块,若是,则发送中断信号以唤醒MCU工作并调用调频模块;
跳转模块,被配置为经过预设的等待周期后调用所述通信模块,所述预设的等待周期为当前发送完所述主机数据的最后1bit数据的时间与下一次开始发送所述主机数据的第1bit数据之间的时间间隔;
调频模块,被配置为调整所述主机模块的工作频率后调用所述通信模块。
10.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,其用于存储可执行指令;
所述一个或多个处理器被配置为经由所述可执行指令来实现权利要求1至8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,使所述处理器执行权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310714064.7A CN116450555B (zh) | 2023-06-16 | 2023-06-16 | 通过串行外设接口通信的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310714064.7A CN116450555B (zh) | 2023-06-16 | 2023-06-16 | 通过串行外设接口通信的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116450555A CN116450555A (zh) | 2023-07-18 |
CN116450555B true CN116450555B (zh) | 2023-08-22 |
Family
ID=87130580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310714064.7A Active CN116450555B (zh) | 2023-06-16 | 2023-06-16 | 通过串行外设接口通信的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116450555B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023956A (zh) * | 2009-09-23 | 2011-04-20 | 上海摩波彼克半导体有限公司 | 集成电路芯片中串行外设从器件接口结构及数据读写方法 |
CN111342945A (zh) * | 2020-02-19 | 2020-06-26 | 广东乐心医疗电子股份有限公司 | 主从通信方法和装置 |
KR102133257B1 (ko) * | 2020-02-11 | 2020-07-13 | 주식회사 와이앤와이 | 다채널 메모리 라이트기 |
CN115878534A (zh) * | 2021-09-23 | 2023-03-31 | 深圳市前海研祥亚太电子装备技术有限公司 | 串行外设接口spi通信方法 |
-
2023
- 2023-06-16 CN CN202310714064.7A patent/CN116450555B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023956A (zh) * | 2009-09-23 | 2011-04-20 | 上海摩波彼克半导体有限公司 | 集成电路芯片中串行外设从器件接口结构及数据读写方法 |
KR102133257B1 (ko) * | 2020-02-11 | 2020-07-13 | 주식회사 와이앤와이 | 다채널 메모리 라이트기 |
CN111342945A (zh) * | 2020-02-19 | 2020-06-26 | 广东乐心医疗电子股份有限公司 | 主从通信方法和装置 |
CN115878534A (zh) * | 2021-09-23 | 2023-03-31 | 深圳市前海研祥亚太电子装备技术有限公司 | 串行外设接口spi通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116450555A (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5454224B2 (ja) | 記憶装置および記憶システム | |
US20170364472A1 (en) | Sensors global bus | |
CN101615067A (zh) | 经协调的链路功率管理 | |
CN110888520B (zh) | 操作频率调整方法及装置 | |
US20060041611A1 (en) | Data transfer control system, electronic apparatus, and program | |
US20170280385A1 (en) | Link speed control systems for power optimization | |
JP5284140B2 (ja) | インタフェース制御装置 | |
US10417172B2 (en) | Sensors global bus | |
JP2015174375A (ja) | 画像形成装置およびその制御方法、並びにプログラム | |
US20180173665A1 (en) | Hard reset over i3c bus | |
US20190212805A1 (en) | Apparatuses and methods of entering unselected memories into a different power mode during multi-memory operation | |
EP2207101A1 (en) | Method and device for parallel interfacing | |
JP6151465B1 (ja) | プロセッサコアの電力モードを制御するためのレイテンシベースの電力モードユニット、ならびに関連する方法およびシステム | |
US20180173667A1 (en) | Hard reset over i3c bus | |
US20190306337A1 (en) | Communication apparatus, control method, and storage medium | |
US20070058464A1 (en) | Semiconductor storage device, electronic apparatus, and mode setting method | |
CN116450555B (zh) | 通过串行外设接口通信的方法及装置 | |
CN104378526A (zh) | 图像形成装置和控制进入其节电模式的方法 | |
US20160124488A1 (en) | Controlling power states of a device | |
US20060195638A1 (en) | Peripheral device | |
JP2006227985A (ja) | データ転送制御装置及び電子機器 | |
US20140082392A1 (en) | Semiconductor device and communication method | |
CN113986803B (zh) | 一种i2c总线控制方法、装置、器件及存储介质 | |
JP6806072B2 (ja) | 通信装置、情報処理装置、及び通信方法 | |
JP2019036850A (ja) | 通信装置およびその制御方法 |
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 |