CN106445853A - 基于fpga的spi接口与uart接口的转换方法 - Google Patents
基于fpga的spi接口与uart接口的转换方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3852—Converter 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
技术领域
本发明属于一种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。
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)
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)
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 | 四川九洲电器集团有限责任公司 | 一种接口扩展装置 |
-
2016
- 2016-08-30 CN CN201610750675.7A patent/CN106445853A/zh active Pending
Patent Citations (3)
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)
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 |