实现FPGA与PC的串行通信

2012-03-31 13:50:18来源: 互联网 关键字:FPGA  PC  串行通信
摘    要:本文主要介绍了基于FPGA技术实现与PC串行通信的过程,给出了各个模块的具体实现方法,分析了实现结果,验证了串行通信的正确性。

引言
串行通信即串行数据传输,实现FPGA与PC的串行通信在实际中,特别是在FPGA的调试中有着很重要的应用。调试过程一般是先进行软件编程仿真,然后将程序下载到芯片中验证设计的正确性,目前还没有更好的工具可以在下载后实时地对FPGA的工作情况和数据进行分析。通过串行通信,可以向FPGA发控制命令让其执行相应的操作,同时把需要的数据通过串口发到PC上进行相应的数据处理和分析,以此来判断FPGA是否按设计要求工作。这样给FPGA的调试带来了很大方便,在不需要DSP等其他额外的硬件条件下,只通过串口就可以完成对FPGA的调试。本文采用QuartusⅡ3.0开发平台,使用Altera公司的FPGA,设计实现了与PC的串行通信。

图1   总体框图

图2 发送接收流程图

图3  状态机变换

总体设计
主要设计思想:PC向串口发送命令,FPGA通过判断接收的控制字执行相应的操作,总体框图如图1所示。
设计包括三部分:1、通过向I/O端口发送高低电平以达到控制外部硬件的要求。2、完成芯片内部逻辑的变化。3、将需要的数据先存起来(一般采用内部或外部FIFO),然后通过串口将数据发送到PC,PC将接收的数据进行处理和分析。串口采用标准的RS-232协议,主要参数的选择:波特率28800bit/s、8位有效位、无奇偶校验位、1位停止位。

FPGA中各模块的实现
分频模块
设计中需要将3.6864MHz的时钟进行64分频变为57600 波特作为其他模块的时钟基准。具体实现时采用一个6位计数器,将计数器的溢出作为时钟的输出即可实现整数分频。
发送接收模块
此模块是整个设计的核心部分。设计流程如图2所示。
在串行通信中,无论发送或接收,都必须有时钟脉冲信号对所传送的数据进行定位和同步控制,设计中采用的时钟频率是波特率的两倍(57600 bit/s)。接收过程:初始状态是等待状态,当检测到0时进入检验状态,在检验状态下如果再检测到0则进入接收数据状态,当接收完8位比特数后判断是否有停止位,如果有则结束接收过程重新进入等待状态。发送过程:初始状态是等待状态,当接收到开始发送的信号则进入发送过程,先发送起始位,再发送8位比特数,每位宽度为2个周期,当一个字节发送完毕后发送一个停止位,发送结束,重新回到等待状态。
控制模块
主要实现的功能是:判断从PC接收的数据,根据预先设计的逻辑进行相应的状态转换。例如:给端口预置一个状态;送开始发送的标志位,送准备发送的数据;给DDS送配置信号,控制FIFO的读写。程序中状态机设计如图3所示。
设计中需要注意的问题
波特率的选择对于

[1] [2]

关键字:FPGA  PC  串行通信

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2012/0331/article_15548.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于FPGA的同步测周期高精度数字频率计的设计
下一篇:CPU读/写存储器的步骤过程举例说明

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
FPGA
PC
串行通信

小广播

独家专题更多

TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved