摘要:SP2538是采用低功耗CMOS工藝生產(chǎn)的專用串行口(RS232)擴展芯片,它可將單片機或DSP等原有的單UART串口擴展至5個全雙工UART口,從而解決了此類器件串口太少的問題。文中介紹了SP2538的性能特點,引腳功能及應(yīng)用方法,并以單片機為例給出了多串口擴展的硬件電路及相應(yīng)的通信程序。
關(guān)鍵詞:RS-232;串口擴展;單片機;SP2538
1 概述
SP2538是專用低功耗串行口擴展芯片,該芯片主要是為解決當(dāng)前基于UART串口通信的外圍智能模塊及器件較多,而單片機或DSP原有的UART串口又過少的問題而推出的。利用該器件可將現(xiàn)有單片機或DSP的單串口擴展至5個全雙工串口。與其它具有多串口的單片機或串口擴展方案相比,采用SP2538實現(xiàn)的多串口擴展方案,具有擴展串口數(shù)量多、對擴展單片機的軟硬件資源占用少、使用方法簡單、待擴展串口可實現(xiàn)較高的波特率、成本低廉、性價比高等優(yōu)點。同時,它還具有如下特點:
●可將單UART串口擴展為5個UART串口;
●工作速率范圍寬,5個子串口可產(chǎn)生2400bps~9600bps之間的任意波特率;
●可全雙工工作,母串口和所有子串口都支持全雙工UART傳輸模式;
●工作電源電壓范圍寬:3.3V~5.5V;
●典型工作電流為4.6mA(子串口速率為9600bps、VCC為3.3V時);
●資源占用少,除占用上位機原有串行口中斷外,不占用任何中斷資源;
●具有節(jié)電模式,進入節(jié)電模式后,其典型靜態(tài)電流約8μA;
●上位機發(fā)送數(shù)據(jù)可自動喚醒;
●輸出誤差小,所有子串口的輸出波特率誤差均小于0.08%;
●誤碼率低于10-9(所有串行口數(shù)據(jù)輸入波特率誤差小于等于±2%);
●接收范圍寬,波特率誤差小于2.5%時,子串口即可完全正確接收;母串口的接收范圍更寬,并可自適應(yīng)56000bps和57600bps兩種標(biāo)準(zhǔn)波特率(fosc—in 為20.0MHz時);
● 可用上位機進行監(jiān)控,并具有上電復(fù)位和看門狗監(jiān)控輸出,適用于沒有看門狗或需要更多重監(jiān)控的高可靠上位機程序監(jiān)控系統(tǒng)。
2 引腳功能
SP2538具有雙列直插DIP及雙列貼片SOIC兩種封裝形式。后綴為SP2538xxH的復(fù)位時輸出高電平而后綴為SP2538xxL的復(fù)位時輸出低電平,可分別適用高、低電平復(fù)位的單片機。圖1給出了DIP封裝高電平復(fù)位SP2538DPH的外形及引腳排列圖,各引腳的功能說明列于表1。
表1 SP2538引腳說明
| 引腳名稱 | 引腳編號 | 引腳類型 | 引 腳 描 述 |
| TX5~TX0 | 1、3、5、7、9、14 | Output | 串口5~串口0數(shù)據(jù)發(fā)送(連接上位機RX口) |
| RX5~RX0 | 2、4、6、8、10、13 | Input | 串口5~串口0數(shù)據(jù)接收(連接上位機TX口) |
| VCC1 | 11 | - - - | 電源1(邏輯電路電源) |
| +RST | 12 | Output | 復(fù)位控制輸出(適用于高電平復(fù)位的MCU) |
| VCC2 | 15 | - - - | 電源2(時鐘電路電源) |
| GND | 16 | - - - | 電源地 |
| OSCI | 17 | Input | 時鐘輸入(用于波特率發(fā)生器等) |
| OSCO | 18 | Output | 時鐘輸出 |
| ADRI0~ADRI2 | 19~21 | Input | 母串口(RX5)數(shù)據(jù)接收地址0~2 |
| ADRO0~ADRO2 | 22~24 | Output | 母串口(RX5)數(shù)據(jù)發(fā)送地址0~2 |
3 應(yīng)用說明
3.1 母串口收發(fā)數(shù)據(jù)過程與時序
(1)上位機接收來自母串口的數(shù)據(jù)
上位機從母串口接收到一個字節(jié)數(shù)據(jù)后,會立即讀。樱校玻担常傅妮敵龅刂罚粒模遥希病粒模遥希埃ň幋a方式為:8-4-2-1碼),然后根據(jù)輸出地址的編碼即可判斷接收到的數(shù)據(jù)來自哪個子串口,上位機接收來自母串口的數(shù)據(jù)時序如圖2所示。
(2)上位機向母串口發(fā)送數(shù)據(jù)
發(fā)送數(shù)據(jù)時,上位機首先通過串口寫入欲發(fā)送數(shù)據(jù)的子串口號,即先由上位機的串口發(fā)送數(shù)據(jù)地址ADRI2~ADRI0(編碼方式:8-4-2-1碼),然后將欲發(fā)送的數(shù)據(jù)由上位機串口發(fā)出。需要注意的是:母串口的波特率是子串口的6倍,即上位機在連續(xù)向母串口發(fā)送6個字節(jié)的時間內(nèi),子串口才能發(fā)送完一個字節(jié)。上位機向母串口發(fā)送數(shù)據(jù)的時序如圖3所示。表2列出了SP2538的操作時限要求。
表2 SP2538操作時限





