基于FPGA串口通信的电路和程序设计
浅谈一种基于FPGA的双冗余422串口通信方法及实现

浅谈一种基于FPGA的双冗余422串口通信方法及实现作者:孙广海来源:《科学与信息化》2020年第27期摘要对于任何设备而言,无不重视对外交互接口的时效性和正确性。
如何在有限的资源条件下保证通信的实时性和正确性成了通信设计的关注重点。
本文介绍了一种基于FPGA实现双冗余422串口通信方法。
关键词 FPGA;双冗余;实时性;正确性1 技术领域本方法涉及电子对抗领域,尤其是电子对抗中与外部接口通信处理,具体而言涉及一种基于FPGA的双冗余422串口通信方法设计。
本方法提供一种基于FPGA的双冗余RS422通信方法及实现,该方法采用FPGA实现了双路RS422串口通信的冗余备份,同时解决了每路RS422串口通信的主/从应答机制,提高了通信的实时性,同时降低了应用层任务处理资源的消耗[1]。
2 背景技术在现代电子对抗中,无论对于哪种系统设备而言,与外部接口通信都是关键环节。
接收外部命令消息,上报自身设备信息都必须依赖于外部接口,所以外部接口通信尤其要保证稳定、高效。
随着近年来电子技术的发展,雷达体制和信号形式变得越来越复杂而多样,战场空间电磁密度不断提升。
各型设备上报的信息越来越复杂,数据量越来越大,对外部接口设计的实时性要求越来越高。
而由于受限与平台总线形式和外部接口通信协议,通信方法设计难度随之提升,且重要性不言而喻。
下面介绍某型平台上某型设备对外通信方法设计。
该型直升机机上配置的是RS422总线,机上综合任务系统与某型设备系统(以下简称设备系统)通过两路RS422实现通信,两路RS422为双冗余关系。
为实现每路RS422通信的可靠性,定义通信协议为点对点的主/从应答式全双工422通信(传输周期50ms),综合任务系统为主端,设备系统为从端。
主端主动发送通信消息,从端在接收到主端发送的消息时,按照消息块号判断主端发送报文的正确性,正确则发送自身需上报的消息,主端接收到从端发送的消息报文时,根据从端发送的消息块号判断从端发送报文的正确性,正确则发送下一包报文,否则,重新发送当前报文。
FPGA与PC串口通信设计与实现

京 航 空航 天 大 学 出版 社 ,0 8 20.
f1 2周润景J 】 C 【) 字系统设计 实例阿 北 FG P J 数 1 京: 电子 工 业 出版 社 。0 1 20, lI 旭 东 ̄ A L B及 其在 F G 中的应 硐【 . 3王 TA PA M1 北京: 国防 工业 出版社 。0 8 20.
协 内■蘸
I J‘ .
m ) 的系统设计中 , y 芯片 程序软件仿 真验证通 过 不会发生误_ 。 麴 将数据存储于 8 I 位的移位寄存器 后 , 要 下载 到 芯 片 需 当中。 存储 8 位数据 以后就完成了一 有效数据 吟 能。可 以使用 P C向 P GA通过 串口发送数据并 的提取 , F 发送端置高等待下次起始位 的到来。 将处理后的数据返 回计算 机分析是否满足设 计 A CI S I码转换模块 : 由于发送端发的是数据 要求 。 完成串口通信可 以选用专用的串行外设接 的 AS I码 , CI 8位数据代表一 0或者 1 3 H代 — 。0 口芯 片如 15 0 N 14 0或者控制单 片机接收 表 0 3 H代表 1 65 ,S65 ,1 ,所以在 T D将数据传送给数 X 图 1 系统 总体 框 图 数据 。而采用模块化设计方法 , 通过硬件描述语 据处理单元 之前先要完成 A C S H码的转换 , 将转 、 单元。RX D的工作流程是 言编程可 以将外部芯片的功能集成到 F G 换 后的 0 1发给下 ~I P A内 囊I I I l l l l _ _ - l 麓 l 部 实现 , 这种 设计方法 可移植性强 , 又能避免不 接收端 一直检测 P C的发送数据是否 为起始位 皇缒 , 因为有 必要 的资源浪费 。本文采 IE 1.软件 开发平 0 一旦检测到就进行有效数据位 的接收, S 01 图 2 异步 串行通信格式 台 ,选 用 Xl x公 司 的 s a a.3 系 列 F G 效数据为 8位 , 以要判断接收的位数 , in i pn r E 一 PA 所 每结束 完 成了与 P C的通信功能。 个 比特计数 加一 ,当计到 8 时判定接收完毕 , 将接收的数据进行 A CI SI 码转换 , 然后传送给数 l系统的总体设 计 系统 的总体设计 思想是 : 发送 数据 , 据处理模块进行处理。 C P 由 由于数据处理部分在不同 本文不再赘述 。 MA 3 X2 2完成 R - 3 S 2 2电平到 1- 电平 的转换 , 系统中完成的工作各不相同 , Il lJ FG P A内部的 R D模块负责转换后 串行数据的 X 22FF . IO模 块 接收 , 数据处理单元 对接收数据进行处理 , 处理 I  ̄( i n itou) FF 1rtI Fr t是 一种先进先出的 es s 完成以后将数据暂存于 F F IO中 ,D T X读取暂存 数据缓存器 , 即读取数据h 僦 读取最早存人的 敬 据按通 信协 议把数 据发 给 MA 2 2反 馈给 数据。本 系统调用的 IE 带的 F O I , X3 S I F P核 保 图 3 R D模块仿真 图 X C 分析数据是否符 合要求 , 而验证整个系统 证 了速度与功耗的最优 , P, 从 并节省 了开发周期。使 设 计 的 合理性 。系 统框 图如 图 I 示 。 所 用 FF IO需要设 置~ 参数 。 些 数据宽度设置为 1 , R D单 元每接 收完 一 X 个数据 即向数据 处 即存储的数据宽度是 1 。 位 数据深度是指存储器 理单元发送—个 a e 电平有效信 号, v 高 告之其 可以存储数据的个数 , 此时的数据是需要处理的 , 数据处理单元接收到 代码 长耋 , 如果要测试 10 0 0个发送数据 的编码 那么编码后产生了 2 0 个数据 , 00 深度 ale ci 有效后采集 dt,这样可以避免数据采集 是否正确, v a a 0 8 留有一定富裕度 。 读写使能信 的错 误。 不同的系统所要完成的数据处理功能也 可以设置为 2 4 , 图 4 FF 存 储 器仿 真模 块 IO 不相同, 本实验中完成 的是对接 收信号进行 2 3 号 由分 别 由 T D和数据 处理单 元给 出。每 次 1 X 当完成 8 位数据的接收 I F 卷积编码功能 。 如果其他系统需要采集 多个数据 F O时钟的上升沿到来时,如果读写使能为高 存 储—个数据到最高位 。 将 . r x 1 转换后 数据处理单元每次处理 时 , 其转换为 0或 1如图 , d为 3 H, 后再处理一次,可以在接收端也添加一个 FF 就进行相应的读写操作。 IO oe , cv 高电平通 i 缓存数据。 个数据后就 向 FF IO发送 一个写使 能信号 , 告 的数据 cd 是 1 同时发送—个 at e 知数据处理单元进行接收并处理 。 2F G P A主要 功 能 模 块设 计 之存 储一个数据 ,X T D的操作类似。 32FF . IO存储器模块 21 B D模块 . X 2 T D模 块 . X 3 如 图4 所示 ,i d n是数据的输入端 , 依次输入 T D模块 负责把 处理后 的放据从 FF X IO中 R XD主要包括分频模块 , 数据采样存储模 个不同数 据, 【朋 为写使能端 , w- 在时钟上升沿 块 , S H码转换模块。为了更好的理解 R D工 读出, AC X 将其传送给 MAX 3 2 2完成电平转换 , 回 8 返 读时钟一直允许置高 , 可以看 出 d . tt _ 渎 给P C分析通过验证 处理 的 的数据是 否符合 前置位 , 作流程 , 下面先介绍一下 符 IO的工 输格式 每发~ 帧数据包 含—位起始位 、 一 8位数 设 计要求 来证 明收发 系统 的合理 性 。T D给 数据端按顺序输出写入 的数据 , 合 FF X 据位 、 一 位奇偶校验位和_位 停止位 。当发送端 FF — I O提供读使能信号 r e , d n 当数据处理单元完 作原理。 _ 4结 沧 这之 处 于空闲状态时, 一直发送高电平。每次开始发 成 一个数的编码后存 赭器中就存入有效值, Fea芯 片越 来越广泛 的应 用于电子设计 l 送新数据前首先发送一位低 电平的起始位 , 这样 后 T D就可以置 r_ ̄为高提 取存储器数据 。 X de 它与 P c的通信完成设计的调试 起蕾 要 检测端检测到低电平 就能判 断有效数据 已开始 存储器中数据是一位的 0或 l ,发送给 P C接收 当中, P A与 P 的串 口通信 系 C 发送 , 准备接收数据。 之后接 收 8 位有效数据, 由 的数据需要符合异步串行通信 的格式 例如发送 作用 。本 艾实现 了 F G 统, 通过软件仿真和下载测试验证了设计的合理 低位到高位存储。根据收发方约定 , 可以采用无 个 0应先发 一位起始位 0 ,再发送 0的 A G SH 性, 系统可移植性 强 , 于其他场合只需改变 内 对 0 0 0, 1 奇偶校验位方式 , 发送数据率为 9 O 6 O波特。 其发 码 0 0 10 最 后 发 送终 止 位 l 部处理单元的功能 即可使用。 送格式如图 2 分频模块 :P 。 F GA系统的主时钟为 3 F GA主要模块的仿真分析 P 参考文献 5 M, 0 而采样频率为 9 9 " h , 6 0 4 z为了提供采样时 3】 R D模 块仿真 - X 1 l Vr g i I 京: I 北 北 钟 可以将主时钟进行 10 分频。 32 分频可由计数 如图3 所示 ,X R D单元 的接收串行信 号为 【夏字 ̄.eh 数字 系统设计教程f
基于FPGA的UART电路的设计

UART传 送 一 个 字 符 以 起 始 位 ( tr i) 开 S atBt
始 , 以停 止位 ( tp Bt 结 束 ,字 符 之 间 没 有 固 定 So i )
的 时 间 间 隔 要 求 。每 一 个 字 符 的 前 面 都 有 一 位 起 始 位 ( 电 平 ,逻 辑 值 O ,字 符 本 身 由 5 8位 数 据 位 低 ) ~
波特率发 生模 块 、发送模块和接 收模块 ,并 给 出了仿真 结果 。程序 下载 到 F G 芯 片中 ,通信 数据 完全 正确 。 PA
该设计 不仅实现 了异步通讯 的主要 功能 ,而且 电路 简单 ,工 作稳定 、可靠 ,可 以将 其灵 活地嵌 入到各 个通 信系
统 中。
关 键 词 :F GA;UA P RT;VeigHD ro L l
Ab ta t s r c :Th s p p r d s rb s t e f n t n a d c a a t r tc f U ART. Th e u c i n f FP i a e e c i e h u c i n h r c e i is o o s e k y f n t s o GA , wh c o ih ic u e b u a e p o u e , ta s t e n e ev r we e i lm e t d o G n ld a d r t r d c r r n mitr a d r c i e , r mp e n e n FP Th i l t n r s l i a s e smu a i e u t s lo o
De i n o nd o s g f a ki fUART ic i a e o FPGA c r u tb s d n
基于FPGA的串口通信设计与实现

置和输人数据计算出响应
的奇偶校验位,它是通过
纯组合逻辑来实现的。
2.6总线选择模块
总线选择模块用于
选择奇偶校验器的输入是
数据发送总线还是数据接
收总线。
2.7计数器模块
计数器模块的功能
是记录串行数据发送或者
接收的数日,在计数到某
数值时通知UART内核模
块。 3 UART程序设计 UART完整的工作流程可以分为接收过程
关键词:FPGA:UART:RS232
引言 串行接口的应用非常广泛,为实现串口通 信功能一般使用专用串行接口芯片,但是这种 接口芯片存在体积较大、接口复杂以及成本较 高的缺点,使得硬件设计更加复杂,并且结构与 功能相对固定,无法根据设计的需要对其逻辑 控制进行灵活的修改。介绍了一种采用FPGA 实现串口通信的方法。 1串口通信协议 对一个设备的处理器来说,要接收和发送 串行通信的数据,需要一个器件将串行的数据 转换为并行的数据以便于处理器进行处理,这 种器件就是UART(Universal Asynchronous Re— ceiver/Transmitter)通用异步收发器。作为接iSl的 一部分,UART提供以下功能: 1.1将由计算机内部传送过来的并行数据 转换为输出的串行数据流; 1.2将计算机外部来的串行数据转换为字 节,供计算机内部使用并行数据的器件使用; 1.3在输出的串行数据流中加入奇偶校验 位,并对从外部接收的数据流进行奇偶校验: 1.4在输出数据流中加入启停标记,并从 接收数据流中删除启停标记。 2 UART模块设计 UART主要由UART内核、信号检测器、移 位寄存器、波特率发生器、计数器、总线选择器 和奇偶校验器7个模块组成。(见图1) 2.1 UART内核模块 UART内核模块是整个设计的核心。在数 据接收时,UART内核模块负责控制波特率发 生器和移位寄存器同步的接收并且保存 RS一232接收端口上的串行数据。在数据发送 时,UART内核模块首先产生完整的发送序列, 之后控制移位寄存器将序列加载到移位寄存器 的内部寄存器里,最后再控制波特率发生器驱 动移位寄存器将数据串行输出。 2_2信号检测模块 信号检测器用于对RS一232的输入信号进 行实时检测,一旦发现新的数据则立即通知 UART内核。需要注意的是,这里所说的 RS一232输入输出信号都指经过电平转换后的 逻辑信号,而不是RS一232总线上的电平信号。 2_3移位寄存器模块 移位寄存器的作用是存储输入或者输出 的数据。 2.4波特率发生器模块 由于RS一232传输必定是工作在某种波特 率下,比如9600,为了便于和RS一232总线进行 同步,需要产生符合RS一232传输波特率的时 钟。 2.5奇偶校验器模块 奇偶校验器的功能是根据奇偶校验的设
基于FPGA和W5500的串口数据切换系统研究与设计

基于FPGA和W5500的串口数据切换系统研究与设计基于FPGA和W5500的串口数据切换系统研究与设计摘要:串口作为一种常见的通信接口,在嵌入式系统中广泛应用。
本文基于FPGA(Field Programmable Gate Array)和W5500芯片,设计了一种串口数据切换系统。
该系统能够实现多个串口的数据交换和切换操作,并具备高速传输和稳定性。
关键词:FPGA,W5500,串口,数据切换1. 引言串口是一种用于在设备之间进行数据传输的通信接口,在各种嵌入式系统中得到广泛应用。
然而,常见的串口接口数量有限,无法满足复杂系统对多串口的需求。
为了解决这一问题,本文提出了一种基于FPGA和W5500芯片的串口数据切换系统。
2. FPGA和W5500芯片简介2.1 FPGAFPGA是一种可编程逻辑器件,可以根据需求进行编程,实现不同的电路功能。
其灵活性和高度可定制性使得FPGA成为嵌入式系统设计的重要工具。
2.2 W5500芯片W5500是一种以太网控制器,其集成了MAC(Media Access Control)和PHY(Physical Layer)功能。
该芯片能够实现高速数据传输,并支持TCP/IP协议栈。
3. 系统设计3.1 硬件设计本系统使用FPGA作为核心控制器,通过FPGA与多个串口通信。
为了实现数据切换,本文引入W5500芯片,利用其高速传输和稳定性,实现串口数据的交换和切换。
具体的硬件设计包括FPGA和W5500的连接,以及串口与W5500的连接。
3.2 软件设计本系统的软件设计主要包括FPGA的逻辑设计和W5500的驱动程序设计。
FPGA的逻辑设计根据具体需求,编写程序实现串口数据的交换和切换。
W5500的驱动程序设计则包括数据的接收和发送等功能。
4. 系统性能测试为了验证本系统的性能,对其进行了多方面的测试。
首先,测试系统能够稳定运行并实现串口数据的交换和切换。
其次,测试系统的数据传输速度和实时性,确保系统能够满足实际应用的需求。
基于FPGA的串口通信设计

基于FPGA的串口通信设计引言:串口通信是现代计算机通信系统中的常见通信方式。
它可以在计算机和外部设备之间传输数据,具有低成本、简单易懂、可靠性高等特点。
然而,在一些应用场景下,传统的软件串口通信无法满足需求,因此使用FPGA来实现硬件串口通信变得愈发重要。
本文将重点介绍基于FPGA的串口通信设计,包括串口通信原理、FPGA硬件实现以及设计注意事项。
一、串口通信原理:串口通信的原理很简单,将数据通过一根导线(或多根导线)依次发送和接收。
它使用一个起始位、数据位(常为8位)、奇偶校验位(可选)和一个或多个停止位来组成一个数据帧。
发送数据时,串口将数据帧从最低位开始逐位发送,并在每位发送完毕后根据波特率发送下一位。
接收数据时,串口根据波特率和起始位检测到数据的到来,并从起始位开始逐位接收。
二、FPGA硬件实现:FPGA可以通过其可编程逻辑单元(FPGA的核心组件)实现硬件串口通信。
下面是基于FPGA的串口通信设计主要步骤:1.FPGA引脚分配:首先,选择合适的FPGA芯片,并确定通信所需的引脚数量。
然后,根据引脚分配表将引脚与FPGA的可编程逻辑单元相连接。
2.接口电平转换:在FPGA和外设之间可能存在电平不匹配的情况。
为了实现正确的数据传输,需要使用电平转换电路进行适配。
3.帧同步信号生成:FPGA需要生成适当的时钟信号和帧同步信号,以使数据能够正确地按位传输和接收。
帧同步信号指示数据的起始和终止。
4.数据传输实现:FPGA需要根据串口通信原理,按照波特率逐位地发送和接收数据。
在发送数据时,FPGA将数据从最低位开始逐位输出到引脚,并根据起始位、数据位、奇偶校验位和停止位生成完整的数据帧。
在接收数据时,FPGA根据时钟信号和帧同步信号,逐位地接收到达的数据,以获得完整的数据帧。
5.数据校验和处理:FPGA可以实现奇偶校验的功能,以检测接收到的数据是否正确。
此外,还可以在FPGA内部对接收到的数据进行处理,例如数据解码、错误检测等。
基于FPGA实现CRC校验功能的通用异步串口通信
T ONG a .o g.S Xio r n HENG h n . io Z o g ba ( o eeo te t sa dIfr t nS i c ,We a ec es iesy We a 10 0 hn ) C l g f l Mahma c n nomai ce e i o n i nT ah r vri , i n74 0 ,C ia n Un t n
Ab t a t U T i u e d l st e i tr c fRS 2 2,t ba n a c r t e a o sr c : AR s s d wie y a h e a e o - 3 n f o o ti c u ae s r lc mmu i ain o i nc t f o dt aa,asmp e a d p a t a c e o i l n r ci l h me frUAR e in a d x aia in w sp t o w r .C ci e u d n y c s T d s n e l t a u r a d y l r d n a c g ; z o f c
Tas t r 一种应 用 广 泛 的于 短距 离 串行 传 输 rnmie)是 t 接 口, 常用 于 短 距 离 、 速 、 成 本 通 信 中 , 于 常 低 低 基
FG P A实现起来简单, 方便_ 。为保证传输 的可靠 1 ] 性, 就需要对通信过程进行差错控制 , R C C循环冗 余校验模块是一种查错能力强 , 高效, 可靠的方法 , 在
论分析一致 ,达到 了 预期设计的 目 标。提高了通信的速度 、可靠性和效率。 关键 词 :F G C C检验 ; 用异 步收 发器 ; 靠性 P A; R 通 可
基于fpga的串口通信
基于FPGA的串口通信设计学号:姓名:班级:指导教师:电子与控制工程学院一、串行通信系统1.1概述在计算机系统和微机网络的快速发展领域里串行通信在数据通信及控制系统中得到广泛的应用。
UART 即Universal AsynchronousReceiver Transmitter 通用异步收发器 协议是数据通信及控制系统中广泛使用的一种全双工串行数据传输协议 在实际工业生产中有时并不使用UART的全部功能。
只需将其核心功能集成即可。
波特率发生器、接收器和发送器是UART的三个核心功能模块 利用Verilog-HDL语言对这三个功能模块进行描述并加以整合UART是广泛使用的串行数据传输协议。
UART允许在串行链路上进行全双工的通信。
串行外设用到RS232-C异步串行接口 一般采用专用的集成电路即UART实现。
如8250、8251、NS16450等芯片都是常见的UART器件 这类芯片已经相当复杂有的含有许多辅助的模块 如FIFO有时我们不需要使用完整UART的功能和这些辅助功能。
或者设计上用到了FPGA/CPLD器件那么我们就可以将所需要的UART功能集成到FPGA内部。
使用VHDL或Veriolog -HDL将UART的核心功能集成从而使整个设计更加紧凑、稳定且可靠。
本文应用EDA技术 基于FPGA/CPLD器件设计与实现UART。
通信指人与人或人与自然之间通过某种行为或媒介进行的信息交流与传递从广义上指需要信息的双方或多方在不违背各自意愿的情况下无论采用何种方法使用何种媒质 将信息从某方准确安全传送到另方。
通信在不同的环境下有不同的解释在出现电波传递通信后通信(Communication)被单一解释为信息的传递是指由一地向另一地进行信息的传输与交换其目的是传输消息。
然而通信是在人类实践过程中随着社会生产力的发展对传递消息的要求不断提升使得人类文明不断进步。
在各种各样的通信方式中利用“电”来传递消息的通信方法称为电信(Telecommunication) 这种通信具有迅速、准确、可靠等特点且几乎不受时间、地点、空间、距离的限制 因而得到了飞速发展和广泛应用。
基于FPGA的PCI总线串口卡设计
它 的部 分 功 能 , 造 成 一 定 的 资 源 浪 费 , 且 专 用 芯 片 会 而 价 格 高 。2 使 用 可 编 程 器 件 F G 使 用 F G 较 使 用 专 () P A。 PA
用 芯 片 具 有 以 下 优 点 : 方 面 用 户 可 以根 据 需 要 进 行 设 一 计 , 会 浪 费 资 源 ; 一 方 面 可 以 将 P I 口 、 A T都 不 另 C 接 U R
fcolo n r ai n o m n a o nier g ot U i rt o hn ,T i a 30 1 C ia Sho fI om tn ad C m u i t n E gne n ,N r nv s y fC i f o ci i h e i a a un 0 0 5 , hn ) y
C r o ain.r e n r d c d meh d f d sg te C i tr c . UAR n t e a F GA. F GA s u e t mb d t e o e o p rt o r i t u e a h o to o e in h P I ne f e a T i h s me P P i s d o e e c r h
计 符合 P I . 范 , 输速 率 高 , C 2规 2 传 可广 泛应 用于各 类 测试 设备 、 工厂 自动化 、 线 通信 等领 域 。 有
关 键 词 :P I总 线 ;F G C P A;串 口 ;U T;WiD ie AR nr r v
中 图 分 类 号 :T 3 6 P 3 文 献 标 识 码 :A
a p r ’ t n mis n ae s ey i h l ot s r s s i r t v r h g .T e eo e t c n a o i h r fr ,i a wiey b a p id n u h f l s s e t q i me t , s o a t main, d l e p l i s c ed a t s e i e u p n s h p u o t o
基于FPGA的接口转换电路设计
基于FPGA的接口转换电路设计摘要:21世纪是信息化的世纪,计算机技术迅速发展,越来越多的计算机采用传输速率更快且性能更加优良的USB接口,而个人计算机上的RS232,正在逐渐被淘汰。
但在工业领域中RS232应用仍十分广泛。
本文在此应用背景下,研究和设计USB与RS232之间的接口转换电路,硬件开发采用了SOPC设计,添加不同功能的模块,构建NIOSII系统,在QuartuII中完成硬件开发,而软件开发在NIOSIIIDE中完成,利用FPGA 平台,实现USB与RS232之间的接口转换,实现上位控制计算机与底层设备之间的数据通信。
关键词:USB接口;RS232接口;FPGA;SOPC随着计算机科学技术的迅速发展,如今对计算机的数据通信速度有了更高的要求,因此计算机的外围接口也发展迅速。
由于USB在个人计算机上应用越来越广泛,逐渐淘汰了RS232,但目前仍然很多采用RS232串行接口的工业设备、仪器仪表领域中,考虑到可行性和成本原因,立即将这些设备改造成USB接口是不可行的。
因此本文选择在FPGA开发平台下实现USB转RS232接口,通过这样将计算机与传统的设备相连,实现USB与RS232接口的双向数据传输,同时也扩大了USB的传输距离。
一、基于FPGA嵌入式IP的SOPC系统基于FPGA的嵌入式IP硬核SOPC系统是在FPGA中预先植入NIOS处理器。
为了更好的通用性,必须将常规的嵌入式处理器集成诸多通用和专用的接口,但这样又不得不增加芯片的成本和功耗。
但如果将ARM或者其他处理器核以IP硬核的方式植入FPGA中,利用FPGA的可编程逻辑资源和可擦除性,按照系统功能需求来添加接口功能模块,如USB模块和RS232模块,既能实现目标系统功能,又能实现系统的低成本和低功耗。
这样使得FPGA灵活的硬件设计与处理器的强大软件功能有机地结合在一起,更有效地实现SOPC系统。
虽然基于FPGA嵌入IP硬核能有效降低系统成本和功耗,但也有不足之处:(1)IP硬核多来自第三方公司。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中北大学
毕业设计中期总结
学生姓名:袁财源学号:1206044145 学院:仪器科学与技术
专业:电子科学与技术
设计题目:基于FPGA串口通信的
电路和程序设计
指导教师: 郭涛
2015 年1月5日
毕业设计中期总结
1.开题以来所做的具体工作和取得的进展或成果(方案、图纸、代码等支撑,任务书要求与已完成工作对照表)
1.设计方案
RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。
使用RS232串口通信接口模块的目的是用于电平转换。
由于FPGA输出的TTL电平与串口发送的电平不一致,因此,采用电平转换器MAX232。
MAX232是一种双组驱动器/接收器,片内含有一个电容性电压发生器,以便在单5V 电源供电时提供EIA/TIA-232-E电平,来实现RS232信号和单片机串口信号之间的电平转换。
其工作电压3.0-5.5V,可将TTL电平转换成RS-232标准电平。
从而实现了FPGA 与上位机之间的串口通信。
FPGA上位机
MAX232
电路主要框图
2.相关知识
MAX232芯片结构
第一部分是电荷泵电路。
由1、2、3、4、5、6脚和4只电容构成。
功能是产生+12v 和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。
由7、8、9、10、11、12、13、14脚构成两个数据通道。
其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。
8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
TTL/CMOS数据从11引脚(T1IN)、10引脚(T2IN)输入转换成RS-232数据从14脚(T1OUT)、7脚(T2OUT)送到电脑DB9插头;DB9插头的RS-232数据从13引脚(R1IN)、8引脚(R2IN)输入转换成TTL/CMOS数据后从12引脚(R1OUT)、9引脚(R2OUT)输出。
第三部分是供电。
15脚GND、16脚VCC(+5v)。
RS232 (DB9)引脚定义
1 :DCD :载波检测。
主要用于Modem通知计算机其处于在线状态,即Modem检测到拨号音,处于在线状态。
2 :RXD:此引脚用于接收外部设备送来的数据;在你使用Modem时,你会发现RXD 指示灯在闪烁,说明RXD引脚上有数据进入。
3 :TXD:此引脚将计算机的数据发送给外部设备;在你使用Modem时,你会发现TXD 指示灯在闪烁,说明计算机正在通过TXD引脚发送数据。
4 :DTR:数据终端就绪;当此引脚高电平时,通知Modem可以进行数据传输,计算机已经准备好。
5 :GND:信号地;此位不做过多解释。
6 :DSR:数据设备就绪;此引脚高电平时,通知计算机Modem已经准备好,可以进行数据通讯了。
7 :RTS:请求发送;此脚由计算机来控制,用以通知Modem马上传送数据至计算机;否则,Modem将收到的数据暂时放入缓冲区中。
8 :CTS: 清除发送;此脚由Modem控制,用以通知计算机将欲传的数据送至Modem。
9 :RI : Modem通知计算机有呼叫进来,是否接听呼叫由计算机决定。