A9139M0 1 to 2048 network system
来源:AMICCOM笙科电子发布时间:2023-02-011533浏览
询问 AI

1.概述
這份文件是針對A9139M0 1 to 2048 network system做一簡單介紹,Master可以同時連接2048個Slave傳送資料。
A9139M0 1 to 2048 network system的工作模式有”配對模式”與“資料傳送模式”,Master/slave上電後會進入配對模式,配對完成會自動進入資料傳送模式。
2. Master端
工作頻率
Master端會在三個不同頻率與Slave端來做為 配對模式/資料傳送模式。使用頻率是433.001 MHz、433.801MHz、434.601MHz,下列為三個頻率設定值,如不跳頻則將三組設定值設定一樣的值,Slave設的頻率要與Master一樣。
const unsigned char code Freq_Tab[9] =
{
0x87, 0x50, 0x14, //freq 433.001MHz
0x87, 0x90, 0x14, //freq 433.801MHz
0x87, 0xD0, 0x14, //freq 434.601MHz
};
Master在每個頻率與Slave配對/資料傳送前會先去偵測環境的RSSI值,環境的RSSI值大於設定 值時該頻率不與Slave做配對/資料傳送之動作,使用者可以利用SetMasterTx_RSSI_Threshold function來設定環境的RSSI值,RSSI預設值是150約-75dBm。

2.1配對模式
Master上電後為配對模式,該Slot與Slave端連接後,會將此Slot分配給該Slave,而此Slot進入資料傳送模式,Master工作於資料傳送模式中亦會不定時去偵測有無新的Slave加入,並與之配對。
如何配對:
Master第一次使用時需依序與slave配對,配對方式為Slave上電後收到Master配對回應後完成配 對。
Master與Slave配對後,如重新上電或是reset時會重新配對連線。
Master在未配對滿全部slave (2048 slave node)時,都可隨時跟新的Slave配對。
如何確認Slot狀態:
使用者可自行透過讀取資料陣列變數NodeState[slot]確認現在 所有/個別Slot的狀態(可利用迴圈確 認所有Slot狀態,單一值確認單個Slot狀態,Slot範圍為0~2047)。值為0x01時表示該slot是空的, 為0x02時表示該slot已配對已連線傳送資料,為0x04時表示該slot正在配對。
2.2資料傳送模式
在資料傳送模式下使用者可以利用SetMasterDataLostBackLinkMode function來設定master連續未收到資料次數,預設如果該Slot連續3次發送資料後都未收到Slave端Ack,Master會將Slot釋出。

使用者可從NodeReceive[slot]、NodeLost[slot]、NodeDisconnect[slot]得知對應Slot的資訊。
NodeReceive[slot]:在資料傳送模式收到資料就會加1,一旦NodeLost[slot]加1就會清為0。
NodeLost[slot]:未接收到資料就會加1,一旦NodeReceive[slot]加1就會清為0。
NodeDisconnect[slot]:從資料傳送模式離開就會加1。
附註:以上三者為8 bit counter超過255就變為0。
傳送資料模式的資料送收
在此資料傳送模式下Master會在每個slot傳送48 Bytes資料給Slave,MasterSlaveTxBuff[48]為存 放要傳送出去的資料陣列變數,位於MasterTxDatatSet function內
MasterSlaveTxBuff[0],
MasterSlaveTxBuff[1],
MasterSlaveTxBuff[2],
MasterSlaveTxBuff[...],
MasterSlaveTxBuff[47],
使用者可修改成所要傳送的資料。
接收Slave回傳48 Bytes資料
MasterSlaveRxBuff[0],
MasterSlaveRxBuff[1],
MasterSlaveRxBuff[2],
MasterSlaveRxBuff[...],
MasterSlaveRxBuff[47],
當Flag1.bit.MasterDataOkFlag = 1時表示有收到Slave傳送過來的資料,此Flag會在下個slot開始時清除,使用者可自行在系統非忙碌時處理Slave回傳資料。
2.3系統忙碌旗標
程式中MasterProcessBusyFlag旗標等於1時表示系統處與送收資料忙碌中,使用者要操作系統需在旗標等於0時操作。
2.4 Demo code說明
提供之demo程式,會再每個slot最後,透過Uart將該slot狀態及收到資料送出,並變更資料傳送模式的節點下次要送出的資料。
附註:此demo程式P3_5=1為Master, P3_5=0為Slave。Uart 8bit, Baud Rate 230400。
3. Slave端
Slave第一次使用會處於配對模式,會在三個不同頻率切換連線Master,連線後進入資料傳送模式,Slave設的頻率方式與Master一樣。
3.1配對模式
配對方式為slave與Master配對,Slave上電後與Master配對。
配對流程如下:
Slave一開始會進入Rx搜尋Master作對準時間。
收到Mater Data對準時間後,會隨意產生1~32的數值,之後的1~32 slot來最回應Mater配對請求,並得到可配對的slot。
在回應Mater配對請求,後會休眠到可配對的slot後喚醒確認是否可跟Mater配對,如果失敗則重新配對。
如果Slave同時多的上電時,則需考慮Slave同時回應問題,同一時間勿超過32個Slave上電,Slave數量越少越少配對碰撞配對失敗狀況。
設定配對時間:
使用者可以利用SetSlaveLinkTimeout function來設定配對時間,預設如果6000秒內都未連線Master, 則會離開配對模式進入休眠模式。
設定休眠時間與配對周期:
Slave休眠一段時間後會重新醒來配對,使用者可以利用SetSlaveReLinkSleepTimer function設定重新 配對周期。配對周期是配對時間加上休眠時間,預設6000秒配對時間與10秒休眠時間,則配對周期 是6010秒。設定配對周期次數:
使用者可以利用SetSlaveReLinkTime function來設定配對周期次數,預設3週期未連線後則完全休眠 不再喚醒,需重新上電或Reset才可回到配對模式。Slave配對到Master後會進入資料傳送模式,每次收到資料會回送Ack給Mater之後進入休眠。
休眠165.726秒後會在喚醒進入RX與Master做時序對準,對準後進入休眠。
時間對準後休眠0.154秒喚醒進入接收Master資料,使用者可以利用SetSlaveDataLostBackLinkMode fucntion來設定連續未收到資料次數,預設連續3次喚醒都未收到 則會重新進入配對模式。
在資料傳送模式下可以接收Master傳送的48 Bytes資料,資料存放在
MasterSlaveRxBuff[0],
MasterSlaveRxBuff[1],
MasterSlaveRxBuff[2],
MasterSlaveRxBuff[...],
MasterSlaveRxBuff[47],使用者可在系統非忙碌時處理接收Master傳送的資料。
MasterSlaveTxBuff[0],
MasterSlaveTxBuff[1],
MasterSlaveTxBuff[2],
MasterSlaveTxBuff[...],
MasterSlaveTxBuff[47],
決定要傳給Master的資料。
Slave在配對完成後,如重新上電或是reset時需重新配對連線。



配對成功時會得到分配的節點編號存放在SlaveNodeNum變數中。
3.2資料傳送模式

傳送資料模式的資料送收
在接收完也可以傳送48 Bytes資料給Master。使用者可在SlaveTxDatatSet function中透過
3.3系統忙碌旗標
程式中SlaveProcessBusyFlag旗標等於1時表示系統處與配對模式或資料送收模式中送收資料忙碌狀態,使用者要操作系統需在旗標等於0時操作,並且於操作後呼叫SlavePowerDown function進入 休眠。
3.4 Demo code說明
提供之demo程式,會在資料送收模式中收到資料後,透過Uart將收到資料送出,並變更MasterSlaveTxBuff[48]內容傳送給Master。
附註:此demo程式P3_5=1為Master, P3_5=0為Slave。Uart 8bit, Baud Rate 230400。



深圳代表处
518048深圳市福田区深南大道6011号NEO大厦A座34B
Phone: 13670056629(微信同号)
销售邮箱: Ktcheng@amiccom.com.tw
新闻来源:AMICCOM笙科电子,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。
