新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 充分利用串行口數據傳輸優勢實現單片機通信設計

        充分利用串行口數據傳輸優勢實現單片機通信設計

        作者: 時間:2014-01-16 來源:網絡 收藏

        1.引言

        本文引用地址:http://www.104case.com/article/226927.htm

        MCS51單片機標準構成只有一組全雙工UART串行口,P3.0-RXD收、P3.1-TXD發,如果要完成多路串口收發,一般使用外部擴展芯片,例如:GM8123/25,完成一擴多路串口,但是,由于增加擴展芯片,造成硬件成本增加,PCB板面增大,抗干擾性下降等不良因素,因此能盡量使用現有串口,利用分時切換技術,完成串行口不同類型,不同端口的數據傳送是優先選擇。

        2.硬件功能簡述

        本設計用于數據采集監控系統如圖1所示。采用485串行口完成數據采集,和232串口輸出打印功能,這樣使得接口連線簡單,可靠性高。

        充分利用串行口數據傳輸優勢實現單片機通信設計

        RS-485工作特征:發送端:邏輯“1″兩線間的電壓差為+2至6V表示;邏輯”0″以兩線間的電壓差為-2至6V表示。接收端:A比B高200mV以上即認為是邏輯“1″,A比B低200mV以上即認為是邏輯”0″。RS485總線因其硬件設計和通信協議簡單、控制方便、成本低廉、傳輸距離遠以及可掛接多個從設備等優點,便于對分布式的各個現場測控設備實現集中控制,485現場總線技術得到了廣泛的應用。本設計采用MAX485E芯片,它是一款用于RS485和RS422通信的低功耗總線收發器,具有±15kV靜電放電沖擊保護和限擺率驅動特性,減小了電磁干擾和終端電纜反射,允許高達250kbps速率的無差錯數據傳輸。該芯片只需用5V的單電源電壓供電即可正常工作,而且在一條總線上最多可以連接32個負載。利用該芯片可以極大地簡化單片機和RS485總線的接口電路設計。

        RS232接口是使用異步UART串行接口,其高低電平信號為-12V~+12V,因此抗干擾性優于TTL電平,傳送距離可達10多米,單片機與打印機數據交換就使用此種通信設計,它具有用線少,接口簡單可靠等優點。單片機TTL-RS232電平轉換接口電路采用Maxim公司生產的MAX232電平轉換芯片設計。MAX232芯片只需用5V的單電源供電,外加4個電容,就可實現單片機TTL電平和RS232電平之間的轉換,并直接驅動RS232總線進行數據傳輸,使用十分方便,其最高傳輸速率可達20kbps。RS232/RS485在串口傳送中各有優缺點,在此做一簡單比較:

        (1)從接線上,RS232是三線制(收、發、地),RS485是兩線制(A、B);(2)從傳輸距離上,RS232只能傳輸15米左右,RS485最遠可以傳輸1200米;(3)從速率上,RS232是全雙工傳輸,RS485是半雙工傳輸;(4)從協議層上,RS232只支持點對點通訊(1:1),RS485支持總線形式通訊(1:N)。在本設計中RS232被用于距離不遠的打印機點對點串口輸出;而數據采集則需要在多個端點設備上,且距離較遠的地方收集,于是采用了RS485總線技術來實現。單片機一組串口要完成兩組不同電平傳送,關鍵是需要分時切換串口模式,本設計采用模擬開關CD4053芯片,通過P1.5控制完成了485、232串口分離,利用完成軟件分時輸入、輸出處理功能。該電路實現簡單,硬件資源利用率高。

        本設計打印機RS232通訊協議方式采用ASCII方式。默認數據格式為:1位起始位,8位數據位,1位停止位,無奇偶校驗,波特率為2400bps.RS485采用半雙工模式,由P1.3控制收/發功能,其串口分配電路如圖2所示。

        充分利用串行口數據傳輸優勢實現單片機通信設計

        3.軟件功能簡介

        本系統根據不同功能,由幾十個子程序模塊組成,現將相關串口分配實現數據收發的程序進行簡要分析(匯編語言描述)。

        4.結論

        本設計通過模擬開關CD4053將一路單片機串行口收發信號,分時轉換成兩路串行口,然后使用不同的接口芯片,實現了RS232和485總線同在一個系統下分時完成了通信工作。該設計優點:充分利用了傳輸線少的優勢,接口簡單,并節省了不必要的硬件開銷,增加了信息傳送的可靠性。

        通信相關文章:通信原理




        關鍵詞: 串行口數據

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 镇巴县| 绵阳市| 诏安县| 资源县| 淮阳县| 历史| 光山县| 孝义市| 宁安市| 年辖:市辖区| 普安县| 满洲里市| 张掖市| 元朗区| 藁城市| 阿瓦提县| 棋牌| 吐鲁番市| 昌都县| 兰坪| 安龙县| 云梦县| 句容市| 图片| 固原市| 九龙坡区| 金秀| 樟树市| 集贤县| 香港| 长泰县| 九龙城区| 梧州市| 高尔夫| 宁都县| 新宁县| 当雄县| 横山县| 通榆县| 张家口市| 永春县|