当前位置:首页 > EDA > 电子设计自动化
[导读]摘要: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.3 发送电路原理描述
    以波特率为9 600b/s的时序为例,在发送数据之前,系统微处理器将相应波特率参数锁存在FPGA内部的波特率控制电路的寄存器内(由触发器构建),使每次输出的字符同步信号的周期为104.167μs(对应波特率9 600b/s)。
    当系统发出发送启动信号时,字符时序电路以每个字符104.167μs的速率在预发射数据的逻辑电平控制之下输出时序信号,同时在时序中插入停止位和起始位字符信号。
    在完成上述发送时序的过程中,时序计数控制电路会检测发送时序的工作状态,当检测每次时序的停止位完成输出后,时序计数控制电路会发出时序关闭反馈信号,使电路回复到预发射的初始工作状态,并等待处理器再次触发时序电路和对数据参数的重置。

2 接收逻辑电路的设计
2.1 接收时序设计
    接收时序电路原理框图如图2所示。


2.2 接收电路原理描述
    以波特率为9 600b/s的时序为例,在接收数据之前系统微处理器将相应波特率参数锁存在FPGA内部的波特率控制电路的寄存器内(由触发器构建),使每次输出的字符位同步信号的周期为104.167 μs(对应波特率9 600b/s)。字符位同步信号是接收电路存储接收数据逻辑状态的关键。作为同步时钟信号,该信号可驱动接收到的串行数据电平输入移位寄存器内并锁存。
    当系统接收到一帧串行信号时,首先要判断是否是新的一帧数据,接收判决电路通过对输入串行信号的起始位字符脉宽进行裁决,按照RS 232接口通信协议在某一特性波特率下,一帧信号的起始是一定脉宽的负脉冲。通过计数器可以检测到负脉冲的起始时间和脉冲宽度,当脉冲宽度达到某一数值时启动接收时序。
    接收时序电路会通过被记录下的接收信号的准确到达时间,推算出每个串行数据位对应的时序时刻,从而输出对应每个位中间时刻的字符位同步信号(脉冲)作为接收移位寄存器的同步时钟信号驱动移位寄存器对接收数据电平的记录。
    被锁存的数据通过并行总线被系统微处理器提取。这一过程可以通过对处理器的中断实现,但需要接收时序电路在完成数据接收后立即产生一个中断信号,通知处理器提取接收数据。
    接收时序计数器会对接收时序时间进行检测,当接收时序到达结束时刻时,其输出的时序关闭反馈信号会使接收电路恢复到初始工作电路,等待下一帧数据的到达。

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

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

可调电容作为一种重要的电子元器件,在电路设计中具有广泛的应用。本文将对可调电容的基本概念、工作原理、调用方法以及应用场景进行详细探讨,旨在帮助读者更好地理解和应用可调电容。

关键字: 可调电容 电子元器件 电路设计

近日,国内新一代激光陀螺驱动系列功能芯片问世,由湖南二零八先进科技有限公司(下简称“二零八公司”)技术团队研发。相比行业内普遍应用的上一代激光陀螺驱动控制电路,激光陀螺驱动专用芯片降低了电路设计难度,大幅减小体积重量,实...

关键字: 激光陀螺仪电路 芯片 电路设计

R是施密特触发器输入端的一个10KΩ下拉电阻,时间常数为10×10-6×10×103=100ms。

关键字: 复位 电路设计 施密特触发器

学好电子技术基础知识,如电路基础、模拟电路、数字电路和微机原理。这几门课程都是弱电类专业的必修课程,学会这些后能保证你看懂单片机电路、知道电路的设计思路和工作原理;

关键字: 单片机 编程 电路设计

Buck-Boost电路工作原理及其应用你有没有去了解过呢?随着科技的不断发展,电力电子技术在各个领域得到了广泛的应用。其中,Buck-Boost电路作为一种重要的电力电子变换器,具有很高的实用价值。本文将对Buck-B...

关键字: buck-boost 电路设计

本文是开发测量核心体温( CBT )传感器产品的刚柔结合电路板的通用设计指南,可应用于多种高精度(±0.1°C)温度检测应用。

关键字: 温度传感器 电路设计

自9月22日开始,2023年中国大学生工程实践与创新能力大赛选拔赛在全国各省市陆续展开,10月29日北京、海南、新疆等区域选拔赛成功举办,也为今年的选拔赛画上了圆满的句号。在此,向那些成功晋级国赛的选手们致以热烈祝贺,同...

关键字: PCB 电路设计

自从智能手机、平板电脑、笔记本电脑的兴起,内置的锂电池技术没有革命性突破,续航问题一直伴随着这些数码设备,移动电源的出现给我们出行过程中学习、工作、娱乐提供了更多额外的电量,可谓是功不可没。

关键字: 移动电源 电路设计 智能手机

低纹波直流稳压电源设计基于晶体管显示在这里。这种晶体管稳压器适用于需要高输出电流的应用。常规一系列综合监管机构,像7805只能提供高达1A。其他系列通晶体管被添加到7805稳压电路,为改善他们目前的能力。

关键字: 直流 稳压电源 电路设计

EDA(电子设计自动化)技术可以应用于显示应用的不同方面。以下是一些主要的实现方式: PCB设计:在电子系统中,印刷电路板(PCB)是用于承载和连接各种电子元件的关键部件。在PCB上,可以焊接和配置电子元件,以实现电子...

关键字: EDA技术 电路设计
关闭
关闭