DMA的verilog硬件实现,此版本为东南大学2005年版本。目测可用。 网上有很多该版本,但是不全,此次为收集齐全的版本方便大家学习研究。(没有找到文档说明,代码注释较详细)
2021-08-26 09:08:14 28KB DMA_AHB verilog 硬件实现
行业分类-电子政务-DMA数据传输控制电路.zip
2021-08-25 17:02:41 148KB 行业分类-电子政务-DMA数据传
s3c6410的裸机dma程序,注释全。
2021-08-24 14:47:55 3KB s3c6410dma
1
UART 按键中断 定时器 LED 百兆网nios2设计例程源码 fpga quartu工程文件6个合集, Quartus软件版本11.0, FPGA型号为CYCLONE4E系列中的EP4CE6E22C8,可以做为你的学习设计参考。 lab1_hello_world lab2_led lab2_led_100M lab3_button_interrupt lab4_timer lab5_uart lab6_seg
串口传输用中断实现的话,要频繁的进入中断函数,这样无疑增加MCU的负担,干扰正常程序的运行,对于一些实时性强的应用,如数字显示应用中,液晶屏显示可能受影响而不能正常显示。用DMA实现串口收发数据,进行数据收发过程中,不需要MCU的干预,由DMA独立完成数据的收发,接收或者发送完成后才进入中断做后续处理,因此MCU使用效率更高。
2021-08-24 09:08:49 11.86MB DMA 串行通信 modeBus
1
STM32的DMA程序,亲测可用。内有详细注释和说明文档,很好的参考资料。
2021-08-23 16:54:08 128KB DMA
1
由于项目需要,STM32F303跟STM32F405之间要用到DMA+SPI口来估大量数据传输,实现两边的数据收发。
2021-08-23 15:57:51 44KB 调试 SPI DMA 经验心得
1
UART串口通信_FPGA和上位机通信实验FPGA设计Verilog逻辑源码Quartus11.0工程文件. 功能描述:串口通信__FPGA和上位机通信(波特率:9600bps,10个bit是1位起始位,8个数据位,1个结束) ** 操作过程:按动key2,FPGA向PC发送“da xi gua"一次,KEY1是复位按键。 ** 字符串(串口调试工具设成字符格式接受和发送方式),FPGA接受(0到9)后显示在7段数码管上。 module uart(clk,rst,rxd,txd,en,seg_data,key_input); input clk,rst; input rxd; //串行数据接收端 input key_input; //按键输入 output[7:0] en; output[7:0] seg_data; reg[7:0] seg_data; output txd; //串行数据发送端 ////////////////////inner reg//////////////////// reg[15:0] div_reg; //分频计数器,分频值由波特率决定。分频后得到频率8倍波特率的时钟 reg[2:0] div8_tras_reg; //该寄存器的计数值对应发送时当前位于的时隙数 reg[2:0] div8_rec_reg; //该寄存器的计数值对应接收时当前位于的时隙数 reg[3:0] state_tras; //发送状态寄存器 reg[3:0] state_rec; //接受状态寄存器 reg clkbaud_tras; //以波特率为频率的发送使能信号 reg clkbaud_rec; //以波特率为频率的接受使能信号 reg clkbaud8x; //以8倍波特率为频率的时钟,它的作用是将发送或接受一个bit的时钟周期分为8个时隙 reg recstart; //开始发送标志 reg recstart_tmp; reg trasstart; //开始接受标志 reg rxd_reg1; //接收寄存器1 reg rxd_reg2; //接收寄存器2,因为接收数据为异步信号,故用两级缓存 reg txd_reg; //发送寄存器 reg[7:0] rxd_buf; //接受数据缓存 reg[7:0] txd_buf; //发送数据缓存 reg[2:0] send_state; //这是发送状态寄存器 reg[19:0] cnt_delay; //延时去抖计数器 reg start_delaycnt; //开始延时计数标志 reg key_entry1,key_entry2; //确定有键按下标志 //////////////////////////////////////////////// parameter div_par=16'h145; //分频参数,其值由对应的波特率计算而得,按此参数分频的时钟频率是波倍特率的8 //倍,此处值对应9600的波特率,即分频出的时钟频率是9600*8 (CLK 50M) //////////////////////////////////////////////// assign txd=txd_reg; //assign lowbit=0; assign en=0; //7段数码管使能信号赋值 always@(posedge clk ) begin if(!rst) begin cnt_delay<=0; start_delaycnt<=0; end else if(start_delaycnt) begin if(cnt_delay!=20'd800000) begin cnt_delay<=cnt_delay+1'b1; end else begin cnt_delay<=0;
基于FPGA和串口通信的CRC生成与校验的实验代码,包含了发送和接收两个工程 关于实验相关内容可以看这篇博客: https://blog.csdn.net/qq_37147721/article/details/84662308#comments
2021-08-23 11:01:14 3.9MB FPGA UART CRC 循环冗余校验
1
FPGA用Verilog编写的uart接口,包括发射和接收
2021-08-21 22:40:34 609KB FPGA Verilog UART 发送
1