串行扩展接口

2024-09-08

串行扩展接口(精选3篇)

串行扩展接口 篇1

在计算机控制与网络技术不断推广和普及的今天, 串行接口技术简单成熟, 性能可靠价格低廉, 软硬件环境条件要求不高, 广泛用于计算机、PLC、单片机、监控模块等领域。在现代通信技术和网络通信中发挥重要作用, 如何实现计算机控制系统各种接口技术。本文对RS-232、RS-422A和RS-485三种常见接口数据线工作方式、基本参数和选择应用进行深入分析, 供在实际工作中参考使用。

一、数据线通信基本原理和特点

通信接口一般有并行通信接口和串行通信接口两种。并行通信方式的并行数据通信是以字节为单位的数据传输方式, 除了8根或16根数据线、一根公共线, 还需要通信双方联络用的控制线。其特点是传送速度快, 传送线根数多;但是, 抗干扰能力差, 一般用于短距离数据传送。串行通信方式的串行数据通信是以二进制的位 (bit) 为单位的数据传输方式, 每次只传送一位, 最少需要两根线 (双绞线) 就可以连接多台设备, 组成控制网络。其特点是串行通信需要信号线少, 具有一定抗干扰能力, 适用于距离较远的场合。计算机和PLC都有通用的串行通信接口, 两者连接方便, 为数据传送和网络化远程控制提供良好的环境条件, 而且工业控制计算机之间的通信一般采用串行通信方式, 所以, 串行通信广泛用于自动化控制系统。

串行口通讯的工作过程, 1.接收数据的过程。通信时, 首先确定串行口的工作状态, 当REN为1时, RXD端允许串行口接收串行数据;当REN为0时, 禁止串行口接收数据。所以通讯时该口处于允许接受数据状态;其次, 在接收端收到一个起始信号 (低电平信号) 后, 数据采样、接收标志位置位, 向CPU发出中断申请, CPU响应中断, 取走数据, 经清零后完成一帧数据的接收。接着启动下一轮的输入过程, 直到所有数据输入完毕。2.发送数据的过程。CPU发送数据时, 在发送控制器的作用下, TXD端首先发送一个起始信号, 其次由低到高逐位发送数据, CPU发出中断申请, 完成一帧数据发送。CPU响应中断, 接着启动下一轮的发送过程, 直到所有数据发送完毕。

二、常用串行通信数据接口线的工作方式

1. RS-232C。

RS-232C是RS-232发展而来, 是美国电子工业联合会 (EIC) 在1969年公布的通信协议, 至今任在计算机和其它相关设备通信中得到广泛使用。当通信距离较近时, 通信双方可以直接连接, 在通信中不需要控制联络信号, 只需要3根线, 即发送线 (TXD) 、接收线 (RXD) 和信号地线 (GND) , 便可以实现全双工异步串行通信。工作在单端驱动和单端接收电路。计算机通过TXD端子向PLC的RXD发送驱动数据, PLC的TXD接受数据后返回到计算机的RXD数据端子保持数据通信。如图1所示, 由系统软件通过数据线传输数据;如“三菱”PLC的设计编程软件FXGP WIN-C和“西门子”PLC的STEP7-Micro/WIN32编程软件等可方便实现系统控制通信。其工作方式简单, RXD为串行数据接收信号, TXD为串行数据发送信号, GND接地连接线。其工作方式是串行数据从计算机TXD输出, PLC的RXD端接收到串行数据同步脉冲, 再由PLC的TXD端输出同步脉冲到计算机的RXD端, 反复同时保持通信。从而实现全双工数据通信。

2. RS-422A。

RS-422A采用平衡驱动、差分接收电路, 如图2所示, 从根本上取消信号地线。平衡驱动器相当于两个单端驱动器, 其输入信号相同, 两个输出信号互为反相信号。外部输入的干扰信号是以共模方式出现的, 两根传输线上的共模干扰信号相同, 因此接收器差分输入, 共模信号可以互相抵消。只要接收器有足够的抗共模干扰能力, 就能从干扰信号中识别出驱动器输出的有用信号, 从而克服外部干扰影响。在RS-422A工作模式下, 数据通过4根导线传送, 因此, RS-422A是全双工工作方式, 在两个方向同时发送和接收数据。两对平衡差分信号线分别用于发送和接收。

3. RS-485。

RS-485是RS-422A的基础上发展而来的, RS-485许多规定与RS-422A相仿;RS-485为半双工通信方式, 只有一对平衡差分信号线, 不能同时发送和接收数据。使用RS-485通信接口和双绞线可以组成串行通信网络, 如图3所示。工作在半双工的通信方式, 数据可以在两个方向上传送, 但是同一时刻只限于一个方向传送。计算机端发送PLC端接收, 或者PLC端发送计算机端接收。

三、性能参数分析

1. 主要参数含义。

(1) 传输距离, 信号传递中不衰减的最小距离, 反映信号传输距离的基本性能。在选择中分为近距离数据线和远距离线, 在实际中视具体情况而定。 (2) 数据传输速率是指单位时间内, 在数据传输系统的相应设备之间实际传递的平均数据量, 或者说单位时间内传输的信息量, 又称有效数据传输率, 单位:b/s或Mb/s;数据传输数据反映了终端设备之间的信息传输能力, 是衡量系统传输性能的主要指标, 实际中数据传输速率越高越好。 (3) 输入输出阻抗, 要求数据线输入阻抗要高, 信号损失小, 输出阻抗要低, 带负载能力强。 (4) 输入电压阀值, 即数据线接口工作的最低电压。

2. 三种通信接口数据线性能参数比较。详见表1。

四、接口应用

1. RS-232/232C

RS-232数据线接口简单方便, 但是传输距离短, 抗干扰能力差。为了弥补RS-232的不足, 改进发展成为RS-232C数据线, 典型应用有:计算机与Modem的接口, 计算机与显示器终端的接口, 计算机与串行打印机的接口等。主要用于计算机之间通信, 也可用于小型PLC与计算机之间通讯。如三菱PLC等。

2. RS-422/422A,

RS-422A是RS-422的改进数据接口线, 数据线的通信口为平衡驱动, 差分接收电路, 传输距离远, 抗干扰能力强, 数据传输速率高等, 广泛用于小型PLC接口电路。如与计算机链接。小型控制系统中的可编程序控制器除了使用编程软件外, 一般不需要与别的设备通讯, 可编程控制器的编程接口一般是RS-422A或RS-485, 用于与计算机之间的通讯;而计算机的串行通讯接口是RS-232C, 编程软件与可编程控制器交换信息时需要配接专用的带转接电路的编程电缆或通讯适配器。网络端口通讯, 如主站点与从站点之间, 从站点与从站点之间的通讯可采用RS-485。

3. RS-485是在RS-422A基础上发展而来的;

主要特点, (1) 传输距离远, 一般为1200m, 实际可达3000m, 可用于远距离通信。 (2) 数据传输速率高, 可达10Mbit/s;接口采用屏蔽双绞线传输。注意平衡双绞线的长度与传输速率成反比。 (3) 接口采用平衡驱动器和差分接收器的组合, 抗共模干扰能力增强, 即抗噪声干扰性能好。 (4) RS-485接口在总线上允许连接多达128个收发器, 即具有多站网络能力。注意, 如果RS-485的通讯距离大于20m时, 且出现通讯干扰现象时, 要考虑对终端匹配电阻的设置问题。RS-485由于性能优越被广泛用于计算机与PLC数据通讯, 除普通接口通信外, 还有如下功能;一是作为PPI接口, 用于PG功能、HMI功能TD200 OP S7-200系列CPU/CPU通信。二是作为MPI从站, 用于主站交换数据通信, 三是作为中断功能的自由可编程接口方式用于同其它外部设备进行串行数据交换等。

结束语

以上是几种常见通信数据接口线, 还有一些比较特殊通信数据接口线, 如RS-423、RS-449等, 虽然形状插接形式不同, 但它们的工作方式基本相似;又如配有USB接口转接数据线等, 另外, 不同的PLC使用通讯连接线内部是不同的, 比如西门子S7-200的PLC与欧姆龙的PLC的连接线外部封装相同, 但连接线内部接线是完全不同的, 所以不能相互替代使用只要掌握它们性能特点应用对象和通信功能方式等, 就能更好使用它;数据线通信是计算机与设备之间, 设备与设备之间不可缺少信息联络线, 是实现各种自动化控制接口的桥梁和纽带, 在计算机控制系统中发挥着不可替代的作用。

参考文献

[1]赵伟, 宫国顺, 韩雪松.计算机应用基础[M].北京:北京交通大学出版社, 2011.

[2]谢丽萍, 王占富, 岂兴明.PLC快速入门与实践[M].北京:人民邮电出版社, 2010.

[3]张梦欣.单片机原理与接口技术[M].北京:中国劳动社会保障出版社, 2009.

[4]乔桂红.数据通信[M].北京:人民邮电出版社, 2011.

[5]李江全, 刘荣, 李华, 等.西门子S7-200PLC数据通信及测控应用[M], 北京:电子工业出版社, 2011.

串行扩展接口 篇2

摘要:异步串行通信接口(SCI)因其结构简洁、使用方便,因而在各类MCU、DSP和MPU芯片设计中获得广泛的应用。本文给出一种以状态机为控制核心、以数据流为执行中心的异步串行通信接口IP核结构设计的通用方法。此方法已在笔者所设计的DSP芯片中得到验证。

关键词:SCI IP核设计 状态机 数据流

引言

目前,基于传统IC芯片的微电子应用系统设计技术正在转向基于知识产权(IP,Intellectual Property)核的片上系统(SoC,System on Chip)技术发展。另外,IC设计在国内的发展很快,各种规模的IC设计中心和公司不断出现。因此,IP核的设计已开始逐渐成为国内微电子系统设计的一项支撑技术。从应用功能角度划分IP核有两大类:微处理器IP核(如8位8051核、32位ARM核等)和各种接口IP核(如LCD控制器、各种串行总线接口IP核等)。本文以异步串行通信接口(SCI,Serial Communication Interface)接口IP核结构设计为例,说明SCI、UART、SPI、USB等接口IP核的设计方法。

SCI的通信方式采用标准NRZ格式来进行外设间的异步数字通信。因其结构简法,通常嵌入到DSP、MCU和MPU或外设控制芯片内部,作为芯片的一个接口功能模块。SCI通常由三个功能单元构成:波特率脉冲产生单元、发送单元和接收单元。其结构如图1所示。在SCI数据收发中,数据帧的数据格式要比地址帧的数据格式复杂得多。在不同的通信方式下,数据帧的格式是不同 的。为此在发送器和接收器中各引入了与数据帧格式相对应的状态机来实现数据流的控制。本文所介绍的就是基于这种设计思想的一种通用设计方法。

(本网网收集整理)

1 SCI数据发送单元

数据发送单元主要功能是完成数据的并/串转换及发送,同时产生发送标志位。其结构如图2所示,字符发送状态机如图3所示。下面简要介绍发送单元各功能模块及其状态转换。

(1)TXD时钟八分频器

对基于波特率时钟进行八分频,并输出两个基本脉冲―TXD_CLK_WORK(用于计数、移位等)和TXD_CLK_END(用于标志位的生成和数据流输出)。

(2)TXD状态寄存器

通过此状态寄存器设置通信控制寄存器2的两个控制位―TXEMPTY和TXRDY位,以表示数据写入SCI_TXBUF和启动发送过程。

(3)发送字符计数器

当字符状态机的输出状态为允许字符计数时,其开始对发送的字符计数。当计数器值等于编程的字符数时,输出TX_CHAP_REACH信号作为字符状态机激励,使之进入非字符输出状态。

(4)发送空闲线计数器

当字符状态机进入发送空闲线数据状态时,开始工作。当计数到一定值时,输出信号TX_IDLECOUT_REACH作为字符状态机激励,使之进入非空闲线数据计数状态。

(5)发送数据流的形成

在TXBUF2SHIFT的高电平脉冲作用下,在SCI_TXBUF中待发送数据,经过选择器选择指定位数的数据送入SCI_TXSHIFT低位,不足的高位清“0”。与此同时,TXWAKE数据也送到WUT寄存器,在地址位模式情况下,由ADDR_IDLE控制在WUT中形成地址位;并由SCI_TXSHIFT数据位、地址位和奇偶方式位三者逻辑或形成奇偶校验位。

(6)当前发送字符状态机

在启动、控制位、计数器溢出等激励作用下,实现发送字符状态的输出和转换。发送字符状态机的激励有:TXEMPTY(为“0”时启动TXD发送)、ADDR_IDLE(地址/空闲线模式选择位)、PARENA(奇偶校验使能位)、STOPBIT(选择1或2个停止位)、WUT(发送空闲位数据允许位)、TX_CHARCOUT_REACH(发送字符数目已够位)、TX_IDLECOUT_REACH(发送空闲数目已够位)。发送字符状态机(见图3)的状态有:1为帧停止位(1位),3为帧第1停止位(2位),5为帧第2停止位(2位),8位帧起始位

,9为待机状态,A为帧数据位,B为空闲线模式起始位,C为帧地址位,E为帧奇偶校验位,F为空闲线模式停止位,D为空闲线模式计数0~7。

2 SCI数据接收单元

数据接收单元的功能是完成串行数据接收及接收标志位的生成。其结构如图4所示,接收起始位检测和接收字符状态机如图5、图6所示。

接收单元各功能模块及状态转换说明如下。

(1)RXD时钟八分频器

对波特率时钟进行八分频,并保持其与所接收串行数据流的.字符同步。其输出两个时钟脉冲:RXD_CLK_WORK,用于计数、移位等;RXD_CLK_END,为数据流各种方式的停止位前一个字节时间段内提供脉冲。

图4 SCI数字接收单元

(2)起始位检测模块

是一种三位四状态机。其激励有两个:RXD_1_VALUE―接收的串行数据流激励;RXD_END_CHK―一次接收完毕的脉冲激励。其状态有如下几种(见图5):0(待机状态)、1(空状态)、2(空状态)、3(发现“1”到“0”的跳变状态)、4(输出时钟同步信号)、5(字符接收过程中输出RXD_CLK_AYN和RXD_START_DRV)。

(3)字符检测模块

主要功能是接收数据流。其在采样时钟驱动下数据流通过三个寄存器,随后在RXD_CLK_WORK脉冲作用下,三个寄存器的数据通过表决电路,把数据送到接收数据缓冲器RXD_VALUE中,为把数据送到移位寄存器RX_SHIFT做准备。

(4)当前接收字符状态机

用来标识当前所接收的数据是哪一种字符,以及在下一个RXD_CLK_WORK字符周期将转换到哪一种状态,并且根据当前接收字符的状态,驱动其它部件进行合适的操作。其激励有:RXD_START_DRV(RXD起始位有效激励)、RX_CHAR_REACH(RXD字符接收数目已够)、CCR3_ADDR_IDLE(地址/空闲线模式选择)、CCR5_PARENA(奇偶校验使能)。其状态(见图6)有:0(待机状态)、1(帧数据位)、2(帧起始位)、3(帧地址位)、4(帧奇偶校验位)、5(空状态)、6(帧停止位)。

(5)接收字符计数器

当接收字符状态机处于帧数据位阶段时,其开始计数;当与可编程的数据相同时,输出RX_CHAR_REACH给接收字符状态机。

(6)接收空闲线计数器

当处于待机状态时,开始计数器,当计数到一定时,输出一个脉冲,将RXSP1_RXWAKE置位为1;在下一个字符即将接收、读取SCI_RXBUF寄存器或SCI复位的情况下,RXST1_RXWAKE被复位为0。

(7)接收数据移位寄存器(SCI_RXSHIFT)

根据接收字符状态机的状态接收与检测的串行数据流,将所接收的正确数据送入SCI_RXBUF并置相应的标志,否则置出错标志。

(8)BRKDT间断检测计数器

当产生RXST4_FE帧错误时,开始工作。当RXD_VALUE为“1”时,其被复位;当RXD_VALUE为“0”时,表示没有数据接收,开始计数;当计到一定值时,输出计数满信号,此时间断检测标志RXST5_BRKDT被置位。

结语

串行扩展接口 篇3

关键词:串行Flash存储器接口AT45DB161B

1概述

Flash存储器按其接口可分为串行和并行两大类。串行Flash存储器大多采用I2C接口或SPI接口进行读写;与并行Flash存储器相比,所需引脚少、体积小、易于扩展、与单片机或控制器连接简单、工作可靠,所以串行Flash存储器越来越多地用在各类电子产品和工业测控系统中。

DataFlash是美国Atmel公司新推出的大容量串行Flash存储器产品,采用NOR技术制造,可用于存储数据或程序代码,其产品型号为AT45DBxxxx。此系列存储器容量较大,从1Mb~256Mb;封装尺寸小,最小封装型式(CBGA)尺寸为6mm×8mm;采用SPI接口进行读写,硬件连线少;内部页面尺寸较小,8Mb容量的页面尺寸为264字节,16Mb和32Mb容量的页面尺寸为512字节,64Mb容量的页面尺寸为1056字节,128Mb容量和256Mb容量的页面尺寸为2112字节。另外,AT45DBxxxx系列存储器内部集成了两个与主存页面相同大小的SRAM缓存,极大地提高了整个系统的灵活性,简化了数据的读写过程。此外,AT45DBxxxx系列存储器工作电压较低,只需2.7~3.6V;整个芯片的功耗也较小,典型的读取电流为4mA,待机电流仅为2μA。所有这些特点使得此系列存储器非常适合于构成微型、低功耗的测控系统。笔者就使用AT45DB161B存储器和PIC16LC73B单片机及微型压力传感器构成了用两片纽扣电池驱动的微型压力测量装置,其外形尺寸仅为φ10mm×20mm。

2芯片简介

2.1引脚排列和功能

AT45DB161B为DataFlash系列中的中档产品,单片容量为16Mb。其引脚排列如图1所示,引脚功能如表1所列。

表1AT45DB161B引脚功能

引脚名称功能描述CS片选SCK串行时钟SI串行输入SO串行输出WP页面写保护RESET复位RDY/BUSY准备好/忙NC未使用

2.2芯片内部逻辑结构

AT45DB161B的内部逻辑结构分为三个部分:存储器页阵列(主存)、缓存与I/O接口。AT45DB161B的存储页面大小为528字节,整个存储器共分为4096页,片内集成了两个528字节的SRAM缓存,内部逻辑结构如图2所示。

3存储器读写接口

3.1SPI接口及操作模式

AT45DB161B存储器采用SPI接口进行读写。SPI接口是一种通用串行接口总线,字长为8位,用来与外部设备(例如EEPROM、A/D转换器等)进行通信。SPI接口利用SCK、SI和SO三根线进行数据的读/写。其中,SCK为时钟信号,SI和SO为数据输入和输出线。AT45DB161B的SCK引脚的时钟信号必须由外部单片机或控制器输入,读/写命令字由SI引脚输入,数据由SO引脚输出。

SPI接口共有四种操作模式,分别为0、1、2和3。SPI操作模式决定了设备接收和发送数据时的时钟相位和极性,即决定了时钟信号的上升和下降沿与数据流行方向之间的.关系,如图3所示。

DataFlash系列存储器仅支持使用得最为广泛的SPI模式0和3。在这两种模式下,SCK信号的上升沿触发数据输入,下降沿触发数据输出。二者的区别是SCK信号的起始电平不同。

3.2存储器命令接口与状态机

除了基本存储单元外,DataFlash系列存储器内部还包括命令用户接口CUI(CommandUserInterface)和状态机。CUI接收用户软件的操作命令,将其翻译成状态机内部操作码并进行命令的有效性检验。状态机控制存储器所有的内部操作,包含一个8位的状态寄存器(statusregister),用来指示设备的操作状态。向存储器输入读状态寄存器命令可将状态寄存器的数据从最高位开始依次读出。状态寄存器各位的意义如表2所列。

表2状态寄存器各位定义

位7位6位5位4位3准备好/忙比较容量位2位1位0将来使用

3.3存储器操作命令及其模式

【串行扩展接口】推荐阅读:

高速串行接口09-15

异步串行接口10-10

串行程序01-18

串行设计06-10

串行数据10-27

高速串行12-01

串行方式12-11

串行协议12-22

串行05-24

光纤串行通讯05-10

上一篇:自我更新能力下一篇:血流影响