一般的RS 232通訊應用,經常由一個控制方控制一臺設備,或采用菊花鏈方式連接,根據通訊地址的不同,由一個控制方控制多臺設備。但在工程應用中卻經常會遇到2臺或2臺以上的PC機需要控制同一臺設備,即由多個控制方控制一臺設備的情況,而為受控設備僅具備1個RS 232串口,這時需要有一臺能夠實現RS 232串口多方控制的設備,本文針對這種設備的其中一種比較*的設計方法進行說明。該設備不僅成本低,實現方法簡單,而且功能可擴展,在工程中具有較強的適用性,能滿足多種復雜控制的需要。
l硬件設計
在控制系統中,控制方和被控設備的通訊協議和控制程序是固定的,在設計中不能改變,只能通過一臺中間設備,即串口擴展設備,對控制方的命令進行一定的解析處理,從而實現控制方和被控方之間的協調應答。本文選用AT89S52單片機作為串口擴展設備的核心控制器,系統的硬件原理圖如圖1所示。
系統中把單片機本身的串口作為主串口,用于連接被控設備,另外4個擴展串口,用于連接4個控制方。當多個控制方同時連續發送較多的命令數據時,為了保證對所有數據的完整接收,需要將沒有來得及處理的數據做暫時的存儲。AT89S52單片機本身帶有256 B內置的RAM,在很多情況下并不能滿足使用需要。DALLAS公司的DSl225含8 k×8 b非易失性SRAM,可作為外置的擴展存儲器件。該器件的讀寫速度達到70 ns,完夠滿足對數據的即時讀寫[3]。
2程序設計
2.1數據存儲空間的分配
程序設計時,首先應對數據空間進行規劃。在該系統中,根據需要,從AT89S52內部8 k的數據存儲器中劃分出5塊區域,做5個FIFO數據隊列,每個FIFO隊列l 536 B空間,分別用于存儲來自5個端口的數據。剩下的512 B作數據存儲的備用空間。
2.2 程序模塊
程序采用模塊化的設計思想,以方便修改、移植和檢錯。整個控制程序由主程序、中斷、命令處理模塊、回送處理模塊4部分組成,實現原理如下:
(1)中斷
串行口中斷和外部中斷,用于接收來自5個端口的數據,分端口將接收到的數據存入對應的FIFO,這里對數據不做其他的判斷或處理,盡量用zui少的指令完成,減少中斷時間。以避免多個串口同時受到大量數據時,發生數據丟失。
(2)命令處理模塊
針對控制方端口FIFO,若控制方FIFO中存在數據,根據協議對數據進行判斷,直接清除不符合協議的數據;對符合協議的命令數據,判斷完整條命令后,通過受控方端口向受控設備轉發整條命令,然后清掉FIFO中此條命令,如此逐步清空FIFO。
(3)回送處理模塊
針對受控方端口FIFO,若受控方FIFO中存在數據,與"命令處理模塊"類似,根據協議對數據進行判斷,清除不符合協議的數據,對符合協議的回送數據,判斷完整后,同時通過4個控制方端口向控制設備回送數據,然后清掉FIFO中此條命令,如此逐步清空FIFO。
(4)主程序模塊
在主程序中,循環判斷5個FIFO中是否有數據。若控制方FIFO存在數據,進入命令處理模塊,清空FIFO后返回主程序,繼續循環;若受控方FIFO存在數據,進入回送處理模塊,清空FIFO后返回主程序,繼續循環。這樣,每個控制方發送的命令,都會在FIFO中有短暫的緩沖,在多控制方同時發送命令時,本設備可分先后將所有收到的命令逐個發送到受控設備,不會因發生沖突而造成數據丟失。對于受控設備回送的數據,一般包含了工作狀態及配置等信息,需要同時回送到各個控制設備,使各個控制設備能夠及時做相應的調整。
3功能擴展
按照上述方法設計的該系統不僅適用于多控制方控制一個串口情況,還可根據工程中遇到的各種需求進行功能擴展。
(1)一個控制設備和多個受控設備
雖然,若被控的受控設備提供的通訊協議包含地址,可通過菊花鏈方式分別控制,但在工程應用中有相當多的設備協議中并不包含地址。如果要實現分別控制,可使用本設備,對每個下位端口分別分配一個虛擬地址,在命令處理模塊中加入地址判斷,使收到的命令僅向對應地址的下位端口發送。
(2)多個控制設備和多個受控設備
在這種情況下,普通的連接方法不能滿足多設備之間協調通訊的需要。若使用本設備,只需在命令處理模塊和回送處理模塊中,修改相應的端口數目即可。控制方和受控方的功能不變。
(3)在控制設備和受控設備中存在著多種不同的通訊協議。此時,可利用本設備,添加協議轉換模塊,使之具備多種協議的解析功能,在收和發之間進行對應的協議轉換,這種方法,比工程中通常采用更改控制設備的控制程序的方法更簡單、方便。
(4)上述幾種情況并存。尤其是控制設備與受控設備協議不同,而多個受控設備協議沒有地址,且需要分別控制時。本設備也可對每個受控方端口分別分配一個虛擬地址來實現分控,并在收發中間進行通訊協議的轉換。
4 結 語
本文設計的串口擴展設備,不但成本低、設計簡單,而且可滿足工程上串口應用的多種不同需要,具有較高的使用價值,對工程技術人員具有一定的參考意義。
免責聲明
- 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://www.xashilian.com。違反者本網將追究相關法律責任。
- 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
2025中國具身智能機器人產業大會暨展覽會
展會城市:上海市展會時間:2025-08-13