NIOS II 之串口学习
UART中有6个寄存器分别为control, status, rxdata, txdata, divisor,endofpacket. 的寄存器是16位位宽的。
UART会产生一个高电平的中断,当接收到数据或者准备好发送下一个字符时
UART IP核使用逻辑0表示mark,逻辑1表示space.
1. even 每个字节传送整个过程中bit为1的个数是偶数个(校验位调整个数) 
2. odd 每个字节穿送整个过程中bit为1的个数是奇数个(校验位调整个数) 
3. noparity没有校验位 
4. space 校验位总为0 
5. mark 校验位总为1;
发送部分包括一个7,8,9位的txdata保持寄存器和一个相应的7,8或9位的移位寄存器。当移位操作没有进行时,移位寄存器自动加载保持寄存器数据。移位操作寄存器自动发送给TXD输出,LSB先。
主控可以通过status寄存器的,发送就绪(TRDY),移位寄存的空信号(tmt),发送溢出错误位(TOE),
接收部分包括一个接收移位寄存器和一个rxdata保持寄存器,当接收到一个字符之后,数据从移位寄存器自动加载到保持寄存器。主控可以检测status中的接收就绪(RRDY),接收溢出错误(ROE),break detect (BRK), parity error (PE), and framing error (FE) bit
波特率
16位的divisor寄存器



rxdata register
当接收到一个完整的字符,数据会保存在rxdata寄存器,并把rrdy置位为1,当rxdata中的数据读走后rrdy为0,如果当数据还没读走时再次有数据传输到rxdata,roe会置位为1,向rxdata寄存器写入数据无效。
txdata寄存器
当数据写入txdata时,TRDY 为0时,当txdata寄存器中的数据传输到发送移位寄存器时,TRDY为1,如果当TRDY为0时向txdata寄存器写入数据,会造成结果不确定。
NIOS II 之串口学习的更多相关文章
- NIOS II开发备忘录
		大概有一年没做NIOS II的开发了,回想上一次做NIOS II还是去年做毕业设计的时候.那时候做的是基于SOPC的频率特性测试仪,我大约花了2个月的时间,从无到有的学习了NIOS II开发.学习过N ... 
- 【小梅哥SOPC学习笔记】切换NIOS II CPU的主内存后软件中需要注意的几点设置
		切换NIOS II CPU的主内存后软件中需要注意的几点设置 有时候,我们可能面对这样一种情况: 1. 我们创建一个SOPC系统,并在QSYS中设置NIOS II的复位地址和异常地址都指向SRAM: ... 
- 【小梅哥SOPC学习笔记】NIOS II处理器运行UC/OS II
		SOPC开发流程之NIOS II 处理器运行 UC/OS II 这里以在芯航线FPGA学习套件的核心板上搭建 NIOS II 软核并运行 UCOS II操作系统为例介绍SOPC的开发流程. 第一步:建 ... 
- 【小梅哥SOPC学习笔记】sof与NIOS II的elf固件合并jic得到文件
		sof与NIOS II的elf固件合并jic得到文件 注意,本方法已经有更加简便的方法,小梅哥提供相应的脚本文件,可以一键生成所需文件,脚本请前往芯航线FPGA技术支持群获取. 7.1 为什么需要将S ... 
- 【小梅哥SOPC学习笔记】NIOS II工程目录改变时project无法编译问题
		解决NIOS II工程移动在磁盘上位置后project无法编译问题 说明:本文档于2017年3月4日由小梅哥更新部分内容,主要是增加了讲解以Quartus II13.0为代表的经典版本和以15.1为代 ... 
- 【小梅哥SOPC学习笔记】给NIOS II CPU增加看门狗定时器并使用
		给NIOS II CPU增加看门狗定时器并使用 配置看门狗定时器: 1. 设置计时溢出时间为1秒 2. 计数器位宽为32位 3. 勾选No Start/Stop control bits 4. 勾选F ... 
- 【推荐图书】+ 基于Nios II的嵌入式SoPC系统设计与Verilog开发实例+C#入门经典等
		[推荐图书]+ 基于Nios II的嵌入式SoPC系统设计与Verilog开发实例+C#入门经典等 3赞 发表于 2016/7/4 21:14:12 阅读(1921) 评论(3) 初次接触FPGA,到 ... 
- sof文件和NIOS II的软件(elf)合并为jic文件以使用Quartus Programmer烧写
		将Altera FPGA的sof文件和NIOS II的elf固件合并为一个jic文件以使用Quartus Programmer烧写 我们在学习和调试NIOS II工程的时候,一般都是先使用Quar ... 
- 给NIOS II CPU增加看门狗定时器并使用
		给NIOS II CPU增加看门狗定时器并使用 配置看门狗定时器: 设置计时溢出时间为1秒 计数器位宽为32位 勾选No Start/Stop control bits 勾选Fixed perio ... 
随机推荐
- maven+springMVC+mybatis+sqlserver数据
			因为之前搭好的是maven+springMVC+mybatis+mysql数据库环境,但是在实际工作项目是使用的sqlserver数据库,本文是针对数据库从mysql切换到sqlserver数据库 s ... 
- aop原理及理解
			概念 Aspect Oriented Programming,面向切面编程,实际上它是一个规范.一种设计思路,总之是抽象的. 先上图 使用目的 从项目结构上来说 对业务逻辑的各个部分进行隔离,降低业务 ... 
- Vue和后台交互的方式
			1 vue-resource https://segmentfault.com/a/1190000007087934 2 axios 3 ajax 
- mysql in 子查询 效率慢,对比
			desc SELECT id,detail,groupId from hs_knowledge_point where groupId in ( UNION all ) UNION ALL SELEC ... 
- openstack swift curl 常用操作
			上传文件 curl -v -X PUT -H 'X-Auth-Token: AUTH_tkd9276f23b3404c67b8a6be45da881d6e' http://127.0.0.1:8080 ... 
- 19-03【golang】strings包
			golang的strings包提供了字符串操作的一系列函数.下面做个简单介绍 函数 用法 备注 Compare(a,b sring) 比较两个字符串 Contains(s, substr stri ... 
- 安装centos 6.7&7.4
			1.安装centos 6.7 1) 2)检查软件有无故障.没有必要检查.选择skip,跳过 3) 4) 5) 6)选择存储设备,第一个为基本存储设备,比如ssd,scsi等常见笔记本.电脑,服务器都选 ... 
- 一文看懂大数据的技术生态Hadoop, hive,spark都有了[转]
			大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的.你可以把它比作一个厨房所以需要的各种工具.锅碗瓢盆,各有各的用处,互相之间又有重合.你可 ... 
- 4-19  css属性
			1. margin 简写属性在一个声明中设置所有外边距属性.该属性可以有 1 到 4 个值. 说明 这个简写属性设置一个元素所有外边距的宽度,或者设置各边上外边距的宽度. 块级元素的垂直相邻外边距会合 ... 
- Python中安装bs4后,pycharm依然报错ModuleNotFoundError: No module named 'bs4'
			学习网络抓取时,第一步出现问题. 执行示例代码 from urllib.request import urlopen from bs4 import BeautifulSoup html = urlo ... 
