亚洲国产精品一区二区动图,亚洲aⅴ无码国精品中文字慕,亚洲精品久久久久久中文字幕,春药玩弄少妇高潮吼叫,60岁欧美乱子伦xxxx,国产午夜精品理论片久久影院,亚洲精品伦理熟女国产一区二区,日本无卡码高清免费v

您好!歡迎光臨烜芯微科技品牌官網(wǎng)!

深圳市烜芯微科技有限公司

ShenZhen XuanXinWei Technoligy Co.,Ltd
二極管、三極管、MOS管、橋堆

全國(guó)服務(wù)熱線:18923864027

基于C8051F020單片機(jī)的RS485串行通信設(shè)計(jì)解析
  • 發(fā)布時(shí)間:2024-09-30 20:10:57
  • 來(lái)源:
  • 閱讀次數(shù):
基于C8051F020單片機(jī)的RS485串行通信設(shè)計(jì)解析
在計(jì)算機(jī)網(wǎng)絡(luò)和工業(yè)控制系統(tǒng)中,經(jīng)常需要采用串行通信來(lái)實(shí)現(xiàn)遠(yuǎn)程數(shù)據(jù)傳輸。目前,有多種接口標(biāo)準(zhǔn)可用于串行通信,包括RS232、RS422、RS485等。目前RS485通信采用差分方式來(lái)消除噪聲,即信號(hào)在發(fā)送前會(huì)分解為正負(fù)2條線路,當(dāng)?shù)竭_(dá)接收端時(shí)將信號(hào)相減,使噪聲相互抵消,還原成原來(lái)的信號(hào),這種方式對(duì)共模干擾抑制能力較強(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)是硬件裝置安裝簡(jiǎn)便,軟件編程相對(duì)簡(jiǎn)單;缺點(diǎn)是通信速率被限制在20 kb/s以內(nèi)。第二種方法的優(yōu)點(diǎn)是通信距離較遠(yuǎn),速率較高,可達(dá)10 Mb/s;缺點(diǎn)是需要安裝通訊卡和驅(qū)動(dòng)程序,并進(jìn)行必要的設(shè)置。本文介紹第二種方法。
1.總體架構(gòu)
在某型電子設(shè)備研制中,選用一種soc型8位單片機(jī)C8051F020,對(duì)測(cè)控系統(tǒng)進(jìn)行數(shù)據(jù)采集。該單片機(jī)是C8051F系列的F02X子系列,其性價(jià)比在工業(yè)控制領(lǐng)域具有較強(qiáng)的競(jìng)爭(zhēng)力。它是完全集成的混合信號(hào)系統(tǒng)級(jí)芯片,具有與8051指令集完全兼容的CIP一51內(nèi)核,對(duì)于熟悉51單片機(jī)的技術(shù)人員來(lái)說(shuō),在硬件設(shè)計(jì)及軟件編程上大大提高了開(kāi)發(fā)效率。
測(cè)控計(jì)算機(jī)采用研華的IPC-610工控機(jī),并選用PCL一846B通信卡進(jìn)行RS485串行數(shù)據(jù)通信,該通信卡包含4通道,每個(gè)通道可以對(duì)32個(gè)節(jié)點(diǎn)進(jìn)行通信。
為了實(shí)現(xiàn)單片機(jī)與工控機(jī)之間的RS485串行通信,必須對(duì)單片機(jī)的UART輸出電平進(jìn)行轉(zhuǎn)換,以滿足RS485串行通信需求。選用MAX485接口芯片,它是Maxim公司的一種RS485接口芯片,該芯片的結(jié)構(gòu)和引腳都比較簡(jiǎn)單。
該設(shè)計(jì)理論上可以實(shí)現(xiàn)1臺(tái)工控機(jī)(安裝1塊RS485通信卡)對(duì)128臺(tái)單片機(jī)進(jìn)行Rs485串行通信,其總體設(shè)計(jì)框圖如圖1所示。
C8051F020單片機(jī) RS485串行通信
圖1 總體結(jié)構(gòu)
2.系統(tǒng)硬件設(shè)計(jì)
2.1硬件簡(jiǎn)介
(1)C8051F020單片機(jī)
C8051F020內(nèi)部有2個(gè)增強(qiáng)型全雙工UART、SPI總線和SMBus/IC,這些串行總線都用硬件實(shí)現(xiàn),都能夠向CIP-51內(nèi)核產(chǎn)生中斷,只需要很少的CPU干預(yù);這些串行總線不“共享”定時(shí)器、中斷或I/O端口等資源,因此可以使用任何一個(gè)或者全部同時(shí)使用。
C8051F020單片機(jī) RS485串行通信
C8051F020
(2)MAX485芯片
MAX485芯片采用+5V電源工作,其額定電流為300μA,它能將UART輸出電平轉(zhuǎn)換為RS485電平。該芯片有8個(gè)引腳,其內(nèi)部含有1個(gè)接收器和1個(gè)驅(qū)動(dòng)器,R0為接收器的輸出端,接單片機(jī)的TXD引腳;DI為驅(qū)動(dòng)器的輸入端,接單片機(jī)的RXD引腳。/RE是接收使能端,當(dāng)/RE=0時(shí),MAX485芯片處于接收狀態(tài);DE是發(fā)送使能端,當(dāng)DE=1時(shí),MAX485芯片處于發(fā)送狀態(tài)。
C8051F020單片機(jī) RS485串行通信
MAX485芯片
MAX485芯片的A端與B端分別為接收與發(fā)送的差分信號(hào)端。當(dāng)VA小于VB時(shí),表示發(fā)送信號(hào)為"0";當(dāng)VA大于VB時(shí),表示發(fā)送信號(hào)為"1"。MAX485芯片工作時(shí),A、B兩端之間應(yīng)當(dāng)加上匹配電阻尺,一般選用120 Ω;當(dāng)通信距離較遠(yuǎn)時(shí),可以選用300 Ω。
(3)RS485通信卡
Rs485通信卡具有較強(qiáng)的抗干擾能力、較高的通信速率以及較低的價(jià)格,在工業(yè)控制等領(lǐng)域具有較強(qiáng)的競(jìng)爭(zhēng)力和實(shí)用性。選用PCL-846B通信卡,該卡支持RS422和RS485 2種串行通信接口標(biāo)準(zhǔn),需要通過(guò)跳線進(jìn)行設(shè)置。另外,在該通信卡的4個(gè)通道上均預(yù)留有焊接終端匹配電阻的焊孔。
2.2電路設(shè)計(jì)
采用UART串行總線進(jìn)行通信,因?yàn)閁ART是一種廣泛應(yīng)用于遠(yuǎn)距離、低速率、低成本通信的串行傳輸接口,由于其具有數(shù)據(jù)線少的特點(diǎn),在數(shù)字系統(tǒng)設(shè)計(jì)中得到了大量應(yīng)用。基本的UART通信只需要兩根數(shù)據(jù)線(RXD、TXD)即可完成數(shù)據(jù)的相互通信,接收和發(fā)送都是全雙工形式,其中RXD是接收端,TXD是發(fā)送端。
C8051F020單片機(jī)有2個(gè)UART(UART0和UARTl),以UART0為例,它的TxD和RXD分別與數(shù)字I/0引腳PO.O和PO.1復(fù)用,通過(guò)交叉開(kāi)關(guān)配置寄存器進(jìn)行選擇。由于MAX485工作在半雙工狀態(tài),它與單片機(jī)連接時(shí)的接線比較簡(jiǎn)單,只需要用單片機(jī)某一個(gè)引腳(如PO.2)來(lái)控制RE和DE這2個(gè)引腳。PCL-846B通信卡有4個(gè)通道,選擇通道1與單片機(jī)進(jìn)行通信,另外將通道2和通道4進(jìn)行連接,以自發(fā)自收的方式實(shí)現(xiàn)通信卡的自檢。單片機(jī)與外部電路的連接關(guān)系如圖2所示。
C8051F020單片機(jī) RS485串行通信
圖2 硬件電路原理
在使用RS485通信卡進(jìn)行通信時(shí),當(dāng)信號(hào)傳遞到通信線路兩端時(shí),如果阻抗不匹配,可能會(huì)產(chǎn)生信號(hào)反射問(wèn)題。信號(hào)反射會(huì)造成信號(hào)的失真和變形,從而導(dǎo)致通信錯(cuò)誤。其解決方法就是在通信線路的兩端各連接一個(gè)終端匹配電阻,保證阻抗匹配。當(dāng)通信距離較短,一般在小于300m時(shí),可不使用終端電阻。當(dāng)通信距離大于300m時(shí),應(yīng)當(dāng)使用終端電阻,其阻值必須與通信線路的線性阻抗相同。電阻值一般選取120Ω左右,當(dāng)通信距離較長(zhǎng)時(shí),可以選用300Ω。
3.軟件設(shè)計(jì)
3.1通信方式
C8051F020單片機(jī)的UARTo提供4種工作方式(1種同步方式和3種異步方式),以方式1為例:方式1提供標(biāo)準(zhǔn)的異步、全雙工通信,每個(gè)數(shù)據(jù)字節(jié)共包含10位:1個(gè)起始位、8個(gè)數(shù)據(jù)位和1個(gè)停止位。數(shù)據(jù)從TX引腳發(fā)送,在RX引腳接收。2在多機(jī)通信中,通常選擇方式2和方式3,通過(guò)使用第9數(shù)據(jù)位和內(nèi)置UARTo地址識(shí)別硬件支持一個(gè)主處理器與多個(gè)從處理器之問(wèn)的多機(jī)通信。
為了簡(jiǎn)化UART0的使用和軟件編程,選擇方式1進(jìn)行多機(jī)通信,通過(guò)編寫串口中斷程序?qū)νㄐ烹p方進(jìn)行約定。具體做法是:
1)約定發(fā)送數(shù)據(jù)的格式,本文約定以“#……*”作為合法的數(shù)據(jù)格式,即以“#”開(kāi)始和“*”結(jié)束作為判斷數(shù)據(jù)有效性的依據(jù)。
2)在“#”和“*”之間的數(shù)據(jù)是需要的,本文約定以第2個(gè)字符(當(dāng)設(shè)備較多時(shí),可以2個(gè)字符)作為接收設(shè)備的識(shí)別碼,由接收設(shè)備(單片機(jī)或上位機(jī))對(duì)該字符進(jìn)行判斷,確定是否需要接收該數(shù)據(jù)。
3)當(dāng)接收設(shè)備需要知道發(fā)送數(shù)據(jù)的時(shí),也可以約定發(fā)送設(shè)備的識(shí)別碼(由于每臺(tái)設(shè)備既可以是發(fā)送設(shè)備也可以是接收設(shè)備,因此可以約定一個(gè)固定的識(shí)別碼),在發(fā)送數(shù)據(jù)中插入該識(shí)別碼(插入位置必須事先約定),即可獲知數(shù)據(jù)的設(shè)備。
3.2串口波特率
C8051F020單片機(jī)有5個(gè)16位通用計(jì)數(shù)器/定時(shí)器(T0~T4)和一個(gè)片內(nèi)可編程計(jì)數(shù)器/定時(shí)器陣列(PCA)。方式1的波特率是定時(shí)器溢出時(shí)間的函數(shù),UART0可以使用定時(shí)器1工作在8位自動(dòng)重裝載方式或者定時(shí)器2工作在波特率發(fā)生器方式產(chǎn)生波特率。以定時(shí)器2為例,其波特率的計(jì)算公式是:
C8051F020單片機(jī) RS485串行通信
式1
式中:SySCLK是單片機(jī)的系統(tǒng)時(shí)鐘,RCAP2H和RCAP2L分別為定時(shí)器2的重裝載寄存器的高8位和低8位。
波特率根據(jù)數(shù)據(jù)傳輸速率的實(shí)際需要確定,波特率確定后即可計(jì)算出定時(shí)器2的重裝載寄存器的初始值T2
C8051F020單片機(jī) RS485串行通信
式2
采用22.1184 MHz晶體振蕩器作為系統(tǒng)時(shí)鐘,波特率為9600 b/s,計(jì)算得到T2=FFB8H(十六進(jìn)制)。
3.3軟件流程
C8051F020單片機(jī)內(nèi)部具有JTAG和調(diào)試電路,可以通過(guò)JTAG接口對(duì)MCU進(jìn)行非侵入式、全速、在系統(tǒng)調(diào)試。根據(jù)系統(tǒng)功能需求,對(duì)軟件進(jìn)行模塊化設(shè)計(jì),并利用Silicon Labs IDE集成開(kāi)發(fā)環(huán)境對(duì)單片機(jī)進(jìn)行編程與調(diào)試。利用C8051F020單片機(jī)的中斷系統(tǒng),直接采用C語(yǔ)言對(duì)UART中斷服務(wù)程序進(jìn)行編寫。
單片機(jī)的串口通信程序可由數(shù)據(jù)發(fā)送和接收2個(gè)模塊構(gòu)成。數(shù)據(jù)發(fā)送模塊首先需要設(shè)置UART為發(fā)送狀態(tài),清除發(fā)送標(biāo)志后向sBF中寫入數(shù)據(jù),開(kāi)始逐個(gè)發(fā)送字符,數(shù)據(jù)發(fā)送完成后,恢復(fù)UART為接收狀態(tài)。數(shù)據(jù)接收模塊清除接收標(biāo)志后讀SBF中的數(shù)據(jù),開(kāi)始接收字符,首先判斷接收數(shù)據(jù)是否有效,然后分析處理數(shù)據(jù),接收完數(shù)據(jù)后,退出接收程序。UART串口發(fā)送和接收模塊的程序流程如圖3所示。
C8051F020單片機(jī) RS485串行通信
圖3 串口通信程序流程
4.實(shí)驗(yàn)分析
設(shè)計(jì)的系統(tǒng)已經(jīng)應(yīng)用于某型實(shí)時(shí)測(cè)控裝置研制中,該測(cè)控裝置含有2個(gè)單片機(jī),其主控上位機(jī)安裝有l(wèi)塊RS485通信卡。具體驗(yàn)證過(guò)程是:將1個(gè)測(cè)控裝置與1臺(tái)上位機(jī)距離50 m進(jìn)行串行通信,通信正常可靠。將2個(gè)測(cè)控裝置與2臺(tái)上位機(jī)(均安裝有RS485通信卡)分別相距50 m,通信線路采用并聯(lián),4個(gè)通信節(jié)點(diǎn)之間RS485通信正常可靠。依次類推,在多個(gè)測(cè)控裝置與多臺(tái)上位機(jī)進(jìn)行遠(yuǎn)距離通信時(shí),RS485通信均正常可靠。
在上位機(jī)上通過(guò)串口調(diào)試助手可以簡(jiǎn)便地對(duì)串口進(jìn)行調(diào)試。該調(diào)試工具可以實(shí)時(shí)發(fā)送和接收串行數(shù)據(jù),數(shù)據(jù)格式和傳輸速率可調(diào),可以動(dòng)態(tài)觀察各通信節(jié)點(diǎn)的數(shù)據(jù)收發(fā)情況。串口調(diào)試界面如圖4所示。
C8051F020單片機(jī) RS485串行通信
圖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)。
結(jié)束語(yǔ)
以上就是基于C8051F020單片機(jī)的RS485串行通信設(shè)計(jì)介紹了。通過(guò)在單片機(jī)與工控機(jī)之間建立RS485串行通信網(wǎng)絡(luò),利用RS485串行通信的優(yōu)勢(shì),可以保證穩(wěn)定、快速、遠(yuǎn)距離地傳輸數(shù)據(jù)。設(shè)計(jì)的系統(tǒng)已經(jīng)在某型實(shí)時(shí)測(cè)控裝置研制中得到成功應(yīng)用,經(jīng)實(shí)驗(yàn)驗(yàn)證,數(shù)據(jù)傳輸正常可靠,達(dá)到設(shè)計(jì)要求。
〈烜芯微/XXW〉專業(yè)制造二極管,三極管,MOS管,橋堆等,20年,工廠直銷省20%,上萬(wàn)家電路電器生產(chǎn)企業(yè)選用,專業(yè)的工程師幫您穩(wěn)定好每一批產(chǎn)品,如果您有遇到什么需要幫助解決的,可以直接聯(lián)系下方的聯(lián)系號(hào)碼或加QQ/微信,由我們的銷售經(jīng)理給您精準(zhǔn)的報(bào)價(jià)以及產(chǎn)品介紹
 
聯(lián)系號(hào)碼:18923864027(同微信)
 
QQ:709211280

相關(guān)閱讀
主站蜘蛛池模板: 一日本道伊人久久综合影 国产午夜成人无码免费看不卡 色五月丁香六月欧美综合 亚洲日韩国产二区无码 久久―日本道色综合久久 国产在线无码视频一区二区三区 欧美另类图区清纯亚洲 亚洲中文字幕一二三四区苍井空 97无码免费人妻超级碰碰碰碰 久久成人免费观看草草影院 在线岛国片免费观看无码 国产美女做爰免费视频 亚洲精品一卡2卡3卡4卡乱码 在线观看国产成人av片 欧洲免费一区二区三区视频 天天澡天天添天天摸97影院 亚洲香蕉免费有线视频 亚洲成aⅴ人最新无码 欧美xxxx做受欧美人妖 手机看片精品国产福利 av天堂午夜精品一区二区三区 成人性无码专区免费视频 久久成人免费观看草草影院 人妻综合专区第一页 日韩人妻熟女中文字幕aⅴ春菜 国产欧美另类久久久精品丝瓜 国产美女裸身网站免费观看视频 曰韩免费无码av一区二区 欧美激欧美啪啪片sm 动漫成人无码精品一区二区三区 久久精品国产99国产精2021| 久久久久夜夜夜综合国产| 色无码av在线播放| 人人妻人人澡人人爽国产| 无码少妇一区二区三区免费| 国产va免费精品高清在线观看| 九九精品99久久久香蕉| 韩国精品久久久久久无码| 九九精品99久久久香蕉| 偷窥国产亚洲免费视频| 国产成人精品一区二区3|