SP2328串口扩展专用芯片及其与单片机的接口电路

发布者:Qingfang最新更新时间:2006-06-22 来源: 中华电子网关键字:单片机  多串口通 手机看文章 扫描二维码
随时随地手机看文章

摘   要:   本文介绍一种新型的单片机串口扩展芯片的功能特性以及与单片机接口的应用。
关键词: 单片机;  多串口通信  
在设计由多个单片机组成的数据采集电路时,一般要用多个串口在各个单片机之间进行数据通信。为了解决单片机扩展多个串口的问题,以前大多采用多片AT89C2051来实现多串口通信。每个AT89C2051用并口与上位机连接,再通过AT89C2051的串口与下位机串口连接。这种电路设计,单片机编程比较复杂,整个电路的调试也比较麻烦,可靠性不是很高。一种新开发的SP2328串口扩展芯片很好的解决了上述问题。
SP2328是成都视普科技公司的串行口扩展专用芯片,能将普通单片机(如:AT89C2051、AT89C51等)的一个串口(UART)扩展为三个串口。它主要解决了大多数8位、16位以及32位单片机UART串口太少的问题,扩大了单片机的使用范围。同时,SP2328串行口扩展专用芯片也很好地解决了许多在使用双串口的单片机时,串口复杂的配置问题,能大大缩短开发周期,降低开发成本以及生产成本。

图1  DIP和SOIC封装(左)    图2 SSOP封装(右)

SP2328的功能特性
SP2328有四个UART串口,其中包括一个母串口和三个子串口。母串口和所有子串口都为全双工工作模式,所有串口允许同时接收、发送串行数据。串口0~串口2为子串口,每个子串口的工作速率为75bps~4800bps。串口3为母串口,它的数据传输速率是子串口的4倍。串口3接收到串行数据后,SP2328芯片根据收到的地址信号,把数据通过相应的子串口发送出去。子串口收到串行数据后,把数据通过串口3发送出去,同时给出相应的子串口地址。串口0~串口2的波特率的设置很简单,不需要用软件设置,只要改变输入时钟的频率即可。波特率按以下公式计算:

K=2400*f(osc)/8.0(bps)

其中f(osc)<=16.0MHZ
SP2328的直流工作电压为2.4V~5.5V,典型电流为3.7mA,带有节电模式。
图1和图2是SP2328芯片的管脚排列图。
ADRI0、ADRI1  为串口3接收下行数据时的串口地址线,“00”、“01”、“10”分别对应:串口0、串口1、串口2的地址;“11”为串口3的地址。当上位机要向某一个子串口连接的下位机发送数据时,首先要将ADRI0、ADRI1置成响应的地址状态,再将数据发送到串口3即可。
ADRO0、ADRO1  为串口3发送上行数据时的串口地址线,“00”、“01”、“10”分别对应:串口0、串口1、串口2的地址。当上位机的串口接收到串口3送来的数据时,立刻读取地址线ADRO0、ADRO1的状态,根据地址线ADRO0、ADRO1的状态即可判断出接收到的数据是由哪个串口上传的。

图3  SP2328与单片机的接口电路

SP2328与单片机的接口举例
图3是单片机数据采集电路中SP2328与单片机的接口电路。AT89C51的串口与SP2328的串口3连接,P1.0、P1.1、P1.2、P1.3分别连接ADRI0、ADRI1、ADRO0、ADRO1,作为设置和读取子串口的地址用。三个子串口分别连到三个下位机的串口。串口0、串口1、串口2的波特率为:
 K=(2400*16)/8=4800(bps)
串口3的波特率:
 K3=4*K=4*4800=19200(bps)
AT89C51串口的波特率也必须设置成19200bps。
由于SP2328通电后自动进入工作状态,不需要用程序设置,所以编写串口程序比较简单方便。

需要注意的问题
在选择晶振频率时,要严格使单片机串口的波特率与SP2328的波特率相一致,晶振频率要稳定,否则容易使SP2328芯片接收到的数据和发送出去的数据都是错误的。
由于母串口3的速度是其它子串口的4倍,即子串口发送一个字节的时间母串口可以发送4个字节,所以如果串口3向子串口发送一个字节后,串口3没有向其他子串口发送另外的4个字节,而立即再向原子串口发送数据,子串口的数据将溢出。因此,必须在它们之间加上4个以上的字节用于延时(母串口向其他另外的子串口发送数据,相当于延时一个字节)。
上位机收到母串口上行的数据后要及时读取上行数据的地址信息(上行数据的地址信息可以在上行数据的停止位结束后保持6bit的时间长度)。使上位机能准确收到子串口的串行数据。
上位机向母串口发送数据前,先要向SP2328发送子串口的地址信号。

结语
采用SP2328芯片扩展单片机串口,为单片机的多串口通信提供了一个很好的解决方案。它与使用双串口单片机和使用多片AT89C2051扩展串口等方案相比,编程简单、可靠性高、成本低。

参考文献
1 余永权.《Flash单片机原理及应用》 .北京:电子工业出版社. 1997,10
2  SP2328数据应用手册.成都视普科技有限公司 


关键字:单片机  多串口通 引用地址:SP2328串口扩展专用芯片及其与单片机的接口电路

上一篇:基于普通单片机的LIN协议实现方案
下一篇:单片机的单CPU仿真器的设计

推荐阅读最新更新时间:2024-05-13 18:12

如何减少单片机程序中的bug?
对于如何减少单片机程序的bug,邓宏杰给出了一些建议,他指出系统运行中应考虑的超范围管理参数有: 1.物理参数。这些参数主要是系统的输入参数,它包括激励参数、采集处理中的运行参数和处理结束的结果参数。合理设定这些边界,将超出边界的参数都视为非正常激励或非正常回应进行出错处理。 2.资源参数。这些参数主要是系统中的电路、器件、功能单元的资源,如记忆体容量、存储单元长度、堆叠深度。在程式设计中,对资源参数不允许超范围使用。 3.应用参数。这些应用参数常表现为一些单片机、功能单元的应用条件。如E2PROM的擦写次数与资料存储时间等应用参数界限。 4.过程参数。指系统运行中的有序变化的参数。
[单片机]
单片机入门stm32知识学习的先后顺序
  这里大概的罗列了一些学习STM32的内容,以及学习顺序。如果是新手的话,建议边看中文手册和学习视频;如果是已经入门的,个人建议自己做一个项目,不论项目大小,当然里面会涉及到自己已经学习过的,或者是自己正在学习的,亦或是自己想来想要学习的,一边学习,一边做项目。这样好处颇多,大家慢慢去体会。下面就是本人所罗列的一些STM32的内容,不需要看懂,只需要记住即可,在你以后慢慢深入的过程中,就会了解到的:   1、STM32基本配置(运行环境、编译器、下载器、板子等)。   2、GPIO(跑马灯,蜂鸣器、按键),其中还有端口复用和重映射,以后用到再给大家介绍,不过可以先看看中文手册。   3、时钟(系统时钟、RTC实时时钟)。   4
[单片机]
基于AVR单片机的通用USB接口模块设计
   1 引言   USB接口以其数据传输快、连接简单、易于扩展、支持热插拔等特点已成为外设与PC通信的主要方式之一。随着嵌入式系统的发展,嵌入式微处理器需增加通用的USB接口,以便实现与PC等USB主机系统的通信。针对这样的需求,这里采用PHILIPS公司的USB接口器件PDIUSBD12和Atmel公司的AVR系列单片机ATmega8设计一种通用的USB接口模块。该模块可方便为各种嵌入式微处理器增加USB接口,从而实现与USB主机系统的高速通信。    2 系统硬件设计   该系统模块的控制核心是AVR高速单片机ATmega8。AVR单片机是新一代基于哈佛结构的高速RISC微控制器,具有速度快、价格低、可靠性高,I/O口
[模拟电子]
基于AVR<font color='red'>单片机</font>的通用USB接口模块设计
PIC单片机定时器0的应用
#include #define uchar unsigned char #define uint unsigned int __CONFIG(0x3B31); void init(); uint intnum; void main() { init(); while(1) { if(intnum==5) { intnum=0; RD0=!RD0; } } } void init() { TRISD=0; PORTD=0; OPTION=0x07; INTCON=0xa0; TMR0=61; } void interrupt TIme0() { T0IF=0; TMR0=61; intnum++; }
[单片机]
PIC<font color='red'>单片机</font>定时器0的应用
CPU与单片机的复位电路的作用及基本复位方式
在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。   无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。   基本的复位方式   单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工
[模拟电子]
CPU与<font color='red'>单片机</font>的复位电路的作用及基本复位方式
单片机编程语言_学习哪种编程语言好?
  单片机的编程语言很多,大致分成三类:机器语言、汇编语言、高级语言。机器语言由于繁琐容易出错,一般用户已经不再使用。下面分别对单片机汇编语言和最常用的高级语言进行分析。 单片机的汇编语言   汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少,程序执行效率高,由于它一条指令就对应一条机器码,每一步的执行动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。但是不同的类型的单片机,其汇编语言可能有点差异,所以不易移植,因为他们的指令系统是有区别的。但懂得汇编语言可帮助了解影响任何语言效率的特殊规定。例如,懂得汇编语言指令就可以使用在片内ram作变量的优势,因为片
[单片机]
基于单片机的医用灭菌器控制系统设计
  灭菌器是保护人类生命健康的重要器材,发达国家无论是家用灭菌器还是商用灭菌器都很普及。   而灭菌器灭菌是否合格大部分取决于控制系统是否可靠,针对某医疗设备厂灭菌器控制系统不稳定、人机界面不友好等实际问题,作者采用80C196KB单片机为该厂设计灭菌控制系统,消除原有系统的缺陷并相应增加一些功能,相比51系列单片机,96系列片上资源更丰富,设计系统相对容易。   1 灭菌器控制分析   该灭菌器主要进行包裹类、器械类、乳胶类、液体类及其它类五项进行灭菌,其工艺大体相同,不同之处可由程序控制。通过其工作原理(图1)可知,根据里外锅的温度和压力是否达到规定值而进行各种动作控制。   模拟输入量共4个:外锅温度TW,外锅压力
[单片机]
基于<font color='red'>单片机</font>的医用灭菌器控制系统设计
STM32单片机的GPIO模式解析
一、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。 推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度 二、开漏输出:输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行。适合于做电流型的驱动,其吸收电流的能力相对强(一般20mA以内)。开漏形式的电路有以下几个特点: 1、利用外部电路的驱
[单片机]
STM32<font color='red'>单片机</font>的GPIO模式解析
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved