基于单片机无线通信网络的实现毕业论文(编辑修改稿)内容摘要:

附录 5—— nRF2401寄存器及命令,对 nRF2401进行配置,配置函数名称为 void congfig_2401()函数体见附录 2。 最后,即可通过下面两个函数方便的实现指定字节数,和指定地址的发送与接收。 发送函数为: fasong(uchar *f,uchar *s), 其中的指针 f, s分别为发送数据的首地址,和目的地址的首地址。 接收函数为: jieshou(uchar *f,uchar *s),指针 f, s分别为存放数据缓冲区和接收地址。 发送函数和接收函数体见附录 3。 通过软件对不同的 nRF2401分配不同的地址,至此,用发送和接收函数即可进行点到点自由通信。 8 无线通信网络 无线网络的概念 无线网络就是用无线介质的物理链路将各个孤立的工作站或主机相连在一起,组成数据链路,从而达到 资源共享 和通信的目的。 凡将地理位置不同,并具有独立功能的多个计算机系统或者 MCU通过通信设备,且以功能相对完善的网络软件(主要是网络协议、 信息交换 方式及 网络操作系统 等)实现 网络资源 共享的系统。 通俗的讲无线通信网络就是将点对点的无线通信统一遵循一套协议,从而能够有 效地实现多机的资源共享。 点对多点的无线网络实现 点对多点的网络多采取轮询的结构, 一个轮询通信系统 主要 包括一个主站和多个连接到该主站的子站。 该主站包括一个地址控制部分和一个轮询控制部分。 地址控制部分把一个预定的轮询周期分成多种类型的轮询间隔,其中每个轮询间隔具有一个不同的轮询次数,并且保持对应于相应轮询间隔的轮询目标子站的地址。 轮询控制部分切换该轮询间隔,并且依据子站的状态改变在地址控制部分中的地址。 每一个子站包括另一个轮询控制部分,它在该子站被主站轮询时发送一个答复。 在点对点通信实现的情 况上下,通过软件定义一个主站,剩余的三个作为从站,有主站顺序的发送询问指令,询问之后收到请求应答即将通信线路释放给该机使用,等其通信完毕再发送返回指令给主机,主机继续下一站轮询 …… 这种方法的好处在于它有效地避免了通信冲突造成的数据混乱,几乎避免了所有的冲突。 而它的缺点是数据传输的实时性很差,因为任何一个站占用无线介质的时间都是未知的。 这样可能会延误其他基站的紧急信息。 单片机的 rs232 串口在通信过程中的应用 单片机的 rs232 串口的原理 串口通讯对单片机而言意义重大,不 但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。 由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。 波特率( Boud Rate)就是在串口通信中每秒能够发送的位数( bits/second)。 89S52 串行端口在四种工作模式下有不同的波特率计算方法。 其中,模式 0 和模 9 式 2 波特率计算很简单,请同学们参看教科书;模式 1 和模式 3 的波特率选择相同,故在此仅以工作模式 1 为例来说明串口通信波特率的选择。 在串行端口工作于模式 1,其波特率将由计时 /计数器 1 来产生,通常设置定时器工作 于模式 2(自动再加模式)。 在此模式下波特率计算公式为: 波特率 =( 1+SMOD) *晶振频率 /( 384*( 256TH1)) 其中, SMOD—— 寄存器 PCON 的第 7 位,称为波特率倍增位; TH1——定时器的重载值。 在选择波特率的时候需要考虑两点:首先,系统需要的通信速率。 这要根据系统的运作特点,确定通信的频率范围。 然后考虑通信时钟误差。 使用同一晶振频率在选择不同的通信速率时通信时钟误差会有很大差别。 为了通信的稳定,我们应该尽量选择时钟误差最小的频率进行通信。 单片机的 rs232 串口在无线网络设计调试 中的应用 在本设计中所有站收到的和发送出的数据(除系统时钟数据外)都会被 MCU都会通过 RS232串口上传到 PC机,并通过串口调试助手软件显示在电脑上。 有了 RS232串口,单片机在无线通信过程中发送的和接收到的数据都可以很容易的串行发送到 PC机上,这样就可以通过 PC机的屏幕很直观的读出无线系统现在的工作状态与数据传递的具体情况,便于及时的发现问题,调试出错误,并改正、更新、升级软件系统。 3 CSMACA的多点多主机式无线网络的具体实现方法 物理层: 通信占用 全球开放 ISM 免费使用频段。 最高工作速率 2Mbps,高效 GFSK 调制,抗干扰能力强, 126 频道,内部寄存器控制,满足多点通信和跳频通信需要,内置硬件 CRC 检错和点对多点通信地址控制。 数据链路层:数据帧格式为 前导码 地址 (35字节 ) 9 位 (标志位 ) 数据 132字节 CRC 校验 数据帧格式 地址、数据和 CRC 校验的字节数有 MCU 配置控制。 网络层: 10 对数据帧加入路由 1 字节路由信息然后封装,每个系统开机后首先自检然后自动建立自己的路由表,控制本字节实现路由功能 (由于本设计只有4 个基站,所以最多支持 1 级中继路由表最多只有三级比 较简单 )。 传输层: 每次发送数据之前进行载波监听,当检测到载波之后,自动转换载波频率,再次监听 ..直到发现空白频段,在空白频段首先发送一个字节的询问字节,若正确接收到对方的应答则开始正常通信,若超时未收到应答则说明通信冲突,系统会随机延时一段时间重新询问,继续上边的过程。 网络层的数据包在这里还会被加上一个字节的数据计数信息,以辅助完成滑动窗口流控制传输,保证数据包无重复无丢失的传到目的地。 应用层: 在这里只是在每秒三次时间信息作为冲突演示的对象。 通过串口将每个数据包剥去应用无关的传输层以下的信息,只留下 应用信息上传至 PC显示。 网络实现的主程序见附录 4。 11 4 网络系统的主要流程图 基站的流程图 广播询问信息 监测是否 1s 超时 将所有源址记录位地址表存储 接收 读出帧 转化为单片机识别字符 配置发送 需要路由。 传输层校验 分离应用信息 加发送任务标记 加路由标记字节 加传输标记字节 处理接收应用层信息 等待回复 收到回复 记录源址 中断检测时间片 转化为帧写到 πrf2401 N Y Y N 发送 图 41 基站的流程简 图 12 网络系统流程图 图 42 网络系统框图 nRF2401 单片机主控部分 RS232 PC接口 nRF2401 单片机主控部分 RS232 PC接口 nRF2401 单片机主控部分 RS232 PC接口 nRF2401 单片机主控部分 RS232 PC接口 多主式,突发性处理,多路径频段, CSMA/CA 无线网络 13 5 硬件电路设计介绍 系统电平介绍 TTL 电平标准 51单片机采用 TTL电平标准, TTL集成电路的全名是晶体管 晶体管逻辑集成电路( TransistorTransistor Logic),主要有 54/74系列标准 TTL、高速型TTL( HTTL)、低功耗型 TTL( LTTL)、肖特基型 TTL( STTL)、低功耗肖特基型 TTL( LSTTL)五个系列。 标准 TTL输入高电平最小 2V,输出高电平最小 ,典型值 ,输入低电平最大 ,输出低电平最大 ,典型值。 STTL输入高电平最小 2V,输出高电平最小 Ⅰ 类 , Ⅱ 、 Ⅲ类 ,典型值 ,输入低电平最大 ,输出低电平最大。 LSTTL输入高电平最小 2V,输出高电平最小 Ⅰ 类 , Ⅱ 、 Ⅲ 类 ,典型值 ,输入低电平最大 Ⅰ 类 , Ⅱ 、 Ⅲ 类 ,输出低电平最大 Ⅰ 类 , Ⅱ 、Ⅲ 类 ,典型值。 nRF2401 采用 CMOS 点评标准 CMOS 是场效应管构成, TTL 为双极晶体管构成 CMOS 的 逻辑电平 范围比较大( 5~ 15V), TTL 只能在 5V下工作 CMOS的高低电平之间相差比较大、抗干扰性强, TTL 则相差小,抗干扰能力差 CMOS功耗很小, TTL 功耗较大( 1~ 5mA/门) CMOS 的工作频率较 TTL 略低,但是高速 CMOS 速度与 TTL 差不多相当。 为了降低功耗 nRF2401 采用的工作电压为。 两种电平供电与转化的解决方案 在本设计中采用 1117— 来讲 5V的 TTL 电平转化为 CMOS 电平供 nRF2401 使用。 而他们的 I/O 接口具有兼容性,因此不必做其他的处理。 单片机相关电路 14 表 51 P1 的特殊功能 引脚号 第二功能 T2(外部定时计数器输入 ),时钟输出 T2EX(定时计数器 T2的 )捕捉重载触发信号 MOSI(在线编程系统用 ) MISO(在线编程系统用 ) SCK(在线系统编程用 ) 表 52 P3 的特殊功能 引脚号 第二功能 RXD 串行输入口 TXD 串行输出口 /INT0 外部中断 0 /INT1 外部中断 1 T0 计时器 0外部输入 T1 计时器 1外部输入 /WR 外部数据存储器写选通 /RD 外部数据存储器读选通 单片机复位电路 为确保微机系统中电路 稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位。 一般微机电路正常工作需要供电电源为 5V177。 5%,即 ~。 由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当 VCC超过 稳定工作时,复位信号才被撤除,微机电路开始正常工作。 目前为止,单片机复位电路主要有四种类型:( 1)微分型复位电路;( 2)积分型复位电路;( 3)比较器型复位电路;( 4)看门狗型复位电路。 电路图如下: 15 图 51 复位电路 晶 振电路 电路图如下: 图 52 晶振电路 晶振是晶体振荡器的简称,在电气上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低 的频率是串联谐振,较高的频率是并联谐振。 由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶 振的两端并联上合适的电容它就会组成并联谐振电路。 这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为 16 电感的频率范围很窄, 所以即使其他元件的参数变化很 大,这个振荡器的频率也不会有很大的变化。 晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。 一般的晶振振荡电路都是在一个反相放大器(注意是放大器不是反相器)的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般 IC 的引脚都有等效输入电容,这个不能忽略。 单片机串口电路 单片机内部串口与 RS232电平转化电路: 图 53 单片机内部串口与 RS232电平转化 电路 单片机与 nRF2401 接口电路 17。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。