CN201846331U - 一种基于fpga搭建的增强型串口 - Google Patents

一种基于fpga搭建的增强型串口 Download PDF

Info

Publication number
CN201846331U
CN201846331U CN2010202685797U CN201020268579U CN201846331U CN 201846331 U CN201846331 U CN 201846331U CN 2010202685797 U CN2010202685797 U CN 2010202685797U CN 201020268579 U CN201020268579 U CN 201020268579U CN 201846331 U CN201846331 U CN 201846331U
Authority
CN
China
Prior art keywords
data
module
logic module
fpga
receive
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.)
Expired - Fee Related
Application number
CN2010202685797U
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.)
Sichuan Jiuzhou Electric Group Co Ltd
Original Assignee
Sichuan Jiuzhou Electric Group 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 Sichuan Jiuzhou Electric Group Co Ltd filed Critical Sichuan Jiuzhou Electric Group Co Ltd
Priority to CN2010202685797U priority Critical patent/CN201846331U/zh
Application granted granted Critical
Publication of CN201846331U publication Critical patent/CN201846331U/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

本实用新型公开了一种基于FPGA搭建的增强型串口结构,以FPGA(现场可编程逻辑门阵列)为硬件,用HDL语言在FPGA中搭建串口,包括以下模块:发送数据FIFO模块、接收数据双口RAM模块、接收缓存模块、发送缓存模块、参数配置逻辑模块、接收超时判断逻辑模块、接收逻辑模块、发送逻辑模块,本实用新型对主程序而言类似于对外部存储器进行操作,从而将主程序从频繁的中断或查询操作中解放出来,提高了主程序的运行效率,增强了系统的稳定性,提高了软件的可移植性和扩展性。

Description

一种基于FPGA搭建的增强型串口 
技术领域
本实用新型涉及一种基于FPGA搭建的增强型串口及其工作方法,以FPGA为硬件基础,用Verilog HDL编写代码实现。 
背景技术
RS232通信时,数据以字节为单位,在接收数据时,单片机、DSP等内部集成的硬件串口具有收完一个(或多个)字节置位相应标志位的功能,当数据量较大的时候,主程序需要频繁进行中断响应或进行标志位查询操作,控制接收流程并缓存收到的数据,这将占用主程序的时间以及进行流程控制花费硬件资源;在发送数据时,需要查询当前串口状态,进行发送流程控制,这也将占用自身资源和处理时间。 
实用新型内容
本实用新型:一种基于FPGA搭建的增强型串口,包括以下模块:发送数据FIFO模块、接收数据双口RAM模块、接收缓存模块、发送缓存模块、参数配置逻辑模块、接收超时判断逻辑模块、接收逻辑模块、发送逻辑模块;其特征在于,所述接收数据双口RAM是采用环形存储器方式存储数据,该双口RAM的一个端口只供写入数据,即只写,双口RAM的另一个端口专供外部控制器读取数据,即只读。 
本实用新型的目的是提供一种基于FPGA搭建的增强型串口及其工作方法,以FPGA为硬件基础,用Verilog HDL编写代码实现。 
基于FPGA搭建的增强型串口,其特征在于,包括以下模块:发送数据FIFO模块、接收数据双口RAM模块、接收缓存模块、发送缓存模块、参数配置逻辑模块、接收超时判断逻辑模块、接收逻辑模块、发送逻辑模块。 
本工作方法,其步骤为: 
(1)参数配置步骤:工作之前,需要由外部控制器对所述的参数配置逻辑模块写入参数配置数据,该参数配置数据包括波特率、数据长度、校验方式、停止位长度等参数; 
(2)接收数据步骤a:当数据到来时,所述基于FPGA搭建的增强型串口检测到起始位则立即启动所述的接收逻辑模块,根据波特率设置在每比特数据的中间位置进行采样,同时启动所述的接收超时判断逻辑模块,以检测本次数据流是否接收完毕需要进行中断; 
接收数据步骤b:当接收完毕一个字节的停止位时,将由所述的接收缓存模块将收到的数据存入所述的接收数据双口RAM模块,同时记录下本次数据流的第一个字节的存储地址,在这个过程中,如果一定时间内未接收到任何数据则判定本次接收完毕,这时将产生中断,通知前述外部控制器读取数据进行处理,同时所述的接收数据双口RAM模块采用环形存储器方式存储数据,该双口RAM模块的一个端口只写入数据,该双口RAM模块的另一个端口供前述外部控制器读取数据即只读,而前述外部控制器以根据每次数据流第一个数据的存储地址进行数据读取和处理。 
(3)发送数据步骤:当需要发送数据时,前述外部控制器将需要发送的所有数据依次写入所述的发送数据FIFO模块中,实时判定该FIFO模块是否非空,若该FIFO模块内有数据则立即取出数据进行发送,由前述外部控制器写入数据到所述的发送数据FIFO模块,同时从该FIFO模块中取出数据进行发送。 
系统框图如图1所示: 
在工作之前,需要由外部控制器对本设计进行参数配置,配置的过程非常简单,只需要向本设计的“参数配置逻辑”模块写入参数配置数据,以确定波特 率、数据长度、校验方式、停止位长度等参数,如果未进行配置则本设计将按一个默认波特率(可配置)进行数据收发,配置完毕后,即可开始进行数据收发通信。 
RS232信号经过接口芯片转换为TTL电平后的信号格式如图2所示: 
(以8bits数据位为例) 
本设计工作时分两大功能模块:接收数据和发送数据。 
接收数据的流程图如图3所示: 
发送数据的流程图如图4所示: 
综上所述,由于采用了上述技术方案,本实用新型的有益效果是:相对现有硬件串口,本设计具有如下优点: 
●接收发送数据全自动,无需主程序进行干预,将主程序从繁琐的中断和查询操作中解放出来; 
●收发数据的缓存大小可按需要进行配置 
●参数配置灵活简单,波特率控制非常精确,能实现特殊波特率,且波特率切换速度极快 
●移植性和扩展性强,操作简单 
本实用新型创造设计可以广泛应用于使用RS232接口的通信中,特别是以下系统中将体现出本设计的巨大优势: 
●通信的数据量特别大的系统中; 
●通信特别频繁的系统中; 
●对实时性要求较高的系统中; 
●需要扩展多个串口的系统中; 
●通信的波特率较高、波特率较特殊、需要波特率切换的系统中; 
附图说明
本实用新型将通过例子并参照附图的方式说明,其中: 
图1是系统框图; 
图2是RS232信号格式; 
图3是接收数据的流程图; 
图4是发送数据的流程图; 
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。 
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。 
进行数据传输的时候,先发送起始位,再发送数据位,最后是停止位。 
接收数据:当数据到来时,本设计检测到起始位则立即启动接收逻辑,根据波特率设置在每bit数据的中间位置进行采样,同时启动“接收超时判断逻辑”模块,以检测本次数据流是否接收完毕需要进行中断,当接收完毕一个字节的停止位时,将由“接收缓存”模块将收到的数据存入“接收数据双口RAM”,同时记录下本次数据流的第一个字节的存储地址,在这个过程中,本设计不需要外部控制器进行控制,如果一定时间内(时间长度可配置,如8bits的时间)未接收到任何数据则判定本次接收完毕,这时将产生中断,通知外部控制器读取 数据进行处理,而不必每接收到1个字节进行中断,避免了主程序被频繁中断,同时“接收数据双口RAM”采用环形存储器方式存储数据,双口RAM的一个端口只供本设计写入数据,即只写,双口RAM的另一个端口专供外部控制器读取数据,即只读,当数据量特别大或者接收数据流特别频繁的情况下,可以有效的缓存数据,不会将先前收到的数据覆盖,而外部控制器可以根据每次数据流第一个数据的存储地址进行数据读取和处理。 
发送数据:当需要发送数据时,外部控制器将需要发送的所有数据依次写入本设计的“发送数据FIFO”中,本设计实时判定FIFO是否非空,若FIFO内有数据则立即取出数据进行发送,可以一边由外部控制器写入数据到“发送数据FIFO”,一边由本设计从FIFO中取出数据进行发送,即对主程序而言,发送数据的过程就是向一特定地址写入所有需要发送的数据即可完成,无需进行发送流程控制。 
本设计成功应用与某项目的RS232通信接口中,作为一个子模块嵌入该项目的FPGA中,由另一块DSP进行数据处理,经过多次内、外场试验验证,完全能替代DSP原有硬件串口,且控制使用更为简单、灵活,节省了DSP在接口通信方面的硬件开销和处理时间,提高了DSP程序的运行效率,增强系统的功能稳定性和软件可移植性。 
本实用新型并不局限于前述的具体实施方式。本实用新型扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。 

Claims (2)

1.一种基于FPGA搭建的增强型串口,包括以下模块:发送数据FIFO模块、接收数据双口RAM模块、接收缓存模块、发送缓存模块、参数配置逻辑模块、接收超时判断逻辑模块、接收逻辑模块、发送逻辑模块;其特征在于,所述接收数据双口RAM是采用环形存储器方式存储数据,该双口RAM的一个端口只供写入数据,即只写,双口RAM的另一个端口专供外部控制器读取数据,即只读。
2.根据权利要求1所述的基于FPGA搭建的增强型串口,其特征在于,外部控制器的数据与所述发送数据FIFO模块、所述参数配置逻辑模块单向连接,所述接收数据双口RAM模块的数据单向连接前述外部控制器,所述参数配置逻辑模块的数据分别单向连接所述接收逻辑模块、所述发送逻辑模块、所述接收缓存模块、所述发送缓存模块,所述接收超时判断逻辑模块的数据和所述接收逻辑模块的数据双向连接。 
CN2010202685797U 2010-07-23 2010-07-23 一种基于fpga搭建的增强型串口 Expired - Fee Related CN201846331U (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010202685797U CN201846331U (zh) 2010-07-23 2010-07-23 一种基于fpga搭建的增强型串口

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010202685797U CN201846331U (zh) 2010-07-23 2010-07-23 一种基于fpga搭建的增强型串口

Publications (1)

Publication Number Publication Date
CN201846331U true CN201846331U (zh) 2011-05-25

Family

ID=44041206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010202685797U Expired - Fee Related CN201846331U (zh) 2010-07-23 2010-07-23 一种基于fpga搭建的增强型串口

Country Status (1)

Country Link
CN (1) CN201846331U (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109508308A (zh) * 2018-11-26 2019-03-22 重庆华渝电气集团有限公司 一种基于pc104与fpga通讯的方法
CN113852549A (zh) * 2021-09-27 2021-12-28 卡斯柯信号有限公司 一种主备双系独立接收并处理数据的实现方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109508308A (zh) * 2018-11-26 2019-03-22 重庆华渝电气集团有限公司 一种基于pc104与fpga通讯的方法
CN113852549A (zh) * 2021-09-27 2021-12-28 卡斯柯信号有限公司 一种主备双系独立接收并处理数据的实现方法
CN113852549B (zh) * 2021-09-27 2023-10-17 卡斯柯信号有限公司 一种主备双系独立接收并处理数据的实现方法

Similar Documents

Publication Publication Date Title
CN101908031B (zh) 一种基于fpga搭建的增强型串口
CN103116175B (zh) 基于dsp和fpga的嵌入式导航信息处理器
CN202870808U (zh) 一种spi串口模块的fpga实现装置
CN102045772B (zh) 一种数据传输方法及装置
CN103064805B (zh) Spi控制器及通信方法
CN102420877B (zh) 一种多模式高速智能异步串口通信模块及实现方法
CN109412914A (zh) 流数据与axi接口通信装置
CN110471880B (zh) 一种基于FPGA支持Label号筛选的ARINC429总线模块及其数据传输方法
TW200506608A (en) Read/write command buffer pool resource management using read-path prediction of future resources
JP2002204253A (ja) 非同期転送モードにおけるホスト・プロセッサおよびディジタル信号プロセッサ間転送用インターフェース・ユニット、およびこれを用いたデータ処理システム
CN104267707A (zh) 一种环境数据多点实时采集系统
CN103744825A (zh) 一种扩展兼容spi接口双向实时通讯方法
CN104915303A (zh) 基于PXIe总线的高速数字I/O系统
CN110059042A (zh) 一种uart设备的数据dma传输方法
CN102065568B (zh) 基于数据描述符的mac软硬件交互方法及其硬件实现装置
CN201846331U (zh) 一种基于fpga搭建的增强型串口
CN101778038B (zh) 基于千兆以太网的嵌入式设备高速数据传输系统
CN109408426A (zh) 一种灵活通用的串行通信方法及系统
CN107682918A (zh) 移动终端数据传输方法及设备
CN102215500A (zh) Ap与通讯模块的端口服务配置的动态变换方法及装置
CN104113933A (zh) 一种信息传输方法、装置和移动终端
CN106445854A (zh) 支持串行接口透明传输的方法及系统
CN108228104B (zh) 数据传输方法及固态硬盘控制器
CN102546582A (zh) 一种提高嵌入式数据传输系统传输速率的方法及系统
CN207835492U (zh) 一种双缓存载波解调系统

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110525

Termination date: 20180723