一种PCM主转主通讯方法及一种可编辑逻辑器件技术

技术编号:35474672 阅读:23 留言:0更新日期:2022-11-05 16:22
本发明专利技术涉及一种PCM主转主通讯方法及一种可编辑逻辑器件,该方法中通过可编辑逻辑器件实现两个PCM主设备之间的通讯;可编辑逻辑器件的配置过程包括:定义可编辑逻辑器件的引脚,包括:与第一主设备的通讯信号连接的引脚、与第二主设备的通讯信号连接的引脚和用于接收复位信号的复位引脚;将接收至第一主设备和第二主设备的时钟信号分别取反后得到第一主设备和第二主设备的内部逆向时钟信号;分别构建第一主设备和第二主设备对应的的内部计数状态机、数据接收状态机和数据发送状态机。本发明专利技术可以实现PCM主对主的无延迟转换,同时可以实现总线的时隙分配以及数据移位,适应不同厂家的PCM接口差异。厂家的PCM接口差异。厂家的PCM接口差异。

【技术实现步骤摘要】
一种PCM主转主通讯方法及一种可编辑逻辑器件


[0001]本专利技术涉及PCM通讯领域,尤其涉及一种PCM主转主通讯方法及一种可编辑逻辑器件。

技术介绍

[0002]现有的PCM均为主从通信接口,因主设备需要提供时钟信号和帧同步信号,因此一组总线上无法同时存在2个主设备,无法实现主设备与主设备之间的通讯。

技术实现思路

[0003]为了解决上述问题,本专利技术提出了一种PCM主转主通讯方法及一种可编辑逻辑器件。
[0004]具体方案如下:
[0005]一种PCM主转主通讯方法,通过可编辑逻辑器件实现两个PCM主设备之间的通讯;可编辑逻辑器件的配置过程包括:
[0006]定义可编辑逻辑器件的引脚,包括:与第一主设备的通讯信号连接的引脚、与第二主设备的通讯信号连接的引脚和用于接收复位信号的复位引脚;
[0007]将接收至第一主设备和第二主设备的时钟信号分别取反后得到第一主设备和第二主设备的内部逆向时钟信号;
[0008]分别构建第一主设备和第二主设备对应的的内部计数状态机、数据接收状态机和数据发送状态机;
[0009]内部计数状态机在内部逆向时钟信号触发上升沿时,根据内部计数状态机的状态变量的值的不同实现计数,并当计数值达到计数阈值时实现对主设备接收数据使能信号的赋值;
[0010]数据接收状态机在主设备的时钟信号触发下降沿时,根据数据接收状态机的状态变量的值的不同实现对主设备数据的接收,并存入数据缓存;
[0011]数据发送状态机在主设备的时钟信号触发上升沿时,根据数据发送状态机的状态变量的值的不同和主设备接收数据使能信号的值的不同,实现将数据缓存中的数据发送至主设备,并在空闲时将向主设备发送数据的引脚设置为高组态。
[0012]进一步的,可编辑逻辑器件的引脚包括PCM1_DOUT、PCM1_DIN、PCM1_CLK、PCM1_FS、PCM1_DOUT、PCM1_DIN、PCM1_CLK、PCM1_FS和RESET;其中,PCM1_DOUT、PCM1_DIN、PCM1_CLK、PCM1_FS分别与第一主设备PCM1的数据接收信号、数据发送信号、时钟信号、帧同步信号一一对应连接;PCM2_DOUT、PCM2_DIN、PCM2_CLK、PCM2_FS分别与第二主设备PCM2的数据接收信号、数据发送信号、时钟信号、帧同步信号一一对应连接;RESET为复位引脚。
[0013]进一步的,第一主设备PCM1的内部计数状态机的构建过程包括以下步骤:
[0014]S301:定义变量PCM1_COUNTER、PCM1_COUN_STATE、PCM1_ENABLE和pcm1_fs_pr。其中:
[0015]PCM1_COUNTER表示第一主设备PCM1对应的计数器;
[0016]PCM1_COUN_STATE表示第一主设备PCM1对应的内部计数状态机的状态,值包括:IDLE、COUNTER_EN和others三种,其中,IDLE表示空闲状态,COUNTER_EN表示计数状态,others表示IDLE和COUNTER_EN之外的其他状态;
[0017]PCM1_ENABLE表示第一主设备PCM1对应的开始采集数据的使能,即当PCM1_ENABLE为1时,第一主设备PCM1开始采集数据,当PCM1_ENABLE为0时,第一主设备PCM1停止采集数据;
[0018]pcm1_fs_pr表示第一主设备PCM1对应的帧同步信号的触发标志,值为0或1两种;
[0019]S302:判断RESET引脚接收到的信号是否表示复位状态,如果是,进入S303;否则,进入S304;
[0020]S303:对变量进行以下赋值:
[0021]将PCM1_COUNTER赋值为0;
[0022]将PCM1_COUN_STATE赋值为IDLE;
[0023]将PCM1_ENABLE赋值为0;
[0024]将pcm1_fs_pr赋值为1;
[0025]S304:判断PCM1_COUNTER_CLK是否触发上升沿,如果是,根据内部计数状态机的状态变量PCM1_COUN_STATE的值的不同进行以下操作:
[0026](1)当PCM1_COUN_STATE=IDLE时,判断是否满足:PCM1_FS=1且pcm1_fs_pr=0,
[0027]如果满足,对变量进行以下赋值:
[0028]将PCM1_COUNTER赋值为0;
[0029]将PCM1_COUN_STATE赋值为COUNTER_EN;
[0030]将PCM1_ENABLE赋值为0;
[0031]将pcm1_fs_pr赋值为0;
[0032]如果不满足,对变量进行以下赋值:
[0033]将PCM1_COUNTER赋值为0;
[0034]将PCM1_ENABLE赋值为0;
[0035]将pcm1_fs_pr赋值为PCM1_FS;
[0036](2)当PCM1_COUN_STATE=COUNTER_EN时,判断是否满足PCM1_COUNTER的值等于计数阈值,
[0037]如果满足,对变量进行以下赋值:
[0038]将PCM1_COUNTER赋值为0;
[0039]将PCM1_COUN_STATE赋值为IDLE;
[0040]将PCM1_ENABLE赋值为1;
[0041]如果不满足,对变量进行以下赋值:
[0042]另PCM1_COUNTER自加一;
[0043]将PCM1_ENABLE赋值为0;
[0044](3)当PCM1_COUN_STATE=others时,对变量进行以下赋值:
[0045]将PCM1_COUNTER赋值为0;
[0046]将PCM1_COUN_STATE赋值为IDLE;
[0047]将PCM1_ENABLE赋值为0。
[0048]进一步的,第一主设备PCM1的数据接收状态机的构建过程包括以下步骤:
[0049]S401:定义变量PCM1_TX_BUF、PCM1_TX_STATE、PCM1_TX_COUNTER和PCM1_TO_PCM2_BUF。其中:
[0050]PCM1_TX_BUF表示第一主设备PCM1对应的数据发送缓存;
[0051]PCM1_TX_STATE表示第一主设备PCM1对应的数据接收状态机的状态,值包括:IDLE、DATA、SWITCH和others四种,其中,IDLE表示空闲状态,DATA表示数据接收状态,SWITCH表示数据交换状态,others表示IDLE、DATA和SWITCH之外的其他状态;
[0052]PCM1_TX_COUNTER表示第一主设备PCM1对应的数据接收计数器;
[0053]PCM1_TO_PCM2_BUF表示第一主设备PCM1发送数据至第二主设备PCM2时对应的数据缓存。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种PCM主转主通讯方法,其特征在于:通过可编辑逻辑器件实现两个PCM主设备之间的通讯;可编辑逻辑器件的配置过程包括:定义可编辑逻辑器件的引脚,包括:与第一主设备的通讯信号连接的引脚、与第二主设备的通讯信号连接的引脚和用于接收复位信号的复位引脚;将接收至第一主设备和第二主设备的时钟信号分别取反后得到第一主设备和第二主设备的内部逆向时钟信号;分别构建第一主设备和第二主设备对应的的内部计数状态机、数据接收状态机和数据发送状态机;内部计数状态机在内部逆向时钟信号触发上升沿时,根据内部计数状态机的状态变量的值的不同实现计数,并当计数值达到计数阈值时实现对主设备接收数据使能信号的赋值;数据接收状态机在主设备的时钟信号触发下降沿时,根据数据接收状态机的状态变量的值的不同实现对主设备数据的接收,并存入数据缓存;数据发送状态机在主设备的时钟信号触发上升沿时,根据数据发送状态机的状态变量的值的不同和主设备接收数据使能信号的值的不同,实现将数据缓存中的数据发送至主设备,并在空闲时将向主设备发送数据的引脚设置为高组态。2.根据权利要求1所述的PCM主转主通讯方法,其特征在于:可编辑逻辑器件的引脚包括PCM1_DOUT、PCM1_DIN、PCM1_CLK、PCM1_FS、PCM1_DOUT、PCM1_DIN、PCM1_CLK、PCM1_FS和RESET;其中,PCM1_DOUT、PCM1_DIN、PCM1_CLK、PCM1_FS分别与第一主设备PCM1的数据接收信号、数据发送信号、时钟信号、帧同步信号一一对应连接;PCM2_DOUT、PCM2_DIN、PCM2_CLK、PCM2_FS分别与第二主设备PCM2的数据接收信号、数据发送信号、时钟信号、帧同步信号一一对应连接;RESET为复位引脚。3.根据权利要求2所述的PCM主转主通讯方法,其特征在于:第一主设备PCM1的内部计数状态机的构建过程包括以下步骤:S301:定义变量PCM1_COUNTER、PCM1_COUN_STATE、PCM1_ENABLE和pcm1_fs_pr;其中:PCM1_COUNTER表示第一主设备PCM1对应的计数器;PCM1_COUN_STATE表示第一主设备PCM1对应的内部计数状态机的状态,值包括:IDLE、COUNTER_EN和others三种,其中,IDLE表示空闲状态,COUNTER_EN表示计数状态,others表示IDLE和COUNTER_EN之外的其他状态;PCM1_ENABLE表示第一主设备PCM1对应的开始采集数据的使能,即当PCM1_ENABLE为1时,第一主设备PCM1开始采集数据,当PCM1_ENABLE为0时,第一主设备PCM1停止采集数据;pcm1_fs_pr表示第一主设备PCM1对应的帧同步信号的触发标志,值为0或1两种;S302:判断RESET引脚接收到的信号是否表示复位状态,如果是,进入S303;否则,进入S304;S303:对变量进行以下赋值:将PCM1_COUNTER赋值为0;将PCM1_COUN_STATE赋值为IDLE;将PCM1_ENABLE赋值为0;将pcm1_fs_pr赋值为1;
S304:判断PCM1_COUNTER_CLK是否触发上升沿,如果是,根据内部计数状态机的状态变量PCM1_COUN_STATE的值的不同进行以下操作:(1)当PCM1_COUN_STATE=IDLE时,判断是否满足:PCM1_FS=1且pcm1_fs_pr=0,如果满足,对变量进行以下赋值:将PCM1_COUNTER赋值为0;将PCM1_COUN_STATE赋值为COUNTER_EN;将PCM1_ENABLE赋值为0;将pcm1_fs_pr赋值为0;如果不满足,对变量进行以下赋值:将PCM1_COUNTER赋值为0;将PCM1_ENABLE赋值为0;将pcm1_fs_pr赋值为PCM1_FS;(2)当PCM1_COUN_STATE=COUNTER_EN时,判断是否满足PCM1_COUNTER的值等于计数阈值,如果满足,对变量进行以下赋值:将PCM1_COUNTER赋值为0;将PCM1_COUN_STATE赋值为IDLE;将PCM1_ENABLE赋值为1;如果不满足,对变量进行以下赋值:另PCM1_COUNTER自加一;将PCM1_ENABLE赋值为0;(3)当PCM1_COUN_STATE=others时,对变量进行以下赋值:将PCM1_COUNTER赋值为0;将PCM1_COUN_STATE赋值为IDLE;将PCM1_ENABLE赋值为0。4.根据权利要求2所述的PCM主转主通讯方法,其特征在于:第一主设备PCM1的数据接收状态机的构建过程包括以下步骤:S401:定义变量PCM1_TX_BUF、PCM1_TX_STATE、PCM1_TX_COUNTER和PCM1_TO_PCM2_BUF;其中:PCM1_TX_BUF表示第一主设备PCM1对应的数据发送缓存;PCM1_TX_STATE表示第一主设备PCM1对应的数据...

【专利技术属性】
技术研发人员:童振龙沈伟宏蔡志斌
申请(专利权)人:厦门星纵物联科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1