← 返回列表

一种基于SoC支持多个SPI接口标准组的装置

申请号: CN201710372109.1
申请人: 南京典格通信科技有限公司
申请日期: 2017年5月24日

摘要文本

本发明公开了一种基于SoC芯片支持多个SPI接口标准组的装置,在全可编程SoC内部,ARM处理器和现场可编程门陈列FPGA之间通过AXI总线通信,现场可编程门陈列FPGA和外围设备通过SPI接口标准组通信;在现场可编程门陈列FPGA内部设计一个AXI协议解析模块和多个SPI控制器模块,实现ARM处理器和外围SPI接口设备的通信;现场可编程门陈列FPGA内部的AXI协议解析模块和每个SPI控制器模块都是独立发送控制信号和收发数据信号。本发明可以并行配置多个外部设备,利用SoC内部FPGA多余的逻辑资源设计1个AXI解析模块和4个SPI控制器模块避免了需要单独采购4个SPI控制器芯片。

专利详细信息

项目 内容
专利名称 一种基于SoC支持多个SPI接口标准组的装置
专利类型 发明授权
申请号 CN201710372109.1
申请日 2017年5月24日
公告号 CN107015927B
公开日 2024年1月30日
IPC主分类号 G06F13/10
权利人 南京典格通信科技有限公司
发明人 张宏泽
地址 江苏省南京市山西路67号世贸中心大厦A2座1806室

专利主权项内容

1.一种基于SoC支持多个SPI接口标准组的装置,其特征在于:包括全可编程SoC、ARM处理器、现场可编程门陈列FPGA,在全可编程SoC内部的ARM处理器和现场可编程门陈列FPGA之间通过AXI总线通信,现场可编程门陈列FPGA和外围设备通过SPI接口标准组通信;在现场可编程门陈列FPGA内部设计一个AXI协议解析模块和多个SPI控制器模块,实现ARM处理器和外围SPI接口设备的通信,现场可编程门陈列FPGA内部的AXI协议解析模块和每个SPI控制器模块都是独立发送控制信号和收发数据信号;AXI协议解析模块解析ARM处理器通过AXI总线发送过来的地址和数据信号,并把信号送到对应的控制寄存器或者读取对应寄存器的数据;AXI协议解析模块给每个SPI控制器设置寄存器,分别是:WR_EABLE,ARM处理器通过WR_EABLE寄存器控制SPI控制器向外部芯片发送或者接收数据;WR_EABLE寄存器和SPI控制器连接信号名是WR;TRANSMIT_REG,ARM处理器把需要向外部芯片发送的数据信号预先存储在TRANSMIT_REG寄存器;TRANSMIT_CTRL,ARM处理器通过TRANSMIT_CTRL寄存器控制SPI控制器的工作模式;RECEIVER_REG,ARM处理器通过RECEIVER_REG寄存器读取SPI控制器从外部设备接收到的数据信号;STATUS_REG,ARM处理器通过STATUS_REG寄存器查询SPI控制器的工作状态,以判断当前是否可以触发使能SPI控制器往外部设备发送和接收数据;在装置启动的时候,ARM处理器通过AXI协议解析模块和SPI控制器通信,然后根据ARM处理器运行的算法并行配置外围的SPI接口标准组的设备;在RU电路单板上电之后,全可编程SoC系统需要初始化电路板上的SPI接口标准组的设备;初始化流程具体包括以下步骤:1.1,ARM处理器先通过AXI协议解析模块初始化4个SPI控制器,配置SPI控制器的工作模式和时钟频率;1.2:ARM处理器在向SPI0控制器写入数据之前,需要先查询SPI0控制器的工作状态,如果SPI0控制器处于空闲状态时,ARM处理器会通过AXI解析模块把数据传送到SPI0控制器;如果SPI0控制器处在发送数据工作状态时,ARM处理器软件会跳过SPI0控制器的操作,执行操作SPI1控制器的指令;1.3:数据写入SPI0控制器之后,ARM处理器再通过AXI协议解析模块触发SPI0控制器的读写使能信号,使能SPI0控制器把数据写入到外部的SPI接口标准组设备;1.4:ARM处理器完成对SPI0控制器的一个写操作之后,会继续顺序对SPI1,SPI2和SPI3执行同样的处理方式;1.5:执行完SPI3控制器的一个写操作之后,ARM处理器软件会根据算法判断每一个SPI控制器控制的外部设备是否全部初始化完成;1.6:如果4个SPI接口标准组的设备全部初始化完成,ARM处理器的软件会跳转到等待接收SPI接口标准组初始化命令的状态;如果没有初始化完成,ARM处理器软件算法会跳转到执行控制SPI0控制器的初始化外部设备,当SPI0控制器的写操作完成之后,ARM处理器的软件会重复执行以上的命令。