首 页科技博览科普图片植物王国动物世界科普常识农村科普生活科普信息技术科普创作自然之谜
历史今天留言繁體中文
设为首页
加入收藏
联系我们
您当前的位置:科普知识网 -> 电子电工 -> 芯片应用 -> 博览内容 退出登录 用户管理
 

· 有线电视 · 电子系统
· 显示元件 · 接口电路
· 存储器 · 无线通信
· 传感控制 · EDA/PLD
· 单片机 · DSP技术
· 模拟技术 · 通信网络
· 测试仪表 · 视频音频
· 芯片应用 · 电子通信
· IC电子 · 电子设计
· 自控测量 · IC嵌入式
· IC系统 · EDA系统
· 传感控制 · 电源技术
· 接口电路 · 消费电子
· DSP产品 · 元件工艺
· 模拟技术 · 存储器设备
· 设计应用 · 智能网应用
· 电子电源 · 电子传感
热门博览
· 涡轮
· 什么是路肩?硬路肩?..
· 神秘的海底世界
· 民用飞机
· 电路设计
· 梁桥
· 航空发动机
· 环保--功在当代,利..
· 气球
· 双曲拱桥是一种什么..
相关博览
· 上海有条马路会“呼..
· 湖北首套高速公路现..
· 吉林:边坡稳定性评..
· 公路穿上“保护衣”..
· “交通(公路)法规..
· 桥梁中心实桥破坏性..
· 河南省农村公路通达..
· 杭州湾跨海大桥工程..
· 吴桥公路站一研发项..
· 新交通诱导信息屏亮..

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

作者:佚名  来源:不详  
摘   要:   本文介绍一种新型的单片机串口扩展芯片的功能特性以及与单片机接口的应用。
关键词: 单片机;  多串口通信  
在设计由多个单片机组成的数据采集电路时,一般要用多个串口在各个单片机之间进行数据通信。为了解决单片机扩展多个串口的问题,以前大多采用多片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数据应用手册.成都视普科技有限公司 


免责声明:作品版权归所属媒体与作者所有!!本站刊载此文仅为普及科学技术知识提供更多信息。如果您认为我们侵犯了您的版权,请告知!本站核实后立即删除。kpzsnet#126.com (#改为@)
[] [返回上一页] [打 印] [收 藏]
∷相关博览评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 帮助 - 合作 - 声明 - 连接 - 地图 -
Copyright ?2002-2005 Kpzs.Net. All Rights Reserved .
BY::KPZS.NET