System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种高效率SPI与多路UART转换系统及方法技术方案_技高网

一种高效率SPI与多路UART转换系统及方法技术方案

技术编号:41219255 阅读:2 留言:0更新日期:2024-05-09 23:39
本发明专利技术涉及机载嵌入式计算机数据处理技术领域,公开了一种高效率SPI与多路UART转换系统及方法,上位机采用SPI多字节连续访问方式与UART接口进行数据交互,可以实现上位机SPI接口连续多字节读取或写入UART接口数据,实现SPI接口与多路UART接口高效率数据转换,并且FPGA资源使用率较低,具有较高的数据转换效率和广泛的适用性,可用于多种FPGA硬件平台。

【技术实现步骤摘要】

本专利技术涉及机载嵌入式计算机数据处理,公开了一种高效率spi与多路uart转换系统及方法。


技术介绍

1、通用异步收发器(universal asynchronous receiver/transmitter,uart)接口是一种常用的数据通信接口,以uart接口为基础衍生的rs232、rs422和rs485接口已广泛地应用于航空、航电、车载嵌入式计算机领域。

2、随着嵌入式计算技术向着高性能、复杂化的趋势发展,各种计算机设备之间交联的uart接口交联数量不断增加,并且对uart接口的传输速率要求也不断提高,仅使用处理器(cpu)自带的uart接口已无法满足嵌入式计算机发展的要求。因此实现一种数据接口(或者数据总线)到多路高速率uart接口的技转换术,已成为嵌入数据处理领域尤其是嵌入式计算机发展中必须突破的一项技术。

3、spi接口是嵌入式计算领域使用最为广泛的低速串行传输协议。spi的优点在于传输协议简单,spi主设备与从设备间按照spi传输协议,进行按位交换传输数据。spi接口共包含4根信号线,sck(spi时钟信号,每1个时钟周期对应1位spi数据)、ss#(spi片选信号,片选信号有效时,主设备与从设备开始进行数据传输)、mosi(spi数据输出信号,主设备发往从设备的串行数据)和miso(spi数据输入信号,从设备发往主设备的串行数据)。spi传输协议没有规定spi传输的字节数据,遵照spi传输协议spi的数据格式为:0~7位数据表是spi传输操作码,8~39位数据为spi传输地址,后续每8位数据为spi实际传输的有效数据。

4、由spi的传输协议可以分析,spi的主设备与从设备之间进行单字节传输时,效率最为8/48=16.67%,而spi进行多字节连续传输时,随着传输字节数的增加,传输效率逐步提升。例如,spi进行2字节传输时,传输效率为29.63%;4字节传输时,传输效率为44.44%,8字节传输时,传输效率为61.54%;16字节传输时,传输效率为76.19%,64字节传输时,传输效率为92.75%;256字节时传输,传输时效率为98.08%。因此上位机(spi主设备)采用多字节连续传输方式访问fpga(spi从设备)时,spi接口具有较高的访问效率。例如上位机以24mhz时钟,单次连续访问64字节数据时,spi接口速率约为2.78mb/s,该速率可以满足嵌入式计算机多路低速接口的满负荷通信要求。

5、因此,spi多字节连续访问uart接口可以实现spi与uart接收之间的高效转换。但是uart接口的特点决定spi无法直接连续访问uart接口。因为,uart接口为了实现对uart数据的高效接收与发送,内部增加了接收fifo和发送fifo用于缓存数据。访问uart接口实际上是spi接口访问uart接口内部fifo。因此,上位机读取uart接口的数据过程为:1)上位机读uart接口状态,判断uart接口是否接收;2)上位机读取uart接收数据。如果上位机采用spi接口直接读取uart接口数据,spi的读取效率为8/96=8.3%,无法实现spi与uart之间的高效率数据转换。


技术实现思路

1、本专利技术的目的在于提供一种高效率spi与多路uart转换系统及方法,可以实现上位机spi接口连续多字节读取或写入uart接口数据,实现spi接口与多路uart接口高效率数据转换,并且fpga资源使用率较低,具有较高的数据转换效率和广泛的适用性。

2、为了实现上述技术效果,本专利技术采用的技术方案是:

3、一种高效率spi与多路uart转换系统,包括:数据缓冲通道、spi接口数据传输单元、uart接口以及uart接口数据访问单元;其中:

4、数据缓冲通道包括uart接收fifo和uart发送fifo,用于缓存spi接口数据传输单元和uart接口数据访问单元的数据;

5、spi接口数据传输单元,用于连续接收上位机串行spi数据,并将spi数据转换为并行数据,并放入uart发送fifo;或连续读取数据缓存中的数据并转换为串行spi数据;

6、uart接口,用于uart串行数据的接收或发送;

7、uart接口数据访问单元,用于将uart接口的数据转存入uart接收fifo,或将uart发送fifo的数据写入uart接口。

8、进一步地,所述spi接口数据传输单元与每一路uart接口之间均设置有一个uart接收fifo和一个uart发送fifo。

9、进一步地,还包括spi与uart数据转换单元,spi与uart数据转换单元作为仲裁机构控制spi接口数据传输单元和uart接口数据访问单元对uart接收fifo、uart发送fifo的访问;spi与uart数据转换单元向上位机提供uart接收fifo中可以读取的有效数据个数,上位机从uart接收fifo连续读取数据过程中,禁止uart接口数据访问单元向uart接收fifo写入数据。

10、进一步地,所述数据缓冲通道的uart接收fifo和uart发送fifo的容量小于等于128字节,spi连续多字节读取和连续多字节写入的数据长度最大为64,最小为1。

11、为实现上述技术效果,本专利技术还提供了一种高效率spi与多路uart转换方法,包括:

12、上位机进行从spi到uart的数据发送操作时:

13、spi接口数据传输单元连续接收上位机串行spi数据,并将spi数据转换为并行数据,并放入uart发送fifo;

14、uart接口数据访问单元将uart发送fifo的数据写入uart接口;

15、uart接口完成上位机数据发送;

16、上位机进行从uart到spi的数据读取操作时:

17、uart接口接收外部数据,uart接口数据访问单元将uart接口的数据写入uart接收fifo;

18、上位机发起spi连续读取操作后,spi接口数据传输单元将uart接收fifo的并行数据转化为spi接口数据,并连续发送给上位机。

19、进一步地,上位机连续读取或发送spi数据的长度为64字节,上位机进行从spi到uart的数据发送操作过程中,如果spi数据的长度大于64字节,上位机将每次以64字节为最大数据载荷进行多次spi读取或写入操作。

20、与现有技术相比,本专利技术所具备的有益效果是:本专利技术的上位机采用spi多字节连续访问方式与uart接口进行数据交互,可以实现上位机spi接口连续多字节读取或写入uart接口数据,实现spi接口与多路uart接口高效率数据转换,并且fpga资源使用率较低,具有较高的数据转换效率和广泛的适用性,可用于多种fpga硬件平台。

本文档来自技高网...

【技术保护点】

1.一种高效率SPI与多路UART转换系统,其特征在于,包括:数据缓冲通道(1)、SPI接口数据传输单元(2)、UART接口(3)以及UART接口数据访问单元(4);其中:

2.根据权利要求1所述的高效率SPI与多路UART转换系统,其特征在于,所述SPI接口数据传输单元(2)与每一路UART接口(3)之间均设置有一个UART接收FIFO(5)和一个UART发送FIFO(6)。

3.根据权利要求1所述的高效率SPI与多路UART转换系统,其特征在于,还包括SPI与UART数据转换单元(7),SPI与UART数据转换单元(7)作为仲裁机构控制SPI接口数据传输单元(2)和UART接口数据访问单元(4)对UART接收FIFO(5)、UART发送FIFO(6)的访问;SPI与UART数据转换单元(7)向上位机提供UART接收FIFO(5)中可以读取的有效数据个数,上位机从UART接收FIFO(5)连续读取数据过程中,禁止UART接口数据访问单元(4)向UART接收FIFO(5)写入数据。

4.根据权利要求1所述的高效率SPI与多路UART转换系统,其特征在于,所述数据缓冲通道(1)的UART接收FIFO(5)和UART发送FIFO(6)的容量小于等于128字节,SPI连续多字节读取和连续多字节写入的数据长度最大为64,最小为1。

5.一种高效率SPI与多路UART转换方法,该方法基于权利要求1-4中任意一项所述的高效率SPI与多路UART转换系统,其特征在于,包括:

6.根据权利要求5所述的高效率SPI与多路UART转换方法,其特征在于,上位机连续读取或发送SPI数据的长度为64字节,上位机进行从SPI到UART的数据发送操作过程中,如果SPI数据的长度大于64字节,上位机将每次以64字节为最大数据载荷进行多次SPI读取或写入操作。

...

【技术特征摘要】

1.一种高效率spi与多路uart转换系统,其特征在于,包括:数据缓冲通道(1)、spi接口数据传输单元(2)、uart接口(3)以及uart接口数据访问单元(4);其中:

2.根据权利要求1所述的高效率spi与多路uart转换系统,其特征在于,所述spi接口数据传输单元(2)与每一路uart接口(3)之间均设置有一个uart接收fifo(5)和一个uart发送fifo(6)。

3.根据权利要求1所述的高效率spi与多路uart转换系统,其特征在于,还包括spi与uart数据转换单元(7),spi与uart数据转换单元(7)作为仲裁机构控制spi接口数据传输单元(2)和uart接口数据访问单元(4)对uart接收fifo(5)、uart发送fifo(6)的访问;spi与uart数据转换单元(7)向上位机提供uart接收fifo(5)中可以读取的有效数据个数,上位机从uar...

【专利技术属性】
技术研发人员:冯毅赵谦陈颖图刘博包文帆白云逸
申请(专利权)人:中国航空工业集团公司西安航空计算技术研究所
类型:发明
国别省市:

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

1