您现在的位置:首页 > 科技成果科技成果

基于FPGA技术实现与PC串行通信

发布时间:2018-06-13 06:06:42  来源:大电流电感厂家   查看:

摘要:本文主要介绍了基于FPGA技术实现与PC串行通信的过程,给出了各个模块的具体实现方法,分析了实现结果,验证了串行通信的正确性。

引言

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

总体设计

主要设计思想:PC向串口发送命令,FPGA通过判断接收的控制字执行相应的操作,总体框图如图1所示。


图1 总体框图

设计包括三部分:1、通过向I/O端口发送高低电平以达到控制外部硬件的要求。2、完成芯片内部逻辑的变化。3、将需要的数据先存起来(一般采用内部或外部FIFO),然后通过串口将数据发送到PC,PC将接收的数据进行处理和分析。串口采用标准的RS-232协议,主要参数的选择:波特率28800bit/s、8位有效位、无奇偶校验位、1位停止位。
FPGA功率电感中各模块的实现

分频模块

设计中需要将3.6864MHz的时钟进行64分频变为57600 波特作为其他模块的时钟基准。具体实现时采用一个6位计数器,将计数器的溢出作为时钟的输出即可实现整数分频。

发送接收模块

此模块是整个设计的核心部分。设计流程如图2所示。


图2 发送接收流程图

在串行通信中,无论发送或接收,都必须有时钟脉冲信号对所传送的数据进行定位和同步控制,设计中采用的时钟频率是波特率的两倍(57600 bit/s)。接收过程:初始状态是等待状态,当检测到0时进入检验状态,在检验状态下如果再检测到0则进入接收数据状态,当接收完8位比特数后判断是否有停止位,如果有则结束接收过程重新进入等待状态。发送过程:初始状态是等待状态,当接收到开始发送的信号则进入发送过程,先发送起始位,再发送8位比特数,每位宽度为2个周期,当一个字节发送完毕电感厂家后发送一个停止位,发送结束,重新回到等待状态。
控制模块

主要实现的功能是:判断从PC接收的数据,根据预先设计的逻辑进行相应的状态转换。例如:给端口预置一个状态;送开始发送的标志位,送准备发送的数据;给DDS送配置信号,控制FIFO的读写。程序中状态机设计如图3所示。



图3 状态机变换

设计中需要注意的问题

波特率的选择对于串口通信是很重要的,波特率不应太大,这样数据才会更稳定。整个发送接收过程中起始位的判别和发送是数据传输的前提。为了避免误码的产生,在FPGA设计中的串行输入和输出端口都应该加上一个数据锁存器。

仿真结果

基本的发送接收如图4所示,clk是时钟信号(57600 bit/s);start_xmit是开始发送标志位;sin是串行输入;datain是并行一体成型电感输出;read_bit是接收结束标志位;xmit_bit是发送结束标志位;sout是串行输出;dataout是并行输出;rcv_bit 是接收位数寄存器。发送接收模块主要完成把从sin端口接收的串行数据变为并行数据送给dataout;把并行数据datain变成串行数据功率电感器通过sout端口串行发送。


图4 发送接收过程

接收:判断接收的串行数据sin是否是连续的两个0,如果是则进入接收过程;每两个时钟周期接收1个比特的数据,依次接收到01101010,如果接收到停 止位表明这个接收过程结束read_bit=1。根据串行通信协议,数据是按照先低位,后高位的顺序发送的,所以实际接收的是01010110。发送:待发送的并行数据为01010110,当start_xmit=1发送有效,进入发送过程;首先发送两个起始位0,保证长度为两个时钟周期,然后依次发送01101010,每两个时钟周期发送1比特,最后发送停止位,发送过程结束xmit_bit为1。 平面变压器厂家 | 平面电感厂家

USB端口对NiMH电池智能充电的实现概述 通用串行总线(USB)端口是一种带有电源和地的双向数据端口。USB可以连接所有类型的外围设备,包括外 部驱动器、存储设备、键盘、鼠标、无线接口、摄像机和照相机、MP3播放器以及数不尽的各种电子设

基于中颖SH79F081的电动自行车控制器设计摘 要:方波驱动的无刷直流电机由于力矩大,运行可靠,在电动车控制器中广泛应用,方波驱动最大的缺点在于换相时的电流突变引起的转矩脉动,导致噪声较大,但好的控制策略可以大大改善换相噪声.电动车控制器设计的

DS80C400在嵌入式智能网桥中的应用目前,各类智能网桥设计方案基本都是CPU+MAC+PHY+RTOS+TCP/IP STACK的方式,如:PC Gateway+专用网、32位MCU+RTOS、8位或16位单片机+网络协议包,它们在实时

CopyRight2014
大电流电感 | 大功率电感 | 扁平线圈电感 注塑加工厂