當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]l 引言 隨著計(jì)算機(jī)技術(shù)和測控技術(shù)的不斷發(fā)展,在以單片機(jī)為核心的數(shù)據(jù)采集系統(tǒng)中,需要實(shí)現(xiàn)單片機(jī)和計(jì)算機(jī)之間的數(shù)據(jù)交換,并以此來發(fā)揮單片機(jī)和計(jì)算機(jī)各自的長處,提升整個

l 引言

隨著計(jì)算機(jī)技術(shù)和測控技術(shù)的不斷發(fā)展,在以單片機(jī)為核心的數(shù)據(jù)采集系統(tǒng)中,需要實(shí)現(xiàn)單片機(jī)和計(jì)算機(jī)之間的數(shù)據(jù)交換,并以此來發(fā)揮單片機(jī)和計(jì)算機(jī)各自的長處,提升整個系統(tǒng)的性能價格比。

在計(jì)算機(jī)網(wǎng)絡(luò)和工業(yè)控制系統(tǒng)中,經(jīng)常需要采用串行通信來實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)傳輸。目前,有多種接口標(biāo)準(zhǔn)可用于串行通信,包括RS232、RS422、RS485等。RS232是最早的串行接口標(biāo)準(zhǔn),在短距離、較低波特率串行通信中得到了廣泛應(yīng)用。但是,RS232通信存在著傳輸速度慢、傳輸距離短、信號容易受到干擾等不足,其應(yīng)用局限性已日益突出。而RS485通信采用差分方式來消除噪聲,即信號在發(fā)送前會分解為正負(fù)2條線路,當(dāng)?shù)竭_(dá)接收端時將信號相減,使噪聲相互抵消,還原成原來的信號,這種方式對共模干擾抑制能力較強(qiáng),已廣泛應(yīng)用于工業(yè)控制等領(lǐng)域。

要實(shí)現(xiàn)單片機(jī)與計(jì)算機(jī)之間的RS485通信,一般可以采用2種方法:一種方法是在單片機(jī)與計(jì)算機(jī)兩端分別采用RS232與RS485電平轉(zhuǎn)換裝置;另一種方法是采用RS485通信卡,并將其插在計(jì)算機(jī)主板上。采用前一種方法的優(yōu)點(diǎn)是硬件裝置安裝簡便,軟件編程相對簡單;缺點(diǎn)是通信速率被限制在20 kb/s以內(nèi)。第二種方法的優(yōu)點(diǎn)是通信距離較遠(yuǎn),速率較高,可達(dá)10 Mb/s;缺點(diǎn)是需要安裝通訊卡和驅(qū)動程序,并進(jìn)行必要的設(shè)置。本文采用第二種方法。

2 總體架構(gòu)

在某型電子設(shè)備研制中,選用美國Cygnal公司生產(chǎn)的一種soc型8位單片機(jī)C8051F020,對測控系統(tǒng)進(jìn)行數(shù)據(jù)采集。該單片機(jī)是C8051F系列的F02X子系列,其性價比在工業(yè)控制領(lǐng)域具有較強(qiáng)的競爭力。它是完全集成的混合信號系統(tǒng)級芯片,具有與8051指令集完全兼容的CIP一51內(nèi)核,對于熟悉51單片機(jī)的技術(shù)人員來說,在硬件設(shè)計(jì)及軟件編程上大大提高了開發(fā)效率。

測控計(jì)算機(jī)采用研華的IPC-610工控機(jī),并選用PCL一846B通信卡進(jìn)行RS485串行數(shù)據(jù)通信,該通信卡包含4通道,每個通道可以對32個節(jié)點(diǎn)進(jìn)行通信。

為了實(shí)現(xiàn)單片機(jī)與工控機(jī)之間的RS485串行通信,必須對單片機(jī)的UART輸出電平進(jìn)行轉(zhuǎn)換,以滿足RS485串行通信需求。選用MAX485接口芯片,它是Maxim公司的一種RS485接口芯片,該芯片的結(jié)構(gòu)和引腳都比較簡單。

該設(shè)計(jì)理論上可以實(shí)現(xiàn)1臺工控機(jī)(安裝1塊RS485通信卡)對128臺單片機(jī)進(jìn)行Rs485串行通信,其總體設(shè)計(jì)框圖如圖1所示。

圖1 總體結(jié)構(gòu)

3 系統(tǒng)硬件設(shè)計(jì)

3.1 硬件簡介

1)C8051F020單片機(jī)

C8051F020內(nèi)部有2個增強(qiáng)型全雙工UART、SPI總線和SMBus/IC.這些串行總線都用硬件實(shí)現(xiàn),都能夠向CIP-51內(nèi)核產(chǎn)生中斷,只需要很少的CPU干預(yù);這些串行總線不“共享”定時器、中斷或I/O端口等資源,因此可以使用任何一個或者全部同時使用。

2)MAX485芯片

MAX485芯片采用+5V電源工作,其額定電流為300“A,它能將UART輸出電平轉(zhuǎn)換為RS485電平。該芯片有8個引腳,其內(nèi)部含有1個接收器和1個驅(qū)動器,R0為接收器的輸出端,接單片機(jī)的TXD引腳;DI為驅(qū)動器的輸入端,接單片機(jī)的RXD引腳。/RE是接收使能端,當(dāng)/RE=0時,MAX485芯片處于接收狀態(tài);DE是發(fā)送使能端,當(dāng)DE=1時,MAX485芯片處于發(fā)送狀態(tài)。

MAX485芯片的A端與B端分別為接收與發(fā)送的差分信號端。當(dāng)VA小于VB時,表示發(fā)送信號為”0“;當(dāng)VA大于VB時,表示發(fā)送信號為”1“。MAX485芯片工作時,A、B兩端之間應(yīng)當(dāng)加上匹配電阻尺,一般選用120 Ω;當(dāng)通信距離較遠(yuǎn)時,可以選用300 Ω。

3)RS485通信卡

Rs485通信卡具有較強(qiáng)的抗干擾能力、較高的通信速率以及較低的價格,在工業(yè)控制等領(lǐng)域具有較強(qiáng)的競爭力和實(shí)用性。選用研華的PCL-846B通信卡,該卡支持RS422和RS485 2種串行通信接口標(biāo)準(zhǔn),需要通過跳線進(jìn)行設(shè)置。另外,在該通信卡的4個通道上均預(yù)留有焊接終端匹配電阻的焊孔。

3.2 電路設(shè)計(jì)

采用UART串行總線進(jìn)行通信,因?yàn)閁ART是一種廣泛應(yīng)用于遠(yuǎn)距離、低速率、低成本通信的串行傳輸接口,由于其具有數(shù)據(jù)線少的特點(diǎn),在數(shù)字系統(tǒng)設(shè)計(jì)中得到了大量應(yīng)用?;镜腢ART通信只需要兩根數(shù)據(jù)線(RXD、TXD)即可完成數(shù)據(jù)的相互通信,接收和發(fā)送都是全雙工形式,其中RXD是接收端,TXD是發(fā)送端。

C8051F020單片機(jī)有2個UART(UART0和UARTl),以UART0為例,它的TxD和RXD分別與數(shù)字I/0引腳PO.O和PO.1復(fù)用,通過交叉開關(guān)配置寄存器進(jìn)行選擇。由于MAX485工作在半雙工狀態(tài),它與單片機(jī)連接時的接線比較簡單,只需要用單片機(jī)某一個引腳(如PO.2)來控制RE和DE這2個引腳。PCL-846B通信卡有4個通道,選擇通道1與單片機(jī)進(jìn)行通信,另外將通道2和通道4進(jìn)行連接,以自發(fā)自收的方式實(shí)現(xiàn)通信卡的自檢。單片機(jī)與外部電路的連接關(guān)系如圖2所示。

圖2 硬件電路原理

在使用RS485通信卡進(jìn)行通信時,當(dāng)信號傳遞到通信線路兩端時,如果阻抗不匹配,可能會產(chǎn)生信號反射問題。信號反射會造成信號的失真和變形,從而導(dǎo)致通信錯誤。其解決方法就是在通信線路的兩端各連接一個終端匹配電阻,保證阻抗匹配。當(dāng)通信距離較短,一般在小于300 m時,可不使用終端電阻。當(dāng)通信距離大于300 m時,應(yīng)當(dāng)使用終端電阻,其阻值必須與通信線路的線性阻抗相同。電阻值一般選取120 Ω左右,當(dāng)通信距離較長時,可以選用300 Ω。

  4 軟件設(shè)計(jì)

4.1 通信方式

C8051F020單片機(jī)的UARTo提供4種工作方式(1種同步方式和3種異步方式),以方式1為例:方式1提供標(biāo)準(zhǔn)的異步、全雙工通信,每個數(shù)據(jù)字節(jié)共包含10位:1個起始位、8個數(shù)據(jù)位和1個停止位。數(shù)據(jù)從TX引腳發(fā)送,在RX引腳接收。2在多機(jī)通信中,通常選擇方式2和方式3,通過使用第9數(shù)據(jù)位和內(nèi)置UARTo地址識別硬件支持一個主處理器與多個從處理器之問的多機(jī)通信。

為了簡化UART0的使用和軟件編程,選擇方式1進(jìn)行多機(jī)通信,通過編寫串口中斷程序?qū)νㄐ烹p方進(jìn)行約定。具體做法是:

1)約定發(fā)送數(shù)據(jù)的格式,本文約定以”#……*“作為合法的數(shù)據(jù)格式,即以”#“開始和”*“結(jié)束作為判斷數(shù)據(jù)有效性的依據(jù)。

2)在”#“和”*“之間的數(shù)據(jù)是需要的,本文約定以第2個字符(當(dāng)設(shè)備較多時,可以2個字符)作為接收設(shè)備的識別碼,由接收設(shè)備(單片機(jī)或上位機(jī))對該字符進(jìn)行判斷,確定是否需要接收該數(shù)據(jù)。

3)當(dāng)接收設(shè)備需要知道發(fā)送數(shù)據(jù)的來源時,也可以約定發(fā)送設(shè)備的識別碼(由于每臺設(shè)備既可以是發(fā)送設(shè)備也可以是接收設(shè)備,因此可以約定一個固定的識別碼),在發(fā)送數(shù)據(jù)中插入該識別碼(插入位置必須事先約定),即可獲知數(shù)據(jù)的來源設(shè)備。

4.2 串口波特率

C8051F020單片機(jī)有5個16位通用計(jì)數(shù)器/定時器(T0~T4)和一個片內(nèi)可編程計(jì)數(shù)器/定時器陣列(PCA)。方式1的波特率是定時器溢出時間的函數(shù),UART0可以使用定時器1工作在8位自動重裝載方式或者定時器2工作在波特率發(fā)生器方式產(chǎn)生波特率。以定時器2為例,其波特率的計(jì)算公式是:

式中:SySCLK是單片機(jī)的系統(tǒng)時鐘,RCAP2H和RCAP2L分別為定時器2的重裝載寄存器的高8位和低8位。

波特率根據(jù)數(shù)據(jù)傳輸速率的實(shí)際需要確定,波特率確定后即可計(jì)算出定時器2的重裝載寄存器的初始值T2。

采用22.1184 MHz晶體振蕩器作為系統(tǒng)時鐘,波特率為9600 b/s,計(jì)算得到T2=FFB8H(十六進(jìn)制)。

4.3 軟件流程

C8051F020單片機(jī)內(nèi)部具有JTAG和調(diào)試電路,可以通過JTAG接口對MCU進(jìn)行非侵入式、全速、在系統(tǒng)調(diào)試。根據(jù)系統(tǒng)功能需求,對軟件進(jìn)行模塊化設(shè)計(jì),并利用Silicon Labs IDE集成開發(fā)環(huán)境對單片機(jī)進(jìn)行編程與調(diào)試。利用C8051F020單片機(jī)的中斷系統(tǒng),直接采用C語言對UART中斷服務(wù)程序進(jìn)行編寫。

單片機(jī)的串口通信程序可由數(shù)據(jù)發(fā)送和接收2個模塊構(gòu)成。數(shù)據(jù)發(fā)送模塊首先需要設(shè)置UART為發(fā)送狀態(tài),清除發(fā)送標(biāo)志后向sBF中寫入數(shù)據(jù),開始逐個發(fā)送字符,數(shù)據(jù)發(fā)送完成后,恢復(fù)UART為接收狀態(tài)。數(shù)據(jù)接收模塊清除接收標(biāo)志后讀SBF中的數(shù)據(jù),開始接收字符,首先判斷接收數(shù)據(jù)是否有效,然后分析處理數(shù)據(jù),接收完數(shù)據(jù)后,退出接收程序。UART串口發(fā)送和接收模塊的程序流程如圖3所示。

圖3 串口通信程序流程

5 實(shí)驗(yàn)分析

設(shè)計(jì)的系統(tǒng)已經(jīng)應(yīng)用于某型實(shí)時測控裝置研制中,該測控裝置含有2個單片機(jī),其主控上位機(jī)安裝有l(wèi)塊RS485通信卡。具體驗(yàn)證過程是:將1個測控裝置與1臺上位機(jī)距離50 m進(jìn)行串行通信,通信正??煽?。將2個測控裝置與2臺上位機(jī)(均安裝有RS485通信卡)分別相距50 m,通信線路采用并聯(lián),4個通信節(jié)點(diǎn)之間RS485通信正??煽?。依次類推,在多個測控裝置與多臺上位機(jī)進(jìn)行遠(yuǎn)距離通信時,RS485通信均正??煽俊?/FONT>

在上位機(jī)上通過串口調(diào)試助手可以簡便地對串口進(jìn)行調(diào)試。該調(diào)試工具可以實(shí)時發(fā)送和接收串行數(shù)據(jù),數(shù)據(jù)格式和傳輸速率可調(diào),可以動態(tài)觀察各通信節(jié)點(diǎn)的數(shù)據(jù)收發(fā)情況。串口調(diào)試界面如圖4所示。

圖4 串口調(diào)試界面

該設(shè)計(jì)方法成功實(shí)現(xiàn)了單片機(jī)與上位機(jī)之間的RS485串行通信,在單片機(jī)與上位機(jī)距離50 m以內(nèi)可以實(shí)現(xiàn)115.2 k/ps的高速通信,數(shù)據(jù)傳輸誤碼率低,完全滿足系統(tǒng)設(shè)計(jì)指標(biāo)。

6 結(jié)論

通過在單片機(jī)與工控機(jī)之間建立RS485串行通信網(wǎng)絡(luò),利用RS485串行通信的優(yōu)勢,可以保證穩(wěn)定、快速、遠(yuǎn)距離地傳輸數(shù)據(jù)。設(shè)計(jì)的系統(tǒng)已經(jīng)在某型實(shí)時測控裝置研制中得到成功應(yīng)用,經(jīng)實(shí)驗(yàn)驗(yàn)證,數(shù)據(jù)傳輸正??煽?,達(dá)到設(shè)計(jì)要求。

由于設(shè)計(jì)方法開發(fā)成本低、軟件設(shè)計(jì)簡單、使用維護(hù)方便,其通信設(shè)計(jì)方法還可以稍加修改移植到其他測控系統(tǒng)中,在計(jì)算機(jī)通信和工業(yè)控制等領(lǐng)域?qū)玫皆絹碓蕉嗟膽?yīng)用。

3次

本站聲明: 本文章由作者或相關(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è)核心競爭力 堅(jiān)持高質(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)閉