草庐IT

DW_apb_uart

全部标签

通过修改HAL_UART_Transmit_DMA()函数,解决串口发送DMA只能发送一次的问题

参考文章:1. http://t.csdn.cn/FT6Mg         2. http://t.csdn.cn/ejFIQ今天用STM32F1的HAL库开发遇到一个奇怪的问题,在主函数循环调用中用串口1的DMA请求,将内存中的数据发送给串口,无论延迟Delay开了多大,始终只能发送一次DMA数据。后来在网上查阅大佬的资料终于有了思路。废话不多说,先上代码:在stm32f1xx_hal_uart.c文件中找到HAL_UART_Transmit_DMA()函数实现,在解锁操作__HAL_UNLOCK;后添加代码:huart->gState=HAL_UART_STATE_READY; 编译以后

FT232R USB UART驱动安装

FT232RUSBUART驱动安装提示无FT232RUSBUART驱动!安装该驱动:​​https://ftdichip.com/drivers/d2xx-drivers/​

ahb2apb bridge验证项目介绍

两分钟介绍:        学习了协议的基本内容,根据spec功能描述与协议来制定验证计划,进行测试点分解。采用了常规的UVM验证框架,(ahb2apb桥接器两端为ahb的slv与apb的mst)在DUT两侧放了两个agent:ahb_mst_agt和apb_slv_agt,分别包括了sqr,drv和mon。在agt,DUT的同一层次添加了scb,没有做refmdl,把比较的方法放在了scb里,之后做了顶层env,tb,以及interface,将if通过多次config_db的set,get方式从tb传到agt,再到drv,这过程包括了将TB硬接口到UVM环境vif的传递。通过UVM的phas

DW_apb_uart(1)

文章目录第一章总体概述1.1IP产品说明1.2DW_apb_uart功能描述1.2.1发送和接收数据FIFO1.2.2DMA控制器接口1.2.3异步时钟支持1.2.4自动流量控制1.2.5可编程发送保持寄存器空(THRE)中断1.2.6串口红外支持1.2.7增加内置诊断功能1.2.81级和2级调试支持1.3DW_apb_uart整体框架1.4DW_apb_uart特征第一章总体概述1.1IP产品说明DW_apb_uart是一种可编程通用异步收发器(uart),该组件是符合AMBA2.0标准的高级外围总线(APB)从设备。DW_apb_uart按照业内标准16550建模。寄存器地址空间已重新定位

UVM实战(张强)--- UART实例代码详细注解

目录一、整体的设计结构图二、各个组件代码详解2.1DUT2.2top_tb2.3my_driver2.4my_transaction2.5my_env2.6my_monitor2.7my_agent2.8my_model2.9my_scoreboard2.10my_sequencer2.11base_test2.12my_case02.13my_case1一、整体的设计结构图各个模块的基础介绍:(1)DUT:待测平台,这里为uart串口功能(2)sequence:创建一个my_straction的实例m_trans,将其随机化,最终将其送给sequencer(3)sequencer:uvm_s

UVM实战(张强)--- UART实例代码详细注解

目录一、整体的设计结构图二、各个组件代码详解2.1DUT2.2top_tb2.3my_driver2.4my_transaction2.5my_env2.6my_monitor2.7my_agent2.8my_model2.9my_scoreboard2.10my_sequencer2.11base_test2.12my_case02.13my_case1一、整体的设计结构图各个模块的基础介绍:(1)DUT:待测平台,这里为uart串口功能(2)sequence:创建一个my_straction的实例m_trans,将其随机化,最终将其送给sequencer(3)sequencer:uvm_s

基于FPGA的通用异步收发传输器(UART)设计

基本目的: (1)了解UART通讯原理,包括数据传输格式、电气特性等;(2)研究Basys3开发板与PC之间通讯电平规格的转换;(3)设计并实现UART的发送(TX)功能或接收(RX)功能。高级任务(可选):可调。(4)设计并实现UART的发送(TX)功能和接收(RX)功能,构建回环测试;(5)可根据表1的UART协议规格,自由配置UART的各项参数;指标描述波特率9600bps、115200bps、460800bps(可调)起始位数1数据位数7、8(可调)校验位奇校验、偶校验(可调)停止位1表1 UART协议规格(6)在实现以上功能的基础上,对电路进行优化,降低资源利用率;(7)基于以上要求

(UVM验证学习13) apb和ahb的另外一些笔记

APB协议APBslave端的要求比较灵活:对于总线写入到slave的传输行为,写入的数据data既可以在PSEL为高时,在CLK的上升沿锁存;也可以当PSEL为高时,在PENABLE的上升沿锁存。区别就是前者会早一点,PENABLE要在CLK上升沿后才会被驱动拉高。对于总线的读slave行为,数据只要在PWRITE=0,然后PSEL和PENABLE都为高时驱动到总线上就可以,不要求在CLK上升沿后立即驱动。APB特点:APB协议不是流水操作,两个始终周期完成一次读或写操作。APB最大支持32bit位宽APB有两个独立的数据通道:PWDATA和PRDATA,但是两个通道没有自己的握手信号,因此

串行通信协议(I2C、SPI、UART、SCCB、CAN)

推荐一部书,在这本书里面介绍了I2C、SPI、UART和CAN等通信协议,写的蛮不错的。串行通信:设备与设备之间,传输数据按顺序依次1bit位接1bit位进行传输。并行通信:设备与设备之间,通过多条传输线,可以同时传输多个bit位的信号。I2C(Inter-IntegratedCircuit)1.简单的双向两线制总线协议标准、半双工通信2.双向串行数据线(SDA)用来表示数据,串行时钟线(SCL)用于数据收发同步3.总线通过上拉电阻接到电源。当I2C设备空闲时,会输出高阻态,而当所有设备都空闲,都输出高阻态时,由上拉电阻把总线拉成高电平。写数据数据传输方向没有发生改变(写寄存器地址,写数据)开

MicroBlaze系列教程(5):AXI_UART16550的使用

文章目录@[toc]AXI_UART16550简介MicroBlaze硬件配置常用函数使用示例参考资料工程下载本文是XilinxMicroBlaze系列教程的第5篇文章。AXI_UART16550简介axi-uart16550是Xilinx的一款串口IP核,支持配置成16450或16550模式,16550和16450是指的早期电脑主板上的串口芯片型号,16550相比于16450多了FIFO,现在已经很少使用。相比于axi-uartlite,16550支持1或2位停止位,包括uartlite所有的功能,而且支持在SDK中灵活对波特率、数据、校验方式进行配置。与uartlite不同的是,不能单独指