一种多通信串口双向转换电路及方法转让专利

申请号 : CN202210207651.2

文献号 : CN114595182B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 渠晓辉

申请人 : 珠海昇生微电子有限责任公司

摘要 :

一种多通信串口双向转换电路及方法,其电路包括:选择控制器模块、FIFO模块、第一串口编译模块、第二串口编译模块及译码器选择模块;所述选择控制器模块包括编码器选择模块及FIFO配置选择模块;所述FIFO模块由若干个FIFO单元组成;所述译码器选择模块包括第一译码器选择单元及第二译码器选择单元;其方法为:根据串口数据的转换需求,设置软件的通信要求,译码器选择模块接收待转换的串行数据,并自动识别串行形式,译码器选择模块配合编码器选择模块确定数据的转换形式以及传输方向,并匹配数据转换的编码器及译码器;FIFO配置选择模块可以设定FIFO单元的数据存储及传输的分配;实现UART、I2C以及SPI三种串口形式的数据自动转换。

权利要求 :

1.一种多通信串口双向转换电路,其特征在于:包括选择控制器模块、FIFO模块、第一串口编译模块、第二串口编译模块及译码器选择模块;所述选择控制器模块包括编码器选择模块及FIFO配置选择模块;所述FIFO模块由若干个FIFO单元组成;所述译码器选择模块包括第一译码器选择单元及第二译码器选择单元;所述选择控制器模块通过编码器选择模块连接第一串口编译模块及第二串口编译模块,所述选择控制器模块通过FIFO配置选择模块连接FIFO模块的若干个FIFO单元;

所述第一串口编译模块由第一SPI编、译码器、第一I2C编、译码器及第一UART编、译码器组成;所述第二串口编译模块由第二SPI编、译码器、第二I2C编、译码器及第二UART编、译码器组成;所述FIFO模块设置三个FIFO单元,分别为第一FIFO单元、第二FIFO单元及第三FIFO单元;所述第一串口编译模块的编、译码器、第二串口编译模块的编、译码器、FIFO模块的三个FIFO单元以及译码器选择模块之间的传输数据类型包括SPI类数据、I2C类数据及UART类数据;

第一译码器选择单元通过MOSI/MOSO串口、SDA串口及RX、TX串口连接第一芯片;第二译码器选择单元通过MOSI/MOSO串口、SDA串口及RX、TX串口连接第二芯片;所述第一译码器选择单元连接第一串口编译模块的第一SPI编译码器、第一I2C编译码器及第一UART编译码器;所述第二译码器选择单元连接第二串口编译模块的第二SPI编译码器、第二I2C编译码器及第二UART编译码器。

2.根据权利要求1所述的一种多通信串口双向转换电路,其特征在于:所述FIFO模块连接第一串口编译模块以及第二串口编译模块;所述FIFO模块的第一FIFO单元、第二FIFO单元、第三FIFO单元的三个单元均连接第一SPI编、译码器、第一I2C编、译码器、第一UART编、译码器;FIFO模块的第一FIFO单元、第二FIFO单元、第三FIFO单元的三个单元均连接第二SPI编、译码器、第二I2C编、译码器以及第二UART编、译码器。

3.一种多通信串口双向转换方法,其特征在于:该一种多通信串口双向转换方法是采用权利要求1至2任一项所述一种多通信串口双向转换电路:多通信串口双向转换电路在进行UART、I2C及SPI三种数据相互转换传输;

由第一芯片发送待串口形式转换的串口数据,电路对串口数据进行串口形式转换,第二芯片接收转换后串口数据,其步骤为:

所述译码器选择模块的第一译码器选择单元接收第一芯片的数据串口端发送的串口数据,识别串口数据的串口形式,自动选择串口形式对应第一SPI、I2C、UART译码器;

通过软件设置选择控制器模块的串口形式的转换需求;所述编码器选择模块根据转换需求配置第二SPI、I2C、UART编码器,并配合译码器选择模块确定数据的传输方向;

FIFO配置选择模块根据转换需求以及数据的传输方向,配置FIFO模块的若干个FIFO单元的数据存储及传输;

第一SPI、I2C、UART译码器接收第一译码器选择模块发送的串口数据,将串口数据转换成统一标准的进制数数据,并发送给FIFO模块;FIFO模块对进制数数据进行存储,发送给对应的第二SPI、I2C、UART编码器;第二SPI、I2C、UART编码器将进制数数据转换成对应的串口数据,并发送给第二译码器选择单元;第二译码器选择单元将串口数据发给第二芯片。

4.根据权利要求3所述的一种多通信串口双向转换方法,其特征在于:

由第二芯片发送待串口形式转换的串口数据,电路对串口数据进行串口形式转换,第一芯片接收转换后串口数据,其步骤为:

所述译码器选择模块的第二译码器选择单元接收第二芯片的数据串口端发送的串口数据,识别串口数据的串口形式,自动选择串口形式对应第二SPI、I2C、UART译码器;

通过软件设置选择控制器模块的串口形式的转换需求;所述编码器选择模块根据转换需求配置第一SPI、I2C、UART编码器,并配合译码器选择模块确定数据的传输方向;

FIFO配置选择模块根据转换需求以及数据的传输方向,配置FIFO模块的若干个FIFO单元的数据存储及传输;

第二SPI、I2C、UART译码器接收第二译码器选择模块发送的串口数据,将串口数据转换成统一标准的进制数数据,并发送给FIFO模块;FIFO模块对进制数数据进行存储,发送给对应的第一SPI、I2C、UART编码器;第一SPI、I2C、UART编码器将进制数数据转换成对应的串口数据,并发送给第一译码器选择单元;第一译码器选择单元将串口数据发给第一芯片。

5.根据权利要求3或4所述的一种多通信串口双向转换方法,其特征在于:FIFO配置选择模块根据转换需求以及数据的传输方向,按照FIFO模块的每个FIFO单元的存储深度以及传输状态,配置进制数数据至任意一个或多个非数据传输中的FIFO单元进行数据存储及传输;

第一FIFO单元/第二FIFO单元/第三FIFO单元根据FIFO配置选择模块的配置信息,由第一芯片向第二芯片进行串口数据的串口形式转换时,一个或多个FIFO单元接收第一SPI/I2C/UART编译器发送的数据,依据每个FIFO单元的存储深度进行数据存储,并将存储的数据发送给第二SPI、I2C、UART编译器;由第二芯片向第一芯片进行串口数据的串口形式转换时,一个或多个FIFO单元接收第二SPI、I2C、UART编译器发送的数据,依据每个FIFO单元的存储深度进行数据存储,并将存储的数据发送给第一SPI、I2C、UART编译器。

6.根据权利要求5所述的一种多通信串口双向转换方法,其特征在于:在FIFO配置选择模块中,用户可根据实际传输数据帧数的大小以及数据的位宽,通过软件配置FIFO模块中各个FIFO单元的数据输入位宽、存储深度、数据输出位宽。

说明书 :

一种多通信串口双向转换电路及方法

技术领域

[0001] 本发明涉及电子技术领域,具体涉及一种多通信串口双向转换电路及方法。

背景技术

[0002] 在电子领域中,UART、I2C以及SPI作为通信串口,由于其稳定性,规范性等优点,通常被应用在各类MCU芯片中用以数据传输,可以说是MCU芯片不可或缺的一部分;而FPGA验证作为芯片开发过程中重要的验证手段之一,由于其更接近于芯片真实的运行环境,而且相对于其它验证设备价格更为便宜,使用起来也更为方便,所以较多数芯片设计公司在Tape‑out之前会借助于FPGA验证来保证芯片各方面指标的合格性;
[0003] 在FPGA验证过程中,当需要在同一芯片或不同芯片之间进行数据传输时,由于芯片设计公司考虑到芯片开发成本(面积和功耗)问题,可能不会同时含有这三类通信接口模块,但是在某种特定验证情况下不同串口模块之间需要进行数据的交换,这就造成了通信串口不适配的问题,这时验证者通常会在pc端使用串口工具与芯片进行数据的收发用来辅助验证,但由于其不是真实的硬件环境,存在一定的理想性,所以验证结果不是很可靠,从而无法准确验证设计的精度问题,其验证结果可能存在一定的偏差。

发明内容

[0004] 为了克服现有技术的不足,本发明提供一种多通信串口双向转换电路及方法,其目的在于解决UART、I2C以及SPI三种通信串口的数据转换。
[0005] 为解决上述问题,本发明所采用的技术方案如下:
[0006] 一种多通信串口双向转换电路,包括选择控制器模块、FIFO模块、第一串口编译模块、第二串口编译模块及译码器选择模块;所述选择控制器模块包括编码器选择模块及FIFO配置选择模块;所述FIFO模块由若干个FIFO单元组成;所述译码器选择模块包括第一译码器选择单元及第二译码器选择单元;所述选择控制器模块通过编码器选择模块连接第一串口编译模块及第二串口编译模块,所述选择控制器模块通过FIFO配置选择模块连接FIFO模块的若干个FIFO单元。
[0007] 进一步地,所述第一串口编译模块由第一SPI编、译码器、第一I2C编、译码器及第一UART编、译码器组成;所述第二串口编译模块由第二SPI编、译码器、第二I2C编、译码器及第二UART编、译码器组成;所述FIFO模块设置三个FIFO单元,分别为第一FIFO单元、第二FIFO单元及第三FIFO单元;所述第一串口编译模块的编、译码器、第二串口编译模块的编、译码器、FIFO模块的三个FIFO单元以及译码器选择模块之间的传输数据类型包括SPI类数据、I2C类数据及UART类数据。
[0008] 所述第一译码器选择单元通过MOSI/MOSO串口、SDA串口及RX、TX串口连接第一芯片;所述第二译码器选择单元通过MOSI/MOSO串口、SDA串口及RX、TX串口连接第二芯片;所述第一译码器选择单元连接第一串口编译模块的第一SPI编译码器、第一I2C编译码器及第一UART编译码器;所述第二译码器选择单元连接第二串口编译模块的第二SPI编译码器、第二I2C编译码器及第二UART编译码器。
[0009] FIFO模块连接第一串口编译模块以及第二串口编译模块;FIFO模块的第一FIFO单元、第二FIFO单元、第三FIFO单元的三个单元均连接第一SPI编、译码器、第一I2C编、译码器、第一UART编、译码器;FIFO模块的第一FIFO单元、第二FIFO单元、第三FIFO单元的三个单元均连接第二SPI编、译码器、第二I2C编、译码器以及第二UART编、译码器。
[0010] 一种多通信串口双向转换方法,多通信串口双向转换电路在进行UART、I2C及SPI三种数据相互转换传输;
[0011] 由第一芯片发送待串口形式转换的串口数据,电路对串口数据进行串口形式转换,第二芯片接收转换后串口数据,其步骤为:
[0012] 所述译码器选择模块的第一译码器选择单元接收第一芯片的数据串口端发送的串口数据,识别串口数据的串口形式,自动选择串口形式对应第一SPI、I2C、UART译码器;通过软件设置选择控制器模块的串口形式的转换需求;所述编码器选择模块根据转换需求配置第二SPI、I2C、UART编码器,并配合译码器选择模块确定数据的传输方向;FIFO配置选择模块根据转换需求以及数据的传输方向,配置FIFO模块的若干个FIFO单元的数据存储及传输;
[0013] 第一SPI、I2C、UART译码器接收第一译码器选择模块发送的串口数据,将串口数据转换成统一标准的进制数数据,并发送给FIFO模块;FIFO模块对进制数数据进行存储,发送给对应的第二SPI、I2C、UART编码器;第二SPI、I2C、UART编码器将进制数数据转换成对应的串口数据,并发送给第二译码器选择单元;第二译码器选择单元将串口数据发给第二芯片。
[0014] 由第二芯片发送待串口形式转换的串口数据,电路对串口数据进行串口形式转换,第一芯片接收转换后串口数据,其步骤为:
[0015] 所述译码器选择模块的第二译码器选择单元接收第二芯片的数据串口端发送的串口数据,识别串口数据的串口形式,自动选择串口形式对应第二SPI、I2C、UART译码器;通过软件设置选择控制器模块的串口形式的转换需求;所述编码器选择模块根据转换需求配置第一SPI、I2C、UART编码器,并配合译码器选择模块确定数据的传输方向;FIFO配置选择模块根据转换需求以及数据的传输方向,配置FIFO模块的若干个FIFO单元的数据存储及传输;
[0016] 第二SPI、I2C、UART译码器接收第二译码器选择模块发送的串口数据,将串口数据转换成统一标准的进制数数据,并发送给FIFO模块;FIFO模块对进制数数据进行存储,发送给对应的第一SPI、I2C、UART编码器;第一SPI、I2C、UART编码器将进制数数据转换成对应的串口数据,并发送给第一译码器选择单元;第一译码器选择单元将串口数据发给第一芯片。
[0017] 进一步地,FIFO配置选择模块根据转换需求以及数据的传输方向,按照FIFO模块的每个FIFO单元的存储深度以及传输状态,配置进制数数据至任意一个或多个非数据传输中的FIFO单元进行数据存储及传输;
[0018] 第一FIFO单元/第二FIFO单元/第三FIFO单元根据FIFO配置选择模块的配置信息,由第一芯片向第二芯片进行串口数据的串口形式转换时,一个或多个FIFO单元接收第一SPI/I2C/UART编译器发送的数据,依据每个FIFO单元的存储深度进行数据存储,并将存储的数据发送给第二SPI、I2C、UART编译器;由第二芯片向第一芯片进行串口数据的串口形式转换时,一个或多个FIFO单元接收第二SPI、I2C、UART编译器发送的数据,依据每个FIFO单元的存储深度进行数据存储,并将存储的数据发送给第一SPI、I2C、UART编译器。
[0019] 进一步地,在FIFO配置选择模块中,用户可根据实际传输数据帧数的大小以及数据的位宽,通过软件配置FIFO模块中各个FIFO单元的数据输入位宽、存储深度、数据输出位宽。
[0020] 相比现有技术,本发明的有益效果在于:通过软件设置串口数据的串口形式转换,编码器选择模块在接收串口数据时自动识别串口数据的串口形式,选择对应的译码器,并配合编码器选择模块匹配串口形式转换对应的编码器以及确定数据的传输方向,实现了译码器的自动译码以及编码器的自动编码;FIFO配置选择模块可根据数据传输的数据量,通过软件设置FIFO模块的每个FIFO单元的存储深度及数据位宽,以兼容8、16、32位等不同位数的系统;同时FIFO配置选择模块可根据每个FIFO单元的存储深度以及传输状态,自动配置一个或多个非传输状态的FIFO单元用以数据存储及传输,而每个FIFO单元也可以分别独立地进行数据传输,极大地提高数据的存储及传输效率。
[0021] 下面结合附图和具体实施方式对本发明作进一步详细说明。

附图说明

[0022] 为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0023] 图1为本发明的实施例的电路结构原理示意图。

具体实施方式

[0024] 下面结合附图对本公开实施例进行详细描述。
[0025] 以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各,细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0026] 一种多通信串口双向转换电路,包括选择控制器模块、FIFO模块、第一串口编译模块、第二串口编译模块及译码器选择模块;所述选择控制器模块包括编码器选择模块及FIFO配置选择模块;所述FIFO模块由若干个FIFO单元组成;所述译码器选择模块包括第一译码器选择单元及第二译码器选择单元;所述第一串口编译模块由第一SPI编、译码器、第一I2C编、译码器及第一UART编、译码器组成;所述第二串口编译模块由第二SPI编、译码器、第二I2C编、译码器及第二UART编、译码器组成;所述FIFO模块设置三个FIFO单元,分别为第一FIFO单元、第二FIFO单元及第三FIFO单元;
[0027] 编码器选择模块连接第一串口编译模块及第二串口编译模块;FIFO配置选择模块连接FIFO模块;
[0028] 第一芯片与第二芯片之间需要串口形式转换的数据类型可以包括SPI、I2C以及UART;SPI类型数据的传输对应第一芯片及第二芯片的MOSI/MISO串口,I2C类型数据的传输对应第一芯片及第二芯片的SDA串口,UART类型数据的传输对应第一芯片及第二芯片的TX/RX串口;
[0029] 第一译码器选择单元通过MOSI/MISO串口、SDA串口及RX、TX连接第一芯片;第二译码器选择单元通过MOSI/MISO串口、SDA串口及RX、TX连接第二芯片;
[0030] 第一译码器选择单元按照连接第一芯片的串口形式,对应连接第一串口编译模块的译码器及编码器;第一SPI编、译码器通过第一译码器选择单元连接第一芯片的MOSI/MISO串口;第一I2C编、译码器通过第一译码器选择单元连接第一芯片的SDA串口;第一UART编、译码器通过第一译码器选择单元连接第一芯片的RX、TX串口;
[0031] 第二译码器选择单元按照连接第二芯片的串口形式,对应连接第二串口编译模块的译码器及编码器;第二SPI编、译码器通过第二译码器选择单元连接第二芯片的MOSI/MISO串口;第二I2C编、译码器通过第二译码器选择单元连接第二芯片的SDA串口;第二UART编、译码器通过第二译码器选择单元连接第二芯片的RX、TX串口;
[0032] FIFO模块连接第一串口编译模块以及第二串口编译模块;FIFO模块的第一FIFO单元、第二FIFO单元、第三FIFO单元的三个单元均连接第一SPI编、译码器、第一I2C编、译码器、第一UART编、译码器;FIFO模块的第一FIFO单元、第二FIFO单元、第三FIFO单元的三个单元均连接第二SPI编、译码器、第二I2C编、译码器以及第二UART编、译码器。
[0033] 一种多通信串口双向转换方法,多通信串口双向转换电路在进行UART、I2C及SPI三种数据相互转换传输;
[0034] 由第一芯片发送待串口形式转换的串口数据,其中SPI串口形式的串口数据由第一芯片的MOSI/MISO串口发送,I2C串口形式的串口数据由第一芯片的SDA串口发送,UART串口形式的串口数据由第一芯片的TX/RX串口发送;电路对串口数据进行串口形式转换,第二芯片接收转换后串口数据,其步骤为:
[0035] 所述译码器选择模块的第一译码器选择单元接收第一芯片的数据串口端发送的串口数据,识别串口数据的串口形式,所述串口形式包括SPI/I2C/UART三种,所述译码器选择模块自动选择串口形式对应第一SPI、I2C、UART译码器;
[0036] 通过软件设置选择控制器模块的串口形式的转换需求;将SPI、I2C以及UART的串口形式分别两两转换,其转换需求包括:SPI转换为I2C、SPI转换为UART、I2C转换为SPI、I2C转换为UART、UART转换为SPI以及UART转换为I2C这六种转换需求;所述编码器选择模块根据转换需求配置第二串口编译模块的第二SPI、I2C、UART编码器;所述编码器选择控制模块配合译码器选择模块确定数据的传输方向,即根据六种转换需求的其中一种,确认第一串口编译模块的译码器以及第二串口编译模块的编码器,进而确定串口数据的转换形式及传输方向;
[0037] FIFO配置选择模块根据六种转换需求的其中一种转换需求,以及数据的传输方向,配置FIFO模块的若干个FIFO单元的数据存储及传输;
[0038] 第一SPI、I2C、UART译码器接收第一译码器选择模块发送的串口数据,将串口数据转换成统一标准的进制数数据,所述统一标准的进制数数据包括8位、16位、32位等常用进制数数据类型;第一SPI、I2C、UART译码器将转换后的进制数数据并发送给FIFO模块;FIFO模块对进制数数据进行存储,发送给对应的第二SPI、I2C、UART编码器;第二SPI、I2C、UART编码器将进制数数据转换成转换需求对应的串口形式的串口数据,并发送给第二译码器选择单元;第二译码器选择单元将串口数据通过对应的串口发给第二芯片。
[0039] 由第二芯片发送待串口形式转换的串口数据,其中SPI串口形式的串口数据由第二芯片的MOSI/MISO串口发送,I2C串口形式的串口数据由第二芯片的SDA串口发送,UART串口形式的串口数据由第二芯片的TX/RX串口发送;电路对串口数据进行串口形式转换,第一芯片接收转换后串口数据,其步骤为:
[0040] 所述译码器选择模块的第二译码器选择单元接收第二芯片的数据串口端发送的串口数据,识别串口数据的串口形式,所述串口形式包括SPI/I2C/UART三种,所述译码器选择模块自动选择串口形式对应第二SPI、I2C、UART译码器;
[0041] 通过软件设置选择控制器模块的串口形式的转换需求;将SPI、I2C以及UART的串口形式分别两两转换,其转换需求包括:SPI转换为I2C、SPI转换为UART、I2C转换为SPI、I2C转换为UART、UART转换为SPI以及UART转换为I2C这六种转换需求;所述编码器选择模块根据转换需求配置第一串口编译模块的第一SPI、I2C、UART编码器;所述编码器选择控制模块配合译码器选择模块确定数据的传输方向,即根据六种转换需求的其中一种,确认第二串口编译模块的译码器以及第一串口编译模块的编码器,进而确定串口数据的转换形式及传输方向;
[0042] FIFO配置选择模块根据六种转换需求的其中一种转换需求,以及数据的传输方向,配置FIFO模块的若干个FIFO单元的数据存储及传输;
[0043] 第二SPI、I2C、UART译码器接收第二译码器选择模块发送的串口数据,将串口数据转换成统一标准的进制数数据,所述统一标准的进制数数据包括8位、16位、32位等常用进制数数据类型;第二SPI、I2C、UART译码器将转换后的进制数数据并发送给FIFO模块;FIFO模块对进制数数据进行存储,发送给对应的第一SPI、I2C、UART编码器;第一SPI、I2C、UART编码器将进制数数据转换成转换需求对应的串口形式的串口数据,并发送给第一译码器选择单元;第一译码器选择单元将串口数据通过对应的串口发给第一芯片。
[0044] 具体的,在第一串口编译模块以及第二串口编译模块的编码及译码过程中,第一SPI译码器将第一芯片的MOSI串口的串口数据转换为进制数数据;第一SPI编码器将转换后的串口数据发送至第一芯片的MISO串口;第一I2C译码器将第一芯片的SDA串口的串口数据转换为进制数数据;第一I2C编码器将转换后的串口数据发送至第一芯片的SDA串口;第一UART译码器将第一芯片的TX串口的串口数据转换为进制数数据;第一UART编码器将转换后的串口数据发送至第一芯片的RX串口;第二SPI译码器将第二芯片的MOSI串口的串口数据转换为进制数数据;第二SPI编码器将转换后的串口数据发送至第二芯片的MISO串口;第二I2C译码器将第二芯片的SDA串口的串口数据转换为进制数数据;第二I2C编码器将转换后的串口数据发送至第二芯片的SDA串口;第二UART译码器将第二芯片的TX串口的串口数据转换为进制数数据;第二UART编码器将转换后的串口数据发送至第二芯片的RX串口。
[0045] 第一串口编译模块的第一SPI、I2C、UART译码器向第二串口编译模块的第二SPI、I2C、UART编码器的数据传输过程,以及第二串口编译模块的第二SPI、I2C、UART译码器向第一串口编译模块的第一SPI、I2C、UART编码器的数据传输过程中,FIFO模块的第一FIFO单元/第二FIFO单元/第三FIFO单元对进制数进行数据存储。
[0046] 具体的,在FIFO配置选择模块中,用户可根据实际传输数据帧数的大小以及数据的位宽,通过软件配置FIFO模块中各个FIFO单元的数据输入位宽、存储深度、数据输出位宽;同时,FIFO配置选择模块根据软件设置的转换需求以及数据的传输方向,按照FIFO模块的每个FIFO单元的存储深度以及传输状态,配置进制数数据至任意一个或多个非数据传输中的FIFO单元进行数据存储及传输;
[0047] 第一FIFO单元/第二FIFO单元/第三FIFO单元是三个独立的数据存储传输单元,一个FIFO单元只能同时接收一个传输数据及发送一个传输数据,同时,三个FIFO单元可同时独立进行三组数据的传输。
[0048] 第一FIFO单元/第二FIFO单元/第三FIFO单元根据FIFO配置选择模块的配置信息,比如:由第一芯片发送SPI串口数据,第二芯片接收I2C串口数据为例,第一芯片通过MOSI串口发送SPI串口数据至译码器选择模块的第一译码器选择单元,第一译码器选择单自动识别串口数据的串口形式,并将串口数据发送至第一串口编译模块的第一SPI译码器,同时,编码器选择模块配合译码器选择模块确定第二串口编译模块的第二I2C编码器为数据的编译端,以及确定数据的传输方向;FIFO配置选择模块自动识别FIFO模块的第一FIFO单元及第二FIFO单元为非数据传输转态,根据传输数据的数据量以及每个FIFO单元的存储深度,配置第一FIFO单元及第二FIFO单元为数据存储单元;第一SPI译码器将SPI串口数据转换为16进制数数据,第一FIFO单元及第二FIFO单元接收第一SPI译码器输出的16进制数数据,并按照存储深度依次存储16进制数数据,根据FIFO的存储及传输协议依次将16进制数数据发送至第二I2C编码器;第二I2C编码器接收第一FIFO单元及第二FIFO单元发送的16进制数数据,将16进制数数据转换成I2C串口数据并发送给第二译码器选择单元;第二译码器选择单元根据接收的I2C串口数据,识别串口数据的串口形式,并将I2C串口数据发送至第二芯片的SDA串口;第二芯片通过SDA串口接收I2C串口数据;完成串口数据的串口形式转换。
[0049] 本发明通过提供一种多通信串口双向转换电路及方法,通过软件设置串口数据的串口形式转换,编码器选择模块在接收串口数据时自动识别串口数据的串口形式,选择对应的译码器,并配合编码器选择模块匹配串口形式转换对应的编码器以及确定数据的传输方向,实现了译码器的自动译码以及编码器的自动编码;FIFO配置选择模块可根据数据传输的数据量,通过软件设置FIFO模块的每个FIFO单元的存储深度及数据位宽,以兼容8、16、32位等不同位数的系统;同时FIFO配置选择模块可根据每个FIFO单元的存储深度以及传输状态,自动配置一个或多个非传输状态的FIFO单元用以数据存储及传输,而每个FIFO单元也可以分别独立地进行数据传输,极大地提高数据的存储及传输效率。
[0050] 上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。