亚洲天堂视频网站-亚洲天堂视频在线-亚洲天堂视频在线播放-亚洲天堂视频在线观看-久久久久无码国产精品一区-久久久久性

您好!歡迎光臨烜芯微科技品牌官網!

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

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

全國服務熱線:18923864027

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

    相關閱讀
    主站蜘蛛池模板: 日韩亚洲人成在线综合日本| 精品一区二区三区免费毛片爱| 2017天天操| 国产稀缺精品盗摄盗拍| 最好看的最新中文字幕2018免费视频 | 午夜观看| 日本三级高清| 亚洲欧美日本视频| 天天爱天天做久久天天狠狼| 青草视频网站在线观看| 亚洲免费网站| 日韩欧美伦理| 久久精品国产6699国产精| 一级一级女人18毛片| 哥也操| 丁香九月婷婷| 色综合国产| 一区二区三区网站| 五月婷婷丁香六月| 亚洲乱强| 午夜手机福利视频| 欧美日韩无| 种子天堂bt| 99久久久精品免费观看国产| freesexvideo性欧美tv| 日日噜噜噜夜夜爽爽狠狠图片| 亚洲一区二区三区四区在线观看| 午夜资源在线| 久久偷窥视频| 性生活黄色毛片| 欧美性xxxx巨大黑人猛| 午夜免费片| 久久综合九色综合97婷婷群聊| 一级做a爱片久久毛片| 性欧美xxxx性| 五月天亚洲婷婷| 激情福利网站| 特级黄色毛片| 美女用手扒开尿口给男生桶爽| 五月婷婷丁香综合网| 欧美交片|