基于STC10F04EX的多串口數據收發(fā)系統
引言
RS 232串口通信是一種常用的通信方式,許多數字化設備、測量?jì)x器都具有串行接口。這些設備可以方便地與PC、PLC等控制器連接進(jìn)行數據交換,從而組成一個(gè)測試檢測/監測系統。
目前安裝在江、河、湖等水體現場(chǎng)的不同種類(lèi)的水環(huán)境監測設備,通過(guò)采集水樣,周期性地生成一組數據通過(guò)串口向外傳送。如果在現場(chǎng)需配置一臺或多臺PC,既不經(jīng)濟,又難以維護。本文介紹的基于單片機的多串口數據收發(fā)控制系統,可以同時(shí)連接多臺不同類(lèi)型的水質(zhì)監測設備,現場(chǎng)接收采集的數據并通過(guò)無(wú)線(xiàn)模塊向遠端控制中心傳遞,轉發(fā)傳送的距離約為3 000 m,遠遠大于直接的RS 232互連。多串口數據收發(fā)控制系統不同于多串口卡,可以脫離計算機獨立工作,是計算機串口擴展、延伸的一種全新方法。
用多串口數據收發(fā)控制系統取代計算機安置于監測現場(chǎng),將來(lái)自于不同設備的數據進(jìn)行初步整合,再通過(guò)無(wú)線(xiàn)方式向遠離現場(chǎng)的中央控制室進(jìn)行傳送,則監測系統的可靠性、實(shí)時(shí)性、易維護性都大為增強。
1 水質(zhì)監測系統的構成
本文所提及的水質(zhì)監測系統,由光譜分析儀、水毒性分析儀、生物狀態(tài)分析儀等組成,這些設備都具有RS 232接口,但是接口參數不盡一致,傳送的數據格式也差別極大(見(jiàn)表1)。
這些位于水體現場(chǎng)的測試設備,需要及時(shí)地將測量數據傳遞給遠端的中央控制室。
2 多串口數據收發(fā)控制系統
2.1 多串口數據收發(fā)控制系統工作原理
多串口數據收發(fā)控制系統,以單片機STC10F04EX為控制核心,擴展出多個(gè)全雙工異步串行口(UART),用以同時(shí)連接多個(gè)外部串口設備。該系統既可獨立地與所連接的設備交換數據,又能起到數據中繼的作用,將來(lái)自上位端的命令傳遞到指定的串口設備上,或將接收到的來(lái)自不同串口設備上的數據經(jīng)過(guò)初步整理后發(fā)送到上位端。
由于要連接多個(gè)下位端執行設備,但STC10F04EX的獨立UART只有一個(gè),因此,必須對該單片機的UART進(jìn)行擴展,才能連接多臺串口設備。經(jīng)過(guò)擴展的各路UART不能同時(shí)工作,必須在I/O的配合下選擇對應通道分時(shí)工作。
被監測的對象所發(fā)生的變化是個(gè)緩變過(guò)程,監測系統中的各個(gè)分析儀器所要傳送的數據量有限,并且接收端大部分時(shí)間處于等待階段,控制程序在設計時(shí)已充分考慮到數據的銜接和每種設備的采樣和轉換周期。因此,分時(shí)連接不會(huì )造成數據丟失導致失準,可以滿(mǎn)足監測要求。
圖1顯示了多串口收發(fā)控制系統的結構框圖以及與3個(gè)外部串口設備的連接。該系統既可以將接收到的數據通過(guò)無(wú)線(xiàn)方式對外發(fā)送,也可以用有線(xiàn)的方式直接傳遞給本地電腦。
2.2 多串口數據收發(fā)控制系統硬件組成
多串口數據收發(fā)控制系統,采用型號STC10F04XE的單片機為控制核心,外加7279A鍵盤(pán)及數碼管驅動(dòng)電路,TTL-RS232電平轉換電路MAX
232,4052雙4選1模擬開(kāi)關(guān),無(wú)線(xiàn)收發(fā)模塊等組成。
STC11F04XE的單片機,以8051為內核,并具有以下鮮明特點(diǎn):抗干擾能力強,1T周期CPU,獨立波特率發(fā)生器,2個(gè)可切換串口,在系統可編程(ISP),片上擴展XRAM等。
單片機STC10F04EX的UART可在P1口的P1.6/P1.7(UART2)和P3口P3.0/P3.1(UART1)間切換,可以分時(shí)當2個(gè)串口使用,這為調試系統和擴展串口帶來(lái)了方便。由于該系列單片機支持在系統可編程(ISP),因此系統中的UART1通過(guò)電平轉換電路,直接連接到PC機的一個(gè)串口上,用于對單片機的程序下載和調試。單片機正常工作時(shí),可將串口設置在UART2上。
采用雙4選1模擬開(kāi)關(guān)4052,將單片機的UART2擴展為4路。其中,單片機端的RxD/TxD分別接到4052的公共端,擴展端再由MAX232電平變換連接到外部具有串口的測量設備上。STC10F04EX的2個(gè)I/O引腳P1.1,P1.0與4052的通道選擇線(xiàn)B、A分別相連,UART2的具體指向由這2條I/O選擇控制。擴展的串口只能分時(shí)工作,具體分配見(jiàn)表2。
評論