基于Quartus II软件FPGA与PC之间的串行通信系统开发(9000+字)

本文介绍了基于Quartus II的FPGA与PC间串行通信系统开发,包括理论分析、波特率计算和按键消抖处理。通过状态机实现了数据的发送和接收,遵循UART协议,确保异步通信的稳定性。
摘要由CSDN通过智能技术生成

1.简介与仿真结论

       随着集成电路技术的发展,电子设计自动化(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。电子设计自动化是一种实现电子系统或电子产品自动化设计的技术,它与电子技术,微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。EDA的一个重要特征就是使用硬件描述语言(HDL)来完成的设计文件,Verilog语言是经IEEE确认的标准硬件语言,在电子设计领域受到了广泛的接受。本文介绍了串行通信的基本理论;综述了EDA技术的发展概况,介绍了Quartus II软件;最后设计、仿真了FPGA与PC之间的串行通信,并在GW48-CK型EDA试验开发系统上得到了验证。

        我们在PC端利用串口调试工具,来向开发板发送数据,串口调试工具的设置如下:

FPGA控制RS232串口通信实现verilog设计Quartus9.1工程源码 module ex5_rs232( clk_in,ext_rst_n, rs232_rx,rs232_tx ); input clk_in; // 25MHz主时钟 input ext_rst_n; //外部输入复位信号,低有效 input rs232_rx; // RS232接收数据信号 output rs232_tx; // RS232发送数据信号 //---------------------------------------------------- wire rst_n; //低电平复位信号 wire bps_start1,bps_start2; //接收到数据后,波特率时钟启动信号置位 wire clk_bps1,clk_bps2; // clk_bps_r高电平为接收数据位的中间采样点,同时也作为发送数据的数据改变点 wire[7:0] rx_data; //接收数据寄存器,保存直至下一个数据来到 wire rx_int; //接收数据中断信号,接收到数据期间始终为高电平 reg clk; always@(posedge clk_in) clk = ~clk; //--------------------------------------------------- //复位产生模块 sys_ctrl uut_sc( .clk(clk), .ext_rst_n(ext_rst_n), .rst_n(rst_n) ); //--------------------------------------------------- //下面的四个模块中,speed_rx和speed_tx是两个完全独立的硬件模块,可称之为逻辑复制 //(不是资源共享,和软件中的同一个子程序调用不能混为一谈) //////////////////////////////////////////// speed_select speed_rx( .clk(clk), //波特率选择模块 .rst_n(rst_n), .bps_start(bps_start1), .clk_bps(clk_bps1) ); uart_rx my_uart_rx( .clk(clk), //接收数据模块 .rst_n(rst_n), .rs232_rx(rs232_rx), .rx_data(rx_data), .rx_int(rx_int), .clk_bps(clk_bps1), .bps_start(bps_start1) ); /////////////////////////////////////////// speed_select speed_tx( .clk(clk), //波特率选择模块 .rst_n(rst_n), .bps_start(bps_start2), .clk_bps(clk_bps2) ); uart_tx my_uart_tx( .clk(clk), //发送数据模块 .rst_n(rst_n), .rx_data(rx_data), .rx_int(rx_int), .rs232_tx(rs232_tx), .clk_bps(clk_bps2), .bps_start(bps_start2) ); endmodule
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fpga和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值