ETC VK303

FOSVOS DATA SHEET
VK303
VK303A/VK303B
SPI/IIC/ UART 1.8V-3.3V
QFN封装3通道16级FIFO的UART
通用异步收发器 2008.03
产品销售服务热线:
Tel:021-58998693/58994470-11
Email: [email protected]
This specification are subject to be changed without notice. Any latest information please
preview
http://www.fosvos.com
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
VK303 多总线接口 三通道通用异步收发器
无铅封装
1.产品概述
TM
VK303是业界首款具备 IIC/UART/SPI 的3通道UART器件。可以通过模式选择使得该芯片工作于
以上任何一种主接口模式下(其中303A具备UART/SPI接口,303B具备IIC/UART/SPI接口)
:
当主接口为UART时,VK303将一个标准3线异步串口(UART)扩展成为3个增强功能串口(UART)。
主接口UART在数据传输时可以选择需要转义字符和不需要转义字符两种模式。此外,主接口的UART
可以通过引脚配置为红外通信模式。
当主接口为SPI接口时,VK303实现SPI桥接/扩展3个增强功能串口(UART)的功能。
当主接口为IIC接口时,VK303实现IIC桥接/扩展3个增强功能串口(UART)的功能。
扩展的子通道的UART具备如下功能特点:
每个子通道UART的波特率、字长、校验格式可以独立设置,最高可以提供1Mbps的通信速率。
每个子通道可以独立设置工作在IrDA红外通信、RS-485自动收发控制、9位网络地址自动识别、
软件/硬件自动流量控制、广播接收等高级工作模式下。
每个子通道具备收/发独立的16 BYTE FIFO,FIFO的中断为4级可编程条件触发点。
VK303采用QFN24绿色环保的无铅封装,可以工作在1.8~3.3V的宽工作电压范围,具备可配置自
动休眠/唤醒功能。
TM
[注]:SPI 为MOTOLORA公司的注册商标。
VK303有VK303A和VK303B两种型号,两者引脚和性能相同,区别在于VK303B比VK303A增加了对
IIC主接口的支持。
2.基本特性
2.1 总体特性
支持多种主机接口:可以选择 UART,SPI,IIC(仅VK303B支持)
低功耗设计,可以配置自动休眠,自动唤醒模式(uS 级唤醒)
宽工作电压设计,工作电压为1.8V~3.3V
精简的配置寄存器和控制字,操作简单可靠
创新的可编程数据广播模式支持向任意子通道发送数据广播
提供工业级和商业级产品
高速CMOS工艺
采用符合绿色环保政策的QFN24无铅封装,4x4x0.8mm超小型封装
2.2 扩展子通道UART特性
子通道串口独立配置,高速、灵活:
每个子串口为全双工,每个子串口可以通过软件开启/关闭
波特率可以独立设置,子串口最高可以达到920K bps
每个子串口字符格式包括数据长度、停止位数、奇偶校验模式可以独立设置
每个子串口可以软件设置为是否接收数据广播
完善的子串口状态查询功能
FIFO功能:
每个子串口具备独立的16级9Bits发送FIFO,发送FIFO具备4级可编程触发点
Viken
03/2008
VK303数据手册
Ver0.12
1 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
每个子串口具备独立的16级接收FIFO,接收FIFO具备4级可编程触发点
软件FIFO使能和清空
FIFO状态和计数器输出
流量控制:
支持RTS、CTS的硬件自动流量控制
支持XON/XOFF的软件自动流量控制,XON/XOFF可编程字符自动发送/识别
RS-485功能:
RTS控制的自动RS-485收发控制
RS-485网络地址自动识别功能
错误检测:
支持奇偶校验错,数据帧错误及溢出错误检测
支持起始位错误检测
每个子串口可以软件设置为是否接收数据广播
内置符合SIR标准的IrDA红外收发编解码器,传输速度可达115.2K bit/s
2.3 UART主接口特性
主接口为标准的三线UART串口(RX,TX,GND),无需其它地址信号、控制信号线
可编程波特率设置,最高速度可以达到1M bit/s
可选择的奇校验,偶校验和无校验模式
业界首创的不需地址线控制的串口扩展方式,通过芯片内置的协议处理器实现多串口扩展
UART主接口可以通过引脚设置为红外模式
UART主接口可以通过引脚选择是否采用转义字符模式
2.4 SPI主接口特性
最高速度5M bit/s
仅支持SPI从模式
16位,SPI模式0
2.5 IIC并口主接口特性 (仅VK303B支持)
兼容IIC总线接口
最高速度400kbit/s
仅支持IIC从模式
3.应用领域
多串口服务器/多串口卡
工业/自动化现场RS-485控制
通过CDMA/GPRS MODEM的无线数据传输
车载信息平台/车载GPS定位系统
远传自动抄表(AMR)系统
POS/税控POS/金融机具
DSP/嵌入式系统
4.订购信息
表4.1 VK303 订购信息
Viken
03/2008
VK303数据手册
Ver0.12
2 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
产品型号
封装
说明
VK303A-IQPG
QFN24 无铅封装
工业级; 工作温度 -45℃~+85℃ SPI/UART主接口
VK303B-IQPG
QFN24 无铅封装
工业级; 工作温度 -45℃~+85℃ SPI/UART/IIC主接口
5.原理框图
图5.1 VK303 原理框图
6.封装引脚
6.1封装图
Viken
03/2008
VK303数据手册
Ver0.12
3 of 29
http://www.fosvos.com
VK303
RTS2
MRX/SCLK/WR
RX2
GND
12
19
IR/SCS/CS
CTS1
TX1
RX1
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
11
20
10
21
9
22
8
23
TR/SDIN/RD
M0
M1
GND
7
24
6.2 引脚描述
表6.2 VK303 引脚描述
名称
管脚
类型
描述
M1
2
I
M0
3
I
主接口模式选择信号:
M1 M0=00 SPI接口;
M1 M0=10 IIC接口;(仅VK303B支持)
M1 M0=11 UART接口;
M1 M0芯片内建上拉电路,悬空时M1 M0=11;
IR/
SCS/
IA1/
CS
4
I
当主接口为UART时,为IR(主口红外通信模式)功能引脚:
IR=1 红外通信模式;
IR=0 普通UART通信模式;
当主接口为IIC时,为IA1(IIC的高地址)功能引脚:
当主接口为SPI时,为SCS(SPI片选)功能引脚:低电平有效
MRX/
SCLK/
5
I
当主接口为UART时,为MRX(主口UART接收)功能引脚;
当主接口为SPI时,为SCLK(SPI 时钟输入)功能引脚;
Viken
03/2008
VK303数据手册
Ver0.12
4 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
SCL/
WR
当主接口为IIC时,为SCL(IIC时钟输入)功能引脚;
TR/
SDIN/
IA0/
RD
6
I
当主接口为UART时,为TR(转义字符传输)功能引脚:
TR=1 选择有转义字符的串口扩展工作模式;
TR=0 选择没有转义字符的串口扩展工作模式;
当主接口为SPI时,为SDIN(SPI数据输入)功能引脚;
当主接口为IIC时,为IA0(IIC的低地址)功能引脚:
MTX/
SDOUT/
SDA/
A0
7
I
当主接口为UART时,为MTX(主口UART发送)功能引脚;
当主接口为SPI时,为SDOUT(SPI数据输出)功能引脚;
当主接口为IIC时,为SDA(IIC数据)功能引脚
RTS1
RTS2
19
14
O
子串口1~2的请求发送信号(Request To Send),低电平有效.
当RTSx=0时,表明VK303的相应子串口接收已准备就绪,请求与其相连
的MODEM或数据UART发送数据。RTS可以通过子串口状态寄存器进行设置。
当子串口工作在自动流量控制模式下时,RTS通过自动流量控制逻辑控
制控制数据收发。
当子串口工作在RS-485自动收发模式下,该引脚用于控制RS-485数据
的自动收发转换。
CTS1
CTS2
16
11
I
子串口1~2的清除发送信号(Clear To Send),低电平有效.
当CTSx=0时,表明MODEM或者数据UART已经准备好接收VK303相应的子串
口发送数据。可以通过读取子串口状态寄存器读取CTS的相应状态。
当子串口工作在自动流量控制模式下时,CTS通过自动流量控制逻辑控
制控制数据收发。
RX1
RX2
RX3
18
13
21
I
子通道串口串行数据输入。
RX 将所连数据UART的串行数据输入VK303的相应管脚。
TX1
TX2
TX3
17
12
20
O
子通道串口串行数据输出。
TX 将串行数据输出到与其连接的器件引脚。
RST
8
I
硬件复位引脚,低电平复位有效
IRQ
10
O
中断输出信号,低电平有效。建议外接上拉电阻,典型取值5.1K
VCC
9,22
-
电源 1.8V~3.3V工作范围
GND
1,15
-
地
OSCI
24
I
晶振输入;外部晶振连接到该引脚和OSCO引脚构成一个晶体振荡电路。
OSCO
23
O
晶振输出;,外部晶振连接到该引脚和OSCI引脚构成一个晶体振荡电路。
7.寄存器描述
7.1 寄存器列表
VK303的寄存器按地址编号为6位地址编号,地址000000~111111,分为全局寄存器和子串口寄
存器。
全局寄存器7个,全局寄存器的地址如下表7.1,XX为任意值
Viken
03/2008
VK303数据手册
Ver0.12
5 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
表7.1 全局寄存器列表
寄存器地址[3:0]
寄存器名称
类型
寄存器功能描述
(XX) 0000
RSV
无
保留
(00) 0001
GCR
R/W
全局控制寄存器
(00) 0010
GMUCR
R/W
全局主串口控制寄存器
(00) 0011
GIR
R/W
全局中断寄存器
(01) 0001
GXOFF
R/W
全局 XOFF 字符寄存器
(01) 0010
GXON
R/W
全局 XON 字符寄存器
(01) 0011
GPIO
R/W
全局 GPIO 寄存器
子串口寄存器10个,其排列为C1C0 REG[3:0] ,高两位为子串口通道号,低4位为寄存器地址,按低
4位的寄存器地址具体排列见表7.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 10 分别对应子串口 1 到子串口 3
7.2 寄存器描述
7.2.1 GCR 全局控制寄存器:(00_0001)
位
复位值
功能描述
类型
Bit7
0
W/R
Bit6
0
Bit0
0
GBDEN 全局广播使能位
0:禁止数据广播
1:使能数据广播
IDEL 软件 IDEL 使能位
0:唤醒正常工作
1:进入 IDEL 模式
ENMINT MINT 中断使能控制位
0:禁止 MINT 中断
1:使能 MINT 中断
W/R
W/R
7.2.2 GMUCR 全局主串口控制寄存器:(00_0010)
位
复位值
功能描述
Bit7 --- 4
0011
主串口波特率设置 ,具体设置值参见表 8.9.1(Bit7—4 对应 B3—B0) W/R
Viken
03/2008
类型
VK303数据手册
Ver0.12
6 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
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 全局中断寄存器:(00_0011)
位
复位值
功能描述
类型
Bit7
0
U4IEN 子串口 4 中断使能控制位
0:禁止子串口 4 中断
1:使能子串口 4 中断
W/R
Bit6
0
U3IEN 子串口 3 中断使能控制位
0:禁止子串口 3 中断
1:使能子串口 3 中断
W/R
Bit5
0
U2IEN 子串口 2 中断使能控制位
0:禁止子串口 2 中断
1:使能子串口 2 中断
W/R
Bit4
0
U1IEN 子串口 1 中断使能控制位
0:禁止子串口 1 中断
1:使能子串口 1 中断
W/R
Bit3
0
U4IF 子串口 4 中断标志位
0:子串口 4 无中断
1:子串口 4 有中断
R
Bit2
0
U3IF 子串口 3 中断标志位
0:子串口 3 无中断
1:子串口 3 有中断
R
Bit1
0
U2IF 子串口 2 中断标志位
0:子串口 2 无中断
1:子串口 2 有中断
R
Bit0
0
U1IF 子串口 1 中断标志位
0:子串口 1 无中断
1:子串口 1 有中断
R
7.2.4 GXOFF 全局 XOFF 字符寄存器:(01_0001)
位
复位值
Bit7 --- 0
00000000
功能描述
类型
XOFF 特殊字符寄存器
W/R
7.2.5 GXON 全局 XON 字符寄存器:(01_0010)
位
Viken
复位值
03/2008
功能描述
VK303数据手册
类型
Ver0.12
7 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
Bit7 --- 0
00000000
XON 特殊字符寄存器
W/R
7.2.6 GPIO 全局 GPIO 寄存器:(01_0011)
位
复位值
功能描述
类型
Bit7 --- 0
11111111
只 有 当 主 接 口 为 SPI/UART/IIC 时 可 通 过 此 寄 存 器 访 问
GPIO7---GPIO0 引脚
当主接口为并行总线时为并行数据总线
W/R
7.2.7 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 自动收发模式,该模式下,RTS 作为自动收发控制信
号
W/R
Bit1
0
RBDEN 允许接收广播数据控制位
1:允许子串口接收广播数据
0:禁止子串口接收广播数据
W/R
Bit0
0
IREN 红外模式选择位
0:标准串口模式
1:红外数据模式
W/R
7.2.8 SCONR 子串口配置寄存器:(0111)
位
复位值
功能描述
类型
Bit7
0
W/R
Bit6
0
Bit5
0
Bit4 – 3
00
Bit2
1
SSTPL 子串口停止位长度控制位
0:1 位停止位
1:2 位停止位
SPAEN 子串口校验使能(数据长度控制)位
0:无校验位(8 位数据)
1:有校验位(9 位数据)
SFPAEN 子串口强制校验使能控制位
0:不使用子串口强制校验
1:使能子串口强制校验
PAM1—0 奇偶校验模式选择:
当 SFPAEN=1 子串口强制校验使能时:
00:强制 0 校验 ;01,10:强制用户校验 ; 11:强制 1 校验
当 SFPAEN=0,子串口普通校验模式时:
00:0 校验; 01:奇校验; 10:偶校验; 11:1 校验
AOD 子串口地址/数据模式选择位(工作在 RS485 模式时)
0:允许接收所有数据字节
Viken
03/2008
VK303数据手册
Ver0.12
8 of 29
W/R
W/R
W/R
W/R
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
Bit1
0
Bit0
0
1:只允许接收地址字节
AREN 网络地址自动识别控制位
0:禁止网络地址自动识别 1:允许网络地址自动识别
详细操作参见 RS-485 操作模式介绍
W/R
AVEN 网络地址可见控制位
0:禁止网络地址可见,网络地址不写入 FIFO
1:允许网络地址可见,网络地址写入 FIFO
W/R
7.2.9 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.10 SFOCR 子串口 FIFO 控制寄存器:(1001)
位
复位值
功能描述
类型
Bit7 – 6
00
W/R
Bit5 --4
00
TFTL1—0 发送 FIFO 触点控制:
00=0bytes 01= 4bytes 10=8bytes 11=12bytes
当发送 FIFO 的数据减少到该触发点时,提示主机可以继续向发送
FIFO 写入数据。
RFTL1—0 接收 FIFO 触点控制:
00=1bytes 01= 4bytes 10=8bytes 11=14bytes
当接收 FIFO 的数据增加到该触发点是,提示主机接口从接收 FIFO 中
读取数据。
Viken
03/2008
VK303数据手册
Ver0.12
9 of 29
W/R
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
Bit3
0
TFEN 发送 FIFO 使能控制位
W/R
0:禁止发送 FIFO,待发送的数据不写入发送 FIFO,直接进入发送移
位寄存器
1:使能发送 FIFO,待发送的数据写入发送 FIFO,通过 FIFO 发送
Bit2
0
Bit1
0
RFEN 接收 FIFO 使能
0:禁止接收 FIFO, 接收到的数据不写入接收 FIFO
1:使能接收 FIFO,接收到的数据写入接收 FIFO
TFCL 清除发送 FIFO
0:不清除 TX FIFO
1:清除发送 TX FIFO 中所有数据
Bit0
0
W/R
W/R
RFCL 清除接收 FIFO
0:不清除接收 FIFO 中数据
1:清除接收 FIFO 中所有数据
W/R
7.2.11 SADR 子串口自动识别地址寄存器:(1010)
位
复位值
功能描述
类型
Bit7 --- 0
00000000
子串口自动识别网络地址寄存器。
(RS485 模式下有效)
W/R
7.2.12 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
RSTIEN RTS 中断使能位
0:禁止 RTS 中断
1:使能 RTS 中断
W/R
Bit2
0
CTSIEN CTS 中断使能位
0:禁止 CTS 中断
1:使能 CTS 中断
W/R
Bit1
0
TRIEN 发送 FIFO 触点中断使能位
0:禁止发送 FIFO 触点中断
1:使能发送 FIFO 触点中断
W/R
Bit0
0
RFIEN 使能接收 FIFO 触点中断
0:禁止接收 FIFO 触点中断
W/R
Viken
03/2008
VK303数据手册
Ver0.12
10 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
1:使能接收 FIFO 触点中断
7.2.13 SIFR 子串口中断标志寄存器:(1100)
位
复位值
功能描述
类型
Bit7
0
R
Bit6
0
CTSR 指示 CTS 的状态位
当前 CTS 引脚的值
FOEINT 子串口 FIFO 数据错误中断标志位
0:无 FIFO 数据错误中断
1:FIFO 数据错误(当 FIFO 中数据出错时产生该中断)
Bit5
0
Bit4
0
Bit3
0
Bit2
0
Bit1
0
Bit0
0
R/W
RAINT 子串口自动地址识别中断位
R/W
0:无地址自动识别中断
1:自动地址识别中断(当接收到的数据为地址字节且与 SDAR 匹配时
产生中断)
XFINT XOFF 中断标志位
R/W
0:无 XOFF 中断
1:有 XOFF 中断
RSTINT RTS 中断标志位
R/W
0:无 RTS 中断
1:有 RTS 中断
CTSINT CTS 中断标志位
R/W
0:读取该寄存器后自动清零
1:有 CTS 中断
TFINT 子串口发送 FIFO 触点中断标志位
R/W
0:无 TFINT 中断
1:有 TFINT 中断
RFINT 子串口接收 FIFO 触点中断标志位
R/W
0:无 RFINT 中断
1:有 RFINT 中断
7.2.14 SSR 子串口状态寄存器:(1101)
位
复位值
功能描述
类型
Bit7
X
R
Bit6
X
Bit5
X
Bit4
Bit3
X
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 未满
Viken
03/2008
VK303数据手册
Ver0.12
11 of 29
R
R
R
R
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
Bit2
1
Bit1
0
Bit0
1
7.2.15
1:子串口发送 FIFO 满
TFEM 子串口发送 FIFO 空标志
0:子串口发送 FIFO 未空
1:子串口发送 FIFO 空
R
TXBY 子串口发送 TX 忙标志
0:子串口发送 TX 空
1:子串口发送 TX 忙
RFEM 子串口接收 FIFO 空标志
0:子串口接收 FIFO 未空
1:子串口接收 FIFO 空
R
R
SFSR 子串口 FIFO 状态寄存器:(1110)
位
复位值
功能描述
类型
Bit7 – 4
0000
TCNT3—0
子串口发送 FIFO 中的数据个数
R
Bit3 -- 0
0000
RCNT3—0
子串口接收 FIFO 中的数据个数
R
7.2.16:SFDR 子串口 FIFO 数据寄存器:(1111)
位
复位值
功能描述
类型
Bit7 -- 0
xxxxxxxx
写操作时:写入的子串口发送 FIFO 的数据
读操作时:读出的子串口接收 FIFO 的数据
W/R
8.全局功能描述
8.1 复位
VK303为低电平复位。
各寄存器的复位值见7.2寄存器表中所列。
复位期间及复位后,各子串口处于禁止收发状态。当子串口处于联网模式下时,该特性使
得该子串口所在的子节点在上电、复位期间不会对联网的其它节点产生干扰。
当主接口为UART串口时,其复位后的默认波特率见表8.6.1中阴影标注部分。
8.2 时钟选择
VK303使用晶振时钟。
8.3 中断控制
VK303有两级中断:子串口及MODEM中断,全局中断。当IRQ引脚指示有中断时,可以通过读
取全局中断寄存器GIR以判断当前中断的类型,然后去读取相应的中断状态寄存器,以确定当前
的中断源。
VK303的中断结构如下图所示:
Viken
03/2008
VK303数据手册
Ver0.12
12 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 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
VK303 中断结构图
VK303的每个子串口都有独立的中断系统,包括:FIFO数据错误中断,接收地址中断(RS485
模式),XOFF发送中断,RTS中断,CTS中断,发送FIFO触发点中断,接收FIFO触发点中断。
当任意一个中断使能后,满足中断条件就会产生相应的中断。
8.3.1 FIFO数据错误中断
FIFO数据错误中断表明当前接收FIFO中有一个或以上的数据错误,产生错误的条件包括OE
(数据溢出错误),FE(数据帧错误),和PE(奇偶校验错)。
一旦有接收FIFO中有出错数据,将产生该中断,直到接收FIFO中的所有出错数据都被读取后,
该中断才被清除。该中断清除后表明当前接收FIFO中没有出错数据。
8.3.2 接收地址中断
该中断仅当VK303工作在RS485模式时产生。在RS232模式下不会产生该中断。
在自动地址识别模式下,子串口接收到与其设定地址一致的地址字节时,产生该中断。直到
相应的中断寄存器被读取后,该中断自动清除。
在手动地址识别模式下,一旦接收到地址字节,都将产生该中断。相应的中断寄存器被读取
后,该中断被清除。
8.3.3 发送XOFF中断
在软件自动流量控制模式下,当数据接收端准备发送XOFF字符时产生该中断。当其准备发送
XON字符字符时该中断被清除。
8.3.4 RTS中断
在自动或手动硬件流量控制模式下,当RTS信号从0变为1时,都可以产生该中断。
在自动硬件流量控制模式下,当接收FIFO中的数据个数降低到设定的继续发送触发点时,该
中断被清除。
手动硬件流量控制模式下,向RTS寄存器写入0将清除该中断。
8.3.5 CTS中断
CTS信号从0变为1时,将产生该中断;当读取CTS中断标志寄存器后将清除该中断。
8.3.6 发送FIFO触发点中断
当发送FIFO中的数据个数小于设定的发送FIFO触发点时,产生该中断。当发送FIFO中的数据
Viken
03/2008
VK303数据手册
Ver0.12
13 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
个数大于设定的发送FIFO触发点时,该中断被清除。
8.3.7 接收FIFO触发点中断
当接收FIFO中的数据个数大于设定的发送FIFO触发点时,产生该中断。当接收FIFO中的数据
个数小于设定的发送FIFO触发点时,该中断被清除。
8.4 广播模式操作
VK303支持子串口通道可独立配置的数据广播模式。
首先通过设置全局寄存器GCR中的GBDEN位,将主口的全局广播设置为使能,然后设置需要
接收广播数据的相应子串口通道的SCTLR的RDBEN位,使得该通道可以接收数据广播。设置完
成后,主口发往任意通道的数据都能被设置为接收广播使能的子串口接收,而未设置接收数
据广播的子串口将会忽略这些数据。
8.5 红外模式操作
VK303的主串口和子串口都可以设置成为红外通信模式。当VK303的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时,保持低电平不变。
Viken
03/2008
VK303数据手册
Ver0.12
14 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
图 8.5.2 红外发送时序
8.6 可编程波特率发生器
VK303 的主串口和子串口采用相同的独立可编程波特率发生器。该波特率发生器产生固定 16X
系统时钟的波特率,分频率可以通过软件设置。
下表给出了在不同系统时钟频率下的串口波特率设置表:
表 8.6.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
3
38400
76800
153600
230400
307200
0
0
0
1
6
19200
38400
76800
115200
153600
0
0
1
0
12
9600
19200
38400
57600
76800
0
0
1
1
24
4800
9600
19200
28800
38400
0
1
0
0
48
2400
4800
9600
14400
19200
0
1
0
1
96
1200
2400
4800
7200
9600
0
1
1
0
192
600
1200
2400
3600
4800
0
1
1
1
384
300
600
1200
1800
2400
1
0
0
0
1
115200
230400
460800
691200
921600
1
0
0
1
2
57600
115200
230400
345600
460800
1
0
1
0
4
28800
57600
115200
172800
230400
1
0
1
1
8
14400
28800
57600
86400
115200
1
1
0
0
16
7200
14400
28800
43200
57600
1
1
0
1
32
3600
7200
14400
21600
28800
1
1
1
0
64
1800
3600
7200
10800
14400
1
1
1
1
128
900
1800
3600
5400
7200
[注] 上表中蓝底部分的设置为 VK303 复位后的初始值。
8.7 数据格式设置
8.7.1 校验模式
VK303的UART能提供强制校验,计算校验和无校验的数据格式,通过SCONT(子串口配
置寄存器)进行设置:
Viken
03/2008
VK303数据手册
Ver0.12
15 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
强制校验模式
VK303支持强1校验,强0校验和用户指定校验模式。在这种模式下,校验设置仅影响数据发
送,数据接收将忽略奇偶校验。
在RS-485模式下,推荐使用强制校验模式,在该模式下,可以很方便的区分数据和地址。
计算校验模式
VK303支持1校验、0校验,奇校验、偶校验模式。在该模式下,接收和发送的数据都进行
奇偶校验计算。
8.7.2 数据长度
VK303支持1或2位停止位模式。
8.8 休眠和自动唤醒
VK303支持休眠和自动唤醒模式,向GCR的IDLE位写入1,将进入休眠模式。在休眠模式下,
VK303的系统时钟将停止以降低功耗。
在休眠模式下,可以被主口和子串口自动唤醒:一旦SCS,CS,主口MRX,子串口RX有数
据改变,VK303的系统时钟将会被自动唤醒,进入正常收发。
9.SPI接口模式操作
9.1 SPI 与主机的连接:
如图 3.2.1 所示 SPI 接口包括如下四个信号:
SDIN:SPI 数据输入。
SDOUT:SPI 数据输出。
SCLK:SPI 串行时钟。
SCS:SPI 片选(从属选择)
。
VK303 与主机的连接如图 9.1 所示。
图 9.1 SPI 与主机连接图
9.2 SPI 接口的操作时序
VK303 工作在 SPI 同步串行通信的从机模式下 ,支持 SPI 模式 0 标准。为实现主机和 VK303
的通信,在主机端需要设置 CPOL=0(SPI 时钟极性选择位),CPHA=0( SPI 时钟相位选择位)。
VK303 SPI 接口的操作时序如图 9.2 所示:
Viken
03/2008
VK303数据手册
Ver0.12
16 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
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 写寄存器
SPI
控制字节 CMD
数据字节 DB
BIT
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
DIN
DOUT
1
INT1
C1
INT2
C0
INT3
A3
INT4
A2
TXF
A1
TXE
A0
TXB
D8t
RXE
D7t
TC3
D6t
TC2
D5t
TC1
D4t
TC0
D3t
RC3
D2t
RC2
D1t
RC1
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
DOUT
0
INT1
C1
INT2
C0
INT3
A3
INT4
A2
OE
A1
FE
A0
PE
0
RX8
0
D7r
0
D6r
0
D5r
0
D4r
0
D3r
0
D2r
0
D1r
0
D0r
说明:
C1 C0:子串口通道号 00 01 10 分别对应子串口 1 到子串口 3
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.UART接口模式操作
10.1 UART接口与主机的连接
当VK303的主接口为UART时,仅需要RX,TX连接主机。采用标准的UART协议进行通信。上电后,主机
Viken
03/2008
VK303数据手册
Ver0.12
17 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
以VK303的复位值所确定的波特率和数据格式对VK303进行初始化设置后即可方便的实现串口扩展功
能。
VK303与主机的接口如图10.1所示:
图 10.1
UART 接口与主机连接图
10.2 主UART接口的操作时序
写操作时,先向VK303的RX写入一个命令字节(Command Byte),随后写入相应的数据字节,其操
作时序(无校验,禁止转义和红外模式)如图10.2所示:
start LSB
MSB
stop
start LSB
MSB stop
RX
IR
0
TR
0
TX
1
图 10.2.1
UART 主接口写操作时序
读操作时,先向VK303的RX写入命令字节,相应的数据字节从TX读取,其操作时序(无校验,禁
止转义和红外模式)如图10.3所示
Viken
03/2008
VK303数据手册
Ver0.12
18 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
start LSB
MSB
stop
RX
0
IR
0
TR
start LSB
MSB
stop
TX
图 10.2.2
UART 主接口读操作时序
10.3 主UART通信传输协议描述:
10.3.1.写寄存器:
分类
控制字节 CMD
1 个数据字节 DB(下行)
BIT
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
TX
1
0
C1
C0
A3
A2
A1
A0
D7
D6
D5
D4
D3
D2
D1
D0
RX
10.3.2.写FIFO:(多字节写入)
分类
控制字节 CMD
[N3 N2 N1 N0]个数据字节 DB(下行)
BIT
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
TX
RX
1
1
C1
C0
N3
N2
N1
N0
D7
D6
D5
D4
D3
D2
D1
D0
10.3.3.读寄存器:
分类
BIT
TX
RX
控制字节 CMD
7
0
6
0
5
C1
10.3.4.读FIFO
3
N3
2
N2
1
N1
0
N0
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
多字节读取)
分类
BIT
TX
RX
4
C0
1 个数据字节 DB(上行)
控制字节 CMD
7
0
6
1
5
C1
4
C0
3
N3
2
N2
[N3 N2 N1 N0]个数据字节 DB(上行)
1
N1
0
N0
7
6
5
4
3
2
1
0
D7
D6
D5
D4
D3
D2
D1
D0
说明:
C1,C0:子串口通道号,00 01 10 分别对应子串口 1 到子串口 3
A3,A2,A1,A0:子串口寄存器地址;
N3,N2,N1,N0:写入/读取FIFO的数据字节个数;当其为0000时,表明后接1个数据字节;当其为1111
时,表明后接16个数据字节;
向子串口读/写数据有两种方法:
a. 读/写寄存器方式,对子串口FIFO寄存器SFDR(1111)进行读/写操作,一次只能读/写一个字节;
Viken
03/2008
VK303数据手册
Ver0.12
19 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
b. 读/写FIFO方式,对接收/发送FIFO直接进行读/写操作,一次最多可以读写16个连续数据
10.4 主UART接口转义字符操作模式:
当主串口TR引脚接高电平时,VK303工作在转义模式下。该模式在普通UART主接口通信模式下加
入了一个转义字符(00H)作为帧同步,使得在数据传送中即使一个数据帧传输出错,不会影响其后
的其它数据传输。该模式适合用于远距离和干扰较大的场合进行数据通信。
在该模式下,一个完整的数据发送帧包括一个转义字符(00H),一个命令字节,以及紧跟其后的数
据字节。其格式如下
转义字符(00H)
控制字节 CMD
数据字节 DB (1 个或多个字节)
注意:当需要传输的数据中包含00H时,需要连续传送2个00H给VK303;第一个00H作为转义字符,第
二个00H才作为数据00H接收。
当TR接低电平时,VK303工作在普通UART传输协议模式下,其操作按照10.1.3描述的进行操作。
在转义模式下,UART主接口的操作时序如下所示:
start LSB START BYTE
MSB stop
CMD BYTE
start LSB
MSB stop
start LSB
DATA BYTE
MSB stop
RX
IR
0
TR
1
TX
1
图 10.4.1
start LSB START BYTE
UART 主接口转义模式写操作时序
MSB stop
start LSB
CMD BYTE
MSB stop
RX
IR
0
TR
1
start LSB
TX
图 10.4.1
DATA BYTE
MSB stop
UART 主接口转义模式读操作时序
10.5 主UART接口红外操作模式
当主串口IR引脚接高电平时,VK303主UART工作在红外模式下,主UART与主机的通信遵从红外通信
协议,其操作时序参见8.8红外模式操作。
当主串口IR引脚接低电平时,VK303工作在普通模式下。
Viken
03/2008
VK303数据手册
Ver0.12
20 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
11.IIC接口总线模式操作 (仅VK303B支持)
两线 IIC 总线是一根串行数据线和一根串行时钟线。当总线处于空闲状态时,两根线都通过上
拉电阻拉到正电源电压。每一个设备都有一个独立的地址。
11.1 数据传输
每一位数据都是通过一个始终脉冲进行传输的。在 SCLK 为高的周期 SDA 线上的数据必须保持
稳定。在此时改变 SDA 线上的数据会被认为是控制信号。当 SCLK 为高的时候 SDA 线数据由高到
低的跳变表示一个起始位,一个由低到高的跳变表示一个停止位。总线在起始位以后被认为处于忙
的状态;在停止位后被认为处于空闲状态。
SDA
SCL
data
line
stable
valid
change
data
图 12.1.1 数据传输
SDA
SCL
START
STOP
图 12.1.2 起始位和停止位
在起始位和停止位之间的由主机到从机的数据必须是 8bit(比特)长,高位在前并且必须有一个
应答位。与应答位相匹配的时钟是由主机产生的。当主机释放总线时,应答的设备必须在应答周期
内拉低 SDA 线。
图 12.1.3 IIC 传输协议和格式
从机在接收完一个字节后必须返回一个应答位;主机在接收完从机发送出的一个字节数据后也
Viken
03/2008
VK303数据手册
Ver0.12
21 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
必须返回一个应答位。当设计一个系统时必须考虑没有收到应答位的情况。举个例子,当被寻址的
设备处于实时操作忙的情况下就有可能发生这种情况。在这种情况下主机在等待了一段确切的时间
后应该发出一个停止位停止数据传输,以允许其它数据的传输。在每一个字节后的应答位有两个特
殊的情况。第一个在主机作为接收器时发生,在接收数据完成后必须通过不发送应答位以产生一个
数据的停止位。与应答位相关的时钟主机任然需要发出,但是 SDA 线将不再被拉低。为了指示这是
有效的扩展的应答需求,我们将其称为负应答。另一个例外就是从机不再能接收数据的时候由从机
发出一个负应答。这种情况在尝试传输但是不被接收的时候发生。
11.2 地址:
每一个挂在总线上的设备都必须有自己独特的地址。在数据在总线上传输以前,主机在总线上
发送从机的地址以开始一次传输。所有从机都会比较地址,如果网络里有地址相同当然会应答主机
的地址请求。地址在起始位以后传输的第一个字节传输。地址字节为最高位在前的 7 比特字节最后
一个比特是一个方向标志,0 表示主机正在发送数据,1 表示主机正在读取数据。当地址字节发送完
成后,网络中的所有从机都比较发送的字节是否与本身的地址相同。如果相同,设备就认为自己被
主机寻址并且发送一个应答。设备同时也根据方向比特决定在此次传输中是作为从接收器还是从发
送器。每一个 IIC 总线的网络节点都有自己唯一的地址。一个微控制器的地址当然是完全可编程的,
但是一个设备的地址通常都是固定的或者是部分可编程的。在数据的发送或者接收以前,主机必须
通过 SDA 线发送从机的地址。在起始位以后的第一个字节包含了从设备地址和读写的方向。下面的
表格会给出 VK303B 的地址可以被 A0,A1 引脚教编程的地址。
A1
A0
VK303B IIC 地址
0
0
0x90(1001 000X)
0
1
0x92(1001 001X)
1
0
0x94(1001 010X)
1
1
0x96(1001 011X)
[注意]: X = ‘0’ 表示写周期
X = ‘1’ 表示读周期
11.3 传输协议:
当主机与 VK303B 通信的时候,必须在紧跟地址字节后发送寄存器地址。这个寄存器地址是主
机想在一个字节读写或者多字节读写的操作的内部地址字。这个寄存器地址字是 8 比特字节。与其
它设备不同它没有方向位,与普通的数据字节相同,它必须跟一个应答位。一个写寄存器的操作如
下图所示。起始位后面紧跟从机地址和一个读写的方向位,一个寄存器地址字节,一系列的数据字
节和一个停止位。寄存器地址指示主机想操作的寄存器。紧跟着的数据会被写入指定的寄存器。一
个寄存器的读操作与写操作类似。主机发送从机地址和读的方向信号,紧跟寄存器地址,这时
VK303B 就会发送数据给主机。
S
Slave Address
W
A
Register Address
A
DATA1 --- DATAn
A
P
A
P
图 12.3.1 写周期
[注意]:白的部分是主机到 VK303B,灰色的部分是 VK303B 到主机
S
Slave Address
W
A
Register Address
A
DATA1 --- DATAn
图 12.3.2 读周期
[注意]:白的部分是主机到 VK303B,灰色的部分是 VK303B 到主机
Viken
03/2008
VK303数据手册
Ver0.12
22 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
寄存器定义:
Bit
值
功能
Bit
值
功能
7
---
保留
7
---
保留
6
0
读/写寄存器
6
1
读/写 FIFO
5--4
C[1:0]
通道号码
5--4
C[1:0]
通道号码
3--0
A[3:0]
寄存器地址
3--0
N[3:0]
数据个数
C1,C0:子串口通道号,00 01 10 分别对应子串口 1 到子串口 3
12.子串口操作描述
12.1 子串口使能/禁止
VK303允许独立使能或禁止每个子串口通道。
在使用中可以禁止不使用的子串口通道以降低功耗。
子串口通道只有处在使能状态才能接收和发送数据。
12.2 收发 FIFO 控制
VK303提供了独立的16级FIFO接收和发送FIFO。接收FIFO包含额外的3个bit,用于存储错误状态。
相关操作通过SFOCR(子串口FIFO控制寄存器)进行设置。
12.2.1 发送FIFO 触发点操作
VK303为每个通道提供独立的可编程发送FIFO触发点设置,以产生相应的发送FIFO触发点中断。
当发送FIFO触发点中断使能时,发送FIFO中的数据数目小于设定的触发点时产生相应中断。
12.2.2 接收FIFO触发点操作
VK303为每个通道提供独立的可编程接收FIFO触发点设置,以产生相应的接收FIFO触发点中断。
当接收FIFO触发点中断使能时,接收FIFO中的数据数目大于设定的触发点时产生相应中断。
12.2.3 发送FIFO的使能/禁止
复位后,发送FIFO处于禁止状态。如果希望将数据写入发送FIFO,需要首先使能发送FIFO。
发送FIFO中的数据是否发送,取决于相应的子通道UART是否使能。一旦相应子通道UART处于
使能状态,则发送FIFO中的数据将会立即发送,否则,发送FIFO中的数据将不会被发送直到相应
的子通道被使能。
12.2.4 接收FIFO的使能/禁止
复位后,接收FIFO处于禁止状态。如果希望接收子串口数据,需要首先使能相应的子串口通
道及其接收FIFO。只有相应的UART和接收FIFO使能后,接收到的数据才能写入接收FIFO存储。
如果子串口通道使能而接收FIFO禁止,子串口能接收数据,但数据不会写入接收FIFO而被忽略。
12.2.5 发送FIFO 清空
当SFOCR中发送FIFO清空位(TFCL)被置1时,该子通道发送FIFO中的数据将被清空,发送FIFO
计数器和指针都将清零。
TFCL位被置1后,将会在一个时钟后被硬件自动清0。
12.2.6 接收FIFO 清空
当SFOCR中接收FIFO清空位(RFCL)被置1时,该子通道接收FIFO中的数据将被清空,接收FIFO
计数器和指针都将清零。
RFCL位被置1后,将会在一个时钟后被硬件自动清0。
12.2.7 发送FIFO 计数器
VK303用寄存器中的4位来反应当前发送FIFO中的数据数目:当一个字节的数据写入发送FIFO
后,发送FIFO计数器自动加1;当一个发送FIFO中的数据被发送后,发送FIFO计数器自动减1。
Viken
03/2008
VK303数据手册
Ver0.12
23 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
注意:当发送FIFO计数器为15(1111)时,如果再写入一个数据则计数器变为0(0000)。当
发送FIFO计数器为1(0001)时,发送一个数据之后则计数器也变为0(0000)。因此,当发送FIFO
计数器为0时,表明发送FIFO满或者空,在这种情况下,需要结合子串口状态寄存器(SSR)中的
相关状态位进行判断。
12.2.8 接收FIFO计数器
K3200用寄存器中的4位来反应当前接收FIFO中的数据数目:当一个字节的数据写入接收FIFO
后,接收FIFO计数器自动加1;当一个接收FIFO中的数据被读取后,接收FIFO计数器自动减1。
注意:当接收FIFO计数器为15(1111)时,如果再接收一个数据则计数器变为0(0000)。当
接收FIFO计数器为1(0001)时,读取一个数据之后则计数器也变为0(0000)。因此,当接收
FIFO计数器为0时,表明接收FIFO满或者空,在这种情况下,需要结合子串口状态寄存器(SSR)
中的相关状态位进行判断。
12.3 流量控制
VK303提供硬件流量控制,软件流量控制和手动流量控制三种模式可选择。硬件流量控制通过CTS
和RTS引脚实现流量控制,可以减少软件开销并提高系统效率。软件流量控制通过XON和XOFF可编程
特殊字符实现流量控制操作。相关操作通过SFWCR(子串口流量控制寄存器)设置。
在RS485模式下,该功能被禁止。
12.3.1 触发点控制
当VK303设置为自动软件/硬件流量控制时:
SFWCR中的HRTL1—0用于设置暂停发送触发点,当接收FIFO中的数据个数达到暂停发送触发点
时,VK303将发出暂停发送信号,以通知发送端暂停发送数据。
SFWCR中的PRTL1—0用于设置继续发送触发点,在暂停发送状态下,主机口可以通过读取数据
操作读取接收FIFO中的数据,当接收FIFO中的数据个数等于设置的继续发送触发点时,VK303将通
知发送端继续发送数据。
设置时,需要保证暂停发送触发点大于继续发送触发点的数值。VK303不对该条件做自动判断。
12.3.2 自动软件流量控制操作
当VK303工作在自动软件流量控制模式时,子串口通道通过RX发送和TX接收XOFF和XON字符实现
软件流量控制,无需其它控制线。XON和XOFF字符可以通过全局寄存器中的XON和XOFF寄存器设置。
在软件流量控制模式下,传输的数据字节中不能出现XON和XOFF字符,否则将会被作为XON和
XOFF控制字符,因此在软件流量控制下,需要对数据中的XON和XOFF字符进行相应的转义处理。
12.3.2.1 XON/XOFF发送操作
在自动软件流量控制模式下,一旦数据接收端接收FIFO中数据的个数达到设定的触发点时,
为防止接收FIFO溢出,VK303将自动通过TX发送一个XOFF字符,数据发送端收到该XOFF字节后,发送
完当前字节后即暂停数据发送。
发送端暂停数据发送后,接收端的主机接口读取接收FIFO中的数据以释放接收FIFO空间,当
接收FIFO中数据的个数减少到继续发送触发点时,接收端向发送端发送一个XON字符,发送端接收到
该字符后,将恢复数据发送。
相关的操作时序如下图所示,XON/XOFF字符的数值由上层软件设置:
Viken
03/2008
VK303数据手册
Ver0.12
24 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
DATA
DATA
DATA
RX
resume trigger
XOFF
XON
TX
halt trigger
RD
FIFO
图 13.3.2 XON/XOFF 发送操作
12.3.2.2 XON/XOFF接收操作
在软件流量控制模式下,VK303接收到数据后,首先会与XOFF中的数据进行比较,当接收到XOFF
字符时,在发送完当前字节后即暂停数据发送。
数据暂停发送状态下,接收到XON字符后,将恢复数据发送。
12.3.2.2 XON/XOFF可见设置
在软件流量控制模式下,特殊字符XON/XOFF可以通过设置SFWCR(子串口流量控制寄存器)XVEN
位,使之在主机端为可见或不可见。
当设置为可见时,XON和XOFF字符作为数据写入接收FIFO。
当设置为不可见时,XON和XOFF字符将作为控制字符不被写入接收FIFO。
12.3.2.3 自动硬件流量控制
当VK303的子串口工作在自动硬件流量控制模式时,包含自动RTS控制和自动CTS控制。分别通过
硬件自动设置RTS信号和判断CTS信号来实现硬件流量控制。
典型的硬件流量控制的通过器件A的RTS连接器件B的CTS,器件A的CTS连接器件B的RTS,将器件A
和B都设置为硬件自动流量控制模式即可实现硬件的自动流量控制。其连接示意图如下所示:
UART1
UART2
Receiver
RX
FIFO
RX Flow
Control
Transmitter
TX
FIFO
TX Flow
Control
RX
TX
RTS
CTS
TX
RX
CTS
RTS
Transmitter
TX
FIFO
TX Flow
Control
Receiver
RX
FIFO
RX Flow
Control
图 13.3.3.1 硬件流量控制示意图
在硬件自动流量控制模式下,一旦数据接收端接收FIFO中数据的个数达到设定的触发点时,
为防止接收FIFO溢出,接收端将自动拉高RTS,数据发送端的相应的CTS变高,数据接收端检测到CTS
变高后,将发送完当前字节后即暂停数据发送。
发送端暂停数据发送后,接收端的主机接口读取接收FIFO中的数据以释放接收FIFO空间,当
接收FIFO中数据的个数减少到继续发送触发点时,接收端的CTS自动变为低电平,发送端相应的RTS
变为低电平,发送端检测到RTS为低后,将恢复数据发送。
Viken
03/2008
VK303数据手册
Ver0.12
25 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
下图显示了硬件流量控制下的时序操作(硬件流量控制下RTS和CTS的操作与MODEM模式下的
RTS和CTS操作一样)
:
DATA
DATA
DATA
RX
resume trigger
halt trigger
RTS
RD
FIFO
图 13.3.3.2 硬件流量操作时序图
12.3.2.3 手动硬件流量控制
当VK303的子串口工作在手动模式下,可以通过手动写RTS寄存器拉高或拉低RTS引脚信号。
在该模式下,其它的操作与硬件自动流量控制一样,只是RTS由相应的寄存器控制。手动设置RTS
为1可以暂停数据发送端发送数据,设置RTS为0则数据发送端继续发送数据。
12.4 RS485操作
VK303 的子串口支持 RS584 自动收发控制模式和自动网络地址识别模式,网络地址可见设置。在
RS485 模式下,只支持带 9 位地址和数据位,一位停止位的数据。如果要传输不带效验位的 8 位数
据,一位停止位,可通过写 SIFR 寄存器 RSTINT 位利用软件设置为手动硬件流模式来完成 485 的收
发。
(设置为 232 模式)
12.4.1 RS485自动收发
在 RS485 模式下,流量控制将被禁止。RTS 信号用于控制 RS485 收发器的自动收发控制。
只有在发送数据时,RTS 才为高,其它情况下,RTS 都保持低。
VK303 和 485 的收发器的连接如图:
DI
TX
B
DE
RTS
RE
RD
RX
VK303
图 13.5.1
A
MAX485
RS485 连接图
12.4.2 网络地址和自动地址识别
RS485 模式下,每个 UART 有一个唯一的网络地址,VK303 提供了一个 8 位寄存器进行 RS485 网
络设置。
当自动网络地址识别功能使能时,VK303 对接收到的数据进行自动识别。
如果接收到的数据为数据字节或者是与 SADR 中地址字节不匹配的地址字节时,VK303 忽略这
些数据。
如果该子串口接收到的数据为地址字节,且与 SADR 中的数据匹配,则 VK303 进入接收状态,
Viken
03/2008
VK303数据手册
Ver0.12
26 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
将该地址字节后的数据字节写入接收 FIFO 中。
当该子串口在数据接收状态下,接收到一个地址字节,且该字节与SADR不匹配时,接收将被
自动禁能。
12.4.3 自动和手动地址识别
RS485模式下,SCONR子串口配置寄存器中的AOD位为数据地址选择位。其默认值为1,表明
该子串口只接收地址字节而忽略数据字节。
在RS485自动地址模式下,当接收到的地址与SADR的地址一致时,AOD将自动变为0,此时该
子串口可以继续接收数据。当子串口接收到的下一个地址字节与SARD的地址不一致时,AOD位将
自动置1,不再接收其后的数据字节。
在RS485手动地址识别模式下,RS485地址由上层软件判断,AOD位需要手动设置。AOD设置
为0时表明可以接收其后的所有数据,当AOD设置为1时,表明将忽略除了地址以外的所有数据。当
接收到地址字节时,VK303将产生中断,通知MCU将收到的地址字节进行判断,以决定是否设置AOD
以接收其后的数据。
12.4.4 网络地址可见设置
当子串口设置为手动地址识别模式时,RS485网络地址总是可见。
在子串口社设置为自动地址识别模式时,可以设置SCONR子串口配置寄存器中的AVEN位,改
变网络地址可见属性。当设为地址可见时,接收到的网络地址进入接收FIFO,否则将被忽略。
13.参数指标
13.1 VK303的静态参数
符号
说明
条件
VCC=1.8V
VCC=2.5V
VCC=3.3V
单
位
最小
最大
最小
最大
最小
最大
1.8
2.0
2.3
2.7
3.0
3.6
V
0.94
1.2
1
2
2
3
mA
90
-
130
-
180
-
uA
电源
VCC
电源电压
ICC
工作电流
ICCSL
休眠电流
3.6864MHz 晶振
无负载
输入逻辑信号
VIH
输入高电平
1.6
2.5
2.0
2.8
2.5
3.3
V
VIL
输入低电平
-
0.4
-
0.6
-
0.9
V
IIL
输入漏电流
-
±10
-
±10
-
±10
uA
CI
输入电容
-
5
-
5
-
5
pF
VI=3.3 or 0V
输出逻辑信号
VOH
输出高电平
IOH=6mA
1.6
-
1.9
-
2.4
-
V
VOL
输出低电平
IOL=-6mA
0
0.4
-
0.4
-
0.4
V
IOL
输出漏电流
-
±10
-
±10
-
±10
uA
Co
输出电容
-
5
-
5
-
5
pF
13.2 VK303的动态参数
符号
说明
FOSI
晶振频率
条件
VCC=1.8
最小 最大
-
12
VCC=2.5
最小
最大
-
15
VCC=3.0
最小
最大
15
13.3 VK303的极限参数
Viken
03/2008
VK303数据手册
Ver0.12
27 of 29
单位
MHz
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
符号
说明
条件
最小
最大
单位
VCC
电源电压
-0.5
3.6
V
VI
输入电压
-0.5
+3.6
V
VO
输出电压
-0.5
+3.6
V
-
600
mW
PTOL
总功耗
TO
工作温度
-40
+85
℃
TSTG
存储温度
-65
+150
℃
15.封装信息
VK303采用QFN24无铅绿色封装
图15.1 QFN24封装信息
SYMBOL
A
A1
b
c
D
D2
e
Ne
Nd
E
E2
L
H
Viken
03/2008
VK303数据手册
Ver0.12
MILLIMETER
MIN
NOM MAX
0.70
0.75
0.80
——
0.01
0.05
0.18
0.25
0.30
0.18
0.20
0.25
3.90
4.00
4.10
2.50REF
0.50BSC
2.50 BSC
2.50 BSC
3.90
4.00 4.10
2.50 REF
0.35
0.40 0.45
0.30
0.35 0.40
28 of 29
http://www.fosvos.com
VK303
SPI/IIC/ UART 1.8V QFN封装 3通道 16级FIFO的UART
16.焊接工艺
VK303 采用使用绿色环保材料,引脚采用纯锡电镀。推荐使用峰值温度小于 260℃,符合无铅标
准的回流焊工艺进行焊接。
所有 SMD 器件焊接工艺都对湿度敏感,建议在焊接前进行干燥处理。
采用手工焊接时,应首先焊接两个对角线的引脚进行固定后再焊接其它引脚。焊接温度为 300℃,
烙铁与引脚的接触时间控制在 10 秒以内。
17.特别申明
本产品并非为生命保障系统、航空航天系统设计,将本产品应用于该领域而引发的一切后果,维
肯电子将不承担任何责任。 维肯电子保留对产品进行性能、功能、参数修改的权利。对于正式量
产的产品,维肯电子做出的修改将以公告方式通告用户。
18.版本历史
V1.0 以前版本均为未正式公开的内部版本。
19.联系信息
Tel:021-58998693/58994470
Email:[email protected]
Viken
03/2008
VK303数据手册
Ver0.12
29 of 29
http://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