本技术涉及通讯,特别是涉及一种基于spi总线的通讯系统及通讯方法、装置和设备。
背景技术:
1、spi(serial peripheral interface)是一种串行外设接口,用于设备间进行通讯时支持主从模式的设置。使用spi总线进行数据传输时,主设备的cs引脚对从设备进行片选,选中从设备后,在主设备写从设备读的通讯阶段,由主设备通过sclk引脚提供设备通讯的时钟、并通过mosi引脚输出数据,由从设备接收数据;在从设备写主设备读的通讯阶段,主设备通过sclk引脚提供设备通讯的时钟,从设备通过miso引脚输出数据,由主设备接收数据,如此完成数据的传输。spi总线通讯的数据读写操作,都是由主设备发起,时钟只能由主设备提供。
2、一般而言,mcu(微处理器)是支持主从设备配置的,其他一些嵌入式芯片一般也是支持主从设备配置的。在现有应用场景中,mcu或其他嵌入式芯片大多数的时候都是作为主设备与外设硬件进行通讯,如flash、adc(模数转换器)、dac(数模转换器)等硬件设备;对于mcu与其他嵌入式芯片之间使用spi总线通讯,大多是使用mcu作为主设备、其他嵌入式芯片作为从设备。以嵌入式芯片为fpga为例,以mcu为主设备、fpga为从设备进行spi通讯;但是这种方式不适用于如memory测试机这种所有数据的发起者均为fpga的使用场景;而如果采用mcu作为从设备、fpga作为主设备,按照现有的通讯方式,需要由fpga主动发送数据,即从设备需要等待主设备提供时钟才可以正常通讯,处理流程复杂。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够以mcu为从设备且流程简单的基于spi总线的通讯系统及通讯方法、装置和设备。
2、一种基于spi总线的通讯系统,包括:
3、嵌入式芯片主设备,包括主设备spi接口和主设备io接口;
4、mcu从设备,包括从设备spi接口和从设备io接口,所述主设备spi接口与所述从设备spi接口连接、以使所述嵌入式芯片主设备与所述mcu从设备进行spi通讯,所述主设备io接口与所述从设备io接口连接;
5、在从设备写主设备读的spi通讯阶段,所述mcu从设备通过所述从设备io接口按照预设间隔发送中断请求信号至所述主设备io接口;
6、所述嵌入式芯片主设备在接收到所述中断请求信号时通过所述主设备spi接口发送时钟信号至所述从设备spi接口;所述mcu从设备基于所述时钟信号通过所述从设备spi接口发送数据至所述主设备spi接口。
7、在其中一个实施例中,上述基于spi总线的通讯系统,在主设备写从设备读的spi通讯阶段,所述嵌入式芯片主设备通过所述主设备spi接口发送时钟信号和指令至所述从设备spi接口;
8、所述mcu从设备通过所述从设备spi接口接收所述时钟信号和所述指令并进行响应。
9、在其中一个实施例中,所述中断请求信号为下降沿或上升沿。
10、在其中一个实施例中,所述mcu从设备的所有数据发送完毕后,将所述从设备io接口恢复为发送预设的电平信号。
11、在其中一个实施例中,所述主设备io接口和所述从设备io接口的数量为一个。
12、在其中一个实施例中,所述嵌入式芯片主设备为fpga主设备、arm主设备和dsp主设备中的任意一个。
13、一种基于spi总线的通讯方法,包括:
14、在从设备写主设备读的spi通讯阶段,mcu从设备通过从设备io接口按照预设间隔发送中断请求信号至嵌入式芯片主设备的主设备io接口;
15、所述嵌入式芯片主设备在接收到所述中断请求信号时通过主设备spi接口发送时钟信号至所述mcu从设备的从设备spi接口;
16、所述mcu从设备基于所述时钟信号通过所述从设备spi接口发送数据至所述主设备spi接口。
17、一种基于spi总线的通讯方法,用于包括从设备io接口和从设备spi接口的mcu从设备中,所述方法包括:
18、在从设备写主设备读的spi通讯阶段,通过所述从设备io接口按照预设间隔发送中断请求信号至嵌入式芯片主设备的主设备io接口;
19、在接收到所述嵌入式芯片主设备根据所述中断请求信号发送的时钟信号时,基于所述时钟信号通过所述从设备spi接口发送数据至所述嵌入式芯片主设备。
20、在其中一个实施例中,所述基于spi总线的通讯方法还包括:
21、在主设备写从设备读的spi通讯阶段,通过所述从设备spi接口接收所述嵌入式芯片主设备发送的时钟信号和指令并进行响应。
22、一种基于spi总线的通讯方法,用于包括主设备io接口和主设备spi接口的嵌入式芯片主设备中,所述方法包括:
23、在从设备写主设备读的spi通讯阶段,在所述主设备io接口接收到mcu从设备发送的中断请求信号时,通过所述主设备spi接口发送时钟信号至所述mcu从设备;
24、通过所述主设备spi接口接收所述mcu从设备基于所述时钟信号发送的数据。
25、在其中一个实施例中,所述基于spi总线的方法还包括:
26、在主设备写从设备读的spi通讯阶段,通过所述主设备spi接口发送时钟信号和指令至所述mcu从设备。
27、一种基于spi总线的通讯装置,用于包括从设备io接口和从设备spi接口的mcu从设备中,所述装置包括:
28、中断发送模块,用于在从设备写主设备读的spi通讯阶段,通过所述从设备io接口按照预设间隔发送中断请求信号至嵌入式芯片主设备的主设备io接口;
29、数据发送模块,用于在接收到所述嵌入式芯片主设备根据所述中断请求信号发送的时钟信号时,基于所述时钟信号通过所述从设备spi接口发送数据至所述嵌入式芯片主设备。
30、一种基于spi总线的通讯装置,用于包括主设备io接口和主设备spi接口的嵌入式芯片主设备中,所述装置包括:
31、中断接收模块,用于在从设备写主设备读的spi通讯阶段,在所述主设备io接口接收到mcu从设备发送的中断请求信号时,通过所述主设备spi接口发送时钟信号至所述mcu从设备;
32、数据接收模块,用于通过所述主设备spi接口接收所述mcu从设备基于所述时钟信号发送的数据。
33、一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下步骤:
34、在从设备写主设备读的spi通讯阶段,通过所述从设备io接口按照预设间隔发送中断请求信号至嵌入式芯片主设备的主设备io接口;
35、在接收到所述嵌入式芯片主设备根据所述中断请求信号发送的时钟信号时,基于所述时钟信号通过所述从设备spi接口发送数据至所述嵌入式芯片主设备;
36、或者所述处理器执行所述计算机程序时实现如下步骤:
37、在从设备写主设备读的spi通讯阶段,在所述主设备io接口接收到mcu从设备发送的中断请求信号时,通过所述主设备spi接口发送时钟信号至所述mcu从设备;
38、通过所述主设备spi接口接收所述mcu从设备基于所述时钟信号发送的数据。
39、上述基于spi总线的通讯系统及通讯方法、装置和电子设备,在从设备写主设备读的spi通讯阶段,通过mcu从设备向嵌入式芯片主设备间隔发送中断请求信号,使得嵌入式芯片主设备发送时钟信号至mcu从设备,从而mcu从设备基于时钟信号发送数据至嵌入式芯片主设备。如此,实现以mcu为从设备、嵌入式芯片为主设备的spi通讯方式,且实现mcu从设备主动上发数据到嵌入式芯片主设备的功能,相比于现有技术中从设备只能被动等待主设备主动提供时钟源的复杂流程,通讯流程更简单。