ETC VK3222

VK3222
维肯电子
www.vkic.com
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
VK3222 SPI总线接口 二通道通用异步收发器
无铅封装
1.产品概述
TM
VK3222是SPI 接口的2通道UART器件。VK3222实现SPI桥接/扩展2个串口(UART)的功能。
扩展的子通道的UART具备如下功能特点:
每个子通道UART的波特率、字长、校验格式可以独立设置,最高可以提供1Mbps的通信速率。
每个子通道可以独立设置工作在IrDA红外通信、RS-485 9位网络地址自动识别、软件/硬件自
动流量控制、广播接收等高级工作模式下。
每个子通道具备收/发独立的16 BYTE FIFO,FIFO的中断为4级可编程条件触发点。
VK3222采用SSOP16绿色环保的无铅封装,可以工作在2.5~5.5V的宽工作电压范围,具备可配置
自动休眠/唤醒功能。
TM
[注]:SPI 为MOTOLORA公司的注册商标。
2.基本特性
2.1 总体特性
低功耗设计,可以配置自动休眠,自动唤醒模式
宽工作电压设计,工作电压为 2.5V~5.5V
精简的配置寄存器和控制字,操作简单可靠
创新的可编程数据广播模式支持向任意子通道发送数据广播
提供工业级和商业级产品
高速CMOS工艺
采用符合绿色环保政策的SSOP16无铅封装
2.2 扩展子通道UART特性
子通道串口独立配置,高速、灵活:
每个子串口为全双工,每个子串口可以通过软件开启/关闭
波特率可以独立设置,子串口最高可以达到920K bps (5V工作电压)
每个子串口字符格式包括数据长度、停止位数、奇偶校验模式可以独立设置
每个子串口可以软件设置为是否接收数据广播
完善的子串口状态查询功能
FIFO功能:
每个子串口具备独立的16级9Bits发送FIFO,发送FIFO具备4级可编程触发点
每个子串口具备独立的16级9Bits接收FIFO,接收FIFO具备4级可编程触发点
软件FIFO使能和清空
FIFO状态和计数器输出
流量控制:
支持XON/XOFF的软件自动流量控制,XON/XOFF可编程字符自动发送/识别
RS-485功能:
RS-485网络地址自动识别功能
错误检测:
支持奇偶校验错,数据帧错误及溢出错误检测
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
1 of 20
VK3222
维肯电子
www.vkic.com
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
支持起始位错误检测
每个子串口可以软件设置为是否接收数据广播
内置符合SIR标准的IrDA红外收发编解码器,传输速度可达115.2K bit/s
2.3 SPI主接口特性
最高速度5M bit/s
仅支持SPI从模式
16位,SPI模式0
3.应用领域
多串口服务器/多串口卡
工业/自动化现场RS-485控制
无线数据传输
车载信息平台/车载GPS定位系统
远传自动抄表(AMR)系统
POS/税控POS/金融机具
DSP/嵌入式系统
4.订购信息
表4.1 VK3222 订购信息
产品型号
封装
说明
VK3222-ESSG
SSOP16 无铅封装
加强工业级; 工作温度 -45℃~+85℃
VK3222-ISSG
SSOP16 无铅封装
普通工业级; 工作温度 -45℃~+85℃
VK3222-CSSG
SSOP16 无铅封装
普通商业级; 工作温度 0℃~+70℃
5.原理框图
图5.1 VK3222 原理框图
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
2 of 20
VK3222
维肯电子
www.vkic.com
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
6.封装引脚
6.1封装图
GN
D
SC
S
SCL
K
SDI
N
SDO
UT
OSC
I
OSC
O
VC
C
1
16
2
15
3
14
4
13
RX1
5
12
TX1
11
GN
D
VK3222
/RST
6
VC
C
7
10
RX2
/IRQ
8
9
TX2
6.2 引脚描述
表6.2 VK3222 引脚描述
名称
管脚
类型
描述
SCS
2
I
为SCS(SPI片选)功能引脚:低电平有效
SCLK
3
I
为SCLK(SPI 时钟输入)功能引脚;
SDIN
4
I
为SDIN(SPI数据输入)功能引脚;
SDOUT
5
O
为SDOUT(SPI数据输出)功能引脚;
SCLK
6
I
当主接口为SPI时,为SCLK(SPI 时钟输入)功能引脚;
SDIN
7
I
为SDIN(SPI数据输入)功能引脚;
SDOUT
8
I
为SDOUT(SPI数据输出)功能引脚;
RX1
RX2
13
10
I
子通道串口串行数据输入。
RX 将所连数据UART的串行数据输入VK3222的相应管脚。
TX1
12
O
子通道串口串行数据输出。
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
3 of 20
VK3222
维肯电子
www.vkic.com
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
TX2
9
TX 将串行数据输出到与其连接的器件引脚。
/RST
6
I
硬件复位引脚,低电平复位有效
/IRQ
8
O
中断输出信号,低电平有效,建议外接上拉电阻,典型值5.1K
OSCO
15
I
晶振输入;
OSCI
16
O
晶振输出;
VCC
7,14
-
电源 2.5V~5.5V工作范围
GND
1,11
-
地
7.寄存器描述
7.1 寄存器列表
VK3222的寄存器按地址编号为6位地址编号,地址000000~111111,分为全局寄存器和子串口寄
存器。其中高2位为通道编号,低4位为寄存器地址编号。
全局寄存器6个,全局寄存器的地址XX0000-XX0101,XX为任意值(考虑到器件升级的兼容性,
建议设置XX=00),低4位地址具体排列见表8.1:
表7.1 全局寄存器列表
寄存器地址[3:0]
寄存器名称
类型
寄存器功能描述
(XX) 0000
RSV
无
保留
(XX) 0001
GCR
R/W
全局控制寄存器
(XX) 0010
GMUCR
R/W
全局主串口控制寄存器
(XX) 0011
GIR
R/W
全局中断寄存器
(XX) 0100
GXOFF
R/W
全局 XOFF 字符寄存器
(XX) 0101
GXON
R/W
全局 XON 字符寄存器
子串口寄存器10个,其排列为C1C0 REG[3:0] ,高两位为子串口通道号,低4位为寄存器地址,按低
4位的寄存器地址具体排列见表8.2:
表7.2 子串口寄存器列表
寄存器地址[3:0]
寄存器名称
类型
寄存器功能描述
(C1,C0) 0110
SCTLR
R/W
子串口控制寄存器
(C1,C0) 0111
SCONR
R/W
子串口配置寄存器
(C1,C0) 1000
SFWCR
R/W
子串口流量控制寄存器
(C1,C0) 1001
SFOCR
R/W
子串口 FIFO 控制寄存器
(C1,C0) 1010
SADR
R/W
子串口自动识别地址寄存器
(C1,C0) 1011
SIER
R/W
子串口中断使能寄存器
(C1,C0) 1100
SIFR
R
子串口中断标志寄存器
(C1,C0) 1101
SSR
R
子串口状态寄存器
(C1,C0) 1110
SFSR
RW
子串口 FIFO 状态寄存器
(C1,C0) 1111
SFDR
RW
子串口 FIFO 数据寄存器
C1,C0:子通道号,00~01 分别对应子串口 1 到子串口 2
7.2 寄存器描述
7.2.1 GCR 全局控制寄存器:(0001)
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
4 of 20
维肯电子
www.vkic.com
VK3222
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
位
复位值
功能描述
类型
Bit7
0
GBDEN 全局广播使能位
0:禁止数据广播
1:使能数据广播
W/R
Bit6
0
W/R
Bit5
0
IDEL 软件 IDEL 使能位
0:唤醒正常工作
1:进入 IDEL 模式
-保留
Bit4
Bit3
0
0
-保留
-保留
-
Bit2
0
-保留
-
Bit1
Bit0
0
0
-保留
-保留
-
-
7.2.2 GMUCR 全局主串口控制寄存器:(0010)
位
复位值
功能描述
类型
Bit7 --- 4
0011
主串口波特率设置 ,具体设置值参见表 8.9.1(Bit7—4 对应 B3—B0) W/R
Bit3
0
Bit2
0
Bit1 -- 0
00
PAEN 主 UART 校验设定(数据长度设置位)
0:8 位数据(无带校验位)
1:9 位数据(带第 9 位校验位)
STPL 停止位长度设置位
0:1 位停止位
1:2 位停止位
PAM1—0 奇偶校验模式选择
00:强制 0 校验
01:奇校验
10:偶校验
11:强制 1 校验
W/R
W/R
W/R
7.2.3 GIR 全局中断寄存器:(0011)
位
复位值
功能描述
类型
Bit7
0
保留
W/R
Bit6
0
保留
W/R
Bit5
0
U2IEN 子串口 2 中断使能控制位
0:禁止子串口 2 中断
1:使能子串口 2 中断
W/R
Bit4
0
U1IEN 子串口 1 中断使能控制位
0:禁止子串口 1 中断
1:使能子串口 1 中断
W/R
Bit3
0
保留
R
Bit2
0
保留
R
Bit1
0
U2IF 子串口 2 中断标志位
0:子串口 2 无中断
1:子串口 2 有中断
R
Bit0
0
U1IF 子串口 1 中断标志位
R
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
5 of 20
VK3222
维肯电子
www.vkic.com
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
0:子串口 1 无中断
1:子串口 1 有中断
7.2.4 GXOFF 全局 XOFF 字符寄存器:(0100)
位
复位值
Bit7 --- 0
00000000
功能描述
类型
XOFF 特殊字符寄存器
W/R
7.2.5 GXON 全局 XON 字符寄存器:
位
复位值
功能描述
Bit7 --- 0
00000000
类型
XON 特殊字符寄存器
W/R
7.2.6 SCTLR 子串口控制寄存器:(0110)
位
复位值
功能描述
类型
Bit7 --- 4
0011
子串口波特率设置 ,具体设置值参见表 8.9.1 (Bit7—4 对应
B3—B0)
W/R
Bit3
0
UTEN 子串口使能控制位
0:不使能,此时该子串口通道不能进行数据收发
1:使能,使能后该子串口可以进行正常的数据收发
W/R
Bit2
0
MDSEL 485 和 232 模式选择控制位
0:RS232 收发模式
1:RS485 收发模式
W/R
Bit1
0
RBDEN 允许接收广播数据控制位
1:允许子串口接收广播数据
0:禁止子串口接收广播数据
W/R
Bit0
0
IREN 红外模式选择位
0:标准串口模式
1:红外数据模式
W/R
7.2.7 SCONR 子串口配置寄存器:(0111)
位
复位值
功能描述
类型
Bit7
0
SSTPL 子串口停止位长度控制位
0:1 位停止位
1:2 位停止位
W/R
Bit6
0
W/R
Bit5
0
Bit4 – 3
00
SPAEN 子串口校验使能(数据长度控制)位
0:无校验位(8 位数据)
1:有校验位(9 位数据)
SFPAEN 子串口强制校验使能控制位
0:不使用子串口强制校验
1:使能子串口强制校验
PAM1—0 奇偶校验模式选择:
当 SFPAEN=1 子串口强制校验使能时:
00:强制 0 校验 ;01,10:强制用户校验 ; 11:强制 1 校验
当 SFPAEN=0,子串口普通校验模式时:
W/R
W/R
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
6 of 20
VK3222
维肯电子
www.vkic.com
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
Bit2
1
Bit1
0
Bit0
0
7.2.8
00:0 校验; 01:奇校验; 10:偶校验; 11:1 校验
AOD 子串口地址/数据模式选择位(工作在 RS485 模式时)
0:允许接收所有数据字节
1:只允许接收地址字节
W/R
AREN 网络地址自动识别控制位
0:禁止网络地址自动识别
1:允许网络地址自动识别
详细操作参见 RS-485 操作模式介绍
AVEN 网络地址可见控制位
0:禁止网络地址可见,网络地址不写入 FIFO
1:允许网络地址可见,网络地址写入 FIFO
W/R
W/R
SFWCR 子串口流量控制寄存器:(1000)
位
复位值
功能描述
类型
Bit7 – 6
00
W/R
Bit5 – 4
00
Bit3
0
Bit2
0
Bit1
0
Bit0
0
HRTL1—0 暂停发送触发点控制(RS232 模式下有效)
:
00=3bytes 01= 7bytes 10=11bytes 11= 15bytes
在流量控制使能的条件下,当接收 FIFO 中数据的增加到该触发点时,
启动相应的软件/硬件流量控制,控制通道相连接的设备暂停数据发
送。
PRTL1—0 继续发送触发点控制(RS23 模式下有效)
:
00=1bytes 01= 4bytes 10=8bytes 11= 12bytes
在流量控制使能的条件下,当接收 FIFO 中的数据降低到该触发点时,
通过软件/硬件流量控制机制,控制与该通道相连接的设备继续发送数
据。
FWCEN 流量控制使能控制位(RS232 模式下有效)
0:禁止子串口自动流量控制
1:允许子串口自动流量控制
FWCM 流量控制模式 (当流量控制使能时有效)
0:子串口自动软件流量控制
1:子串口自动硬件流量控制
AOMH 硬件流量控制选择 (当硬件流量控制使能时有效)
0:自动硬件流量控制
1:手动流量控制
XVEN XON/XOFF 可见设置
0:XON/XOFF 字符不可见
1:XON/XOFF 字符写入 FIFO,在主机端可见 XOFF
W/R
W/R
W/R
W/R
W/R
7.2.9 SFOCR 子串口 FIFO 控制寄存器:(1001)
位
复位值
功能描述
类型
Bit7 – 6
00
W/R
Bit5 ---
00
TFTL1—0 发送 FIFO 触点控制:
00=0bytes 01= 4bytes 10=8bytes 11=12bytes
当接收 FIFO 的数据减少到该触发点时,提示主机可以继续向发送
FIFO 写入数据。
RFTL1—0 接收 FIFO 触点控制:
W/R
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
7 of 20
VK3222
维肯电子
www.vkic.com
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
4
Bit3
0
Bit2
0
Bit1
0
Bit0
0
00=1bytes 01= 4bytes 10=8bytes 11=14bytes
当接收 FIFO 的数据增加到该触发点是,提示主机接口从接收 FIFO 中
读取数据。
TFEN 发送 FIFO 使能控制位
W/R
0:禁止发送 FIFO,待发送的数据不写入发送 FIFO,直接进入发送移
位寄存器
1:使能发送 FIFO,待发送的数据写入发送 FIFO,通过 FIFO 发送
RFEN 接收 FIFO 使能
W/R
0:禁止接收 FIFO, 接收到的数据不写入接收 FIFO
1:使能接收 FIFO,接收到的数据写入接收 FIFO
TFCL 清除发送 FIFO
W/R
0:不清除 TX FIFO
1:清除发送 TX FIFO 中所有数据
RFCL 清除接收 FIFO
W/R
0:不清除接收 FIFO 中数据
1:清除接收 FIFO 中所有数据
7.2.10 SADR 子串口自动识别地址寄存器:(1010)
位
复位值
功能描述
类型
Bit7 --- 0
00000000
子串口自动识别网络地址寄存器。
(RS485 模式下有效)
W/R
7.2.11 SIER 子串口中断使能寄存器:(1011)
位
复位值
功能描述
类型
Bit7
0
RXBY RX_BUSY 状态位
0:该通道 RX 空闲
1:该通道 RX 正在接收数据
R
Bit6
0
FOEIEN FIFO 数据错误中断使能位:
0:禁止 FIFO 数据错误产生中断
1:使能 FIFO 数据错误产生中断
W/R
Bit5
0
RAIEN 接收地址中断使能位:
0:禁止子串口接收地址产生中断
1:使能子串口接收地址产生中断
W/R
Bit4
0
XFIEN XOFF 中断使能位:
0:禁止 XOFF 中断
1:使能 XOFF 中断,当子串口接收到 XOFF 特殊字符时产生中断
W/R
Bit3
0
保留
W/R
Bit2
0
保留
W/R
Bit1
0
TRIEN 发送 FIFO 触点中断使能位
0:禁止发送 FIFO 触点中断
1:使能发送 FIFO 触点中断
W/R
Bit0
0
RFIEN 使能接收 FIFO 触点中断
0:禁止接收 FIFO 触点中断
1:使能接收 FIFO 触点中断
W/R
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
8 of 20
维肯电子
www.vkic.com
VK3222
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
7.2.12 SIFR 子串口中断标志寄存器:(1100)
位
复位值
功能描述
类型
Bit7
0
保留
R
Bit6
0
Bit5
0
FOEINT 子串口 FIFO 数据错误中断标志位
R/W
0:无 FIFO 数据错误中断
1:FIFO 数据错误(当 FIFO 中数据出错时产生该中断)
RAINT 子串口自动地址识别中断位
R/W
0:无地址自动识别中断
1:自动地址识别中断(当接收到的数据为地址字节且与 SDAR 匹配时
产生中断)
Bit4
0
Bit3
R/W
0
XFINT XOFF 中断标志位
0:无 XOFF 中断
1:有 XOFF 中断
保留
Bit2
0
保留
R/W
Bit1
0
R/W
Bit0
0
TFINT 子串口发送 FIFO 触点中断标志位
0:无 TFINT 中断
1:有 TFINT 中断
RFINT 子串口接收 FIFO 触点中断标志位
0:无 RFINT 中断
1:有 RFINT 中断
R/W
R/W
7.2.13 SSR 子串口状态寄存器:(1101)
位
复位值
功能描述
类型
Bit7
X
R
Bit6
X
Bit5
X
Bit4
Bit3
X
0
Bit2
1
Bit1
0
OE 子串口接收 FIFO 中当前数据(最早写入)的溢出错误标志位:
0:无 OE 错误
1:有 OE 错误
FE 子串口接收 FIFO 中当前数据(最早写入)的帧错误标志位:
0:无 FE 错误
1:有 FE 错误
PE 子串口接收 FIFO 中当前数据(最早写入)的校验错误标志位
0:无 PE 错误
1:有 PE 错误
RX8 子串口接收 FIFO 中当前数据(最早写入)的第 9 位(Bit8)数据值
TFFL 子串口发送 FIFO 满标志
0:子串口发送 FIFO 未满
1:子串口发送 FIFO 满
TFEM 子串口发送 FIFO 空标志
0:子串口发送 FIFO 位空
1:子串口发送 FIFO 空
TXBY 子串口发送 TX 忙标志
0:子串口发送 TX 空
1:子串口发送 TX 忙
R
R
R
R
R
R
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
9 of 20
维肯电子
www.vkic.com
VK3222
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
Bit0
RFEM 子串口接收 FIFO 空标志
0:子串口接收 FIFO 未空
1:子串口接收 FIFO 空
1
7.2.14
R
SFSR 子串口 FIFO 状态寄存器:(1110)
位
复位值
功能描述
类型
Bit7 – 4
0000
TCNT3—0
子串口发送 FIFO 中的数据个数
R
Bit3 -- 0
0000
RCNT3—0
子串口接收 FIFO 中的数据个数
R
7.2.15:SFDR 子串口 FIFO 数据寄存器:(1111)
位
复位值
功能描述
类型
Bit7 -- 0
xxxxxxxx
写操作时:写入的子串口发送 FIFO 的数据
读操作十:读出的子串口接收 FIFO 的数据
W/R
8.全局功能描述
8.1 复位
VK3222为低电平复位。
各寄存器的复位值见7.2寄存器表中所列。
复位期间及复位后,各子串口处于禁止收发状态。当子串口处于联网模式下时,该特性使
得该子串口所在的子节点在上电、复位期间不会对联网的其它节点产生干扰。
当主接口为UART串口时,其复位后的默认波特率见表8.6.1中阴影标注部分
8.2 时钟选择
VK3222使用晶振时钟作为芯片的时钟源。
8.3 中断控制
VK3222有两级中断:子串口,全局中断。当IRQ引脚指示有中断时,可以通过读取全局中断
寄存器GIR以判断当前中断的类型,然后去读取相应的中断状态寄存器,以确定当前的中断源。
VK3222的中断结构如下图所示:
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
10 of 20
维肯电子
www.vkic.com
VK3222
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
uart1_ireq
uart1_ireq_en
uart1_ireq
uart1_ireq_en
uart1_ireq
IRQ
uart1_ireq_en
uart1_ireq
uart1_ireq_en
modem_ireq
modem_ireq_en
图 8.3 VK3222 中断结构图
VK3222的每个子串口都有独立的中断系统,包括:FIFO数据错误中断,接收地址中断(RS485
模式),XOFF发送中断,发送FIFO触发点中断,接收FIFO触发点中断。
当任意一个中断使能后,满足中断条件就会产生相应的中断。
8.3.1 FIFO数据错误中断
FIFO数据错误中断表明当前接收FIFO中有一个或以上的数据错误,产生错误的条件包括OE
(数据溢出错误),FE(数据帧错误),和PE(奇偶校验错)。
一旦有接收FIFO中有出错数据,将产生该中断,直到接收FIFO中的所有出错数据都被读取后,
该中断才被清除。该中断清除后表明当前接收FIFO中没有出错数据。
8.3.2 接收地址中断
该中断仅当VK3222工作在RS485模式时产生。在RS232模式下不会产生该中断。
在自动地址识别模式下,子串口接收到与其设定地址一致的地址字节时,产生该中断。直到
相应的中断寄存器被读取后,该中断自动清除。
在手动地址识别模式下,一旦接收到地址字节,都将产生该中断。相应的中断寄存器被读取
后,该中断被清除。
8.3.3 发送XOFF中断
在软件自动流量控制模式下,当数据接收端准备发送XOFF字符时产生该中断。当其准备发送
XON字符字符时该中断被清除。
8.3.4 发送FIFO触发点中断
当发送FIFO中的数据个数小于设定的发送FIFO触发点时,产生该中断。当发送FIFO中的数据
个数大于设定的发送FIFO触发点时,该中断被清除。
8.3.5 接收FIFO触发点中断
当接收FIFO中的数据个数大于设定的接收FIFO触发点时,产生该中断。当接收FIFO中的数据
个数小于设定的接收FIFO触发点时,该中断被清除。
8.4 广播模式操作
VK3222支持子串口通道可独立配置的数据广播模式。
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
11 of 20
www.vkic.com
维肯电子
VK3222
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
首先通过设置全局寄存器GCR中的GBDEN位,将主口的全局广播设置为使能,然后设置需要
接收广播数据的相应子串口通道的SCTLR的RDBEN位,使得该通道可以接收数据广播。设置完
成后,主口发往任意通道的数据都能被设置为接收广播使能的子串口接收,而未设置接收数
据广播的子串口将会忽略这些数据。
8.5 红外模式操作
VK3222的主串口和子串口都可以设置成为红外通信模式。当VK3222的UART设置为IrDA模式
时,可以与符合SIR红外通信协议标准的设备通信,或者直接应用于光隔离通信中。
在IrDA模式下,一位数据的周期缩短到普通UART一位数据的3/16,小于1/16波特周期的
脉冲将被作为干扰而忽略。
8.5.1 红外接收操作
在红外数据接收的时序和普通UART数据接收的对应图 如图8.5.1所示:IRX为接收到的红
外数据信号,RX为通过红外数据解码后的数据。解码后的数据与IRX上的数据有1个BIT
(16xCLOCK)的延迟。接收模式下,与普通UART不同的是,RX在脉冲的中间进行一次采样(区
别与普通UART的3次采样),IrDA解码器将IRX上的3/16波特周期的脉冲解码为数据0,持续低
电平解码为数据1。
图 8.5.1 红外接收时序
8.5.2 红外发送操作
红外数据发送和普通UART数据发送的对应图如图8.5.2所示,TX为普通UART数据发送时序,
IRTX为红外发送时序。当发送数据0时,红外编码器将产生一个3/16位宽的脉冲通过TX发送。
当发送数据0时,保持低电平不变。
图 8.5.2 红外发送时序
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
12 of 20
VK3222
维肯电子
www.vkic.com
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
8.6 可编程波特率发生器
VK3222 的主串口和子串口采用相同的独立可编程波特率发生器。
该波特率发生器产生固定 16X
系统时钟的波特率,分频率可以通过软件设置。
下表给出了在不同系统时钟频率下的串口波特率设置表:
表 8.9.1
BAUD
B3 B2 B1 B0
分
频
率
波特率
Fosc=
1.8432MHz
波特率
Fosc=
3.6864MHz
波特率
Fosc=
7.3728MHz
波特率
Fosc=
11.0592MHz
波特率
Fosc=
14.7456MHz
0
0
0
0
48
38400
76800
153600
230400
307200
0
0
0
1
96
19200
38400
76800
115200
153600
0
0
1
0
4
9600
19200
38400
57600
76800
0
0
1
1
8
4800
9600
19200
28800
38400
0
1
0
0
16
2400
4800
9600
14400
19200
0
1
0
1
32
1200
2400
4800
7200
9600
0
1
1
0
64
600
1200
2400
3600
4800
0
1
1
1
128
300
600
1200
1800
2400
1
0
0
0
3
115200
230400
460800
691200
921600
1
0
0
1
6
57600
115200
230400
345600
460800
1
0
1
0
12
28800
57600
115200
172800
230400
1
0
1
1
24
14400
28800
57600
86400
115200
1
1
0
0
48
7200
14400
28800
43200
57600
1
1
0
1
96
3600
7200
14400
21600
28800
1
1
1
0
192
1800
3600
7200
10800
14400
1
1
1
1
384
900
1800
3600
5400
7200
[注] 上表中蓝底部分的设置为 VK3222 复位后的初始值。
8.7 数据格式设置
8.7.1 校验模式
VK3222的UART能提供强制校验,计算校验和无校验的数据格式,通过SCONT(子串口配
置寄存器)进行设置:
强制校验模式
VK3222支持强1校验,强0校验和用户指定校验模式。在这种模式下,校验设置仅影响数据
发送,数据接收将忽略奇偶校验。
在RS-485模式下,推荐使用强制校验模式,在该模式下,可以很方便的区分数据和地址。
计算校验模式
VK3222支持1校验、0校验,奇校验、偶校验模式。在该模式下,接收和发送的数据都进行
奇偶校验计算。
8.7.2 数据长度
VK3222支持1或2位停止位模式。
8.8 休眠和自动唤醒
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
13 of 20
VK3222
维肯电子
www.vkic.com
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
VK3222支持休眠和自动唤醒模式,向GCR的IDLE位写入1,将进入休眠模式。在休眠模式
下,VK3222的系统时钟将停止以降低功耗。
在休眠模式下,可以被主口和子串口自动唤醒:一旦SCS,CS,主口MRX,子串口RX有数
据改变,VK3222的系统时钟将会被自动唤醒,进入正常收发。
9.SPI接口模式操作
9.1 SPI 与主机的连接:
如图 3.2.1 所示 SPI 接口包括如下四个信号:
SDIN:SPI 数据输入。
SDOUT:SPI 数据输出。
SCLK:SPI 串行时钟。
SCS:SPI 片选(从属选择)
。
VK3222 与主机的连接如图 9.1 所示。
图 9.1 SPI 与主机连接图
9.2 SPI 接口的操作时序
VK3222 工作在 SPI 同步串行通信的从机模式下 ,支持 SPI 模式 0 标准。为实现主机和 VK3222
的通信,在主机端需要设置 CPOL=0(SPI 时钟极性选择位),CPHA=0( SPI 时钟相位选择位)。
VK3222 SPI 接口的操作时序如图 9.2 所示:
SCS
SCLK
SDIN
Bit 15
Bit 14
Bit 13
Bit 12
Bit 2
Bit 1
Bit 0
SDOUT
Bit 15
Bit 14
Bit 13
Bit 12
Bit 2
Bit 1
Bit 0
图 9.2 SPI 操作时序图
9.3 SPI 总线通信协议描述:
9.3.1.SPI 写寄存器
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
14 of 20
VK3222
维肯电子
www.vkic.com
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
SPI
BIT
DIN
DOUT
控制字节 CMD
15
1
INT1
14
C1
INT2
13
C0
INT3
12
A3
INT4
11
A2
TXF
数据字节 DB
10
A1
TXE
9
A0
TXB
8
D8t
RXE
7
D7t
RXB
6
D6t
TC2
5
D5t
TC1
4
D4t
TC0
3
D3t
RC3
2
D2t
RC2
1
D1t
RC1
0
D0t
RC0
9.3.2.SPI 读寄存器
分类
控制字节 CMD
数据字节 DB
BIT
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
DIN
0
C1
C0
A3
A2
A1
A0
0
0
0
0
0
0
0
0
0
DOUT
INT1
INT2
INT3
INT4
OE
FE
PE
RX8
D7r
D6r
D5r
D4r
D3r
D2r
D1r
D0r
说明:
C1 C0:子串口通道号 00~01 分别对应子串口 1 到子串口 2
A3-A0:子串口寄存器地址
D8t:9 位数据长度发送时第 9 位的数据
INT1—INT4:通道 1 到 4 的中断标志
OE:=1 时 溢出错误标志
FE: =1 时 帧错误标志
PE: =1 时 校验错误标志
RX8: 接收的第 9 位数据
TC3—TC0:发送 FIFO 数据的个数
RC3—RC0:接收 FIFO 数据的个数
TXF:=1 时 发送 FIFO 满
TXE:=1 时 发送 FIFO 空
TXB:=1 时 发送 FIFO Busy
RXE: =1 时 接收 FIFO 空
10.子串口操作描述
10.1 子串口使能/禁止
VK3222允许独立使能或禁止每个子串口通道。
在使用中可以禁止不使用的子串口通道以降低功耗。
子串口通道只有处在使能状态才能接收和发送数据。
10.2 收发 FIFO 控制
VK3222提供了独立的16级FIFO接收和发送FIFO。接收FIFO包含额外的3个bit,用于存储错误状
态。相关操作通过SFOCR(子串口FIFO控制寄存器)进行设置。
10.2.1 发送FIFO 触发点操作
VK3222为每个通道提供独立的可编程发送FIFO触发点设置,
以产生相应的发送FIFO触发点中断。
当发送FIFO触发点中断使能时,发送FIFO中的数据数目小于设定的触发点时产生相应中断。
10.2.2 接收FIFO触发点操作
VK3222为每个通道提供独立的可编程接收FIFO触发点设置,以产生相应的接收FIFO触发点中断。
当接收FIFO触发点中断使能时,接收FIFO中的数据数目大于设定的触发点时产生相应中断。
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
15 of 20
维肯电子
www.vkic.com
VK3222
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
10.2.3 发送FIFO的使能/禁止
复位后,发送FIFO处于禁止状态。如果希望将数据写入发送FIFO,需要首先使能发送FIFO。
发送FIFO中的数据是否发送,取决于相应的子通道UART是否使能。一旦相应子通道UART处于
使能状态,则发送FIFO中的数据将会立即发送,否则,发送FIFO中的数据将不会被发送直到相应
的子通道被使能。
10.2.4 接收FIFO的使能/禁止
复位后,接收FIFO处于禁止状态。如果希望接收子串口数据,需要首先使能相应的子串口通
道及其接收FIFO。只有相应的UART和接收FIFO使能后,接收到的数据才能写入接收FIFO存储。
如果子串口通道使能而接收FIFO禁止,子串口能接收数据,但数据不会写入接收FIFO而被忽略。
10.2.5 发送FIFO 清空
当SFOCR中发送FIFO清空位(TFCL)被置1时,该子通道发送FIFO中的数据将被清空,发送FIFO
计数器和指针都将清零。
TFCL位被置1后,将会在一个时钟后被硬件自动清0。
10.2.6 接收FIFO 清空
当SFOCR中接收FIFO清空位(RFCL)被置1时,该子通道接收FIFO中的数据将被清空,接收FIFO
计数器和指针都将清零。
RFCL位被置1后,将会在一个时钟后被硬件自动清0。
10.2.7 发送FIFO 计数器
VK3222用寄存器中的4位来反应当前发送FIFO中的数据数目:当一个字节的数据写入发送FIFO
后,发送FIFO计数器自动加1;当一个发送FIFO中的数据被发送后,发送FIFO计数器自动减1。
注意:当发送FIFO计数器为15(1111)时,如果再写入一个数据则计数器变为0(0000)。当
发送FIFO计数器为1(0001)时,发送一个数据之后则计数器也变为0(0000)。因此,当发送FIFO
计数器为0时,表明发送FIFO满或者空,在这种情况下,需要结合子串口状态寄存器(SSR)中的
相关状态位进行判断。
10.2.8 接收FIFO计数器
VK3222用寄存器中的4位来反应当前接收FIFO中的数据数目:当一个字节的数据写入接收FIFO
后,接收FIFO计数器自动加1;当一个接收FIFO中的数据被读取后,接收FIFO计数器自动减1。
注意:当接收FIFO计数器为15(1111)时,如果再接收一个数据则计数器变为0(0000)。当
接收FIFO计数器为1(0001)时,读取一个数据之后则计数器也变为0(0000)。因此,当接收
FIFO计数器为0时,表明接收FIFO满或者空,在这种情况下,需要结合子串口状态寄存器(SSR)
中的相关状态位进行判断。
10.3 流量控制
VK3222提供硬件流量控制,软件流量控制和手动流量控制三种模式可选择。硬件流量控制通过
CTS和RTS引脚实现流量控制,可以减少软件开销并提高系统效率。软件流量控制通过XON和XOFF可编
程特殊字符实现流量控制操作。相关操作通过SFWCR(子串口流量控制寄存器)设置。
在RS485模式下,该功能被禁止。
10.3.1 触发点控制
当VK3222设置为自动软件/硬件流量控制时:
SFWCR中的HRTL1—0用于设置暂停发送触发点,当接收FIFO中的数据个数达到暂停发送触发点
时,VK3222将发出暂停发送信号,以通知发送端暂停发送数据。
SFWCR中的PRTL1—0用于设置继续发送触发点,在暂停发送状态下,主机口可以通过读取数据
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
16 of 20
VK3222
维肯电子
www.vkic.com
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
操作读取接收FIFO中的数据,当接收FIFO中的数据个数等于设置的继续发送触发点时,VK3222将
通知发送端继续发送数据。
设置时,需要保证暂停发送触发点大于继续发送触发点的数值。VK3222不对该条件做自动判断。
10.3.2 自动软件流量控制操作
当VK3222工作在自动软件流量控制模式时,子串口通道通过RX发送和TX接收XOFF和XON字符实
现软件流量控制,无需其它控制线。XON和XOFF字符可以通过全局寄存器中的XON和XOFF寄存器设置。
在软件流量控制模式下,传输的数据字节中不能出现XON和XOFF字符,否则将会被作为XON和
XOFF控制字符,因此在软件流量控制下,需要对数据中的XON和XOFF字符进行相应的转义处理。
10.3.2.1 XON/XOFF发送操作
在自动软件流量控制模式下,一旦数据接收端接收FIFO中数据的个数达到设定的触发点时,
为防止接收FIFO溢出,VK3222将自动通过TX发送一个XOFF字符,数据发送端收到该XOFF字节后,发
送完当前字节后即暂停数据发送。
发送端暂停数据发送后,接收端的主机接口读取接收FIFO中的数据以释放接收FIFO空间,当
接收FIFO中数据的个数减少到继续发送触发点时,接收端向发送端发送一个XON字符,发送端接收到
该字符后,将恢复数据发送。
相关的操作时序如下图所示,XON/XOFF字符的数值由上层软件设置:
DATA
DATA
DATA
RX
resume trigger
XOFF
XON
TX
halt trigger
RD
FIFO
图 11.3.2 XON/XOFF 发送操作
10.3.2.2 XON/XOFF接收操作
在软件流量控制模式下,VK3222接收到数据后,首先会与XOFF中的数据进行比较,当接收到XOFF
字符时,在发送完当前字节后即暂停数据发送。
数据暂停发送状态下,接收到XON字符后,将恢复数据发送。
10.3.2.2 XON/XOFF可见设置
在软件流量控制模式下,特殊字符XON/XOFF可以通过设置SFWCR(子串口流量控制寄存器)XVEN
位,使之在主机端为可见或不可见。
当设置为可见时,XON和XOFF字符作为数据写入接收FIFO。
当设置为不可见时,XON和XOFF字符将作为控制字符不被写入接收FIFO。
10.4 RS485操作
VK3368的子串口支持RS485自动收发控制模式和自动网络地址识别模式,网络地址可见设置。在
RS485模式下,只支持带9位地址和数据位,一位停止位的数据。如果要传输不带效验位的8位数据,
一位停止位,可通过写SIFR寄存器RSTINT位利用软件设置为手动硬件流模式来完成485的收发。
(设
置为232模式)
10.4.1 网络地址和自动地址识别
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
17 of 20
VK3222
维肯电子
www.vkic.com
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
RS485 模式下,每个 UART 有一个唯一的网络地址,VK3222 提供了一个 8 位寄存器进行 RS485
网络设置。
当自动网络地址识别功能使能时,VK3222 对接收到的数据进行自动识别。
如果接收到的数据为数据字节或者是与 SADR 中地址字节不匹配的地址字节时,VK3222 忽略
这些数据。
如果该子串口接收到的数据为地址字节,且与 SADR 中的数据匹配,则 VK3222 进入接收状态,
将该地址字节后的数据字节写入接收 FIFO 中。
当该子串口在数据接收状态下,接收到一个地址字节,且该字节与SADR不匹配时,接收将被
自动禁能。
10.4.2 自动和手动地址识别
RS485模式下,SCONR子串口配置寄存器中的AOD位为数据地址选择位。其默认值为1,表明
该子串口只接收地址字节而忽略数据字节。
在RS485自动地址模式下,当接收到的地址与SADR的地址一致时,AOD将自动变为0,此时该
子串口可以继续接收数据。当子串口接收到的下一个地址字节与SARD的地址不一致时,AOD位将
自动置1,不再接收其后的数据字节。
在RS485手动地址识别模式下,RS485地址由上层软件判断,AOD位需要手动设置。AOD设置
为0时表明可以接收其后的所有数据,当AOD设置为1时,表明将忽略除了地址以外的所有数据。当
接收到地址字节时,VK3222将产生中断,通知MCU将收到的地址字节进行判断,以决定是否设置
AOD以接收其后的数据。
11.4.3 网络地址可见设置
当子串口设置为手动地址识别模式时,RS485网络地址总是可见。
在子串口社设置为自动地址识别模式时,可以设置SCONR子串口配置寄存器中的AVEN位,改
变网络地址可见属性。当设为地址可见时,接收到的网络地址进入接收FIFO,否则将被忽略。
11.参数指标
11.1 VK3222的静态参数
除非特别说明,满足: VCC=(2.5V±0.2V)或 (3.3±0.3V)或(5±0.5V)
;-40℃到+85℃ ;
符号
说明
条件
VCC=2.5V
最小 最大
VCC=3.0V
最小
最大
VCC=5.0V
最小
最大
单
位
电源
VCC
电源电压
ICC
工作电流
ICCSL
休眠电流
3.6864MHz 晶振
无负载
2.3
2.7
3.0
3.6
4.5
5.5
V
1
2
2
3
6
10
mA
150
-
200
-
460
-
uA
输入逻辑信号
VIH
输入高电平
1.8
5.5
2.0
5.5
3.6
5.5
V
VIL
输入低电平
-
0.6
-
0.9
-
1.1
V
IIL
输入漏电流
-
±10
-
±10
-
±10
uA
CI
输入电容
-
5
-
5
-
5
pF
VI=5.5 or 0V
输出逻辑信号
VOH
输出高电平
IOH=6mA
1.9
-
2.4
-
4.5
-
V
VOL
输出低电平
IOL=-6mA
-
0.4
-
0.4
0
0.4
V
IOL
输出漏电流
-
±10
-
±10
-
±10
uA
Co
输出电容
-
5
-
5
-
5
pF
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
18 of 20
VK3222
维肯电子
www.vkic.com
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
11.2 VK3222的动态参数
符号
FOSI
说明
条件
晶振频率
VCC=2.5V
VCC=3.0V
VCC=5.0V
最小
最大
最小
最大
最小
最大
-
15
-
18
-
20
单
位
MHz
11.3 VK3222的极限参数
符号
说明
条件
最小
最大
单位
VCC
电源电压
-0.5
6
V
VI
输入电压
-0.5
+5.5
V
VO
输出电压
-0.5
+5.5
V
-
600
mW
PTOL
总功耗
TO
工作温度
-40
+85
℃
TSTG
存储温度
-65
+150
℃
12.封装信息
VK3222采用SSOP16无铅绿色封装
图 12.1 SSOP16 封装信息
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
19 of 20
维肯电子
www.vkic.com
VK3222
SPI/UART接口 宽工作电压 2通道 16级FIFO的UART
13.焊接工艺
VK3222 采用使用绿色环保材料,引脚采用纯锡电镀。推荐使用峰值温度小于 260℃,符合无铅标
准的回流焊工艺进行焊接。
所有 SMD 器件焊接工艺都对湿度敏感,建议在焊接前进行干燥处理。
采用手工焊接时,应首先焊接两个对角线的引脚进行固定后再焊接其它引脚。焊接温度为 300℃,
烙铁与引脚的接触时间控制在 10 秒以内。
14.特别申明
本产品并非为生命保障系统、航空航天系统设计,将本产品应用于该领域而引发的一切后果,维
肯电子将不承担任何责任。 维肯电子保留对产品进行性能、功能、参数修改的权利。对于正式量
产的产品,维肯电子做出的修改将以公告方式通告用户。
15.版本历史
V1.0 以前版本均为未正式发布的内部版本。
16.联系信息
.
请访问维肯电子的网站获取我们的最新联系方式: www.vkic.com
维肯电子华东地区指定代理商:
上海福跃电子科技有限公司 FOSVOS ELECTRONIC SHANGHAI CO.,LTD
TEL:86-21-58998693 58994470 FAX:86-21-58998693-18 技术咨询专线:86-21-58994470-16
E-mail:[email protected] http://www.fosvos.com 地址:上海市浦东新区金高路1296弄103号1-3F
维肯电子 2006年 发布 版权所有
Viken
05/2008
VK3222数据手册
Ver0.14
20 of 20
www.fosvos.com
维肯电子华东地区指定代理商 上海福跃电子科技有限公司 FOSVOS ELECTRONIC SHANGHAI CO.,LTD
TEL: 86-21-58998693 58994470
FAX: 86-21-58998693-18
技术咨询热线:86-21-58994470-16 E-mail: [email protected]
http://www.fosvos.com
地址:上海市浦东新区金高路 1296 弄 103 号 1-3F ADDRESS:1-3F,No.103,Alley 1296,Jingao Rd ,Pudong,Shanghai China 邮编:201206 Zip Code:201206 上海福跃电子科技有限公司
——值得信赖的电子元器件供应商和方案解决提供商
www.fosvos.com