





























要应用在实时时钟,转换器,还有数字信号处理器和数字信号解码器之间。
是种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如。
串行外围设备接口是种同步串行接口,因其硬件功能强,与有关的软件就相当简单,可使单片机有更多的时间处理其他任务。
此时,所设计的系统拥有极低的功耗,丰富的片内外设,卓越的工作性能和方便灵活等优点。
本文的主要工作本次毕业设计的主要工作是设计出个单片机总线式主从通信系统。
实现基于主从总线的数据传送,除了实现主机与从机间的数据传送外,还实现从机到从机的数据传送的功能。
为了方便起见,先设计个主两从的通信系统,画出系统的硬件原理图,并且在此原理图的基础上设计出软件实现此功能。
至于更加复杂的主从式多机系统的设计与实现可以在此系统的基础上进行扩展实现。
在本次主从式通信系统的设计与实现过程中,首先要做的工作是设计出个主从式通信系统的硬件原理框图,然后在此原理框图的基础上进行具体的硬件电路设计,在设计过程中要充分考滤到可能出现的问题,然后找出合理的方法解决。
在已设计好了的硬件电路的基础上再进行具体的软件编写,满足任务书上主从式通信系统的功能要求。
在编写程序代码的过程中,要了解串口通信的原理,并且能通过串口进行正确的数据传送。
再者,为了对整个系统进行有效的,规范的管理,使之能够正确通信,必须设计出个通信协议进行管理。
同时通信协议也对主从机之间的接收发送数据流程有了直观的规定。
论文结构如下第章,绪论。
介绍课题背景发展现状,课题意义应用前景等。
第二章,简要介绍串行通信理论的有关概念。
比如有通信工作模式和同步异步通信等,对此章的更好了解有助于总线传输协议串口通信等原理的学习。
第三章,根据国内外目前采用的主从式总线设计方法列出了几种比较常用且简单的方法,并且介绍了它们的原理。
同时,根据所选课题的实际情况选取最好的方案进行主从式总线通信系统的选取。
第四章,对于已经选取好的方案进行系统的硬件设计,对于硬件的设计中出现的问题寻找解决办法。
并且在此硬件基础上进行相应的软件代码编写。
第五章,在已经构建的软硬件平台上,对系统进行系统测试,并针对测试结果进行调试。
第六章,总结。
对设计的不足之处提出改进方案,并提出下步的研究方向。
串行通信理论的有关概念通信不同的系统利用线路互相交换数据便是通信,而构成整个通信的线路称为网络。
通信的目的不外乎数据的交换,数据必须经过交换才能由发送端到达接收端,发送端所使用的方法就是将数据利用定的程序通过线路发送出去,接收端则根据协议将数据收集起来并且进行存储或显示。
数据发送通信的主要目的是将数据从端发送到另端,以实现数据的交换。
计算机与设备间的数据交换,计算机与计算机间的数据传输都属于通信的范畴。
个完整的通信系统包括发送端接收端转换数据的接口及发送数据的实际信道或媒体。
般情况下,发送与接收的节点称为,数据终端设备。
数据在到达正确目的地之前,可能需要经过系列中间节点,这些中间节点负责数据的转送工作,以送达目的地,这些中间节点称为,数据交换设备。
终端设备发送数据时,必须先将数据转换为电气信号,以便在线路上传递,而负责数据与电气信号转换的设备称为,数据通信设备。
与间的数据传输线路通常使用串行通信,而与间的媒体则包括了双绞线同轴电缆光纤或无线电等。
通信的种类通常通信的形式可以分为两种,种为并行数据通信,另种则为串行数据通信。
两种不同的通信模式如图所示。
图并行与串行由图可知,并行数据通信次的传输量为个位个字节,而串行数据通信则是次只传输位。
并行数据通信是指数据的各位同时进行传送的通信方式。
其优点是传送速度快缺点是数据有多少位,就需要多少根传送线。
串行数据通信是指数据是位位顺序传送的通信方式,它的突出优点是只需对传送线,这样就降低了传送成本,适应于远距离通信其缺点是传送速度较低。
假设并行传送位数据所需时间为,那么串行传送的时间至少为。
通信参数双方为了可以进行通信,必须要遵守定的通信规则,这个共同的规则就是通信端口的初始化。
通信端口的初始化有以下几项必须设置数据的传输速率传输双方通过传输线的电压改变来从机之间信号的影响,可以在信号端加上三态门电路,当个从机不进行工作时,可以设置三态门呈高阻态的状态,这样从机之间就不会相互的影响了。
同时,关于三态门的控制,可以设计成主机控制,这样要想实现各种形式的通信都可由主机控制了。
本次设计采用芯片作为三态们器件。
具体的电路原理图如图所示。
图硬件原理图软件的编写主从式通信系统包括主机与从机之间的通信,以及从机与从机之间的通信。
因此,在编写程序进行数据信号传输时,必须考虑到各种情形。
同时,如果想要系统具有实时性,数据信号则必须是可变的。
数据的可变不仅包括数据的内容,还应该包括数据的长度。
关于各种情形的通信,程序设计时,可以设计种通信协议,采用不同的控制命令字进行通信控制,同时也可规范的管理数据之间的传送。
我们可以将组三态门三态门主机从机从机特殊的,用的比较少的数据用来当成控制命令字。
例如,本次设计采用如下控制命令表示主机给从机发送数据,表示主机给从机传送数据,表示从机给主机传送数据,表示从机给主机传送数据,表示从机给从机传送数据,最后表示从机给从机传送数据。
本次设计所设计的通信协议为主机首先给所有的从机发送个控制命令字,从机接收到这个控制命令字后进行辨认,如果是则从机准备接收主机的数据,从机处于待机状态,而主机则会在发送完前面的控制命令字后发送在传送的数据信号。
当主机发送的是控制命令字时,主机在发送完控制命令字后发送要传送的数据信号,此时从机处于待机状态,从机接收主机发送来的数据。
如果从机接收到的是,则主机在发送完控制命令字后就准备接收从机发送来的数据信号,从机处于待机状态。
当主机发送的是控制命令字时,则主机在发送完控制命令字后就准备接收从机发送来的数据信号,从机处于待机状态。
主机发送的如果是或者是控制命令字时,则表示从机与从机之间进行数据通信,此时,数据首先由从机传送给主机,再由主机传送给另外个从机。
另外,对于主从机之间发送的数据,有可靠传输方式和不可靠传输方式。
所谓不可靠传输方式,就是发送端与接收端之间没有任何关系,发送端只管发送数据,接收端只管接收数据。
到于数据在传送时有没有发生,接收端是不会知道的。
这种传输模式的优点是相对于可靠传输而言,传输速率要更高。
缺点就像其名字样,数据传送不安全。
对于要求高准确率的数据通信系统,更多的采用可靠传输。
所谓可靠传输,就是发送端在发送组数据后,在数据的最后加上个校验码,而接收端在接收数据时,不仅接收数据,而且还要进行计算,最后与发送端发送的校验码进行对比,如果两个校验码致,则表示数据是正确的。
如果不致,则放弃接收到的数据。
发送端重新发送数据,进而重复上面的过程,直到数据信号发送正确为止。
本次设计采用可靠传输方式。
在上述的所有通信过程中,当每次数据传送结束后,接收机在接收完所有的数据后会进行次求和校验,这样可以检验数据传送的成确与否。
如果所得的求和值与发送机发出的求和校验码致时,则表示数据发送正确,可以接收并存储。
如果所得的求和值与发送机发出的求和校验码有致时,则表示数据发送时出现,接收机丢弃所接收的数据,并命令发送机重新发送数据。
编写软件代码时,首先得弄清楚程序流程图。
只有清楚了软件流程图,再根据流程图进行编写代码,才不会出现大的。
本次设计采用个单片机作主机,两个单片机作从机进行主从通信,具体程序流程如图图图如下所示。
其中具体程序见附录。
入口任务初始化发送控制命令判断命令给从机发送数据给从机发送数据主机接收来自从机的数据主机接收来自从机的数据图主机程序流程图图从机程序流程图图从机程序流程图入口任务初始化接收控制命令判断命令给主机发送数据接收来自主机的数据给从机发送数据接收来自从机的数据入口任务初始化接收控制命令判断命令给主机发送数据接收来自主机的数据给从机发送数据接收来自从机的数据主从式总线通信系统仿真根据上面的原理设计好硬件原理图和编写好软件代码后,可以在仿真软件上进行仿真了。
为了得到明确可见的仿真结果,本次设计将主从机之间的数据信号进行传送时,将接收到的数据信号利用数码管显示出来。
这样就可以目了然的知道仿真结果的正确性了。
具体的仿真原理图如图所示。
图仿真原理图在仿真软件上连接好原理图后,将所写的主机和从机程序装入单片机中,然后进行仿真调试。
本次程序编写时,主从机之间发送的数据和从机与从机之间发送的数据都为。
这是因为这些数据数码管上显示时分别为到,这样可以使传送的数据直观的显示出来。
例如主机给从机发送数据,仿真瞬时结果如图所示。
其它情形的通信仿真结果由于与上面的情形差不多,在此就不详述。
图主机给从机发送数据仿真图从仿真结果可以看出,无论是主机给从机之间通信,还是从机之间的通信,都能在仿真软件上得到正确的结果。
所以可以肯定,此次设计的硬件和软件都是满足要求的。
论文总结本文首先介绍了串行总线通信的有关概念,并在此基础上讲解了三种常用总线通信协议的基本原理。
然后采用其中之总线协议进行基于单片机的主从式总线通信系统的设计。
设计了实现基于串口通信的主从机功能的硬件电路平台,并在硬件平台上实现了主从机之间数据通信的基本功能。
在进行课题研究的过程中,本人加深了对串口通信总线通信与总线通信的理解,尤其是对串口通信的通信有了深刻的认识。
方面是加强了对诸如体系结构数据流模型和传输类型等基本概念的理解,另方面,在研究协议规范的过程中,深入理解了其数据传送的原理和具体过程,为在硬件平台上实现主从机之间的数据通信打下了很好的基础。
在研究分析上述理论知识的基础上,本人首先设计了系统硬件连接框图,并利用软件,完成了系统原理图的设计以及图的布局布线,并完成了硬件电路的调试工作。
在确认硬件电路工作正常之后,在软件上进行软件的调试。
最后在软件上进行了系统的仿真与调试。
但因为本人缺少系统开发经验,本系统设计尚有诸多不足之处在编程方面,由于程序优化不足,在仅有的单片机上实现传送时会有系统运行效率低,并且偶尔出现数据传送时各机之间相互影响的现象。
解决方法是,使用片外
