一種內(nèi)存交互式通信在牙科治療機(jī)中的應(yīng)用
隨著人們生活水平的不斷提高, 口腔健康越來越受到人們的關(guān)注。多功能牙科治療機(jī)也順應(yīng)時代要求向著數(shù)字化、智能化、多樣化的方向發(fā)展。牙科綜合治療機(jī)是一款綜合了氣、水、電3 種必需元素的牙科治療儀器。從電控結(jié)構(gòu)上可分為:地箱控制、側(cè)箱控制、腳踏控制、器械盤控制、照明燈控制、顯示屏、左按鍵板、右按鍵板等模塊。多功能的實現(xiàn)離不開多模塊的配合?;谀K化的結(jié)構(gòu)特點,所以大部分牙科治療機(jī)都選用總線方式。
本文引用地址:http://m.butianyuan.cn/article/202108/427330.htm1 適用于牙科治療機(jī)的總線分析
總線技術(shù)發(fā)展歷史悠久,技術(shù)成熟,已經(jīng)在工業(yè)領(lǐng)域大量應(yīng)用,比如汽車、計算機(jī)、PLC、自動化工廠等[1]。綜合牙科治療機(jī)本身的結(jié)構(gòu)和應(yīng)用特點,可選用常用幾種總線,如表1 所示。
對比3 種通信方式:CAN 總線通信速度快,抗干擾強(qiáng),但是成本較高;IIC 總線通信速度稍快,成本低廉,但是抗干擾性差,在實際應(yīng)用中,極易受到周圍電磁波干擾,引起誤動作;RS485 通信抗干擾性強(qiáng),成本低廉,但隨著叢機(jī)增加,在一對多點通信時通信速度逐步降低(S/N),造成操作反應(yīng)不靈活,延遲大[1]。
綜上所述,本文提出一種內(nèi)存交互的通信方式,以解決RS485 總線隨著從機(jī)增加通信速度遞減的問題。從理論上分析,其通信速度不會因為從機(jī)的增加而遞減,解決了通信速度問題,再結(jié)合RS485 通信抗擾性強(qiáng)和價格低廉的特性,特別適用于牙科治療機(jī)及類似設(shè)備。
圖1 拓?fù)浣Y(jié)構(gòu)
2 內(nèi)存交互的通信方式
2.1 交互式通信的拓?fù)浣Y(jié)構(gòu)圖
通信拓?fù)浣Y(jié)構(gòu)設(shè)計為環(huán)形結(jié)構(gòu),每個節(jié)點采用雙串口設(shè)計,一進(jìn)一出。從圖1 拓?fù)浣Y(jié)構(gòu)可見,主機(jī)和模塊1、模塊1 和模塊2 等兩個模塊之間都獨占通信通道,有助于快速交互內(nèi)存數(shù)據(jù)。其通信速度可以保持主機(jī)和模塊1 的速度,而不會因為增加模塊而變慢。
另外,選用環(huán)形結(jié)構(gòu)可以增加通信的穩(wěn)定性。因為在設(shè)備使用過程中,難免會出現(xiàn)模塊損壞和通信線損壞的情況。在非閉環(huán)結(jié)構(gòu)情況下,如果某個模塊損壞或者該模塊通信線不正常,那么它后面的模塊都將通信失敗。環(huán)形結(jié)構(gòu)可以結(jié)合程序做自適應(yīng)分析,如果某個模塊通信失敗,就沒有返回成功的標(biāo)志給下一個模塊和主機(jī)。那么,后面的模塊和主機(jī)則翻轉(zhuǎn)通信順序。主機(jī)通信口2 由以前的從機(jī)接收數(shù)據(jù)變成主機(jī)發(fā)送數(shù)據(jù),逆向通信至通信失敗的模塊。這樣,主機(jī)可以因有兩個通信端口、兩條通信路徑而保證通信暢通。并且可通過顯示屏通知用戶哪個通信節(jié)點出現(xiàn)故障,在設(shè)備空閑時候進(jìn)行設(shè)備檢修。
2.2 交互式通信的協(xié)議層
通信協(xié)議主要使用內(nèi)存交互的概念,主機(jī)到從機(jī)1、從機(jī)1 到從機(jī)N 之間快速交互內(nèi)存數(shù)據(jù)。由于數(shù)據(jù)的快速交互,主機(jī)就可以把從機(jī)的數(shù)據(jù)看作內(nèi)部數(shù)據(jù)。從機(jī)I/O 點也可以被看作在主機(jī)內(nèi)部。根據(jù)治療機(jī)的設(shè)備特性,可以規(guī)劃為10 個節(jié)點,每個節(jié)點8 個字節(jié),需要讀取和輸出兩組數(shù)據(jù),再加上通信控制狀態(tài)的16 個字節(jié),共需要176 個字節(jié)。節(jié)點的個數(shù)和節(jié)點的字節(jié)數(shù)需要根據(jù)實際情況設(shè)定。具體的模塊內(nèi)數(shù)字量輸入、輸出和模擬量的個數(shù)可以根據(jù)設(shè)計需要進(jìn)行分配。數(shù)據(jù)協(xié)議如圖2,分為輸出數(shù)據(jù)和輸入數(shù)據(jù)兩個部分。
2.3 交互式通信的速率估算
通信速率可以按照主機(jī)和模塊1 的速率估算。通信串口設(shè)定為波特率為192 00 bit/s,1 個起始位,1 個停止位,8 個數(shù)據(jù)位[2]。那么,每秒最多傳輸?shù)淖止?jié)數(shù)為19 200/10=1 920 個。每次通信的字節(jié)數(shù)是88 個,每秒的通信次數(shù)為1 920/88=21.81。每次通信的時間是1 000/21.81=45 ms??紤]到通信之間的必要延遲時間30 ms,1 次完整通信時間是45+30=75 ms。那么,每秒可以完整通信13.33 次,因而可以實現(xiàn)0.075 s 的刷新率。如果波特率設(shè)定為57 600 bit/s,則可以實現(xiàn)0.045 s 的刷新率,內(nèi)存刷新率不到0.1 s,因此完全可以滿足一般設(shè)備控制需要。
2.4 交互式通信的硬件層
硬件層實現(xiàn)方式可以是RS485、RS232 和TTL 串口,可以根據(jù)不同的設(shè)備特點,要求的通信距離和抗干擾強(qiáng)度不同選用。
2.4.1 帶保護(hù)的RS485電路設(shè)計
如圖3 所示,V7 整流橋和V6/V8 穩(wěn)壓管組成高壓吸收網(wǎng)絡(luò),吸收通信中的高壓干擾,保護(hù)通信電路。
2.4.2 帶保護(hù)的RS232電路設(shè)計
如圖4 所示,利用V2/V3 和V4/V5 雙路共陰極穩(wěn)壓管進(jìn)行ESD 保護(hù)。L3/L4/L6/L6 磁珠用來抑制信號線上的高頻噪聲和尖峰干擾。R55/R56/R57/R58 電阻用來限流,保護(hù)通信口免受大電流沖擊。
2.4.3 帶保護(hù)的TTL串口電路設(shè)計
如圖5 所示,利用D8/D9 雙路二極管將電壓限制在安全范圍。TX 發(fā)送端使用U9 雙路與門將電壓提升到5 V,并隔離CPU。D5 二極管也對RX 輸入進(jìn)行隔離,以阻止高壓輸入,也可將電壓降到3.3 V,起到很好的隔離保護(hù)作用。
3 軟件設(shè)計
由于物理層實現(xiàn)都是采用通用成熟的通信方式,并且增加了保護(hù)電路,確保了通信硬件的穩(wěn)定性。所以,軟件協(xié)議層的開發(fā)也必須要保證邏輯的嚴(yán)謹(jǐn)性,才能保障通信的順暢。有必要的容錯處理才能使通信擁有較強(qiáng)的抗干擾性。軟件分為主機(jī)和從模塊兩種。主機(jī)的主要功能是2 個串口通信,分別為主端口、從端口,數(shù)據(jù)流從主端口發(fā)送,經(jīng)各個從模塊再回到從端口。根據(jù)從模塊的狀態(tài),主機(jī)判定從模塊是否通信故障,詳情參見圖6。從模塊主要通信功能也是2 個串口通信,但是和主機(jī)有所不同,它從上一個模塊得到的數(shù)據(jù),加上從模塊自身的數(shù)據(jù),然后送給下一個模塊。經(jīng)反復(fù)推敲的軟件流程如圖7 所示。
圖3 RS485電路設(shè)計
圖4 RS232電路設(shè)計
圖5 帶保護(hù)的TTL串口電路設(shè)計
4 結(jié)束語
內(nèi)存交互通信方式綜合利用了RS485 通信抗干擾強(qiáng)、成本低廉的優(yōu)點,解決了一對多點通信時通信速率遞減的問題。結(jié)合了多功能牙科治療機(jī)控制單元分散的特點,使得設(shè)計的控制系統(tǒng)穩(wěn)定性高、成本低;也使產(chǎn)品在市場化競爭中擁有性能和價格的雙重優(yōu)勢。該方案實現(xiàn)了眾多設(shè)備長期穩(wěn)定的運行,使理論設(shè)計得到了實踐的驗證。
參考文獻(xiàn):
[1] 樊昌信.通信原理[M].北京:國防工業(yè)出版社,2006.
[2] 劉軍.例說STM32[M].北京:北京航空航天大學(xué)出版社,2011.
(本文來源于《電子產(chǎn)品世界》雜志2021年5月期)
評論