这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 基于PIC单片机的IAI无线模块测试板

共1条 1/1 1 跳转至

基于PIC单片机的IAI无线模块测试板

助工
2014-12-04 20:29:59     打赏

 近年来,由于数据通信需求的推动,加上半导体、计算机等相关电子技术领域的快速发展,短距离无线与移动通信技术也经历了一个快速发展的阶段。短距离无线通信通常指的是l00m到200m以内的通信。

  它被广泛应用于无线数据采集、无线水表、煤气表、电力表抄表、工业遥控、遥测、工业数据采集、楼宇自动化、安防、机房设备无线监控、家庭自动化数据网络组网等领域。

  美国SiliconLaboratories公司作为专业的无线芯片开发和生产商,它的IAI系列无线芯片具有集成度高,外围元件少,功耗低,性能稳定可靠,芯片内部集成了FSK无线收发必需的全部功能模块,包括多边带PLL合成器、PA、LNA、混频器、基带滤波器、中频放大器、信号强度指示RSSI、数据质量侦测DQD、电池电压侦测、AFC和微控制器等,非常适合用于短距离无线通讯产品。本文介绍了贝能科技采用IA4421芯片开发的两种无线通讯模块PHY和EV-IA4421-433M-3(如图1,图2)。PHY模块是不带MCU而向外提供一个SPI接口;EV-IA4421模块是带MCU并向外提供一个串口。这样可以方便用户使用和开发。


图1PHY



图2EV-IA4421


  针对这两种模块,我们设计了一个适用这两种模块的测试评估板。该测试板可以对这两个模块进行设置(主要对IAI4421寄存器设置),这样方便客户评估,测试IA系列产品的的性能。

  基本概述:

  该测试板的组成采用PIC单片机PIC16F777作为主控芯片;一个LCD1602作为显示器件;4个轻触按键作为作为用户输入;一个可以连接电脑的串口;还有连接两通讯模块的接口。用户可以通过按键和LCD可以很直观地对IAI4421芯片寄存器、通讯速率等进行设置,还可以通过LCD监控数据传输过程的正确性和完整性。

  本文主要介绍该测试板的一些主要功能和原理以及其使用的方法,以便大家对其有一个初步的了解。

  主要功能:

  • 可设置4位的发射地址码:用户可以通过菜单设置4位的地址即0~F,并与从机地址设置对应,这样就可以不受其他模块的干扰,可以多个模块同时工作。
  • 可设置模块的工作频段:由于IAI系列芯片支持3频段分别为433MHZ、868MHZ、915MHZ,通过设置不同的频段可以适应使用不同频段的硬件。
  • 可设置模块的发送速率:芯片支持不同的发射速率,用户可以根据需要进行调整;
  • 可设置发送数据的时间间隔和发送的次数;
  • 可以设置串口波特率(与硬件连接相对应);
  • 可显示接收数据的内容和接收数据的次数,当前通讯速率等信息;

  硬件组成框架:


  各部分硬件接口:

  • LCD1602接口(图3)

  LCD1602采用8数据线接口(data0-data7),有利于快速刷新需要显示的数据,RS、RW、E三线控制。


图3LCD电路接口


  • 串口电路(图4)

  串口电路采用MAX232作为电平转换芯片,与电脑连接,接收电脑的输入命令。TX串行数据输出(无线接收到的数据),CRX串行数据输入(要发送的数据)。


图4串口电路接口


  • EV-IA4421-433M-3模块接口电路(图5)

  EV-IA4421-433M-3是已经带有一个PIC16F690的模块。VCC使用5V电源供电;TX、RS作为一个标准的波特率可选的串口作为与测试板之间的通讯,所有对模块的操作都使用这个串口完成;/PD待机控制,/PD=0时,模块进入待机状态,/PD=1,模块正常工作;RSSI无线信号强度输出,输出电压和信号强度成正比,是一个模拟信号,测试板通过AD转换对其捕捉。


图5EV-IA4421接口电路


  • PHY模块接口电路(图6)

  PHY只需使用5个I/O口即可工作,它采用SPI兼容的控制接口作为数据通讯接口。我们测试板也正是使用这种方式与PHY模块进行谅解的。各个接口功能如下:SCK:SPI串口时钟输入;SDI:SPI串口数据输入;NSEL:SPI片选输入(低电平有效);SDO:SPI串口数据输出;NIRQ:中断请求输出(低电平有效)。


图6PHY模块接口电路


  • 按键电路(图7)

  四个轻触按键作为用户的输入,用户按键的输入判断是采用普通的I/O方式。具体每个按键定义为:UP键用于上移菜单;DOWN键用于下移菜单;ENTER键用于确认选择;SEND用于启动发送数据。



图7按键电路


  电源部分:

  考虑到使用的方便性,再电源供电上采用了两种供电方式:一种直流9V~12V电源适配器的输入;另一种是用9V的纽扣电池供电。用户可采用其中的一种。

  以上是该测试板的硬件的主要组成部分,每个部分都只是作了比较简单的介绍,如果大家想得到更详细的资料,可以到贝能公司网站(www.burnon.com)上查找。

  软件组成框架:

  软件流程如图8所示,软件系统在MCU中执行,分为系统初始化、主循环流程与中断服务程序。下面对其作一个简单的介绍:

  MCU初始化函数,主要是对MCU定时器设置、串口、中断设置和各个端口的输入输出设置等等;

  按键事件管理函数,它定时检测按键板上的按键输入,设置和保存相应的标志位,并把按键对应信息映射成相应的驱动事件;

  主循环函数是整个软件系统的一个核心部分,各种事件的触发和各个用户接口管理都由这个函数完成,每个子程序管理着不同功能。


图8软件流程


  主循环是软件的基本控制部分,它是一个无限时间的循环,当中包含了许多子程序,诸如:Checkifit’stimetoexecuteevents(定时器时间事件处理)、ModeHandler(模式识别处理)、KeyScanHandler(电源管理)、OSDEventHandler(菜单事件处理——当中也包含了按键处理)、DebugHandler(调试处理)。通过这一系列的管理函数,不断的检测事件的发生并执行相应的功能操作。


共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]