论文【31页,16000字左右】.doc

【JP048】单片机串行通信发射部分设计[FY+RW]

收藏

压缩包内文档预览:(预览前20页/共31页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:671222    类型:共享资源    大小:1.86MB    格式:RAR    上传时间:2016-06-21 上传人:棒*** IP属地:湖北
50
积分
关 键 词:
jp048 单片机 串行 通信 通讯 发射 部分 部份 设计 fy rw
资源描述:
【JP048】单片机串行通信发射部分设计[FY+RW],jp048,单片机,串行,通信,通讯,发射,部分,部份,设计,fy,rw
内容简介:
网络子系统设计 单纯使用技术来避免工作站上 存储器的瓶颈是不够的,必须要把技术集成起来。 兴的网络技术期望给终端工作站提供接近 1传输带宽,这样的带宽足以带动一类新的应用火热起来。然而,这些得益于高速网络的应用受到一些因素的制约,其中的一个重要因素就是运行在工作站上的操作系统。操作系统必须将良好的网络吞吐率转换为良好的应用程序间吞吐率。 的网络系统研究小组( 下简称 在研究操作系统支持高速网络的相关问题。这些实验性的工作是在S 操作系统的 x 核心 1环境下完成的。研制的系统运行在00以及 000/720工作站上,这些工作站连接着 大体来讲, 统提供了一个基于微内核的操作系统框架,而 x 内核相当于其中的网络子系统。我们先在逻辑上将所有的网络协议集中于单个 后在物理上将这个图结 构分布在整个系统中,包括操作系统和应用程序保护域( 例如,图 1描述了一个协议树,它连接了一个应用程序、一台专用网络服务器,以及内核。一个特定的协议属于哪个保护域要等到配置时(不是操作系统设计时间)才能决定,从而也能够根据系统配置员对于性能和信任处理的意愿程度。 要优化这种结构的性能,就必须解决工作站的存储器结构限制。问题在于工作站存储器性能的提升跟不上处理其性能和网络带宽提升的步伐。例如, 告指出,自从 1985 年 以来,处理器的性能一直以每年50%速率提升,而存储器的性能提升速率只有 7%。而且,我们希望这种趋势能够持续下去,因为处于开销的考虑,我们将会避免在这类机器上使用非常快的主存和互联技术。 应当记住我们考虑的是数据在一个基于微内核的系统中的流动,在这种系统中,设备驱动程序、网络协议以及应用软件都可能驻留在不同的保护域中。我们相信把话题集中于此是很适合基于微内核的系统的优点的(可配置性、可分布性以及可移植性),也适合于当前商业领域中对这类系统的支持趋势。我们想说明的是,在不考虑操作系统结构的情况下,取 得高的应用带宽也是可能的。 本文讨论了工作站 储器的带宽和网络的带宽将保持在同一个数量级,从而,网络子系统必须要致力于使网络数据在 储器数据路径上的跳步数最小。本文也对一些应用于这些问题的技术进行了研究,得到的一个重要结论是单纯的应用这些技术对取得应用程序间吞吐率是不够的,也必须把从一个源设备,通过操作系统,到达应用程序,还可能到达终端设备的整个数据路径集成起来。本文在总结中列出了一个使端对端吞吐率得到最优化的完整数据路径。 工作站硬件的性能 在这一节中我们分析桌面工作站硬件影响输入输出数据 流量的性能参数,包括了对目前商用工作站的测试以及下一代工作站相关参数的预测。 表 1中给出了四种商用工作站存储子系统的存储器峰值带宽(取自于硬件规格),以及部分 储器带宽测量数据。存储器峰值带宽是存储子系统在突发模式传输下能够达到的带宽。括号中给出的是测量到的带宽对峰值带宽的比例。 图 1:分布式协议图 表 1:一些工作站的存储器带宽 表 1 中的 储器带宽数值是使用一个普通测试台程序测算得到的。该测试台程序测试的是一组读、写、复制操作过程中支持的带宽。测试台程序用 各工作站自身 的 得到了最高级的优化,但是 “读 ”、 “写 ”两列测试的是对一个数组中单元素进行读(写),而 “复制 ”列使用了两种方法测量:一种是数组元素形式的赋值,另一个是调用库函数 。测试台程序使用了 32位)和 64位)数组,给出的数据都是各自条件下所能取得的最佳值。 测试的主要结果是标准带宽仅为峰值带宽的一小部分,特别是读带宽为峰值带宽的 15%38%,复制带宽仅为 10%19%。带宽的下降是由两方面局限性综合影响的 结果:第一,编译器生成的机器代码和厂家提供的 函数对于执行基准程序故意设定的工作是不够理想的。但是我们尽量不排除它,因为这个局限性对真实程序同样会有影响。第二,硬件强制性会限制带宽,即 支持的带宽是有限的。尽管动态 有存储子系统都使用了某些形式的流水线(交叉式 /页式)来获得高带宽。在传输时间中初始化延迟是比较大的,所以对于少量数据传输其平均带宽会降低。 由于传输线路宽度限制, 此我们得出,当前工作站的 储器带宽不超过其网络带宽的规定量级 几百 下一代工作站将支持 1可以以网络速率将数据传送到主存。持续增长的 如, 许以 1个机器字包含 1224条可执行的 而,人们没有把希望寄托在 储器带宽的急剧增加上。存储器峰值带宽可以通过增加存储器宽度来提高,但是, 宽。因此,就是要找到一个理想的合适的 比率,很明显如果太小就不能获得大部分的峰值带宽。另一个方法是降低传输延迟,但是动态 访问时间被认为已经接近其技术极限。几个最近公布的器件在 4。这些集成的二级 用大线宽,用宽数据通路与 连。对于任何 合适的比率的设定依赖于它们所处的位置。我们下边将要谈到数据 I/此,我们希望下一代桌面工作站的 储器带宽和网络带宽处于同一量级。 数据 工作站使用 的速度差。该思想是在 来存储主存中部分数据。 降低了在共享存储器的多处理器系统中对存储器的争夺。然而, 据访问的位置和处理器调度。 假设系统支持处理全部应用级高带宽数据,处理数据时需要 数据单元的每个字进行检查和可能的修改,潜在的多次访问。(下一节将确定几个数据可能通过 储器数据通道的原因。)本节讨论数据 避免 储器间传输上 效果不明显。考虑以下重要因素: 处理器调度 返回重新执行时,很可能缓冲的数据已经被替换。在一个多处理器系统上,进程可能被拥有自己数据缓冲的不同的 处理数据单元时有几种情况会发生调度:当数据单元要被传递给另外的线程(如队列),处理器必须调度执行该线程;在某种协议下,队列典型性的产生在用户和系统接口处,在设备驱动的中断句柄和驱动的顶层之间;在最差的情况下,在协议层之间会产生附加队列;还有硬件中断及信号触发处理器重新调度的事件。 写 策略 多处理器数据 每个写操作都要写回主存。写 缓冲与写穿透 起被使用来减少 写存储器的时间。但是,许多连续写 如要对一个数据单元读写每一个字时将发生 仍然会造成 行存储指令时等待。 找 际上是索引和标记,访问 的数据不需要虚存地址到物 理地址的译码。以这种方法,从虚拟共享页来的缓冲数据若超过保护域边界就不能保持其有效,物理上标记的缓冲不存在这样的问题。但是,需要一个包含参考数据的辅助翻译缓冲( 于活跃状态 。 数据 量有限。因为留在 的过程包括读取和存储每个字,所以 实际情况下,由于 为了量化数据 们进行了一些初步的实验,测量了在操作系统运转以后驻留内存的网络数据量。这个值反映了由于缓冲网络数据,避免了 储器数据传输给用户进程带来的潜在的好处。它给出了 络数据复制情况下能提供的最大好处。 这些实验是在装有 000/720工作站上运行的。这些工作站配有 256拟索引物理标记的数据 行着称为 用户进程。 由 达的网络报文被微内核通过中断服务机制接收,复制并压缩为一个 后发送给 果一个 网络报文包含的数据被另一个用户进程预定,它必须从 地址空间复制到目标地址空间。由于 以它接收网络数据信息并将其复制到最终用户这个过程接近于模拟了 片机处理网络报文的过程。 实验测量了在 网络数据复制到其用户地址空间之前,驻留果 程看到。公布的结果是在关闭 验时获得的,若打开校验, 的驻留部分将会增加,因为上下文切换的机会将降低并且校验码会导致对大量缓冲报文数据的读取。对于 5。 收集实验数据会出现两种情况:第一,接收处理器仅运行普通的系统程序和实验接收程序的轻负载状态;第二,接收处理器正在接收从第三方处理器快速传送的 8000字节 图 2画出了 200次测试时钟周期数的算术平均值,对比了要访问的网络缓冲数据是否全在 “100%未命中 ”曲线显示在网络数据缓冲中使用全部的 数据从主存读到 意我们测试的两种情况下的数字均超过了 100% 图 2:网络缓冲数据超额访问时间 在我们的定时循环中,还有三方面可可能增加时钟周期数: 第一,因为 定时循环发生时可能会被切换,如果这种情况发生,测量时间将会增加超过 10000个时钟周期。这个事件反映在数据上是很明显的,所以在图像上已经被排除。 第二, I/存储器访问 (增加执行访存指令的时钟周期数,使得在 输结束之前防止 问存储器。尤其是在以太网设备使用类影响最为明显。 第三, 理器使用虚地址物理标记 访问 ,处理器的 验数据表明,在 果 需要 130 个时钟周期的处理时间。根据 使用的管理 新加载的算法和网络数据缓冲的组织结构,对于一个单缓冲访问可能需要加载 4个 中 “100%曲线显示了最差情况下 供了假设 有趣的是,重负载时要比轻负载时访问时间短。由于一个 4存储页可以容纳 1个以上的网络缓冲,我们设定在重负载情况下将大量发送的网络数据提前加载到 满足该特殊发送方的需要。为了减小 们做了另一个实验。在定时循环之前,网络缓冲所在的存储页被加载到 且特别小心的保证了在加载 图 3:强行加载 在图 3中,我们发现所有的测量时间均低于 “100%修改后 曲线,并且重负载时间现在要比轻负载时间长。轻负载时间的线性程度指出与其考虑大约 72%的未命中率的已修改的 如关注 100%未命中率的未修改的 实验论证了存在三个限制网络缓冲数据访问时间的重要因素:第一、其它系统设备使用 加了对存储器访问的争夺,它将显著增加把数据调入处理器 而增加了平均数据访问时间;第二、在物理标记 由于网络数据分布在多个虚存页上,这种碎片性导致了对 夺,产生了大量的额外访问开销;最后,消除了 夺后,我们测试平均 中率为 28%,这是 避免数据传输 前两节证明了我们的论点,即工作站的 储器带宽应不超过网络带宽的量级,数据 降低 储器之间网络数据流量上收效很小。因此,为了保持来自网络设备并通过操作系统、应用程序和可能的下一级设备(如显示器)的数据通路的带宽,就要避免在 以下每个小节确定了一个潜在的在该通路上的数据传输,并简要描述了几个能够有效处理或避免它的技术,同时给出了这些技术的假设前提和局限性。 设备 /存储器数据传输 主存与网络或设备适配器之间的数据传输。通常使用的技术是 程控I/O( I/O 适配器不通过 接与主存传输数据。 要处理器执行一段循环程序逐字传输主存和 I/ 使用 此,获得的传输率接近主存和 I/活跃的处理器上数 据传输可以并发执行,尽管在大量 作时会因为争夺存储器访问权使处理器等待。另外, 增加了设备适配器的复杂性。数据 是说, 图 4: 使用 从设备输入和向输出数据的过程中 获得的带宽常常仅有峰值 I/是由以下的原因导致的。适配器的控制端口和数据端口可以映射到能缓冲或不能缓冲的存储器区域内。在不能缓冲的情况下,每个 如一个机器字)I/O 总线传输,使得支持 的带宽比较低。在能缓冲的情况下, I/O 总线传输长度为缓冲线( 度,取得的带宽有所提高,但是离峰值 I/O 带宽还比较远。而且,同样要刷新高速缓冲区,以和适配器端口保持一致。 然而,在某些条件下 先,内核中进行的数据运算,如校验和计算,有时候可以和 据流动结合在一起,节省了流向主存储器的一段路经。其次,编程控制数据从 I/据还在高速缓冲区中,如果数据在高速缓冲期间得到访问,那么就可以减少主存使用的拥塞。 具有分散 。分散机制允许一个输入数据元存储到主存的多个不连续的区域内;收集机制允许从多个不连续的缓冲区中收集一个输出数据元。分散 样就极大简化了操作系统的物理存储管理,并有助于避免把数据复制到连续的存储区中。使用软件就可以简单的实现分散 网卡可能要支持在数据传入主存储器之前对数据包进行多路分派操作( 以过滤和选择数据在存储器中的位置。在最简单的情况下,网卡允许主机仅仅扫描一下数据包的头部,然后主机确定数据包分派策略以及初始化 数据传输到主存储器的合适位置。比较精细的网卡可以通过主机 行编程后,只需要匹配数据包的头部就能自动识别数据包,并使用 跨域传输 保护机制使得在保护域(地址空间)之间传输数据成为必要。在最简单的情况下,一个 I/这种情况下,每个数据单元必须跨越用户和内核的边界。一般的,附加的用户进程,如窗口管理器和多媒体服务 器,以及操作系统设计内核化的趋势,都会给 I/ 用软件数据复制来解决数据的跨域边界传输又加剧了存储器瓶颈矛盾。许多现有的技术都是依赖虚拟存储系统来提供免于复制的跨域数据传输。虚页重映射技术( 8, 9把含有数据单元的页帧和发送域之间的映射去掉,再把它们映射到接收域。虚拟复制技术(写复制) 10把要传输的页帧共享给发送域和接收域,并一直延续到共享的一方试图向共享单元写入数据时。共享虚存技术11 在两个或多个域之间引入了静态共享的缓冲区来避免数据传输。 虚页重 映射技术有移动的语义,但没有复制的语义,这就限制了它在某些场合的应用,如发送方以后不再需要访问已传输的数据时。虚页复制技术有复制的语义,但它只能避免对那些在传输后既没被发送方改写又没被接收方改写的数据的物理复制。这两种技术都需要仔细的实现才能达到低的延迟。切换到超级用户模式,取得对 据结构的必要锁定,改变每 1 页的 射(可能是在数个层面上),执行 持一致性的操作,然后返回到用户态,这些操作耗费的时间限制了能获得的性能。我们在 00平台上进行了测试,结果表 明,虚页重映射还是不够快,难以维持高速网卡的带宽 12。 实际上,这两种技术都依赖 的大小,这就产生了另一个复杂问题。当数据单元大小和 大小不匹配时,意味着被数据单元重叠的最后一页中部分数据一直得不到利用。由于数据私有的原因,内核必须把一个新分配的缓冲页的这部分清空(例如填入 0),不至于使之带来关系到全局缓冲区管理和跨域数据传输的重大开销。而当接收的网络数据包报头(在数据包前部)含有必须对用户进程隐藏的敏感数据时,也会产生类似的问题。存储器页帧只能得到部分利用使得对于单位数量的数据需要更多的页面, 导致物理存储开销、页面分配、重映射开销以及对 共享的 术同时避免了数据传输和相关的开销,然而,在共享的保护域中,使用这种技术可能要在保护和安全上做权衡。因为共享是静态的(一个特定的页面在同一个域集合中总是可以访问的),需要事先知道一个数据单元的所有接收方。有一种称为动态页面共享( 12的混合技术,它把页面重映射和共享式 合起来,并且探寻网络拥塞的位置,来克服这两种技术的缺陷。 数据处理 数据处理是指对网络数据包中的每一个数 据字进行检查甚至改写的计算过程。例如加密、压缩、差错检测和校正,以及数据表示的转换等。数据处理可以用硬件或软件来实现。硬件如果能支持数据处理就可以减轻 载,而且如果集成得比较恰当的话,还能减小存储器的使用冲突。对于某些特定的处理,例如视频压缩(解压缩),由于这类任务的计算非常复杂,因此短期内还必须硬件支持处理。然而,如果所有的数据处理都依赖硬件,可能会严重约束新型的高带宽的应用。 软件对数据的处理一般都是彼此互相独立的,这是因为它们一般都是不同的程序模块(如协议层)的一部分。从而,每次处理的数据可能是 非缓冲数据,即数据是从存储器中装入或存入存储器的。这些在 储器数据路径上重复的传输常常占用了处理消息的绝大部分时间,以及带宽。 使用一种称为集成层处理( 技术可以使这样的数据传输达到最少。 同协议中的数据进行处理时一般将它们融合到一个流水线管道中。每个数据先装入寄存器,在寄存器中由多个数据处理层进行处理,最后再存储,所有这些操作都是在下一个数据字处理前进行的。在这种方式下,一个合成 的数据处理序列处理一个数据字时仅仅从存储器向 输一次,相反的方向也只有一次,而不是对于每个不同的层可能都要传输一次。 文献 13有 1份详细的性能研究,阐明了集成化可以对性能产生重要影响。另一方面, 不同保护域中的程序模块要实现数据处理的集成化是非常不容易的。 缓冲区管理 我们把缓冲区编辑和数据处理区别开来,后者是对数据的每一个字进行检测和(或)更改,而前者可以看作是一组对缓冲区的合成操作,即创建、共享、剪切、分割、合并以及回收缓冲区。 引入缓冲区 “懒赋值 ”( 实现前述原语的缓冲区管理器可以使缓冲区编辑免于复制操作。该管理器提供一个抽象数据类型来表示单个邻接缓冲区的提取。这个抽象缓冲区类型的实例可以实现为一串不要求连续的内存片断。例如, 的叶子对应缓冲区,最左边的叶子可以带有信息(如消息头)。图 4是 由于缓冲区编辑常常用于网络协议的实现中,所以许多操作系统的网络子系统都使用了缓冲区管理器。这些缓冲区管理器的作用域限制在单个保护域中,且一般都在内核中。在大多数系统中,跨越域边界的数据单元需要用软件复 制到一个连接的缓冲区中。 接口设计 应用程序接口( 义了数据在应用程序间输入和输出的语义。由该接口定义的语义是实现效率的重要组成部分。例如,考虑 、 系统调用。应用程序可以在其地址空间中选择一个连续的数据缓冲区,可以是任意地址,任意大小或者对齐方式( 并且对缓冲区拥有无限制的访问。这种低级的数据缓冲区表示使得系统要避免数据复制都是非常困难的。 首先,所有基于 存管理)技术的跨 域数据传输都是在一个 果用户的缓冲区起始和结束的地址不是页对齐的,系统就必须复制第一页和最后一页在缓冲区重叠的部分。根据用户缓冲区的大小,这样会抵消掉使用免于复制技术所带来的大部分好处。其次, 系统调用原语的语义允许用户进程在调用返回后即可修改(重用)用户缓冲区。如果这样,系统必须要么把受影响的页复制一份,要么在系统处理完先前数据之前将用户进程阻塞。第一种方法又引进了复制操作,第二种方法可能会降低用户进程的有效 I/ 一个适宜于高效数据传输方法的 该使用一种抽象 数据类型来表示数据缓冲区。应用程序通过对它进行操作间接访问缓冲区类型数据,即当应用程序需要缓冲区或者在系统调用中传递(接收)缓冲区实例时,应用程序请求系统创建一个实例,并当关联的缓冲区不再需要时请求系统回收这些实例。这样系统可以完全控制缓冲区的管理,包括地址分配、对齐、传输方法等等。后面章节有关于这类 端对端设计 这一节对 I/使在从数据源到终端设备的整个数据路径上数据相关的开销得到最优化。目的是使 储器的数据传输最少。我们分析了设计空间中的一些典型采样点, 针对每种采样点,我们分析其公平性( 确定最优数据路径,并选择合适的实现技术以达到最优的数据路径。 在这一节中,我们引用图 5这样的结构图来说明数据从源到终端设备的流动过程。在这些图的下面的结构模型中,使用了一条专用的存储器总线把单级高速缓冲和主存储器连接起来。总线转换器把主存储器总线连接到单独的 I/有的设备都连在 I/O 总线上。图 5:不同形式的数据流: a)硬件流 b) c)操作系统内核流 硬件流 一种避免 储器瓶颈的方法是把 。数据路径的建立和控制可以由软件进行,但是数据本身从源设备到终端设备的传输不需要 参与(图 5a)。设备适配器和总线都必须支持端到端的传输,适配器必须能够从总线上分离出数据并做必要的格式转化。 这种方法的特征是主机系统缺少综合性。因为应用程序没有访问数据,它们受限于适配器板提供的功能。这样的结果是必须在设备适配器的复杂度和灵活性以及功能性之间进行平衡。 支持固定的功能集的适配器对高带宽的应用程序的革新几乎没有帮助。另一种方式是提供部件可编程的适配器。这种方式可以通过提供特殊的处理器或者可编程电路来实现 。不幸的是,这种办法本身有问题。首先,应用程序以便携的方式使用可编程设备适配器是很困难的。其次,在任何给定的时刻,因为经济上的原因,用于 I/此,依靠板外设备进行处理的应用程序不能利用主机性能升级带来的好处,除非它的性能本身完全取决于该设备的计算能力(例如网络链接速度)。在适配器中执行这样的计算是合适的,这是因为它们不能利用处理机速度的提升带来的好处。 硬件流中, I/O 子系统中的数据传输不需要任何专门的技术。但是,这里所讨论的内容可以用于适配器板的内部设计。 第二种方法是使用 存储器缓冲区可以在操作系统的控制下被编辑,然后使用 图 5b)传输到终端设备。 制着数据传输并且可能改变数据单元的大小,还可以控制信息(头部),但是仍然处于数据路径之外。不同于前一种方法, 持之外并不需要源设备或者终端设备适配器提供其他的硬件。因此,可以使用普通设备(例如磁盘)。 这种方法需要两个 。它遵循流量不大于 I/际上,可支持的流量更低,这是 因为有并发 动导致的内存访问与由管 I/ 这种方法想要把 数据路径上移除需要两个关键的技术:适配器对分散 支持,一个支持对自由复制缓冲区编辑的缓冲管理器。终端设备适配器对收集式 想前面提到的 “懒赋值 ”缓冲管理器可能导致一个缓冲区含有多个不连续的碎片。如果没有收集机制的话,在将数据传送到终端设备之前,必须把数据单元复制到连续的空间。 操作系统内核流 现在考虑所有数据操作均处于内核权限保护之下的系统:没有用户权 限的程序。很清楚,数据必须通过 据缓冲(图 5c),暗示了可达到的流量限制在系统复制带宽之内。目标是把 储器数据通信量控制在最小,也就是两个传输。解决方法是结合数据操作(如果有多余一个的话)使用,例如, 意数据操作可能包括经由 如果一个设备既支持 支持 话,在这种系统中使用 果可能更好一些。这是因为程序数据传送可能会结合其它的操作。也就是说,不是首先使用 后从(到)主存载入(存储)数据。 能直接从源 I/数据存储到终端适配器中,绕过了主存。这种方法节省了两次 线传输,并且不会和 争访问主存。然而,没有了存储器访问的代价是通过 I/种方法能够带来更有效率的数据路径取决于对存储器的访问和通过 不同于前面的方法,操作系统内核流提供了对数据路径的全面的可编程性。然而,所有的操作都必须在操作系统核心中执行。应用程序和用户级服务器不能调用由内核实现的数据操作。 用户级流 考虑数据在内核和一个或多个用户级保护域间传送的系统。这些用户级域 可能是内核化操作系统的一部分,对第三方提供服务,或者是高带宽程序的一部分。除前一部分讨论的问题之外,设计者还面临着保护边界的问题。保护边界是集成数据操作的一个障碍。因此,我们认为设计者必须保证把所有的数据操作定位在相同的域中。保护同样需要一个高效的在域间传送数据的方法。 前面,我们讨论了跨域数据传输的 术。使用这种方式在两个用户级域之间传送数据是非常方便的。否则,在多数系统上实现用户间传输需要两个软件复制 从源用户域到内核缓冲,另一个从内核缓冲到目标用户域。 作为一种特殊的例子,用户域和内核域之间的数据 传输有一种不需要额外的花费的实现。如果传输同 I/也就是,数据是在 I/O 适配器和用户缓冲之间直接传输。然而,这种方法在用于网络 I/接收端,数据传输必须推迟直至找到合适的用户缓冲区,这可能依赖于用户程序。这可能导致对网络适配器缓冲区的争夺。网络适配器是支持分离报文的,这是因为数据传输前必须决定用户缓冲区。在传输端,需要有一份数据复制用于重传,但是数据的唯一复制在用户缓冲区中。最终,一个以此方法作为唯一的跨域数据传送实现而建立的系统受限于一个单一的操作系 统结构,并且数据只能在单用户域内传送。 需要集成 域数据传送的工具,缓冲管理器,必须以一种重新审视内部精妙交互的方式集成。举例来说,一个缓冲管理器被限制在内核域之中的系统,一个用于跨域数据传送的虚拟复制工具,一个 格 定了一个指向一片连续的用户地址空间的指针。 在这种情况下,源设备的数据单元被放在了主存缓冲区中,一些缓冲区编辑作为内核 I/O 处理(例如,网络包的重新组装)。当一个由 “懒赋值 ”缓冲代表的数据单元到达用户 /内核边界时,它必须被赋值(把它复制到一个连续的存储区域),尽管使用 的是虚拟复制工具。原因是接口把数据缓冲定义为连续的。因为冲的首尾地址可能并不对齐页边界。因此,数据传送工具必须复制与缓冲区重叠的首尾页。 一旦使用域的话,可能会有更多的缓冲区编辑操作。因为用户级别是不能够得到缓冲管理工具的,应用程序要么复制数据,要么是用它的 “懒赋值 ” 管理缓冲。后一种情况,当数据跨越域边界的时候,需要另一份数据复制。当数据被传送到内核之后, 能要使用虚拟复制工具复制部分缓冲区。我们认为,尽管使用了 避免复制技术,数据路经上还是有多份数据复制,这是技术集成不力的人为后果。 我们的问题是缓冲管理器是在内核域实现的;需要有一个全局的实现以使得在整个数据路径上一直使用懒散估算代表数据缓冲区。一个全局的抽象缓冲类型有益于所有的域(包括应用程序)来执行免复制缓冲区编辑。第二问题是关于通常不允许不连续的缓冲区表示,也因此,妨碍了高效的数据传送。潜在的第三个问题是,跨域数据传输工具在支持非连续缓冲碎片传送方面的先天不足。 图 6:免于复制的技术之间的相关性 图 6显示了一些免于复制的技术之间的相关性 。方块代表可能在数据路径上发生复制的情形,气泡是相应的免于复制的技术。箭头代表满足达到高效数据路径技术之间的相关性。举例来说,数据传输的 冲管理器必须在通用的缓冲区表示上达成一致。虚线表示我们刚才不知道如何高效地集成 总的来说,必须在整个路径上保持 “懒赋值 ”数据缓冲区表示。这意味着所有的程序必须处理缓冲区表示的问题。因此,需要一个全局的缓冲管理器与 域数据传送方法的选择可能对网络适配器的设计也有影响。举例来说,共享 要在将数据从适配器传送到主存之前首先分离。 集成的数据路径 这一部分建议一个建立在抽象缓冲区类型上的 允许集成 冲管理器和跨域数据传送工具以达到一个高效的端到端数据路径。这个方法的关键是一个被称之为 抽象数据类型。这部分对 据类型的设计给出一个概述,讨论它的使用,简要地说明如何使用不同的缓冲管理机制和跨域数据传送工具来实现它。 一个 实例代表任意长度的数据缓冲区的抽象。他封装了一个或者多个含有数据的物理缓冲区。在任何时候,物 理缓冲区可能并不连续,对应于当前的域,或者是主存。 就是说,一旦创建了一个用数据内容初始化的实例,则它的内容就不能发生变化了。 种抽象类型的实现(实现操作的代码)被当作是每一个保护域中的库的一部分。 先,它允许在整个数据路径上只使用一个缓冲区表示,允许懒散缓冲区估算。其次,它把应用程序,用户级服务以及大部分内核同缓冲区管理、跨域数据传送 的细节隔离开来。这增加了应用程序和操作系统的可移植性,并且允许在不同的平台上使用最高效的缓冲区管理和数据传送技术。最后, 除了分离应用程序级缓冲管理的需求。 型支持以下操作。创建所需大小的实例的分配操作,分配合适数量的物理缓冲区的操作。在初始化阶段,给客户端提供一个指向初始化所需大小的物理缓冲区的指针。一个共享的操作创建一个 例的复制;它并不真正地复制物理缓冲区。剪贴,分解和连接是必要的缓冲区基本操作。一个回收操作产生一个指 向物理数据缓冲区碎片的指针列表。并以此允许客户端访问数据。一个新的操作是回收和分配的结合。它允许客户端从 例读取数据并且像一个新的 例存储(可能已经改变了)数据。这个操作产生了一个指针对列表,一个指向碎片源,一个指向目标物理缓冲区。最终,一个反分配操作销毁了 例并且如果没有数据的逻辑复制的话就回收物理缓冲区。 考虑 据类型的一个实现。一个关键的特性是这个实现对物理缓冲区的大小,位置,对齐都有完全的控制权。因此,可以实现各种缓冲区管理机制。所有的缓冲区可 以成为系统池的一部分由主机自动分配,定位于共享 者处于主存之外的适配器上。物理缓冲区可以是固定大小的,这样的话分配比较简单并且速度快。另一个关键的特性是它的不变性。它允许透明地使用页的重映射,共享 其它的 以使用更高效的虚拟复制,这是因为物理缓冲区已经能够保证传送后不被写。 扩充现存的 如 的),使其包含基于 型的 I/O 操作是可行的。依靠高带宽(例如多媒体)的应用程序可以使用这个新的接口。传统的接口保留下来以保 持兼容性,这是以将数据复制到连续存储区域为代价的。使用新接口的应用程序使用或者修改输入数据,而不仅仅是对缓冲区进行编辑,必须能够对非连续的 例进行处理。对经常访问输入数据的大量的应用程序来说,多出的程序复杂度和运行开销是可以忽略的。典型地,使用数组索引从连续的缓冲区读取数据的循环必须嵌套在另一个对同样缓冲区进行操作的循环中。为寻求高效而需要连续数据存储空间的应用程序必须显式地执行复制(或者使用旧的接口),这样其实就是在复制开销与快速随机访问之间权衡。 结束语 本文说明了工作站上的 储器数 据路径的带宽在同工作站的网络带宽保持相应量级。这使得我们必须让数据通过 储器数据路径的时间最小。另外,有证据表明缓存并不能够显著地减少通过这个路径的数据量。 本文进一步讨论了避免 储器瓶颈的软硬件技术。一个很重要的结论就是,单纯地使用某一种技术并不能达到显著改善应用程序间流量的目标,我们必须对各种技术进行有效的集成。为此,我们粗略地介绍了哪些技术可以进行集成以提供 I/ 毕业设 计 (论文 ) 任务书 题 目 单片机串行通信发射部分设计 学生姓名 解小斌 院系、专业班级 电子工程学院电子 0101 内容 与 要求 1. 学习单片机及串行通信的有关知识; 2. 设计单片机串行通信发射部分电路; 3. 制作并调试电路; 4. 编制软件并调试之; 5. 写出毕业设计论文; 6. 翻译 10000 字符的英文资料。 设计(论文)时间 2005年 3月 1日至 2005年 6月 10日 教研室(系)审查意见 学生签名 指导教师签名 2005年 3月 09日 西安石油大学毕业设计(论文) 单片机串行通信发射部分设计 摘 要 :我所做的是单片机串行通信发射机,它能显示数字信号,还能将信号发射出去。采用串行工作方式,能显示 00单片机 89控制,采用共阳极数码显示,软件部分由汇编语言编写。 单片机串行通信发射机是用来发射信息,能完成信息准确无误的显示发射,使信息能够在两地之间传递,给人们在通信上带来方便。发射机设计的思路是 :由一片单片机来控制信息的发射、存储和显示,用汇编语言编写发射程序和显示程序,使硬件和软件加以结合,完成发射机的设计。 硬件的设计要考虑多方面, 以自己设计的目的为出发点,设计合理的方案。发射机需要硬件和软件的配合、补充,软件编写要和接收机达成相同的通信协议,这样才能完成预期的效果。 关键词:单片机,汇编语言,数字信号,发射 西安石油大学毕业设计(论文) do is a it It 0 9, a 9 to A is it of to on to of is of by a of to to to of of to in as of to to of 西安石油大学毕业设计(论文) 西安石油大学毕业设计(论文) 目录 1 绪论 . 1 2 硬件 . 3 硬件的基本组成: . 3 电路图 . 3 硬件介绍 . 3 单片机概述 . 3 . 5 单片机的串行接口 . 10 基本概念 . 10 . 11 数码显示管 . 13 硬件的焊接及调试过程 . 15 硬件的焊接 . 15 3 软件的设计和调整过程 . 18 程序流程图 . 18 通信协议 . 18 窜行口控制寄存器 . 19 定时器的初始化设置 . 19 波特率计算 . 19 发射程序(见附表 2) . 19 编译软件的使用和 . 19 编译软件的使用和编译过程 . 20 烧片 . 20 4 单片机串行通信领域的扩展 . 21 无线发射电路组成及工作原理 : . 21 单片机串口接口 . 22 扩展串行口与单片机的连接 . 22 操作指令 . 23 基于 方案和工作原理 . 23 结论 . 25 参考文献 . 26 致谢 . 27 附录 A . 28 附录 B . 29 西安石油大学毕业设计(论文) 1 1 绪论 我所做的单片机串行通信发射机主要在实验室完成 ,参考有关的书籍和资料,个人完成电路的设计、焊接、检查、调试,再根据自己的硬件和通信协议用汇编语言编写发射和显示程序,然后加电调试,最终达到准确无误的发射和显示。在这过程中需要选择适当的元件,合理的电路图扎实的焊接技术,基本的故障排除和纠正能力,会使用基本的仪器对硬件进行调试,会熟练的运用汇编语言编写程序,会用相关的软件对自己的程序进行翻译,并烧进芯片中,要与对方接收机统一通信协议,要耐心的反复检查、修改和调试,直到达到预期目的。 单片机串行通信发射机 采用串行工作方式,发射并显示两位数字信息,既显示00数据能够在不同地方传递。硬件部分主要分两大块,由 多个按键组成的控制模块,包括时钟电路、控制信号电路,时钟采用 6振和 30电容来组成内部时钟方式,控制信号用手动开关来控制, 来控制, 产生信号并通过共阳极数码管来显示,软件采用汇编语言来编写,发射程序在通信协议一致的情况下完成数据的发射,同时显示程序对发射的数据加以显示。 毕业设计的目的是了解基本电路设计的流程,丰富自己的知识和理论,巩固所学的知识,提高自己 的动手能力和实验能力,从而具备一定的设计能力。 我做得的毕业设计注重于对单片机串行发射的理论的理解,明白发射机的工作原理,以便以后单片机领域的开发和研制打下基础,提高自己的设计能力,培养创新能力,丰富自己的知识理论,做到理论和实际结合。本课题的重要意义还在于能在进一步层次了解单片机的工作原理,内部结构和工作状态。理解单片机的接口技术,中断技术,存储方式,时钟方式和控制方式,这样才能更好的利用单片机来做有效的设计。 我的毕业设计分为两个部分,硬件部分和软件部分。硬件部分介绍:单片机串行通信发射机电路的设计,单 片机 功能和其在电路的作用。介绍了 容, 4K 字节可编程闪烁存储器,寿命: 1000 次可擦,数据保存 10 年,全静态工作: 0级程序存储器锁定, 128*8 位内部 32 跟可编程 I/O 线,两个 16 位定时 /计数器, 5 个中断源, 5 个可编程串行通道,低功耗的闲置和掉电模式,片内震荡和时钟电路, 作为串行输入口, 因为其管脚有特殊功能,可连接其他电路。例如 为串行输出口,其 中时钟电路采用内时钟工作方式,控制信号采用手动控制。数据的传输方式分为单工、半双工、全双工和多工工作方式;串行通信有两种形式,异步和同步通信。介绍了串行串行口控制寄存器,电源管理寄存器断允许寄存器 介绍了数码显示管的工作方式、组成,共阳极和共阴极数码显示管的电路组成,有动态和静态显示两种方式,说明了不同显示方法与单片机的连接。再后来还介绍了硬件的焊接过程,及在焊接时遇到的问题和应该注意的方面。硬件焊接好后的检查电路、不装芯片上电检查及上电装芯片检查。软件部分:在了解电路设计原理后,根据原理 和目的画出电路流程图,列出数码显示的断码表,计算波特率,设置串行口,在与接受机设置相同的通信协议的基础上编写显示和发射程序。编写完程序还要进行编译,这就必须会使用编译软件。介绍了编译软件的使用和使用过程中遇到的问题,及在编译后烧入芯片使用的软件 来的加电调试,及遇到的问题,在没问题后与接受机连接,发射数据,直到对方准确接收到。在软件调试过程中将详细介绍调试遇到的问题,例如:通信协议是否相同,数码管是否与芯片连接对应,计数器是否开始计数等。 我 所设计的单片机串行接口 现在已经发展到 无线收发 的阶段,本文 参考无线发射西安石油大学毕业设计(论文) 2 部分就是参考 南华大学黄智伟、朱卫华的单片机与嵌入式系统应用一文,该串行无线发射 电路结构简单、工作可靠,可方便地在单片机与单片机之间,构成一个点对点、一点对多点的无线串行数据传输通道 。 单片机无线串行接口电路由 片接收器芯片组成,工作在 300440 段;具有 制和解调能力,抗干扰能力强,适合工业控制应用;采用 率合成技术,频率稳定性好;接收灵敏度高达 96 大发射功率达 2.5 据速率可达 2 Kb/s;低工作电压: ;功耗低,接收时电流 3 射时电流 收待机状态仅为 射待机状态仅为 用于单片机之间的串行数据无线传输,也可在单片机数据采集、遥测遥控等系统中应用。 最后介绍了毕业设计做完后的结论以及自己的心得体会 。 西安石油大学毕业设计(论文) 3 2 硬件 硬件的基本组成 : 单片机 896M 晶震、 30容、 220V 电容、 1K 电阻、共阳极数码显示管、按键。 电路图 ( 见附 录 A) 硬件介绍 单片机概述 单 片机也被称作 “单片微型计算机 ”、 “微控制器 ”、 “嵌入式微控制器 ”。单片机一词最初是源于 “简称 着 技术上、体系结构上不断扩展其控制功能,单片机已不能用 “单片微型计算机 ”来表达其内涵。国际上逐渐采用 “代替,形成了单片机界公认的、最终统一的名词。为了与国际接轨,以后应将中文 “单片机 ”一词和 “一对应解释。在国内因为 “单片机 ”一词已约定俗成,故而可继续沿用。 单片机 的发展历史 如果将 8 位单片机的推出作为起点,那么单片机的发展历史大致可以分为以下几个阶段: 第一阶段 ( 19761978) :单片机的探索阶段。以 司的 代表。推出是在工控领域的探索,参与这一探索的公司还有 。都取得了满意的效果。这就是 诞生年代, “单片机 ”一词即由此而来。 第二阶段( 19781982):单片机的完善阶段。 司在 础上推出了完善的、典型的单片机系列 它在以下几个方面奠定了典型的通用总线型单 片机体系结构。 置了经典的 8 位单片机的总线结构,包括 8 位数据总线、 16 位地址总线、控制总线及具有多机通信功能的串行通信接口。 围功能单元的集中管理模式。 且增加了许多突出控制功能的指令。 第三阶段( 19821990): 8 位单片机的巩固发展及 16 位单片机的推出阶段,也是单片机向微控制器发展的阶段。 司推出的 列单片机,将一些用于测控系统的模数转换器、程序运行监视器、脉宽 调制器等纳入片中,体现了单片机的微控制器特征。 第四阶段( 1990):微控制器的全面发展阶段。随着单片机在各个领域全面、深入地发展和应用,出现了高速、大寻址范围、强运算能力的 8 位 /16 位 /32 位通用型单片机,以及小型廉价的专用型单片机。 单片机的发展趋势 目前,单片机正朝着高性能和多品种方向发展,今后单片机的发展趋势将是进一步向着 、低功耗化、低电压化、低噪声与高可靠性、大容量化、高性能化、西安石油大学毕业设计(论文) 4 小容量、低价格化、外围电路内装化和串行扩展技术。随着半导体集成工艺的不断发展,单片机的集成 度将更高、体积将更小和功能将更强。 单片机的特点 单片机主要有如下特点: 积小、有很高的可靠性。单片机把各功能部件集成在一块芯片上,内部采用总线结构,减少了各芯片之间的连线,大大提高了单片机的可靠性和抗干扰能力。另外,其体积小,对于强磁场环境易于采取屏蔽措施,适合在恶劣环境 下工作。 了满足工业控制的要求,一般单片机的指令系统中均有极丰富的转移指令、 I/O 口的逻辑操作以及位处理功能。单片机的逻辑控制功能及运行速度均高于同一档 次的微机。 电压,便于生产便携式产品。 2C( 串行总线方式,进一步缩小了体积,简化了结构。 范,容易构成各种规模的应用系统。 单片机的应用 由于单片机具有显著的优点,它已成为科技领域的有力工具,人类生活的得力助手。它的应用遍及各个领域,主要表现在以下几个方面: 机电一体化中的应用 单片机已成为计算机发展和应用的一个重要方面,另一方面,单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能通过单片机来实现了。这种用软件代替硬件的控制技术也称为微控制技术,是对传统控制技术的一次革命。 A:由单片机组成控制器的结构和特点: 单片微型计算机是微型计算机发展中的一个重要分支,是把构成一台微型计算机的 主要部件如中央处理器 (存储器 (各种功能 I/O 接口集成在一块芯片上的单芯片微型计算机 (简称单片机 且近年来单片机着力扩展了各种控制功能如A/D、 ,因此我们更多时候称其为一个单片形态的微控制器 (或直接称其为微控制器 ( B:用单片机组成的微机控制系统具有以下特点 : 片内存储器容量较小 ,一般片内 于 48K 字节 ,片内于 256 字节 ;但可在外部进行扩展 ,如 1 系列单片机的片外可擦可编程只读存储器 (静态随机存储器 (分别扩展至 64K 字节。 片机芯片本身是按工业控制环境要求设计的 ,其抗工业噪声的能力优于一般通用 序指令及其常数、表格固化在 不易破坏 ;常用信号通道均在一个芯片内 ,故可靠性高。 西安石油大学毕业设计(论文) 5 内具有计算机正常运行所必须的部件 ,芯片外部有许多供扩展用的总线及并行、串行输入 /输出端口 ,很容易构 成各种规模的微机控制系统。 了满足工业控制要求 ,单片机的指令系统中有极丰富的条件分支转移指令、 I/O 口的逻辑操作以及位处理功能。一般来说 ,单片机的逻辑控制功能及运行速度均高于同一档次的微处理器。 软件开发工作量大。但近年来已开始出现了片内固化有 释程序及 作系统的单片机 ,使单片机系统的开发提高了一个新水平。 此外 ,单片机成本低、集成度高、控制功能多 ,可灵活地组装成各种智能控制装置 ,并能有针对性设计成专用系统 ,解决从简单到复杂的 各种需要 ,实现最佳的性价比。特别是单片机与传统机械产品相结合 ,使原有机械产品的结构简化、控制智能化。如数控机床就是典型实例。近年来 ,单片机发展极快 ,其产量占微机产量的 70%以上。目前,至少有 50 个系列 400 余种机型,性能和结构各不相同 ,内普及的几乎都是 司的产品。 片机简介 美国 司生产的低电压,高性能的 单片机片内4 128器件采用 司的高密度、非易失存储技术生产,兼容标准 令系统,片内置通用 8 位中央处理器( 储单元,功能强大。 片机可为你提供许多高性价的应用场合,可灵活的应用于各种控制领域。 单片机 要性能参数 : 与 品指令系统的全兼容 4k 字节可重擦写 速存储器 1000 次可擦写周期 全静态操作: 0安石油大学毕业设计(论文) 6 三 级加密程序存储器 1288 字节内部 32 个可编程 I/O 口线 2 个 16 位定时 /计数器 6 个中断源 可编程串行 道 低功耗空闲和掉电模式 能特性描述: 供以下标准功能: 4k 字节 速存储器, 128 字节内部 2 个 I/O 口线,两个 16 位定时 /计数器,一个 5 向量中断结构,一个全双工串行通信口,片内震荡器及时钟电路。同时, 降至 0静态逻辑操作,并支持两种软件的可选的节电工作模式。空闲方式停止 工作 ,但允许 时 /计数器,窜行通信口及中断系统继续工作。掉电方式保存 的内容,但震荡器停止工作并禁止所有部件工作直到下一个硬件复位。 ( 1) 脚功能说明: 源电压 : 是一组 8 位漏极开路行双向 I/O 口,也既地址 /数据总线复用口。可作为输出口使用时,每位可吸收电流的方式驱动 8 个 辑电路,对端口写 “1”可作为高阻抗输入输入端用。在访问外部数据存储器时,这组口线分时转换地址(低 8位)和数据总线复用,在访问期间激活内部上拉电阻。在 程 时, 接收指令字节,而在程序校验时,输出指令字节,校验时,要求接上拉电阻。 : 是一个内部上拉电阻的 8 位双向 I/O 口, 输入缓冲级可驱动(吸收或输出电流) 4 个 辑门电路。对端口写 “1”,通过内部的上拉电阻把端口拉到高电平,此时可作输出口。作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时输出一个电流( I)。 程和程序校验期间, 接收 8 位地址。 : 是一个带有内部上拉电阻的 8 位双向 I/O 口, 输入缓冲极可以驱动(输入或输出电流) 4 个 辑门电 路。对端口 “1”,通过内部的上拉电阻把端口拉到高电平,此时和作为输出口,作输出口时,因为存在内部上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部存储器或 1 位地址的外部数据存储器(例如执行 令)时, 送出高 8 位地址数据。在访问 8 位地址的外部数据存储器(如执行 I 指令)时, 线的内容(也既特殊功能寄存器( 中 存器的内容),在整个访问期间不改变。 程或校验时, 接收高地址和其他控制信号。 : 是一组带有内部上拉电阻的 8 位双向 I/O 口, 输入缓冲级可驱动(吸收或输出电流) 4 个 辑门电路。对 写入 “1”时,它们被内部上拉电阻拉高并可作为输出端口。作输出端口时,被外部拉低的 将用上拉电阻输出电流。 除可作为一般的 I/O 口线外,更重要的用途是它的第二功能,如表 示: 还接收一些用于 速存储器编程和程序校验的控制信号 西安石油大学毕业设计(论文) 7 图 框图 位输出。当震荡器工作时, 脚出现两个机器周期以上高电平使机器复位。 访问外部程序存储器或数据存储器时, 址锁存允许)输出脉冲用于锁存地址的低 8 位字节,即使不访问外部字节, 时钟震荡频率的1/6 输出固定的正脉冲信号,因此它可对外输出时钟脉冲或用于定时目的。要注意的是:每次访问外部存储器时将跳过一个 冲。对 储器编程期间,该引脚还要输入编程脉冲( 。如有必要,可通过对特殊功能寄存器( 中的8元的 置位,可禁止 作。该位置位后,只有一条 外,此引 脚会被微弱拉高,单片机执行外部程序时,应该置 效。 程序存入允许( 输出的是外部程序存储器的读选通信号,当 西安石油大学毕业设计(论文) 8 表 口 外部程序取指令(或数据)时,每个机器周期两次 效,既输出两个脉冲。在此期间,当访问外部数据存储器,这两次有效的 号不出现。 部访问允许。欲使 访问外部程序存储器(地址为0000 必须保持低电平(接地)。要注意的是:如果加密位 编程,复位时内部会锁存 状态。 储器编程时,该引脚加上 +12V 的编程允许电源 然这必须是该器件是使用 12V 的编程电压 荡器反向放大器及内部时钟的输入端。 荡器反向放大器的输出端。 时钟震荡器: 有一个构成内部震荡器的高增益反向放大器,引脚 别是该放大器的输入端和输出端。这个放大器与作为反馈 元件的片外石英或陶瓷震荡器一起构成自激震荡器震荡电路如图。外接石英晶体(或陶瓷震荡器)及电容 在放大器的震荡回路中构成并联震荡电路。对外接电容 2 虽然没有非常严格的要求,但电容的大小会轻微影响震荡频率的高低、震荡工作的稳定性、起震的难易程序及温度稳定性,如果使用石英晶体,推荐使用 300如果使用陶瓷谐振器建议选择 400户还可以采用外部时钟,采用外部时钟如图所示。在这种情况下,外部时钟脉冲接到 ,既内部时钟发生器的输入端, 空。 图 内部震荡电路 图 外部震荡电路 西安石油大学毕业设计(论文) 9 由于外部时钟信号是通过一个 2 分频的触发器后作为内部时钟信号的所以外部 表 存器 寄存器 内容 寄存器 内容 000H 0H 0H 0H B 00H 0H 0H 0H 7H 0000H 0H 3 00H IP 定 钟的占空比没有特殊要求,但最小高电平持续的时间和最大低电平持续的时间应符合产品技术条件的要求。 速存储器的编程: 片机内部有 4K 字节的 个 储存储阵列出厂时已处于擦除状态(既所有存储单元的内容均为 用户随时可对其进行编程。程序接收高电压( +12V)或低电压( 允许编程信号。低电压编程模式,适用与用户在线编程系统。而高电平模式可与通用 程程序兼容。 编程方 法: 编程前需设置好地址、数据及控制信号,编程单元的地址就、加在 和 11 位地址范围为 0000H0数据从 输入,引脚 电平设置见表。 低电平, 持高电平, p 引脚是编程电源的输入端,按要求加上编程电压, 脚输入编程脉冲(负脉冲)编程时可采用 420时钟震荡器 编程方法如下: 地址线上加上要编程单元的地址信号。 应的控制信号。 加上 +1V 编程电压。 储阵列写入一个字节,加上一个 程脉冲 。 ( 2) 制信号 9 脚)复位信号时钟电路工作后,在引脚上出现两个机器周期的高电平,芯片内部进行初始复位,复位后片内存储器的状态如表所示, 3 口输出高电平,初始值 07H 写入堆栈指针 0 程序计数器 其余特殊功能寄存器,但始终不影响片内 态,只要该引脚保持高电平, 89循环复位, 电平单片机将从 0 号单元开始执行程序,另外该引脚还具有复用功能,只要将 +5V 备用电源,一旦 位突然降低或断电,能保护片内 的信息不丢失,恢复电后能正常工作。 常采用上电自动复位和开关手动复位,我们采用的是手动复位开关如图所示: 西安石油大学毕业设计(论文) 10 图 手动开关 手动开关未按下之前,电容正极处于家电状态,当按键按下去后, 容放电,从而实现放电。 单片机的串行接口 片机内部有一个 全双工的串行接收和发射缓冲器( 这两个在物理上独 立的接收发射器,即可以接收也可以发射数据,但接收缓冲器只可以读出不能写入,而发送缓冲器只能写入不能读出,它们的地址是 99H。这个通信口即可以用于网络通信,亦可以实现串行异步通信,还可以构成同步移位寄存器使用。如果在串行口的输入输出引脚上加上电平转换器,就可以方便的构成标准的 口。下面我们分别介绍。 基本概念 数据通信的传输方式:常用于数据通信的传输方式有单工、半双工、全双工和 工方式。 A 单工方式:数据仅按一个固定的方向传送。因为这种传输方式的用途有限,常用于串行口的打印数据传输与简 单系统间的数据采集。 B 双工方式:数据可以实现双向传送,但不能同时进行,实际的应用采用某种协议实现收发开关转换。 C 全双工方式:允许双方同时进行数据双向传送,但一般全双工电路的线路和设备比较复杂。 D 多工方式:以上三种传输方式都是同一线路传输一种频率信号,为了充分的利用线路资源,可通过使用多路复用器或多路集线器,采用频分、时分、或码分复用技术,即可实现在同一线路上资源共享功能,我们称之为多工传输方式。 西安石油大学毕业设计(论文) 11 串行通信的两种通信形式 A. 异步通信 在这种通信方式中,接收器和发射器有各自的时钟,他们的工作是非同步的 ,异步通信用一帧来表示一个字符,其内容如下:一个起始位,紧接着是若干个数据位,图 是传输 45H 的数据格式。 同步通信格式中,发送器和接收器由同一个时钟源控制,为了克服在异步传输中,每传输一帧字符都必须加上起始位和停止位,占用了传输时间,在要求传送的数据量较大的 C. 串行数据通信的传输速率: 串行数据传输率有两个概念,既美秒传送的位数 it 美秒符号数 ,在具有调治解调器的通信中,波特率与调治速率有关。 串行和控制寄存器 串行口和控制寄存器 片机串行口专用寄存器结构如图所示。 串行口的收发缓冲器,它是一个可寻址的专用寄存器,其中包含了接收器和发射器寄存器,可以实现全双工通信。但这两个寄存器具有同一地址( 99H)。 串行数据传输很简单,只要向缓冲器写入数据就可发送数据。而从接收缓冲器读出数据既可接收数据。 此外,接收缓冲器前还加上一级输入移位寄存器, 种结构的目的在于接收数据时避免发生重叠现象,文献称这种结构为双缓冲结构。而发送数 据就不需要这样设计,因为发送时, 主动的,不可能出现这种情况。 A:串行通信寄存器 在上一节我们已经分析了 制寄存器,它 是 一个可寻址的专用寄存器,用于串行数据通信的控制,单元地址是 98H,其结构格式如下: 表 存器结构 表 1 寄存器 构 7 5 3 1 I 地址 99H 98H 下面我们对个控制位功能介绍如下 : ( 1) 行口工作方式控制位 工作方式 功能说明 西安石油大学毕业设计(论文) 12 0 0 方式 0 移位寄存器方式(用于 I/O 扩展) 0 1 方式 1 8 位 特率可变( 出率 / n) 1 0 方式 2 9 位 特率为 4 或 2 1 1 方式 3 9 位 特率可变( 出 率 / n) ( 2) 机通信控制位 多机通信是工作方式 2 和方式 3, 主要用于方式 2 和方式 3。接收 状态,当串行口工作方式 2 或 3,以及 时,只有当接收到第 9 位数据( 1 时,才把接收的前 8 位数据送入 置位 出中断申请,否则会将收到的数据放弃。当 时,只有在接收到有效停止位时才启动 没接收到有效停止位,则 “0”。在方式 0 中 该为 “0”。 许接收控制位。由软件置 “1”时,允许接收;软件置 “0”时,不许接收。 方式 3 和方式 3 中要 发送的第 9 位数据,需要时用软件置位和清零。 方式 2 和方式 3 中是接收到的第 9 位数据。在方式 1 时,如 ,收到的停止位。在方式 0 中,不使用 送中断标志。由硬件在方式 0 发送完第 8 位时置 “1”,或在其它方式中串行发送停止位的开始时置 “1”。必须由软件清 “0”。 收中断标志。由硬件在方式 0 串行发射第 8 位结束时置 “1” B:特殊功能寄存器 要是是 单片机的电源控制而设置的专用寄存器,单元地址为 87H 其机构格式如下表: 表 特殊功能 寄存 器 7 5 3 1 符号 D 单片机中,除 外其它位均为虚设的, 串行波特率倍增位,当 时串行口波特率加倍,系统复位默认为 。 C:中断允许寄存器 断允许寄存器这里重述一下对串行口有影响的位 串行中断允许控制位, 允许串行中断, ,禁止串行中断。 西安石油大学毕业设计(论文) 13 串行口工作方式 串行口具有 4 种工作方式,我从应用和毕业设计的 角度,重点讨论方式 1 发送。 串行口定义为方式 1 时传送 1 帧数据为 10 位,其中 1 位起始地址、 8 位数据位(先低位后高位)、 1 位停止位方式 1 的波特率可变,波特率 = 32/2 溢出率 ) 表 中断允许寄存器 符号 地址 8H 数码显示管 要用单片机构成发射机,就需要一个人机界面。常采用的方式是 码管 显示测试结果,用一个小键盘执行某些功能,如请零、预置值、改变测量范围等等。 示器的工作原理 示是用发光二极管显示字段的显示器件,也可称为数码管,其外形结构如图所示,由图可见它由 8 个发光二极管构成,通过不同的组合可用来显示 0 9、 AF 及小数点。 图 “8” 字型数码管 示器分为共阴极和共阳极,共阴极是将 8 个发光二极管阴极连接在一起西安石油大学毕业设计(论文) 14 作为公共端,而共阳极是将 8 个发光二极管的阳极连接在一起作为公共端。我们这次就是采用的共阳极 以这里要介绍共阳极数码管。如图所示 , 示器有静态和动态显示两种方式,静态显示是将共阴极联到一起接地,每位的显示段( 别与一个 8 位的锁存器输出相连。由于显示的各位可以相互独立,各位可以互相显示,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。并且由于各位由一个 8 位锁存器控制段选线,故在同一时间内每一位显示的字符可以不同, 表 段码与字型的关系 段码 P D6 g D5 f D4 e D3 d D2 c D2 b D0 a 字形 3 0 1 1 1 1 1 1 0 06H 0 0 0 0 0 0 1 0 1 5 1 0 1 1 0 1 1 2 4 1 0 0 1 1 1 1 3 66H 0 1 1 0 0 1 1 0 4 6 1 1 0 1 1 0 1 5 7 1 1 1 1 1 0 1 6 07H 0 0 0 0 0 1 1 1 7 7 1 1 1 1 1 1 1 8 6 1 1 0 1 1 1 1 9 77H 0 1 1 1 0 1 1 1 a 7 1 1 1 0 1 1 1 b 39H 0 0 1 1 1 0 0 1 c 5 1 0 1 1 1 1 0 d 79H 0 1 1 1 1 0 0 1 e 71H 0 1 1 1 0 0 0 0 f 这种方式占用锁存器较多。动态显示是将所有位的段选线相应的并联在一起,由一个8 位的 I/O 口控制,形成段选线的多路复用。而各位的阴极分别由相应的 I/O 口控制,西安石油大学毕业设计(论文) 15 实现各位的分时选通。要 够显示相应的字符,就必须采用动态扫描方式,只要每位显示的时间足够短,则可造成多位同时显示的假象,达成显示的目的。在数字电路中常常要把数据或运算结果通过半导体数码管、液晶数码和荧光数码管,用十进制数显示出来。 发光二极管的工作电压为 ,工作电流为己毫安到几十毫安,寿命很长。半导体数码管将十位数分成七个字段,每段为一 个发光二极管,其字形结构如图所示,选择不同的字段发光,可显示出不同的字型。例如:当 a,b,c,d,e,f,g 七个字段同时亮时,显示 8,b、 c 段亮时,显示出 。 共阳极:把发光二极管的阳极连在一起构成共阳极。使用时公共端接 某阳极为低电平时,该发光二极管就导通发光。输出一个段码就可以控制 示器的字型,表 给出了段码与字型的关系,假定 a、 b、 c、 d、 e、 f、 g、 别对应 硬件的焊接及调试过程 硬件的焊接是毕业设计中重要的环节,用的 工具很简单:电烙铁、焊丝和镊子。因为我们选用的是实验板,所以要用导线把各个元器件连接起来,这就要有一定的技术基础,幸好这个在我们以前的电娤实习中已经掌握。焊接要细心,还要有耐心。焊接前要对照电路图对元器件有一个合理的布局,那样的话就会使电路简洁明朗,而且不易出错,即使出错也容易检查。下面就来介绍元器件的焊接方法和过程。 硬件的焊接 底座的焊接 我的电路板有两个底座,一个是单片机 ,另一个是数码显示管的。我们用的是 40 脚的双排直插式的,在焊接时,要先把底座插到电路 板上再进行焊接,底座各脚的焊点要小,以免各脚之间导通,还不能形成虚焊,虚焊会导致电路不通,底座要焊接牢固,不能和电路板距离太远,以免导致虚焊。底座还要放在公共线的两边,因为那两条线是火线和地线。焊接好后要对照电路仔细检查,再用万用表检测,看焊接是否良好。 按键的焊接 我的电路中用到了 5 个按键,一个复位键、一个发射键、两个置数键,还有我自己加的一个计数控制键。我虽然做的是发射机,但只要对软件进行一些改动,也可以作为接收机,那时发射控制键就变成接收控制键了。 我所用的按键是普通的断开按键,有 4 个脚,两边各两个,其中每边的两个脚是导通的,在焊接的时候要特别注意,我就是不小心,把相连的两个脚焊接当成不连的脚用来作开关,结果按键按下后不起作用。所以在焊接前一定要用万用表测出那两个脚是导通的,焊接完后再检测,看焊接是否良好。 时钟电路的焊接 西安石油大学毕业设计(论文) 16 我们的电路中时钟电路包括一个晶震,两个电容。晶震是 6M 的,电容是普通电容,焊接前要刮腿,以免接触不好。晶震和电容要尽量靠近芯片,这样有利于时钟电路的稳定,减少干扰。焊接好后要用万用表检测。 导线的焊接 导线的焊接比较麻烦。因为导线 比较多,就要先对导线进行布局,找好于元器件相对的管脚,焊接前先要检测导线是否导通。焊接完成后要检测是不是连接良好。 电路板的检测和故障排除 电路板完成后要进行全面检测,包括以下几个方面: 火线和底线的检测 检测单片机底座的 40 脚)是否与火线相连,检测数码管的功用端是否与火线连接,手动复位开关是否连接上火线。地线检查:其他按键接地是否良好,时钟电路接地端的检测,单片机 ( 20 脚)是否接地。检查完后再用万用表检查火线和地线是否导通。 元器件之间 的连接的检查 参照电路图,用万用表仔细检查各个元器件连接是否良好,是否对应。 硬件的调试机器故障排除 硬件的调试在上电后的工作是不是正常,主要包括不插单片机的调试和插上单片机的检测。 无单片机的调试 无单片机调试主要检查电路工作是否正常,调试数码管是否点亮,显示数据是否正确,具体步骤如下: A:打开电源,将输出电压调到 5 伏,然后关闭电源。 B:将电路板的火线与电源正极相连,地线与负极相连。 C:打开电源,用万用表检测电路板是否有输出电压,如果有就是好的,没有就要检测是否有短路 。 D:电路检查完后,关闭电源,用一根导线与电源负极相连,然后打开电源,用导线的另一端逐个与 的管脚接触,看数码管显示是否正确。 调试过程中遇到的问题及解决办法: ( 1)上电后,用导线一端接低电平,另一端逐一连接 脚,数码管显示不正常,检测后发现管脚有短路现象,将短路管脚重新焊接后,显示正常。 西安石油大学毕业设计(论文) 17 ( 2)反复调试几次后,发现电路不稳定,有时没反应。仔细分析后,觉得是稳压管有问题,拆除后直接接 5V 电压源,问题解决 。 有单片机的调试 加上单片机,目的是看单片机能否正常工作,有效 地控制显示数据。编写一个小程序,烧入芯片中加点调试。 A:程序如下: 0000H 0030H # A, #0 A, A+ A B 306H, 5466H 6707H, 76:将编好的程序进行编译,即将 *件转化 为 *件,然后烧入片子。程序的编译和烧入将在以后介绍。 C:把单片机 入底座插入底座,加电,看各位显示是不是正确。 D: 用复位键看显示是否正确,如果稳定,表示调试成功。 调试过程中遇到的问题: 上电后,用示波器检测 30 脚,发现没有时钟频率输出,仔细分析发现 30 脚没接高电平,重新焊接后,输出漂亮的时钟脉冲。 西安石油大学毕业设计(论文) 18 3 软件的设计和调整过程 软件的设计是我毕业设计的另一个重要方面。它的好坏直接关系毕业设计的成功与否。我等软件是用汇编完成的,需要能熟练的掌握汇编语言,还要熟悉 程序流程图、通信协议、波特率计算、编写程序、编译、和烧入软件的操作,到最后的调试,是很复杂的。下面作详细介绍: 程序流程图 程序流程图是编写软件的重要前提,它是在图表上直观的体现拟设计的目的及过程。也是编译的重要依据,按照流程图一步一步编写程序,下面是我的流程图 ; 图 发射接口流程图 通信协议 通信协议是发射机和接收机之间通信不可缺少的部分,包括下面几方面的设置 ; 西安石油大学毕业设计(论文) 19 串 行
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:【JP048】单片机串行通信发射部分设计[FY+RW]
链接地址:https://www.renrendoc.com/p-671222.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!