打印

如何解决无线多机通信冲突问题

[复制链接]
1343|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sujinzhi|  楼主 | 2007-9-18 09:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用华荣汇带前向纠错的RF Modem,可以采用简单的监听_避让的方法来解决无线多机随机发送冲突的问题,大致思路(以WAP200B在无线表决的应用为例)如下:
        ;无线接收串口中断服务程序
        UARTRF: JB      RI,UARTRCV
                CLR     TI
                RETI
        UARTRCV:LCALL   RXPRO           ;接收数据处理
                LCALL   RANDOM          ;每接收到一个字节的数据,就调用一次随机延时程序
                RETI

        ;1mS的定时器中断服务程序
        T1MSINT:PUSH    ACC
                PUSH    PSW
                CLR     TF0
                DJNZ    TX_DELAY,T1MSINTE
                MOV     A,TX_NUM
                JZ      T1MSINT1        ;没有数据发送就结束
                LCALL   TXRF            ;发送数据
        T1MSINT1:LCALL  RANDOM          
        T1MSINTE:POP    PSW
                POP     ACC
                RETI                          

    ;计算延时,每包传送数据为64字节(无线传输时间32mS)
        RANDOM: PUSH    DPH
                PUSH    DPL
       RANDOM1:MOV    A,TX_DELAY
              CLR        C
              SUBB    A,#80           ;如果后续延时已经超过80ms(根据发送数据包的大小来确定),就不再延时
              JNC        RANDOME
              INC     RAND_P
                MOV     A,RAND_P
                ADD     A,SYSID        ;S_ID,设备ID
                ANL     A,#0FH
                MOV     RAND_P,A
                MOV     DPTR,#RAND_TAB    ;查随机数表
                MOVC    A,@A+DPTR 
               ADD    A,TX_DELAY           
                MOV     TX_DELAY,A
                CLR     C
                SUBB    A,#40           ;如果调整后的延时时间小于40ms(取决于系统中数据包的大小),继续调整
                JC      RANDOM1   
    RANDOME:   POP     DPL
                POP     DPH
                RET
需要更详细的资料,请发mail给我:smartrf@263.net

相关帖子

沙发
LGQLXS| | 2007-10-3 08:47 | 只看该作者

顶一下

如何解决无线多机通信冲突问题
需要更详细的资料
lgqlxs@163.com

使用特权

评论回复
板凳
李冬发| | 2007-10-4 17:46 | 只看该作者

用CDMA

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

3

帖子

1

粉丝