Amiccom A9112(915Mhz) 1 to 16广播Demo

SamYang2025-09-1851核44

<代碼>:<RC_A9112-F4_x3_915MHz Band Ref. Code for FIFO mode V0.3_20pF -1 to 16 20250714.zip>

系统介绍:

本系统以 1Master to 16 Slave1Group,每个Group中会安置一个Repeater(扮演下一个GroupMaster使用)Repeater接收前一个GroupSlave的资料,推送给下一个GroupSlave

圖片1.png

RF传输流程介绍:

1.      16组设备,每组分为1Master 16 Slave每一组的RF ID和频点都不一样

流程大概如下:

Group 0 Master Group 0 Slave Group 1 Master(Repeater1) Group 1 Slave Group 2 Master(Repeater2)Group 2 Slave 依次类推。

 

Slave收到数据会检测是不是同一个GroupYes的话,将SlaveNum写到Payload第二byte修改RF ID和频点,然后按SlaveNum015,分时段发送出去。不是同一Group的话,忽略收到的数据。(下图为Amiccom RF协议)

圖片2.png

Master(Repeater)如果收到上一个Group的数据,将收到的数据第一byte数据改为现在的Group编号,再延时(16-SlaveNum*4ms的时间,再发送出去


2.      下图为使用硬件I/O方式设置Master/Group/SlaveNum,和使用软件定义Master Group/ SlaveNum

圖片3.png

硬件I/O定义如下:

        P0_5=M/S select pinHigh=Mater/Low=Slave

        P0_3~P0_1=Group select pin[0000]=Group0[0001]=Group1……

        P3_5~P3_2=Slave Number select pin[0000]=Slave0[0001]=Slave1……

3.      RFID_Tab为RF ID

A9112设定成4 Byte ID Length,因此系统采用ID_Tab的前4Byte为有效ID

圖片4.png

           使用RFID_Tab的数组第4Byte做不同Group RF ID组和

圖片5.png

 Ex:Group0 ID Code=0x34,0x75,0XC5,0x80

Group1 ID Code=0x34,0x75,0XC5,0x81

……

4.      FreqSet为频率设定函数

每个Group除了RF ID切开

圖片6.png

5.      TXData[10]为要发送的数据数组目前Payload长度定义成10Byte(Set FIFO1_REG=0x09)

圖片7.png

TXData[0]=Group Number

TXData[1]=Slave Number

TxData[2~9]=User define

6.Tmpbuf为收到的数据

tmpbuf[0]==GroupA

tmpbuf [1]=Slave Numbe

7.       Group 0 Master会500ms 间隔发送一次数据,其他Master(Repeater)/Slave每收到数据后P1_1会反转一次

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。