微控制器设计方案_第1页
微控制器设计方案_第2页
微控制器设计方案_第3页
微控制器设计方案_第4页
微控制器设计方案_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 微控制器设计方案 第一部分 功能描述 所有的 令都是 32 位, 支持多种指令,主要有以下几种: 数据加载和存储指令: 令 跳转指令: 件跳转和 j、 转 算数逻辑运算: 体有三种格式: 处理器有 32 个 32 位寄存器,并且为了测试和运行方便,配备了一个 32 字的指令存储器,和一个 32 字的数据存储器(地址 0还备有 口,并且与数据存储器共同编址( 0 第二部分 设计方案 1、设计策略 采用分治:将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各 个击破,分而治之。 本实验中,我们将整个数据通路化分成多个模块:寄存器堆、取指部件、扩展器、二选一数据选择器、算术逻辑单元、数据存储器等,分别设计及实现,然后再整体进行逻辑控制,最终实现单周期数据通路。 2、设计思路 建立数据通路: ( 1) 按照图 1 设计能够实现 R 型, lw/和跳转型指令的 理器整体数据通路图 数据通路必须具备必要的存储元件,可能需要多个,同时数据通路必要的元 件可能需要多 2 个。 ( 2) 选择一组数据通路部件 ( 3) 根据需求,组装数据通路 ( 4) 分析每条指令的实现,以确定如何设置影响寄存器传输的控制点 ( 5) 装配控制逻辑 3数据通路图 图 1 数据通路图 第三部分 单周期 析与设计 术逻辑运算单元,有 2 个 32 位输入和 1 个 32 位输出,还有一个零标志位。有 3 个控制输入,而八种可能的输入组合中只有 5 种可能出现。 对于取字和存储指令, 于计算存储地址; 对于 R 型指令, 根据指令的低 6 位功能字段的内容, 行 5 中操作中的一种。 对于相等分支指令, 行剑法 操作。 实现代码: (or or if(1; 0; 333 3 3 3 ; ; ; 制的代码实现: 1:0 5:0 2:0 ; (or 22266666; 据存储单元:是一个状态单元,有读写控制信号、地址和数据端口。两个输入是地址和所写数据,一个输出位为出内容,读写控制信号是独立的,任意始终只能激活一个。存数指令,要从寄存器堆中读出要存的数据; 取数指令,则要将刚从存储器中取出的数放入寄存器堆中指定寄存器中。 实现代码: 2 2$; 4 选一数据选择器 ,通过控制信号的值来选择输出。 实现代码: (*) if(0) 寄存器堆: 实现代码: (or 5= 325= 325= 325= 325= 32= 5= 325= 325= 325= 325= 32= (or or = 号扩展器 :将指令中 16 位有符号数扩展成 32 位有符号数 符号代码: 15:0 31:0 ; 16b0, 指部件 :首先要从存储器中将指令取出。为准备执行。下一条指令,也必须把程序计数器加到指向下一条指令,即向后 5 移动四字节。此时所需的取指令以及增加 获得下一时序指令的地址相对应 的数据通路,图如右: 代码: (or if(0; C=据分治设计策略, 确定模块间的连接关系 , 端口方向及宽度 , 将每一模块通过控制信号联系起来,最终形成完整的数据通路。 综合 : 31:0 4:0 31:0 31:0 ; 31:0 31:0 1:0 4:0 31:0 2:0 31:0 C),; in(1:26), ; (5) 0:16), 5:11), 6 ; 5:21), 0:16), ; in(5:0), ; (32) ; ; ; (32) ; in(; in(; C),2 ; ; (32) ; /*/ (32) ; :0),; C); 1:28,7:0; 四部分 验证方案及结果分析 1、加载存储指令: 7 s1,3265516 其中 向的内存 地址中存的数为 32$s0,3265516 其中 $存器中存的值为 322、算术逻辑运算: 加法指令: $2655556 其中 $的数据是 32$的数据是 32法指令: $2655556 其中 $的数据是 32$的数据是 32运算: 8 $2655556 其中 $的数据是 32$的数据是 32运算 $2655556 其中 $的数据是 32$的数据是 32算: $2655556 其中 $的数据是 32$的数据是 32、分支指令: 9 $265516 其中 $2、跳转: J 1000 32626 第五部分 性能评估 : 综合结果: 面积报告: * : 4 15:27:35 2012 * s) ) of 103 of 634 of 156 of 30 10 序报告 : * : 4 15:27:46 2012 * 1 (by 5 (by 1/ r 1/Q ( r C21 ( r 1 ( r 53/Y ( f 37/Y ( r 55/Y ( f 56/Y ( r 38/Y ( r 31/Y ( f 8 ( f ( f 29/Y ( r 33/Y ( f 11 34/Y ( r r r 1/Y ( r 10/Y ( r ( r ( r ( r 368/Y ( r 365/Y ( f 362/Y ( r 265/Y ( r 101/Y ( r 306/Y ( f 377/Y ( r 295/Y ( f ( f ( f 68/Y ( f ( f ( f 1 ( f 472/Y ( f 582/Y ( r 385/Y ( f 329/Y ( r 288/Y ( f 571/Y ( r 632/Y ( r 486/Y ( f 481/Y ( r 604/Y ( f 605/Y ( r 5 ( r 49/Y ( f 147/Y ( r 5 ( r 5 ( r 33/Y ( r 5 ( r 5 ( r 12 六部分 通用异步串行收发器设计与实现 (注:此部分由于自己设计代码报错一直无法调出,部分源代码参考 坛) 一、设计思路 串 口即通用异步收发器( 一种能同时支持近距离和远距离传输的异步串行接口,是计算机中最普遍通用的一部分,被广泛应用微机和外设的数据交换,例如 鼠标,调制解调器,打印机之间以及微机与微机之间的串行书数据传输。应为异步串行通信 接口 具有传输线少,成本低,可靠性高,实现简单等优点,应此在 外设之间的串行通信中得到广泛的应用,同时在当今的嵌入式微处理器芯片的设计中,异步串行通信 接口 成为不可缺少的一部分。 根据系统整体设计要求 , 串口即通用异步收发器 主 要是由 送 模块和接收模块, 制模块四部分组成,如图 1所示。 能模块 二、模块概述 1)下图是发送器结构图 其主要的功能是 :由 来的待发送的并行数据,首先写入发送 送 有数据带发送时。数据自动装入移位寄存器( 总动完成并行数据转换为串行数据,并完成串行数据的发送。 13 发送器结构图 2)下图是接收器结构图。 其 主要 功能是: 接受移位接收寄存器和接受控制逻辑工程。接受器将外部串行数据转换成并行数据,发送给接受 受过程中,按照数据格式进行字符装备,滤除噪音,对数据位进行溢出错,奇偶校验错,桢格错误,终止错误等检验。并根据检验产生响应中断和状态信息,传给接口模块。 接收器结构图 3)下图是 块 单元图 其主要功能是:它提供了一组通用 控制信号,是的 以直接和( 接,实现 外接设备的通信。 块 单元图 4)下图是波特率发生器结构图 14 其主要功能是:提供 信时所需要的时钟,驱动发送器逻辑和接收器逻辑,产生于 16 倍的波特率,主要是对系统主频 频得到的。 三 模块代码 1) /钟 7:0 ; /发送命令,上升沿有效 /线路状态指示,高为线路忙,低为线路空闲 /发送数据信号 :0 /计数器 1(= = (& (& ( /当发送命令有效且线路为空闲时,启动新的数据发送进程 = 1if(= 8 /一帧资料发送结束 = 1(15 if(= 1 /产生起始位 8= 1= 1= 8= ; /发送数据 0 位 = = 1= 8= ; /发送数据 1 位 = = 1= 8= ; /发送数据 2 位 = = 1= 8= ; /发送数据 3 位 = = 1= 8= ; /发送数据 4 位 = = 1= 816 = ; /发送数据 5 位 = = 1= 8= ; /发送数据 6 位 = = 1= 8= ; /发送数据 7 位 = = 1= 8= /发送奇偶校验位 = = 1= 8= 1 /发送停止位 = 1= 8= 1 = 1 /一帧资料发送结束 = 8= 817 = 1= 8= 1了测试 送模块的正确性,需要编写一个测试模块来测试 送模块, 言代码如下: :0 7:0 7:0 (if(= 254) = 8 /每次数据加 “1” = 1 /产生发送命令 = 8= 1= 8送模块的波形仿真报告 波形仿真报告说明: 分析看出,当发送命令 上升沿有效时,启动发送数据。串行数据的波形与发送数据 发送模块得到正确验证。 2) 收模块 18 /采样时钟 /据输入 /接收数据输出 /资料出错指示 /帧出错指示 :0 7:0 1( /检测线路的下降沿 = = ( (& ( /检测到线路的下降沿并且原先线路为空闲,启动接收数据进程 = 1if(= 8 /接收数据完成 = 1(if(= 18= 1= 8= 1 /接收第 0 位数据 = 1 = = 19 = 8= 1= 1 = = = 8= 1= 1 = = = 8= 1= 1 = = = 8= 1= 1 = = = 8= 1= 1 = = = 8= 1 /接收第 6 位数据 = 1 20 = = = 8= 1 /接收第 7 位数据 = 1 = = = 8= 1 /接收奇偶校验位 = 1if(= = 1= 1 /如果奇偶校验位不对,表示数据出错 = 8= 1= 1= = 1= 1 /如果没有接收到停止位,表示帧出错 = 8= 1= 8= 8= 1= 121 波形仿真报告说明: 分析看出, 收模块接收到的数据与 送模块发送的数据相一至,每接收到一个数据都有一个读取数据指示 四、结论 本部分 介绍了基于 计的 块,采样点选择可靠,其可以准确判断接收数据的起始,接收器与接收数据实现同步,串行数据能被准确接收,可下载至 可编程逻辑器件 中实现 能。 模块通过功能仿真与时序仿真,生成了可综合的网表。仿真的结果表明模块完成了其逻辑功能。虽然设计的各个模块完成了其逻辑功能,但是整个设计还存在许多可改进之处 : 首先,逻辑综合过程中,系统优化的许多约束条件是相互关联的,须反复设定约束条件,以求设计芯片面积、功耗减小。 其次,需要提高语言代码的效率,力求用最简洁的描述方式描述模块的结构和功能,以获得最优化硬件电路结构 再次,本系统实现的是单纯的 块,并没有达到设计特定 路设 计的目的。 第七部分 总结 这次课程设计历时两个星期,在这段日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对项目的了解,让我对它有了更加浓厚的兴趣。我们的课题是 基于单周期 口数据接收器,但当每一个子模块编写调试成功时,心里特别的开心。但是在编写顶层文件的程序时,遇到了不少问题,总是有错误,在细心的检查下,终于找出了错误和警告,排除困难后,程序编译就通过了,心里终 于舒了一口气。在连接各个模块的时候一定要注意才能得出正确的结果,否则,出现任何一点小的误差就会导致整个文件系统的编译出现错误提示。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中现了自己的不足之处,对以前所学过的知识

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论