CN106445853A - 基于fpga的spi接口与uart接口的转换方法 - Google Patents

基于fpga的spi接口与uart接口的转换方法 Download PDF

Info

Publication number
CN106445853A
CN106445853A CN201610750675.7A CN201610750675A CN106445853A CN 106445853 A CN106445853 A CN 106445853A CN 201610750675 A CN201610750675 A CN 201610750675A CN 106445853 A CN106445853 A CN 106445853A
Authority
CN
China
Prior art keywords
spi
uart
fpga
module
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610750675.7A
Other languages
English (en)
Inventor
戴林
马遵锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin Tiandy Digital Technology Co Ltd
Original Assignee
Tianjin Tiandy Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin Tiandy Digital Technology Co Ltd filed Critical Tianjin Tiandy Digital Technology Co Ltd
Priority to CN201610750675.7A priority Critical patent/CN106445853A/zh
Publication of CN106445853A publication Critical patent/CN106445853A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3852Converter between protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种基于FPGA的SPI接口与UART接口的转换方法,包括以下步骤:(ⅰ)SPI接口;(ⅱ)指令译码;(ⅲ)串口协议配置;(ⅳ)发送/接收FIFO;(ⅴ)UART发送;(ⅵ)UART接收。本发明基于目前电子警察和治安卡口系统中核心部分的FPGA,直接使用现有的FPGA,不用增加任何硬件成本,实现方法简单、扩展灵活,资源占用少,程序可在线升级,不增加系统成本,降低硬件设计难度,各个串口之间完全独立,支持的串口可达几十个,稳定可靠。

Description

基于FPGA的SPI接口与UART接口的转换方法
技术领域
本发明属于一种SPI接口与UART接口的转换方法,具体涉及一种基于FPGA的SPI接口与UART接口的转换方法。
背景技术
在目前的智能交通监控系统中,如电子警察、治安卡扣等,需要大量串口对前端的外围设备进行控制,或者需要获取前端设备的状态等。而目前的专用芯片能支持的串口数量有限,同时价格也比较贵,而且使用专用芯片增加了线路板的密度,PCB走线布线更复杂,增加了设计难度。
发明内容
本发明是为了克服现有技术中存在的缺点而提出的,其目的是提供一种基于FPGA的SPI接口与UART接口的转换方法。
本发明的技术方案是:
一种基于FPGA的SPI接口与UART接口的转换方法,所述方法基于可编程逻辑器件FPGA/CPLD实现,可编程逻辑器件FPGA/CPLD内部软件模块包括SPI接口模块、指令解码模块、串口协议配置模块、发送/接收FIFO模块、UART发送模块和UART接收模块;所述方法包括以下步骤:
(ⅰ)SPI接口
SPI接口模块采用标准的4线制SPI总线协议,一次SPI通信工16 bit,8 bit为一个字节,采用大端方式;FPGA把SPI传过来的串行信号转换为并行信号,或者把FPGA收到的并行信号转换成串行信号通过SPI上传;
(ⅱ)指令译码
指令解码模块根据SPI传过来的数据,按照定好的协议进行判断;
(ⅲ)串口协议配置
串口协议配置模块根据指令解码模块解出的命令,产生相应的波特率时钟,配置检验方式、数据长度、停止位长度;
(ⅳ)发送/接收FIFO
发送/接收FIFO模块把SPI传过来的数据放到发送FIFO缓冲区,把FPGA UART模块接收到的数据放到接收FIFO缓冲区,以保证数据的连续性和可靠性;当发送FIFO缓冲区中一有数据,就开始发送;当接收FIFO缓冲区一有数据,就通知上位机通过SPI读取;
(ⅴ)UART发送
UART发送模块按照异步串行通信的标准,把并行数据转换成并行数据,一位一位的发送出去;
(ⅵ)UART接收
UART接收模块按照异步串行通信的标准,把串行数据转换为并行的数据,连同串口号一并送给接收FIFO。
本发明的有益效果是:
本发明基于目前电子警察和治安卡口系统中核心部分的FPGA,直接使用现有的FPGA,不用增加任何硬件成本,实现方法简单、扩展灵活,资源占用少,程序可在线升级,不增加系统成本,降低硬件设计难度,各个串口之间完全独立,支持的串口可达几十个,稳定可靠。
附图说明
图1是本发明FPGA软件实现的框图。
具体实施方式
下面结合说明书附图及实施例对本发明一种基于FPGA的SPI接口与UART接口的转换方法;
如图1所示,一种基于FPGA的SPI接口与UART接口的转换方法,所述方法基于可编程逻辑器件FPGA/CPLD实现,可编程逻辑器件FPGA/CPLD内部软件模块包括SPI接口模块、指令解码模块、串口协议配置模块、发送/接收FIFO模块、UART发送模块和UART接收模块;所述方法包括以下步骤:
(ⅰ)SPI接口
SPI接口模块采用标准的4线制SPI总线协议,一次SPI通信工16 bit,8 bit为一个字节,采用大端方式;FPGA把SPI传过来的串行信号转换为并行信号,或者把FPGA收到的并行信号转换成串行信号通过SPI上传;
对于写操作,主机先发送一个8位的命令,再发送一个8位的数据。而对于读操作,主机发送一个8位的命令加上一个8位的数据,FPGA根据收到的指令,回传相应的16位数据给主机。
(ⅱ)指令译码
指令解码模块根据SPI传过来的数据,按照定好的协议进行判断;对哪个串口进行操作,是读还是写,串口参数怎么配置等等。
使用状态机实时检测SPI总线传过来的指令信息。一旦有新的指令过来,立即作出响应。
(ⅲ)串口协议配置
串口协议配置模块根据指令解码模块解出的命令,产生相应的波特率时钟,配置检验方式、数据长度、停止位长度;
(ⅳ)发送/接收FIFO
发送/接收FIFO模块把SPI传过来的数据放到发送FIFO缓冲区,把FPGA UART模块接收到的数据放到接收FIFO缓冲区,以保证数据的连续性和可靠性;当发送FIFO缓冲区中一有数据,就开始发送;当接收FIFO缓冲区一有数据,就通知上位机通过SPI读取;
(ⅴ)UART发送
UART发送模块按照异步串行通信的标准,把并行数据转换成并行数据,一位一位的发送出去;
(ⅵ)UART接收
UART接收模块按照异步串行通信的标准,把串行数据转换为并行的数据,连同串口号一并送给接收FIFO。
本发明基于目前电子警察和治安卡口系统中核心部分的FPGA,直接使用现有的FPGA,不用增加任何硬件成本,实现方法简单、扩展灵活,资源占用少,程序可在线升级,不增加系统成本,降低硬件设计难度,各个串口之间完全独立,支持的串口可达几十个,稳定可靠。

Claims (1)

1. 一种基于FPGA的SPI接口与UART接口的转换方法,其特征在于:所述方法基于可编程逻辑器件FPGA/CPLD实现,可编程逻辑器件FPGA/CPLD内部软件模块包括SPI接口模块、指令解码模块、串口协议配置模块、发送/接收FIFO模块、UART发送模块和UART接收模块;所述方法包括以下步骤:
(ⅰ)SPI接口
SPI接口模块采用标准的4线制SPI总线协议,一次SPI通信工16 bit,8 bit为一个字节,采用大端方式;FPGA把SPI传过来的串行信号转换为并行信号,或者把FPGA收到的并行信号转换成串行信号通过SPI上传;
(ⅱ)指令译码
指令解码模块根据SPI传过来的数据,按照定好的协议进行判断;
(ⅲ)串口协议配置
串口协议配置模块根据指令解码模块解出的命令,产生相应的波特率时钟,配置检验方式、数据长度、停止位长度;
(ⅳ)发送/接收FIFO
发送/接收FIFO模块把SPI传过来的数据放到发送FIFO缓冲区,把FPGA UART模块接收到的数据放到接收FIFO缓冲区,以保证数据的连续性和可靠性;当发送FIFO缓冲区中一有数据,就开始发送;当接收FIFO缓冲区一有数据,就通知上位机通过SPI读取;
(ⅴ)UART发送
UART发送模块按照异步串行通信的标准,把并行数据转换成并行数据,一位一位的发送出去;
(ⅵ)UART接收
UART接收模块按照异步串行通信的标准,把串行数据转换为并行的数据,连同串口号一并送给接收FIFO。
CN201610750675.7A 2016-08-30 2016-08-30 基于fpga的spi接口与uart接口的转换方法 Pending CN106445853A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610750675.7A CN106445853A (zh) 2016-08-30 2016-08-30 基于fpga的spi接口与uart接口的转换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610750675.7A CN106445853A (zh) 2016-08-30 2016-08-30 基于fpga的spi接口与uart接口的转换方法

Publications (1)

Publication Number Publication Date
CN106445853A true CN106445853A (zh) 2017-02-22

Family

ID=58182813

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610750675.7A Pending CN106445853A (zh) 2016-08-30 2016-08-30 基于fpga的spi接口与uart接口的转换方法

Country Status (1)

Country Link
CN (1) CN106445853A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107346298A (zh) * 2017-07-11 2017-11-14 郑州云海信息技术有限公司 一种并行总线与uart总线间协议转换的方法及系统
CN107704407A (zh) * 2017-11-02 2018-02-16 郑州云海信息技术有限公司 一种用于spi和uart之间数据处理的系统和方法
CN107967231A (zh) * 2017-12-07 2018-04-27 天津天地伟业机器人技术有限公司 一种Spi模拟多路全双工串口的系统
CN111913899A (zh) * 2020-07-02 2020-11-10 山东大学 一种基于fsmc与fpga的uart拓展方法
CN112732635A (zh) * 2021-01-11 2021-04-30 中国船舶重工集团公司第七0七研究所 一种基于对spi flash在线更新的fpga重构系统及其方法
CN114595182A (zh) * 2022-03-03 2022-06-07 珠海昇生微电子有限责任公司 一种多通信串口双向转换电路及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981996A (zh) * 2012-11-26 2013-03-20 福州瑞芯微电子有限公司 一种外设接口的扩展装置和方法
CN202870808U (zh) * 2012-07-04 2013-04-10 四川九洲电器集团有限责任公司 一种spi串口模块的fpga实现装置
CN105045746A (zh) * 2015-09-09 2015-11-11 四川九洲电器集团有限责任公司 一种接口扩展装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202870808U (zh) * 2012-07-04 2013-04-10 四川九洲电器集团有限责任公司 一种spi串口模块的fpga实现装置
CN102981996A (zh) * 2012-11-26 2013-03-20 福州瑞芯微电子有限公司 一种外设接口的扩展装置和方法
CN105045746A (zh) * 2015-09-09 2015-11-11 四川九洲电器集团有限责任公司 一种接口扩展装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107346298A (zh) * 2017-07-11 2017-11-14 郑州云海信息技术有限公司 一种并行总线与uart总线间协议转换的方法及系统
CN107704407A (zh) * 2017-11-02 2018-02-16 郑州云海信息技术有限公司 一种用于spi和uart之间数据处理的系统和方法
CN107967231A (zh) * 2017-12-07 2018-04-27 天津天地伟业机器人技术有限公司 一种Spi模拟多路全双工串口的系统
CN111913899A (zh) * 2020-07-02 2020-11-10 山东大学 一种基于fsmc与fpga的uart拓展方法
CN112732635A (zh) * 2021-01-11 2021-04-30 中国船舶重工集团公司第七0七研究所 一种基于对spi flash在线更新的fpga重构系统及其方法
CN114595182A (zh) * 2022-03-03 2022-06-07 珠海昇生微电子有限责任公司 一种多通信串口双向转换电路及方法

Similar Documents

Publication Publication Date Title
CN106445853A (zh) 基于fpga的spi接口与uart接口的转换方法
US11100036B2 (en) Serial connection between management controller and microcontroller
CN103827841B (zh) 可配置带宽的io连接器
CN203261417U (zh) Wi-Fi倒车影像系统
CN202190284U (zh) 一种CAN总线与SpaceWire总线的协议转换器
CN108322373A (zh) 航电系统的总线测试卡、测试方法及总线测试装置
CN103778668A (zh) 一种车道交易异常处理方法及系统
CN116436526B (zh) 控制信号传输的方法及装置、系统、存储介质、电子设备
CN110287141B (zh) 一种基于多种接口的fpga重构方法和系统
CN218387922U (zh) 车载v2x接收终端、车辆
CN108540478B (zh) 一种用于智能电网的微基站系统的实现方法
CN103914421B (zh) 一种数据终端、数据传输系统及热插拔控制方法
CN102169471B (zh) Arinc629总线与高速智能统一总线的直接接口方法
CN205092880U (zh) 基于fpga芯片的hdlc协议控制器
CN208638364U (zh) 一种基于以太网的lvds总线检测系统
CN209265218U (zh) 车载hdlc记录装置
CN203554485U (zh) Can总线测试设备
CN202167017U (zh) 一种基于物联网管理控制dsp的数据接收电路
CN205622888U (zh) 智能终端
CN202975735U (zh) 一种用于高速摄像球机的i2c光纤通讯驱动系统
CN221225512U (zh) 车牌识别装置
CN207369065U (zh) 应用于大气监测的物联网网关
CN214279162U (zh) 一种集成mec功能的车联网路侧单元
CN204256731U (zh) 一种fpga高速读取usb设备数据装置
CN117938574B (zh) 一种用于星载设备间通信的SpaceWire总线节点控制器IP核

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20170222

RJ01 Rejection of invention patent application after publication