精华内容
下载资源
问答
  • SJXX串口扩展芯片1 概述SJ000是一款具备I2C总线/SPI总线/UART接口的四通道异步收发器件,通过模式选择使得该器件工作于以上任何一种主接口模式下。器件的四个通道UART可提供高达2Mbps的数据率,低功耗模式和睡眠电流...

    SJXX串口扩展芯片
    1 概述
    SJ000是一款具备I2C总线/SPI总线/UART接口的四通道异步收发器件,通过模式选择使得该器件工作于以上任何一种主接口模式下。器件的四个通道UART可提供高达2Mbps的数据率,低功耗模式和睡眠电流。每个通道含有一个接收器和一个发送器,并带有64字节发送/接收FIFO,通道波特率、字长、校验格式可独立设置,也可以独立设置IrDA红外通信、RS-485自动收发控制、9位网络地址自动识别、软件/硬件自动流量控制、广播接收等。器件还带有可编程中断功能,实现与主机的信息交互。
    2 特征
    2.1 通用特性
    a) 3.3V工作电压
    b) 主接口可选择为:I2C总线、SPI接口或UART接口
    c) 子接口为:全双工四通道UART
    d) 子接口发送器带有64字节发送FIFO
    e) 子接口接收器带有64字节接收FIFO,存储有状态标志及数据
    f) 中断方式时,可编程的发送和接收FIFO的触发阈值
    g) 软件流/硬件流方式时,编程可选的接收FIFO触发设置
    h) 软件流/硬件流控制特性,包括:
    ――可编程字Xon/Xoff
    ――可编程的自动RTS,和自动CTS
    i) 支持自动/手动RS-485(自动网络地址检测)
    j) 通过RTS信号的RS-485驱动器方向控制
    k) RS-485驱动器方向极性可控制
    l) 内置IrDA编码器和译码器接口
    m) 可编程的波特率产生器
    n) 可编程的软件/硬件睡眠模式控制
    o) Line break的产生和检测
    p) 内部回送模式
    q) 系统中断控制
    r) 红外功能
    s) 符合绿色环保无铅封装
    2.2 I2 主接口特性
    a) 400kbit/s(最大速率)
    b) 仅为从机模式
    c) 总线噪声滤波
    2.3 SPI主接口特性
    a) 最高速率为5Mbit/s
    b) 仅为从机模式
    c) 16位,SPI模式0
    2.4 UART主接口特性
    a) 主接口为标准的UART串口,无需其它地址信号、控制信号线
    b) 可编程波特率设置,最高速度可以达到2M bit/s
    c) 可选择的奇校验,偶校验和无校验模式
    d) UART主接口可以通过引脚设置为红外模式
    e) UART主接口可以通过引脚选择是否采用转义字符模式
    2.5 UART子接口特性
    a) 每个子串口为全双工,每个子串口可以通过软件开启/关闭
    b) 每个子串口波特率可以独立设置
    c) 每个子串口可以软件设置为是否接收数据广播
    d) 每个子串口状态查询功能
    e) 每个子串口提供可编程的串行接口特性,包括:
    ――8或9位字符长度
    ――奇校验、偶校验、强制校验、无奇偶校验的发生和检测
    ――1或2个停止位产生和检测
    ――校验错误、帧错误及溢出错误检测
    f) FIFO特性
    ――每个子串口具备独立的64级发送FIFO,发送FIFO具备4级可编程触发点
    ――每个子串口具备独立的64级接收FIFO,接收FIFO具备4级可编程触发点
    ――增强功能下,发送/接收FIFO触发点可独立编程为4N,N=1、2…..15
    ――软件FIFO使能和清空
    ――FIFO状态和计数器输出
    g) 流量控制特性
    ――支持RTS、CTS的硬件自动流量控制
    ――支持XON/XOFF的软件自动流量控制
    ――可编程XON/XOFF字符自动发送/识别
    h) RS-485特性
    ――RTS控制的自动RS-485收发控制,且RTS极性可控制
    ――RS-485网络地址自动识别功能
    i) 错误检测特性
    ――支持奇偶校验错,数据帧错误及溢出错误检测
    ――支持起始位错误检测
    j) Line break的产生和检测
    k) 中断特性
    ――接收/发送FIFO中断
    ――接收错误中断
    ――软件/硬件流量控制中断
    ――网络地址中断
    ――超时中断
    ――各中断特性可软件开启/关闭
    l) 内置IrDA红外收发编解码器
    2.6 应用领域
    a) 多串口服务器/多串口卡
    b) 工业/自动化现场RS-485控制
    c) 通过CDMA/GPRS MODEM的无线数据传输
    d) 车载信息平台/车载GPS定位系统
    e) 远传自动抄表(AMR)系统
    f) POS/税控POS/金融机具
    g) DSP/嵌入式系统
    3 订购信息

    器件型号 封装类型
    型号 说明
    SJ214 SOP20 封装体尺寸:12.8mm X 7.5mm,引脚间距:1.27mm
    SJ224
    SJ234
    SJ304 QFN24 封装体尺寸:4mm X 4mm,引脚间距:0.5mm
    SJ000 QFN40 封装体尺寸:6mm X 6mm,引脚间距:0.5mm

    器件型号 接口 特性说明
    主接口 子接口
    SJ214 UART UART UART主接口,无硬件流量控制端口
    SJ224 SPI UART SPI主接口,无硬件流量控制端口
    SJ234 IIC UART IIC主接口,无硬件流量控制端口
    SJ304 UART/SPI/IIC UART 三种主接口,一个子口带硬件控制端口
    SJ000 UART/SPI/IIC UART 三种主接口,四个子口带硬件控制端口


    4 封装及引脚功能说明
    SJ000采用的封装,如下图所示。

     

    该芯片的各引脚功能描述见表1:
    5 功能概述
    系统的主要功能框图和结构框图分别如下图所示。
    SJ000实现I2C总线、SPI接口或UART接口与四个子UART之间的数据收发功能,主接口可以通过I2C/SPI/UART的方式将数据写入的子UART,通过TX端口串行发送出去,也可以将子UART的RX串行接收的数据通过I2C/SPI/UART的方式送给外部单片机。
    SJ000可以设置为FIFO模式或非FIFO模式,通过缓冲接收/发送的字符降低主机过多的软件开销。接收和发送FIFO都可存储多达64字节(包括接收器FIFO的每字符4个附加状态位)的数据,并且具有可以选择或者可以编程设置的触发阈值。
    SJ000具有可选择的软件流和硬件流控制,这两种机制都可以通过自动控制串行数据流来减小软件的开销和提高系统的效率。硬件流使用RTSn管脚输出和CTSn管脚输入,软件流使用可编程的Xon和Xoff字。
    SJ000具有可编程波特率发生器,它可通过改变分频比,实现波特率的切换。
    5.1 复位与上、下电
    SJ000上电完成后,与其相连接的端口方可允许输入高电平逻辑;
    SJ000通过RSTN端进行全芯片复位,复位电平为低电平。
    5.2 时钟选择
    通过CLKSEL端,可选择使用晶振时钟或外部输入的时钟EXTCLK。
    CLKSEL端为低电平时,使用晶振时钟;
    CLKSEL端为高电平时,使用外部时钟EXTCLK;
    CLKSEL带下拉电阻,悬空时,选择使用晶振时钟。
    5.3 中断控制
    当IRQ引脚指示有中断时,可以通过读取全局中断寄存器GIR以判断当前中断的类型,然后去读取相应的中断状态寄存器,以确定当前的中断源。
    每个子串口都有独立的中断系统,包括:超时中断、FIFO数据错误中断,接收地址中断(RS-485模式),XOFF发送中断,RTS中断,CTS中断,发送FIFO触发点中断,接收FIFO触发点中断。
    当任意一个中断使能后,满足中断条件就会产生相应的中断。
    通过GCR寄存器的IFMASK控制位,全局/子串口的中断状态寄存器有两种模式:
    1) IFMASK=1,中断状态位的值 = 中断状态位使能信号 & 内部状态;
    2) IFMASK=0,中断状态位的值 = 内部状态;
    5.3.1 超时中断
    芯片进入超时的条件为:
    1) 接收FIFO至少有一个数据;
    2) 子口的RX端长时间没有数据接收,默认为4个字节时间长度,由子串口寄存器
    SECTLR 的STIM控制可选4、8、16、32字节时间长度;
    3) 母口长时间没有对接收FIFO进行读操作,默认为4个字节时间长度,由全局寄存器GCR的STIM控制可选4、8、16、32字节时间长度;
    当超时中断发生时,主接口进行了读FIFO操作、或子串口RX端收到数据即可清除该中断。
    5.3.2 FIFO数据错误中断
    FIFO数据错误中断表明当前接收FIFO 中有一个或以上的数据错误,产生错误的条件包括OE (数据溢出错误)、FE(数据帧错误)、PE(奇偶校验错)以及BI(检测到Break)。一旦有接收FIFO 中有出错数据,将产生该中断,直到接收FIFO中的所有出错数据都被读取后,该中断才被清除。该中断清除后表明当前接收FIFO 中没有出错数据。
    5.3.3 接收地址中断
    该中断仅当工作在RS-485模式时产生。在RS-232模式下不会产生该中断。
    在自动地址识别模式下,子串口接收到与其设定地址一致的地址字节时,产生该中断。直到
    在手动地址识别模式下,一旦接收到地址字节,都将产生该中断。
    当读取中断标志寄存器SIFR被读取后,该中断自动清除。
    5.3.4 发送XOFF中断
    在软件自动流量控制模式下,当子口RX接收到XOFF字符时产生该中断。当读取中断标志寄存器SIFR、或接收到XON字符时,该中断被清除。
    5.3.5 RTS中断
    在自动或手动硬件流量控制模式下,当RTS信号从0变为1时,都可以产生该中断。
    在自动硬件流量控制模式下,当读取中断标志寄存器SIFR、或接收FIFO中的数据个数降低到设定的继续发送触发点时,该中断被清除。
    手动硬件流量控制模式下,向寄存器SECTLR 的SRTS写入0将清除该中断。
    5.3.6 CTS中断
    在自动或手动硬件流量控制模式下,当CTS信号从0变为1时,将产生该中断;当读取中断标志寄存器SIFR后将清除该中断。
    5.3.7 发送FIFO触发点中断
    当发送FIFO中的数据个数小于设定的发送FIFO触发点时,产生该中断;当读取中断标志寄存器SIFR、或当发送FIFO中的数据个数大于设定的发送FIFO触发点时,该中断被清除。
    5.3.8 接收FIFO触发点中断
    当接收FIFO中的数据个数大于设定的发送FIFO触发点时,产生该中断。当接收FIFO中的数据个数小于设定的发送FIFO触发点时,该中断被清除。
    5.4 广播模式操作
    SJ000支持子串口通道可独立配置的数据广播模式。
    首先通过设置全局寄存器GCR中的GBDEN位,将主口的全局广播设置为使能,然后设置需要接收广播数据的相应子串口通道的SCTLR的RDBEN位,使得该通道可以接收数据广播。
    设置完成后,主口发往任意通道的数据都能被设置为接收广播使能的子串口接收,而未设置接收数据广播的子串口将会忽略这些数据。
    5.5 红外模式操作
    SJ000的主串口和子串口都可以设置成为红外通信模式。当SJ000的UART设置为IrDA模式时,可以与符合SIR红外通信协议标准的设备通信,或者直接应用于光隔离通信中。
    在IrDA模式下,一位数据的周期缩短到普通UART一位数据的3/16,小于1/16波特周期的脉冲将被作为干扰而忽略。


    5.6 可编程波特率发生器
    SJ000的主串口和子串口采用相同的独立可编程波特率发生器。该波特率发生器产生固定十六分之一系统时钟的波特率,分频因子可以通过软件设置。
    下表给出了在不同系统时钟频率下的串口波特率设置表,其中标深色底的为复位后默认值。
    5.7 数据校验模式
    SJ000的UART能提供强制校验,计算校验和无校验的数据格式,通过SCONR(子串口配置寄存器)进行设置:
    1) 强制校验模式
    SJ000支持强1校验,强0校验和用户校验模式。在用户校验模式下,串口的第9bit数据被bypass,芯片不处理该数据。
    在RS-485模式下,推荐使用强制校验模式,在该模式下,可以很方便的区分数据和地址。
    2) 计算校验模式
    SJ000支持1校验、0校验,奇校验、偶校验模式。在该模式下,接收和发送的数据都进行奇偶校验计算。
    5.8 休眠和自动唤醒
    SJ000支持软件/硬件休眠和自动唤醒模式,在软件/硬件休眠模式下,SJ000的系统时钟将停止以降低功耗。
    进入软件休眠的条件为:
    1) 向GCR的IDLE位写入1;
    2) 主口SCS、MRX或SDA为空闲,且空闲时间超过了TIM寄存器设置的字符长度;
    3) 子口RX为空闲,且空闲时间超过了STIM寄存器设置的字符长度;
    4) RX FIFO为空;
    5) TX FIFO和TX移位寄存器为空;
    6) 没有中断等待处理;
    在软件休眠模式下,可以被主口和子串口自动唤醒:
    1) 复位芯片时,SJ000的系统时钟将会被自动唤醒,进入正常收发。
    2) SPI主接口模式下,一旦主口SCS或子串口RX有数据改变,SJ000的系统时钟将会被自动唤醒,进入正常收发。
    3) UART主接口模式下,一旦主口MRX或子串口RX有数据改变,SJ000的系统时钟将会被自动唤醒,进入正常收发。
    4) I2C主接口模式下,一旦子串口RX有数据改变,SJ000的系统时钟将会被自动唤醒,进入正常收发。
    在硬件休眠模式下,也即控制PDN端口为低电平时,芯片直接进入休眠模式,PDN端口为高电平时,系统时钟将会被唤醒,进入正常收发。
    5.9 数据长度
    SJ000支持8位或9位数据,以及1位或2位停止位模式。
    6 寄存器描述
    SJ000的寄存器按地址编号为6位地址编号,地址000000~111111,分为全局寄存器和子串口寄存器。
    6.1 全局寄存器列表
    全局寄存器共计16个,全局寄存器的地址如下表所示。


    6.2.1 GCR全局控制寄存器:(00_0001)


    6.2.3 GIR全局中断寄存器:(00_0011)


    6.2.5 GXON全局XON字符寄存器:(01_0010)


    6.3 子串口寄存器列表
    每一个子串口寄存器共计12个,其排列为:(C1,C0)、REG[3:0],其中高两位(C1,C0)为子串口通道号,低4位REG[3:0]为寄存器地址,按低4位的寄存器地址如下表所示。

     


    6.4 子串口寄存器描述
    6.4.1 SECTLR子串口扩展控制寄存器:(0100)
    ...

    6.4.2 SESR子串口扩展状态寄存器:(0101)
    ...

    6.4.3 SCTLR子串口控制寄存器:(0110)
    ...

    6.4.4 SCONR子串口配置寄存器:(0111)
    ...

    6.4.5 SFWCR子串口流量控制寄存器:(1000)
    ...

    6.4.6 SFOCR子串口FIFO 控制寄存器:(1001)
    ...

    6.4.7 SADR子串口自动识别地址寄存器:(1010)
    ...

    6.4.8 SIER子串口中断使能寄存器:(1011)
    ...

    6.4.9 SIFR子串口中断标志寄存器:(1100)
    ...

    6.4.10 SSR子串口状态寄存器:(1101)
    ...

    6.4.11 SFSR子串口FIFO 状态寄存器:(1110)
    ...

    6.4.12 子串口FIFO 数据寄存器:(1111)
    ...

    7 主接口操作
    7.1 SPI主接口
    7.1.1 SPI接口信号
    端口M1=0,端口M0=0时,选择使用SPI作为主接口,SPI接口包括如下四个信号:
    SDI:SPI数据输入;
    SDO:SPI数据输出;
    SCLK:SPI串行时钟;
    SCS:SPI片选(从属选择)。
    SPI 接口的操作时序如下图所示:
    7.1.2 SPI接口操作时序
    SJ000 工作在SPI同步串行通信的从机模式下 ,支持SPI模式0 标准。为实现主机和SJ000的通信,在主机端需要设置CPOL=0(SPI时钟极性选择位),CPHA=0(SPI时钟相位选择位)。
    SJ000 SPI接口的操作时序如下图所示:
    注意BIT15最开始发送或接受。

     

    7.1.3 SPI总线协议描述
    ...

    7.2 I2 主接口
    7.2.1 I2 接口信号
    端口M1=1,端口M0=0时,选择使用I2C作为主接口,I2C接口包括如下四个信号:
    SDA:I2C串行数据输入/输出;
    SCL:I2C串行时钟;
    IA1:I2C地址选,MSB;
    IA0:I2C地址选,LSB。
    本芯片I2C接口仅作为从机使用。
    7.2.2 I2 接口操作时序
    SJ000 I2C接口的操作时序如下面协议描述所示。
    7.2.3 I2 总线协议描述
    ...
    8 子串口描述
    8.1 子串口使能/禁止
    SJ000 允许独立使能或禁止每个子串口通道。
    在使用中可以禁止不使用的子串口通道以降低功耗。
    子串口通道只有处在使能状态才能接收和发送数据。
    8.2 收发FIFO控制
    SJ000 提供了独立的64级FIFO接收和发送FIFO。接收FIFO包含额外的4个bit,用于存储错误状态(BI、FE、PE、校验位)。相关操作通过SFOCR(子串口FIFO控制寄存器)进行设置。
    8.2.1 发送FIFO触发点操作
    SJ000 为每个通道提供独立的可编程发送FIFO触发点设置,以产生相应的发送FIFO触发点中断。
    当发送FIFO触发点中断使能时,发送FIFO中的数据数目小于设定的触发点时产生相应中断。
    8.2.2 接收FIFO触发点操作
    SJ000 为每个通道提供独立的可编程接收FIFO触发点设置,以产生相应的接收FIFO触发点中断。
    当接收FIFO触发点中断使能时,接收FIFO中的数据数目大于设定的触发点时产生相应中断。
    8.2.3 发送FIFO的使能/禁止
    复位后,发送FIFO处于禁止状态。如果希望将数据写入发送FIFO,需要首先使能发送FIFO。
    发送FIFO中的数据是否发送,取决于相应的子通道UART是否使能。一旦相应子通道UART处于使能状态,则发送FIFO中的数据将会立即发送,否则,发送FIFO中的数据将不会被发送,直到相应的子通道被使能。
    8.2.4 接收FIFO的使能/禁止
    复位后,接收FIFO处于禁止状态。如果希望接收子串口数据,需要首先使能相应的子串口通道及其接收FIFO。只有相应的UART和接收FIFO使能后,接收到的数据才能写入接收FIFO存储。
    如果子串口通道使能而接收FIFO禁止,子串口能接收数据,但数据将写入内部RHR,而不会写入接收FIFO,主口可以通过读取数据寄存器来访问该数据。
    8.2.5 发送FIFO清空
    当SFOCR中发送FIFO清空位(TFCL)被置1时,该子通道发送FIFO中的数据将被清空,发送FIFO计数器和指针都将清零。
    TFCL位被置1后,将会在一个时钟后被硬件自动清0。
    8.2.6 接收FIFO清空
    当SFOCR中接收FIFO清空位(RFCL)被置1时,该子通道接收FIFO中的数据将被清空,接收FIFO计数器和指针都将清零。
    RFCL位被置1后,将会在一个时钟后被硬件自动清0。
    8.2.7 发送FIFO计数器
    SJ000 用寄存器中的6位TCNT来反应当前发送FIFO中的数据数目:当一个字节的数据写入发送FIFO后,发送FIFO计数器自动加1;当一个发送FIFO中的数据被发送后,发送FIFO计数器自动减1。
    注意:当发送FIFO计数器为63(111111)时,如果再写入一个数据则计数器变为0(000000)。当发送FIFO计数器为1(000001)时,发送一个数据之后则计数器也变为0(000000)。因此,当发送FIFO计数器为0时,表明发送FIFO满或者空,在这种情况下,需要结合子串口状态寄存器(SSR/ SESR)中的相关状态位进行判断。
    8.2.8 接收FIFO计数器
    SJ000用寄存器中的6位RCNT来反应当前接收FIFO中的数据数目:当一个字节的数据写入接收FIFO后,接收FIFO计数器自动加1;当一个接收FIFO中的数据被读取后,接收FIFO计数器自动减1。
    注意:当接收FIFO计数器为63(111111)时,如果再接收一个数据则计数器变为0(000000)。当接收FIFO计数器为1(000001)时,读取一个数据之后则计数器也变为0(000000)。因此,当接收FIFO计数器为0时,表明接收FIFO满或者空,在这种情况下,需要结合子串口状态寄存器(SSR/ SESR)中的相关状态位进行判断。
    8.3 流量控制
    SJ000 提供硬件流量控制,软件流量控制和手动流量控制三种模式可选择。硬件流量控制通过CTS和RTS引脚实现流量控制,可以减少软件开销并提高系统效率。软件流量控制通过XON和XOFF可编程特殊字符实现流量控制操作。相关操作通过SFWCR(子串口流量控制寄存器)设置。
    在RS-485模式下,该功能被禁止。
    8.3.1 触发点控制
    当SJ000 设置为自动软件/硬件流量控制时:
    SFWCR中的HRTL3–HRTL0用于设置暂停发送触发点,当接收FIFO中的数据个数达到暂停发送触发点时,SJ000 将发出暂停发送信号,以通知发送端暂停发送数据。
    SFWCR中的PRTL3–PRTL0用于设置继续发送触发点,在暂停发送状态下,主机口可以通过读取数据操作读取接收FIFO中的数据,当接收FIFO中的数据个数等于设置的继续发送触发点时,SJ000 将通知发送端继续发送数据。
    设置时,需要保证暂停发送触发点大于继续发送触发点的数值。SJ000 不对该条件做自动判断。
    注意:HRTL3–HRTL 0或PRTL3–PRTL0为0时,触发点将采用RFTL或TFTL设置的触发点。
    8.3.2 自动软件流量控制操作
    当SJ000 工作在自动软件流量控制模式时,子串口通道通过RX发送和TX接收XOFF和XON字符实现软件流量控制,无需其它控制线。XON和XOFF字符可以通过全局寄存器中的XON和XOFF寄存器设置。
    在软件流量控制模式下,传输的数据字节中不能出现XON和XOFF字符,否则将会被作为XON和XOFF控制字符,因此在软件流量控制下,需要对数据中的XON和XOFF字符进行相应的转义处理。
    8.3.3 XON/XOFF发送操作
    在自动软件流量控制模式下,一旦数据接收端接收FIFO中数据的个数达到设定的触发点时,为防止接收FIFO溢出,SJ000 将自动通过TX发送一个XOFF字符,数据发送端收到该XOFF字节后,发送完当前字节后即暂停数据发送。
    发送端暂停数据发送后,接收端的主机接口读取接收FIFO中的数据以释放接收FIFO空间,当接收FIFO中数据的个数减少到继续发送触发点时,接收端向发送端发送一个XON字符,发送端接收到该字符后,将恢复数据发送。
    8.3.4 XON/XOFF接收操作
    在软件流量控制模式下,SJ000 接收到数据后,首先会与XOFF中的数据进行比较,当接收到XOFF字符时,在发送完当前字节后即暂停数据发送。
    数据暂停发送状态下,接收到XON字符后,将恢复数据发送。
    8.3.5 XON/XOFF可见设置
    在软件流量控制模式下,特殊字符XON/XOFF可以通过设置SFWCR(子串口流量控制寄存器)XVEN位,使之在主机端为可见或不可见。
    当设置为可见时,XON和XOFF字符作为数据写入接收FIFO。
    当设置为不可见时,XON和XOFF字符将作为控制字符不被写入接收FIFO。
    8.3.6 自动硬件流量控制
    当SJ000 的子串口工作在自动硬件流量控制模式时,包含自动RTS控制和自动CTS控制。分别通过硬件自动设置RTS信号和判断CTS信号来实现硬件流量控制。
    典型的硬件流量控制的通过器件A的RTS连接器件B的CTS,器件A的CTS连接器件B的RTS,将器件A和B都设置为硬件自动流量控制模式即可实现硬件的自动流量控制。
    在硬件自动流量控制模式下,一旦数据接收端接收FIFO中数据的个数达到设定的触发点时,为防止接收FIFO溢出,接收端将自动拉高RTS,数据发送端的相应的CTS变高,数据接收端检测到CTS变高后,将发送完当前字节后即暂停数据发送。
    发送端暂停数据发送后,接收端的主机接口读取接收FIFO中的数据以释放接收FIFO空间,当接收FIFO中数据的个数减少到继续发送触发点时,接收端的CTS自动变为低电平,发送端相应的RTS变为低电平,发送端检测到RTS为低后,将恢复数据发送。
    ...
    8.3.7 手动硬件流量控制
    当SJ000 的子串口工作在手动模式下,可以通过手动写RTS寄存器(SECTLR Bit2)拉高或拉低RTS引脚信号。
    在该模式下,其它的操作与硬件自动流量控制一样,只是RTS由相应的寄存器控制。手动设置RTS为1可以暂停数据发送端发送数据,设置RTS为0则数据发送端继续发送数据。
    8.4 RS-485操作
    SJ000 的子串口支持RS-485自动收发控制模式和自动网络地址识别模式,网络地址可见设置。
    8.4.1 RS-485自动收发
    在RS-485模式下,流量控制将被禁止。RTS信号用于控制RS-485收发器的自动收发控制。
    默认情况下,只有在发送数据时,RTS才为高,其它情况下,RTS都保持低。可以通过设置寄存器(SECTLR的 Bit2)改变RTS极性。
    SJ000 和RS-485 的收发器的连接如图:
    ...
    8.4.2 网络地址和自动地址识别
    RS-485 模式下,每个UART 有一个唯一的网络地址,SJ000 提供了一个8 位寄存器进行RS-485网络设置。
    当自动网络地址识别功能使能时,SJ000 对接收到的数据进行自动识别。
    如果接收到的数据为数据字节或者是与SADR 中地址字节不匹配的地址字节时,SJ000 忽略这些数据。
    如果该子串口接收到的数据为地址字节(即第9bit为1,表征为地址字节),且与SADR中的数据匹配,则SJ000 进入接收状态,将该地址字节后的数据字节写入接收FIFO 中。
    当该子串口在数据接收状态下,接收到一个地址字节,且该字节与SADR不匹配时,接收将被自动禁能。
    8.4.3 自动和手动地址识别
    RS-485模式下,SCONR子串口配置寄存器中的AOD位为数据地址选择位。其默认值为1,表明该子串口只接收地址字节而忽略数据字节。
    在RS-485自动地址模式下,当接收到的地址与SADR的地址一致时,AOD将自动变为0,此时该子串口可以继续接收数据。当子串口接收到的下一个地址字节与SARD的地址不一致时,AOD位将自动置1,不再接收其后的数据字节。
    在RS-485手动地址识别模式下,RS-485地址由上层软件判断,AOD位需要手动设置。AOD设置为0时表明可以接收其后的所有数据,当AOD设置为1时,表明将忽略除了地址以外的所有数据。当接收到地址字节时,SJ000 将产生中断,通知MCU将收到的地址字节进行判断,以决定是否设置AOD以接收其后的数据。
    8.4.4 网络地址可见设置
    当子串口设置为手动地址识别模式时,RS-485网络地址总是可见。
    在子串口设置为自动地址识别模式时,可以设置SCONR子串口配置寄存器中的AVEN位,改变网络地址可见属性。当设为地址可见时,接收到的网络地址进入接收FIFO,否则将被忽略。
    9 参数指标
    9.1 极限工作条件
    ...
    10 机械尺寸
    10.1 QFN40
    略。。。

    转载于:https://www.cnblogs.com/TEL18218088355/p/7196506.html

    展开全文
  • SJXXX串口扩展芯片 UART(1) to UART(4)

    千次阅读 2017-07-17 16:18:12
    SJXX串口扩展芯片 1 概述 SJ000是一款具备I2C总线/SPI总线/UART接口的四通道异步收发器件,通过模式选择使得该器件工作于以上任何一种主接口模式下。器件的四个通道UART可提供高达2Mbps的数据率,低功耗模式和睡眠...
    SJXX串口扩展芯片
    1 概述
    SJ000是一款具备I2C总线/SPI总线/UART接口的四通道异步收发器件,通过模式选择使得该器件工作于以上任何一种主接口模式下。器件的四个通道UART可提供高达2Mbps的数据率,低功耗模式和睡眠电流。每个通道含有一个接收器和一个发送器,并带有64字节发送/接收FIFO,通道波特率、字长、校验格式可独立设置,也可以独立设置IrDA红外通信、RS-485自动收发控制、9位网络地址自动识别、软件/硬件自动流量控制、广播接收等。器件还带有可编程中断功能,实现与主机的信息交互。
    2 特征
    2.1 通用特性
    a) 3.3V工作电压
    b) 主接口可选择为:I2C总线、SPI接口或UART接口
    c) 子接口为:全双工四通道UART
    d) 子接口发送器带有64字节发送FIFO
    e) 子接口接收器带有64字节接收FIFO,存储有状态标志及数据
    f) 中断方式时,可编程的发送和接收FIFO的触发阈值
    g) 软件流/硬件流方式时,编程可选的接收FIFO触发设置
    h) 软件流/硬件流控制特性,包括:
    ――可编程字Xon/Xoff
    ――可编程的自动RTS,和自动CTS
    i) 支持自动/手动RS-485(自动网络地址检测)
    j) 通过RTS信号的RS-485驱动器方向控制
    k) RS-485驱动器方向极性可控制
    l) 内置IrDA编码器和译码器接口
    m) 可编程的波特率产生器
    n) 可编程的软件/硬件睡眠模式控制
    o) Line break的产生和检测
    p) 内部回送模式
    q) 系统中断控制
    r) 红外功能
    s) 符合绿色环保无铅封装
    2.2 I2 主接口特性
    a) 400kbit/s(最大速率)
    b) 仅为从机模式
    c) 总线噪声滤波
    2.3 SPI主接口特性
    a) 最高速率为5Mbit/s
    b) 仅为从机模式
    c) 16位,SPI模式0
    2.4 UART主接口特性
    a) 主接口为标准的UART串口,无需其它地址信号、控制信号线
    b) 可编程波特率设置,最高速度可以达到2M bit/s
    c) 可选择的奇校验,偶校验和无校验模式
    d) UART主接口可以通过引脚设置为红外模式
    e) UART主接口可以通过引脚选择是否采用转义字符模式
    2.5 UART子接口特性
    a) 每个子串口为全双工,每个子串口可以通过软件开启/关闭
    b) 每个子串口波特率可以独立设置
    c) 每个子串口可以软件设置为是否接收数据广播
    d) 每个子串口状态查询功能
    e) 每个子串口提供可编程的串行接口特性,包括:
    ――8或9位字符长度
    ――奇校验、偶校验、强制校验、无奇偶校验的发生和检测
    ――1或2个停止位产生和检测
    ――校验错误、帧错误及溢出错误检测
    f) FIFO特性
    ――每个子串口具备独立的64级发送FIFO,发送FIFO具备4级可编程触发点
    ――每个子串口具备独立的64级接收FIFO,接收FIFO具备4级可编程触发点
    ――增强功能下,发送/接收FIFO触发点可独立编程为4N,N=1、2…..15
    ――软件FIFO使能和清空
    ――FIFO状态和计数器输出
    g) 流量控制特性
    ――支持RTS、CTS的硬件自动流量控制
    ――支持XON/XOFF的软件自动流量控制
    ――可编程XON/XOFF字符自动发送/识别
    h) RS-485特性
    ――RTS控制的自动RS-485收发控制,且RTS极性可控制
    ――RS-485网络地址自动识别功能
    i) 错误检测特性
    ――支持奇偶校验错,数据帧错误及溢出错误检测
    ――支持起始位错误检测
    j) Line break的产生和检测
    k) 中断特性
    ――接收/发送FIFO中断
    ――接收错误中断
    ――软件/硬件流量控制中断
    ――网络地址中断
    ――超时中断
    ――各中断特性可软件开启/关闭
    l) 内置IrDA红外收发编解码器
    2.6 应用领域
    a) 多串口服务器/多串口卡
    b) 工业/自动化现场RS-485控制
    c) 通过CDMA/GPRS MODEM的无线数据传输
    d) 车载信息平台/车载GPS定位系统
    e) 远传自动抄表(AMR)系统
    f) POS/税控POS/金融机具
    g) DSP/嵌入式系统
    3 订购信息

    器件型号 封装类型
    型号 说明
    SJ214 SOP20 封装体尺寸:12.8mm X 7.5mm,引脚间距:1.27mm
    SJ224
    SJ234
    SJ304 QFN24 封装体尺寸:4mm X 4mm,引脚间距:0.5mm
    SJ000 QFN40 封装体尺寸:6mm X 6mm,引脚间距:0.5mm


    器件型号 接口 特性说明
    主接口 子接口
    SJ214 UART UART UART主接口,无硬件流量控制端口
    SJ224 SPI UART SPI主接口,无硬件流量控制端口
    SJ234 IIC UART IIC主接口,无硬件流量控制端口
    SJ304 UART/SPI/IIC UART 三种主接口,一个子口带硬件控制端口
    SJ000 UART/SPI/IIC UART 三种主接口,四个子口带硬件控制端口

    4 封装及引脚功能说明
    SJ000采用的封装,如下图所示。

    ...

    该芯片的各引脚功能描述见表1:

    ...

    5 功能概述
    系统的主要功能框图和结构框图分别如下图所示。
    SJ000实现I2C总线、SPI接口或UART接口与四个子UART之间的数据收发功能,主接口可以通过I2C/SPI/UART的方式将数据写入的子UART,通过TX端口串行发送出去,也可以将子UART的RX串行接收的数据通过I2C/SPI/UART的方式送给外部单片机。
    SJ000可以设置为FIFO模式或非FIFO模式,通过缓冲接收/发送的字符降低主机过多的软件开销。接收和发送FIFO都可存储多达64字节(包括接收器FIFO的每字符4个附加状态位)的数据,并且具有可以选择或者可以编程设置的触发阈值。
    SJ000具有可选择的软件流和硬件流控制,这两种机制都可以通过自动控制串行数据流来减小软件的开销和提高系统的效率。硬件流使用RTSn管脚输出和CTSn管脚输入,软件流使用可编程的Xon和Xoff字。
    SJ000具有可编程波特率发生器,它可通过改变分频比,实现波特率的切换。
    5.1 复位与上、下电
    SJ000上电完成后,与其相连接的端口方可允许输入高电平逻辑;
    SJ000通过RSTN端进行全芯片复位,复位电平为低电平。
    5.2 时钟选择
    通过CLKSEL端,可选择使用晶振时钟或外部输入的时钟EXTCLK。
    CLKSEL端为低电平时,使用晶振时钟;
    CLKSEL端为高电平时,使用外部时钟EXTCLK;
    CLKSEL带下拉电阻,悬空时,选择使用晶振时钟。
    5.3 中断控制
    当IRQ引脚指示有中断时,可以通过读取全局中断寄存器GIR以判断当前中断的类型,然后去读取相应的中断状态寄存器,以确定当前的中断源。
    每个子串口都有独立的中断系统,包括:超时中断、FIFO数据错误中断,接收地址中断(RS-485模式),XOFF发送中断,RTS中断,CTS中断,发送FIFO触发点中断,接收FIFO触发点中断。
    当任意一个中断使能后,满足中断条件就会产生相应的中断。
    通过GCR寄存器的IFMASK控制位,全局/子串口的中断状态寄存器有两种模式:
    1) IFMASK=1,中断状态位的值 = 中断状态位使能信号 & 内部状态;
    2) IFMASK=0,中断状态位的值 = 内部状态;
    5.3.1 超时中断
    芯片进入超时的条件为:
    1) 接收FIFO至少有一个数据;
    2) 子口的RX端长时间没有数据接收,默认为4个字节时间长度,由子串口寄存器
    SECTLR 的STIM控制可选4、8、16、32字节时间长度;
    3) 母口长时间没有对接收FIFO进行读操作,默认为4个字节时间长度,由全局寄存器GCR的STIM控制可选4、8、16、32字节时间长度;
    当超时中断发生时,主接口进行了读FIFO操作、或子串口RX端收到数据即可清除该中断。
    5.3.2 FIFO数据错误中断
    FIFO数据错误中断表明当前接收FIFO 中有一个或以上的数据错误,产生错误的条件包括OE (数据溢出错误)、FE(数据帧错误)、PE(奇偶校验错)以及BI(检测到Break)。一旦有接收FIFO 中有出错数据,将产生该中断,直到接收FIFO中的所有出错数据都被读取后,该中断才被清除。该中断清除后表明当前接收FIFO 中没有出错数据。
    5.3.3 接收地址中断
    该中断仅当工作在RS-485模式时产生。在RS-232模式下不会产生该中断。
    在自动地址识别模式下,子串口接收到与其设定地址一致的地址字节时,产生该中断。直到
    在手动地址识别模式下,一旦接收到地址字节,都将产生该中断。
    当读取中断标志寄存器SIFR被读取后,该中断自动清除。
    5.3.4 发送XOFF中断
    在软件自动流量控制模式下,当子口RX接收到XOFF字符时产生该中断。当读取中断标志寄存器SIFR、或接收到XON字符时,该中断被清除。
    5.3.5 RTS中断
    在自动或手动硬件流量控制模式下,当RTS信号从0变为1时,都可以产生该中断。
    在自动硬件流量控制模式下,当读取中断标志寄存器SIFR、或接收FIFO中的数据个数降低到设定的继续发送触发点时,该中断被清除。
    手动硬件流量控制模式下,向寄存器SECTLR 的SRTS写入0将清除该中断。
    5.3.6 CTS中断
    在自动或手动硬件流量控制模式下,当CTS信号从0变为1时,将产生该中断;当读取中断标志寄存器SIFR后将清除该中断。
    5.3.7 发送FIFO触发点中断
    当发送FIFO中的数据个数小于设定的发送FIFO触发点时,产生该中断;当读取中断标志寄存器SIFR、或当发送FIFO中的数据个数大于设定的发送FIFO触发点时,该中断被清除。
    5.3.8 接收FIFO触发点中断
    当接收FIFO中的数据个数大于设定的发送FIFO触发点时,产生该中断。当接收FIFO中的数据个数小于设定的发送FIFO触发点时,该中断被清除。
    5.4 广播模式操作
    SJ000支持子串口通道可独立配置的数据广播模式。
    首先通过设置全局寄存器GCR中的GBDEN位,将主口的全局广播设置为使能,然后设置需要接收广播数据的相应子串口通道的SCTLR的RDBEN位,使得该通道可以接收数据广播。
    设置完成后,主口发往任意通道的数据都能被设置为接收广播使能的子串口接收,而未设置接收数据广播的子串口将会忽略这些数据。
    5.5 红外模式操作
    SJ000的主串口和子串口都可以设置成为红外通信模式。当SJ000的UART设置为IrDA模式时,可以与符合SIR红外通信协议标准的设备通信,或者直接应用于光隔离通信中。
    在IrDA模式下,一位数据的周期缩短到普通UART一位数据的3/16,小于1/16波特周期的脉冲将被作为干扰而忽略。
    ...

    5.6 可编程波特率发生器
    SJ000的主串口和子串口采用相同的独立可编程波特率发生器。该波特率发生器产生固定十六分之一系统时钟的波特率,分频因子可以通过软件设置。

    下表给出了在不同系统时钟频率下的串口波特率设置表,其中标深色底的为复位后默认值。

    ...

    5.7 数据校验模式
    SJ000的UART能提供强制校验,计算校验和无校验的数据格式,通过SCONR(子串口配置寄存器)进行设置:
    1) 强制校验模式
    SJ000支持强1校验,强0校验和用户校验模式。在用户校验模式下,串口的第9bit数据被bypass,芯片不处理该数据。
    在RS-485模式下,推荐使用强制校验模式,在该模式下,可以很方便的区分数据和地址。
    2) 计算校验模式
    SJ000支持1校验、0校验,奇校验、偶校验模式。在该模式下,接收和发送的数据都进行奇偶校验计算。
    5.8 休眠和自动唤醒
    SJ000支持软件/硬件休眠和自动唤醒模式,在软件/硬件休眠模式下,SJ000的系统时钟将停止以降低功耗。
    进入软件休眠的条件为:
    1) 向GCR的IDLE位写入1;
    2) 主口SCS、MRX或SDA为空闲,且空闲时间超过了TIM寄存器设置的字符长度;
    3) 子口RX为空闲,且空闲时间超过了STIM寄存器设置的字符长度;
    4) RX FIFO为空;
    5) TX FIFO和TX移位寄存器为空;
    6) 没有中断等待处理;
    在软件休眠模式下,可以被主口和子串口自动唤醒:
    1) 复位芯片时,SJ000的系统时钟将会被自动唤醒,进入正常收发。
    2) SPI主接口模式下,一旦主口SCS或子串口RX有数据改变,SJ000的系统时钟将会被自动唤醒,进入正常收发。
    3) UART主接口模式下,一旦主口MRX或子串口RX有数据改变,SJ000的系统时钟将会被自动唤醒,进入正常收发。
    4) I2C主接口模式下,一旦子串口RX有数据改变,SJ000的系统时钟将会被自动唤醒,进入正常收发。
    在硬件休眠模式下,也即控制PDN端口为低电平时,芯片直接进入休眠模式,PDN端口为高电平时,系统时钟将会被唤醒,进入正常收发。
    5.9 数据长度
    SJ000支持8位或9位数据,以及1位或2位停止位模式。
    6 寄存器描述
    SJ000的寄存器按地址编号为6位地址编号,地址000000~111111,分为全局寄存器和子串口寄存器。
    6.1 全局寄存器列表
    全局寄存器共计16个,全局寄存器的地址如下表所示。

    ...

    6.2.1 GCR全局控制寄存器:(00_0001)

    ...

    6.2.3 GIR全局中断寄存器:(00_0011)


    ...

    6.2.5 GXON全局XON字符寄存器:(01_0010)

    ...

    6.3 子串口寄存器列表
    每一个子串口寄存器共计12个,其排列为:(C1,C0)、REG[3:0],其中高两位(C1,C0)为子串口通道号,低4位REG[3:0]为寄存器地址,按低4位的寄存器地址如下表所示。

    ...

    6.4 子串口寄存器描述
    6.4.1 SECTLR子串口扩展控制寄存器:(0100)
    ...


    6.4.2 SESR子串口扩展状态寄存器:(0101)
    ...


    6.4.3 SCTLR子串口控制寄存器:(0110)
    ...


    6.4.4 SCONR子串口配置寄存器:(0111)
    ...


    6.4.5 SFWCR子串口流量控制寄存器:(1000)
    ...


    6.4.6 SFOCR子串口FIFO 控制寄存器:(1001)
    ...


    6.4.7 SADR子串口自动识别地址寄存器:(1010)
    ...


    6.4.8 SIER子串口中断使能寄存器:(1011)
    ...


    6.4.9 SIFR子串口中断标志寄存器:(1100)
    ...


    6.4.10 SSR子串口状态寄存器:(1101)
    ...


    6.4.11 SFSR子串口FIFO 状态寄存器:(1110)
    ...


    6.4.12 子串口FIFO 数据寄存器:(1111)
    ...


    7 接口操作
    7.1 SPI主接口
    7.1.1 SPI接口信号
    端口M1=0,端口M0=0时,选择使用SPI作为主接口,SPI接口包括如下四个信号:
    SDI:SPI数据输入;
    SDO:SPI数据输出;
    SCLK:SPI串行时钟;
    SCS:SPI片选(从属选择)。
    SPI 接口的操作时序如下图所示:
    7.1.2 SPI接口操作时序
    SJ000 工作在SPI同步串行通信的从机模式下 ,支持SPI模式0 标准。为实现主机和SJ000的通信,在主机端需要设置CPOL=0(SPI时钟极性选择位),CPHA=0(SPI时钟相位选择位)。
    SJ000 SPI接口的操作时序如下图所示:
    注意BIT15最开始发送或接受。

    ...

    7.1.3 SPI总线协议描述
    ...


    7.2 I2 主接口
    7.2.1 I2 接口信号
    端口M1=1,端口M0=0时,选择使用I2C作为主接口,I2C接口包括如下四个信号:
    SDA:I2C串行数据输入/输出;
    SCL:I2C串行时钟;
    IA1:I2C地址选,MSB;
    IA0:I2C地址选,LSB。
    本芯片I2C接口仅作为从机使用。
    7.2.2 I2 接口操作时序
    SJ000 I2C接口的操作时序如下面协议描述所示。
    7.2.3 I2 总线协议描述
    ...
    8 子串口描述
    8.1 子串口使能/禁止
    SJ000 允许独立使能或禁止每个子串口通道。
    在使用中可以禁止不使用的子串口通道以降低功耗。
    子串口通道只有处在使能状态才能接收和发送数据。
    8.2 收发FIFO控制
    SJ000 提供了独立的64级FIFO接收和发送FIFO。接收FIFO包含额外的4个bit,用于存储错误状态(BI、FE、PE、校验位)。相关操作通过SFOCR(子串口FIFO控制寄存器)进行设置。
    8.2.1 发送FIFO触发点操作
    SJ000 为每个通道提供独立的可编程发送FIFO触发点设置,以产生相应的发送FIFO触发点中断。
    当发送FIFO触发点中断使能时,发送FIFO中的数据数目小于设定的触发点时产生相应中断。
    8.2.2 接收FIFO触发点操作
    SJ000 为每个通道提供独立的可编程接收FIFO触发点设置,以产生相应的接收FIFO触发点中断。
    当接收FIFO触发点中断使能时,接收FIFO中的数据数目大于设定的触发点时产生相应中断。
    8.2.3 发送FIFO的使能/禁止
    复位后,发送FIFO处于禁止状态。如果希望将数据写入发送FIFO,需要首先使能发送FIFO。
    发送FIFO中的数据是否发送,取决于相应的子通道UART是否使能。一旦相应子通道UART处于使能状态,则发送FIFO中的数据将会立即发送,否则,发送FIFO中的数据将不会被发送,直到相应的子通道被使能。
    8.2.4 接收FIFO的使能/禁止
    复位后,接收FIFO处于禁止状态。如果希望接收子串口数据,需要首先使能相应的子串口通道及其接收FIFO。只有相应的UART和接收FIFO使能后,接收到的数据才能写入接收FIFO存储。
    如果子串口通道使能而接收FIFO禁止,子串口能接收数据,但数据将写入内部RHR,而不会写入接收FIFO,主口可以通过读取数据寄存器来访问该数据。
    8.2.5 发送FIFO清空
    当SFOCR中发送FIFO清空位(TFCL)被置1时,该子通道发送FIFO中的数据将被清空,发送FIFO计数器和指针都将清零。
    TFCL位被置1后,将会在一个时钟后被硬件自动清0。
    8.2.6 接收FIFO清空
    当SFOCR中接收FIFO清空位(RFCL)被置1时,该子通道接收FIFO中的数据将被清空,接收FIFO计数器和指针都将清零。
    RFCL位被置1后,将会在一个时钟后被硬件自动清0。
    8.2.7 发送FIFO计数器
    SJ000 用寄存器中的6位TCNT来反应当前发送FIFO中的数据数目:当一个字节的数据写入发送FIFO后,发送FIFO计数器自动加1;当一个发送FIFO中的数据被发送后,发送FIFO计数器自动减1。
    注意:当发送FIFO计数器为63(111111)时,如果再写入一个数据则计数器变为0(000000)。当发送FIFO计数器为1(000001)时,发送一个数据之后则计数器也变为0(000000)。因此,当发送FIFO计数器为0时,表明发送FIFO满或者空,在这种情况下,需要结合子串口状态寄存器(SSR/ SESR)中的相关状态位进行判断。
    8.2.8 接收FIFO计数器
    SJ000用寄存器中的6位RCNT来反应当前接收FIFO中的数据数目:当一个字节的数据写入接收FIFO后,接收FIFO计数器自动加1;当一个接收FIFO中的数据被读取后,接收FIFO计数器自动减1。
    注意:当接收FIFO计数器为63(111111)时,如果再接收一个数据则计数器变为0(000000)。当接收FIFO计数器为1(000001)时,读取一个数据之后则计数器也变为0(000000)。因此,当接收FIFO计数器为0时,表明接收FIFO满或者空,在这种情况下,需要结合子串口状态寄存器(SSR/ SESR)中的相关状态位进行判断。
    8.3 流量控制
    SJ000 提供硬件流量控制,软件流量控制和手动流量控制三种模式可选择。硬件流量控制通过CTS和RTS引脚实现流量控制,可以减少软件开销并提高系统效率。软件流量控制通过XON和XOFF可编程特殊字符实现流量控制操作。相关操作通过SFWCR(子串口流量控制寄存器)设置。
    在RS-485模式下,该功能被禁止。
    8.3.1 触发点控制
    当SJ000 设置为自动软件/硬件流量控制时:
    SFWCR中的HRTL3–HRTL0用于设置暂停发送触发点,当接收FIFO中的数据个数达到暂停发送触发点时,SJ000 将发出暂停发送信号,以通知发送端暂停发送数据。
    SFWCR中的PRTL3–PRTL0用于设置继续发送触发点,在暂停发送状态下,主机口可以通过读取数据操作读取接收FIFO中的数据,当接收FIFO中的数据个数等于设置的继续发送触发点时,SJ000 将通知发送端继续发送数据。
    设置时,需要保证暂停发送触发点大于继续发送触发点的数值。SJ000 不对该条件做自动判断。
    注意:HRTL3–HRTL 0或PRTL3–PRTL0为0时,触发点将采用RFTL或TFTL设置的触发点。
    8.3.2 自动软件流量控制操作
    当SJ000 工作在自动软件流量控制模式时,子串口通道通过RX发送和TX接收XOFF和XON字符实现软件流量控制,无需其它控制线。XON和XOFF字符可以通过全局寄存器中的XON和XOFF寄存器设置。
    在软件流量控制模式下,传输的数据字节中不能出现XON和XOFF字符,否则将会被作为XON和XOFF控制字符,因此在软件流量控制下,需要对数据中的XON和XOFF字符进行相应的转义处理。
    8.3.3 XON/XOFF发送操作
    在自动软件流量控制模式下,一旦数据接收端接收FIFO中数据的个数达到设定的触发点时,为防止接收FIFO溢出,SJ000 将自动通过TX发送一个XOFF字符,数据发送端收到该XOFF字节后,发送完当前字节后即暂停数据发送。
    发送端暂停数据发送后,接收端的主机接口读取接收FIFO中的数据以释放接收FIFO空间,当接收FIFO中数据的个数减少到继续发送触发点时,接收端向发送端发送一个XON字符,发送端接收到该字符后,将恢复数据发送。
    8.3.4 XON/XOFF接收操作
    在软件流量控制模式下,SJ000 接收到数据后,首先会与XOFF中的数据进行比较,当接收到XOFF字符时,在发送完当前字节后即暂停数据发送。
    数据暂停发送状态下,接收到XON字符后,将恢复数据发送。
    8.3.5 XON/XOFF可见设置
    在软件流量控制模式下,特殊字符XON/XOFF可以通过设置SFWCR(子串口流量控制寄存器)XVEN位,使之在主机端为可见或不可见。
    当设置为可见时,XON和XOFF字符作为数据写入接收FIFO。
    当设置为不可见时,XON和XOFF字符将作为控制字符不被写入接收FIFO。
    8.3.6 自动硬件流量控制
    当SJ000 的子串口工作在自动硬件流量控制模式时,包含自动RTS控制和自动CTS控制。分别通过硬件自动设置RTS信号和判断CTS信号来实现硬件流量控制。
    典型的硬件流量控制的通过器件A的RTS连接器件B的CTS,器件A的CTS连接器件B的RTS,将器件A和B都设置为硬件自动流量控制模式即可实现硬件的自动流量控制。
    在硬件自动流量控制模式下,一旦数据接收端接收FIFO中数据的个数达到设定的触发点时,为防止接收FIFO溢出,接收端将自动拉高RTS,数据发送端的相应的CTS变高,数据接收端检测到CTS变高后,将发送完当前字节后即暂停数据发送。
    发送端暂停数据发送后,接收端的主机接口读取接收FIFO中的数据以释放接收FIFO空间,当接收FIFO中数据的个数减少到继续发送触发点时,接收端的CTS自动变为低电平,发送端相应的RTS变为低电平,发送端检测到RTS为低后,将恢复数据发送。
    ...
    8.3.7 手动硬件流量控制
    当SJ000 的子串口工作在手动模式下,可以通过手动写RTS寄存器(SECTLR Bit2)拉高或拉低RTS引脚信号。
    在该模式下,其它的操作与硬件自动流量控制一样,只是RTS由相应的寄存器控制。手动设置RTS为1可以暂停数据发送端发送数据,设置RTS为0则数据发送端继续发送数据。
    8.4 RS-485操作
    SJ000 的子串口支持RS-485自动收发控制模式和自动网络地址识别模式,网络地址可见设置。
    8.4.1 RS-485自动收发
    在RS-485模式下,流量控制将被禁止。RTS信号用于控制RS-485收发器的自动收发控制。
    默认情况下,只有在发送数据时,RTS才为高,其它情况下,RTS都保持低。可以通过设置寄存器(SECTLR的 Bit2)改变RTS极性。
    SJ000 和RS-485 的收发器的连接如图:
    ...
    8.4.2 网络地址和自动地址识别
    RS-485 模式下,每个UART 有一个唯一的网络地址,SJ000 提供了一个8 位寄存器进行RS-485网络设置。
    当自动网络地址识别功能使能时,SJ000 对接收到的数据进行自动识别。
    如果接收到的数据为数据字节或者是与SADR 中地址字节不匹配的地址字节时,SJ000 忽略这些数据。
    如果该子串口接收到的数据为地址字节(即第9bit为1,表征为地址字节),且与SADR中的数据匹配,则SJ000 进入接收状态,将该地址字节后的数据字节写入接收FIFO 中。
    当该子串口在数据接收状态下,接收到一个地址字节,且该字节与SADR不匹配时,接收将被自动禁能。
    8.4.3 自动和手动地址识别
    RS-485模式下,SCONR子串口配置寄存器中的AOD位为数据地址选择位。其默认值为1,表明该子串口只接收地址字节而忽略数据字节。
    在RS-485自动地址模式下,当接收到的地址与SADR的地址一致时,AOD将自动变为0,此时该子串口可以继续接收数据。当子串口接收到的下一个地址字节与SARD的地址不一致时,AOD位将自动置1,不再接收其后的数据字节。
    在RS-485手动地址识别模式下,RS-485地址由上层软件判断,AOD位需要手动设置。AOD设置为0时表明可以接收其后的所有数据,当AOD设置为1时,表明将忽略除了地址以外的所有数据。当接收到地址字节时,SJ000 将产生中断,通知MCU将收到的地址字节进行判断,以决定是否设置AOD以接收其后的数据。
    8.4.4 网络地址可见设置
    当子串口设置为手动地址识别模式时,RS-485网络地址总是可见。
    在子串口设置为自动地址识别模式时,可以设置SCONR子串口配置寄存器中的AVEN位,改变网络地址可见属性。当设为地址可见时,接收到的网络地址进入接收FIFO,否则将被忽略。
    9 参数指标
    9.1 极限工作条件
    ...
    10 机械尺寸
    10.1 QFN40
    略。。。
    展开全文
  • EU104是具有5个UART接口的数据转发芯片,可实现将1个UART扩展为4个UART接口,主接口通讯速率最高460800bps,子接口通讯速率最高38400bps,各接口通讯速率可由软件独立设置,包括数据位、校验位、停止位等,可适应绝...

    概述

    EU104是具有5个UART接口的数据转发芯片,可实现将1个UART扩展为4个UART接口,主接口通讯速率最高460800bps,子接口通讯速率最高38400bps,各接口通讯速率可由软件独立设置,包括数据位、校验位、停止位等,可适应绝大部分串口设备的通讯要求,紧凑的SOP16封装、2.0~5.5V供电电压、工业级温度范围等特性方便集成嵌入。

    每个接口均有独立缓存(最多1024字节),有按字节或按数据帧两种模式。

    内置RC振荡器或者外接高精度温补晶振,在整个工业级温度范围保持准确时钟。

    功能特点

    供电:2.0~5.5V

    功耗:

    • 正常运行5.8mA
    • 休眠
      11uA@VDD=3.0V   40uA@VDD=5.0V

    通讯

    • 主UART:1200~460800bps(默认115200)
    • 从UART:1200~38400bps(默认9600)
    • 缓存:共用1024字节

    封装:SOP16

    工作温度:-40~85℃,内置RC振荡器温漂范围-1.8%~0.8%,允许软件校准。

    其它特性:64bits唯一识别码

    引脚定义

    编号

    标识

    标识

    编号

    1

    TXD5

    RXD5

    16

    2

    TXD4

    RXD4

    15

    3

    TXD3

    RCV2

    14

    4

    TXD2/XIN

    RCV1

    13

    5

    SND1

    RXD3

    12

    6

    VCC

    RXD2

    11

    7

    SND2

    TXD1

    10

    8

    GND

    RXD1

    9

    所有引脚(电源除外)均为准双向弱上拉

    SND2

    SND1

    子UART号

    RCV2

    RCV1

    子UART号

    0

    0

    2

    0

    0

    2

    0

    1

    3

    0

    1

    3

    1

    0

    4

    1

    0

    4

    1

    1

    5

    1

    1

    5

    设置SND引脚电平

    选择数据从哪个UART输出

    检测RCV引脚电平

    获取接收到的数据来自哪个子UART

    EU104数据手册下载https://download.csdn.net/download/xulikai/12717067

    展开全文
  • 嵌入式系统中串口扩展的需求:  而在嵌入式领域,由于UART具有操作简单,工作可靠,抗干扰强,传输距离远(组成485网络可以传输1200米以上),设计人员普遍认为UART是从CPU或微控制器向系统的其他部分传输数据的...
  • 串口扩展芯片

    2020-06-24 14:50:51
    串口扩展芯片 WK2124 实现SPI桥接/扩展4个增强功能串口(UART)功能。扩展的子通道具备以下功能特点: 每个子通道UART的波特率、字长、校验格式可以独立设置,最高可以提供2Mbps的通道速率; 每个子通道可以独立...

    串口扩展芯片

    WK2124

    实现SPI桥接/扩展4个增强功能串口(UART)功能。扩展的子通道具备以下功能特点:

    1. 每个子通道UART的波特率、字长、校验格式可以独立设置,最高可以提供2Mbps的通道速率;
    2. 每个子通道可以独立设置工作在IrDA红外通信;
    3. 每个子通道具备收/发独立的256 BYTE FIFO,FIFO的中断可按用户需求进行编程触发点;

    封装:SSOP20
    工作电压:2.5~5.0V
    具备自动休眠/唤醒功能

    原理框图

    在这里插入图片描述

    封装引脚图

    在这里插入图片描述

    与控制器接口

    在这里插入图片描述

    1. SPI总线:WK2124通过SPI和MCU进行数据通信。SPI会传输命令字节和数据字节。
    2. 中断:WK2124的IRQ连接到MCU的外部中断输入引脚。这个连接非必须,未连接时只能通过查询的编程方式实现对子串口的数据收发,效率较低;
    3. 复位控制:低电平有效,时间长度为10ms。复位以后,所有寄存器值恢复到默认值,SPI总线上的命令解析同时复位;
    4. 时钟电路:采用无源晶振,晶振大小和子串口波特率相关;晶振必须并联的匹配电阻是1M欧姆;
    展开全文
  • CH438 是八 UART 芯片,包含八个兼容 16C550 或者 16C750 的异步串口,支持最高 4Mbps 的通讯 波特率,可以用于单片机/嵌入式系统的 RS232 串口扩展、带自动硬件速率控制的高速串口、RS485 通讯等CH438 芯片内部具有...
  • WK2114是UART接口的4通道UART器件。WK2114将一个标准3线异步串口(UART)扩展成为4个增强 功能串口(UART)。主接口UART在数据传输时主接口的UART可以通过引脚配置为红外通信模式。 扩展的子通道的UART具备如下...
  • EU104是具有5个UART接口的数据转发芯片,可实现将1个UART扩展为4个UART接口,主接口通讯速率最高460800bps,子接口通讯速率最高38400bps,各接口通讯速率可由软件独立设置,包括数据位、校验位、停止位等,可适应绝...
  • 可以通过模式选择使得该芯片工作于以上任何一种主接口模式,将选定的主接口扩展为4个增强功能的UART扩展的子通道的UART具备如下功能特点: 一、 每个子通道UART的波特率、字长、校验格式可以独立设置,最高可以...
  • 1、串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指的...3、PL2303、CP2102芯片是USB 转 TTL串口芯片,用USB来扩展串口(TTL电平)。 4、MAX232芯片是TTL电平与RS232电平的专用双向转换芯片,...
  • UART或SPI或I2C扩展为4路UART串口, 是首款具备256级FIFO的低功耗并支持 UART/spiTM/IIC位并行总线接口的4通道...可以通过模式选择使得该芯片工作于以上任何一种主接口模式,将选定的主接口扩展为4个增强功能的UART
  • 今天继续学习ADSP-BF533的串口通信,UART(Universal Asynchronous Receiver/Transmitter (UART) port)接口,是全双工通用的串行接口,由RX 和TX 两根线组成,扩展RS232 芯片可以直接和计算机串口通讯,通常作为...
  • 介绍了一种基于单片机P89LPC931的SPI总线扩展异步串行接口UART的装置,讲述了P89LPC931单片机的开发使用,重点详细阐明了扩展芯片GM8142的开发使用。用户可以根据不同的应用环境灵活配置参数。本装置成本低,可靠性...
  • ARM嵌入式系统串口扩展

    千次阅读 2016-03-22 15:39:38
    ARM嵌入式系统常常会遇到多串口应用需求,而ARM芯片系统原生的UART数目有限,因此就需要通过其他高速总线来扩展更多的接口。本文就以Toradex 基于NXPi.MX6D/6Q处理器的Apalis i.MX6D/Q ARM计算机模块,在Linux系统...
  •  引言在银行柜台取款用的密码键盘设备的开发中,为了和标准键盘、加密芯片和上位机这三部分模块的接口通讯,就需要MCU具备三个标准的UART串口来和上述三个模块的UART串口连接。而且通常各模块的UART的波特率各不...
  • 串口、COM口、UART口, TTL、RS-232、RS-485区别详解

    万次阅读 多人点赞 2017-09-16 10:30:31
    1、串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指的电平...3、PL2303、CP2102芯片是USB 转 TTL串口芯片,用USB来扩展串口(TTL电平)。 4、MAX232芯片是TTL电平与RS232电平的专用双向转换芯片
  • CH9344是一颗USB接口转4串口的转接芯片,支持windows/linux/android等系统。广泛应用于安卓/windows主板扩展多个串口的需求。提供 4 组全双工的异步串口 UART0/1/2/3,用于为计算机 扩展异步串口,或者将普通的串口...
  • 1、串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是...3、PL2303、CP2102芯片是USB 转 TTL串口芯片,用USB来扩展串口(TTL电平)。4、MAX232芯片是TTL电平与RS232电平的专用双向转换芯片,可以TTL转...
  •  SP2538是专用低功耗串行口扩展芯片,该芯片主要是为解决当前基于UART串口通信的外围智能模块及器件较多,而单片机或DSP原有的UART串口又过少的问题而推出的。利用该器件可将现有单片机或DSP的单串口扩展至5个全
  • 串行接口简称串口,也称串行通信接口,是采用串行通信方式的扩展接口。 我们比较熟悉的USB接口,全名通用串行总线(Universal Serial BUS),就属于串口。 串行接口按电气标准及协议来分还包括UART、RS232、RS422、...
  • 串行接口简称串口(通常指COM接口),是采用串行通信方式的扩展接口,其特点是通信线路简单,只要一对传输线就可以实现双向通信,从而大大降低了成本,但传送速度一般,数据传输率为115kbps~230kbps。异步串行UART...
  • 海思HI35xx平台串口配置方法

    万次阅读 热门讨论 2018-10-06 15:33:38
    串行接口简称串口(通常指COM接口),是采用串行通信方式的扩展接口,其特点是通信线路简单,只要一对传输线就可以实现双向通信,从而大大降低了成本,但传送速度一般,数据传输率为115kbps~230kbps。异步串行UART...
  • MAX14830 4UART通道单发送功能实现

    千次阅读 2018-04-14 14:42:20
    MAX14830 是美信的一款SPI转4串口芯片,用来扩展串口的。SPI最高26MHz,4个串口可配置不同的波特率,最快24MHz。硬件上的连接很简单,参考手册66页上都有写。 通过片选CS引脚,可以用同一个SPI接口控制数个MAX14830...
  • 问题来了: MCU的datasheet中,串口接口名字叫SCI, 外扩的芯片datasheet中将两个口叫UART...... 那么程序中相应的命名该叫什么?根据功能,这两者是一样的。 翻阅资料后得出一个结论: 这两者本质上就是一个东西...
  • 由于SOC芯片UART可能不够,所以需要使用USB接口进行扩展 2. USB转串口通用驱动开启方法 device driver->USB support->usb serial->USB CP210X... 3. 编译内核 (1)直接编译进内核 make ARCH=...
  • 采用IEEE802.11n,1T1R 最高可达150Mbps,具有1个USB2.0,1个高速UART串口,多个GPIO接口。1WAN+4LAN10/100Mbps接口,方便用户灵活扩展外围接口主板,可广泛应用于各种家,商,工业嵌入式无线产品。
  • 目前几乎所有的DSP都提供一个或多个串口,然而,多数DSP芯片提供的是同步串口,在实际的应用中,DSP要能够与外设进行异步串行通信,如与PC机进行串行数据传输就要求DSP系统具UART串行接口。...

空空如也

空空如也

1 2 3
收藏数 50
精华内容 20
热门标签
关键字:

串口扩展芯片uart接口