CN107766280B - 终端通信方法及装置 - Google Patents
终端通信方法及装置 Download PDFInfo
- Publication number
- CN107766280B CN107766280B CN201610709861.6A CN201610709861A CN107766280B CN 107766280 B CN107766280 B CN 107766280B CN 201610709861 A CN201610709861 A CN 201610709861A CN 107766280 B CN107766280 B CN 107766280B
- Authority
- CN
- China
- Prior art keywords
- mcu
- spi
- instruction
- flash
- working state
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
Abstract
本公开关于一种终端通信方法及装置,属于电子技术领域。所述终端通信方法包括:第一微控制器MCU通过第一串行外设接口SPI向第二MCU发送第一指令,所述第一指令用于将所述第二MCU的第四SPI由工作状态切换为空闲状态;所述第一MCU发送第二指令,所述第二指令用于将所述第一MCU的第二SPI由空闲状态切换为工作状态;所述第一MCU通过所述第二SPI与闪存Flash通信;其中,所述第二SPI和所述第四SPI分别与所述Flash连接,用于与所述Flash进行数据通信。本公开的终端通信方法可以通过两个MCU共享Flash中的数据,解决了一个MCU读取Flash中数据,无法共享Flash中的数据的问题,达到了提高Flash中数据的利用率的效果。
Description
技术领域
本公开涉及电子技术领域,特别涉及一种终端通信方法及装置。
背景技术
诸如电动玩具之类的终端的存储空间有限,因此,终端通常将语音数据存储在与MCU(Microcontroller Unit,微控制单元)相连的Flash(闪存)中。
相关技术中,终端中的一个MCU通过SPI(Serial Peripheral Interface,串行外设接口)与一个Flash相连,该MCU通过SPI读取该Flash中的语音数据,该Flash中的语音数据无法被共享。
发明内容
为解决相关技术中的问题,本公开提供了一种终端通信方法及装置。
根据本公开实施例的第一方面,提供一种终端通信方法,应用于语音终端中,所述方法包括:
第一微控制器MCU通过第一串行外设接口SPI向第二MCU发送第一指令,所述第一指令用于将所述第二MCU的第四SPI由工作状态切换为空闲状态;
所述第一MCU发送第二指令,所述第二指令用于将所述第一MCU的第二SPI由所述空闲状态切换为工作状态;
所述第一MCU通过所述第二SPI与闪存Flash通信;
其中,所述第二SPI和所述第四SPI分别与所述Flash连接,用于与所述Flash进行数据通信。
可选的,所述方法还包括:
在通信结束后,所述第一MCU发送第三指令,所述第三指令用于将所述第二SPI由所述工作状态切换为所述空闲状态;
所述第一MCU通过所述第一SPI向所述第二MCU发送第四指令,所述第四指令用于将所述第四SPI由所述空闲状态切换为所述工作状态。
可选的,所述第一MCU通过所述第二SPI与闪存Flash通信,包括:
所述第一MCU通过所述第二SPI读取所述Flash中的数据,并通过所述第一MCU的通用异步收发UART接口向其他终端转发所述数据;或者,
所述第一MCU通过所述UART接口从其他终端接收数据,并通过所述第二SPI向所述Flash转发所述数据。
可选的,所述方法还包括:
启动所述语音终端;
所述第一MCU发送第五指令和第六指令,所述第五指令用于将所述第一SPI设置为所述工作状态,所述第六指令用于将所述第二SPI设置为所述空闲状态;
所述第二MCU发送第七指令和第八指令,所述第七指令用于将所述第二MCU的第三SPI设置为所述工作状态,所述第八指令用于将所述第四SPI设置为所述工作状态;
所述第二MCU通过所述第四SPI向所述Flash发送第九指令,所述第九指令用于将所述Flash的SPI设置为所述工作状态。
可选的,所述第一MCU为主MCU,所述第二MCU为从MCU;
所述主MCU用于对所述Flash中的数据进行更新,所述从MCU用于对所述Flash执行语音操作。
根据本公开实施例的第二方面,提供一种终端通信装置,所述装置包括:
第一发送模块,被配置为控制第一微控制器MCU通过第一串行外设接口SPI向第二MCU发送第一指令,所述第一指令用于将所述第二MCU的第四SPI由所述工作状态切换为空闲状态;
第二发送模块,被配置为控制所述第一MCU发送第二指令,所述第二指令用于将所述第一MCU的第二SPI由所述空闲状态切换为工作状态;
通信模块,被配置为控制所述第一MCU通过所述第二SPI与闪存Flash通信;
其中,所述第二SPI和所述第四SPI分别与所述Flash连接,用于与所述Flash进行数据通信。
可选的,所述装置还包括:
第三发送模块,被配置为在通信结束后,控制所述第一MCU发送第三指令,所述第三指令用于将所述第二SPI由所述工作状态切换为所述空闲状态;
第四发送模块,被配置为控制所述第一MCU通过所述第一SPI向所述第二MCU发送第四指令,所述第四指令用于将所述第四SPI由所述空闲状态切换为所述工作状态。
可选的,所述通信模块,包括:
第一通信子模块,被配置为控制所述第一MCU通过所述第二SPI读取所述Flash中的数据,并通过所述第一MCU的通用异步收发UART接口向其他终端转发所述数据;或者,
第二通信子模块,被配置为控制所述第一MCU通过所述UART接口从其他终端接收数据,并通过所述第二SPI向所述Flash转发所述数据。
可选的,所述装置还包括:
启动模块,被配置为启动所述语音终端;
第一设置模块,被配置为控制所述第一MCU发送第五指令和第六指令,所述第五指令用于将所述第一SPI设置为所述工作状态,所述第六指令用于将所述第二SPI设置为所述空闲状态;
第二设置模块,被配置为控制所述第二MCU发送第七指令和第八指令,所述第七指令用于将所述第三SPI设置为所述工作状态,所述第八指令用于将所述第四SPI设置为所述工作状态;
第三设置模块,被配置为控制所述第二MCU通过所述第四SPI向所述Flash发送第九指令,所述第九指令用于将所述Flash的SPI设置为所述工作状态。
可选的,所述第一MCU为主MCU,所述第二MCU为从MCU;
所述主MCU用于对所述Flash中的数据进行更新,所述从MCU用于对所述Flash执行语音操作。
根据本公开实施例的第三方面,提供一种终端通信装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
第一微控制器MCU通过第一串行外设接口SPI向第二MCU发送第一指令,所述第一指令用于将所述第二MCU的第四SPI由所述工作状态切换为空闲状态;
所述第一MCU发送第二指令,所述第二指令用于将所述第一MCU的第二SPI由所述空闲状态切换为工作状态;
所述第一MCU通过所述第二SPI与闪存Flash通信。
本公开的实施例提供的技术方案可以包括以下有益效果:
第一MCU通过第一SPI向第二MCU发送第一指令;第一指令用于将第二MCU的第四SPI由工作状态切换为空闲状态;第一MCU发送第二指令,第二指令用于将第一MCU的第二SPI由空闲状态切换为工作状态;第一MCU通过第二SPI与闪存Flash通信;由于第二SPI和第四SPI分别与Flash连接,用于与Flash进行数据通信,这样,可以通过两个MCU共享Flash中的数据,解决了一个MCU读取Flash中数据,无法共享Flash中的数据的问题,达到了提高Flash中数据的利用率的效果。
通过第一MCU的第二SPI与Flash通信,第一MCU的UART接口与其他终端相连,使得语音终端可以通过第一MCU将Flash中的数据转发至其他终端,也可以将其他终端中的数据转发至Flash中,对Flash中的数据进行更新。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本公开说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种语音终端结构示意图。
图2是根据一示例性实施例示出的一种终端通信方法的流程图。
图3是根据一示例性实施例示出的一种终端通信方法的流程图。
图4是根据一示例性实施例示出的一种终端通信装置的框图。
图5是根据一示例性实施例示出的一种终端通信装置的框图。
图6是根据一示例性实施例示出的一种用于终端通信的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种语音终端结构示意图,如图1所示,该语音终端包括第一MCU110、第二MCU120和Flash130。
第一MCU110通常为语音终端中的具有时钟电路、电源电路等电路、内存空间和UART、SPI等***接口的芯片。第二MCU120通常为语音终端中的具有时钟电路、电源电路等电路、内存空间和UART、SPI等***接口的芯片。本实施例不对MCU作限定。
第一MCU110的第一SPI140与第二MCU120的第三SPI160相连,第一MCU110的第二SPI150和第二MCU120的第四SPI170分别与Flash130的SPI180相连。
SPI包括SCK(Serial Clock,串行时钟)、MISO(Master Input Slave Output,主机输入从机输出)、MOSI(Master Output Slave Input,主机输出从机输入)、CS(ChipSelect,片选)四个管脚。本实施例中,第一MCU110包括第一SPI140和第二SPI150,第二MCU120包括第三SPI160和第四SPI170,Flash130包括SPI180,第一SPI140的四个管脚分别与第三SPI160的四个管脚对应相连,第二SPI150的四个管脚分别与第四SPI170的四个管脚对应相连。第二SPI150的四个管脚分别与SPI180的四个管脚对应相连,且第四SPI170的四个管脚分别与SPI180的四个管脚对应相连。
本实施例中,SPI的状态包括空闲状态和工作状态,当SPI的状态为空闲状态时,SPI无法传输数据,即,不工作;当SPI的状态为工作状态时,SPI可以传输数据。
本实施例中,第一SPI140和第三SPI160均处于工作状态,从而可以实现第一MCU110与第二MCU120之间的实时通信。
由于Flash只有一个SPI,因此,Flash同一时刻只能与一个MCU通信。即,可以将SPI180和第二SPI150均处于工作状态,第四SPI170处于空闲状态,实现Flash130与第一MCU110的通信;或者,SPI180和第四SPI170均处于工作状态,第二SPI150处于空闲状态,实现Flash130与第二MCU120的通信。
本实施例中,第一MCU110的UART接口190与其他终端的通信接口相连,实现其他终端与Flash130的通信。例如,第一MCU110可以从其他终端中读取数据,将该语音数据转发至Flash130;也可以从Flash130中读取数据,将该数据转发至其他终端。
本实施例中,Flash130中存储的数据包括语音函数、语音识别库、语音播放库、录音数据、MIDI(Musical Instrument Digital Interface,乐器数字接口)数据中的至少一种、固件库、描述信息。
语音函数指第一MCU110或第二MCU120可能会调用的一些用于执行语音操作的函数。例如,语音函数可以包括播放函数PlaySound()或录音函数WaveIn()。
语音识别库是包含语音识别指令的库文件,语音识别指令用于指示语音终端执行相应的操作。例如,语音识别指令包括前进指令,后退指令,左转指令,右转指令,停止指令等,当Flash接收到前进指令时,控制语音指令向前移动。
语音播放库包含需要播放的语音数据。例如,语音播放库可以包括启动语音终端时的欢迎语、关闭语音终端时的结束语等等,本实施例不作限定。
录音数据包含录音得到的数据。
MIDI数据是音效数据。例如,MIDI数据为“哆”、“瑞”、“咪”等等。
固件库包含驱动程序,例如操作***等。第一MCU和第二MCU可以调用固件库中的程序。
描述信息包括描述固件库的信息,例如,描述信息包括版本号等等,本实施例不作限定。
本实施例中,第一MCU110和第二MCU120可以是相同的MCU,即,第一MCU110和第二MCU120对Flash130的控制操作相同;或者,第一MCU110为主MCU,第二MCU120为从MCU;主MCU用于对Flash130中的数据进行更新,从MCU用于对Flash130执行语音操作。
当第一MCU110为主MCU、第二MCU120为从MCU时,第一MCU110的运行速度高于第二MCU120,这样,通过运行速度快的第一MCU110向Flash130中更新数据,以提高更新效率;通过运行速度慢的第二MCU120对Flash130执行语音操作。
图2是根据一示例性实施例示出的一种终端通信方法的流程图,该终端应用于图1所示的语音终端中,如图2所示,该终端通信方法包括以下步骤。
在步骤201中,第一MCU通过第一SPI向第二MCU发送第一指令,第一指令用于将第二MCU的第四SPI由工作状态切换为空闲状态。
在步骤202中,第一MCU发送第二指令,第二指令用于将第一MCU的第二SPI由空闲状态切换为工作状态。
在步骤203中,第一MCU通过第二SPI与Flash通信。
综上所述,本公开提供的终端通信方法,第一MCU通过第一SPI向第二MCU发送第一指令;第一指令用于将第二MCU的第四SPI由工作状态切换为空闲状态;第一MCU发送第二指令,第二指令用于将第一MCU的第二SPI由空闲状态切换为工作状态;第一MCU通过第二SPI与闪存Flash通信;由于第二SPI和第四SPI分别与Flash连接,用于与Flash进行数据通信,这样,可以通过两个MCU共享Flash中的数据,解决了一个MCU读取Flash中数据,无法共享Flash中的数据的问题,达到了提高Flash中数据的利用率的效果。
图3是根据一示例性实施例示出的一种终端通信方法的流程图,该终端通信方法应用于图1所示的语音终端中,如图3所示,该终端通信方法包括以下步骤。
在步骤301中,启动语音终端。
在启动语音终端时,由于语音终端可能需要播放诸如欢迎语之类的语音,因此,第二MCU需要先与Flash通信,此时,语音终端需要通过第二MCU将第三SPI设置为工作状态,并通过Flash将Flash的SPI设置为工作状态。由于Flash在同一时刻只能与一个MCU通信,因此,语音终端还需要通过第一MCU将第二SPI设置为空闲状态,即,执行步骤302和303。
在步骤302中,第一MCU发送第五指令和第六指令,第五指令用于将第一SPI设置为工作状态,第六指令用于将第二SPI设置为空闲状态。
由于第一MCU可能需要与第二MCU通信,因此,为了提高通信的实时性和成功率,语音终端可以在初始化时通过第一MCU将第一SPI设置为工作状态。
在步骤303中,第二MCU发送第七指令和第八指令,第七指令用于将第二MCU的第三SPI设置为工作状态,第八指令用于将第四SPI设置为工作状态。
由于第二MCU可能需要与第一MCU通信,此时,第二MCU将第三SPI设置为工作状态。
在步骤304中,第二MCU通过第四SPI向Flash发送第九指令,第九指令用于将Flash的SPI设置为工作状态。
步骤302、步骤303和步骤304可以同时执行,也可以先执行步骤302,再执行步骤303,最后执行304,本实施例中对执行步骤302、步骤303和步骤304的顺序不作限定。
其中,第一MCU、第二MCU、Flash、SPI的状态的描述详见图1所示的实施例中的描述,此处不再赘述。
在步骤305中,第一MCU通过第一SPI向第二MCU发送第一指令,第一指令用于将第二MCU的第四SPI由工作状态切换为空闲状态。
当第一MCU需要与Flash通信时,第一MCU向第二MCU发送第一指令,以指示第二MCU将第四SPI由工作状态切换为空闲状态。
其中,将SPI由工作状态改为空闲状态的相关技术已经非常成熟,本实施例不作赘述。
在步骤306中,第一MCU发送第二指令,第二指令用于将第一MCU的第二SPI由空闲状态切换为工作状态。
在第二MCU将第四SPI由工作状态切换为空闲状态后,第二MCU释放了SPI资源,此时,第一MCU将第二SPI由空闲状态切换为工作状态,实现与Flash进行通信。
本实施例中,Flash中存储的数据包括语音函数、语音识别库、语音播放库、录音数据、MIDI数据中的至少一种、固件库、描述信息。其中,语音函数指第一MCU或第二MCU可能会调用的一些用于执行语音操作的函数。例如,语音函数可以包括播放函数PlaySound()或录音函数wavein()。语音识别库是包含语音识别指令的库文件,语音识别指令用于指示语音终端执行相应的操作。例如,语音识别指令包括前进指令,后退指令,左转指令,右转指令,停止指令等,当Flash接收到前进指令时,控制语音指令向前移动。语音播放库包含需要播放的语音数据。例如,语音播放库可以包括启动语音终端时的欢迎语、关闭语音终端时的结束语等等,本实施例不作限定。录音数据包含录音得到的数据。MIDI数据是音效数据。例如,MIDI数据为“哆”、“瑞”、“咪”等等。固件库包含驱动程序,例如操作***等。第一MCU和第二MCU可以调用固件库中的程序。描述信息包括描述固件库的信息,例如,描述信息包括版本号等等,本实施例不作限定。
本实施例中,第一MCU和第二MCU可以是相同的MCU,即,第一MCU和第二MCU对Flash的控制操作相同。此时,第一MCU可以对Flash执行语音操作。例如,第一MCU控制Flash播放MIDI数据,此时,第一MCU向Flash发送控制指令,该控制指令至少包括播放函数的标识和需要播放的MIDI数据的标识,Flash在接收到控制指令后,根据播放函数的标识调用播放函数,并利用播放函数播放MIDI数据的标识所指示的MIDI数据。或者,
第一MCU为主MCU,第二MCU为从MCU;主MCU用于对Flash中的数据进行更新,从MCU用于对Flash执行语音操作。例如,第一MCU对Flash中的操作***进行更新,此时,第一MCU向Flash发送更新数据,Flash根据该更新数据更新固件库中的操作***和描述信息中的版本信息。
当第一MCU为主MCU、第二MCU为从MCU时,第一MCU的运行速度高于第二MCU,这样,通过运行速度快的第一MCU向Flash中更新数据,以提高更新效率;通过运行速度慢的第二MCU对Flash执行语音操作。
本实施例中,第一MCU还可以与其他终端通信,以实现其他终端与Flash中的通信。例如,第一MCU可以从其他终端中读取数据,将该语音数据转发至Flash,此时执行步骤308;也可以从Flash中读取数据,将该数据转发至其他终端,此时执行步骤307。
在步骤307中,第一MCU通过第二SPI读取Flash中的数据,并通过第一MCU的UART接口向其他终端转发数据。
其中,UART接口可以与其他终端的通信接口以蓝牙、数据线、WiFi(WirelessFidelity,无线保真)等方式传输数据,本实施例不作限定。
在步骤308中,第一MCU通过UART接口从其他终端接收数据,并通过第二SPI向Flash转发数据。
在步骤309中,在通信结束后,第一MCU发送第三指令,第三指令用于将第二SPI由工作状态切换为空闲状态。
本实施例中,第三指令可以和步骤302中的第六指令相同,都用于将第二SPI设置为空闲状态。例如,第三指令与第六指令都为高电平或低电平。
在步骤310中,第一MCU通过第一SPI向第二MCU发送第四指令,第四指令用于将第四SPI由空闲状态切换为工作状态。
本实施例中,第四指令可以和步骤中303中的第八指令相同,都是用于将第四SPI的状态设置为工作状态。例如,第四指令和第八指令都为高电平或低电平。
第一MCU与Flash通信结束后,由于第二MCU可能需要与Flash通信,因此,第一MCU需要将自身的第二SPI由工作状态切换为空闲状态。其中,将SPI由空闲状态改为工作状态的相关技术已经非常成熟,本实施例不作赘述。
在第一MCU将第二SPI由工作状态切换为空闲状态后,第一MCU释放了SPI资源,此时,第一MCU通过第一SPI向第四SPI发送第二指令,第二指令用于指示第二MCU将第四SPI由空闲状态切换为工作状态。
在第二MCU将第四SPI由空闲状态切换为工作状态后,第二MCU可通过自身的第二SPI和Flash的SPI相连,对Flash执行语音操作。
综上所述,本公开提供的终端通信方法,第一MCU通过第一SPI向第二MCU发送第一指令;第一指令用于将第二MCU的第四SPI由工作状态切换为空闲状态;第一MCU发送第二指令,第二指令用于将第一MCU的第二SPI由空闲状态切换为工作状态;第一MCU通过第二SPI与闪存Flash通信;由于第二SPI和第四SPI分别与Flash连接,用于与Flash进行数据通信,这样,可以通过两个MCU共享Flash中的数据,解决了一个MCU读取Flash中数据,无法共享Flash中的数据的问题,达到了提高Flash中数据的利用率的效果。
第一MCU通过第二SPI与Flash通信,第一MCU通过UART接口与其他终端相连,使得语音终端可以通过第一MCU将Flash中的数据转发至其他终端,也可以将其他终端中的数据转发至Flash中,对Flash中的数据进行更新。
图4是根据一示例性实施例示出的一种终端通信装置的框图,该终端通信装置应用于图1所示的语音终端中,如图4所示,该终端通信装置包括:第一发送模块410、第二发送模块420和通信模块430;
该第一发送模块410,被配置为控制第一MCU通过第一SPI向第二MCU的第一SPI发送第一指令,第一指令用于将第二MCU的第四SPI由工作状态切换为空闲状态;
该第二发送模块420,被配置为控制第一MCU发送第二指令,第二指令用于将第一MCU的第二SPI由空闲状态切换为工作状态;
该通信模块430,被配置为控制第一MCU通过第二SPI与闪存Flash通信。
综上所述,本公开提供的终端通信装置,第一MCU通过第一SPI向第二MCU发送第一指令;第一指令用于将第二MCU的第四SPI由工作状态切换为空闲状态;第一MCU发送第二指令,第二指令用于将第一MCU的第二SPI由空闲状态切换为工作状态;第一MCU通过第二SPI与闪存Flash通信;由于第二SPI和第四SPI分别与Flash连接,用于与Flash进行数据通信,这样,可以通过两个MCU共享Flash中的数据,解决了一个MCU读取Flash中数据,无法共享Flash中的数据的问题,达到了提高Flash中数据的利用率的效果。
图5是根据一示例性实施例示出的一种终端通信装置的框图,该终端通信装置应用于图1所示的语音终端中,如图5所示,该语音终端通信装置包括:第一发送模块510、第一发送模块520和通信模块530;
该第一发送模块510,被配置为控制第一MCU通过第一SPI向第二MCU发送第一指令,第一指令用于将第二MCU的第四SPI由工作状态切换为空闲状态;
该第二发送模块520,被配置为控制第一MCU发送第二指令,第二指令用于将第一MCU的第二SPI由空闲状态切换为工作状态;
该通信模块530,被配置为控制第一MCU通过第二SPI与Flash通信;
其中,第二SPI和第四SPI分别与Flash连接,用于与Flash进行数据通信。
可选的,装置还包括:
该第三发送模块540,被配置为在通信结束后,控制第一MCU发送第三指令,第三指令用于将第二SPI由工作状态切换为空闲状态;
该第四发送模块550,控制第一MCU通过第一SPI向第二MCU发送第四指令,第四指令用于将第四SPI由空闲状态切换为工作状态。
可选的,通信模块530,包括:第一通信子模块531和第二通信子模块532;
该第一通信子模块531,被配置为控制第一MCU通过第二SPI读取Flash中的数据,并通过第一MCU的通用异步收发UART接口向其他终端转发数据;或者,
该第二通信子模块532,被配置为控制第一MCU通过UART接口从其他终端接收数据,并通过第二SPI向Flash转发数据。
可选的,装置还包括:启动模块560、第一设置模块570、第二设置模块580和第三设置模块590;
该启动模块560,被配置为启动语音终端;
该第一设置模块570,被配置为控制第一MCU发送第五指令和第六指令,第五指令用于将第一SPI设置为工作状态,第六指令用于将第二SPI设置为空闲状态;
该第二设置模块580,被配置为控制第二MCU发送第七指令和第八指令,第七指令用于将第二MCU的第三SPI设置为工作状态,第八指令用于将第四SPI设置为工作状态;
该第三设置模块590,被配置为控制第二MCU通过第四SPI向Flash发送第九指令,第九指令用于将Flash的SPI设置为工作状态。
可选的,第一MCU为主MCU,第二MCU为从MCU;主MCU用于对Flash中的数据进行更新,从MCU用于对Flash执行语音操作。
综上,本公开提供的终端通信装置,第一MCU通过第一SPI向第二MCU发送第一指令;第一指令用于将第二MCU的第四SPI由工作状态切换为空闲状态;第一MCU发送第二指令,第二指令用于将第一MCU的第二SPI由空闲状态切换为工作状态;第一MCU通过第二SPI与闪存Flash通信;由于,第二SPI和第四SPI分别与Flash连接,用于与Flash进行数据通信,这样,可以通过两个MCU共享Flash中的数据,解决了一个MCU读取Flash中数据,无法共享Flash中的数据的问题,达到了提高Flash中数据的利用率的效果。
第一MCU通过第二SPI与Flash通信,第一MCU通过UART接口与其他终端相连,使得语音终端可以通过第一MCU将Flash中的数据转发至其他终端,也可以将其他终端中的数据转发至Flash中,对Flash中的数据进行更新。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开一示例性实施例提供了一种终端通信装置,能够实现本公开提供的终端通信方法,该语音终端通信装置包括:处理器、用于存储处理器可执行指令的存储器;
其中,处理器被配置为:
第一MCU通过第一SPI向第二MCU发送第一指令,第一指令用于将第二MCU的第四SPI由工作状态切换为空闲状态;
第一MCU发送第二指令,第二指令用于将第一MCU的第二SPI由空闲状态切换为工作状态;
第一MCU通过第二SPI与闪存Flash通信;
其中,第二SPI和第四SPI分别与Flash连接,用于与Flash进行数据通信。
图6是根据一示例性实施例示出的一种用于终端通信的装置600的框图。例如,装置600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,装置600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O)的接口612,传感器组件614,以及通信组件616。
处理组件602通常控制装置600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器618来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在装置600的操作。这些数据的示例包括用于在装置600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为装置600的各种组件提供电力。电源组件606可以包括电源管理***,一个或多个电源,及其他与为装置600生成、管理和分配电力相关联的组件。
多媒体组件608包括在所述装置600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当装置600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当装置600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口612为处理组件602和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为装置600提供各个方面的状态评估。例如,传感器组件614可以检测到装置600的打开/关闭状态,组件的相对定位,例如所述组件为装置600的显示器和小键盘,传感器组件614还可以检测装置600或装置600一个组件的位置改变,用户与装置600接触的存在或不存在,装置600方位或加速/减速和装置600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616被配置为便于装置600和其他设备之间有线或无线方式的通信。装置600可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器604,上述指令可由装置600的处理器618执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (6)
1.一种终端通信方法,其特征在于,应用于语音终端中,所述方法包括:
启动所述语音终端;
第一微控制器MCU发送第五指令和第六指令,所述第五指令用于将所述第一MCU的第一串行外设接口SPI设置为工作状态,所述第六指令用于将所述第一MCU的第二SPI设置为空闲状态;
第二MCU发送第七指令和第八指令,所述第七指令用于将所述第二MCU的第三SPI设置为所述工作状态,所述第八指令用于将所述第二MCU的第四SPI设置为所述工作状态;
所述第二MCU通过所述第四SPI向闪存Flash发送第九指令,所述第九指令用于将所述Flash的SPI设置为所述工作状态;
所述第一MCU通过所述第一SPI向所述第二MCU发送第一指令,所述第一指令用于将所述第二MCU的第四SPI由工作状态切换为空闲状态;所述第一MCU发送第二指令,所述第二指令用于将所述第一MCU的第二SPI由空闲状态切换为工作状态;
所述第一MCU通过所述第二SPI读取所述Flash中的数据,并通过所述第一MCU的通用异步收发UART接口向其他终端转发数据;
在通信结束后,所述第一MCU发送第三指令,所述第三指令用于将所述第二SPI由所述工作状态切换为所述空闲状态,完成所述第二MCU和所述Flash之间的通信;
所述第一MCU释放SPI资源,通过所述第一SPI向所述第四SPI发送第四指令,所述第四指令用于所述第二MCU将所述第四SPI由所述空闲状态切换为所述工作状态;
在所述第二MCU将所述第四SPI由所述空闲状态切换为所述工作状态后,所述第二MCU通过自身的所述第二SPI和所述Flash的SPI相连,对所述Flash执行语音操作;
其中,所述第二SPI和所述第四SPI分别与所述Flash连接,用于与所述Flash进行数据通信,所述第一MCU为主MCU,所述第二MCU为从MCU,所述第一MCU的运行速度高于所述第二MCU,所述主MCU用于对所述Flash中的操作***进行更新,所述从MCU用于对所述Flash执行所述语音操作,实现所述第一MCU和所述第二MCU共享所述Flash中的数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一MCU通过所述UART接口从其他终端接收数据,并通过所述第二SPI向所述Flash转发所述数据。
3.一种终端通信装置,其特征在于,应用于语音终端中,所述装置包括:
启动模块,被配置为启动所述语音终端;
第一设置模块,被配置为控制第一微控制器MCU发送第五指令和第六指令,所述第五指令用于将所述第一MCU的第一串行外设接口SPI设置为工作状态,所述第六指令用于将所述第一MCU的第二SPI设置为空闲状态;
第二设置模块,被配置为控制第二MCU发送第七指令和第八指令,所述第七指令用于将所述第二MCU的第三SPI设置为所述工作状态,所述第八指令用于将所述第二MCU的第四SPI设置为所述工作状态;
第三设置模块,被配置为控制所述第二MCU通过所述第四SPI向闪存Flash发送第九指令,所述第九指令用于将所述Flash的SPI设置为所述工作状态;
第一发送模块,被配置为控制所述第一MCU通过所述第一SPI向所述第二MCU发送第一指令,所述第一指令用于将所述第二MCU的第四SPI由所述工作状态切换为空闲状态;
第二发送模块,被配置为控制所述第一MCU发送第二指令,所述第二指令用于将所述第一MCU的第二SPI由所述空闲状态切换为工作状态;
通信模块,被配置为控制所述第一MCU通过所述第二SPI读取所述Flash中的数据,并通过所述第一MCU的通用异步收发UART接口向其他终端转发数据;
第三发送模块,被配置为在通信结束后,控制所述第一MCU发送第三指令,所述第三指令用于将所述第二SPI由所述工作状态切换为所述空闲状态,完成所述第二MCU和所述Flash之间的通信;
第四发送模块,被配置为所述第一MCU释放SPI资源,控制所述第一MCU通过所述第一SPI向所述第二MCU发送第四指令,所述第四指令用于将所述第四SPI由所述空闲状态切换为所述工作状态;
被配置为在所述第二MCU将所述第四SPI由所述空闲状态切换为所述工作状态后,所述第二MCU通过自身的所述第二SPI和所述Flash的SPI相连,对所述Flash执行语音操作的模块;
其中,所述第二SPI和所述第四SPI分别与所述Flash连接,用于与所述Flash进行数据通信,所述第一MCU为主MCU,所述第二MCU为从MCU,所述第一MCU的运行速度高于所述第二MCU,所述主MCU用于对所述Flash中的操作***进行更新,所述从MCU用于对所述Flash执行所述语音操作,实现所述第一MCU和所述第二MCU共享所述Flash中的数据。
4.根据权利要求3所述的装置,其特征在于,所述通信模块,包括:
第二通信子模块,被配置为控制所述第一MCU通过所述UART接口从其他终端接收数据,并通过所述第二SPI向所述Flash转发所述数据。
5.一种终端通信装置,其特征在于,应用于语音终端中,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
启动所述语音终端;
第一微控制器MCU发送第五指令和第六指令,所述第五指令用于将所述第一MCU的第一串行外设接口SPI设置为工作状态,所述第六指令用于将所述第一MCU的第二SPI设置为空闲状态;
第二MCU发送第七指令和第八指令,所述第七指令用于将所述第二MCU的第三SPI设置为所述工作状态,所述第八指令用于将所述第二MCU的第四SPI设置为所述工作状态;
所述第二MCU通过所述第四SPI向闪存Flash发送第九指令,所述第九指令用于将所述Flash的SPI设置为所述工作状态;
所述第一MCU通过所述第一SPI向所述第二MCU发送第一指令,所述第一指令用于将所述第二MCU的第四SPI由所述工作状态切换为空闲状态;
所述第一MCU发送第二指令,所述第二指令用于将所述第一MCU的第二SPI由空闲状态切换为工作状态;
所述第一MCU通过所述第二SPI读取所述Flash中的数据,并通过所述第一MCU的通用异步收发UART接口向其他终端转发数据;
在通信结束后,所述第一MCU发送第三指令,所述第三指令用于将所述第二SPI由所述工作状态切换为所述空闲状态,完成所述第二MCU和所述Flash之间的通信;
所述第一MCU释放SPI资源,通过所述第一SPI向所述第四SPI发送第四指令,所述第四指令用于所述第二MCU将所述第四SPI由所述空闲状态切换为所述工作状态;
在所述第二MCU将所述第四SPI由所述空闲状态切换为所述工作状态后,所述第二MCU通过自身的所述第二SPI和所述Flash的SPI相连,对所述Flash执行语音操作;
其中,所述第二SPI和所述第四SPI分别与所述Flash连接,用于与所述Flash进行数据通信,所述第一MCU为主MCU,所述第二MCU为从MCU,所述第一MCU的运行速度高于所述第二MCU,所述主MCU用于对所述Flash中的操作***进行更新,所述从MCU用于对所述Flash执行所述语音操作,实现所述第一MCU和所述第二MCU共享所述Flash中的数据。
6.一种非临时性计算机可读存储介质,其上存储有指令,其特征在于,所述指令由处理器执行,以实现如权利要求1或2所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610709861.6A CN107766280B (zh) | 2016-08-23 | 2016-08-23 | 终端通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610709861.6A CN107766280B (zh) | 2016-08-23 | 2016-08-23 | 终端通信方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107766280A CN107766280A (zh) | 2018-03-06 |
CN107766280B true CN107766280B (zh) | 2022-05-17 |
Family
ID=61264258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610709861.6A Active CN107766280B (zh) | 2016-08-23 | 2016-08-23 | 终端通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107766280B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159077B (zh) * | 2019-12-20 | 2021-06-29 | 深圳星康医疗科技有限公司 | 一种spi双主设备访问同一从设备的协同方法及*** |
CN112416832A (zh) * | 2020-11-06 | 2021-02-26 | 光华临港工程应用技术研发(上海)有限公司 | 基于mips架构处理器的通信*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847043A (zh) * | 2009-03-25 | 2010-09-29 | 联想(北京)有限公司 | 共用存储设备的方法及移动终端 |
CN103150262A (zh) * | 2013-04-02 | 2013-06-12 | 无锡江南计算技术研究所 | 管道式串行接口闪存访问装置 |
CN105323314A (zh) * | 2015-10-15 | 2016-02-10 | 珠海格力电器股份有限公司 | 一种语音更新方法及*** |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100887417B1 (ko) * | 2007-04-11 | 2009-03-06 | 삼성전자주식회사 | 멀티 프로세서 시스템에서 불휘발성 메모리의 공유적사용을 제공하기 위한 멀티패쓰 억세스블 반도체 메모리장치 |
CN102279820A (zh) * | 2011-08-24 | 2011-12-14 | 四川和芯微电子股份有限公司 | 基于spi接口的数据存储装置及控制方法 |
CN105094541A (zh) * | 2015-06-30 | 2015-11-25 | 小米科技有限责任公司 | 终端控制方法、装置及*** |
CN105721015B (zh) * | 2016-01-29 | 2018-11-20 | 努比亚技术有限公司 | 一种复用Flash ROM的双通道移动终端 |
-
2016
- 2016-08-23 CN CN201610709861.6A patent/CN107766280B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101847043A (zh) * | 2009-03-25 | 2010-09-29 | 联想(北京)有限公司 | 共用存储设备的方法及移动终端 |
CN103150262A (zh) * | 2013-04-02 | 2013-06-12 | 无锡江南计算技术研究所 | 管道式串行接口闪存访问装置 |
CN105323314A (zh) * | 2015-10-15 | 2016-02-10 | 珠海格力电器股份有限公司 | 一种语音更新方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN107766280A (zh) | 2018-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105183276A (zh) | 在聊天界面实现游戏的方法、装置及终端设备 | |
EP3107086A1 (en) | Method and device for playing a multimedia file | |
CN106355852B (zh) | 设备控制方法及装置 | |
CN105451369A (zh) | 低功耗蓝牙设备的连接参数更新方法及装置 | |
CN105204894A (zh) | 安装智能设备的插件的方法和装置 | |
US11457479B2 (en) | Method and apparatus for configuring random access occasion, method and apparatus for random access | |
CN104958898A (zh) | 游戏控制方法、装置及*** | |
US11146854B2 (en) | Method for playing videos and electronic device | |
CN107329727B (zh) | 音量控制方法、装置及计算机存储可读存储介质 | |
CN112492095B (zh) | 控制终端的***、终端、方法、装置和存储介质 | |
CN107272896B (zh) | Vr模式与非vr模式之间切换的方法及装置 | |
CN111123716B (zh) | 远程控制方法、远程控制装置及计算机可读存储介质 | |
CN104363500A (zh) | 视频同步处理方法及装置 | |
CN104317647A (zh) | 应用功能实现方法、装置及终端 | |
CN113835518A (zh) | 振动控制方法及装置、振动器件、终端、存储介质 | |
CN107766280B (zh) | 终端通信方法及装置 | |
EP4050604A1 (en) | Method for splicing audio file and computer device | |
JP2019525267A (ja) | スマートホームの初期化方法、装置、プログラム及び記録媒体 | |
CN110750226A (zh) | 中控设备管理方法、装置、计算机设备和存储介质 | |
CN111246401B (zh) | 频率变更方法及装置 | |
CN111225111A (zh) | 功能控制方法、功能控制装置及存储介质 | |
CN107295462B (zh) | 无线连接控制方法及装置 | |
CN109408025B (zh) | 音频播放方法、装置及存储介质 | |
CN114029949A (zh) | 机器人动作编辑方法及装置、电子设备和存储介质 | |
CN113692067A (zh) | 一种设备的连接方法、装置及可读存储介质 |
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 |