当前位置:首页 > 通信技术 > 通信技术
[导读]SP2338DP是一种新颖的串口扩展器,可将一个高波特率的UART扩展为3个,解决了普通单片机UART串口太少的问题。

  摘要:SP2338DP是一种新颖的串口扩展器,可将一个高波特率的UART扩展为3个,解决了普通单片机UART串口太少的问题。文中给出该器件的主要特性、引脚说明及应用说明,并以AT89C52单片机为例给出多串口扩展应用电路及相应软件。

    关键词:UART 串口扩展 单片机

1 概述

当前,以单片机为核心构成的智能化测控系统及电子产品不断涌现,为了满足数字化及智能化要求,许多外围电路功能模块、部件、器件及传感器也具备了UART串口通信功能。而现阶段的8位、16位、32位单片机却大部分仅提供一个UART串口,这样就很难满足系统中一方面要与具有UART功能的串口部件通信,另一方面又要与上位机通信的要求。利用SP2338DP多串口扩展器,可很好地解决此问题。

2 工作特性

SP2338DP是采用低功耗CMOS工艺设计的UART多串口扩展芯片。该器件可将一个高波特率的UART串口扩展为3个较高波特率的UART串口,从而为系统需要多个串口时提供了很好的解决方案。该器件的主要特性如下:

*可将1个UART串口扩展为3个UART串口。

*全双工异步工作:4个UART串口都为全双工异步工作模式。

*高工作速度:1200~9600b/s(可由晶振频率设定任意非标准波特率)。

*波特率设置简单:不需软件设置,只需更改输入时钟频率即可。

*波特率误差小:每个串口的数据输出波特率误差小于0.25%。

*接收波特率范围宽:要求每个串口数据波特率小于2.5%即可。

*数据传输误码率极低:小于10 -9(接收的数据波特率误差小于2%时)。

*具有节电模式:进入节电模式后典型静态电流为0.5μA

*可自动唤醒:任意串口的接收端有数据出现时自动唤醒。

*宽工作电源电压:2.4~5.5V。

*低工作电流:典型工作电流为4.4mA。

3 封装及引脚说明

该器件具有DIP、SOIC和SSOP多种封装形式。下面以DIP封装形式为例,给出元件的封装及引脚排列,如图1所示。引脚功能及说明见表1。

表1 SP2338 DIP引脚功能

名  称 编  号 类  型

描    述

ADRI0 18 I 串口3接收数据地址线0
ADRI1 17 I 串口3接收数据地址线1
ADRO0 1 O 串口3发送数据地址线0
ADRO1 2 O 串口3发送数据地址线1
RX0 8 I 串口0数据接收
TX0 9 O 串口0数据发送
RX1 11 I 串口1数据接收
TX1 10 O 串口1数据发送
RX2 13 I 串口2数据接收
TX2 12 O 串口2数据发送
RX3 6 I 串口3数据接收
TX3 7 O 串口3数据发送
OSCI 16 I 时钟输入
OSCO 15 O 时钟输出
VCC 3,4,14 - 正电源
GND 5 -

4 应用说明

SP2338DP在使用时应遵循以下原则:

①SP2338DP适用于串行数据为8位的应用领域(如数据位7为位,可选用SP2337DP器件);

②串口0~2为较高波特率的串口(子串口)。

③串口3为高波特率串口(母串口),它的数据传输速率是子串口的4倍。如输入时钟频率foscin为10MHz,则串口3的波特率为19 200bps,串口0~2的波特率为19 200bps/4=4800 bps;如果需要在串口0~2上获得波特率K,则需按以下公式改变时钟频率即可。

K=4800×foscin/10(bps)

其中foscin≤20MHz

④ADRI1、ADR10为下行地址线,ADRI1、ADRI0=00、01、10时,分别对应子串口0、1、2、ADR1、ADR0=11时,为串口3的地址;同时,它也是SP2338DP的命令/数据口地址。

⑤ADRO1、ADRO0为上行数据的串口地址线,ADRO1、ADRO0=00、01、10时,分别对应子串口0、1、2。当上位机UART接收到由串口3发送来的数据时,立即读取地址线ADRO1和ADRO0的状态。根据ADRO1和ADRO0的状态即可判断出数据是由哪个串口发送来的。

⑥芯片唤醒条件为:向串口0~串口3的任意一个数据接收端口写入1个字节数据。由于SP2338DP的唤醒时间为25ms左右,故用于芯片唤醒的数据将不能被正确接收,因此应采用下面的芯片唤醒流程;先发送1个字节数据,用于唤醒芯片,延时25ms后再发送有效的数据。

⑦为了快速可靠地传输批量数据,可以采用下面的方法,实现数据快速可靠的接收、发送。

如上位机只需要向一个串口发送数据,则可向该串口发送完1个字节数据后再向地址11(串口3的地址)连续发送4个字节“0X00”。其后向需要发送数据的串口发送1个字节数据,再向串口3发送4个字节“0X00”,按此方式循环发送即可。

如果此位同需向两个串口分别发送两个数据块,则可分别向两个相应的子串口发送1个字节的数据后再向串口3发送4个字节的“0X00”,然后分别将两个数据块的下一个字节发送到两个子串口上。

如果上位机有3个数据块需要分别向3个子串口发送,则可先向3个子串口分别发送1个字节的有效数据后再向串口3发送2个字节的“0X00”,然后循环向3个子串口发送有效的数据。

注意:写入串口3用于延时的数据只能是“0X00”,写入其它数据将产生可预料的结果。

⑧SP233DP数据发送工作过程如下:如果上位机需要将数据“0X28”由串口2发送出去,则需先将ADRI1置为“1”,ADRI0置为“0”,再将数据“0X28”通过上位机的UART口发送到串口3即可。

⑨SP2338DP可执行的命令仅有两种,即复位和睡眠命令。当上位机通过串口3(地址为“11”)写入数据“0X35”或“0XB5”时,则芯片执行软件复位,复位时间约为21.75ms;当写入的数据为“0X55”或“0XD5”时,芯片将进入睡眠状态。

图2 利用SP2338DP扩展的3串口电路

5 典型应用电路

利用SP2338DP可将仅具有一个UART串口的单片机扩展为具有3个UART串口的单片机。下面以常用的AT89C52单片机为例,给出相应的串口扩展电路,如图2所示。

图2中AT89C52的全双工串口与SP2338DP的串口3相连。串口3同时也做为命令/数据口。ADRI1和ADRI0与AT89C52的P3.3、P3.2口线相连,用于发送数据时相应串口0~2的选择。ADRO1和ADRO0与AT89C52的P3.4、P3.5口线相连,用于判断接收的数据来自串口0~2的哪一个。SP2338DP的时钟频率选为20MHz,此时串口3的波特率为19 200bps,串口0~2的波特率为9600bps。网络补充版(http://www.dpj.com.cn)中,给出与上述电路配套的通信程序,程序采用C51编制。

结语

SP2338多串口扩展器可广泛应用于工业控制、数据采集、仪器仪表、智能家电、计算机RS232口扩展、有线及无线数据传输等领域。由该器件构成的多串口电路具有硬件成本低、性价比高、工作速度高、波特率设置简单等特点,因而选择该器件是多串口应用系统的良好解决方案。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

串行通信是一种通信方式,数据在通信线上按位进行传输。每位数据占据固定的时间长度,使用少数几条通信线路就可以完成系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。

关键字: 串行通信 UART

虽然 USB 几乎完全取代那些旧电缆和连接器,但 UART 绝对不会成为过去。您会发现许多 DIY 电子项目都使用 UART。

关键字: UART 串口通信 USB

UART(通用异步收发器),这是用于全双工串行通信的最常见协议。它是设计用于执行异步通信的单个LSI(大规模集成)芯片。该设备将数据从一个系统发送到另一系统。

关键字: 数据通信协议 UART 异步收发器

UART将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对它的相关情况以及信息有所认识和了解,详细内容如下。

关键字: UART 通信协议

苏州2023年2月3日 /美通社/ -- 2023年2月2日,国际独立第三方检测、检验和认证机构德国莱茵TUV大中华区(以下简称"TUV莱茵")为科沃斯家...

关键字: UART 机器人 科沃斯 GO

发个方便测试I2C、SPI、1Wire接口的工具模块 总的思路是通过USB或者UART接口发送一些协议字符串,由模块转换成上面几种接口的硬件时序电信号,实现与这几种接口芯片、设备的快速测试。 首先声明一下,大家都是搞...

关键字: 可编程USB UART I2C SMBusS SPI

当使用导线连接外部设备或芯片时,导线不可过长,一般控制在 20CM 以内,IIC、SPI、UART 等数字接口数据线驱动能力有限,过长的导线会导致通讯波形迟缓。当导线确实无法缩短时,可通过降低通讯速率的方法来解决、缓解通...

关键字: 可编程USB UART I2C SMBusS SPI

芯片选择下拉框内列出的每一个备选芯片的驱动文件和数据手册位于S2STool 工具文件夹中的chips 文件夹内,每一个芯片需要 1 个驱动文件和 1 个数据手册文件,用户可自行打开编辑,或者创建新的芯片驱动文件。

关键字: 可编程USB UART I2C SMBusS SPI

S2STool 是为 S2S 固件开发的测试工具,运行于 Windows 平台,内置串口调试助手和 S2S 参数配置工具,支持动态解析自定义的芯片驱动,用户可自行编写、修改、增加任何芯片的驱动程序, 方便对芯片进行测试和...

关键字: 可编程USB UART I2C SMBusS SPI

DS1302 是实时时钟芯片,SPI 接口,可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。DS1302 内部有一个 31×8 的用于临时性存放数据的 RAM 寄存器。

关键字: 可编程USB UART I2C SMBusS SPI
关闭
关闭