一种基于FPGA的LIO总线扩展UART外设系统及方法技术方案

技术编号:27808837 阅读:97 留言:0更新日期:2021-03-30 09:33
本发明专利技术提供了一种基于FPGA的LIO总线扩展UART外设系统及方法,该系统包括龙芯2k1000模块,龙芯2k1000的LIO端口连接FPGA模块;FPGA模块包括总线协议解析单元,用于解析龙芯2K1000处理器的LIO总线协议,实现FPGA与龙芯2K1000处理器的LIO通讯功能;控制单元,用于实现FIFO的读写操作,包括读控制逻辑、写控制逻辑、读FIFO Read_FIFO、写FIFO Write_FIFO;UART单元,用于完成UART协议的发送和接收。本发明专利技术可以满足龙芯2k1000需要更多UART外设资源的场合,利用该方法可以很容易进行通用的外设扩展,具有结构简单、通用性高、实用性强等优点。实用性强等优点。实用性强等优点。

【技术实现步骤摘要】
一种基于FPGA的LIO总线扩展UART外设系统及方法


[0001]本公开涉及总线扩展与存储控制
,尤其涉及一种基于FPGA的LIO总线扩展UART外设系统及方法。

技术介绍

[0002]LocalIO总线简称LIO总线,是龙芯2k1000系列CPU提供的一个外设访问接口,一般用于连接外部ROM用于系统的启动。龙芯2k1000系列CPU作为一个国产自主研发的CPU,普遍应用于一些具有国产化要求的产品上。CPU处理器具有有限的外设资源,如果碰到一些特殊的应用场景,需要更多的外设接口,而2k1000处理器无法提供更多外设接口,这时候就需要对CPU进行外设接口扩展。目前公开技术上,对于2k1000的LIO外设扩展只有扩展DMA控制器,没有扩展UART、IIC、HDLC等外设。

技术实现思路

[0003]有鉴于此,本公开实施例提供一种基于FPGA的LIO总线扩展UART外设系统及方法,该系统及方法可以满足龙芯2k1000需要更多UART外设资源的场合,利用该方法可以很容易进行通用的外设扩展,具有结构简单、通用性高、实用性强等优点。
[0004]为了实现上述目的,本专利技术提供如下技术方案:
[0005]一种基于FPGA的LIO总线扩展UART外设系统,包括龙芯2k1000处理器,所述龙芯2k1000处理器的LIO端口连接FPGA模块;所述FPGA模块包括总线协议解析单元、控制单元和UART单元;
[0006]所述总线协议解析单元用于解析龙芯2K1000处理器的LIO总线协议,实现FPGA与龙芯2K1000处理器的LIO通讯功能;
[0007]所述控制单元用于实现FIFO的读写操作,包括读控制逻辑、写控制逻辑、读FIFO Read_FIFO、写FIFO Write_FIFO;
[0008]所述UART单元用于完成UART协议的发送和接收。
[0009]进一步地,所述总线协议解析单元包括:
[0010]地址译码模块,用于实现解析LIO总线;
[0011]同步触发单元,用于改善并行总线数据的时序;
[0012]第一多路选择器,通过地址译码模块给出的选择信号,选择对应的寄存器的数据输出到数据总线LIO_D上;
[0013]第二多路选择器,通过地址译码模块给出的选择信号,将输入的数据给到对应的寄存器上;
[0014]接收数据寄存器,用于读取并保存从接收FIFO中的数据;
[0015]状态寄存器,用于保存UART模块的状态;
[0016]发射数据寄存器,用于存储和保存要发送到发射FIFO的数据;
[0017]控制寄存器,用于配置和保存UART的配置信息。
[0018]进一步地,所述的LIO总线的时序包括地址总线LIO_A、数据LIO_D、读控制总线LIO_RDn和写控制总线LIO_WRn;并且,所述LIO总线工作在16位的读写数据状态下。
[0019]进一步地,所述的LIO总线的数据接口使用三态门总线,该三态门总线的控制信号采用LIO总线的读控制信号。
[0020]进一步地,所述接收数据寄存器、发射数据寄存器和控制寄存器的数据位数均为16位,且均为可读写的。
[0021]进一步地,所述状态寄存器的数据位数为16位,该寄存器是只读的。
[0022]进一步地,所述UART单元中包括UART模块,所述UART模块在发送或者接收的时候会产生中断信息,该中断信息会通过状态寄存器传递给龙芯2k1000处理器,另外会通过一个GPIO管脚intr向龙芯2k1000处理器产生中断触发,龙芯2k1000处理器接收该中断信息就可以读取相应的寄存器,完成数据的存取。
[0023]本专利技术还提供一种基于FPGA的LIO总线扩展UART外设方法,包括数据发送过程和数据接收过程;
[0024]所述数据发送过程包括如下步骤:
[0025](1)龙芯2k1000在对配置寄存器进行配置;
[0026](2)龙芯2k1000查询状态寄存器,若FIFO不空则龙芯2k1000向LIO总线输出数据;
[0027](3)LIO_WR总线拉低,触发写逻辑状态转到延时状态;
[0028](4)延时完毕后写逻辑状态跳转到写状态,先写低8位,再写高8位;
[0029](5)uart tx模块查询到FIFO不空,则开始读取FIFO的数据,向外串行发送数据,发送完数据后,若FIFO不空继续读取FIFO数据,若FIFO空闲则等待;
[0030]所述数据接收过程包括如下步骤:
[0031](1)龙芯2k1000在对配置寄存器进行配置;
[0032](2)若数据开始向Uart_rx进行传输,Uart接收完一个字节的数据就向FIFO里面进行写入;
[0033](3)FIFO若不空则向龙芯2k1000发送中断信号,触发龙芯2k1000产生中断;
[0034](4)龙芯2k1000接收到中断的时候,开始读取状态寄存器中的接收FIFO个数,若个数不为0,则读取LIO接口的数据,若个数为0,则不读取LIO接口的数据;
[0035](5)龙芯2k1000读取LIO接口的数据时候,触发Sw1状态转向Sw2状态;
[0036](6)读数据逻辑读取FIFO中的数据,先读取数据到接收数据寄存器的低8位,再读FIFO数据到接收数据寄存器的高8位;
[0037](7)龙芯2k1000读取接收数据寄存器到内部的RAM里面,完成uart数据的读取操作。
[0038]本专利技术公开了一种基于FPGA的LIO总线扩展UART外设系统及方法,其有益效果在于:
[0039](1)本专利技术的架构清晰,结构相对简单,具有可移植性强的特点,适合不同的FPGA器件;
[0040](2)本专利技术的实用性强,可以在龙芯2k1000的uart外设数量无法满足需求的时候扩展uart外设;
[0041](3)本专利技术稳定性强,安全性高,采用三态门总线接口,采用LIO_RD信号作为三态
门的控制信号,可以避免龙芯和FPGA的接口电平冲突,使电路具有稳定性强,安全性高的特点。
附图说明
[0042]为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0043]图1为本专利技术实施例中LIO总线扩展UART原理框图;
[0044]图2为本专利技术实施例中LIO时序图;
[0045]图3为本专利技术实施例中读控制逻辑状态转化图;
[0046]图4为本专利技术实施例中写控制逻辑状态转化图。
具体实施方式
[0047]下面结合附图对本公开实施例进行详细描述。
[0048]以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA的LIO总线扩展UART外设系统,其特征在于,包括龙芯2k1000处理器,所述龙芯2k1000处理器的LIO端口连接FPGA模块;所述FPGA模块包括总线协议解析单元、控制单元和UART单元;所述总线协议解析单元用于解析龙芯2K1000处理器的LIO总线协议,实现FPGA与龙芯2K1000处理器的LIO通讯功能;所述控制单元用于实现FIFO的读写操作,包括读控制逻辑、写控制逻辑、读FIFO Read_FIFO、写FIFO Write_FIFO;所述UART单元用于完成UART协议的发送和接收。2.根据权利要求1所述的基于FPGA的LIO总线扩展UART外设系统,其特征在于,所述总线协议解析单元包括:地址译码模块,用于实现解析LIO总线;同步触发单元,用于改善并行总线数据的时序;第一多路选择器,通过地址译码模块给出的选择信号,选择对应的寄存器的数据输出到数据总线LIO_D上;第二多路选择器,通过地址译码模块给出的选择信号,将输入的数据给到对应的寄存器上;接收数据寄存器,用于读取并保存从接收FIFO中的数据;状态寄存器,用于保存UART模块的状态;发射数据寄存器,用于存储和保存要发送到发射FIFO的数据;控制寄存器,用于配置和保存UART的配置信息。3.根据权利要求1所述的基于FPGA的LIO总线扩展UART外设系统,其特征在于,所述的LIO总线的时序包括地址总线LIO_A、数据LIO_D、读控制总线LIO_RDn和写控制总线LIO_WRn;并且,所述LIO总线工作在16位的读写数据状态下。4.根据权利要求1所述的基于FPGA的LIO总线扩展UART外设系统,其特征在于,所述的LIO总线的数据接口使用三态门总线,该三态门总线的控制信号采用LIO总线的读控制信号。5.根据权利要求1所述的基于FPGA的LIO总线扩展UART外设系统,其特征在于,所述接收数据寄存器、发射数据寄存器和控制寄存器的数据位数均为16位,且均为可读写的。6.根据权利要求1所述的基于FPGA的LIO总线扩展U...

【专利技术属性】
技术研发人员:杨炳伟程骥思孙冲樊涛
申请(专利权)人:苏州长风航空电子有限公司
类型:发明
国别省市:

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

1