基于单片机无线通信网络的实现毕业论文(编辑修改稿)内容摘要:
附录 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。基于单片机无线通信网络的实现毕业论文(编辑修改稿)
相关推荐
位的定时器 /计数器以实现定时或计数功能,并以其定时或计数结果对单片机进行控制。 5. 并行 I/O 口 AT89S51 共有 4 个 8 位的 I/O 口( P0、 P P P3 口),可以实现数据的并行输入 /输出。 6. 串行口 AT89S51 有 1 个全双工的可编程串行口,以实现单片机和其他设备之间的串行数据传送。 该串行口功能较强,既可以作为全双工异步通信收发器使用
的,因此基于 HD44780 写的控制程序可以很方便地应用于市面上大部分的字符型液晶。 工业字符型液晶,能够同时显示 16x02 即 32 个字符。 ( 16 列 2 行) 注:为了表示的方便 ,后 文皆以 1 表示高电平, 0 表示低电平。 1602 液晶也叫 1602 字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。 它由若干个 5X7 或者 5X11 等点阵字符位组成
体设计:控制器采用单片机 AT89C51,温度传感器采用DS18B20,用 4位 LED数码管以 串口传送数据实现温度显示 [1]。 系统整体硬件电路 温度计电路设计原理图见 图 23 所示,控制器使用单片机 AT89C51 温度 传感器使用 DS18B20,用 4 位共阴 LED 数码管以动态扫描实现温度显示 [2][3]。 按健复位电路是上电复位加手动复位,使用比较方便,在程序跑 时,可
显示部分主要由 128个贴片发光二极管分成 8圈,每圈 16 个组成,相当于 8行 16列的矩阵。 这些发光二极管共有四种颜色,分别是红,黄,蓝,绿。 每圈用同一种颜色,从里到外分别是绿红黄蓝绿红黄蓝排布。 每行 16 个 LED 的阳极连接在一起引出 8行输出分别接单片机 I/O口的 ~ ; 每列 8个 LED的阴极连接 在一起 引出 16列输出 分别接单片机 ~ ~。 电路图如图2 .1所示
由两个 电力半导体器件组成的导电臂,电流从一个臂向另一个臂转移的过程称为换流(或换相)。 在换流过程中,有的臂从导通到关断,有的臂从关断到导通。 要使某一臂导通,只要给组成该导电臂的器件的控制极施加适当的信号,但要使某一臂关断,情况就复杂多了。 全控型器件可以用适当的控制极信号使其关断,而半控型晶闸管,必须利用外部条件或采取一定的措施才能使其关断。 晶闸管要在电流过零以后再施加一定时间的反向电压
将采集的模拟量数据进行运 算和处理根据设计要求对输出控制进行脉宽调制 达到恒流, 恒压 , 恒温 ,恒速的目的。 随着大规模集成电路的不断发展很多单片机都有内置 PWM 模块 ,因此单片机的 PWM 控制技术可以用内置 PWM 模块实现 , 也可以用单片机的其它资源由软件模拟来实现 , 还可以通过控制外置硬件电路来实现。 可编程逻辑器件 (PLD)及 EDA 技术的应用成为电子系统设计的潮流。