当前位置:首页 > 工业控制 > 电子设计自动化
[导读]摘要:RS 232接口是现在最常用的一种通信接口。随着FPGA技术的高速发展,一些常见的接口电路的时序电路可以通过FPGA实现,通过这种设计可减少电路系统元件的数量,提高系统集成度和可靠性。详细阐述了如何通过FPGA实

摘要:RS 232接口是现在最常用的一种通信接口。随着FPGA技术的高速发展,一些常见的接口电路的时序电路可以通过FPGA实现,通过这种设计可减少电路系统元件的数量,提高系统集成度和可靠性。详细阐述了如何通过FPGA实现RS 232接口的时序逻辑设计。

关键词:FPGA;时序电路;RS 232;串行通信

0 引言

RS 232接口是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通信的标准。它的全名是“数据终端设备(DTE)和数据通信设备(DCE)之间串行二进制数据交换接口技术标准”。该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。随着设备的不断改进,出现了代替DB25的DB9接口,现在都把RS 232接口叫做DB9。RS 232接口是最常见的一种串行通信接口,普通PC机一般都具有此类接口,其最高通信速率(波特率)为115.2 Kb/s。采用9 600b/s进行数据传输交换的应用较多。通过FPGA实现其时序电路,主要完成发送和接收两部分逻辑电路的设计。

1 发送逻辑电路的设计

1.1 时序近似

RS 232接口可选的波特率如9 600b/s,115.2 Kb/s等同11.059 2 MHz的时钟有着整数倍的关系,但通常情况下提供FPGA的时钟大多采用频率为40~80 MHz,同11.059 2 MHz之间存在一定的时序误差。

例如一个由1个起始位,8个数据位,1个停止位组成,假定串行信号的波特率为9 600b/s,则每个位的时序时间为:

104 166.666 666 666 666 666 666 666 666 67 ns

相当于80 MHz计数器计数到:

8 333.333 333 333 333 333 333 333 333 333 3舍去小数部分。

由80 MHz驱动的计数器产生时序时每个字符误差为4.166 666 666 666 666 666 666 666 666 666 7 ns。这样由10个字符组成的一次发射时序误差约为41.7 ns小于1/1 000可以忽略不计。

1.2 发送时序设计

RS 232接口的时序电路由启动电路、字符产牛电路、同步时钟产生电路。波特率控制电路,和时序关闭电路组成。发送时序电路原理框图如图1所示。

图1 发送时序电路原理框图

1.3 发送电路原理描述

以波特率为9 600b/s的时序为例,在发送数据之前,系统微处理器将相应波特率参数锁存在FPGA内部的波特率控制电路的寄存器内(由触发器构建),使每次输出的字符同步信号的周期为104.167μs(对应波特率9 600b/s)。

当系统发出发送启动信号时,字符时序电路以每个字符104.167μs的速率在预发射数据的逻辑电平控制之下输出时序信号,同时在时序中插入停止位和起始位字符信号。

在完成上述发送时序的过程中,时序计数控制电路会检测发送时序的工作状态,当检测每次时序的停止位完成输出后,时序计数控制电路会发出时序关闭反馈信号,使电路回复到预发射的初始工作状态,并等待处理器再次触发时序电路和对数据参数的重置。

2 接收逻辑电路的设计

2.1 接收时序设计

接收时序电路原理框图如图2所示。

图2 接收时序电路原理框图

2.2 接收电路原理描述

以波特率为9 600b/s的时序为例,在接收数据之前系统微处理器将相应波特率参数锁存在FPGA内部的波特率控制电路的寄存器内(由触发器构建),使每次输出的字符位同步信号的周期为104.167 μs(对应波特率9 600b/s)。字符位同步信号是接收电路存储接收数据逻辑状态的关键。作为同步时钟信号,该信号可驱动接收到的串行数据电平输入移位寄存器内并锁存。

当系统接收到一帧串行信号时,首先要判断是否是新的一帧数据,接收判决电路通过对输入串行信号的起始位字符脉宽进行裁决,按照RS 232接口通信协议在某一特性波特率下,一帧信号的起始是一定脉宽的负脉冲。通过计数器可以检测到负脉冲的起始时间和脉冲宽度,当脉冲宽度达到某一数值时启动接收时序。

接收时序电路会通过被记录下的接收信号的准确到达时间,推算出每个串行数据位对应的时序时刻,从而输出对应每个位中间时刻的字符位同步信号(脉冲)作为接收移位寄存器的同步时钟信号驱动移位寄存器对接收数据电平的记录。

被锁存的数据通过并行总线被系统微处理器提取。这一过程可以通过对处理器的中断实现,但需要接收时序电路在完成数据接收后立即产生一个中断信号,通知处理器提取接收数据。

接收时序计数器会对接收时序时间进行检测,当接收时序到达结束时刻时,其输出的时序关闭反馈信号会使接收电路恢复到初始工作电路,等待下一帧数据的到达。

3 结论

通过FPGA实现RS 232接口时序逻辑电路,已经在工程实践过程中实现了接口标准规定的全部功能。可以认为,通过FPGA的逻辑电路设计可以完全取代专用芯片。介于FPGA的可塑性和灵活性,可以通过相应逻辑电路设计实现包括以太网,USB、RS 485等常见的数据接口。

参考文献:

[1].DB25datasheethttp://www.dzsc.com/datasheet/DB25_2528709.html.

1次

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在电子电路中,电解电容的纹波电流承受能力直接影响其使用寿命和电路稳定性。准确测试纹波电流不仅能验证电容性能是否达标,也是电路设计可靠性验证的关键环节。以下从测试原理、设备准备、操作步骤到数据解读,全面介绍电解电容纹波电流...

关键字: 电解电容 纹波电流 电路设计

在当今数字化时代,汽车不再仅仅是一种交通工具,更是一个移动的智能空间。随着人们对汽车电子设备依赖程度的不断提高,车内 USB 接口的重要性也日益凸显。从最初单纯为手机充电,到如今支持数据传输、连接各种智能设备,USB 接...

关键字: 接口 数据传输 汽车供电

根据Semico Research的预测,到2025年RISC-V芯片出货量将达到624亿颗,覆盖计算、消费电子和工业等领域。而在这其中,RISC-V MCU是整个RISC-V生态的基本盘,以高质量、应用驱动的解决方案为...

关键字: 青稞 RISC-V 沁恒 接口 MCU

在电子电路设计与实践中,稳压芯片是维持稳定输出电压的关键组件。然而,当我们将两个输出电压不同的稳压芯片的输出脚连接在一起时,会引发一系列复杂的物理现象和潜在风险。这一操作不仅违反了常规的电路设计原则,还可能对电路系统造成...

关键字: 稳压 芯片 电路设计

在当今电子技术飞速发展的时代,随着电子产品不断向小型化、高性能化迈进,印刷电路板(PCB)的设计变得愈发复杂和精密。过孔,作为 PCB 中连接不同层线路的关键元件,其对信号完整性的影响已成为电路设计中不可忽视的重要因素。...

关键字: 印刷电路板 电路设计 信号

时序在数字系统中占有至关重要的地位,时序约束对数字系统的设计起着显著的作用,定义时序约束是一个相当复杂的过程。

关键字: 数字系统 时序

IIC(Inter IC Bus)协议是一种广泛应用于嵌入式系统中的同步半双工通信协议。随着电子设备的复杂性不断增加,高多层电路板设计变得越来越普遍。在高多层电路板中实现可靠的IIC通信,需要综合考虑布线策略、电源设计、...

关键字: 电路板 电路设计

在现代高速、高密度的电路设计领域,电路完整性是确保电子系统可靠运行的关键要素。回路电感作为电路中的一个重要参数,对电路完整性有着多方面的深远影响。从信号传输的准确性到电源系统的稳定性,回路电感在其中扮演着不容忽视的角色。...

关键字: 电子系统 回路电感 电路设计

在现代汽车电子控制系统中,CAN(Controller Area Network,控制器局域网)总线作为一种高效、可靠的通信协议,发挥着举足轻重的作用。它不仅连接着发动机控制单元(ECU)、变速器控制单元、制动系统控制单...

关键字: 车规级CAN总线 电路设计

串联一个二极管,是利用二极管的单向导电的特性,实现了最简单可靠的低成本防反接功能电路。这种低成本方案一般在小电流的场合,类似小玩具等。

关键字: 电路设计 串联
关闭