- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
串行数据发送路设计报告
串行数据发送电路设计报告
1.功能描述
同步串行数据发送电路SSDT的基本功能是将并行数据转换成串行数据并进行同步发送。系统写入和读出时序完全兼容Intel8086时序。
系统以同步信号开始连续发送四个字节,在发送中出现5个1时插入一个0,在四个数据发送结束而下一次同步没有开始之前,发送7FH,这时中间不需要插入零。
2.状态图描述
图1:状态机示意图
图1是设计使用的状态机,由三个状态组成:
在RST有效时,系统进入FREE状态,这个状态可以写入数据,但不会发送数据,TXD输出为0。
当FS有效时,系统从FREE进入TRAN状态,这个状态下,传送四个字节,在需要时插入零。在THR为空时可以进行写操作。
四个数据传送完成以后进入IDLE状态,发送7FH。直到下一个FS有效进入TRAN状态为止。
3.RTL级的结构图
图2是系统的RTL结构图。主要使用的寄存器有:
THR:数据保持寄存器。
THR_EMPTY:数据保持寄存器的状态寄存器。
TSR:数据移位寄存器。
TSR_NUM:数据移位寄存器位数计数器。
TXD:发送寄存器
TXD_SHIFT:发送寄存器备份寄存器。
IDLER:开始放置7FH的移位寄存器。
组合逻辑如图所示。以上各个寄存器以及组合逻辑的详细说明见第4小结的实现说明。
图2:系统RTL结构图
4.实现说明
THR是一个8位的寄存器,这个寄存器通过00端口可写,同时它的状态通过00端口可读。在每一次没有数据并且没有发送完四个时可写入这个寄存器,同时在每一次有数据并且TSR没有数据时可读这个寄存器的内容到TSR。
TSR是一个具有移位功能的,只有在TRAN的状态下,才会移位。也就是将寄存器左移,寄存器的高位移出,低位补零。这个移位寄存器带有一个移位Enable端口,当计数记满五个一时,停止移位。
IDLER是一个空闲移位器,这个移位器的初始值是7E,它只有在空闲状态下才会移位。这是一个循环移位寄存器,一直进行的是左移操作。
另外还有一个空标志寄存器,就是THR_EMPTY,这个寄存器用来标志THR是否为空,它可以同过00端口读出。
TSR有一个8位的位数备份寄存器TSR_NUM,负责记录向外输出的位数是否完成一个字节。在TSR的第一次移位时,入到这个寄存器,然后每一次TSR移位,这个寄存器右移一次。有这个寄存器可以给出TSR的空标志寄存器。TSR的空标志TSR_EMPTY是一个组合逻辑,它由TSR_NUM的8位作8输入与门产生。
TXD有一个移出备份寄存器TXD_SHIFT,这个寄存器保留TXD移出的5位数据,每一次向TXD打入数据时,就向最高位打入TXD中的数据,同时右移,这个寄存器在任何时候都进行这种操作,但是只在TRAN时5位全1时才会算成是需要插入零。
TXD是发送寄存器,每一个时钟都经过一个三选一将数据打入。
CS是一个片选标志,只有党A0为0时这个标志才会有效。
电路中需要一个计数器,记下当前处理的是第几个字节。这就是BYTE_NUM。在FS=0时它的初始值是1。表明处理的是第一个字节的位。当TSR_EMPTY为1并且INSERT_ZERO为0时就开始加一。只在TRAN的状态下计数。
5.详细设计
以下表1是设计的输入输出描述。表中描述了各种信号的名称、有效状态、功能等等。
表1:端口信号说明
信号名 输入输出 有效状态 功能说明 CLK2M IN - 始终2.048M FS IN 低 同步信号 RST IN 低 复位信号 CS IN 低 片选信号 WR IN 低 写有效信号 RD IN 低 读有效信号 A0 IN 低 地址 D_IN IN - 数据输入 D_OUT OUT - 数据输出 TXD OUT - 数据发送
6.仿真及其结果
仿真主要考虑的功能点:
(1)连续两次发送4个字节的数据是否正确,也就是FS两次有效的情况。
(2)在一个发送周期中,插入0在一个字节的中间是否正确。比如FEH。
(3)在一个发送周期中,插入0在一个字节的末尾是否正确。比如3FH。
(4)在一个发送周期中,插入0在第四个字节的末尾是否正确。比如3FH。
(5)对00端口进行读操作的时序以及结果是否正确。
(6)对00端口进行写操作的时序以及结果是否正确。
(7)在发送7FH得过程中不插入0是否正确。
仿真程序见文件SSDT_TB.vhd。使用Modelsim7.0仿真出来的结果见下图所示:
图3:一个字节中间需要插入0的时序
图4:一个字节末尾需要插入0的时序
图5:传送最后需要插0的时序
图6:两字节连接需要插0的时序
图7:传送最后不需查0的时序
图8:两次FS之间的转换时序
7.综合及其结果
使用synplify工具进行综合,最后综合的结果如下:
图9:综合和的门
您可能关注的文档
最近下载
- 小学语文一至六年级部编教材快乐读书吧内容及要求一览表.docx
- 六年级语文上学期复习计划.docx
- 构建小学低年级有效的识字教学模式——小学低年级识字教学有效性实践研究-来源:新课程(第2019004期)-山西三晋报刊传媒集团有限责任公司.pdf VIP
- 第8课 增设动画添效果(课件)五年级上册信息技术闽教版.ppt
- 沪教版小学牛津英语五年级第一学期5A-M1U1-习题卷(附答案).docx VIP
- 第三期聚心计划考试.docx
- 部编版三年级语文上册第2单元《语文园地二》课件.pptx VIP
- 冷链物流仓储中心建设项目可行性研究报告.doc
- 大学生职业生涯规划课教案.doc VIP
- 试析有效识字教学.doc VIP
文档评论(0)