新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 一种高可靠性的计算机与FPGA串行通信的实现

一种高可靠性的计算机与FPGA串行通信的实现

作者: 时间:2011-12-21 来源:网络 收藏


2 收发模块的
要使具有数据的收发功能,则收、发两模块必不可少,与此相关联的还需要收、发的时钟即波特率产生器,收发监视器以及输入/输出缓冲器。本文采用先进先出存储器(First in First Out,FIFO)作为收发数据的双向缓冲器。如图3所示为串口数据收发的整体框图。收、发模块原理基本相同,只是发送区的发送控制信号受FIFO的读空信号控制。本文重点介绍接收数据的过程。
2.1 接收区模块
接收区模块负责数据的接收并转换为并行数据,然后送入FIFO存储器以备后用。它主要由起始位检测模块、波特率可调的波特率产生模块和接收模块组成。
(1)波特率产生器
的传输受到双方配备性能及线路的特性所左右,收、发双方必须约定相同的速率进行通信,即收、发双方采用相同的数据传输速率,就仪器和工业场合来说,最常见的数据传输率有4 800 b/s,9 600 b/s等,现在个人提供的串行端口的数据传输率甚至达到115 200 b/s。若传输距离较近且设备提供的情况下使用最高的数据传输率。本文所列的波特率产生器灵活多变,可以根据实际条件选择不同的数据传输率。设计中添加了一位拨码开关(Key),故运行中可以在两种波特率中进行选择。这里选用了4 800 b/s,9 600 b/s两种常见的数据传输速率,当Key为低电平时选择4 800 b/s,为高电平时选择9 600 b/s。当然,以此类推运用二个拨码开关即可4种波特率的互调等。
本文采用50 MHz时钟源,所以要得到4 800 b/s和9 600 b/s的传输率分别需要进行5 208次和31 250次分频。分频参数如表1所示。从表中第1,3两行可以看出如果只用系统提供的50 MHz时钟源,得到的两种波特率均存在误差0.006 4%。可以灵活运用倍、分频原理进一步减小误差。从表中第2,4行可以看出,当时钟提高到150 MHz时,两种数据传输率的分频系数刚好能取到整数,也就是说实际可以得到理想的数据传输速率。但从50~150 MHz需要经过3倍频,如果硬件允许的情况下可以采用3倍频,能够使传输更高,本文采用的就是此方法。由于设计中采用的硬件是Altera公司CycloneⅡ系列FPGA,拥有2个锁相环,可以进行灵活的倍、分频,所以能够满足3倍频的要求。

本文引用地址:https://www.eepw.com.cn/article/155412.htm

c.jpg


(2)起始位检测器与接收模块为使得程序清晰,这两个模块用状态机进行实现,如图4所示。系统复位后进入空闲状态,空闲状态时起始位检测器不断检测接收管脚(RxD)上的信号,当检测器检测到低电平到来后,状态转移到接收状态,接收模块便按照约定的波特率开始接收数据,如图5所示。与此同时建立相应的接收位计数器,当计数满11后(1位起始位、8位数据位、1位校验位和1位停止位),状态又反跳到空闲状态,如此循环下去,不断接收来自上位机发送的数据。同时为使得接收的数据更加稳定,设计时在接收模块接收时采用中间采样的方法,如选择9 600 b/s的数据传输率,则在半分频系数即7 812时采样数据。

d.jpg


2.2 存储器
接收区接收一帧数据后将数据位存入临时寄存器中,为防止新数据对其覆盖,故在此添加一个存储器,每接收1 B数据后将临时寄存器中的数据写入FIFO中。这里采用了异步的先进先出存储器,实现简单,直接调用相应的IP核。模块中选择8位数据位,存储深度可根据器件特性灵活选择,这里选则4个字的存储深度。本文只是为了测试通信的正确性,且收、发速率相同,所以4个字的存储深度能够满足要求。FIFO外部管脚主要包括读/写时钟,数据输入/输出以及读空信号,实验中读空信号rdempty送到发送检测器输入端用来控制FIFO对外的数据输出。如图6所示为其在QuartusⅡ下的功能仿真图。wrclk和rdclk分别为写时钟和读时钟,当写信号wrreq有效时将外部数据data写入FIFO,本设计中读信号rdreq由读空信号rdempty控制,当读空信号rdempty为低电平(FIFO非空)时读信号rdreq有效,此时将FIFO中的数据读出并通过q端输出,读空FIFO后读空信号rdreq跳到高电平。

e.jpg



3 基于VB的上位机程序设计
为了验证PC机与FPGA硬件的通信,上位机采用Visual Basic开发Windows下的测控软件。就串口而言,利用VB开发了串口通信程序有两种方法:一是使用MSComm串口控件;二是调用Windows API函数。本文采用了前者,与调用API函数相比,MSComm控件实现更加方便、快捷。



评论


相关推荐

技术专区

关闭