最新-RS-232多串口扩展器件SP2538及其应用 精品
- 格式:docx
- 大小:16.38 KB
- 文档页数:5
FPGA实现串行接口RS232串行接口(RS-232)串行接口是连接FPGA和PC机的一种简单方式。
这个项目向大家展示了如果使用FPGA来创建RS-232收发器。
整个项目包括5个部分1RS232是怎样工作的2如何产生需要的波特率3发送模块4接收模块5应用实例RS-232接口是怎样工作的作为标准设备,大多数的计算机都有1到2个RS-232串口。
特性RS-232有下列特性:•使用9针的"DB-9"插头(旧式计算机使用25针的"DB-25"插头).•允许全双工的双向通讯(也就是说计算机可以在接收数据的同时发送数据).•最大可支持的传输速率为10KBytes/s.DB-9插头你可能已经在你的计算机背后见到过这种插头它一共有9个引脚,但是最重要的3个引脚是:•引脚2: RxD (接收数据).•引脚3: TxD (发送数据).•引脚5: GND (地).仅使用3跟电缆,你就可以发送和接收数据.串行通讯数据以每次一位的方式传输;每条线用来传输一个方向的数据。
由于计算机通常至少需要若干位数据,因此数据在发送之前先“串行化”。
通常是以8位数据为1组的。
先发送最低有效位,最后发送最高有效位。
异步通讯RS-232使用异步通讯协议。
也就是说数据的传输没有时钟信号。
接收端必须有某种方式,使之与接收数据同步。
对于RS-232来说,是这样处理的:6串行线缆的两端事先约定好串行传输的参数(传输速度、传输格式等)7当没有数据传输的时候,发送端向数据线上发送"1"8每传输一个字节之前,发送端先发送一个"0"来表示传输已经开始。
这样接收端便可以知道有数据到来了。
9开始传输后,数据以约定的速度和格式传输,所以接收端可以与之同步10每次传输完成一个字节之后,都在其后发送一个停止位("1")让我们来看看0x55是如何传输的:0x55的二进制表示为:01010101。
RS232传输软件接线及使用1.相关说明每台机器材耗:5芯或5芯以上线材、9PIN母接头2个、25PIN接头公母各1个DNC传输软件一套(这里用的是CimcoEdit,见附件:CNC传输)2.接线图请按照以下图连线1 2 3 4 5 6 7 8 91 2 3 4 5 6 720259 pin 母(电脑侧) 25 pin 公和母(钣金侧)1234567899 pin 母(系统侧)DCDRXDTXDDTRGNDDSRRTSCTSRIDCD RXD TXD DTR GND DSR RTS CTS RI钣金内部侧钣金外部侧3.参数设定c新代软件系统参数设定(建议值)参数控制器参数意义3901 0 主从模式, 0机台控制器, 1 个人计算机端3903 1 档案传输通讯端口位置(1:第一埠, 2:第二埠)3905 1 巨集程式通讯埠位置(1:第一埠, 2:第二埠)3921 3 第一端口通讯速度(0:24;1:48;2:96;3:192;4:384..) 3922 8 第一端口资料位数3923 0 第一埠交换码格式(0:ASCII;1:EIA;2:ISO)3924 0 第一埠外围控制方式(0:No;1:DC2;2:DC4;3:DC2DC4) 3925 0 第一埠单节结束(EOB)输出方式(0:EOB;1:CR+EOB) 3926 0 第一埠DC3外围句柄是否同位(0:否;1:同位)3927 1 第一埠流量控制方式(0:无;1:硬件;2:软件)3928 0 第一埠同位检查方式(0:无;1:奇;2:偶)3929 1 第一端口停止位数(1:1位;2:2位)b.电脑CimcoEdit参数设定1.选择Text file和machine 12.DNC 设定点击Transmission DNC Setup点击打开后看到DNC Sstup画面Machines选择Machine 1 ,Machine Type选择Text file ,点Setup进入Machine 1参数设定,设定值见下图所视:完成后点确定返回上一层DNC Setup,点OK设定,见下图到此参数设定完成,DNC和新代CNC系统就已经连接成功4.CimcoEdit 使用方法简介a.把压缩文件Cedit.rar解压成一般文件Ceditb.打开文件双击CimcoEdit(开启DNC软体)可以看到如下画面c.文件接受和发送方法有两种Send File :发送文件Receive File:接受文件发送时会跳出对话框(注意选择文件类型):在查找范围中选择要发送的程序,点“打开”,跳出发送对话框发送接收接收时会跳出对话框:另存为到要到的文件夹内,命名在文件名内,点“保存”保存文件,跳出接收对话框注意:1.不管是控制器还是电脑要接收文件,都要优先处于RS232接收状态再行发送;2.文件传输以“%”做为接受结束符号,故程序结束需有“%”结束符,如果没有“%”结束符,传输资料会一直停在等待状态而无法结束,按“取消”后提示“未收到程序结束符号,是否存档”警告;3.RS232线长度不要超过10m。
产品名称:RS232/422/485转光纤(多模双芯)
产品描述:
博昊威尔pohover202是实现一路RS232/RS485/RS422通过多模双芯光纤进行长距离透明传输,该产品属我公司自主研发生产,具有RS232/RS485/RS422接口,支持多机通信、组网方便点。
由于采用光纤作为传输介质,具有高隔离电压、防电磁干扰、防雷击等突出优点。
此光纤转换器应用于各种工业控制,分布数据采集,适合电力自动化,交通控制等。
性能指标:
*RS232、RS485或RS422可选择;
*内置600w/ms抗雷击和1500v抗静电保护器;
*RS485信号流向自动识别,速率0-115.2kbps自适应;
*RS485支持128节点,RS422支持64节点;
*高性能进口光模块,确保数据稳定传输,该型号可达2公里透明传输;
*工业级设计,全部表面贴装工艺,保证产品的长期可靠;
*信号线15KV静电保护、600w/ms雷击保护;
*电源DC5V±10%,或外输电源AC8V-12V;*电接口DB9针接口,配工业接线端子;
*速率0~57.6Kbps自适应;
*SC或FC光接口;适用62.5/125μm
*波长1310nm or 1550nm
*光发射功率≥-12dbm
*光接受灵明度≤-35dbm
*传输距离≥25KM
*误码率≤10-9
*工作温度:-20℃~75℃。
电脑USB转TTL串口/RS232串口模块对于一些学校、工业、科研客户来说,电脑的串口非常重要,很多设备都必须采用串口和电脑端软件连接,很多电路模块可以非常直观方便地利用串口调试软件进行调试,很多仪器必须通过串口进行通讯和数据交换。
但是目前笔记本电脑因为空间的限制和其他方面考虑的原因都没有串口,甚至一些台式电脑也取消了串口配置,这让我们迫切需要串口的客户非常苦恼。
USB转串口模块全称为USB to Serial port Module,它可以将USB接口虚拟成一个串口,解决客户无串口的苦恼。
现在市面上的USB转串品的设备可谓是琳琅满目,质量也是参差不齐。
造成这种现象的根本原因就在于控制芯片的不同。
现在USB转串口桥接芯片有很多,比如CP2102、FT232、PL2303等等。
但并非每一种芯片都可以用作ISP下载。
经过测试CP2102是不能下载的,而FT232可以下载,但其价格实在不菲。
最为适中的就是台湾生产的PL2303,可以稳定下载,并可以支持多种操作系统。
PL2303HX采用28脚贴片SOIC封装,工作频率为12MHZ,符合USB 1.1通信协议,可以直接将USB信号转换成串口信号,波特率从75~1228800,有22种波特率可以选择,并支持5、6、7、8、16共5种数据比特位,是一款相当不错的USB转串口芯片。
产品1:采用PL2303芯片的USB转TTL串口模块每个12元含一根4芯杜邦连接线这是我们用PL2303芯片开发的USB转串口模块,采用机器自动焊接都经人工检测,电路板只有30*16*7毫米,模块一共引出5根脚,引脚电平为TTL,引脚定义如下:+5V、P3.0 TXD 、P3.1 RXD 、GND 地线、+3.3V 。
其中+5V和+3.3V电源输出线一般情况下都不用的,不需要连接。
现在购买PL2303模块我们还赠送一根30厘米长的杜邦连接线,它一头是四位一体的插座可以直接插到我们的2303模块上,另一头是四个独立的杜邦头,可以灵活插到设备上,非常方便。
RS-232串口保护新方案在网络系统设计中,RS-232串行数据口常常和终端、打印机、调制解调器相连,被称为零插槽(z ero slot)的局域网连线。
RS-232是破坏性噪声和电涌侵入设备的一个通道,而且也是计算机安全问题中最易受攻击的地方。
侵入RS-232串口的干扰信号来源多种多样,包括系统间地线噪声、电话线冲击电流和线路故障。
系统间地线噪声是由互联设备与地线(零线)之间的压差造成的。
当地线分别接地或有一个地线从其他地方灌入了噪声或电涌就产生了地线压差。
压差小到射频噪声,大到高能电涌,都会损坏RS-232串口。
例如电话线电涌能通过调制解调器侵入RS-232串口,虽然调制解调器将RS-232串口和电话线隔离开来,但电涌仍然能越过这个阻碍,使RS-232串口损坏。
线路故障指的是交流电源线对RS-232线的干扰,它一般是由附近的大电流机电设备引起的。
虽然这种故障不常见,但它也可能会损坏RS-232串口上的每一台设备。
为此选择正确的保护设备就尤为重要。
目前,银行、保险、邮电行业一般采取如下几种方法:选用UPS系统:选择UPS完全保护RS-232连接的互联设备的唯一途径,就是所有的工作站和主机由同一台UPS供电,但这要求购买大容量UPS并要安装电源布线。
选择调制解调器:调制解调器用双绞线将工作站或服务器与终端连接起来。
连接接收、发送端的调制解调器,它的连接距离可达到数公里,可以连接较长的RS-232连线。
从电源保护的角度看,调制解调器的额定隔离电压值较高。
选择RS-232数据线保护器:当前大多数RS-232数据线保护器不能确保RS-232的全部线路(不是只保护软件需要的线路)的安全。
有些型号只保护数据线,有些保护器采用“分流”保护设备,常常是将硅雪崩二极管(SAD)接在被保护线路和保护器外壳之间。
测试表明SAD的钳制性能很好,但它的电涌分流能力有限。
用MOV(金属氧化物变阻器)的设计虽然在交流保护上很理想,但对数据线却不太适用。
RS-232收发器接口芯片SP3223E/3243E的原理及应用摘要:SP3223E/3243E是SIPEX公司生产的RS-232收发器接口芯片。
该器件内部含有一个高效电荷泵,可在单+3.0V~+5.5V电源下产生±5.5V的RS-232电平,并支持EIA/TIA-232和ITU-TV.28/V.24通信协议,因而可用于笔记本电脑等便携式设备。
文章分析了SP3223E/3243E的结构原理和主要特点,给出了它的典型应用电路。
关键词:电荷泵;自动上线;驱动器;收发器1概述SP3223E/3243E是SIPEX公司生产的RS-232收发器,它支持EIA/TIA-232和ITU-TV.28/V.24通信协议,适用于便携式设备使用(如笔记本电脑及PDA)。
SP3223E/3243E内有一个高效电荷泵,可在单+3.0V~+5.5V电源下产生±5.5V的RS-232电平,该技术已申请了美国专利(专利号为U.S.--5 306 954)。
满负载时,SP3223E/3243E器件可工作于235kbps的数据传输率。
3.3V时仅需0.1μF的电容。
SP3223E是一个双驱动器/双接收器芯片,SP3243E则是一个三驱动器/五接收器芯片,是笔记本电脑或PDA的理想器件。
SP3243E包含一个总是处于激活状态的补充接收器,可在关断状态下监控外设(如调制解调器)。
由于具有自动上线特性,因此,当其与一个相关外设之间接上RS-232电缆并处于工作状态下时,设备会自动醒来。
否则,如果电流不足1mA,设备会自动关断。
SP3243E包含一个补充接收器,当电源断开时,该接收器可保护UART或串行控制器芯片。
SP3223E和SP3243E是敏感电源设计的理想选择。
SP3223E和SP3243E的自动上线电路减少了电源电流降到1mA以下的可能性。
在大多数便携式应用场合,RS-232电缆可被断开或是将外设关闭。
在上述情况下,其内部的电荷泵和驱动器也会被关闭。
RS-232串行口的保护要使计算机受到完全的保护,就必须知道易受受攻击的薄弱点,以便在设计安装时采取保护措施。
在计算机设计互联网络系统中,RS-232串行数据线常常和终端、打印机、调制解调器相连,和被称为“零插槽”(zero slot)的局域网联线。
RS-232是破坏性噪声和电涌侵入设备的一个通道。
RS-232口常常是计算机安装中“唯一易受攻击的致命弱点”,UPS和其它电源保护设备对此无能为力。
侵入RS-232口的电涌来源多种多样,包括系统间地线噪声、电话线冲击电流和线路故障。
系统间地线噪声是造成RS-232数据错误、RS-232驱动器和主板损坏的主要原因。
系统间地线噪声是有互联设备地线(绿线)之间的压差造成的。
当地线分别接地或有一个地线从其它地方灌入了噪声或电涌就产生了地线压差。
压差小到射频噪声,大到高能电涌。
关于系统间地线噪声产生原因及后果见APC技术要点T8。
电话线电涌能通过调制解调器侵入RS-232口,虽然调制解调器将RS-232口和电话线隔离开来,但电涌仍然能越过这个阻碍,产生破坏性后果。
线路故障指的是交流电源线对RS-232线的干扰,它一般是由附近的建筑工地引起的。
虽然这种故障不常见,但它很可能会损坏RS-232口上的每一台设备。
一、RS-232标准RS-232通讯标准是为了提供计算机和终端与通讯设备(调制解调器)的接口。
这种情形下RS-232通讯线很短(只有1.2米),虽然总的通讯线路(调制解调器和电话线)可能有数公里长。
在商业上RS-232主要用来将多用户系统工作站、终端和单个主机连接起来,RS-232连线可能有70米(250英尺)长。
虽然现代的电缆能使数据在这么长的线路上可靠地传输,但要冒硬件损坏的风险。
RS-232的数据的传输依靠四根线:发送数据线、接收数据线、握手信号线和公共线。
以送和传输的数据是以数据线与公共线之间的压差表示的。
RS-232的公共线将工作站或终端和CPU主板的公共点连接起来了,所以假定的公共端电压相等。
RS232 (DB9) 引脚定义1 :DCD : 载波检测。
主要用于Modem 通知计算机其处于在线状态, 即Modem 检测到拨号音,处于在线状态。
2 :RXD: 此引脚用于接收外部设备送来的数据;在您使用Modem 时, 您会发现RXD 指示灯在闪烁, 说明RXD 引脚上有数据进入。
3 :TXD: 此引脚将计算机的数据发送给外部设备;在您使用Modem 时,您会发现TXD 指示灯在闪烁,说明计算机正在通过TXD 引脚发送数据。
4 :DTR: 数据终端就绪; 当此引脚高电平时,通知Modem 可以进行数据传输计算机已经准备好。
5 :GND: 信号地; 此位不做过多解释。
6 :DSR: 数据设备就绪; 此引脚高电平时,通知计算机Modem 已经准备好, 可以进行数据通讯了。
7 :RTS: 请求发送;此脚由计算机来控制, 用以通知Modem 马上传送数据至计算机;否则,Modem将收到的数据暂时放入缓冲区中。
8 :CTS: 清除发送;此脚由Modem 控制,用以通知计算机将欲传的数据送至Modem 。
9 :RI : Modem 通知计算机有呼叫进来,就是否接听呼叫由计算机决定MAX232 原理MAX232 芯片就是专门为电脑的RS-232 标准串口设计的接口电路,使用+5v 单电源供电。
内部结构基本可分三个部分:第一部分就是电荷泵电路。
由1、2、3、4、5、 6 脚与 4 只电容构成。
功能就是产生+12v 与-12v 两个电源,提供给RS-232 串口电平的需要。
第二部分就是数据转换通道。
由7、8、9、10、11、12 、13、14 脚构成两个数据通道。
其中13脚(R1IN)、12脚(R10UT)、11脚(T1IN)、14脚(T10UT)为第一数据通道。
8 脚(R2IN)、9 脚(R20UT)、10 脚(T2IN)、7 脚(T2OUT)为第二数据通道。
TTL/CMOS 数据从T1IN、T2IN 输入转换成RS-232 数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS 数据后从R1OUT、R2OUT 输出。
第页 共 21页SP2339/SP2349数据手册版本编号V2.11 概述SP2339/SP2349以下简称为SP23X9系在原有SP2328/SP2338以下简称为SP23X8基础上广泛采纳客户建议历经近两年时间开发而成可将任意8位16位及32位嵌入式单片机如MCS-51MSP430ARM PowerPC 等原有的一个全双工串口UART扩展为三个全双子工串口子串口波特率可软件设置即让普通单串口单片机实现标准三串口单片机功能或让双串口单片机实现六串口单片机功能甚至可直接用于扩展PC 机笔记本电脑的RS232串行口 与其它多串口扩展方案相比包括多串口单片机SP23X9有如下特点! 不必购买学习新的开发工具利用原有仿真器和编程器即可 ! 使用简单采用独创的所见即所得的设置方法设置芯片的所有工作模式 ! 占用资源少不占用宝贵的外部中断资源仅复用已有的串口中断资源 ! 接口简单仅占用单片机4条输入/输出控制线I/O! 看门狗输出可取代上位机外挂的看门狗监控IC 监控上位机程序运行 ! 睡眠功能降低系统功耗提高系统抗干扰性能! 免费提供经过优化的底层驱动软件包有编程经验的用户可在1~2小时内完成SP23X9的所有设计大幅降低研发成本并加快产品上市 与SP2328/SP2338相比SP23X9具有更多的功能和特点! 子串口波特率最高可达115.2Kbps! 可由软件设置子串口波特率三个子串口波特率可独立软件设置! 可由软件关闭一个子串口另外一个子串口波特率可加倍 ! 可由软件设置为10位或11位数据格式用于奇偶效验或多机通信 ! 保留上位机唤醒取消子串口唤醒可提高系统可靠性简化设计 !所有串口波特率误差<0.1%! 看门狗输出取代上位机外挂的看门狗监控IC 大幅降低生产成本 ! 抗干扰性能更好! 向下兼容SP2328/SP2338原有的复位和睡眠指令第页共 21页SP2328SP2338SP2339SP2349性能对照表表175~57.6Kbps 自适应75~115.2Kbps 自适应最高三串口模式最高子串口发数据收收发数据收发数据第 页 共 21页2 特性! 宽工作电压3.0V~5.5V ! 低工作电流典型电流6.5mA子串口波特率19200bps VCC=5.0V! 宽工作速率75Bps~115.2Kbps! 使用极简单独创所见即所得的指令设置法见指令表第6页! 全双工工作全双工10位及11位数据格式! 可节电模式进入节电模式后典型静态电流约0.5uA ! 可自动唤醒由上位机主动唤醒! 看门狗输出监控上位机程序运行上位机死机后可自动复位 ! 输出误差小所有串口的数据输出波特率误差都小于0.1%! 接收范围宽每个串口的数据波特率误差小于3.0%即可正确接收 ! 误码率极低小于109(接收的数据波特率误差小于2.0%时)3应用领域! 数据采集 ! 工业控制 !仪器仪表 ! 税控加油机 ! 商业税控机 ! 商业POS机! 安防控制设备! 车载GPS GPRS 系统 ! 工业MODEM 阵列 ! GSP 卫星定位导航 ! 有线及无线数据传输 ! 基于PC 机的多串口卡! 水电气表抄表系统! 其他对可靠性成本开发周期有严格要求的应用第 页 共 21页4 管脚说明12 17 3 16 4 15 5 14 6 13 7 12 811 9 10图1 DIP 及SOIC 脚位图管脚说明表2管脚名称管脚编号管脚类型管 脚 注 释ADRO0 1 Out 地址0输出 (连接上位机输入地址0) ADRO1 2 Out 地址1输出 (连接上位机输入地址1) RST_O 3 Out 接上位机RESET 未使用时悬空N C4---可接VCC 为了向后兼容建议接GNDGND 5 --- 电源地建议与VCC 间接0.1uF 电容 RX0 6 In 子串口0接收输入内部已弱上拉 TX0 7 Out 子串口0发送输出未使用时悬空 RX1 8 In 子串口1接收输入内部已弱上拉 TX1 9 Out 子串口1发送输出未使用时悬空 TX2 10 Out 子串口2发送输出未使用时悬空 RX2 11 In 子串口2接收输入内部已弱上拉 TX3 12 Out 母串口3发送输出未使用时悬空第页共 21页管脚名称管脚编号管脚类型管脚描述RX3 13 In母串口3接收输入内部已弱上拉VCC 14 ---电源建议与GND间接0.1uF电容OSCO 15 Out时钟输出建议振荡电容16~22pF OSCI 16 In时钟输入建议振荡电容16~22pF ADRI1 17 In 地址1输入 (连接上位机输出地址1) ADRI0 18 In 地址0输入 (连接上位机输出地址0)5设计选型SP23X9 X XX XA B C D设计选型表3代码内容A SP2339单串口模式下高达57.6Kbps双串口模式下高达19.2Kbps三串口模式下高达9.6KbpsSP2349单串口模式下高达115.2Kbps双串口模式下高达38.4Kbps三串口模式下高达19.2KbpsB H看门狗溢出时RST_O输出高脉冲电平用于需高电平复位的单片机系统如AT89C51说明使用时需在RST_O和VCC之间连接47 KΩ~62KΩ电阻未使用不接电阻悬空即可L看门狗溢出时RST_O输出低脉冲电平用于需低电平复位的单片机系统如MSP430系列说明使用时需在RST_O 和GND之间连接47 KΩ~62KΩ电阻未使用不接电阻悬空即可C DP双列直插DIP SO表面贴装SOICD C商业级工作温度0°C ~70°C I 工业级工作温度-40°C ~85°C第 页 共 21页SP2339/SP2349指令对照表表4序号指令名称 命令字指 令 描 述01 Nop 0x00空指令类似程序中的空指令可用于匹配母串口和子串口波特率同步 02 Reset 0x01 复位指令复位所有设置到上电初始状态 03 Sleep 0x02 睡眠指令强制进入睡眠模式04 En_wdt 0x03 看门狗使能可用于监控上位机程序运行状况 05 Dis_wdt 0x04 看门狗禁止禁止看门狗工作06 Clr_wdt 0x05喂狗指令上位机通过该指令喂狗喂狗时间 间隔要求不大于550mS 07 En_10bit 0x06 使能数据帧格式为10Bit08 En_11bit 0x07 使能数据帧格式为: 11Bit 奇偶效验多机通信 09 P3_P0 0x0C单串口模式0关闭串口1串口2串口0工作 波特率高达115.2Kbps SP234910 P3_P1 0x0D单串口模式1关闭串口0串口2串口1工作波特率高达115.2Kbps SP234911 P3_P2 0x0E单串口模式2关闭串口0串口1串口2工作波特率高达115.2Kbps SP2349 12 P0*2_CP1 0x13 串口0倍频串口0波特率加倍并关闭串口1 13P1*2_CP00x14 串口1倍频串口1波特率加倍并关闭串口014 P0Div1 0x19 串口0波特率1分频即分频系数为1 15 P0Div2 0x1A 串口0波特率2分频即分频系数为2 16 P0Div4 0x1B 串口0波特率4分频即分频系数为4 17 P0Div8 0x1C 串口0波特率8分频即分频系数为8 18 P0Div16 0x1D 串口0波特率16分频即分频系数为16第 页 共 21页序号指令名称 命令字指 令 描 述19 P1Div1 0x1E 串口1波特率1分频即分频系数为1 20 P1Div2 0x1F 串口1波特率2分频即分频系数为2 21 P1Div4 0x20 串口1波特率4分频即分频系数为4 22 P1Div8 0x21 串口1波特率8分频即分频系数为8 23 P1Div16 0x22 串口1波特率16分频即分频系数为16 24 P2Div1 0x23 串口2波特率1分频即分频系数为1 25 P2Div2 0x24 串口2波特率2分频即分频系数为2 26 P2Div4 0x25 串口2波特率4分频即分频系数为4 27 P2Div8 0x26 串口2波特率8分频即分频系数为8 28 P2Div16 0x27 串口2波特率16分频即分频系数为16 29 Reset 0x35 向下兼容SP2328/SP2338相关指令 30 Sleep 0x55 向下兼容SP2328/SP2338相关指令 31 Reset 0xB5 向下兼容SP2328/SP2338相关指令 32 Sleep 0xD5 向下兼容SP2328/SP2338相关指令 33 --- --- 其它未用命令字为保留字严禁使用6 指令说明注必须先置ADRI 0ADRI 1两位地址为1即选中母串口地址发送的数据才是相应的指令否则将视为普通子串口数据 !Nop命令字0x00类似程序中的空指令母串口接收到命令字0x00将不进行任何操作主要用于匹配母串口和子串口波特率 例假如母串口波特率为4800Bps 子串口0为1200 Bps 从时间关系讲意味着上位机向母串口连续发送四个字节子串口0才能发送完一个字第 页 共 21页节为了保证子串口0不丢失数据上位机可先向串口0发送一个字节数据然后连续发送三条Nop 指令接着上位机可继续向子串口0发送下一个字节数据由此就可保证子串口0不会丢失所发送的数据如果向串口0发送数据时也需向串口1和串口2发送数据则可先分别向每个子串口发送一个字节数据然后再发送一条Nop 指令相对于任何一个子串口而言母串口任何时候连续接收到的四个字节数据中最多有一个字节是送到该串口的这样就保证了任何子串口都不会丢失所发送的数据如果母串口和子串口的波特率是其它倍数关系可按照上面的处理原则进行相应处理在此建议直接使用免费提供的函数包不但可减少对单片机资源的占用更能提高开发效率降低开发成本/download/!Reset命令字0x010x350xB5向下兼容SP23X8复位SP23X9内部所有设置恢复到上电时默认状态数据帧格式为10位一位起始位八位数据位一位停止位三个子串口同时开启且分频系数都为1看门狗禁止该指令可简化上位机程序设计任何时候需要期望的设置都可先Reset再进行相应设置即可注部分用户担心发送到子串口的数据中如果含有0x01将导致SP23X9复位 答案是肯定的因为发送到子串口的0x01和发送Reset 即命令字0x01的地址是完全不同的地址 !Sleep命令字0x020x550xD5向下兼容SP23X8强制SP23X9进入睡眠模式所有芯片在睡眠模式下不但可以降低系统功耗更能提高系统稳定性降低上位机程序设计难度以及简化通信协议在实际应用中上位机可通过ADRO0ADRO1是否都为1来判断SP23X9是否已进入睡眠模式仅当进入睡眠模式后两位地址才会同时为1需要注意的是SP23X9与SP23X8在唤醒方式上有所区别后者采用母串口或子串口接收数据自动唤醒为防止干扰数据误唤醒在SP23X9中第 页 共 21页取消子串口自动唤醒功能允许上位机向任意子串口发送0xFF 自动唤醒典型唤醒时间小于10mS!En_wdt命令字0x03看门狗溢出复位使能看门狗使能后上位机必须进行喂狗操作最长喂狗时间间隔不大于550mS 否则SP23X9将认为上位机程序除错RST_O 将输出复位脉冲复位上位机如未使用RST_O则禁止执行En_wdt!Dis_wdt 命令字0x04看门狗禁止指令该指令将关闭SP23X9内部的看门狗振荡器 !Clr_wdt命令字0x05上位机喂狗指令执行En_wdt 指令后上位机必须向SP23X9喂狗最长喂狗时间间隔要求不大于550mS !En_10bit命令字0x06使能10位数据帧格式一位起始位八位数据位一位停止位该指令可让SP23X9由11位数据帧格式切换到10位数据帧格式 !En_11bit命令字0x07使能11位数据帧格式一位起始位八位数据位一位奇偶效验位一位停止位该指令可让SP23X9由10位数据帧格式切换到11位数据帧格式 !P3_P0命令字0x0C单串口模式0该模式将禁止子串口1子串口2收发数据子串口0独享母串口带宽即子串口0将以母串口相同的波特率工作模式进入流程发送P3_P0置子串口0ADRI 0ADRI1两位地址都置为0注意必须在进行数据发送前置子串口0的地址否则该指令将被视为无效SP23X9将退出该模式并回到执行该指令前的设置状态模式退出流程上位机置母串口或其它非子串口0的地址即可退出后之前所有设置保持不变包括看门狗子串口波特率数据帧格式等该模式下不用设置母串口和子串口波特率母串口和子串口0可自适应各种波特率75Bps~57600Bps@SP2339或75Bps~115200Bps@SP2349该第页 共 21页模式下不管看门狗是否使能看门狗振荡器都将被强行关闭在此上位机可不必关心喂狗以及看门狗溢出等问题 ! P3_P1命令字0x0D 单串口模式1参见P3_P0 ! P3_P2命令字0x0E单串口模式2参见P3_P0!P0X2_CP1命令字0x13子串口0波特率加倍并禁止子串口1数据收发如执行指令前子串口0的波特率为9600Bps执行后波特率将变为19200Bps 该指令也可激活被禁止的子串口0P1X2_CP0将禁止子串口0工作!P1X2_CP0命令字0x14子串口1波特率加倍并禁止子串口0数据收发如执行指令前子串口1的波特率为19200Bps 执行后波特率将变为38400Bps 该指令也可激活被禁止的子串口1P0X2_CP1将禁止子串口1工作!P0Div1命令字0x19置子串口0波特率分频系数为1即公式中的n n =1该指令可激活子串口0且子串口0波特率K 0为K 0 = 1200 ﹡2 m ﹡F osc_in /n =1200 ﹡2 m ﹡F osc_in /1 =1200 ﹡2 m ﹡F osc_in 其中m = {01}上位机执行P0X2_CP1后取m=1否则m=0 F osc_in的单位为MHz 对于SP2339相应的取值范围为1.0 MHz ~8.0MHz对于SP2349相应的取值范围为2.0 MHz ~16.0MHz !P0Div2命令字0x1A置子串口0波特率分频系数为2即公式中的n 即n =2其它参见P0Div1!P0Div4命令字0x1B置子串口0波特率分频系数为4即公式中的n 即n =4其它参见P0Div1!P0Div8命令字0x1C置子串口0波特率分频系数为8即公式中的n 即n =8其它参见P0Div1!P0Div16命令字0x1D置子串口0波特率分频系数为16即公式中的n 即n =16其它参见P0Div1第页 共 21页!P1Div1命令字0x1E置子串口1波特率分频系数为1即公式中的nn =1该指令可激活子串口1且子串口1波特率K 1为K 1 = 1200 ﹡2 m ﹡F osc_in /n =1200 ﹡2 m ﹡F osc_in /1 =1200 ﹡2 m ﹡F osc_in 其中m = {01}上位机执行P1X2_CP0后取m=1否则m=0 F osc_in的单位为MHz!P1Div2命令字0x1F置子串口1波特率分频系数为2即公式中的n 即n =2其它参见P1Div1!P1Div4命令字0x20置子串口1波特率分频系数为4即公式中的n 即n =4其它参见P1Div1!P1Div8命令字0x21置子串口1波特率分频系数为8即公式中的n 即n =8其它参见P1Div1!P1Div16命令字0x22置子串口1波特率分频系数为16即公式中的n 即n =16其它参见P1Div1!P2Div1命令字0x23置子串口2波特率分频系数为1即公式中的nn =1子串口2波特率K 2为K 2 = 1200 ﹡F osc_in /n =1200 ﹡F osc_in /1 =1200 ﹡F osc_inF osc_in 的单位为MHz 对于SP2339相应的取值范围为1.0 MHz ~8.0MHz 而对于SP2349相应的取值范围为2.0 MHz ~16.0MHz!P2Div2命令字0x24置子串口2波特率分频系数为2即公式中的n 即n =2其它参见P2Div1!P2Div4命令字0x25置子串口2波特率分频系数为4即公式中的n 即n =4其它参见P2Div1!P2Div8命令字0x26置子串口2波特率分频系数为8即公式中的n 即n =8其它参见P2Div1!P2Div16命令字0x27置子串口2波特率分频系数为16即公式中的n 即n =16其它参见P2Div1第页 共 21页7 应用说明! SP23X9支持10位/11位数据格式允许上位机随意更改初次上电默认数据格式为10位兼容SP23X8数据格式! SP23X9母串口波特率为K3 = 4800﹡F osc_in式中的F osc_in表示SP23X9外部输入时钟计算单位为MHz例如外部输入时钟为8.0MHz 则K 3 = 4800 ﹡8.0 = 38400 Bps ! SP23X9允许上位机根据需要随意修改子串口波特率初次上电三个子串口默认分频系数都为1即三个子串口波特率都为K 0 = K 1 = K 2 = 1200 ﹡20 ﹡F osc_in /1 =1200 ﹡F osc_in 修改子串口波特率分频系数后相应各子串口波特率分别为K 0 = 1200 ﹡2 m ﹡F osc_in /n其中m 由子串口0波特率加倍控制指令P0X2_CP1决定执行该指令m 取1否则m 取n 为子串口0的分频系数 K 1 = 1200 ﹡2 m ﹡F osc_in /n其中m 由子串口1波特率加倍控制指令P1X2_CP0决定执行该指令m 取1否则m 取n 为子串口1的分频系数K 2 = 1200 ﹡F osc_in /n 其中n 为子串口2的分频系数!SP23X9初次上电默认内部看门狗振荡器关闭如未使用RST_O 则可不必理会有关看门狗的所有指令仅当En_wdt后才必须不定期喂狗最长喂狗时间间隔不大于550mS! SP23X9向下兼容SP23X8所有指令SP23X9L 可直接替换SP23X8仅更换外部晶体即可参见表4注意当涉及SP2328/SP2338Sleep相关应用SP23X9L 可能不能直接替换SP23X8请电话咨询 ! 上位机发送流程A 上位机先发送串口地址信息到ADRI 0ADRI 1以便选中希第页 共21页望的串口随后将数据或者指令由上位机发出即可 B向每个子串口发送数据时应注意母串口与该子串口波特率的倍数关系注意添加必要的Nop 指令或者调用必要的延时程序子串口0发送数据延时时间计算方法K 3 *10* K 3 /K 0 秒其中K 3为母串口波特率K 0为子串口0的波特率其它子串口发送延时计算方法与此类似!上位机接收流程A上位机接收到一个字节后立即读取ADRO 1ADRO 0两条地址根据输出地址编码即可知道接收到的数据来自那个子串口即使3个子串口同时分别接收到一个字节数据上位机也不会丢失任何数据 B 建议上位机采用中断方式接收来自下位机的数据且设置串口中断为最高优先级其它中断都为次优先级或更低优先级SP2328SP2338SP2339L SP2349L 直接替换对照表表5第页 共 21页8 参考电路图 2 SP23X8SP23X9直接替换电路图 3 SP23X9L/H 典型应用电路禁用WDT第页 共 21页图 4 SP23X9H 典型应用电路启用WDT图 5 SP23X9L 典型应用电路启用WDT第页 共 21页9 操作时序ADRI0ADRI1RX3ADRI0ADRI0ADRI1RX3图8 子串口012同时发送ADRO0图9 母串口TX3发送数据第页 共 21页数据收发时序表6内容 说明 最小值 典型值 最大值 Tad 输入地址延迟时间3.4 nS--- --- Taddr_hold 输出地址保持时间 (6.8/F osc_in ) mS--- ---注F osc_in 的计算单位为MHz10 电流电压频率曲线图8.0 7.06.0 5.04.03.02.01.03.0 3.54.0 4.55.0 5.5SP2339/SP2349 电压VSP2349图10 电流电压频率关系图11 S P23X9极限参数! 工作温度0°C~70°C 或-40°C ~85°C 可选 ! 存储温度 -65°C~150°C ! 工作电压6.0V! 最大功耗0.8 W电流m A2.0MHz 4.0MHz 8.0MHz 16.0MHz第页 共 21页12 直流电气特性测试温度0°C~70°C VCC=5.0V ±5%GND=0V表7内 容 最小值 典型值 最大值 单位 测试条件工作电压 3.0 5.5 V 输入低电平 GND 1.0 V VCC=5.0V 输入高电平3.0VCC V VCC=5.0VADRI0ADRI1输入漏电流1.0 0 +1.0 AInput pin at VCC or GND 输出口电流除OSCO 外5.0 mA VCC=5.0V RX0~RX3上拉电阻 120K ΩVCC=5.0V输出低电平 0.3 V VCC=5.0V I OL =4.0mA 输出高电平 4.7VVCC=5.0V I OH =4.0 mA输入时钟1 2.0 16.0 MHz VCC=5.0V@SP2349 输入时钟2 1.0 8.0 MHz VCC=3.0V@SP2339 OSCI 口输入 低电平 GND 1.55 V VCC=5.0V OSCI 口输入 高电平 3.45VCC V VCC=5.0V工作电流1 4.6 6.2 mA F osc =8.0MHzInput pin at VCCOutput pin floating 工作电流2 6.5 8.3 mA F osc =16.0MHzInput pin at VCCOutput pin floating 睡眠电流0.5 1.5 AInput pin at VCCOutput pin floating第页 共 21页13 封装信息! DIP 封装图11 DIP 封装示意图Units INCHES MILLIMETERSDimension LimitsMIN NOM MAX MIN NOM MAXPitchp .100 2.54 Top to Seating Plane A .140 .155 .170 3.56 3.94 4.32 Molded Package Thickness A2 .115.130.145 2.92 3.30 3.68Base to Seating Plane A1 .015 0.38 Shoulder to Shoulder Width E .300 .313 .325 7.62 7.94 8.26 Molded Package Width E1 .240 .250 .260 6.10 6.35 6.60 Overall Length D .890 .898 .905 22.61 22.80 22.99 Tip to Seating Plane L .125 .130 .135 3.18 3.30 3.43 Lead Thickness c .008 .012 .015 0.20 0.29 0.38 Upper Lead Width B1 .045 .058 .070 1.14 1.46 1.78 Lower Lead Width B .014 .018 .022 0.36 0.46 0.56 Overall Row Spacing eB.310.370.430 7.87 9.40 10.92Mold Draft Angle Top α5 10 15 5 10 15 Mold Draft Angle Bottomβ5 10 15 5 10 15第页 共21页! SOIC 封装图12 SOIC 封装示意图Units INCHES MILLIMETERS Dimension LimitsMIN NOM MAX MIN NOM MAXPitchp .050 1.27 Overall HeightA .093 .099 .104 2.362.502.64Molded Package ThicknessA2.088.091.094 2.24 2.31 2.39 Standoff A1 .004 .008 .012 0.10 0.20 0.30 Overall WidthE .394 .407 .420 10.01 10.34 10.67 Molded Package Width E1 .291 .295 .299 7.39 7.49 7.59 Overall Length D .446 .454 .462 11.33 11.53 11.73 Chamfer Distance h .010 .020 .029 0.25 0.50 0.74 Foot Length L .016.033.0500.41 0.84 1.27Foot Angle φ 0 4 8 0 4 8 Lead Thickness c .009 .011 .012 0.23 0.27 0.30 Lead WidthB .014.017.0200.36 0.42 0.51Mold Draft Angle Top α 0 12 15 0 12 15 Mold Draft Angle Bottomβ0 12 15 0 12 15第页 共 21页成都视普科技有限公司 Chengdu Seper Technology Co., Ltd. 地址成都市高新区高朋大道5号中国 · 成都留学人员创业园A 座4楼 邮编610041 电话028-8513808685188046转801 传真028-8513808685188046转808 网站。
RS485、RS232、RS422标准及应用2009-10-27 14:51现在电视台硬盘播出及工业监视系统得到广泛运用,计算机自动控制成为主流。
下面我们通过电视台的播放控制介绍相关的串口知识。
其它应用与此类似。
视频设备的控制接口,以及状态监控接口有必要进行一下归纳。
计算机控制主要有串口、并口、USB、IEEE1394、以太网接口等,在数字化电视播控中心主要采用串口、以太网接口进行控制。
一串口控制通常我们对于视频服务器、录像机、切换台等直接播出、切换控制主要使用串口进行,主要使用到RS-232、RS-422与RS-485三种接口控制。
下面就串口的接口标准以及使用和外部插件和电缆进行探讨。
RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。
例如:视频服务器都带有多个RS422串行通讯接口,每个接口均可通过RS422通讯线由外部计算机控制实现记录与播放。
视频服务器除提供各种控制硬件接口外,还提供协议接口,如RS422接口除支持RS422的Profile协议外,还支持 Louth、Odetics 、BVW等通过RS422控制的协议。
RS-232、RS-422与RS-485都是串行数据接口标准,都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布。
RS-422由RS-232发展而来,为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mbps,传输距离延长到4000英尺(速率低于100Kbps时),并允许在一条平衡成分布式系统,其允许最多并联32台驱动器和32台接收器。
RS-485与RS-422的不同还在于其共模输出电压是不同的,RS-485是-7V至+12V之间,而RS-422在-7V 至+7V之间;RS-485满足所有RS-422的规范,所以RS-485的驱动器可以用在RS-422网络中应用。
浅谈RS232、RS422与RS485标准及应用摘要:本文简述了RS232、RS422与RS485的由来、接口标准及网络安装注意要点,分析了其接地问题及瞬态保护。
引言随着自动化技术的发展,为了提高应急备用电源的柴油发电机组的工作可靠性,对于一台柴油发电机组,经常要求机组控制器带有RS485接口,提供标准MODBUS协议,方便中央控制室(DCS系统)进行采集数据、遥测、遥控,支持工业智能化远程操作。
本文将结合实际,对RS232、RS422与RS485标准及应用作简要分析和阐述。
1、RS232、RS422与RS485的由来RS232、RS422与RS485都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的。
为改进RS232通信距离短、速率低的缺点,RS422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。
RS422是一种单机发送、多机接收的单向、平衡传输规范。
为扩展应用范围,EIA又在RS422基础上制定了RS485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围。
在通讯工业领域,习惯将上述标准以RS作前缀称谓。
RS232、RS422与RS485标准只对接口的电气特性做出规定而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。
2、RS232串行接口标准目前RS232是PC机与通信工业中应用最广泛的一种串行接口。
RS232被定义为一种在低速率串行通讯中增加通讯距离的单端标准,它采取不平衡传输方式,即所谓单端通讯,其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约15米,最高速率为20kb/s,是为点对点通讯而设计的,适合本地设备之间的通信。
3、RS422与RS485串行接口标准1)平衡传输。
RS-232多串口扩展器件SP2538及其应用摘要2538是采用低功耗工艺生产的专用串行口232扩展芯片,它可将单片机或等原有的单串口扩展至5个全双工口,从而解决了此类器件串口太少的问题。
文中介绍了2538的性能特点,引脚功能及应用方法,并以单片机为例给出了多串口扩展的硬件电路及相应的通信程序。
关键词-232;串口扩展;单片机;25381概述SP2538是专用低功耗串行口扩展芯片,该芯片主要是为解决当前基于UART串口通信的外围智能模块及器件较多,而单片机或DSP原有的UART串口又过少的问题而推出的。
利用该器件可将现有单片机或DSP的单串口扩展至5个全双工串口。
与其它具有多串口的单片机或串口扩展方案相比,采用SP2538实现的多串口扩展方案,具有扩展串口数量多、对扩展单片机的软硬件资源占用少、使用方法简单、待扩展串口可实现较高的波特率、成本低廉、性价比高等优点。
同时,它还具有如下特点●可将单UART串口扩展为5个UART串口;●工作速率范围宽,5个子串口可产生2400bps~9600bps之间的任意波特率;●可全双工工作,母串口和所有子串口都支持全双工UART传输模式;●工作电源电压范围宽3.3V~5.5V;范文先生网收集整理●典型工作电流为4.6mA子串口速率为9600bps、VCC为3.3V时;●资源占用少,除占用上位机原有串行口中断外,不占用任何中断资源;●具有节电模式,进入节电模式后,其典型静态电流约8μA;●上位机发送数据可自动唤醒;●输出误差小,所有子串口的输出波特率误差均小于0.08%;●误码率低于10-9所有串行口数据输入波特率误差小于等于±2%;●接收范围宽,波特率误差小于2.5%时,子串口即可完全正确接收;母串口的接收范围更宽,并可自适应56000bps和57600bps两种标准波特率fosc—in为20.0MHz时;●可用上位机进行监控,并具有上电复位和看门狗监控输出,适用于没有看门狗或需要更多重监控的高可靠上位机程序监控系统。
2引脚功能SP2538具有双列直插DIP及双列贴片SOIC两种封装形式。
后缀为SP2538xxH的复位时输出高电平而后缀为SP2538xxL的复位时输出低电平,可分别适用高、低电平复位的单片机。
图1给出了DIP封装高电平复位SP2538DPH的外形及引脚排列图,各引脚的功能说明列于表1。
表12538引脚说明引脚名称引脚编号引脚类型引脚描述5~01、3、5、7、9、14串口5~串口0数据发送连接上位机口5~02、4、6、8、10、13串口5~串口0数据接收连接上位机口111---电源1逻辑电路电源+12复位控制输出适用于高电平复位的215---电源2时钟电路电源16---电源地17时钟输入用于波特率发生器等18时钟输出0~219~21母串口5数据接收地址0~20~222~24母串口5数据发送地址0~23应用说明3.1母串口收发数据过程与时序1上位机接收来自母串口的数据上位机从母串口接收到一个字节数据后,会立即读取SP2538的输出地址ADRO2~ADRO0编码方式为8-4-2-1码,然后根据输出地址的编码即可判断接收到的数据来自哪个子串口,上位机接收来自母串口的数据时序如图2所示。
2上位机向母串口发送数据发送数据时,上位机首先通过串口写入欲发送数据的子串口号,即先由上位机的串口发送数据地址ADRI2~ADRI0编码方式8-4-2-1码,然后将欲发送的数据由上位机串口发出。
需要注意的是母串口的波特率是子串口的6倍,即上位机在连续向母串口发送6个字节的时间内,子串口才能发送完一个字节。
上位机向母串口发送数据的时序如图3所示。
表2列出了SP2538的操作时限要求。
表22538操作时限时限内容说明最小值典型值最大值-上电复位延时150……芯片指令复位时间……50μ-看门狗溢出复位脉冲宽度80……-数据接收地址保持时间10……-芯片唤醒延时……9-数据发送地址保持时间2-……-看门狗溢出周期800……3.2其它说明母串口和所有子串口内部均具有独立的数据发送缓冲存储器FIFOBuffer和接收缓冲存储器FIFOBuffer,所有的RS232串行口都支持全双工异步传输模式,即所有串行口都可以同时独立接收和发送数据,且不会丢失任何数据。
母串口波特率由K1=2880fosc-in计算,其单位为MHz,且fosc—in小于20.0Hz。
在SP2538输入时钟fosc—in为20.0MHz时,母串口可自动适应上位机的56000bps和57600bps两种标准波特率输入,即fosc—in为20.0MHz时,上位机的RS232波特率可以设置成56000bps或57600bps。
子串口波特率为K2=480fosc—in。
母串口和所有子串口都是TTL电平接口,可直接与单片机或TTL数字电路接口,若需连接PC机,则必须增加电平转换芯片,如MAX202,ICL232等。
SP2538具有内置的上电复位电路和可关闭的看门狗监控电路,用于监控上位机程序是否正常运行,同时也可以简化上位机复位电路的设计。
上位机写命令字0x10可实现喂狗,而写命令字0x15则可关闭看门狗初次上电后,看门狗处于激活状态,写命令字0x20可激活看门狗监控功能。
上位机可通过芯片复位指令命令字为0x35在任何时候对芯片进行指令复位复位时间Treset小于50μs。
图2和图3上位机可通过芯片睡眠指令命令字为0x55使芯片在任何时候进入微功耗睡眠模式,以降低系统功耗。
初次上电后,芯片不会自行进入睡眠模式。
应当注意的是,只能由上位机发送任意一个字节数据将其唤醒,而其它所有子串口均不能将其唤醒。
未使用的输入端口如RX0、RX1、RX2…等必须连接到VCC,未使用的输出端口如TX0、TX1、TX2…、ADRO0、ADRO1…等必须悬空。
4应用实例SP2538的应用领域包括数据采集、工业控制、仪器仪表、智能家电、医疗设备、税控加油机、商业POS机、家庭安防控制、车辆监控和调度、GPS卫星定位与导航、有线及无线数据传输、基于PC机的多串口卡、水、电、气表抄表系统、室外多媒体电子广告以及其它对通信稳定性、成本和开发周期要求比较严格的各种应用和工业MODEM阵列等方面。
4.1应用电路利用SP2538可将仅有一个UART串口的单片机扩展为具有5个UART串口的单片机。
图4以常用的AT89C52单片机为例给出了相应的串口扩展电路。
图中,AT89C52的全双工串口与SP2538的母串口5相连。
该串口5同时也作为命令/数据口。
SP2538的ADRI0、ADRI1、ADRI2分别与AT89C52的P2.3、P2.4、P2.5口相连,可用于选择发送数据时的相应串口0~4,ADRO0、ADRO1、ADRO2与AT89C52的P2.0、P2.1、P2.2口线相连,可用于判别接收的数据来自串口0~4的哪一个。
SP2538的时钟频率可选为20MHz,此时母串口5的波特率为57600bps,串口0~4的波特率为9600bps。
4.2应用程序下面是与上述硬件电路相关的接口程序,该程序用C51语言编制,程序分为上位机发送、接收中断服务程序和主程序两部分。
ucharidatauart0_t_but[8];asend_buf[8];ucharidatauart0_r_butucharidatauart0_send_numucharidatauart_port_num,send_byte_num,uart_point-itbdatawritesuccess,uart_busy;bitbdatauart0_receivesbitADRI_0=P2^0;sbitADRI_1=P2^1;sbitADRI_2=P2^2;sbitADRO_0=P2^3;sbitADRO_1=P2^4;sbitADRO_2=P2^5;serialinterrupt4using3{//上位机RS232接收、发送中断入口ifRI{;SwitchP2&0x07{caseuart0_r_buf=SBUFuart0_receive=1break;}else{TI=0;switchuart_pointer{caseuart_pointer++;ifuart0_send_num{ADRO_0=0;ADRO_1=0;ADRO_2=0;Uart0_send_num--;SBUF=uart0_t_buf[uart0_send_num]uart_busy=1break;}elseifuart1_send_num|uart2_send_num|uart3_send_num|uart4_send_num{ADRO_0=0ADRO_1=0ADRO_2=0SBUF=0x00uart_busy=1break;}else{uart_busy=0;break;}}注case1…case2…case3…case4…除地址不同外其余同case0。
Voiduart_senduncharuart_port_num,ucharsend_bytenum{uchariswitchuart_port_numcasefori=0;i<send_byte_num;i++{uart0_t_buff[i]=send_buf[i];}uart0_send_num=send_byte_num;write_success=1;ifuart_busy==0{T1=1;uart_pointer=0;break;}else{break;}}注case1…case2…case3…case4…除地址不同外其余同case0。
main{TMOD=0x20;THI=0xff;TCON=0x40;SCON=0x50;PCON=0x80;//波特率加倍IE=0x90;_buf[0]=0x31;write_success=0;if!uart0_send_num{uart_send0,4}}}5结束语近年来,以单片机为核心构成的具有UART接口的智能仪器仪表及智能模块不断涌现,此类产品可方便地与单片机构成分布式系统。
另一方面,系统中的单片机也要与上位计算机之间进行通信,从而构成二级分布式系统。
SP2538的出现为此类多串口应用领域提供了一个良好的解决方案。