一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

DWM1000 自動(dòng)應(yīng)答代碼實(shí)現(xiàn)與實(shí)例

 rookie 2023-09-16

這一節(jié)繼續(xù)繼承之前幀過(guò)濾部分,首先補(bǔ)充一下關(guān)于幀過(guò)濾部分,如果將目標(biāo)地址設(shè)置為0xFFFF,則同一個(gè)網(wǎng)絡(luò)(物理頻道與PANID 都相同),所有節(jié)點(diǎn)都應(yīng)該收到這條信息,這個(gè)信息為廣播信息,0xFFFF為廣播地址。

廣播信息在測(cè)距定位中很有用,標(biāo)簽廣播一個(gè)消息,所有周?chē)幕臼盏綇V播信息回復(fù)即可,標(biāo)簽不同和各個(gè)基站單聊了。

 

補(bǔ)充完上面的知識(shí),接著說(shuō)自動(dòng)應(yīng)答,自動(dòng)應(yīng)答的作用是收到信息后,通過(guò)幀過(guò)濾后,如果本條信息是發(fā)給我的,我就會(huì)自動(dòng)回復(fù)一條應(yīng)答,這個(gè)回復(fù)行為是硬件實(shí)現(xiàn)的,這個(gè)應(yīng)答時(shí)間非???,在有應(yīng)答的網(wǎng)絡(luò)通信中,利用應(yīng)答可以保證數(shù)據(jù)正確傳輸。當(dāng)然,我的目標(biāo)是用來(lái)測(cè)距的,利用幀過(guò)濾和自動(dòng)應(yīng)答可以實(shí)現(xiàn)非常快的測(cè)距,雖然還沒(méi)有具體概念,后面慢慢實(shí)現(xiàn)。

先上一段關(guān)于自動(dòng)應(yīng)答的說(shuō)明,直接上英文,沒(méi)空翻譯了

1
2
3
· Frame filtering must be enabled and the received data or MAC command frame must be correctly <br>addressed and pass through the receive frame filtering, (see section 5.2 - Frame filteringfor <br>details of frame filtering configuration).
· The ACK request bit in the frame control field of the received frame must be set.
· Auto-acknowledgement must be enabled by the AUTOACK configuration in Register file: 0x04<br> – System Configuration.

 大概意思 1 必須使能幀過(guò)濾 2 收到的信息必須有應(yīng)答請(qǐng)求 3系統(tǒng)必須使能自動(dòng)應(yīng)答

在上一例中已經(jīng)實(shí)現(xiàn)了幀過(guò)濾,只需要在發(fā)送端增加“應(yīng)答請(qǐng)求”,在接收端使能“自動(dòng)應(yīng)答“

發(fā)送端主要代碼修改

  msg_f.frameCtrl[0] = 0x1 /*frame type 0x1 == data*/ | 0x40 /*PID comp*/|0x20/* ACK request*/;

接收端使能自動(dòng)應(yīng)答

  dwt_enableautoack(1);

其中參數(shù)為turnaround 時(shí)間,接收到信息多久發(fā)出自動(dòng)應(yīng)答,這個(gè)很重要,以后會(huì)用。關(guān)于這個(gè)函數(shù),我略做修改。

復(fù)制代碼
void dwt_enableautoack(uint8 responseDelayTime)
{
    uint8 temp = 0;
    temp |= (uint8)(SYS_CTRL_TXSTRT | SYS_CTRL_TRXOFF) ;
    dwt_writetodevice(SYS_CTRL_ID,0,1,&temp) ;
    // Set auto ACK reply delay
    dwt_write16bitoffsetreg(ACK_RESP_T_ID, 0x2, (responseDelayTime << 8) ) ; //in symbols
    // Enable auto ACK
    dw1000local.sysCFGreg |= SYS_CFG_AUTOACK;
    dwt_write32bitreg(SYS_CFG_ID,dw1000local.sysCFGreg) ;
}
復(fù)制代碼

增加了對(duì)SYS_CTRL_TXSTRT和SYS_CTRL_TRXOFF寫(xiě)操作,因?yàn)樵贒M1000 手冊(cè)上有如下描述

1
2
3
4
The most efficient way to ensure the SFD sequence is correctly initialised is to simultaneously initiate and
abort a transmission thereby forcing the SFD initialisation. This can be done by writing to the the system
control register Register file: 0x0D – System Control Register with both the transmission startbit TXSTRT and
the transceiver off bit TRXOFF set at the same time

 大概意思是初始化SFD,可以通過(guò)寫(xiě)SYS_CTRL_TXSTRT和SYS_CTRL_TRXOFF 非常有效快速的完成。

 

上面就是修改的主要代碼了。 關(guān)于自動(dòng)應(yīng)答實(shí)驗(yàn)的方法。

1 TX端發(fā)送信息,在RX端看是否有ATT標(biāo)識(shí),并且是否有TXFRS,ATT標(biāo)識(shí)表明收到一條有應(yīng)答請(qǐng)求的消息,而TXFRS表明接收端已經(jīng)發(fā)送了一條應(yīng)答。

2 在TX端增加接收代碼,打印自動(dòng)應(yīng)答消息

打印結(jié)果如圖,每次回打印5個(gè)字節(jié),下面是多次打印

DM1000手冊(cè)描述,自動(dòng)應(yīng)答為5個(gè)字節(jié),與收到的信息一致。

下面是IEEE 關(guān)于MAC應(yīng)答幀的描述,兩張圖自己看,確實(shí)符合規(guī)范!

還有一點(diǎn),MAC 應(yīng)答幀,幀過(guò)濾不了,直接送到上層!

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多

    婷婷一区二区三区四区| 国产不卡一区二区四区| 一个人的久久精彩视频| 午夜亚洲少妇福利诱惑| 日本不卡在线一区二区三区| 亚洲乱码av中文一区二区三区 | 久久99精品日韩人妻| 久久福利视频视频一区二区 | a久久天堂国产毛片精品| 日韩免费成人福利在线| 熟妇人妻av中文字幕老熟妇| 亚洲精品中文字幕一二三| 亚洲日本韩国一区二区三区| 成人精品欧美一级乱黄| 好吊妞视频只有这里有精品| 午夜视频免费观看成人| 黄色片国产一区二区三区| 人妻一区二区三区在线| 欧美一级片日韩一级片| 久久re6热在线视频| 丝袜人妻夜夜爽一区二区三区| 日韩蜜桃一区二区三区| 美女被草的视频在线观看| 亚洲第一区欧美日韩在线| 欧美激情区一区二区三区| 好吊日在线视频免费观看| 最新69国产精品视频| 久久精品欧美一区二区三不卡| 国产高清在线不卡一区| 精品国产一区二区欧美| 欧美成人黄色一区二区三区| 好东西一起分享老鸭窝| 美女被后入视频在线观看| 国产欧美高清精品一区| 免费国产成人性生活生活片| 两性色午夜天堂免费视频| 成人午夜视频精品一区| 欧美有码黄片免费在线视频| 欧美精品一区二区水蜜桃| 日韩和欧美的一区二区三区| 一区二区三区亚洲天堂|