日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]1概述近年來,具有完整的測量或控制功能的智能模塊不斷涌現(xiàn),而此類模塊均需通過RS-232S或RS-485串行口與上位單片機或微機進行通信,以構成分級分布式測控系統(tǒng),而現(xiàn)階段的大部分單片機僅有一個UART串口,很難滿足既

1概述

近年來,具有完整的測量或控制功能的智能模塊不斷涌現(xiàn),而此類模塊均需通過RS-232S或RS-485串行口與上位單片機或微機進行通信,以構成分級分布式測控系統(tǒng),而現(xiàn)階段的大部分單片機僅有一個UART串口,很難滿足既與智能模塊通信又與上位微機進行通信的要求??v觀現(xiàn)有的串口擴展方案,存在對單片機的軟硬件資源占用較多、編程繁復、串口擴展數量較少、硬件電路復雜及成本較高等缺點,而利用UART多串口擴展器SP2337可以很好地解決單片機多串口的擴展問題。

2SP2337的主要特性及引腳功能

SP2337是采用低功耗CMOS工藝設計的UART多串口擴展器,該器件可將一個高波特率的UART串口擴展為三個較高波特率的UART串口,從而為系統(tǒng)需要多個串口時提供很好的解決方案,該器件的主要特性是:
 
       可將一個UART串口擴展為三個UART串口;
  全雙工異步工作,四個UART串口都為全雙工異步工作模式;
  工作速率高,可達1200b/s~9600b/s(可由晶振頻率設定任意非標準波特率);
  波特率設置簡單,只需更改輸入時鐘頻率;
  波特率誤差小,每個串口的數據輸出波特率誤差小于0.25%;
  接收波特率范圍寬,要求每個串口數據波特率小于2.5%;
  數據傳輸誤碼率極低,小于10-9(接收的數據波特率誤差小于2%);
  具有節(jié)電模式,進入節(jié)電模式后,典型靜態(tài)電流為0.5μA;
       可自動喚醒,任意串口的接收端有數據出現(xiàn)時自動喚醒;
  寬工作電源電壓(2.4V~5.5V);
  低工作電流,典型工作電流為4.4mA。

該器件具有DIP型、SOIC型和SSOP型多種封裝形式。引腳排列如圖1所示。引腳功能見表1。

3應用技術

在使用SP2337時應遵循許多原則。

SP2337適用于串行數據為7位的應用領域。

串口0—串口2為三個較高波特率的串口(子串口)。

串口3為高波特率串口(母串口),它的數據傳輸速率是子串口的4倍。如當輸入時鐘頻率fos,cin為10MHz,串口3的波特率為19200b/s。串口0—2的波特率為19200b/s/4=4800b/s;如果需要在串口0—串口2上獲得波特率K,則需按以下公式改變時鐘頻率。

ADRI1、ADRI0為下行地址線,ADRI1ADRI0=00、01、10時,分別對應子串口0,1,2,ADR1ADR0=11時為串口3的地址,同時,它也是SP2337的命令/數據口地址。

ADRO1、ADRO0為上行數據的串口地址線,ADRO1ADRO0=00、01、10時分別對應子串口0、1、2,當上位機的UART接收到由串口3發(fā)送的數據時,立即讀取地址線ADRO1和ADRO0的狀態(tài),根據ADRO1和ADRO0的狀態(tài)判斷數據由哪個串口發(fā)送。

喚醒條件為向串口0—串口3的任意一個數據接收端口寫入一個字節(jié)數據。由于SP2337的喚醒時間為25ms左右,故用于芯片喚醒的數據將不能夠被正確接收,因此,應采用下面的芯片喚醒流程:先發(fā)送一個字節(jié)數據,用于喚醒芯片,延時25ms后再發(fā)送有效的數據。

為了快速可靠地傳輸批量數據,可以采用下面的方法實現(xiàn)數據快速可靠接收、發(fā)送。

如上位機只需要向一個串口發(fā)送數據,則可向該串口發(fā)送完一個字節(jié)數據,再向地址11(串口3的地址)連續(xù)發(fā)送四個字節(jié)“0X00”,其后再向需要發(fā)送數據的串口發(fā)送一個字節(jié)數據。再向串口3發(fā)送四個字節(jié)“0X00”,按此方式循環(huán)發(fā)送即可。

如果上位機需向兩個串口分別發(fā)送兩個數據塊,則可分別向兩個相應的子串口發(fā)送一個字節(jié)的數據后再向串口3發(fā)送四個字節(jié)的“0X00”,再分別將兩個數據塊的下一個字節(jié)發(fā)送到兩個子串口。

如果上位機有三個數據塊需要分別向三個子串口發(fā)送,則可先向三個子串口分別發(fā)送一個字節(jié)的有效數據,再向串口3發(fā)送兩個字節(jié)的“0X00”,再循環(huán)向3個子串口發(fā)送有效的數據。

注意寫入串口3用于延時的數據只能是“0X00”,如果寫入其他數據,將產生不可預料的結果。

SP2337數據發(fā)送過程如下:如果上位機需要將數據“0X28”由串口2發(fā)送出去,則需先將ADRI1置為“1”,ADRI0置為“0”,再將數據“0X28”通過上位機的UART口發(fā)送到串口3。

SP2337可執(zhí)行的命令僅有兩條即復位和睡眠命令。當上位機通過串口3(地址為“11”)寫入數據“0X35”或“0XB5”時,則芯片執(zhí)行軟件復位,復位時間約為21.75ms,當寫入的數據為“0X55”或“0XD5”時,則芯片進入睡眠狀態(tài)。

4具體應用

利用SP2337可將僅具有一個UART串口的單片機擴展為具有3個UART串口的單片機。下面以常用的AT89C51單片機為例給出相應的串口擴展電路,如圖2所示。

圖2中,AT89C51的UART口與SP2337的串口3相連。串口3同時也作為命令/數據口。ADRI1和ADRI0與AT89C51的P2.3、P2.2口線相連,用于發(fā)送數據時相應串口0—2的選擇,ADRO1和ADRO0與AT89C51的P2.1、P2.0口線相連,用于判別接收的數據來自串口0—2的哪一個。SP2337的時鐘頻率選為20MHz,此時,串口3的波特率為19200b/s,串口0—2的波特率為9600b/s。下面給出與上述電路配套的通信程序。程序采用C51編制。

#include <regh1.h>




5結束語

SP2337多串口擴展器可廣泛應用在工業(yè)控制、數據采集、儀器儀表、智能家電、計算機RS232口擴展、有線及無線數據傳輸等領域,由該器件構成的多串口電路具有硬件成本低、性價比高、工作速度高、波特率設置簡單等特點,是多串口應用系統(tǒng)的良好解決方案。
 

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關閉