物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

基于ZigBee技术的角度同步采集传输系统设计

作者:王文芳 刘玉
来源:中国电子设计网
日期:2010-01-15 09:18:59
摘要:本文所设计的“基于ZigBee技术的角度同步采集传输系统”,采用Microchip公司的PIC18LF4620微控制器和Chipcon公司的CC2420射频芯片共同组成无线节点,置于关节臂式测量机的每个关节内,实现角度信号的读取和无线传输。在工控机侧,也安装有一个无线节点,用于接收这些无线传输的角度信息并上传给工控机。信号传输的无线化使得测量机的关节可以无限制旋转。下面主要以六关节臂式测量机为例,介绍该系统的设计方案。
0 引言

  关节臂式测量机广泛用于模具、汽车零部件、钣金件、塑料制品、木制品、雕塑等的快速检测和逆向设计。其工作机理是:手持关节臂,带动测量机顶端的摄像头或探针扫描至目标探测点,根据测量机各段臂长和各个关节所转过的角度可求取出目标探测点的位置或坐标。测量机的工作关键在于读取和及时传输各个关节的角度信息。

  普通的关节臂式测量机在每个关节内都安装有一个角度编码盘,角度信号通过连接在关节臂内的电缆线传输至工控机。由于编码器使用有线方式传输角度信息,臂内电缆多,连续旋转多圈时臂内电缆将拧成“麻花”,使得测量机关节不能无限旋转。

  本文所设计的“基于ZigBee技术的角度同步采集传输系统”,采用Microchip公司的PIC18LF4620微控制器和Chipcon公司的CC2420射频芯片共同组成无线节点,置于关节臂式测量机的每个关节内,实现角度信号的读取和无线传输。在工控机侧,也安装有一个无线节点,用于接收这些无线传输的角度信息并上传给工控机。信号传输的无线化使得测量机的关节可以无限制旋转。下面主要以六关节臂式测量机为例,介绍该系统的设计方案。

1. 系统方案设计

  整个系统实质上为一个由7个无线节点组成的星形无线网络,如图1所示。安装在测量机6个关节内的无线节点分别和本关节内的角度编码盘相连,采集编码盘信息,并将提取出来的有效角度信息无线发送出去,构成星形网络的6个网络节点(以下称为子节点)。作为网络协调器的无线节点(以下称为主节点)和工控机相连,采用时分复用的方式接收6个子节点无线传输的角度信息,经整理后通过串口发送给工控机。 
  

  每个无线节点由控制模块和射频模块组成。控制模块主芯片是PIC18LF4620,最高工作频率为40MHz,内含64kBytes的flash空间和4kBytes的RAM空间,外围控制部分包括定时器模块,捕捉/比较模块,A/D转换模块,SPI接口和EUSART串口等,完成系统的控制和处理功能。射频模块用于实现信息无线收发,主芯片为CC2420,符合2.4 GHz IEEE 802.15.4协议,无线收发速率可达250kbps,无线收发功率仅为几十毫瓦。

2. 系统硬件结构及连接图

  系统的硬件连接图如图2所示,元件主要包括射频芯片CC2420、微控制器PIC18LF4620和串口电平转换芯片MAX3221。对外提供的接口为RS232/485串口(图2中以RS232为例)。每个无线节点内部,控制模块(PIC18LF4620)和射频模块(CC2420)通过SPI接口连接,主要包括串行数据输出引脚(SDO)、 串行数据输入(SDI)引脚和串行时钟(SCK)引脚。对于主节点,微控制器的串口输出引脚(TX)和串口输入引脚(RX)经由电平转换芯片MAX3221和工控机相连。对于子节点,微控制器通常通过RS232/RS485串口和编码盘相连,具体接口视编码盘型号而定。 
 


3. 组网过程

  7个无线节点组成一个星形无线网络,以主节点为协调器,6个子节点为网络节点。组网的过程可以描述如下:
  (1) 将主节点和所有子节点的无线收发频率置于同一信道,确保该信道上无其它无线设备。
  (2) 主节点无线发送组网广播,告知同信道的所有处于接收状态的无线设备(各子节点)自己为网络协调器,并告知该网络的PAN ID,以及主节点自己的64位MAC地址。同时,设定广播报文的最大重传次数,并开启广播超时定时器。
  (3) 各个子节点在接收到广播之后回应一个网络连接请求。
  (4) 当主节点收到子节点的网络连接请求时,主节点给该子节点分配16位的网络地址。
  (5) 定时器超时,主节点检查是否收到了所有子节点的网络连接请求。“是”则停止组网广播,组网成功。“否”则重传组网广播,重传次数减1。
  (6) 重复步骤(5),若重传次数已经自减为0,停止组网广播,组网结束,并告知工控机本次组网失败。

4. 数据传输

  4.1 帧格式定义

  在本文所设计的星形无线网络中,共分为物理层、MAC层和应用层3层,各层的帧格式如图3所示。网间传输的信息从帧类型上分为3种,分别为数据帧、确认帧和命令帧,组网广播帧和角度采集广播归属于命令帧。 
 


  注:Frame Length为物理层帧长度;Frame Control域的低3位指示该信息的帧类型;Sequence NO.为序列号;FCS为校验域。Command Type为命令类型,指示收到命令帧之后无线节点所需进行的操作。

  4.2 TDMA时隙分配和传输协议

  主节点和各子节点采取时分复用TDMA的方式进行通信,每个子节点在指定的时隙内和主节点进行信息交互。在本文所设计的星型无线网络中,共划分有8个时隙,如图4所示。

  前6个时隙内,主节点依次对各子节点进行轮询,获取角度信息并对其进行校验。后2个时隙用于重传,当1个或多个子节点的信息丢失或校验发生错误时,采取“先丢失/出错,先重传”的方式进行重传。

  每个时隙内,主节点发送“开始传输角度信息”的命令帧至指定子节点,并启动时隙超时定时器。子节点在接收到该命令帧后,立刻将从编码盘信息中提取出的有效角度信息封装成帧,经由射频模块发送给主节点。当定时器超时时,主节点若还未收到该子节点的角度信息帧,或收到角度信息帧但校验错误,则记录该子节点的编号(以便在重传时隙内令其重发),并转入轮询下一子节点。若接收到正确报文,则直接转入下一子节点的轮询。

4.3 子节点采集时刻同步

  组网完成之后,主节点无线发送角度采集广播给各个子节点,指示其以一定频率采集编码盘信息,提取并发送有效的角度信息。由于主节点以无线方式发送角度采集广播,该广播到达各个子节点的时间可能并不一致。若子节点在收到该广播后立刻开始读取编码盘信息,子节点所读到并提取的关节角度并不是同一时刻点的,导致测量机无法准确工作,所以需要有“子节点采集时刻同步”的环节。

  我们采取的做法是:在组网完成之后,主节点发送角度采集广播之前, 6个子节点逐一与主节点进行信息交互,子节点求取出信息帧的空中传输时间ti(i为子节点的编号,i=1,2…6;)。当所有子节点接收到主节点发送的角度采集广播后,分别延迟(T – ti)时间再采集编码盘信息,其中T为常数,T>max[t1, t2, …t6]。那么,从主节点发送角度采集广播的那一时刻开始,各子节点都经过了[ti +(T – ti)] = T时间后读取编码盘信息,实现了子节点采集时刻同步。

  求取信息帧空中传输时间ti的具体过程如图5所示。子节点i在Ti1时刻发送一个“请求时间校正帧”给主节点,主节点在Ti2时刻收到该帧,并于Ti3时刻回复第一个应答帧,应答帧的内容为时刻Ti2。子节点在Ti4时刻收到应答帧,获得时间Ti2。主节点在Ti3时刻后任意延迟一段时间发送第二个应答帧,应答帧的内容为时刻Ti3,使子节点能在某时刻获取时间Ti3。 
 

  注:在此我们假定,信息帧由主节点发送至子节点需要的空中传输时间和信息帧由子节点发送至主节点需要的空中传输时间相同且稳定。且信息帧长度等于主节点发送的“角度采集广播帧”长度。

  假设主节点的时钟超前子节点△Ti,信息帧的空中传输时间为ti,可得:
  Ti2 = Ti1 + △Ti + ti                                       ①
  Ti4 = Ti3 - △Ti + ti                                       ②
  由式①和②联立可得:
  △Ti  = (Ti2 - Ti1 -  Ti4 + Ti3)/2
   ti   = (Ti2 - Ti1  + Ti4 - Ti3)/2

5. 主节点和工控机的通信

  主节点和工控机采用RS-232 串行数据传输,串行口通信方式为异步串行通信,速率为19200bps,信息格式为1位开始位、8 位数据位、1个停止位、无奇偶校验位,采用中断方式进行数据传输。以下是串口初始化程序片断:
void ConsoleInit(void)
{
#if defined(USART_USE_BRGH_HIGH)
      TXSTA = 0x24;   //设置串口发送状态寄存器
#else
TXSTA = 0x20; 
#endif
      RCSTA = 0x90;    //设置串口接收状态寄存器
   // SPBRG_VAL = CLOCK_FREQ/BAUD_RATE/64 – 1,BAUD_RATE=19200bps
      SPBRG = SPBRG_VAL;
  TXIE = 1; //默认情况下串口处于发送状态,使能发送中断
     TXIP = 1;
  //RCIE = 1; //若需要执行串口接收,使能发送中断
     //RCIP = 1;
}

6. 结论

  将信息传输无线化,可免去关节臂式测量机的臂内电缆线,实现关节的无限旋转。本文设计的“基于ZigBee技术的角度同步采集传输系统”的无线硬件设计、软件设计解决方案经测试运行稳定,无线通信误码率低、可靠性高、安全性好。在室内测试环境下,无线收发速率可以稳定达到18kbps,重传后误码率不高于10¬-5数量级.

  本文作者创新点:将ZigBee无线通信技术与机械测量相结合,设计了一套基于ZigBee技术的角度同步采集传输系统,应用在关节臂式测量机上,实现了关节的无限旋转。