- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京邮电大学实验报告
基于 VHDL 的课程设计实验报告
班级: 2008211126
学号:
专业: 信息工程
姓名: 王海锋( 11)
设计一:异步串行通信控制器
一、实验目的
1、熟悉异步通信信息传输格式;
2、掌握状态机的原理与设计方法;
3、了解异步通信的原理和特点;
4 、掌握异步通信接口的设计方法;
二、实验内容与设计过程
本实验通过计算机辅助设计, 用 VHDL语言设 计实现异 步串行通信控制器, 设计总体
思路是按照实验内容要求,将整个程序设计分成三个主要模块:异步发送电路模块
transmitter 、接受电路模块 receiver 和通信控制器模块 info_control 。
( )
1 异步发送电路模块
发送模块主要完成的任务是将并行输入的 8 位数据串行的输出出去。
1、程序中主要用到了发送双缓冲和计数器。发送双缓冲:包括‘发送缓冲寄存器
TB (Tx Buffer )’和‘发送移位寄存器 TS (Tx Shifter )’; TB 用于暂时存储输入
的 8 位数据, TS 用于移位输出(并串变换)。计数器代替状态机用于状态控制计数,
用来指示数据发送完成。
2 、实验中设置发送字长 =8 位,最高位是奇校验位; 发送停止位至少为 1 位;另外,
为了发送的准确性,要求发送速率由发送时钟 TCLK 输入确定,是 TCLK 频率的 1/8 。
3 、实验中需要发送缓冲器的指示位‘ TBE (Tx Buff. Empty )’=1 ,表示‘发送缓
冲器空,请求下一发送数据’ 。若允许发送中断( ETBE=1 ),则可产生发送中断请求;
现行数据发送出去之后,若 TBE=0 (发送缓冲器满),则把 TB 中的数据‘装入’ TS ,
把 TBE 置位,并开始发送。若 TBE=1 ,则继续发送停止位,直到 TBE=0 。
4 、发送模块设计框图如下图 1 所示:
RESET,TCLK,WR
COUNT
8 级发送缓存器 TB
(最高位作为奇校验位)
DATA_IN
计数器
EN
8 级移位寄存器 TS
(并—串变换)
TXD
( )
2 接收电路模块
接收模块的主要任务是完成对发送模块发送的数据进行异步接收, 并把数据串并变
换后进行缓存, 以便接收设备把它取走。这里异步就是说接收模块使用的时钟和发送模
块是不同的,即收发双方各用自己的时钟来控制发送和接收。
1、程序中主要用到了发送双缓冲和接收控制器。接收双缓冲,包括‘接收移位寄
存器 RS (Rx Shifter )’和‘接收缓冲器 RB (Rx Buffer )’;它们与发送模块是对称
的,因此设置 RS 为 9级, RB为 8
原创力文档


文档评论(0)