基于FPGA的多路SPI扩展电路系统技术方案

技术编号:15165475 阅读:66 留言:0更新日期:2017-04-13 10:31
本实用新型专利技术提供一种基于FPGA的多路SPI扩展电路系统,包括SPI总线模块、扩展电路处理模块和并行总线模块,所述扩展电路处理模块的一端与所述SPI总线模块连接,所述扩展电路处理模块的另一端与所述并行总线模块连接,所述SPI总线模块具有8条总线,通过所述扩展电路处理模块将所述并行总线模块扩展为8条SPI总线。本实用新型专利技术所述的基于FPGA的多路SPI扩展电路系统,通过FPGA芯片扩展多路SPI,解决串口扩展模件无法进行高速通讯的问题,具有非常强的通用性。

【技术实现步骤摘要】

本技术涉及一种基于FPGA的多路SPI扩展电路系统,具体涉及一种配电自动化中高速SPI扩展模件,且特别关于MAX10型FPGA、总线、SPI、RS485、电力系统中使用。
技术介绍
SPI英文全称“SerialPeripheralInterface”,中文全称串行外设接口,一种高速、全双工、同步的通信总线。由于其使用简单,占用资源少,因此在FLASH、实时时钟、EEPROM、AD转换器等芯片中被广泛应用。而这些芯片也在配电自动化设备中被广泛应用,同时CPU往往需要和多片外设之间进行SPI通讯,但是由于CPU集成的SPI口较少,不满足需求,此时就需要扩展SPI通讯口。很多时候开发者会用CPU的4个普通I/O口模拟SPI总线。此方法不仅占用CPU资源,同时在扩展多路SPI时,效率很低。
技术实现思路
本技术要解决的技术问题是提供一种基于FPGA的多路SPI扩展电路系统,克服上述缺陷,解决无法实现多路高速SPI扩展的问题。为解决上述技术问题,本技术提供一种基于FPGA的多路SPI扩展电路系统,包括SPI总线模块、扩展电路处理模块和并行总线模块,所述扩展电路处理模块的一端与所述SPI总线模块连接,所述扩展电路处理模块的另一端与所述并行总线模块连接,所述SPI总线模块具有8条总线,通过所述扩展电路处理模块将所述并行总线模块扩展为8条SPI总线。作为本技术所述一种基于FPGA的多路SPI扩展电路系统的一种优选方案,所述扩展电路处理模块包括FPGA芯片。作为本技术所述一种基于FPGA的多路SPI扩展电路系统的一种优选方案,所述FPGA芯片包括SPI模块、配置寄存器模块和FIFO模块,所述SPI模块由8个SPI组成,依次为SPI1至SPI8,依次负责1至8通道,所述FIFO模块包括发送数据区、接收数据区和指令区,装置CPU通过所述配置寄存器模块配置所述SPI模块的通讯速率,所述配置寄存器模块通过所述SPI模块将数据写入发送数据区、将指令写入所述指令区,所述接收数据区将从外界所接收到的数据通过所述SPI模块传输至所述配置寄存器交由所述装置CPU处理。作为本技术所述一种基于FPGA的多路SPI扩展电路系统的一种优选方案,所述配置寄存器模块还包括用于配置SPI在传输中是最高位先发送还是最低位先发送的msb寄存器,当msb寄存器显示为0时,则最高位先发送;当msb寄存器显示为1时,则最低位先发送。作为本技术所述一种基于FPGA的多路SPI扩展电路系统的一种优选方案,所述配置寄存器模块还包括mstr寄存器,所述mstr寄存器显示为1。作为本技术所述一种基于FPGA的多路SPI扩展电路系统的一种优选方案,所述配置寄存器模块还包括用于表示数据线在空闲时的状态的cpol寄存器,当cpol寄存器显示为0时,空闲状态数据线为低电平;当cpol寄存器显示为1时,空闲状态数据线为高电平。作为本技术所述一种基于FPGA的多路SPI扩展电路系统的一种优选方案,所述配置寄存器模块还包括用于寄存通讯速率的spr寄存器,所述spr寄存器包括八种通讯速率,其中,00为1k通讯速率、01为10k通讯速率、02为20k通讯速率、03为50k通讯速率、04为100k通讯速率、05为200k通讯速率、06为500k通讯速率、07为1000k通讯速率。与现有技术相比,本技术提出的一种基于FPGA的多路SPI扩展电路系统,通过FPGA芯片扩展多路SPI,解决串口扩展模件无法进行高速通讯的问题,具有非常强的通用性。附图说明为了更清楚地说明本技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中,图1是本技术的一种基于FPGA的多路SPI扩展电路系统的硬件框图;图2是本技术的一种基于FPGA的多路SPI扩展电路系统的系统框图;图3是本技术的一种基于FPGA的多路SPI扩展电路系统的SPI的系统框图;图4是本技术的一种基于FPGA的多路SPI扩展电路系统的时钟系统框图。其中:1为SPI总线模块、2为扩展电路处理模块、3为并行总线模块、4为SPI模块、5为配置寄存器模块、51为msb寄存器、52为mstr寄存器、53为cpol寄存器、54为spr寄存器、6为FIFO模块、61为发送数据区、62为接收数据区、63为指令区。具体实施方式本技术所述的一种基于FPGA的多路SPI扩展电路系统,其包括:SPI总线模块1、扩展电路处理模块2和并行总线模块3。为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合具体实施方式对本技术作进一步详细的说明。首先,此处所称的“一个实施例”或“实施例”是指可包含于本技术至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。其次,本技术利用结构示意图等进行详细描述,在详述本技术实施例时,为便于说明,示意图会不依一般比例作局部放大,而且所述示意图只是实例,其在此不应限制本技术保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间。请参阅图1,图1是本技术的一种基于FPGA的多路SPI扩展电路系统的硬件框图。如图1所示,多路SPI扩展电路系统包括:SPI总线模块1、扩展电路处理模块2和并行总线模块3,所述扩展电路处理模块2的一端与所述SPI总线模块1连接,所述扩展电路处理模块2的另一端与所述并行总线模块连接3,所述SPI总线模块1具有8条总线,通过所述扩展电路处理模块2将所述并行总线模块3扩展为8条SPI总线。以FPGA芯片作为扩展电路处理模块2的芯片,通过总线方式扩展8路IIC接口。请参阅图2,图2是本技术的一种基于FPGA的多路SPI扩展电路系统的系统框图。如图2所示,FPGA芯片由SPI模块4、配置寄存器模块5、FIFO模块6三部分组成。SPI模块4由8个SPI组成,依次为SPI1至SPI8,它们依次负责1至8通道。SPI模块4中的8个SPI发送接收机制相同,此处以SPI1为例。装置CPU先通过指令区63配置SPI1通讯速率。从地址0开始写入数据,每个周期写入一个8bit数据,最多可以写入500个,当发送数据全部写入发送数据区61后,再向地址为8000的SPI1的指令区63中写入0x01,在地址为8001-8002的指令区63中写入需要发送的数据个数。此时FPGA开始通过SPI1发送数据,当全部发送完SPI1发送数据区61中的数据后,会对此段地址的指令区63清零,同时对地址为8000-8002的SPI1的指令区63清零,并在SPI1的指令寄存器地址为8003的指令区63写入0x01。当装置CPU读到地址为8003的指令区63中的值为0x01时,即表示装置CPU可以进行下次数据的发送,同时会对地址为8003的指令区63清零。当外部通过SPI1向装置发送数据,SPI1会将数据进行串并转换,从地址4000向SPI1的接收数据区62写入接收到的数据,最大接本文档来自技高网...
基于FPGA的多路SPI扩展电路系统

【技术保护点】
基于FPGA的多路SPI扩展电路系统,其特征在于,包括:SPI总线模块、扩展电路处理模块和并行总线模块,所述扩展电路处理模块的一端与所述SPI总线模块连接,所述扩展电路处理模块的另一端与所述并行总线模块连接,所述SPI总线模块具有8条总线,通过所述扩展电路处理模块将所述并行总线模块扩展为8条SPI总线。

【技术特征摘要】
1.基于FPGA的多路SPI扩展电路系统,其特征在于,包括:SPI总线模块、扩展电路处理模块和并行总线模块,所述扩展电路处理模块的一端与所述SPI总线模块连接,所述扩展电路处理模块的另一端与所述并行总线模块连接,所述SPI总线模块具有8条总线,通过所述扩展电路处理模块将所述并行总线模块扩展为8条SPI总线。2.如权利要求1所述的基于FPGA的多路SPI扩展电路系统,其特征是:所述扩展电路处理模块包括FPGA芯片。3.如权利要求2所述的基于FPGA的多路SPI扩展电路系统,其特征是:所述FPGA芯片包括SPI模块、配置寄存器模块和FIFO模块,所述SPI模块由8个SPI组成,依次为SPI1至SPI8,依次负责1至8通道,所述FIFO模块包括发送数据区、接收数据区和指令区,装置CPU通过所述配置寄存器模块配置所述SPI模块的通讯速率,所述配置寄存器模块通过所述SPI模块将数据写入发送数据区、将指令写入所述指令区,所述接收数据区将从外界所接收到的数据通过所述SPI模块传输至所述配置寄存器交由所述装置CPU处理。4.如权利要求3所述的基于FP...

【专利技术属性】
技术研发人员:吴军陈栩李进王学虎逯海军刘佰川邵佳楠朱永进
申请(专利权)人:南京大全自动化科技有限公司
类型:新型
国别省市:江苏;32

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

1