Uart学习笔记
分享一个蛮好的链接:https://blog.csdn.net/wordwarwordwar/article/details/73662379
今天在看的资料是S家的DW_apb_uart的官方文档。该uart IP是挂在APB总线上面,CPU通过APB总线对uart进行访问和数据读写操作。
结构如下:
PS: sir_in/out是在SIR_MODE Enable时有效,用在irDA红外功能上。(红外功能将UART的NRZ串行比特率调制为脉冲形式)
主要流程是:
1.CPU通过APB总线config UART内部寄存器(register block),包括中断使能,charactor位宽,RX/TX FIFO 门限,同步时钟配置等等
2.数据读写操作(implement with FIFO)(CPU Master):
- 读:sin -> serial receiver -> sync -> FIFO -> register -> APB
- 写:APB -> register -> FIFO -> sync -> serial transmitter -> sout
其中FIFO作为buffer,FIFO余量要与APB一次burst WR/RD操作的大小相配合。
UART串行数据格式:
上图的sync时钟为baudclk,其中16 baudclk 对应 1bit data。
其中parity是奇偶校验位
波特率(baudout)由sclk和Divisor Latch Register决定。
UART可以有一个系统时钟(pclk)或者两个系统时钟(pclk,sclk)
时钟的计算方式看不懂= =略过
DMA:支撑两种DMA方式,通过dma_tx_req_n和dma_rx_req_n来做DMA读写请求
mode0:支撑单次DMA数据传输 mode1:支撑multi-DMA数据传输
cts_n和rts_n分别表示写ready和读ready。在auto-mode下由TX/RX fifo water level决定;在关闭audo-mode的时候由usr通过Cfg register的方式调节。(optional)
Uart学习笔记的更多相关文章
- 基于fpga uart学习笔记
2018年7月24日 uart 接收 部分测试成功,多谢开源骚客 邓堪文老师 ,想学的同学可以微信公众号搜索开源骚客 好啦!言归正传. 1.先附上老师的时序图,自己有点懒不想画,rx_t.rx_tt. ...
- 串口UART学习笔记(一)
买了一个开发板学习FPGA,找到的各种东西就记录在这个博客里了,同时也方便把自己不会的问题找到的结果记录一下,都是自己手打,所以可能说的话不那么严谨,不那么精准,看到的人要带着自己的思考去看,记住尽信 ...
- 【原创】ZYNQ学习笔记(一) HelloWorld实现
拿过ZYNQ开发板,里面给了很多部件,果断从网上下载了手册,N多手册和原理图. 要比Spartan-6复杂多了,耐心地看了看,知道ZYNQ系列分为PS(系统)以及PL(逻辑)部分. 之前,自己一直在做 ...
- LM3S之boot loader学习笔记-1
LM3S之boot loader学习笔记-1 彭会锋 (首先声明,此系列文章编写参考了很多资料,其中一些内容是原版内容的引用和整理,并加入了一些自己的见解,我已经尽量标明引用部分,如有未全部标注部分, ...
- 嵌入式学习笔记(综合提高篇 第一章) -- 利用串口点亮/关闭LED灯
1 前言 从踏入嵌入式行业到现在已经过去了4年多,参与开发过的产品不少,有交换机.光端机以及光纤收发器,停车场出入缴费系统,二维码扫码枪,智能指纹锁以及数字IC芯片开发等; 涉及产品中中既有 ...
- FPFA学习笔记的系列
1.Zynq 学习裸跑系列 学会Zynq(1)搭建Zynq-7000 AP SoC处理器 作者:FPGADesigner 学会Zynq(2)Zynq-7000处理器的配置详解 作者:FPGADesig ...
- 嵌入式Linux学习笔记之第一阶段---基础篇
嵌入式Linux学习分五个阶段 第一阶段: 01嵌入式环境搭建初期 02C语言语法概述 03C语言内存操作 04c语言函数 05linux基础 06gun基础 第二阶段: 01-linux之io系统编 ...
- STM32F4-IAP学习笔记--(转)
花了断断续续两天时间在STM32上面写了一个IAP(In Application Programing)Boot,期间多多少少还是遇到的了不少问题.现在就花点时间把这两天写的东西整理一下,就当是学习笔 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
随机推荐
- 8.5-Day1T1--Asm.Def 谈笑风生
题目大意 m个操作, 1:添加一个字符串 2:查询字符串s是否被添加过(中至多包含一个通配符“*”) 题解 trie树可以得部分分 用map映射 '*'就枚举26个英文字母来判断就可以了 #inclu ...
- Arctic Network(洛谷)--北极通讯网络(loj)
洛谷传送门 loj传送门 一道蛮基础的最小生成树的题 题意也没绕什么圈子 只是叙述的有点累赘而已(loj上是这样的 也就读入加建边需要稍稍稍多想一下下 对于我这么一个蒟蒻 这是一道很好的板子题 (洛谷 ...
- Echarts字体和线条颜色设置操作笔记
在网上偶然看到的一篇文章 感觉不错 下面是原著地址 原著地址:https://blog.csdn.net/eastmount/article/details/52823548
- Spring IoC(三)bean属性、方法注释
1.环境配置 使用注解开发jdk1.5.Spring2.5支持,在xml中添加context相关的是四个配置; <beans default-lazy-init="true" ...
- js遍历传参到html
<p id="subp" hidden><button id= "upsub"shiro:hasPermission="sys:me ...
- Java面向对象编程 -4.3
static应用实例 编写一个程序类,这个类可以实现实例化对象个数的统计,每次创建的实例化对象都可以实现一个统计操作. 此时可以单独创建一个static属性,因为所有对象都共享同一个static属性, ...
- 10,html全局属性有哪些
10,html全局属性(global attribute,html属性赋予元素意义和语境,html全局属性可以用于任何的html元素)有哪些 class:为元素设置类标识 data-*:为元素增加自定 ...
- Yii2.0如何建立公共方法
yii2-advanced版本 common 目录为公共资源目录,我们可以把定义的方法放在这个目录下,在此目录下我们随意建立一个文件比如”helps”目录,因为考虑到公共方法可能会有功能上的划分类,所 ...
- mysql带条件的计数
在网站开发的过程中,经常会用到数据统计功能,因此条件计数查询便是不可避免的,下面介绍几种方法来解决此问题. 例(假设): mysql> select * from count_demo; +-- ...
- input type=range 进度条的自定义样式
/* 自定义进度条样式 */ .v_my input[type=range] { -webkit-appearance: none;/*清除系统默认样式*/ width: .8rem; backgro ...