當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]為了轉(zhuǎn)發(fā)水質(zhì)監(jiān)測數(shù)據(jù),采用新型的1T周期單片機(jī)STC10F04EX為控制核心,將雙4選1模擬開關(guān)4052的2個公用端與單片機(jī)的RxD、TxD端連接,通過分時連通的方式,對單片機(jī)的UART進(jìn)行擴(kuò)展,構(gòu)成一個多串口的數(shù)據(jù)轉(zhuǎn)發(fā)系統(tǒng)。擴(kuò)展的串口分別連接到3個不同的水質(zhì)監(jiān)測設(shè)備,以及一個與無線發(fā)射模塊。單片機(jī)分時得到3個水質(zhì)監(jiān)測設(shè)備傳來的數(shù)據(jù),并將得到的數(shù)據(jù)通過無線模塊進(jìn)行轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)距離可達(dá)3 000 m。遠(yuǎn)離現(xiàn)場的計算機(jī)完成數(shù)據(jù)接收及分析。該方法用于對單片機(jī)串口擴(kuò)展和遠(yuǎn)距離數(shù)據(jù)傳送簡潔可靠。所建的數(shù)據(jù)收發(fā)系統(tǒng),可以同時連接多臺串口監(jiān)測設(shè)備,彌補(bǔ)了計算機(jī)串口較少的不足,并且功能有別于多串口卡。該系統(tǒng)已成功應(yīng)用于多傳感器水環(huán)境監(jiān)測的數(shù)據(jù)轉(zhuǎn)發(fā)。

引言
    RS 232串口通信是一種常用的通信方式,許多數(shù)字化設(shè)備、測量儀器都具有串行接口。這些設(shè)備可以方便地與PC、PLC等控制器連接進(jìn)行數(shù)據(jù)交換,從而組成一個測試檢測/監(jiān)測系統(tǒng)。
    目前安裝在江、河、湖等水體現(xiàn)場的不同種類的水環(huán)境監(jiān)測設(shè)備,通過采集水樣,周期性地生成一組數(shù)據(jù)通過串口向外傳送。如果在現(xiàn)場需配置一臺或多臺PC,既不經(jīng)濟(jì),又難以維護(hù)。本文介紹的基于單片機(jī)的多串口數(shù)據(jù)收發(fā)控制系統(tǒng),可以同時連接多臺不同類型的水質(zhì)監(jiān)測設(shè)備,現(xiàn)場接收采集的數(shù)據(jù)并通過無線模塊向遠(yuǎn)端控制中心傳遞,轉(zhuǎn)發(fā)傳送的距離約為3 000 m,遠(yuǎn)遠(yuǎn)大于直接的RS 232互連。多串口數(shù)據(jù)收發(fā)控制系統(tǒng)不同于多串口卡,可以脫離計算機(jī)獨(dú)立工作,是計算機(jī)串口擴(kuò)展、延伸的一種全新方法。
    用多串口數(shù)據(jù)收發(fā)控制系統(tǒng)取代計算機(jī)安置于監(jiān)測現(xiàn)場,將來自于不同設(shè)備的數(shù)據(jù)進(jìn)行初步整合,再通過無線方式向遠(yuǎn)離現(xiàn)場的中央控制室進(jìn)行傳送,則監(jiān)測系統(tǒng)的可靠性、實(shí)時性、易維護(hù)性都大為增強(qiáng)。

1 水質(zhì)監(jiān)測系統(tǒng)的構(gòu)成
   
本文所提及的水質(zhì)監(jiān)測系統(tǒng),由光譜分析儀、水毒性分析儀、生物狀態(tài)分析儀等組成,這些設(shè)備都具有RS 232接口,但是接口參數(shù)不盡一致,傳送的數(shù)據(jù)格式也差別極大(見表1)。


    這些位于水體現(xiàn)場的測試設(shè)備,需要及時地將測量數(shù)據(jù)傳遞給遠(yuǎn)端的中央控制室。

2 多串口數(shù)據(jù)收發(fā)控制系統(tǒng)
2.1 多串口數(shù)據(jù)收發(fā)控制系統(tǒng)工作原理

    多串口數(shù)據(jù)收發(fā)控制系統(tǒng),以單片機(jī)STC10F04EX為控制核心,擴(kuò)展出多個全雙工異步串行口(UART),用以同時連接多個外部串口設(shè)備。該系統(tǒng)既可獨(dú)立地與所連接的設(shè)備交換數(shù)據(jù),又能起到數(shù)據(jù)中繼的作用,將來自上位端的命令傳遞到指定的串口設(shè)備上,或?qū)⒔邮盏降膩碜圆煌谠O(shè)備上的數(shù)據(jù)經(jīng)過初步整理后發(fā)送到上位端。
    由于要連接多個下位端執(zhí)行設(shè)備,但STC10F04EX的獨(dú)立UART只有一個,因此,必須對該單片機(jī)的UART進(jìn)行擴(kuò)展,才能連接多臺串口設(shè)備。經(jīng)過擴(kuò)展的各路UART不能同時工作,必須在I/O的配合下選擇對應(yīng)通道分時工作。
    被監(jiān)測的對象所發(fā)生的變化是個緩變過程,監(jiān)測系統(tǒng)中的各個分析儀器所要傳送的數(shù)據(jù)量有限,并且接收端大部分時間處于等待階段,控制程序在設(shè)計時已充分考慮到數(shù)據(jù)的銜接和每種設(shè)備的采樣和轉(zhuǎn)換周期。因此,分時連接不會造成數(shù)據(jù)丟失導(dǎo)致失準(zhǔn),可以滿足監(jiān)測要求。
    圖1顯示了多串口收發(fā)控制系統(tǒng)的結(jié)構(gòu)框圖以及與3個外部串口設(shè)備的連接。該系統(tǒng)既可以將接收到的數(shù)據(jù)通過無線方式對外發(fā)送,也可以用有線的方式直接傳遞給本地電腦。


2.2 多串口數(shù)據(jù)收發(fā)控制系統(tǒng)硬件組成
   
多串口數(shù)據(jù)收發(fā)控制系統(tǒng),采用型號STC10F04XE的單片機(jī)為控制核心,外加7279A鍵盤及數(shù)碼管驅(qū)動電路,TTL-RS232電平轉(zhuǎn)換電路MAX
232,4052雙4選1模擬開關(guān),無線收發(fā)模塊等組成。
    STC11F04XE的單片機(jī),以8051為內(nèi)核,并具有以下鮮明特點(diǎn):抗干擾能力強(qiáng),1T周期CPU,獨(dú)立波特率發(fā)生器,2個可切換串口,在系統(tǒng)可編程(ISP),片上擴(kuò)展XRAM等。
    單片機(jī)STC10F04EX的UART可在P1口的P1.6/P1.7(UART2)和P3口P3.0/P3.1(UART1)間切換,可以分時當(dāng)2個串口使用,這為調(diào)試系統(tǒng)和擴(kuò)展串口帶來了方便。由于該系列單片機(jī)支持在系統(tǒng)可編程(ISP),因此系統(tǒng)中的UART1通過電平轉(zhuǎn)換電路,直接連接到PC機(jī)的一個串口上,用于對單片機(jī)的程序下載和調(diào)試。單片機(jī)正常工作時,可將串口設(shè)置在UART2上。
    采用雙4選1模擬開關(guān)4052,將單片機(jī)的UART2擴(kuò)展為4路。其中,單片機(jī)端的RxD/TxD分別接到4052的公共端,擴(kuò)展端再由MAX232電平變換連接到外部具有串口的測量設(shè)備上。STC10F04EX的2個I/O引腳P1.1,P1.0與4052的通道選擇線B、A分別相連,UART2的具體指向由這2條I/O選擇控制。擴(kuò)展的串口只能分時工作,具體分配見表2。


    由于連接的不同串口設(shè)備的通信參數(shù)不完全相同,STC10F04EX必須根據(jù)設(shè)備指向動態(tài)調(diào)整串口參數(shù)以適合外部串口設(shè)備。
    顯示芯片7279A可以驅(qū)動8位共陰LED數(shù)碼管并可采集64個鍵盤位置信號。該系統(tǒng)通過數(shù)碼管顯示工作狀態(tài)(收發(fā),等待,時間,通道號,參數(shù)等);通過鍵盤不僅可以設(shè)置“多串口數(shù)據(jù)收發(fā)控制系統(tǒng)”自身參數(shù)和調(diào)節(jié)自身狀態(tài),還可修改/設(shè)置所連接的外部設(shè)備的傳送參數(shù)。CPU通過4個I/O引腳與7279A的4條控制線CS、DATA、CLK、KEY連接,就可驅(qū)動8位數(shù)碼管并對按鍵進(jìn)行監(jiān)控。為了響應(yīng)及時,采用中斷方式響應(yīng)按鍵狀態(tài),因此將KEY連接到P3.2(int0)上。
    無線收發(fā)模塊,嵌入高性能射頻芯片,采用高效循環(huán)交織糾檢錯編碼,發(fā)送距離可達(dá)3 000 m。模塊具有TTL電平的UART口,因此可以很方便地與單片機(jī)的一個擴(kuò)展的UART連接。向無線收發(fā)模塊寫入和讀出數(shù)據(jù),與一般的串口操作基本一樣。無線收發(fā)模塊頻點(diǎn)、空中速率、本地串口速率、校驗方式等參數(shù)可以在線設(shè)置或通過廠家提供的程序進(jìn)行設(shè)置。
    系統(tǒng)中無線收發(fā)模塊本地串口通信參數(shù)設(shè)為(9 600,8,N,1),數(shù)據(jù)被調(diào)制在434 MHz進(jìn)行發(fā)送和接收,空中速率9 600 b/s,發(fā)射功率100 mW。
    該無線收發(fā)模塊,收到數(shù)據(jù)后通常延時幾十到幾百毫秒才發(fā)送,所帶緩存256 B。若本地串口速率大于等于空中速率,則存在數(shù)據(jù)流量問題,可能會出現(xiàn)數(shù)據(jù)溢出導(dǎo)致丟失現(xiàn)象。因此若傳送數(shù)據(jù)超過256 B,要進(jìn)行數(shù)據(jù)分割,插入等待周期,采用分次發(fā)送的方式以避免數(shù)據(jù)丟失。本系統(tǒng)所連接的光譜儀數(shù)據(jù)量較大,因此單片機(jī)接收光譜儀數(shù)據(jù)后再經(jīng)無線轉(zhuǎn)發(fā),要采用分段接收/轉(zhuǎn)發(fā)方式,每次的數(shù)據(jù)量要小于256 B,多次重復(fù),直至全部數(shù)據(jù)。

3 軟件設(shè)計
3.1 有關(guān)寄存器的說明

    程序運(yùn)行時首先進(jìn)行初始化設(shè)置,其中涉及到幾個比較特別的寄存器,其定義不同于其他51系列的單片機(jī)。
    寄存器AUXR,地址8EH。關(guān)系到獨(dú)立波特率發(fā)生器,STC10F04EX既可以采用定時器1作為波特率發(fā)生器,又可以采用獨(dú)立波特率發(fā)生器以釋放定時器1,見表3說明。


    寄存器AUXR1,地址A2H。其中的D7位關(guān)系到單片機(jī)內(nèi)在的串口切換。例如:
   
3.2 數(shù)據(jù)存儲及轉(zhuǎn)發(fā)
   
STC10F04EX單片機(jī),內(nèi)部數(shù)據(jù)存儲器為256 B,片上擴(kuò)展的外部數(shù)據(jù)存儲器為256 B,共計512 B,數(shù)據(jù)空間緊湊。程序運(yùn)行中的一些變量需要占用一部分?jǐn)?shù)據(jù)空間,因此只能開辟約220個字節(jié)作為緩存空間,暫存接收到的來自串口設(shè)備的數(shù)據(jù)。如果一次接收的數(shù)據(jù)量小于緩存空間,則不會導(dǎo)致數(shù)據(jù)溢出;如果外部設(shè)備需傳送的數(shù)據(jù)量較大,則必須與外部設(shè)備建立聯(lián)絡(luò)控制發(fā)送,以使每次傳來的數(shù)據(jù)小于系統(tǒng)緩存,避免數(shù)據(jù)丟失現(xiàn)象的發(fā)生。
    所建立的水質(zhì)監(jiān)測系統(tǒng)中,“光譜儀”給出的數(shù)據(jù)量較大,因此“多串口收發(fā)控制系統(tǒng)”分時連接到“光譜儀”時,采用命令應(yīng)答方式控制光譜儀的數(shù)據(jù)發(fā)送,分批多次傳送。單片機(jī)將UART指向光譜儀,首先向光譜儀發(fā)送命令,指明數(shù)據(jù)來源和傳送的數(shù)據(jù)量(例如200個字節(jié));其次等待光譜儀的響應(yīng)并將傳來的200個字節(jié)的數(shù)據(jù)暫存在所開辟的緩沖區(qū)中;然后再將UART切換至無線模塊通道,將單片機(jī)緩存中的數(shù)據(jù)寫入無線模塊轉(zhuǎn)發(fā)出去;重復(fù)進(jìn)行上述步驟直至接收到光譜儀的全部數(shù)據(jù)。
    水質(zhì)監(jiān)測系統(tǒng)中的另外2種設(shè)備的數(shù)據(jù)量相對較小,可以一次性接收/轉(zhuǎn)發(fā)。
3.3 接收/轉(zhuǎn)發(fā)控制流程
   
根據(jù)設(shè)備的不同數(shù)據(jù)周期,以時間為線索,為相應(yīng)的設(shè)備分配接收/發(fā)送時間(圖2),在所分配的時間里,單片機(jī)要進(jìn)行UART通道切換:指向串口設(shè)備接收或發(fā)送數(shù)據(jù)、指向無線設(shè)備發(fā)送數(shù)據(jù)。


    程序采用中斷方式處理定時、串口的數(shù)據(jù)接收/發(fā)送、鍵盤輸入等過程。以中斷方式運(yùn)行,提高了程序的執(zhí)行效率。圖3為定時中斷服務(wù)程序流程圖。該水質(zhì)監(jiān)測過程,就是循環(huán)掃描3個水監(jiān)測設(shè)備,獲取數(shù)據(jù)并進(jìn)行無線轉(zhuǎn)發(fā)。


3.4 主要的程序功能模塊說明
   
串口驅(qū)動程序為分析判斷數(shù)據(jù)來源,并調(diào)用相應(yīng)的函數(shù),完成對不同串口設(shè)備的數(shù)據(jù)接收和發(fā)送。將接收到的數(shù)據(jù)暫時保存于緩存中;將緩存中的數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā);定時中斷程序為周期性地切換UART通道,分別連接到外部的3個串口設(shè)備上和無線發(fā)射模塊上。切換串口通道的同時,調(diào)整串口通信參數(shù),以適應(yīng)不同的串口設(shè)備。觸發(fā)串口發(fā)送過程,將緩存中的數(shù)據(jù)寫入無線模塊轉(zhuǎn)發(fā);INT0中斷服務(wù)程序為及時響應(yīng)鍵盤操作,然后調(diào)用相應(yīng)的函數(shù),完成參數(shù)設(shè)置等控制任務(wù);顯示程序為控制7279A.驅(qū)動LED數(shù)碼管,顯示系統(tǒng)狀態(tài)等信息。

4 結(jié)語
   
多串口數(shù)據(jù)收發(fā)控制系統(tǒng),已應(yīng)用于水環(huán)境監(jiān)測的數(shù)據(jù)轉(zhuǎn)發(fā),工作穩(wěn)定,數(shù)據(jù)收發(fā)可靠。
    本系統(tǒng)為采用一片單片機(jī)控制的單核心結(jié)構(gòu),與采用多核結(jié)構(gòu)相比,盡管只能分時使用UART,但數(shù)據(jù)協(xié)調(diào)相對容易,并且在設(shè)計時已考慮了數(shù)據(jù)銜接問題,不會導(dǎo)致數(shù)據(jù)丟失現(xiàn)象的發(fā)生;與采用多串口卡的方案相比,本系統(tǒng)可以脫離計算機(jī)獨(dú)立工作,因此現(xiàn)場不需要一臺計算機(jī)參與數(shù)據(jù)接收;無線方式數(shù)據(jù)傳送,傳送距離相對更遠(yuǎn);系統(tǒng)占用資源少,維護(hù)成本降低。
    該系統(tǒng)還可應(yīng)用于其他的多串口數(shù)據(jù)收發(fā)場合。經(jīng)過擴(kuò)展,可連接的串口數(shù)目可以進(jìn)一步擴(kuò)大。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉