SPI-RS232接口转换芯片及其通信方法与流程

文档序号:14509017阅读:1568来源:国知局
SPI-RS232接口转换芯片及其通信方法与流程

本发明涉及自动控制技术领域,具体地说是一种SPI-RS232接口转换芯片及其通信方法。



背景技术:

SPI接口为同步串行外设接口,它可以使MCU与各种外围设备以串行的方式进行通信以交换信息。使用时SPI可直接与各个厂家生产的外围器件直接经接口相连,其接口一般使用四条线:串行时钟线(SCLK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)以及低电平有效的从机选择线(NSS),另外还有的SPI接口芯片设有中断信号线INT等,这导致在与多个外围器件连接时接线复杂。

RS232接口为目前主流的串行通信接口之一,是由EIA所制定的异步传输标准接口,每个RS232接口采用两根信号线(RX、TX),信号线数量少,使用简单。

由于SPI接口与RS232接口均为目前使用广泛的通信接口芯片,为了进一步提高各器件的协调度以及有效降低接线复杂度,实现SPI接口与RS232接口的转换意义重大,而现有此类转换电路非常少。



技术实现要素:

本发明针对现有技术中存在的缺点和不足,提出一种结构合理、通信稳定,能够进一步提高各器件协调度并有效降低设备接线复杂程度的SPI-RS232接口转换芯片及其通信方法。

本发明可以通过以下措施达到:

一种SPI-RS232接口转换芯片,其特征在于包括SPI收发控制模块和RS232通道模块,所述RS232通道模块内设有接收FIFO缓存器、发送FIFO缓存器、状态寄存器、控制寄存器以及RS232收发模块,其中状态寄存器分别与接收FIFO缓存器、发送FIFO缓存器相连接,控制寄存器分别与接收FIFO缓存器、发送FIFO缓存器以及RS232收发模块相连接,RS232收发模块的数据收发接口分别与接收FIFO缓存器、发送FIFO缓存器相连;所述SPI收发控制模块分别与接收FIFO缓存器、发送FIFO缓存器相连。

本发明中所述SPI-RS232接口转换芯片内设有两个以上RS232通道模块,优选的,设有16个RS232通道模块,分别编号为0-15通道。

本发明中所述接收FIFO缓存器与发送FIFO缓存器分别由64个字节组成。

本发明在使用时,RS232通道模块与RS232接口或设有RS232接口的器件相连接,用于接收/发送经RS232接口通信的数据,SPI收发控制模块与SPI接口或设有SPI接口的外围器件相连接,用于接收/发送经SPI接口通信的数据;

当SPI接口接收的数据需要经RS232接口发送时,先通过SPI接口向SPI收发模块发送命令字,SPI收发控制模块根据命令字内所含信息(通道选择、读/写操作类型、寄存器编号)对所选择的的RS232通道内的发送FIFO缓存器进行写操作,完成数据的输入,然后在该RS232通道模块内控制寄存器,控制与该控制寄存器相连接的RS232收发模块将与其相连接的发送FIFO缓存器内的数据经RS232接口送出;

当SPI接口需要接收经RS232接口送入的数据时,执行以下操作:先通过SPI接口向SPI收发模块发送命令字,SPI收发控制模块根据命令字内所含信息(通道选择、读/写操作类型、寄存器编号)对所选择的的RS232通道内的接收FIFO缓存器进行读操作,即可完成数据的接受,而在此之前,该RS232通道模块内控制寄存器控制与该控制寄存器相连接的RS232收发模块将RS232接口接收的数据送入与其RS232收发模块相连接的接收FIFO缓存器内。

本发明还提出了一种利用上述SPI-RS232接口转换芯片进行通信的方法,其特征在于通过以下步骤实现SPI接口与RS232接口之间的通信:

步骤1:SPI接口向SPI收发控制模块发送命令字,SPI收发控制模块解析命令字,并根据命令字内的信息选定读/写操作对象,其中包括选定RS232通道模块的编号,选定对所选RS232通道模块的操作类型,具体包括对RS232通道模块内的接收FIFO缓存器或状态寄存器进行读操作,或对发送FIFO缓存器或控制寄存器进行写操作;

步骤2:经过步骤1确定所选RS232通道模块编号以及所选操作类型后,进行SPI接口-RS232接口的数据交换,完成通信过程。

本发明步骤2中,当通过SPI接口向RS232接口转发数据时,执行以下操作:SPI接口将待发送通信数据写入发送FIFO缓存器,RS232收发模块在控制寄存器的控制下,将该发送FIFO缓存器内的数据通过RS232接口发送出去。

本发明步骤2中,当要通过RS232接口向SPI接口转发数据时,先通过控制寄存器控制RS232收发模块将由RS232接口接收的数据存入接收FIFO缓存器,SPI收发控制模块对FIFO缓存器内的数据进行读取,即可完成。

本发明步骤2中,当要对控制寄存器进行写操作时,SPI接口将写入数据发送至控制寄存器。

本发明步骤2中,当要对状态寄存器进行读操作时,SPI接口在SPI收发控制模块的控制下,对状态寄存器内所存储的信息进行读取,状态寄存器内存有16bit的用于反映接收FIFO缓存器以及发送FIFO缓存器状态的数据。

本发明中步骤1内所述命令字为8bit格式,其中bit0用于标记读/写操作类型,实施时可以设定为:0:读,1:写;bit4-bit1用于标记通道编号,实施时可以设定为:0000-1111:对应通道0-通道15;bit6-bit5用于标记命令发送指向,实施时可以设定为:00:状态寄存器;01:控制寄存器;10:接收FIFO缓存器;11:发送FIFO缓存器;bit7:无实际意义。

本发明中步骤2中所述控制指令为8bit格式,bit2-bit0用于标记RS232波特率,bit4-bit3用于标记奇偶校验信息,bit5用于标记停止位,bit6用于标记接收FIFO缓存器的复位信息,bit7用于标记发送FIFO缓存器的复位信息。

本发明与现有技术相比,能够实现SPI接口与RS232接口的转换,方便的实现通信,具有结构合理、通信稳定,能够进一步提高各器件协调度并有效降低设备接线复杂程度等显著的优点。

附图说明:

附图1是本发明的结构示意图。

附图2是本发明的另一种结构示意图。

附图标记:SPI收发控制模块1、RS232通道模块2、接收FIFO缓存器3、发送FIFO缓存器4、状态寄存器5、控制寄存器6、RS232收发模块7。

具体实施方式:

下面结合附图对本发明作进一步的说明。

本发明提出了一种SPI-RS232接口转换芯片,如附图1所示,其特征在于包括SPI收发控制模块1和RS232通道模块2,所述RS232通道模块2内设有接收FIFO缓存器3、发送FIFO缓存器4、状态寄存器5、控制寄存器6以及RS232收发模块7,其中状态寄存器5分别与接收FIFO缓存器3、发送FIFO缓存器4相连接,控制寄存器6分别与接收FIFO缓存器3、发送FIFO缓存器4以及RS232收发模块7相连接,RS232收发模块7的数据收发接口分别与接收FIFO缓存器3、发送FIFO缓存器4相连;所述SPI收发控制模块1分别与接收FIFO缓存器3、发送FIFO缓存器4相连。

本发明中所述SPI-RS232接口转换芯片内设有两个以上RS232通道模块2,优选的,设有16个RS232通道模块2,分别编号为0-15通道。

本发明中所述接收FIFO缓存器3与发送FIFO缓存器4分别由64个字节组成。

本发明在使用时,RS232通道模块2与RS232接口或设有RS232接口的器件相连接,用于接收/发送经RS232接口通信的数据,SPI收发控制模块1与SPI接口或设有SPI接口的外围器件相连接,用于接收/发送经SPI接口通信的数据;

当SPI接口接收的数据需要经RS232接口发送时,先通过SPI接口向SPI收发模块1发送命令字,SPI收发控制模块1根据命令字内所含信息(通道选择、读/写操作类型、寄存器编号)对所选择的的RS232通道内的发送FIFO缓存器4进行写操作,完成数据的输入,然后在该RS232通道模块2内控制寄存器6,控制与该控制寄存器6相连接的RS232收发模块7将与其相连接的发送FIFO缓存器4内的数据经RS232接口送出;

当SPI接口需要接收经RS232接口送入的数据时,执行以下操作:先通过SPI接口向SPI收发模块1发送命令字,SPI收发控制模块1根据命令字内所含信息(通道选择、读/写操作类型、寄存器编号)对所选择的的RS232通道内的接收FIFO缓存器3进行读操作,即可完成数据的接收,而在此之前,该RS232通道模块2内控制寄存器6控制与该控制寄存器6相连接的RS232收发模块7将RS232接口接收的数据送入与其RS232收发模块7相连接的接收FIFO缓存器3内。

本发明还提出了一种利用上述SPI-RS232接口转换芯片进行通信的方法,其特征在于通过以下步骤实现SPI接口与RS232接口之间的通信:

步骤1:SPI接口向SPI收发控制模块发送命令字,SPI收发控制模块解析命令字,并根据命令字内的信息选定读/写操作对象,其中包括选定RS232通道模块的编号,选定对所选RS232通道模块的操作类型,具体包括对RS232通道模块内的接收FIFO缓存器或状态寄存器进行读操作,或对发送FIFO缓存器或控制寄存器进行写操作;

步骤2:经过步骤1确定所选RS232通道模块编号以及所选操作类型后,进行SPI接口-RS232接口的数据交换,完成通信过程。

本发明步骤2中,当通过SPI接口向RS232接口转发数据时,执行以下操作:SPI接口将待发送通信数据写入发送FIFO缓存器,RS232收发模块在控制寄存器的控制下,将该发送FIFO缓存器内的数据通过RS232接口发送出去。

本发明步骤2中,当要通过RS232接口向SPI接口转发数据时,先通过控制寄存器控制RS232收发模块将由RS232接口接收的数据存入接收FIFO缓存器,SPI收发控制模块对FIFO缓存器内的数据进行读取,即可完成。

本发明步骤2中,当要对控制寄存器进行写操作时,SPI接口将写入数据发送至控制寄存器。

本发明步骤2中,当要对状态寄存器进行读操作时,SPI接口在SPI收发控制模块的控制下,对状态寄存器内所存储的信息进行读取,状态寄存器内存有16bit的用于反映接收FIFO缓存器以及发送FIFO缓存器状态的数据。

本发明中步骤1内所述命令字为8bit格式,其中bit0用于标记读/写操作类型,实施时可以设定为:0:读,1:写;bit4-bit1用于标记通道编号,实施时可以设定为:0000-1111:对应通道0-通道15;bit6-bit5用于标记命令发送指向,实施时可以设定为:00:状态寄存器;01:控制寄存器;10:接收FIFO缓存器;11:发送FIFO缓存器;bit7:无实际意义。

本发明中步骤2中所述控制指令为8bit格式,bit2-bit0用于标记RS232波特率,bit4-bit3用于标记奇偶校验信息,bit5用于标记停止位,bit6用于标记接收FIFO缓存器的复位信息,bit7用于标记发送FIFO缓存器的复位信息。

实施例1:

一种SPI-RS232接口转换芯片,如附图2所示,其中设有编号分别为0-15的分别与SPI收发控制模块相连接的16个RS232通道模块,其中接收FIFO缓存器、发送FIFO缓存器的存储长度分别为64个字节;状态寄存器是只读寄存器,其内容反映了接收FIFO缓存器和发送FIFO缓存器的状态,其数据由16bit组成,具体结构为:bit15为发送FIFO溢出标志,bit14为接收FIFO溢出标志,bit13-bit7为发送FIFO缓存器的待发送的数据字节数,bit6-bit0为接收FIFO缓存器收到的数据字节数;控制寄存器是只写寄存器,其数据组成结构为bit7用于复位发送FIFO缓存器,bit6用于复位接收FIFO缓存器,bit5为停止位,bit4-bit3为奇偶校验位,bit2-bit0用于标记RS232波特率,其中RS232串口通信的波特率可标记如下:

000:300bit/s;001:1200bit/s;010:2400bit/s;011:9600bit/s;100:115200bit/s;101:19200bit/s;110:38400bit/s;111:38400bit/s;

Bit4-bit3的奇偶校验位标记如下:

00:无奇偶校验;01:奇校验;10:偶校验;11:无奇偶校验;

Bit5作为停止位标记如下:

0:1位停止位;1:1.5位停止位;

Bit6用于复位接收FIFO缓存器,标记设定如下:

1:复位接收FIFO缓存器,接收FIFO缓存器内的数据将全被清除;

Bit7用于复位发送FIFO缓存器,标记设定如下:

1:复位发送FIFO缓存器,发送FIFO缓存器内的数据将全被清除;

执行操作时,SPI接口先向SPI收发控制模块发送命令字,该命令字为8bit格式,其中bit0用于标记读/写操作类型,实施时可以设定为:0:读,1:写;bit4-bit1用于标记通道编号,实施时可以设定为:0000-1111:对应通道0-通道15;bit6-bit5用于标记命令发送指向,实施时可以设定为:00:状态寄存器;01:控制寄存器;10:接收FIFO缓存器;11:发送FIFO缓存器;bit7:无实际意义;

利用该芯片完成经SPI接口读取与该芯片中第13路RS232通道模块相连接的RS232接口输入的数据,执行以下步骤:

通过SPI接口向SPI收发控制模块发送命令字0x1a,然后从SPI接口读取2字节的状态寄存器数值。

实施例2:

利用上述SPI-16路RS232接口转换芯片,通过SPI接口向SPI收发控制模块发送命令字0x5a,实现从第13路RS232通道模块的接收FIFO缓存器内,连续读取60字节的接收数据。

实施例3:

通过SPI接口向SPI收发控制模块发送命令字0x35,实现从SPI接口发送1字节的写控制寄存器数据。

本发明与现有技术相比,能够实现SPI接口与RS232接口的转换,方便的实现通信,具有结构合理、通信稳定,能够进一步提高各器件协调度并有效降低设备接线复杂程度等显著的优点。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1