CN110798269A - 基于gpio实现pcm从机功能的方法及系统 - Google Patents
基于gpio实现pcm从机功能的方法及系统 Download PDFInfo
- Publication number
- CN110798269A CN110798269A CN201910905816.1A CN201910905816A CN110798269A CN 110798269 A CN110798269 A CN 110798269A CN 201910905816 A CN201910905816 A CN 201910905816A CN 110798269 A CN110798269 A CN 110798269A
- Authority
- CN
- China
- Prior art keywords
- host
- slave
- pcm
- signal
- bit
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B14/00—Transmission systems not characterised by the medium used for transmission
- H04B14/02—Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation
- H04B14/04—Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation using pulse code modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B14/00—Transmission systems not characterised by the medium used for transmission
- H04B14/02—Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation
- H04B14/04—Transmission systems not characterised by the medium used for transmission characterised by the use of pulse modulation using pulse code modulation
- H04B14/042—Special circuits, e.g. comparators
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种基于GPIO实现PCM从机功能的方法及系统,其包括:当第二主机将时钟信号变为有效,第二主机通过所述GPIO1管脚向第一主机发出中断,第一主机进入中断处理程序;当第一主机进入中断处理程序,并判断从设备同步信号有效,则第二主机发送给第一主机一个比特数据;第一主机在中断程序中读取GPIO3管脚的主输出从输入信号,从第二主机读取数据;同时通过GPIO3管脚的主输入从输出信号,向第二主机发送数据;每产生一中断的时钟信号,第一主机读取第二主机发来的一个比特数据,并向第二主机发送一个回应的比特数据;第一主机每读取完一字节的比特数据,则将读取的比特数据组成一个字节。本发明实现了PCM的从机功能,结构简单实现容易,并且成本低。
Description
技术领域
本发明涉及数据传输技术领域,特别是涉及一种基于GPIO实现PCM从机功能的方法及系统。
背景技术
PCM(Pulse Code Modulation,脉冲编码调制)是指把一个时间连续,取值连续的模拟信号变换成时间离散、取值离散的数字信号后再在信道中传输。脉冲编码调制就是对模拟信号先抽样,再对样值幅度量化、编码的过程,从本质来讲PCM就是一个模数变换的过程,在音频传输领域中PCM通信有着广泛的应用。
然而,一般PCM接口由硬件实现,主控CPU做主设备,访问PCM从设备。如果两个PCM主设备要通讯,就显得无能为力,要么用桥接芯片做转发,要么用CPLD/FGPA实现桥接,扩展性不好。如果要在不支持PCM从机功能的CPU上,实现PCM的从机功能,非常麻烦,同时使硬件代价比较大,成本较高。
因而现有技术还有待改进和提高。
发明内容
本发明要解决的技术问题在于,针对现有技术的不足,提供基于GPIO实现PCM从机功能的方法及系统,以解决现有技术中要在不支持PCM从机功能的CPU上,实现PCM从机功能,非常麻烦,并且成本高的问题。
为了解决上述技术问题,本发明所采用的技术方案如下:
一种基于GPIO实现PCM从机功能的系统,其包括:
第一主机和第二主机,所述第一主机通过GPIO1管脚、GPIO2管脚、GPIO3管脚以及GPIO4管脚与第二主机相连接;当第一主机与第二主机进行PCM通讯时,所述GPIO1管脚接收第二主机的时钟信号,所述GPIO2管脚接收第二主机的同步信号;所述GPIO3管脚接收第二主机的输出信号;所述GPIO4管脚接收第二主机的发送输出信息,以使得所述第一主机作为PCM协议中第二主机的从机。
所述基于GPIO实现PCM从机功能的系统,其中,所述基于GPIO实现PCM从机功能的系统还包括:
第一从机和第二从机,所述第一从机为所述第一主机的PCM协议的从机,所述第二从机为所述第二主机的PCM协议的从机。
所述基于GPIO实现PCM从机功能的方法,应用于如上任一所述基于GPIO实现PCM从机功能的系统,其包括:
选定时钟信号的GPIO1管脚支持向第一主机发送中断,中断类型设置为边缘触发;
当第二主机将时钟信号变为有效,第二主机通过所述GPIO1管脚向第一主机发出中断,第一主机进入中断处理程序;
当第一主机进入中断处理程序,并判断从设备同步信号有效,则第二主机发送给第一主机一个比特数据;
第一主机在中断程序中读取GPIO3管脚的主输出从输入信号,从第二主机读取数据;同时通过GPIO3管脚的主输入从输出信号,向第二主机发送数据;
每产生一中断的时钟信号,第一主机读取第二主机发来的一个比特数据,并向第二主机发送一个回应的比特数据;
第一主机每读取完一字节的比特数据,则将读取的比特数据组成一个字节。
所述基于GPIO实现PCM从机功能的方法,其中,相对于第一主机,用GPIO1作为时钟信号PCMCLK,是输入信号;GPIO2作为同步信号PCMSYNC,是输入信号;GPIO3作为主输出从输入信号PCMDOUT,是输入信号;GPIO3作为主输入从输出信号PCMDIN,是输出信号。
所述基于GPIO实现PCM从机功能的方法,其中,所述当第二主机将时钟信号变为有效包括:
当GPIO1由低电平拉升到高电平时,立即向CPU发送中断请求;CPU响应中断请求。
所述基于GPIO实现PCM从机功能的方法,其中,所述当第一主机进入中断处理程序,并判断从设备同步信号有效,则第二主机发送给第一主机一个比特数据具体包括:
第一主机进入中断处理程序;
当第一主机进入中断处理程序,判断从设备同步信号是否有效;
当从设备同步信号有效则PCM周期开始,则读取GPIO2 PCMSYNC,第二主机发送给第一主机一个比特数据。
所述基于GPIO实现PCM从机功能的方法,其中,所述判断从设备同步信号是否有效还包括:
如果从设备同步信号PCMSYNC为高电平,表示PCM周期以及结束。
所述基于GPIO实现PCM从机功能的方法,其中,所述每产生一中断的时钟信号,第一主机读取第二主机发来的一个比特数据,并向第二主机发送一个回应的比特数据具体包括:
根据当前PCM命令的实际作用,通过GPIO4管脚的主设备数据输入信号写入回应字节中的一个比特,按照字节的最高位先发送的顺序写;
每一个第一主机中断,接收一个比特,并且向第二主机发送一个比特的数据,直到从设备同步信号为高电平,结束PCM时序;并将接收和发送比特的长度置为0,直到下一次PCM周期开始。
一种计算机可读存储介质,其中,其包括:第一存储介质和第二存储介质,所述第一存储介质和第二存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任意一项所述的基于GPIO实现PCM从机功能的方法中的步骤。
一种终端设备,其包括:第一终端设备和第二终端设备,所述第一终端设备和第二终端设备包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如上任意一项所述的基于GPIO实现PCM从机功能的方法中的步骤。
有益效果:与现有技术相比,本发明提供了一种基于GPIO实现PCM从机功能的方法及系统,其包括:当第二主机将时钟信号变为有效,第二主机通过所述GPIO1管脚向第一主机发出中断,第一主机进入中断处理程序;当第一主机进入中断处理程序,并判断从设备同步信号有效,则第二主机发送给第一主机一个比特数据;第一主机在中断程序中读取GPIO3管脚的主输出从输入信号,从第二主机读取数据;同时通过GPIO3管脚的主输入从输出信号,向第二主机发送数据;每产生一中断的时钟信号,第一主机读取第二主机发来的一个比特数据,并向第二主机发送一个回应的比特数据;第一主机每读取完一字节的比特数据,则将读取的比特数据组成一个字节。本发明实现了PCM的从机功能,结构简单实现容易,并且成本低。
附图说明
图1为本发明提供的基于GPIO实现PCM从机功能的系统原理框图。
图2为本发明实施例中PCM通信协议的信号线时序图。
图3为本发明实施例中基于GPIO实现PCM从机功能的方法的配置流程示意图。
图4为本发明实施例中基于GPIO实现PCM从机功能的方法的初始化流程示意图。
图5为本发明实施例中基于GPIO实现PCM从机功能的方法的初始化又一流程示意图。
图6为本发明实施例中基于GPIO实现PCM从机功能的方法的实施例流程图。
图7为本发明实施例中计算机设备的内部结构图。
具体实施方式
本发明提供一种基于GPIO实现PCM从机功能的方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
下面结合附图,通过对实施例的描述,对发明内容作进一步说明。
请参照图1,图1为本发明提供的图1为本发明提供的基于GPIO实现PCM从机功能的系统原理框图。如图1所示,本实施例的一种基于GPIO实现PCM从机功能的系统,其包括:
第一主机和第二主机,所述第一主机通过GPIO1管脚、GPIO2管脚、GPIO3管脚以及GPIO4管脚与第二主机相连接;当第一主机与第二主机进行PCM通讯时,所述GPIO1管脚接收第二主机的时钟信号,所述GPIO2管脚接收第二主机的同步信号;所述GPIO3管脚接收第二主机的输出信号;所述GPIO4管脚接收第二主机的发送输出信息,以使得所述第一主机作为PCM协议中第二主机的从机。通过本发明的连接结构可以在不支持PCM从机功能的第一主机上,实现PCM从机功能,结构简单实现容易,并且成本低。
本实施例的一个实现方式中,所述基于GPIO实现PCM从机功能的系统还包括:
第一从机和第二从机,所述第一从机为所述第一主机的PCM协议的从机,所述第二从机为所述第二主机的PCM协议的从机。通过第一主机做主设备,从而可以访问PCM的第一从机,同理,通过第二主机做主设备,从而可以访问PCM的第二从机。
其中,PCM(Pulse Code Modulation,脉冲编码调制)是指把一个时间连续,取值连续的模拟信号变换成时间离散、取值离散的数字信号后再在信道中传输。脉冲编码调制就是对模拟信号先抽样,再对样值幅度量化、编码的过程,从本质来讲PCM就是一个模数变换的过程,在音频传输领域中PCM通信有着广泛的应用。
GPIO(General Purpose Input Output,通用输入/输出)口在嵌入式系统中应用比较多,用户可以通过编程控制GPIO口输出高低电平来传输一些信号,譬如用户自定义的同步时间戳,保证各个单板的时间同步。
PCM通信协议包括4条信号线,参照图2,图示给出了这4条信号线的时序图。所述的信号线包括:PCMSCLK,用于提供数据传输的时钟;PCMSYNC,用于提供数据传输的同步信号,确定每一个字的PCM数据的长度;PCMSOUT,用于PCM数据的输出;PCMSIN,用于接收PCM数据。PCM通信中数据是以一个字为单位传输,在传输一个字的PCM数据之前,PCMSYNC都会发送一个持续一段时间的高电平信号表明准备开始传输一个字的PCM数据,每个字的PCM数据表明了该数据对应的抽样值的大小,当前数据传输完毕后等待下一个PCMSYNC高电平信号到来,才开始传输下一个字的PCM数据。
但是PCM通信协议也并非所有的多媒体处理芯片都支持的,当多媒体芯片没有这种PCM接口时,那么该芯片就无法与采用PCM通信协议的音频处理芯片通信,这无疑限制了多媒体芯片的应用。
本发明实施例中的基于GPIO实现PCM从机功能的方法,在具体实施时,参考图1和图2所示,选定时钟信号的GPIO1管脚支持向第一主机发送中断,中断类型可以设置为边缘触发。一旦第二主机将PCMCLK(时钟信号)拉高变为有效后,第二主机的GPIO1向第一主机发出中断,第一主机进入中断处理程序。然后在中断程序中(站在从机CPU)读取GPIO3PCMDOUT,表示从第二主机读取数据;同时向GPIO4 PCMDIN写数据,表示向第二主机发送数据。每一次PCMCLK中断,第一主机可以读取一个比特,发送一个比特。
基于上述实施例所述的基于GPIO实现PCM从机功能的系统,本发明实施例提供了一种基于GPIO实现PCM从机功能的方法,请参阅图1,图1提供了本发明实施例中基于GPIO实现PCM从机功能的方法,所述方法包括:
整个过程分为设置步骤,初始化步骤,读写操作步骤。
其中设置步骤:参考图3所示,设置GPIO1为输入功能,设置GPIO2为输入功能,设置GPIO3为输入功能,设置GPIO4为输出功能,设置GPIO1上升沿中断,设置GPIO2上升沿中断,挂载GPIO1中断处理函数gpio1_irs(),挂载GPIO2中断处理函数gpio2_irs(),接收比特个数为0,发送比特个数为0,使能GPIO3中断,使能GPIO2中断。
初始化流程如图4和5所示,S10、中断函数gpio2_isr()入口,入步骤S11;
S11,判断启动标志是否等于1,当为是进入步骤S12,当为否,则进入步骤S16;
即判断PCM周期启动标志是否等于1。
S12,收发比特个数是否小于等于16,当为是进入步骤S13,当为否,则进入步骤S17;
S13,读取GPIO3到接收缓冲区,并进入步骤S14;
S14,将发送缓冲器一个比特写向GPIO4,并进入步骤S15;
S15,收发比特个数加1,并进入步骤S16.
参考图4和图5所示,本发明核心部分是中断处理函数gpio2_irs(),其处理作为主机的MCU(第二主机)发起的PCM时序周期。当GPIO1管脚的时钟信号由低电平拉升到高电平时,立即向作为从机的CPU发送中断请求。作为从机的CPU(第一主机)响应中断请求,执行中断处理函数gpio2_irs()。每一次中断函数被调用,作为从机的CPU通过GPIO3管脚PCMDOUT(主设备数据输出,从设备数据输入)从作为主机的MCU读取一个比特,同时通过GPIO4管脚PCMDIN(主设备数据输入,从设备数据输出)向作为主机的MCU发送一个比特。
其中,读写操作步骤,如图4所示,作为从机的CPU在通过GPIO1管脚的时钟信号进入中断处理函数时,先判断GPIO2管脚是否为低电平(0),因为PCMSYNC(从设备同步信号)必须为低电平才表示PCM周期开始(参考图2所示)。如果PCMSYNC(从设备同步信号)为高电平,表示PCM周期以及结束,所以先判断PCMSYNC(从设备同步信号)是否有效,如果PCMSYNC(从设备同步信号)有效,则读取GPIO3 PCMDOUT(主设备数据输出),这是MCU发送给CPU的一个比特数据。并且根据当前PCM命令的实际作用,向GPIO4 PCMDIN写入回应字节中的一个比特,按照MSB(字节的最高位先发送)的顺序写。
本发明实施例中,每一个CPU中断都是接收一个比特,并且向MCU发送一个比特的数据,直到PCMSYNC为高电平,结束PCM时序。将接收和发送比特的长度置为0,直到下一次PCM周期开始。
由上可见,通过本发明实施例,可以在不支持PCM从机功能的CPU上,实现PCM从机功能,结构简单实现容易,并且成本低。
基于上述实施例,本发明还提供了一种基于GPIO实现PCM从机功能的方法,如图6所示,所述方法包括:
S100、选定时钟信号的GPIO1管脚支持向第一主机发送中断,中断类型设置为边缘触发;
步骤好处是利用中断机制,不需要CPU去轮询,节省CPU时间,提高系统的实时性。
S200、当第二主机将时钟信号变为有效,第二主机通过所述GPIO1管脚向第一主机发出中断,第一主机进入中断处理程序;
本步骤的好处是中断触发时,相当于PCM的片选拉低,开始进入数据传输的过程。
S300、当第一主机进入中断处理程序,并判断从设备同步信号有效,则第二主机发送给第一主机一个比特数据;
本步骤这个其实是按照PCM协议去处理。
S400、第一主机在中断程序中读取GPIO3管脚的主输出从输入信号,从第二主机读取数据;同时通过GPIO3管脚的主输入从输出信号,向第二主机发送数据;
本步骤这个也是按照PCM协议去处理。
S500、每产生一中断的时钟信号,第一主机读取第二主机发来的一个比特数据,并向第二主机发送一个回应的比特数据;
本步骤按照PCM协议去处理。
S600、第一主机每读取完一字节的比特数据,则将读取的比特数据组成一个字节。
本步骤按照PCM协议去处理。
所述基于GPIO实现PCM从机功能的方法,其中,相对于第一主机,用GPIO1作为时钟信号PCMCLK,是输入信号;GPIO2作为同步信号PCMSYNC,是输入信号;GPIO3作为主输出从输入信号PCMDOUT,是输入信号;GPIO3作为主输入从输出信号PCMDIN,是输出信号。
所述基于GPIO实现PCM从机功能的方法,其中,所述当第二主机将时钟信号变为有效包括:
当GPIO1由低电平拉升到高电平时,立即向CPU发送中断请求;CPU响应中断请求。
所述基于GPIO实现PCM从机功能的方法,其中,所述当第一主机进入中断处理程序,并判断从设备同步信号有效,则第二主机发送给第一主机一个比特数据具体包括:
第一主机进入中断处理程序;
当第一主机进入中断处理程序,判断从设备同步信号是否有效;
当从设备同步信号有效则PCM周期开始,则读取GPIO2 PCMSYNC,第二主机发送给第一主机一个比特数据。
所述基于GPIO实现PCM从机功能的方法,其中,所述判断从设备同步信号是否有效还包括:
如果从设备同步信号PCMSYNC为高电平,表示PCM周期以及结束。
所述基于GPIO实现PCM从机功能的方法,其中,所述每产生一中断的时钟信号,第一主机读取第二主机发来的一个比特数据,并向第二主机发送一个回应的比特数据具体包括:
根据当前PCM命令的实际作用,通过GPIO4管脚的主设备数据输入信号写入回应字节中的一个比特,按照字节的最高位先发送的顺序写;
每一个第一主机中断,接收一个比特,并且向第二主机发送一个比特的数据,直到从设备同步信号为高电平,结束PCM时序;并将接收和发送比特的长度置为0,直到下一次PCM周期开始。
举例说明如下:
如图1所示,假设作为主机的MCU主机为A,作为从机的CPU从机为B,现A向B发送一个字节0x90数据,之后B向A回复一个字节0xAA;本发明GPIO实现PCM从机功能的方法,步骤如下:
step 1:MCU主机A拉低PCMSYNC(从设备同步信号);
step 2:MCU主机A将0x90的第7位的电平送到PCMDOUT(主设备数据输出,从设备数据输入)线上,然后拉高PCMCLK时钟线,并延时若干个时钟周期,再将0x90这个字节左移1位,最后拉低时钟线;这个过程中,CPU从机B检测到PCMCLK时钟线被拉高,触发了中断,检测PCMSYNC线是否为低,如果是的话,则将PCMDOUT线上的电平收进来,存放至某变量的第0位,随后将该变量左移1位;
step3:A将以上step2循环8次,同时B在每次PCMCLK线拉低时,做出相应的操作;
step 4:循环结束后,A发送完了0x90,拉高PCMSYNC,B收到了0x90,B根据0x90的指令,得知是需要回复A设备一个数据0xAA,进入下一步骤;
step5:A拉低PCMSYNC;
step 6:A拉高PCMCLK时钟线,延时若干时钟周期,读取PCMDIN线上的电平,存放至某变量的第0位,随后将该变量左移1位;这个过程中B检测到PCMCLK时钟线被拉高,将0xAA的第7位的电平送到PCMDIN线上,并将0xAA这个字节左移1位;
step 7:A将以上step 6循环8次,同时B在每次PCMCLK线拉低时,做出相应的操作;
step8:循环结束后,A收到了0xAA,拉高PCMSYNC,B在这个过程中发出了0xAA;
step 9:over结束。
由上可见,通过本发明实施例,可以在不支持PCM从机功能的CPU上,实现PCM从机功能,结构简单实现容易,并且成本低。
本发明还还提供了一种终端设备,其包括第一终端设备和第二终端设备,如图7所示,所述第一终端设备和第二终端设备包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器30通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储服务器端的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
本发明还提供了一种计算机可读存储介质,其包括:第一存储介质和第二存储介质,所述第一存储介质和第二存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例所述的基于GPIO实现PCM从机功能的方法中的步骤。
此外,上述存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于GPIO实现PCM从机功能的系统,其特征在于,其包括:
第一主机和第二主机,所述第一主机通过GPIO1管脚、GPIO2管脚、GPIO3管脚以及GPIO4管脚与第二主机相连接;当第一主机与第二主机进行PCM通讯时,所述GPIO1管脚接收第二主机的时钟信号,所述GPIO2管脚接收第二主机的同步信号;所述GPIO3管脚接收第二主机的输出信号;所述GPIO4管脚接收第二主机的发送输出信息,以使得所述第一主机作为PCM协议中第二主机的从机。
2.根据权利要求1所述基于GPIO实现PCM从机功能的系统,其特征在于,所述基于GPIO实现PCM从机功能的系统还包括:
第一从机和第二从机,所述第一从机为所述第一主机的PCM协议的从机,所述第二从机为所述第二主机的PCM协议的从机。
3.根据权利要求1所述基于GPIO实现PCM从机功能的方法,应用于如1~2任一所述基于GPIO实现PCM从机功能的系统,其特征在于,其包括:
选定时钟信号的GPIO1管脚支持向第一主机发送中断,中断类型设置为边缘触发;
当第二主机将时钟信号变为有效,第二主机通过所述GPIO1管脚向第一主机发出中断,第一主机进入中断处理程序;
当第一主机进入中断处理程序,并判断从设备同步信号有效,则第二主机发送给第一主机一个比特数据;
第一主机在中断程序中读取GPIO3管脚的主输出从输入信号,从第二主机读取数据;同时通过GPIO3管脚的主输入从输出信号,向第二主机发送数据;
每产生一中断的时钟信号,第一主机读取第二主机发来的一个比特数据,并向第二主机发送一个回应的比特数据;
第一主机每读取完一字节的比特数据,则将读取的比特数据组成一个字节。
4.根据权利要求3所述基于GPIO实现PCM从机功能的方法,其特征在于,相对于第一主机,用GPIO1作为时钟信号PCMCLK,是输入信号;GPIO2作为同步信号PCMSYNC,是输入信号;GPIO3作为主输出从输入信号PCMDOUT,是输入信号;GPIO3作为主输入从输出信号PCMDIN,是输出信号。
5.根据权利要求3所述基于GPIO实现PCM从机功能的方法,其特征在于,所述当第二主机将时钟信号变为有效包括:
当GPIO1由低电平拉升到高电平时,立即向CPU发送中断请求;CPU响应中断请求。
6.根据权利要求2所述基于GPIO实现PCM从机功能的方法,其特征在于,所述当第一主机进入中断处理程序,并判断从设备同步信号有效,则第二主机发送给第一主机一个比特数据具体包括:
第一主机进入中断处理程序;
当第一主机进入中断处理程序,判断从设备同步信号是否有效;
当从设备同步信号有效则PCM周期开始,则读取GPIO2 PCMSYNC,第二主机发送给第一主机一个比特数据。
7.根据权利要求6所述基于GPIO实现PCM从机功能的方法,其特征在于,所述判断从设备同步信号是否有效还包括:
如果从设备同步信号PCMSYNC为高电平,表示PCM周期以及结束。
8.根据权利要求7所述基于GPIO实现PCM从机功能的方法,其特征在于,所述每产生一中断的时钟信号,第一主机读取第二主机发来的一个比特数据,并向第二主机发送一个回应的比特数据具体包括:
根据当前PCM命令的实际作用,通过GPIO4管脚的主设备数据输入信号写入回应字节中的一个比特,按照字节的最高位先发送的顺序写;
每一个第一主机中断,接收一个比特,并且向第二主机发送一个比特的数据,直到从设备同步信号为高电平,结束PCM时序;并将接收和发送比特的长度置为0,直到下一次PCM周期开始。
9.一种计算机可读存储介质,其特征在于,其包括:第一存储介质和第二存储介质,所述第一存储介质和第二存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求3~8任意一项所述的基于GPIO实现PCM从机功能的方法中的步骤。
10.一种终端设备,其特征在于,包括:第一终端设备和第二终端设备,所述第一终端设备和第二终端设备包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如权利要求3~8任意一项所述的基于GPIO实现PCM从机功能的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910905816.1A CN110798269B (zh) | 2019-09-24 | 2019-09-24 | 基于gpio实现pcm从机功能的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910905816.1A CN110798269B (zh) | 2019-09-24 | 2019-09-24 | 基于gpio实现pcm从机功能的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110798269A true CN110798269A (zh) | 2020-02-14 |
CN110798269B CN110798269B (zh) | 2021-12-10 |
Family
ID=69439835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910905816.1A Active CN110798269B (zh) | 2019-09-24 | 2019-09-24 | 基于gpio实现pcm从机功能的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110798269B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984581A (zh) * | 2020-08-14 | 2020-11-24 | 广州邦讯信息系统有限公司 | 一种基于Linux的SPI总线主从设备通讯系统、方法及装置 |
CN114253344A (zh) * | 2021-12-06 | 2022-03-29 | 广州芯德通信科技股份有限公司 | 一种改善iad设备pcm间隙信号噪声的方法及系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201104365Y (zh) * | 2007-05-31 | 2008-08-20 | 深圳创维-Rgb电子有限公司 | 一种微控制器 |
US20120276942A1 (en) * | 2011-04-29 | 2012-11-01 | Mason Ralph D | Transmit Power Control Algorithms for Sources and Sinks in a Multi-Link Session |
CN103064805A (zh) * | 2012-12-25 | 2013-04-24 | 深圳先进技术研究院 | Spi控制器及通信方法 |
CN103297163A (zh) * | 2012-02-22 | 2013-09-11 | 安凯(广州)微电子技术有限公司 | 一种通过gpio口模拟pcm通信的方法及装置 |
CN103488601A (zh) * | 2012-06-12 | 2014-01-01 | 京信通信技术(广州)有限公司 | 一种时钟延时、数据访问方法、系统及设备 |
CN103914414A (zh) * | 2012-12-30 | 2014-07-09 | 航天信息股份有限公司 | 基于i/o端口的spi模拟方法和装置 |
CN204650312U (zh) * | 2015-03-25 | 2015-09-16 | 沈阳地铁集团有限公司运营分公司 | 闸机工控机驱动系统 |
CN107301138A (zh) * | 2017-06-01 | 2017-10-27 | 深圳震有科技股份有限公司 | 一种串行总线桥接方法及串行总线系统 |
CN108446243A (zh) * | 2018-03-20 | 2018-08-24 | 上海奉天电子股份有限公司 | 一种基于串行外设接口的双向通信方法与系统 |
-
2019
- 2019-09-24 CN CN201910905816.1A patent/CN110798269B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201104365Y (zh) * | 2007-05-31 | 2008-08-20 | 深圳创维-Rgb电子有限公司 | 一种微控制器 |
US20120276942A1 (en) * | 2011-04-29 | 2012-11-01 | Mason Ralph D | Transmit Power Control Algorithms for Sources and Sinks in a Multi-Link Session |
CN103297163A (zh) * | 2012-02-22 | 2013-09-11 | 安凯(广州)微电子技术有限公司 | 一种通过gpio口模拟pcm通信的方法及装置 |
CN103488601A (zh) * | 2012-06-12 | 2014-01-01 | 京信通信技术(广州)有限公司 | 一种时钟延时、数据访问方法、系统及设备 |
CN103064805A (zh) * | 2012-12-25 | 2013-04-24 | 深圳先进技术研究院 | Spi控制器及通信方法 |
CN103914414A (zh) * | 2012-12-30 | 2014-07-09 | 航天信息股份有限公司 | 基于i/o端口的spi模拟方法和装置 |
CN204650312U (zh) * | 2015-03-25 | 2015-09-16 | 沈阳地铁集团有限公司运营分公司 | 闸机工控机驱动系统 |
CN107301138A (zh) * | 2017-06-01 | 2017-10-27 | 深圳震有科技股份有限公司 | 一种串行总线桥接方法及串行总线系统 |
CN108446243A (zh) * | 2018-03-20 | 2018-08-24 | 上海奉天电子股份有限公司 | 一种基于串行外设接口的双向通信方法与系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984581A (zh) * | 2020-08-14 | 2020-11-24 | 广州邦讯信息系统有限公司 | 一种基于Linux的SPI总线主从设备通讯系统、方法及装置 |
CN111984581B (zh) * | 2020-08-14 | 2022-05-10 | 广州邦讯信息系统有限公司 | 一种基于Linux的SPI总线主从设备通讯系统、方法及装置 |
CN114253344A (zh) * | 2021-12-06 | 2022-03-29 | 广州芯德通信科技股份有限公司 | 一种改善iad设备pcm间隙信号噪声的方法及系统 |
CN114253344B (zh) * | 2021-12-06 | 2022-08-19 | 广州芯德通信科技股份有限公司 | 一种改善iad设备pcm间隙信号噪声的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110798269B (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11231864B2 (en) | Memory access technology and computer system | |
EP1389760B1 (en) | Data transfer control system, program and data transfer control method | |
CN110798269B (zh) | 基于gpio实现pcm从机功能的方法及系统 | |
CN107291647B (zh) | Dsp读取扩展串口中接收通道数据的方法 | |
CN110765058A (zh) | Gpio实现spi从机功能方法、系统、设备及介质 | |
WO2022121199A1 (zh) | Qspi控制器,图像处理器及闪存访问方法 | |
US20220358077A1 (en) | Serial peripheral interface (spi) automatic register address incrementation across data frames | |
JP2017505495A (ja) | マルチマスターバスプロトコルのための方法および装置 | |
CN107703815B (zh) | 循环地址式三线spi通讯系统 | |
KR100919159B1 (ko) | 멀티미디어 카드 인터페이스 방법, 컴퓨터 프로그램 생성물및 장치 | |
CN115934625A (zh) | 一种用于远程直接内存访问的敲门铃方法、设备及介质 | |
CN111143068B (zh) | 文件操作方法、装置及嵌入式控制器 | |
CN110795369B (zh) | 基于gpio管脚实现mdio从机功能的方法及终端 | |
KR101109600B1 (ko) | 직접 메모리 접근 제어를 이용한 데이터 전송 방법 및 그장치 | |
KR101345437B1 (ko) | 칩들간의 통신을 위한 인터페이스 장치 및 방법 | |
CN117762337A (zh) | 一种数据读取控制方法与数据读取电路 | |
US20130265146A1 (en) | Communication Device, Communication Method, and Communication System | |
CN118035157A (zh) | 串行外设接口系统控制方法、芯片、介质以及装置 | |
CN117880364A (zh) | 一种数据传输方法、系统以及相关装置 | |
CN111045968A (zh) | 实现iic上cpu从机的方法、智能终端和储存介质 | |
CN115729863A (zh) | 数据传输方法、装置、电子设备及介质 | |
JPS63228855A (ja) | 通信制御装置 | |
CN115328827A (zh) | 基于pcie的存储系统、方法及电子设备 | |
CN114925010A (zh) | 一种Quad SPI转AXI接口的方法 | |
CN111342864A (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 |