標(biāo)題: wifi和電腦直連 固定延遲如何做到 [打印本頁(yè)]

作者: RobbieCheng    時(shí)間: 2024-2-27 09:46
標(biāo)題: wifi和電腦直連 固定延遲如何做到
我們單片機(jī)通過(guò)e103w06模塊透?jìng)鹘o電腦,由于要求同步所以需要wifi的TCP通信有一個(gè)固定的延遲,抖動(dòng)1ms,我采用的是5G頻段,現(xiàn)在抖動(dòng)一般在1-7ms也有幾百ms的抖動(dòng),請(qǐng)問(wèn)有沒(méi)有大佬知道如何解決

作者: RobbieCheng    時(shí)間: 2024-2-27 10:23
或者有沒(méi)有什么優(yōu)化方案。我用的gd32f303單片機(jī)和e103w06 wifi模塊,通過(guò)串口通信;作為AP,tcp的服務(wù)器。電腦作為客戶(hù)機(jī),接收wifi發(fā)來(lái)的數(shù)據(jù),電腦在特定的時(shí)間點(diǎn)發(fā)1個(gè)字節(jié)給單片機(jī),單片機(jī)在要發(fā)出的數(shù)據(jù)上進(jìn)行打標(biāo)。以上是整個(gè)流程,每10s打一個(gè)標(biāo),大概兩分鐘,就會(huì)偏差將近10ms。要求2分鐘內(nèi)最多偏差4ms。
作者: yzw846562238    時(shí)間: 2024-2-27 10:57
你發(fā)的速率很快么,還是說(shuō)只是低頻率的發(fā)送,感覺(jué)可以用時(shí)間來(lái)進(jìn)行同步吧
作者: RobbieCheng    時(shí)間: 2024-2-27 11:34
yzw846562238 發(fā)表于 2024-2-27 10:57
你發(fā)的速率很快么,還是說(shuō)只是低頻率的發(fā)送,感覺(jué)可以用時(shí)間來(lái)進(jìn)行同步吧

終于有人回答了。感謝你。我串口波特率460800,每5ms發(fā)136字節(jié)。比如我們采集的是正弦波,上位機(jī)那邊軟件觸發(fā)一次就得在數(shù)據(jù)包里面把哪個(gè)字節(jié)放進(jìn)去,這樣上位機(jī)可以將數(shù)據(jù)重疊起來(lái)。時(shí)間同步我單片機(jī)不聯(lián)網(wǎng)沒(méi)有一個(gè)準(zhǔn)確的時(shí)間戳。按你說(shuō)的時(shí)間同步需要硬件咋做,軟件咋做。你看我這個(gè)發(fā)送速率能時(shí)間同步嗎。
作者: RobbieCheng    時(shí)間: 2024-2-27 13:23
yzw846562238 發(fā)表于 2024-2-27 10:57
你發(fā)的速率很快么,還是說(shuō)只是低頻率的發(fā)送,感覺(jué)可以用時(shí)間來(lái)進(jìn)行同步吧

終于等到大佬了,感謝。我的波特率460800,傳輸數(shù)據(jù)不算很快每5ms發(fā)140個(gè)字節(jié)。時(shí)間同步要增加硬件嗎?單片機(jī)現(xiàn)在不聯(lián)網(wǎng),怎樣實(shí)現(xiàn)時(shí)間同步。我們現(xiàn)在是傳感器采集到比如是正弦波,PC在發(fā)出正弦波時(shí)通過(guò)wifi給單片機(jī)傳一個(gè)字節(jié),采集時(shí)把標(biāo)簽打上,發(fā)到PC。PC對(duì)正弦波進(jìn)行對(duì)齊操作。時(shí)間同步也可以但需要如何做能指點(diǎn)一下嗎。
作者: hange_v    時(shí)間: 2024-2-27 16:50
用TCP就不可能精確到毫秒。。。
作者: cnfloatleaf    時(shí)間: 2024-2-27 17:14
TCP/IP協(xié)議本身延遲就是不確定的,所以沒(méi)辦法精確
作者: tt2016    時(shí)間: 2024-2-27 19:45
你能問(wèn)出這種問(wèn)題也是厲害,不說(shuō)現(xiàn)在的WIFI環(huán)境的干擾程度了,哪怕你是有線(xiàn)連接也不可能做到,TCP總會(huì)波動(dòng),更別說(shuō)你所說(shuō)的固定延遲了
作者: yzw846562238    時(shí)間: 2024-2-28 08:49
RobbieCheng 發(fā)表于 2024-2-27 11:34
終于有人回答了。感謝你。我串口波特率460800,每5ms發(fā)136字節(jié)。比如我們采集的是正弦波,上位機(jī)那邊軟件 ...

你可以上電的時(shí)候,通過(guò)上位機(jī)給單片機(jī)發(fā)送時(shí)間,以及后面空閑的時(shí)候定時(shí)發(fā)送時(shí)間進(jìn)行校準(zhǔn),單片機(jī)通過(guò)定時(shí)器去走時(shí)。然后上位機(jī)如果有測(cè)量需求了,就把需要測(cè)試的時(shí)間點(diǎn)發(fā)送給單片機(jī),然后單片機(jī)到了這個(gè)時(shí)間點(diǎn)就開(kāi)始測(cè)量,然后把結(jié)果發(fā)送給上位機(jī)
作者: yzw846562238    時(shí)間: 2024-2-28 08:50
RobbieCheng 發(fā)表于 2024-2-27 11:34
終于有人回答了。感謝你。我串口波特率460800,每5ms發(fā)136字節(jié)。比如我們采集的是正弦波,上位機(jī)那邊軟件 ...

上位機(jī)可以通過(guò)串口把時(shí)間同步給單片機(jī)的,我以前的項(xiàng)目就這么做
作者: RobbieCheng    時(shí)間: 2024-2-28 09:37
好的謝謝大家
作者: RobbieCheng    時(shí)間: 2024-2-28 09:46
hange_v 發(fā)表于 2024-2-27 16:50
用TCP就不可能精確到毫秒。。。

我用串口線(xiàn)已經(jīng)可以做到,幾乎抖動(dòng)在ms以?xún)?nèi),請(qǐng)問(wèn)無(wú)線(xiàn)有方法做到確定性延遲嗎,延遲多久無(wú)所謂,例如100ms±1ms都是可以接受的。求大佬指點(diǎn)
作者: RobbieCheng    時(shí)間: 2024-2-28 10:13
yzw846562238 發(fā)表于 2024-2-28 08:50
上位機(jī)可以通過(guò)串口把時(shí)間同步給單片機(jī)的,我以前的項(xiàng)目就這么做

我們?cè)O(shè)備希望做成無(wú)線(xiàn),如果要時(shí)間同步的話(huà)那不得用到網(wǎng)絡(luò)授時(shí)協(xié)議哇




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1