Amiccom A9112(915Mhz) 1 to 16广播Demo
<代碼>:< RC_A9112-F4_x3_915MHz Band Ref. Code for FIFO mode V0.3_20pF -1 to 16 20250714.zip>
RC_A9112-F4_x3_915MHz Band Ref. Code for FIFO mode V0.3_20pF -1 to 16 20250714.zip>
系统介绍:
本系统以 1Master to 16 Slave为1个Group,每个Group中会安置一个Repeater(扮演下一个Group的Master使用),Repeater接收前一个Group的Slave的资料,推送给下一个Group的Slave

RF传输流程介绍:
1. 16组设备,每组分为1个Master 和 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收到数据会检测是不是同一个Group,Yes的话,将SlaveNum写到Payload第二个byte,并修改RF ID和频点,然后按SlaveNum从0到15,分时段发送出去。若不是同一Group的话,忽略收到的数据。(下图为Amiccom RF协议)

Master(Repeater)如果收到上一个Group的数据,将收到的数据第一byte数据改为现在的Group编号,再延时(16-SlaveNum)*4ms的时间,再发送出去。
2. 下图为使用硬件I/O方式设置Master/Group/SlaveNum,和使用软件定义Master Group/ SlaveNum

硬件I/O定义如下:
P0_5=M/S select pin,High=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

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

Ex:Group0 ID Code=0x34,0x75,0XC5,0x80
Group1 ID Code=0x34,0x75,0XC5,0x81
……
4. FreqSet为频率设定函数
每个Group除了RF ID切开

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

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会反转一次。
