基于嵌入式系统的时分多址通信协议的实现_第1页
基于嵌入式系统的时分多址通信协议的实现_第2页
基于嵌入式系统的时分多址通信协议的实现_第3页
全文预览已结束

下载本文档

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

文档简介

基于嵌入式系统的时分多址通信协议的实现摘要:很多通信系统不能简单地采用查询方式,其缺点在于当网络上的器件很多时,会有大量的数据从主设备发送到从设备,从而浪费时间和资源。本文介绍的串行网络设计可以解决这个问题,同时给出了利用8051 单片机嵌入式系统和 C51 程序实现时分多址( TDMA)网络通信协议的部分程序。关键词:8051 单片机;时分多址(TDMA)通信协议;嵌入式系统;C51 程序1、引言很多通信系统在各种应用场合大多都是采用的主从式结构进行通信,如图 1 所示是单片机之间的通信系统,通常的方式是以一台 PC 机作为上位机,若干台单片机作为下位机,它们之间的通信可以采用查询的方式、也可采用中断的方式进行。如果采用查询方式,当网络上的单片机很多时,会很浪费时间,当从设备之间要进行通信时,数据要经过上位机,主设备会将大量的数据从上位机主设备发到下位机从设备。如果采用中断方式通信时,也存在这样的问题,当同时有多个下位机提出中断请求时,上位机要对所有的中断进行排队,同时下位机的从设备也要具备中断排序功能。而当从设备之间要进行通信时,数据也要经过上位机主设备,这样就对主设备的数据处理带来很大的压力。2、TDMA 的串行网络设计原理我们可采用一种新的串行网络设计来解决这些问题,如下图 2 所示是其拓扑结构。这样的设计使从设备间可直接进行通信,而且不需要主控制器(主设备)作过渡,并且每个器件上的串行中断的数量将大大增多。在这种网络拓扑结构中,通信权轮流分配,首先是节点 1,然后是节点 2节点 n,再接着就是节点 1,这样无限循环。当轮到某个节点通信时,它就得到了控制权,能发送数据给其它任何节点,当通信时间到以后,必须释放总线的控制权,这就是时分多址 TDMA(Time Division-Multiple Access)网络通信的基本规则。时分多址是在一个宽带的无线载波上把时间分成周期性的帧,每一帧再分成若干时隙,每个时隙就是一个通信信道,分配给每一个用户。系统根据一定的时隙分配原则,使各个移动台在每帧内只能按指定的时隙向基站发送信号(突发信号),在满足定时和同步的条件下,基站可以在各时隙中接收到各移动台的信号而互不干扰。基站发向各移动台的信号都是按顺序在预定的时隙中传输,各移动台只要在指定的时隙内接收,就能在合路的信号(TDM 信号)中把发给它的信号区分开来,所以 TDMA 系统是以“缓存突发法”发送数据的。因此对任何一个用户而言发送信号都是不连续的。这就意味着数字数据和数据调制都必须与 TDMA 一起使用,而不像采用模拟 FM 的 TDMA 系统。在设计中,每个节点都被分配了一个时间段号码用于通信,时间段是一个基本时间单位,它的选择要根据所要发送数据量的大小来决定。在这里,选用的时间段设置为 50ms,知道了时间段号码、总的时间段数量和时间段的大小,就可以很容易地用软件跟踪每个时间段,并对时间计数,当计数到自己的时间段号码时就可开始发送数据,并且会发送尽可能多的数据。例如,在发送队列里有 5 个消息,它不会仅仅发送一个消息,而会充分利用这 50ms 的时间把尽可能多的消息发出去,如果这个时间段只能发送 3 个消息,那么另外的两个消息会等到下一个时间段再发送。网络上两个设备之间的交谈是很简单的,假设设备 1 想从设备 2 处取得一些数据,设备 1 会在它的时间段中向设备 2 发送请求数据的消息,设备 2 接收并分析设备 1 发送过来的消息,当确认消息有效时,会把该消息放入接收队列中处理,设备 2 的代码将产生相应的应答信号,把这个应答消息放入发送队列中。当设备 2 的时间段来临时就把消息发送出去,与此同时,设备 1 计时等待设备 2 反馈的数据,这样就避免了无限制的等待。图 3 定时器 0 的中断服务程序3、TDMA 的串行网络设计实现方法TDMA 网络节点基本硬件的设计很简单,用一排 8 脚的 DIP 开关和 8051 的 P1 口相连,端口的低位决定器件的时段号,高位决定网络器件号。下面是系统初始化的主程序:定时器 0 的中断服务程序把标志位置位后,即跟踪系统的时间段,当本节点的时间段到了以后,它要调用发送数据的子程序发送正在等待发送的消息。如图 3 是定时器 0 的中断服务程序框图。下面是处理发送中断的程序:发送队列还将使用一定数量的 entry 结构,在每个结构间有一定的联系而不是简单地按照顺序关系排列,entris 数组有两个连接列表,一个被使用,另一个未被使用。当需要新的存储结构时,从自由的列表中获取一个结构,并把它们连接到使用列表中。当需要删除一个结构时,就把该结构从使用列表中取出,并放回到自由列表中,新发送队列的源代码如下:由于时分多址(TDMA)通信更多地考虑的是时间上的问题,所以特别要注意通信中的同步和定时这两方面。如果每个节点不是精确地在同一时刻复位,那是不可能保持同步的,系统会因为时隙的错位和混乱而导致接收端无法正常接收信息。要确保每个节点的同步,最简单的方法是发送给每个节点一个同步信号,即在每个时段循环的开始,由 PC 机发出一个由高到低的跳变脉冲信号,这个脉冲信号使每个节点器件都调整到时段 0,每个节点都用一个中断服务程序来处理这个信号,因此,把这一信号接到 8051 单片机的INT0 引脚上。ISR 将重装并起动定时器 0,而不是通过主程序中的程序代码来完成。定时器将负责时间的复位,当 PC 机再次发出同步脉冲时,各节点又将恢复到时段 0。下面的程序就用来完成这一工作:这样做有两个好处:其一,可以使得网络中的节点容易保持同步,因为它们都参照了同一个起动信号,其二,它使 PC 机有能力控制网络通信,修改一下定时器 0 的中断服务程序,当时段计数完成一个循环后就停止定时器,这样只有收到 PC 机发送的同步信号才能重新开始通信。假设 PC 想发送一个很长的信号给网络中的某个节点,但是又不想等好几个时段来发送的话,这时,PC 机就可以停止网络时段的计数,等它把数据发送完毕后再重新开始网络通信。4、结束语利用 51 系列单片机这种嵌入式系统和 C51 程序来实现时分多址(TDMA )网络通信协议,克服了主从式网络通信以往那种在网络上节点很多时采用查询或轮询带来的浪费时间的问题。但这一方法也带来新的问题,即网络上设备很多时,轮流循环的时间会相应增加,实时性不强。这一问题可通过适当缩短时间段来平衡解决。另外,对这一通信协议还可进行如下改动:即在主从式网络通信中,让主设备 PC 机能够给那些需要应答的节点发送消息,即不必把消息放入队列中,等待时段到来后再进行发送,而是直接发送。这个网络就成为时分多址(TDMA)和查询系统的混合系统,这样的话,会使得网络节点向 PC 传输的数据最大化。参考文献:【1】蔡皖东. 计算机网络技术 M. 西安:西安电子科技大学出版社. 1999【2】胡道元. 网络设计师教程 M. 北京:清华大学出版社. 2001【3】魏忠 蔡勇 雷卫红. 嵌入式开发详解 M. 北京:电子工业出版社. 2003【4】王田苗. 嵌入式系统设计与实例开发 M. 北京:清华大学出版社. 2003 【5】李朝青. PC 机及单片机数据通信技术

温馨提示

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

评论

0/150

提交评论