|
高波特率=230400bps。
高抗干擾=滿帶寬發(fā)送干擾垃圾數(shù)據(jù)到串口,協(xié)議不死,繼續(xù)能正常響應(yīng)。
共存=滿帶寬垃圾數(shù)據(jù)的情況下,數(shù)碼管掃描勻稱不閃爍,DS18B20數(shù)據(jù)采集不中斷。
經(jīng)常有人說串口數(shù)據(jù)不好處理,沒辦法及時很好響應(yīng)串口數(shù)據(jù)。
本人也在網(wǎng)上購買別人的傳感器、模塊、LED控制卡等,這些商品化的產(chǎn)品,數(shù)據(jù)接口確實不能讓我滿意
1.抗錯性不行,有一個LED控制卡,只要發(fā)一包不完整的數(shù)據(jù)過去,接口就死掉了,得重啟,我是用無線傳過去的,根本沒法用。
2.不能很好兼容其他協(xié)議的設(shè)備,如買了一個雨量傳感器,自有協(xié)議的,但是總線上還想掛其他的MODBUS協(xié)議的傳感器,問這兩個廠家,恢復(fù)均是不同協(xié)議的不能混用。當(dāng)然這不能怪人家,因為一般公認(rèn)就是不同協(xié)議的設(shè)備不能掛在一起。
3.抗干擾性差(抗亂碼差),一些傳感器接口如果不小心發(fā)了點其他數(shù)據(jù)過去,就會丟掉后面一幀正常的數(shù)據(jù),造成丟幀。
于是,我就想,這個小接口,為什么不寫得足夠強大和健壯?只要你有正常的數(shù)據(jù)幀過來,我隨時保持響應(yīng),這樣不行嗎?
5年前有點小空,于是就慢慢碼一下,結(jié)果實現(xiàn)了我的目標(biāo)。
主要實現(xiàn)的不同于一般的modbus的地方
系統(tǒng)構(gòu)成:STC12C5A60S2,DS18B20,四位普通數(shù)碼管模塊(需要動態(tài)掃描)
注意:請留意你的DS18B20來源,我的手里三顆DS18B20,一顆不回應(yīng)數(shù)據(jù),一顆上電默認(rèn)9位分辨率,一顆上電默認(rèn)12位分辨率(這才正常)。
電路圖:IO:
DS18B20,P3.7。
數(shù)碼管字筆段:P1,低電平有效。數(shù)碼管位選:P2低四位,低電平有效。
程序占用:
程序編譯:data:62.1(RAM),code:1969(ROM)
效果:
1.23400bps波特率,11.0592MHz晶振頻率下能達(dá)到的最高波特率,已超出modscan軟件的范圍,后續(xù)用游戲修改器強制修改modscan到230400bps測試。
2.正常幀絕對響應(yīng)-這個不用說
3.數(shù)據(jù)斷流正常響應(yīng),一幀數(shù)據(jù),你可以任意長的時間內(nèi)發(fā)送過來,比如8字節(jié)的幀,連續(xù)發(fā)7字節(jié),過一年再發(fā)最后一個字節(jié),100%響應(yīng)。
4.混幀、疊幀正常響應(yīng),比如兩個8字節(jié)的幀,前面一個幀后4個字節(jié)和后面一個幀前四個字節(jié)混疊,后一幀正常響應(yīng)。相當(dāng)于你前一幀發(fā)了4個字節(jié),發(fā)了一半,你不發(fā)了,發(fā)下一幀正常幀,下一幀正常幀正常響應(yīng)。
混幀疊幀.jpg (4.53 KB, 下載次數(shù): 31)
下載附件
2024-5-9 09:26 上傳
5.連幀正常響應(yīng),連續(xù)發(fā)幾幀查詢幀,我通通響應(yīng)數(shù)據(jù)給你,不需要3.5字節(jié)的空閑,反正數(shù)據(jù)我給回你了,你能不能處理是你的事情了。
6.無限垃圾數(shù)據(jù)通吃,23400bps波特率下,你扔再多的垃圾數(shù)據(jù)給我,我也不會死掉。
7.無限長度垃圾數(shù)據(jù)里面插入正常幀、混幀、疊幀、連幀,230400bps波特率下連續(xù)發(fā)送,全部正常響應(yīng)。
8.所有過程,數(shù)碼管掃描正常,不閃爍。18B20溫度采集正常,不中斷。
視頻1:23400bps正常幀混幀疊幀連幀響應(yīng)測試視頻
https://v.youku.com/v_show/id_XN ... j.8428770.3416059.1
視頻2:23400bps連續(xù)大數(shù)據(jù)亂碼不出錯LED掃描溫度采集正常
https://v.youku.com/v_show/id_XN ... j.8428770.3416059.1
視頻3:在1MB亂碼數(shù)據(jù)中插入正常幀疊幀連幀(數(shù)據(jù)編輯過程)
https://v.youku.com/v_show/id_XN ... j.8428770.3416059.1
視頻4:23400bps碼率發(fā)送含有正常幀的亂碼數(shù)據(jù)全部正常響應(yīng),亂碼中的正常幀全部得到響應(yīng)
https://v.youku.com/v_show/id_XN ... j.8428770.3416059.1
modscan 230400bps
https://v.youku.com/v_show/id_XN ... j.8428770.3416059.1
modscan 數(shù)據(jù)核對
https://v.youku.com/v_show/id_XN ... j.8428770.3416059.1
S_modbus_rtu_node hex.rar
(2.42 KB, 下載次數(shù): 3)
2024-5-9 09:28 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
S_MODBUSRTU 18B20 C.rar
(3.02 KB, 下載次數(shù): 7)
2024-5-9 09:28 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|