CN113176751A - 数据传输方法、设备及计算机可读存储介质 - Google Patents
数据传输方法、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113176751A CN113176751A CN202110470618.4A CN202110470618A CN113176751A CN 113176751 A CN113176751 A CN 113176751A CN 202110470618 A CN202110470618 A CN 202110470618A CN 113176751 A CN113176751 A CN 113176751A
- Authority
- CN
- China
- Prior art keywords
- mcu
- output pin
- pin
- slave
- data transmission
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24024—Safety, surveillance
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种数据传输方法、设备及计算机可读存储介质。该数据传输方法应用于包括主MCU和从MCU的数据传输设备,主MCU与从MCU之间的各引脚连接,形成四条信号线,主MCU通过第一输出引脚发送第一请求信号;从MCU通过第一中断引脚检测到上升沿时,通过第二输出引脚发送第一应答信号;主MCU通过第二中断引脚检测到上升沿时,拉高第三输出引脚;从MCU通过第三中断引脚检测到上升沿时,拉高第四输出引脚;主MCU通过第四中断引脚检测到上升沿时,通过通信总线发送第一待传输数据至从MCU;在第一待传输数据发送完成时,主MCU拉低第三输出引脚,从MCU拉低第四输出引脚。本发明能提高双MCU数据传输的稳定性。
Description
技术领域
本发明涉及数据通信领域,尤其涉及一种数据传输方法、设备及计算机可读存储介质。
背景技术
近年来,智能手表发展非常迅速,除了计时外,还可以实现大量的附加功能,如:供用户查看通知信息,接听电话,收发送短信,支付功能,通过心率、血压、血氧检测记录跟踪各项健康指标并上传APP,以便于用户随时查看健康状态等。但是,续航时长一直是智能手表的最大痛点,为了降低功耗,很多智能手表采用双核架构,其中,一颗低功耗的MCU(Microcontroller Unit,微控制单元)负责UI(User Interface,用户界面)显示和用户操控,另外一颗功耗极低的MCU负责各种传感器的数据采集、各种算法的运行和缓存。双MCU之间通常采用串口或者SPI(Serial Peripheral Interface,串行外设接口)等通信方式,在数据量较大的传输过程中,容易出现通信不稳定的情况,导致智能手表死机或者复位,影响用户使用。因此,如何提高双MCU数据传输的稳定性,是目前亟需解决的技术问题。
发明内容
本发明的主要目的在于提供一种数据传输方法、设备及计算机可读存储介质,旨在解决双MCU数据传输的稳定性较差的技术问题。
为实现上述目的,本发明提供一种数据传输方法,应用于数据传输设备,所述数据传输设备包括主MCU和从MCU,所述主MCU的第一输出引脚与所述从MCU的第一中断引脚连接、所述主MCU的第二中断引脚与所述从MCU的第二输出引脚连接、所述主MCU的第三输出引脚与所述从MCU的第三中断引脚连接、所述主MCU的第四中断引脚与所述从MCU的第四输出引脚连接,形成四条信号线,所述数据传输方法包括以下步骤:
所述主MCU通过所述第一输出引脚发送第一请求信号;
所述从MCU通过所述第一中断引脚检测到所述第一请求信号的上升沿时,通过所述第二输出引脚发送第一应答信号;
所述主MCU通过所述第二中断引脚检测到所述第一应答信号的上升沿时,拉高所述第三输出引脚;
所述从MCU通过所述第三中断引脚检测到上升沿时,拉高所述第四输出引脚;
所述主MCU通过所述第四中断引脚检测到上升沿时,通过通信总线发送第一待传输数据至所述从MCU;
在所述第一待传输数据发送完成时,所述主MCU拉低所述第三输出引脚,所述从MCU拉低所述第四输出引脚。
可选地,所述在所述第一待传输数据发送完成时,所述主MCU拉低所述第三输出引脚,所述从MCU拉低所述第四输出引脚的步骤包括:
所述从MCU对所述第三中断引脚的信号进行实时检测;
在所述第一待传输数据发送完成时,所述主MCU拉低所述第三输出引脚;
所述从MCU通过所述第三中断引脚检测到下降沿时,拉低所述第四输出引脚。
可选地,所述从MCU通过所述第二输出引脚发送第一应答信号的步骤之前,还包括:
所述从MCU对通信总线线程上锁;
所述从MCU通过所述第三中断引脚检测到下降沿时,拉低所述第四输出引脚的步骤之后,还包括:
所述主MCU通过所述第一输出引脚发送第二请求信号;
所述从MCU通过所述第一中断引脚检测到所述第二请求信号的上升沿时,释放通信总线线程锁。
可选地,所述从MCU通过所述第一中断引脚检测到所述第二请求信号的上升沿时,释放通信总线线程锁的步骤之后,还包括:
所述从MCU通过所述第二输出引脚发送第二应答信号,以通知所述主MCU所述通信总线线程锁释放完成。
可选地,所述数据传输方法还包括:
所述从MCU将第二待传输数据缓存至预设缓存空间,并拉高所述第四输出引脚;
所述主MCU通过所述第四中断引脚检测到上升沿时,通过所述通信总线从所述预设缓存空间中读取所述第二待传输数据;
在所述第二待传输数据传输完成时,所述从MCU拉低所述第四输出引脚。
可选地,所述在所述第二待传输数据传输完成时,所述从MCU拉低所述第四输出引脚的步骤包括:
所述主MCU在读取完所述第二待传输数据时,拉高所述第三输出引脚,并对所述第四中断引脚的信号进行实时检测;
所述从MCU通过所述第三中断引脚检测到上升沿时,拉低所述第四输出引脚;
所述在所述第二待传输数据传输完成时,所述从MCU拉低所述第四输出引脚的步骤之后,还包括:
所述主MCU通过所述第四中断引脚检测到下降沿时,拉低所述第三输出引脚。
可选地,所述从MCU将第二待传输数据缓存至预设缓存空间,并拉高所述第四输出引脚的步骤之前,还包括:
所述从MCU对通信总线线程上锁;
所述主MCU通过所述第四中断引脚检测到下降沿时,拉低所述第三输出引脚的步骤之后,还包括:
所述从MCU通过所述第三中断引脚检测到下降沿时,释放通信总线线程锁。
此外,为实现上述目的,本发明还提供一种数据传输设备,所述数据传输设备包括:主MCU和从MCU,所述主MCU的所述第一输出引脚与所述从MCU的所述第一中断引脚连接、所述主MCU的所述第二中断引脚与所述从MCU的所述第二输出引脚连接、所述主MCU的所述第三输出引脚与所述从MCU的所述第三中断引脚连接、所述主MCU的所述第四中断引脚与所述从MCU的所述第四输出引脚连接,形成四条信号线;所述数据传输设备还包括:存储器及存储在所述存储器上并可在所述主MCU和所述从MCU上运行的数据传输程序,所述数据传输程序被所述主MCU和所述从MCU执行时如上所述的数据传输方法的步骤。
可选地,所述数据传输设备还包括电源管理模块、人机接口模块和传感器模块,所述电源管理模块和所述人机接口模块与所述主MCU通信连接,所述传感器模块与所述从MCU通信连接。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据传输程序,所述数据传输程序被处理器执行时实现如上所述的数据传输方法的步骤。
本发明提供一种数据传输方法、设备及计算机可读存储介质,该数据传输方法应用于数据传输设备,数据传输设备包括主MCU和从MCU,主MCU的第一输出引脚与从MCU的第一中断引脚连接、主MCU的第二中断引脚与从MCU的第二输出引脚连接、主MCU的第三输出引脚与从MCU的第三中断引脚连接、主MCU的第四中断引脚与从MCU的第四输出引脚连接,形成四条信号线,主MCU通过第一输出引脚发送第一请求信号;从MCU通过第一中断引脚检测到第一请求信号的上升沿时,通过第二输出引脚发送第一应答信号;然后,主MCU通过第二中断引脚检测到第一应答信号的上升沿时,拉高第三输出引脚;从MCU通过第三中断引脚检测到上升沿时,拉高第四输出引脚;进而,主MCU通过第四中断引脚检测到上升沿时,通过通信总线发送第一待传输数据至从MCU;最后,在第一待传输数据发送完成时,主MCU拉低第三输出引脚,从MCU拉低第四输出引脚。本发明实施例中,通过在主MCU和从MCU之间增加主MCU请求和应答信号线、从MCU请求和应答信号线这4条信号线,并控制相关的时序,使得主MCU准备好可以开始发送数据、从MCU准备好可以接收数据时,即双MCU完成数据传输的准备工作时,方会通过通信总线进行数据的传输,从而可大大提高双MCU数据传输过程中的稳定性和可靠性,避免由于通信不稳定造成的数据传输设备死机或复位的情况。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明数据传输方法第一实施例的流程示意图;
图3为本发明数据传输方法第二实施例的流程示意图;
图4为本发明数据传输方法第四实施例的流程示意图;
图5为本发明数据传输方法第五实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例终端可以是数据传输设备。该数据传输设备可以为智能手表、智能手环、智能手机等具有双MCU(Microcontroller Unit,微控制单元)的终端设备。
如图1所示,该数据传输设备可以包括:主MCU1001,从MCU1002,通信总线1003,存储器1004。其中,通信总线1003用于实现这些组件之间的连接通信。存储器1004可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1004可选的还可以是独立于前述主MCU1001和从MCU1002的存储装置。其中,该主MCU1001和从MCU1002之间可通过通信总线进行通信,通信总线可以包括但不限于:SPI(SerialPeripheral Interface,串行外设接口)总线、串口、I2C(Inter-Integrated Circuit,两线式串行总线)总线等。此外,本发明实施例中,在主MCU1001与从MCU1002之间新增4条信号线,具体的,主MCU和从MCU分别具有4个引脚,主MCU的第一输出引脚与从MCU的第一中断引脚连接、主MCU的第二中断引脚与从MCU的第二输出引脚连接、主MCU的第三输出引脚与从MCU的第三中断引脚连接、主MCU的第四中断引脚与从MCU的第四输出引脚连接,形成四条信号线。其中,第一输出引脚、第二输出引脚、第三输出引脚和第四输出引脚所对应的均是普通IO(Input Output,输入输出)输出口,而第一中断引脚、第二中断引脚、第三中断引脚和第四中断引脚所对应的均是中断口。
以数据传输设备为智能手表为例,主MCU作为主设备,负责与从MCU数据传输、将数据通过蓝牙发送给APP以及外设驱动处理;从MCU处理器作为从设备,负责心率传感器、加速度传感器、温度传感器、气压传感器等各种传感器的数据采集,同时还负责心率算法、运动算法以及体温算法等各种算法的处理。
可选地,数据传输设备还可以包括电源管理模块、人机接口模块和传感器模块,电源管理模块和人机接口模块与主MCU通信连接,传感器模块与从MCU通信连接。其中,电源管理模块用于数据传输设备锂电池的充放电管理,根据设置的充电参数对锂电池进行充电,人机接口模块负责UI(User Interface,用户界面)显示、开关机操作以及功能切换,传感器模块负责各种传感器数据采集。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1004中可以包括操作系统以及数据传输程序。当然,在存储器1004还可以用于存储数据传输设备中的一些资源信息,以数据传输设备为智能手表为例,存储器1004可用于存储智能手表中需要使用的图片、字体等资源信息。
在图1所示的终端中,当主MCU发送数据给从MCU时,主MCU1001和从MCU1002可以用于调用存储器1004中存储的数据传输程序,并执行以下操作:
所述主MCU通过所述第一输出引脚发送第一请求信号;
所述从MCU通过所述第一中断引脚检测到所述第一请求信号的上升沿时,通过所述第二输出引脚发送第一应答信号;
所述主MCU通过所述第二中断引脚检测到所述第一应答信号的上升沿时,拉高所述第三输出引脚;
所述从MCU通过所述第三中断引脚检测到上升沿时,拉高所述第四输出引脚;
所述主MCU通过所述第四中断引脚检测到上升沿时,通过通信总线发送第一待传输数据至所述从MCU;
在所述第一待传输数据发送完成时,所述主MCU拉低所述第三输出引脚,所述从MCU拉低所述第四输出引脚。
进一步地,主MCU1001和从MCU1002可以调用存储器1004中存储的数据传输程序,还执行以下操作:
所述从MCU对所述第三中断引脚的信号进行实时检测;
在所述第一待传输数据发送完成时,所述主MCU拉低所述第三输出引脚;
所述从MCU通过所述第三中断引脚检测到下降沿时,拉低所述第四输出引脚。
进一步地,主MCU1001和从MCU1002可以调用存储器1004中存储的数据传输程序,还执行以下操作:
所述从MCU对通信总线线程上锁;
所述从MCU通过所述第三中断引脚检测到下降沿时,拉低所述第四输出引脚的步骤之后,还包括:
所述主MCU通过所述第一输出引脚发送第二请求信号;
所述从MCU通过所述第一中断引脚检测到所述第二请求信号的上升沿时,释放通信总线线程锁。
进一步地,主MCU1001和从MCU1002可以调用存储器1004中存储的数据传输程序,还执行以下操作:
所述从MCU通过所述第二输出引脚发送第二应答信号,以通知所述主MCU所述通信总线线程锁释放完成。
进一步地,当从MCU发送数据给主MCU时,主MCU1001和从MCU1002可以调用存储器1004中存储的数据传输程序,还执行以下操作:
所述从MCU将第二待传输数据缓存至预设缓存空间,并拉高所述第四输出引脚;
所述主MCU通过所述第四中断引脚检测到上升沿时,通过所述通信总线从所述预设缓存空间中读取所述第二待传输数据;
在所述第二待传输数据传输完成时,所述从MCU拉低所述第四输出引脚。
进一步地,主MCU1001和从MCU1002可以调用存储器1004中存储的数据传输程序,还执行以下操作:
所述主MCU在读取完所述第二待传输数据时,拉高所述第三输出引脚,并对所述第四中断引脚的信号进行实时检测;
所述从MCU通过所述第三中断引脚检测到上升沿时,拉低所述第四输出引脚;
所述在所述第二待传输数据传输完成时,所述从MCU拉低所述第四输出引脚的步骤之后,还包括:
所述主MCU通过所述第四中断引脚检测到下降沿时,拉低所述第三输出引脚。
进一步地,主MCU1001和从MCU1002可以调用存储器1004中存储的数据传输程序,还执行以下操作:
所述从MCU对通信总线线程上锁;
所述主MCU通过所述第四中断引脚检测到下降沿时,拉低所述第三输出引脚的步骤之后,还包括:
所述从MCU通过所述第三中断引脚检测到下降沿时,释放通信总线线程锁。
基于上述硬件结构,提出本发明数据传输方法各个实施例。
本发明提供一种数据传输方法。
参照图2,图2为本发明数据传输方法第一实施例的流程示意图。
在本实施例中,所述数据传输方法应用于数据传输设备,所述数据传输设备包括主MCU和从MCU,所述主MCU的第一输出引脚与所述从MCU的第一中断引脚连接、所述主MCU的第二中断引脚与所述从MCU的第二输出引脚连接、所述主MCU的第三输出引脚与所述从MCU的第三中断引脚连接、所述主MCU的第四中断引脚与所述从MCU的第四输出引脚连接,形成四条信号线,所述数据传输方法包括:
步骤S10,所述主MCU通过所述第一输出引脚发送第一请求信号;
在本实施例中,数据传输方法应用于数据传输设备,数据传输设备包括主MCU和从MCU,主MCU和从MCU分别具有4个引脚,主MCU的第一输出引脚与从MCU的第一中断引脚连接、主MCU的第二中断引脚与从MCU的第二输出引脚连接、主MCU的第三输出引脚与从MCU的第三中断引脚连接、主MCU的第四中断引脚与从MCU的第四输出引脚连接,形成四条信号线。其中,第一输出引脚、第二输出引脚、第三输出引脚和第四输出引脚所对应的均是普通IO输出口,而第一中断引脚、第二中断引脚、第三中断引脚和第四中断引脚所对应的均是中断口。此外,主MCU和从MCU之间还通过通信总线进行通信,通信总线可以包括但不限于:SPI(Serial PeripheralInterface,串行外设接口)总线、串口、I2C(Inter-IntegratedCircuit,两线式串行总线)总线等,本实施例中,以通信总线为SPI总线为例进行说明。SPI是一种全双工的高速同步通信总线,通信协议灵活,可控度高。SPI由四条信号线组成:串行时钟信号SCLK、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和从机片选信号线CS。
在本实施例中,当主MCU发送数据给从MCU时,其过程如下:
主MCU通过第一输出引脚发送第一请求(request,REQ)信号,其中,第一请求信号是带上升沿和下降沿的请求信号,通过发送第一请求信号,表示主MCU有数据需要发送至从MCU。
步骤S20,所述从MCU通过所述第一中断引脚检测到所述第一请求信号的上升沿时,通过所述第二输出引脚发送第一应答信号;
从MCU通过第一中断引脚检测到第一请求信号的上升沿时,通过第二输出引脚发送第一应答(Acknowledge Character,ACK)信号。第一应答信号,第一应答信号是带上升沿和下降沿的确认应答信号,通过发送第一应答信号,表示从MCU已确认上述数据传输请求,即第一请求信号。
步骤S30,所述主MCU通过所述第二中断引脚检测到所述第一应答信号的上升沿时,拉高所述第三输出引脚;
然后,主MCU通过第二中断引脚检测到第一应答信号的上升沿时,拉高第三输出引脚,表示已经准备好可以开始发送数据。
步骤S40,所述从MCU通过所述第三中断引脚检测到上升沿时,拉高所述第四输出引脚;
从MCU通过第三中断引脚检测到上升沿时,即,确定主MCU已准备好可以开始发送数据时,拉高第四输出引脚,表示已经准备好可以接收数据。
步骤S50,所述主MCU通过所述第四中断引脚检测到上升沿时,通过通信总线发送第一待传输数据至所述从MCU。
主MCU通过第四中断引脚检测到上升沿时,即,确定从MCU已准备好可以接收数据时,通过通信总线发送第一待传输数据至从MCU。
具体的,在发送数据时,可以先将第一待传输数据打包放入缓存中,然后开始发送数据。通过缓存的方式,可提高数据传输效率。
步骤S60,在所述第一待传输数据发送完成时,所述主MCU拉低所述第三输出引脚,所述从MCU拉低所述第四输出引脚。
最后,在第一待传输数据发送完成时,主MCU拉低第三输出引脚,从MCU拉低第四输出引脚,以将主MCU和从MCU各引脚电平恢复至初始状态。
本发明实施例提供一种数据传输方法,该数据传输方法应用于数据传输设备,数据传输设备包括主MCU和从MCU,主MCU的第一输出引脚与从MCU的第一中断引脚连接、主MCU的第二中断引脚与从MCU的第二输出引脚连接、主MCU的第三输出引脚与从MCU的第三中断引脚连接、主MCU的第四中断引脚与从MCU的第四输出引脚连接,形成四条信号线,主MCU通过第一输出引脚发送第一请求信号;从MCU通过第一中断引脚检测到第一请求信号的上升沿时,通过第二输出引脚发送第一应答信号;然后,主MCU通过第二中断引脚检测到第一应答信号的上升沿时,拉高第三输出引脚;从MCU通过第三中断引脚检测到上升沿时,拉高第四输出引脚;进而,主MCU通过第四中断引脚检测到上升沿时,通过通信总线发送第一待传输数据至从MCU;最后,在第一待传输数据发送完成时,主MCU拉低第三输出引脚,从MCU拉低第四输出引脚。本发明实施例中,通过在主MCU和从MCU之间增加主MCU请求和应答信号线、从MCU请求和应答信号线这4条信号线,并控制相关的时序,使得主MCU准备好可以开始发送数据、从MCU准备好可以接收数据时,即双MCU完成数据传输的准备工作时,方会通过通信总线进行数据的传输,从而可大大提高双MCU数据传输过程中的稳定性和可靠性,避免由于通信不稳定造成的数据传输设备死机或复位的情况。
进一步地,基于上述第一实施例,提出本发明数据传输方法的第二实施例。参照图3,图3为本发明数据传输方法的第二实施例的流程示意图。
在本实施例中,上述步骤S60包括:
步骤S61,所述从MCU对所述第三中断引脚的信号进行实时检测;
步骤S62,在所述第一待传输数据发送完成时,所述主MCU拉低所述第三输出引脚;
在本实施例中,主MCU通过通信总线发送第一待传输数据至从MCU之后,从MCU开始接收数据,并在接收完成后,对第三中断引脚的信号进行实时检测,以等待第三输出引脚拉低。
主MCU在发送完第一待传输数据时,拉低第三输出引脚,表示数据发送完成,并等待第四输出引脚拉低。
步骤S63,所述从MCU通过所述第三中断引脚检测到下降沿时,拉低所述第四输出引脚。
从MCU通过第三中断引脚检测到下降沿时,即检测到第三输出引脚拉低时,可确定主MCU已完成第一待传输数据的发送,此时,拉低第四输出引脚,表示数据接收完成。对应的,主MCU可通过第四中断引脚检测到下降沿,即检测到第四输出引脚拉低,以确定从MCU已接收完第一待传输数据,进而方会进行下一次的数据传输等操作。
本实施例中,通过增加等待机制,进一步控制相关的时序,可使得从MCU确定主MCU已完成第一待传输数据的发送、主MCU确定从MCU已接收完第一待传输数据,进而再执行后续的操作,如其他数据的传输。通过上述方式,可进一步提高主MCU发送数据给从MCU的过程中、双MCU数据传输的稳定性和可靠性。
进一步地,基于上述第二实施例,提出本发明数据传输方法的第三实施例。
在本实施例中,在上述步骤“从MCU通过所述第二输出引脚发送第一应答信号”之前,该数据传输方法还包括:
步骤A,所述从MCU对通信总线线程上锁;
在本实施例中,从MCU通过第一中断引脚检测到第一请求信号的上升沿时,即,确定主MCU有数据需要发送时,先对通信总线线程上锁,以保证通信总线线程未结束本次数据传输前、不会被干扰和占用。然后,再通过第二输出引脚发送第一应答信号,进而执行后续步骤,具体的执行过程可参照上述实施例。
在上述步骤S63之后,还包括:
步骤B,所述主MCU通过所述第一输出引脚发送第二请求信号;
步骤C,所述从MCU通过所述第一中断引脚检测到所述第二请求信号的上升沿时,释放通信总线线程锁。
进一步地,在从MCU确定主MCU已完成第一待传输数据的发送,主MCU也确定从MCU已接收完第一待传输数据之后,主MCU通过第一输出引脚发送第二请求信号,该第二请求信号是带上升沿和下降沿的请求信号,通过发送第二请求信号,是用于通知从MCU释放通信总线线程锁。
此时,从MCU通过第一中断引脚检测到第二请求信号的上升沿时,释放通信总线线程锁。
本实施例中,在进行数据传输前,通过对通信总线线程上锁,进而在数据传输完成后,再释放通信总线线程锁,可避免数据传输过程中,通信总线线程被干扰和占用的情况的发生,从而可进一步提高主MCU发送数据给从MCU的过程中、双MCU数据传输的稳定性和可靠性。
进一步地,在上述步骤C之后,该数据传输方法还包括:
步骤D,所述从MCU通过所述第二输出引脚发送第二应答信号,以通知所述主MCU所述通信总线线程锁释放完成。
本实施例中,从MCU释放通信总线线程锁之后,从MCU通过第二输出引脚发送第二应答信号,第二应答信号是带上升沿和下降沿的确认应答信号,通过发送第二应答信号,以通知主MCU通信总线线程锁释放完成。
进一步地,基于上述各实施例,提出本发明数据传输方法的第四实施例。
参照图4,图4为本发明数据传输方法第四实施例的流程示意图。
在本实施例中,该数据传输方法还包括:
步骤S100,所述从MCU将第二待传输数据缓存至预设缓存空间,并拉高所述第四输出引脚;
在本实施例中,当从MCU发送数据给主MCU时,其过程如下:
从MCU将第二待传输数据缓存至预设缓存空间,其中,预设缓存空间可以为FIFO(First Input First Output,数据结构中的先进先出队列)等缓存数据结构,然后拉高第四输出引脚,以表示从MCU有数据需要发送给主MCU。
步骤S200,所述主MCU通过所述第四中断引脚检测到上升沿时,通过所述通信总线从所述预设缓存空间中读取所述第二待传输数据。
然后,主MCU通过第四中断引脚检测到上升沿时,即,将测到第四输出引脚拉高时,通过通信总线从预设缓存空间中读取第二待传输数据。
步骤S300,在所述第二待传输数据传输完成时,所述从MCU拉低所述第四输出引脚。
最后,在第二待传输数据传输完成时,从MCU拉低第四输出引脚,以将从MCU的第四输出引脚电平恢复至初始状态。
本实施例中,在从MCU发送数据给主MCU的过程中,通过上述方式控制时序,使得主MCU准备好可以开始接收数据时,即完成数据传输的准备工作时,方会通过通信总线进行数据的传输,从而可大大提高从MCU发送数据给主MCU的过程、双MCU数据传输过程中的稳定性和可靠性,避免由于通信不稳定造成的数据传输设备死机或复位的情况。
进一步地,基于上述第四实施例,提出本发明数据传输方法的第五实施例。
进一步地,上述步骤S300包括:
步骤S301,所述主MCU在读取完所述第二待传输数据时,拉高所述第三输出引脚,并对所述第四中断引脚的信号进行实时检测;
在本实施例中,主MCU通过通信总线在从MCU的预设缓存空间中读取完第二待传输数据之后,拉高第三输出引脚,表示主MCU读取数据完毕,并对第四中断引脚的信号进行实时检测,以等待第四输出引脚拉低。
步骤S302,所述从MCU通过所述第三中断引脚检测到上升沿时,拉低所述第四输出引脚。
从MCU通过第三中断引脚检测到上升沿时,即,检测到第三输出引脚拉高时,拉低第四输出引脚,以表示从MCU接收到主MCU读取数据完毕的消息。
在上述步骤S300之后,还包括:
步骤S400,所述主MCU通过所述第四中断引脚检测到下降沿时,拉低所述第三输出引脚。
最后,主MCU通过第四中断引脚检测到下降沿时,拉低第三输出引脚,以将主MCU的第三输出引脚电平恢复至初始状态。
本实施例中,通过增加等待机制,进一步控制相关的时序,可使得从MCU确定主MCU已读取完第二待传输数据,进而再执行后续的操作,如其他数据的传输。通过上述方式,可进一步提高从MCU发送数据给主MCU的过程中、双MCU数据传输的稳定性和可靠性。
进一步地,基于上述第五实施例,提出本发明数据传输方法的第六实施例。
在本实施例中,在上述步骤S100之前,该数据传输方法还包括:
步骤E,所述从MCU对通信总线线程上锁;
在本实施例中,在从MCU发送数据给主MCU的过程中,从MCU先对通信总线线程上锁,以保证通信总线线程未结束本次数据传输前、不会被干扰和占用,然后,从MCU再将第二待传输数据缓存至预设缓存空间,并拉高第四输出引脚,进而执行后续步骤,具体的执行过程可参照上述实施例。
所述步骤S400之后,还包括:
步骤F,所述从MCU通过所述第三中断引脚检测到下降沿时,释放通信总线线程锁。
进一步地,从MCU拉低第四输出引脚之后,即,在从MCU接收到主MCU读取数据完毕的消息之后,等待第三输出引脚拉低,主MCU通过第四中断引脚检测到下降沿时,拉低第三输出引脚,以通知从MCU释放通信总线线程锁。此时,从MCU通过第三中断引脚检测到下降沿时,即,检测到第三输出引脚拉低时,释放通信总线线程锁。
本实施例中,在进行数据传输前,通过对通信总线线程上锁,进而在数据传输完成后,再释放通信总线线程锁,可避免数据传输过程中,通信总线线程被干扰和占用的情况的发生,从而可进一步提高从MCU发送数据给主MCU的过程中、双MCU数据传输的稳定性和可靠性。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有数据传输程序,所述数据传输程序被处理器执行时实现如以上任一项实施例所述的数据传输方法的步骤。
本发明计算机可读存储介质的具体实施例与上述数据传输方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据传输方法,其特征在于,应用于数据传输设备,所述数据传输设备包括主MCU和从MCU,所述主MCU的第一输出引脚与所述从MCU的第一中断引脚连接、所述主MCU的第二中断引脚与所述从MCU的第二输出引脚连接、所述主MCU的第三输出引脚与所述从MCU的第三中断引脚连接、所述主MCU的第四中断引脚与所述从MCU的第四输出引脚连接,形成四条信号线,所述数据传输方法包括以下步骤:
所述主MCU通过所述第一输出引脚发送第一请求信号;
所述从MCU通过所述第一中断引脚检测到所述第一请求信号的上升沿时,通过所述第二输出引脚发送第一应答信号;
所述主MCU通过所述第二中断引脚检测到所述第一应答信号的上升沿时,拉高所述第三输出引脚;
所述从MCU通过所述第三中断引脚检测到上升沿时,拉高所述第四输出引脚;
所述主MCU通过所述第四中断引脚检测到上升沿时,通过通信总线发送第一待传输数据至所述从MCU;
在所述第一待传输数据发送完成时,所述主MCU拉低所述第三输出引脚,所述从MCU拉低所述第四输出引脚。
2.如权利要求1所述的数据传输方法,其特征在于,所述在所述第一待传输数据发送完成时,所述主MCU拉低所述第三输出引脚,所述从MCU拉低所述第四输出引脚的步骤包括:
所述从MCU对所述第三中断引脚的信号进行实时检测;
在所述第一待传输数据发送完成时,所述主MCU拉低所述第三输出引脚;
所述从MCU通过所述第三中断引脚检测到下降沿时,拉低所述第四输出引脚。
3.如权利要求2所述的数据传输方法,其特征在于,所述从MCU通过所述第二输出引脚发送第一应答信号的步骤之前,还包括:
所述从MCU对通信总线线程上锁;
所述从MCU通过所述第三中断引脚检测到下降沿时,拉低所述第四输出引脚的步骤之后,还包括:
所述主MCU通过所述第一输出引脚发送第二请求信号;
所述从MCU通过所述第一中断引脚检测到所述第二请求信号的上升沿时,释放通信总线线程锁。
4.如权利要求3所述的数据传输方法,其特征在于,所述从MCU通过所述第一中断引脚检测到所述第二请求信号的上升沿时,释放通信总线线程锁的步骤之后,还包括:
所述从MCU通过所述第二输出引脚发送第二应答信号,以通知所述主MCU所述通信总线线程锁释放完成。
5.如权利要求1至4中任一项所述的数据传输方法,其特征在于,所述数据传输方法还包括:
所述从MCU将第二待传输数据缓存至预设缓存空间,并拉高所述第四输出引脚;
所述主MCU通过所述第四中断引脚检测到上升沿时,通过所述通信总线从所述预设缓存空间中读取所述第二待传输数据;
在所述第二待传输数据传输完成时,所述从MCU拉低所述第四输出引脚。
6.如权利要求5所述的数据传输方法,其特征在于,所述在所述第二待传输数据传输完成时,所述从MCU拉低所述第四输出引脚的步骤包括:
所述主MCU在读取完所述第二待传输数据时,拉高所述第三输出引脚,并对所述第四中断引脚的信号进行实时检测;
所述从MCU通过所述第三中断引脚检测到上升沿时,拉低所述第四输出引脚;
所述在所述第二待传输数据传输完成时,所述从MCU拉低所述第四输出引脚的步骤之后,还包括:
所述主MCU通过所述第四中断引脚检测到下降沿时,拉低所述第三输出引脚。
7.如权利要求6所述的数据传输方法,其特征在于,所述从MCU将第二待传输数据缓存至预设缓存空间,并拉高所述第四输出引脚的步骤之前,还包括:
所述从MCU对通信总线线程上锁;
所述主MCU通过所述第四中断引脚检测到下降沿时,拉低所述第三输出引脚的步骤之后,还包括:
所述从MCU通过所述第三中断引脚检测到下降沿时,释放通信总线线程锁。
8.一种数据传输设备,其特征在于,所述数据传输设备包括:主MCU和从MCU,所述主MCU的所述第一输出引脚与所述从MCU的所述第一中断引脚连接、所述主MCU的所述第二中断引脚与所述从MCU的所述第二输出引脚连接、所述主MCU的所述第三输出引脚与所述从MCU的所述第三中断引脚连接、所述主MCU的所述第四中断引脚与所述从MCU的所述第四输出引脚连接,形成四条信号线;所述数据传输设备还包括:存储器及存储在所述存储器上并可在所述主MCU和所述从MCU上运行的数据传输程序,所述数据传输程序被所述主MCU和所述从MCU执行时如权利要求1至7中任一项所述的数据传输方法的步骤。
9.如权利要求8所述的数据传输设备,其特征在于,所述数据传输设备还包括电源管理模块、人机接口模块和传感器模块,所述电源管理模块和所述人机接口模块与所述主MCU通信连接,所述传感器模块与所述从MCU通信连接。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据传输程序,所述数据传输程序被处理器执行时实现如权利要求1至7中任一项所述的数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110470618.4A CN113176751B (zh) | 2021-04-28 | 2021-04-28 | 数据传输方法、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110470618.4A CN113176751B (zh) | 2021-04-28 | 2021-04-28 | 数据传输方法、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113176751A true CN113176751A (zh) | 2021-07-27 |
CN113176751B CN113176751B (zh) | 2022-09-20 |
Family
ID=76925145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110470618.4A Active CN113176751B (zh) | 2021-04-28 | 2021-04-28 | 数据传输方法、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113176751B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6665757B1 (en) * | 1999-04-08 | 2003-12-16 | Matsushita Electric Industrial Co., Ltd. | Communication interface having a master activating/deactivating a first signal with a clock signal after a predetermined time after a slave activating/deactivating the first signal |
CN102354305A (zh) * | 2011-09-27 | 2012-02-15 | 青岛海信电器股份有限公司 | 设备间串行通信系统及方法 |
CN102819512A (zh) * | 2012-06-28 | 2012-12-12 | 惠州市德赛西威汽车电子有限公司 | 一种基于spi的全双工通信装置及其方法 |
CN109902046A (zh) * | 2019-02-01 | 2019-06-18 | 福瑞泰克智能系统有限公司 | 一种用于串行外围总线系统的通信方法、相关设备及系统 |
CN109902053A (zh) * | 2017-12-07 | 2019-06-18 | 厦门雅迅网络股份有限公司 | 一种基于双控制器的spi通信方法、终端设备及存储介质 |
CN110765058A (zh) * | 2019-09-12 | 2020-02-07 | 深圳震有科技股份有限公司 | Gpio实现spi从机功能方法、系统、设备及介质 |
CN110990312A (zh) * | 2019-11-11 | 2020-04-10 | 无锡量子感知研究所 | 一种用于随钻探测中的芯片级数据通信方法 |
-
2021
- 2021-04-28 CN CN202110470618.4A patent/CN113176751B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6665757B1 (en) * | 1999-04-08 | 2003-12-16 | Matsushita Electric Industrial Co., Ltd. | Communication interface having a master activating/deactivating a first signal with a clock signal after a predetermined time after a slave activating/deactivating the first signal |
CN102354305A (zh) * | 2011-09-27 | 2012-02-15 | 青岛海信电器股份有限公司 | 设备间串行通信系统及方法 |
CN102819512A (zh) * | 2012-06-28 | 2012-12-12 | 惠州市德赛西威汽车电子有限公司 | 一种基于spi的全双工通信装置及其方法 |
CN109902053A (zh) * | 2017-12-07 | 2019-06-18 | 厦门雅迅网络股份有限公司 | 一种基于双控制器的spi通信方法、终端设备及存储介质 |
CN109902046A (zh) * | 2019-02-01 | 2019-06-18 | 福瑞泰克智能系统有限公司 | 一种用于串行外围总线系统的通信方法、相关设备及系统 |
CN110765058A (zh) * | 2019-09-12 | 2020-02-07 | 深圳震有科技股份有限公司 | Gpio实现spi从机功能方法、系统、设备及介质 |
CN110990312A (zh) * | 2019-11-11 | 2020-04-10 | 无锡量子感知研究所 | 一种用于随钻探测中的芯片级数据通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113176751B (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003316731A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
CN112100100A (zh) | Spi通信方法及spi设备 | |
JP2001524707A (ja) | コントローラの機能性を高めるためのファームウェアの使用 | |
CN110955625A (zh) | 一种基于spi的全双工实时通信的方法及装置 | |
JP2005122372A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
CN112269749A (zh) | I2c通信系统 | |
CN109189705B (zh) | 一种usb扩展方法、装置、设备、存储介质及系统 | |
EP3584700A1 (en) | Fingerprint recognition method and related product | |
CN113176751B (zh) | 数据传输方法、设备及计算机可读存储介质 | |
US7469304B2 (en) | Data transfer control device, electronic equipment, and method for a data transfer through a bus, the data transfer control device including a register and a packet buffer that are commonly used during a host operation and a peripheral operation | |
CN113242168B (zh) | 一种单总线通讯方法 | |
CN214225796U (zh) | 时间同步电路 | |
CN115605854A (zh) | 为系统电源管理接口提供确认 | |
CN116566761B (zh) | Spi双主机共享仲裁系统及方法 | |
CN112272824A (zh) | 数据传输方法、装置、设备、mcu和存储介质 | |
CN116627879A (zh) | 一种应用于多处理器的spi通信系统、方法及车载终端 | |
CN116541329A (zh) | 一种数据传输方法、装置、设备及介质 | |
CN115994111A (zh) | 数据处理电路、方法、芯片及电子设备 | |
US11520729B2 (en) | I2C bus architecture using shared clock and dedicated data lines | |
US20050021892A1 (en) | Data transferring system using USB and method thereof | |
CN105392107A (zh) | 一种建立通信连接的方法及电子设备 | |
CN111130678A (zh) | 数据传输方法、装置、设备及计算机可读存储介质 | |
CN114051711B (zh) | 用于优化在无线人性化接口装置系统中的输入延迟的方法及设备 | |
CN114528235B (zh) | 一种基于spi的通信方法、从设备及系统 | |
WO2010070530A1 (en) | Electronic apparatus comprising a common bus |
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 |