网站大量收购独家精品文档,联系QQ:2885784924

基于嵌入式系统分多址通信协议的实现.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于嵌入式系统分多址通信协议的实现

基于嵌入式系统的时分多址通信协议的实现 摘要:很多通信系统不能简单地采用查询方式,其缺点在于当网络上的器件很多时,会有大量的数据从主设备发送到从设备,从而浪费时间和资源。本文介绍的串行网络设计可以解决这个问题,同时给出了利用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)通信更多地考虑的是时间上的问题,所以特别要注意通信中的同步和定时这两方面。如果每个节点不是精确地

您可能关注的文档

文档评论(0)

owy207 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档