直播推薦
企業(yè)動態(tài)
- 紛享銷客發(fā)布首個企業(yè)級智能CRM平臺ShareAI
- 揭秘西企業(yè)數(shù)字化+低碳化轉(zhuǎn)型“工具箱”:西門子Xcelerator
- 企業(yè)AI賦能數(shù)智制造,用友U9 cloud世界級云ERP煥新升級
- 《“智“領(lǐng)石化,“質(zhì)“造未來——威圖石化行業(yè)數(shù)智化實踐白皮書》隆重發(fā)布
- 攜手共贏!德國Agfa搭載瑞典IPCO鋼帶,實現(xiàn)印刷設(shè)備振動銳減6倍,提升印刷速度與精度
- 創(chuàng)四方集團榮獲“知名商標(biāo)品牌閃亮”證書,助力品牌戰(zhàn)略升級
- 皇冠CAD(CrownCAD)2025 R3版本來了,率先開啟C“Ai”D時代!
- 電費砍半!中國制冷展:海爾發(fā)布AI建筑最新成果
推薦展會
一般的RS 232通訊應(yīng)用,經(jīng)常由一個控制方控制一臺設(shè)備,或采用菊花鏈方式連接,根據(jù)通訊地址的不同,由一個控制方控制多臺設(shè)備。但在工程應(yīng)用中卻經(jīng)常會遇到2臺或2臺以上的PC機需要控制同一臺設(shè)備,即由多個控制方控制一臺設(shè)備的情況,而為受控設(shè)備僅具備1個RS 232串口,這時需要有一臺能夠?qū)崿F(xiàn)RS 232串口多方控制的設(shè)備,本文針對這種設(shè)備的其中一種比較*的設(shè)計方法進行說明。該設(shè)備不僅成本低,實現(xiàn)方法簡單,而且功能可擴展,在工程中具有較強的適用性,能滿足多種復(fù)雜控制的需要。
l硬件設(shè)計
在控制系統(tǒng)中,控制方和被控設(shè)備的通訊協(xié)議和控制程序是固定的,在設(shè)計中不能改變,只能通過一臺中間設(shè)備,即串口擴展設(shè)備,對控制方的命令進行一定的解析處理,從而實現(xiàn)控制方和被控方之間的協(xié)調(diào)應(yīng)答。本文選用AT89S52單片機作為串口擴展設(shè)備的核心控制器,系統(tǒng)的硬件原理圖如圖1所示。
系統(tǒng)中把單片機本身的串口作為主串口,用于連接被控設(shè)備,另外4個擴展串口,用于連接4個控制方。當(dāng)多個控制方同時連續(xù)發(fā)送較多的命令數(shù)據(jù)時,為了保證對所有數(shù)據(jù)的完整接收,需要將沒有來得及處理的數(shù)據(jù)做暫時的存儲。AT89S52單片機本身帶有256 B內(nèi)置的RAM,在很多情況下并不能滿足使用需要。DALLAS公司的DSl225含8 k×8 b非易失性SRAM,可作為外置的擴展存儲器件。該器件的讀寫速度達到70 ns,完夠滿足對數(shù)據(jù)的即時讀寫[3]。
2程序設(shè)計
2.1數(shù)據(jù)存儲空間的分配
程序設(shè)計時,首先應(yīng)對數(shù)據(jù)空間進行規(guī)劃。在該系統(tǒng)中,根據(jù)需要,從AT89S52內(nèi)部8 k的數(shù)據(jù)存儲器中劃分出5塊區(qū)域,做5個FIFO數(shù)據(jù)隊列,每個FIFO隊列l(wèi) 536 B空間,分別用于存儲來自5個端口的數(shù)據(jù)。剩下的512 B作數(shù)據(jù)存儲的備用空間。
2.2 程序模塊
程序采用模塊化的設(shè)計思想,以方便修改、移植和檢錯。整個控制程序由主程序、中斷、命令處理模塊、回送處理模塊4部分組成,實現(xiàn)原理如下:
(1)中斷
串行口中斷和外部中斷,用于接收來自5個端口的數(shù)據(jù),分端口將接收到的數(shù)據(jù)存入對應(yīng)的FIFO,這里對數(shù)據(jù)不做其他的判斷或處理,盡量用zui少的指令完成,減少中斷時間。以避免多個串口同時受到大量數(shù)據(jù)時,發(fā)生數(shù)據(jù)丟失。
(2)命令處理模塊
針對控制方端口FIFO,若控制方FIFO中存在數(shù)據(jù),根據(jù)協(xié)議對數(shù)據(jù)進行判斷,直接清除不符合協(xié)議的數(shù)據(jù);對符合協(xié)議的命令數(shù)據(jù),判斷完整條命令后,通過受控方端口向受控設(shè)備轉(zhuǎn)發(fā)整條命令,然后清掉FIFO中此條命令,如此逐步清空FIFO。
(3)回送處理模塊
針對受控方端口FIFO,若受控方FIFO中存在數(shù)據(jù),與"命令處理模塊"類似,根據(jù)協(xié)議對數(shù)據(jù)進行判斷,清除不符合協(xié)議的數(shù)據(jù),對符合協(xié)議的回送數(shù)據(jù),判斷完整后,同時通過4個控制方端口向控制設(shè)備回送數(shù)據(jù),然后清掉FIFO中此條命令,如此逐步清空FIFO。
(4)主程序模塊
在主程序中,循環(huán)判斷5個FIFO中是否有數(shù)據(jù)。若控制方FIFO存在數(shù)據(jù),進入命令處理模塊,清空FIFO后返回主程序,繼續(xù)循環(huán);若受控方FIFO存在數(shù)據(jù),進入回送處理模塊,清空FIFO后返回主程序,繼續(xù)循環(huán)。這樣,每個控制方發(fā)送的命令,都會在FIFO中有短暫的緩沖,在多控制方同時發(fā)送命令時,本設(shè)備可分先后將所有收到的命令逐個發(fā)送到受控設(shè)備,不會因發(fā)生沖突而造成數(shù)據(jù)丟失。對于受控設(shè)備回送的數(shù)據(jù),一般包含了工作狀態(tài)及配置等信息,需要同時回送到各個控制設(shè)備,使各個控制設(shè)備能夠及時做相應(yīng)的調(diào)整。
3功能擴展
按照上述方法設(shè)計的該系統(tǒng)不僅適用于多控制方控制一個串口情況,還可根據(jù)工程中遇到的各種需求進行功能擴展。
(1)一個控制設(shè)備和多個受控設(shè)備
雖然,若被控的受控設(shè)備提供的通訊協(xié)議包含地址,可通過菊花鏈方式分別控制,但在工程應(yīng)用中有相當(dāng)多的設(shè)備協(xié)議中并不包含地址。如果要實現(xiàn)分別控制,可使用本設(shè)備,對每個下位端口分別分配一個虛擬地址,在命令處理模塊中加入地址判斷,使收到的命令僅向?qū)?yīng)地址的下位端口發(fā)送。
(2)多個控制設(shè)備和多個受控設(shè)備
在這種情況下,普通的連接方法不能滿足多設(shè)備之間協(xié)調(diào)通訊的需要。若使用本設(shè)備,只需在命令處理模塊和回送處理模塊中,修改相應(yīng)的端口數(shù)目即可??刂品胶褪芸胤降墓δ懿蛔儭?/p>
(3)在控制設(shè)備和受控設(shè)備中存在著多種不同的通訊協(xié)議。此時,可利用本設(shè)備,添加協(xié)議轉(zhuǎn)換模塊,使之具備多種協(xié)議的解析功能,在收和發(fā)之間進行對應(yīng)的協(xié)議轉(zhuǎn)換,這種方法,比工程中通常采用更改控制設(shè)備的控制程序的方法更簡單、方便。
(4)上述幾種情況并存。尤其是控制設(shè)備與受控設(shè)備協(xié)議不同,而多個受控設(shè)備協(xié)議沒有地址,且需要分別控制時。本設(shè)備也可對每個受控方端口分別分配一個虛擬地址來實現(xiàn)分控,并在收發(fā)中間進行通訊協(xié)議的轉(zhuǎn)換。
4 結(jié) 語
本文設(shè)計的串口擴展設(shè)備,不但成本低、設(shè)計簡單,而且可滿足工程上串口應(yīng)用的多種不同需要,具有較高的使用價值,對工程技術(shù)人員具有一定的參考意義。
免責(zé)聲明
- 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請必須注明智能制造網(wǎng),http://towegas.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品來源,并自負版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
2025第十一屆中國國際機電產(chǎn)品交易會 暨先進制造業(yè)博覽會
展會城市:合肥市展會時間:2025-09-20