草庐IT

APB-UART

全部标签

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不同的是,不能单独指

Android Mediatek 修改打印串口 (uart0) 为普通串口

目录修改的文件:文件修改说明:这个主要修改了Mediatek 打印串口(uart0)为普通串口,这样可以避免在使用uart0不必要的调试信息。修改的文件:bootable/bootloader/lk/app/mt_boot/mt_boot.csystem/core/rootdir/init.rc文件修改说明:mt_boot.c:修改了启动Linux的函数boot_linux_fdt,将printk.disable_uart的值从0改为1,这样在用户构建中就不会打印调试信息。init.rc:注释掉了console服务的定义和启动,这个服务在ro.debuggable=1时会启动一个shell在控

关于STM32使用HAL_UART_Receive()无法接收数据的问题

一、问题发现    在项目中我想通过阻塞的方式接收一段来自串口的数据,于是使用了HAL_UART_Receive函数,但跑起来发现一直超时接收不到。网上使劲搜但没搜到啥有用的结果,那只能自己捣鼓了。一开始怀疑是硬件的问题,于是用示波器直接连到对应的rx脚上,发现数据正常;于是我又尝试使用中断接收的方式,发现也能接收。那么,基本可以确定是HAL_UART_Receive这个函数本身有问题了。 二、问题追踪    进入debug,并打开使用的USART的寄存器监视(我使用的USART1),发现RXEN一直都是0,ORE一直都是1(这两个都是ISR寄存器中的标志,关于USART的寄存器介绍,可看看这

MSP430学习总结——UART串口

文章目录一、MSP430串口二、串口配置三、发送函数四、接收函数总结一、MSP430串口我用的这个单片机是MSP430F5529,这个单片机有两个串口,分别是USCI_A0和USCI_A1,以下是关于MSP430串口的配置以及接收函数和发送函数。二、串口配置说到串口,那肯定离不开起始位、数据位、校验位、停止位以及波特率。先来说一下常用的寄存器。串口控制寄存器0这个寄存器可以设置数据位,停止位和校验位等串口控制寄存器1这里可以设置时钟源和中断使能等波特率设置寄存器波特率设置涉及到三个寄存器UCA0BR,UCA0BR1,UCA0MCTL具体的设置方法在芯片手册上有写,也可以参考一下这位大佬的博客h