SJXXX串口扩展芯片 4串口芯片 UART串口芯片

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 订购信息

器件型号封装类型
型号说明
SJ214SOP20封装体尺寸:12.8mm X 7.5mm,引脚间距:1.27mm
SJ224
SJ234
SJ304QFN24封装体尺寸:4mm X 4mm,引脚间距:0.5mm
SJ000QFN40封装体尺寸:6mm X 6mm,引脚间距:0.5mm

器件型号接口特性说明
主接口子接口
SJ214UARTUARTUART主接口,无硬件流量控制端口
SJ224SPIUARTSPI主接口,无硬件流量控制端口
SJ234IICUARTIIC主接口,无硬件流量控制端口
SJ304UART/SPI/IICUART三种主接口,一个子口带硬件控制端口
SJ000UART/SPI/IICUART三种主接口,四个子口带硬件控制端口


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/455146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MPLS服务合同到期了,是否该续签?

当考虑是否要更新现有MPLS服务合同以及续签多久时,你需要着眼于从价格到部署速度的方方面面。简而言之,如果你还没有获取一些与软件定义广域网有关技术的经验,即使用宽带或取代MPLS服务,那么你就没办法在未来几个月之内弃用MPLS。…

oracle rds 运维服务_从运维的角度分析使用阿里云数据库RDS的必要性–你不应该在阿里云上使用自建的MySQL/SQL Server/Oracle/PostgreSQL数据库...

开宗明义,你不应该在阿里云上使用自建的MySQL or SQL Server数据库,对了,还有Oracle or PostgreSQL数据库。云数据库 RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于飞天分布式系统和全SSD盘高性能存储&…

单例设计模式2

恶汉式(静态代码块儿) 优缺点说明: 这种方式和上面的相似,只不过将类实例化的过程放在了静态代码块中,也是在类装载的时候,就执行静态代码块儿中的代码,初始化类的实例.优缺点和上面是一样的. 结论: 这种单例模式可用,可能 造成内存浪费 代码演示 package com.atguigu.pri…

FLV文件格式解析

FLV(Flash Video)是现在非常流行的流媒体格式,由于其视频文件体积轻巧、封装播放简单等特点,使其很适合在网络上进行应用,目前主流的视频网站无一例外地使用了FLV格式。另外由于当前浏览器与Flash Player紧密的结合&am…

华院数据宣晓华:传统零售商转型电商需攻克大数据三关

现在电商发展起来的节奏,使得大众更相信马云所言“五年内将没有线下销售”的可信度。面对这样的转变最该紧张的似乎是传统零售商了,日前在中美创新链接——大数据专题研讨会上,华院数据创始人、董事长宣晓华谈了传统零售商在转型过程中遭遇的…

部署到gcp_GCP 网络系统Andromeda --- 概述篇

这个系列总共有三篇,分别在:肖宏辉:GCP 网络系统Andromeda --- 概述篇肖宏辉:GCP 网络系统Andromeda --- 控制面肖宏辉:GCP 网络系统Andromeda --- 数据面最近看了Google在2018年的一篇NSDI文章,介绍他们的…

单例设计模式-懒汉式(线程不安全)

懒汉式(线程不安全) 优缺点说明 起到了Lazy Loading的效果,但是只能在单线程下使用 如果在多线程下, 一个线程进入if(singleton null)判断 语句块,还未来得及往下执行,另一个线程也通过了这个判断语句,这时便会产生多个实例. 所以在多线程的环境下,不可使用种方式 结论:在…

南海发展大数据产业 建设新型智慧城市

今天(9月5日)上午,佛山市南海区将迎来一大盛事——“南海大数据及工业互联网创新应用工作推进会”(以下简称“推进会”)召开,南海将与阿里巴巴、腾讯以及三大通信运营商等互联网、大数据巨头签订21个大数据建设亮点项目。同时,为吸引更多大数据产业集聚,南海将在推进会上同步发…

AMR音频编码器概述及文件格式分析

全称Adaptive Multi-Rate,自适应多速率编码,主要用于移动设备的音频,压缩比比较大,但相对其他的压缩格式质量比较差,由于多用于人声,通话,效果还是很不错的。 一、分类 1. AMR: 又称为AMR-NB&am…

查询自己OpenGL的版本信息

GLvoid PrintVersion() {const GLubyte* name glGetString(GL_VENDOR); //返回负责当前OpenGL实现厂商的名字const GLubyte* biaoshifu glGetString(GL_RENDERER); //返回一个渲染器标识符,通常是个硬件平台const GLubyte* OpenGLVersion glGetStr…

airpod蓝牙耳机音量大解决办法_关于AirPods的常见问题汇总 全面了解苹果AirPods无线耳机...

小编带来关于AirPods必知的24个问题,全面了解苹果AirPods无线耳机。苹果决定在iPhone7中抛弃3.5毫米耳机接口,这引发了许多争议和不解。苹果这样做的原因部分在于,希望人们转而使用无线耳机。因此苹果也推出了自主的无线耳机AirPods。对于无线…

单例设计模式-懒汉式(线程安全)

懒汉式(线程安全) 有缺点说明 解决了线程不安全问题 效率太低了,每个线程在想获得类的实例时候,执行getInstance()方法都要进行同步.而其实这个方法只执行了一次实例化代码就够了,后面的想获取该类实例,直接return就行了.方法进行同步效率太低 结论: 在实际开发中,不推荐使用…

剖析Docker Swarm和Mesos:是什么?如何结合?有什么优势?

本文讲的是剖析Docker Swarm和Mesos:是什么?如何结合?有什么优势?,【编者的话】本文来自Mesosphere,从生产环境的需求出发,简要介绍了Docker Swarm的诞生背景,以及其与Mesos、 Mesos…

濮阳第二届创客机器人比赛_咸阳市举行第二届机器人大赛暨第一届创客大赛

11月14日,由陕西省教育信息化管理中心指导,市教育局主办,咸阳师范学院、市少工委协办的咸阳市第二届机器人大赛暨第一届创客大赛在咸阳师范学院举办。各个学校的同学展示自己的发明创造。咸阳日报全媒体记者 马沅聪 摄据悉,来自各…

MP3文件格式解析

1, MP3简介 MP3是今天一种常见的音乐格式,但恐怕除了工作要求之外,有兴趣对此进行研究的人恐怕不多。所以,当我打算做MP3解码方面的工作时,在找资料时也颇费了一番周折,同时也觉得很有趣。所以想在这里分…

懒汉式(线程安全,同步代码块儿)

懒汉式(线程安全,同步代码块儿) 代码演示 // 懒汉式 (线程安全_ 同步放法_) class Singleton{private static Singleton instance;private Singleton() {}// 提供一个静态的公有方法 加入了同步处理的代码// 解决线程安全问题// 即懒汉式// 我们在这里加一个关键字 synchroni…

同余定理证明

转载于:https://www.cnblogs.com/cmyg/p/7206474.html

非常抱歉,

非常抱歉,好长一段时间没写了,但是我在博客园偶尔还会写写这个行业必须不断地学才不会被淘汰,幸好我是主动接受知识,我喜欢这个。。。。。。。。。。转载于:https://blog.51cto.com/52770825/1962949

乘基取整法是什么_深入理解计算机系统(六):进制间的转换原理

目录1、进制的介绍2、二进制转换成其他进制3、十进制转换成其他进制4、十六进制转换成其他进制5、总结上一篇博客我们讲解了信息的在计算机中是如何存储以及如何表示的。但是对于各个进制的转换只是一笔带过了,后来作者仔细研究了进制转换的原理,发现还是…

单例设计模式-双重检查

双重检查 双重检查应用实例 代码演示: class Singleton{private static volatile Singleton singleton;private Singleton(){}// 提供一个静态公有方法public static Singleton getInstance() {if (instance null) {synchronized (Singleton.class) {if (instance null) {…