CC2530收发机制总结-2012.2.7

CC2530收发机制总结
目的:修改TI的basic_rf,使其只实现发送接收数据的功能,去掉原来发送时,对数据的处理,加MAC帧头等。
1. 发送过程:
  basicRfSendPacket函数修改如下:
//mpduLength = basicRfBuildMpdu(destAddr, pPayload, length);
上一句是将数据打包的过程,我们注释掉
    #ifdef SECURITY_CCM
    halRfWriteTxBufSecure(txMpdu, mpduLength, length, BASIC_RF_LEN_AUTH, BASIC_RF_SECURITY_M);
    txState.frameCounter++;    // Increment frame counter field
    #else
    txMpdu[0]=0x0A;
    txMpdu[1]=0x12;
    txMpdu[2]=0x12;
    txMpdu[3]=0x12;
    txMpdu[4]=0x12;
    txMpdu[5]=0x12;
    txMpdu[6]=0x12;新东泰娱乐广场
    txMpdu[7]=0x12;
txMpdu[8]=0x12;
txMpdu[]是存储要写入发送缓冲区的帧的数组,这里我们定义成简单的格式:
一升车
len
len-2byte的数据(即0x12,0x12,
FCS 2byte
    halRfWriteTxBuf(txMpdu, 11);
而这里写入缓冲区的发送数据长度也要加1,8个字节数据,2字节FCS,一个字节的len域,原本是halRfWriteTxBuf(txMpdu, mpduLength);
    #endif
    // Turn on RX frame done interrupt for ACK reception
    halRfEnableRxInterrupt();
    // Send frame with CCA. return FAILED if not successful
    if(halRfTransmit() != SUCCESS) {
        status = FAILED;
}
发送时需要注意的地方:
绍兴市树人中学
渝安集团1) 要发送的数据的数据长度一定要大于等于5个字节,因为802.15.4中对于发送帧的长度有最小要求,>=5字节。
2) 因为我们去掉了对数据的打包过程,打包过程是将MAC帧头和PHY的PHR加上,我们不需要打包MAC帧头的过程,但是发送机制一定要加上PHR中len长度域,所以在发送数据的第一个字节赋值为长度域,即txMpdu[0]。len的长度为发送字节数+2。
2. 接收过程:
在发送过程完成之后,通过Packet Sniffer抓包软件检测到发送节点能向外发送数据。接下来就是利用原版的接收节点来测试是否能接收到发送节点向外传播的帧。
  对于接收节点程序,如果从无线电中接收到帧,程序就跳入中断服务程序basicRfRxFrmDoneIsr(),但是在发送节点不停发送如上特定帧的过程中,接收节点并未跳入接收中断程序。这里就是我们特别需要注意的地方,CC2530是默认开启帧过滤功能的,寄存器FRMFILT0的0位默认为1,即开启帧过滤功能。如果接收到的帧不符合802.15.4中对接受接收到的帧的要求,则过滤该帧。我们发送的数据帧格式是随意设置的,
即上文中的txMpdu[1]到txMpdu[8]的字符,该帧未必符合接收帧的要求,所以我们看不到接收节点接收该帧,而是把它抛弃掉了。
  所以要在初始化函数halRfInit()中加入如下代码:FRMFILT0 &= ~(1<<0);//禁止帧过滤,added by DSJ。
uint8 halRfInit(void)
{
FRMCTRL0 |= (AUTO_ACK | AUTO_CRC);
    // Recommended RX settings
    TXFILTCFG = 0x09;
    AGCCTRL1 = 0x15;
    FSCAL1 = 0x00;
   
FRMFILT0 &= ~(1<<0);//禁止帧过滤,added by DSJ
}波希米亚人
单列向心球轴承
在禁止帧过滤之后,发送接收程序能跳入接收中断函数,但是这还不够,需要修改接收中断函数,将接收到的数据提取出来。

本文发布于:2024-09-21 16:17:37,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/329328.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:接收   发送   节点   数据
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议