串口扩展方案设计书vk3266.docx
- 文档编号:4632119
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:16
- 大小:201.20KB
串口扩展方案设计书vk3266.docx
《串口扩展方案设计书vk3266.docx》由会员分享,可在线阅读,更多相关《串口扩展方案设计书vk3266.docx(16页珍藏版)》请在冰豆网上搜索。
串口扩展方案设计书vk3266
串口扩展设计(VK3266系列)
前言
随着电子技术的发展,以微处理器(MCU),PC机组成的主从分布式测控系统已成为当今复杂的测控系统的典型解决方案。
单片机以其独特的串口通信功能为主,从设备之间的数据传输提供了便利。
但是51系列单片机只提供了一个全双工的串行通信接口,这对于一个实时性要求较高,测控功能复杂的系统而言是一个美中不足之处。
在我们设计的智能密集测控系统中,就需要测控工具有多个实时全双工的串行通信接口。
我们现在只能是选择有多个串口的单片机或者是进行串口扩展,选择多串口的单片机肯定成本比较高,而且局限性比较大;那么最好的方案还是进行串口扩展。
根据本人的对多款串口扩展芯片在性能、价格上的比较,个人认为维肯电子的VK3266这款串口扩展芯片还是相当不错的,下面我们就也VK3266来对单片机的串口进行扩展。
以单片机的一个串口,扩展为4个全双工的串口。
一、系统设计
1、系统框图
2、VK3266芯片介绍
1).产品概述
VK3266是业界首款具备UART/SPITM/8位并行总线接口的4通道UART器件。
可以通过模式选择使得该芯片工作于以上任何一种主接口模式下:
当主接口为UART时,VK3266将一个标准3线异步串口(UART)扩展成为4个增强功能串口(UART)。
主接口UART在数据传输时可以选择需要转义字符和不需要转义字符两种模式。
此外,主接口的UART可以通过引脚配置为红外通信模式。
当主接口为SPI接口时,VK3266实现SPI桥接/扩展4个增强功能串口(UART)的功能。
当主接口为8位并口时,VK3266实现一个8位并行数据总线与4个通道UART串行总线数据通信相互转换的功能。
扩展的子通道的UART具备如下功能特点:
每个子通道UART的波特率、字长、校验格式可以独立设置,最高可以提供1Mbps的通信速率。
每个子通道可以独立设置工作在IrDA红外通信、RS-485自动收发控制、9位网络地址自动识别、软件/硬件自动流量控制、广播接收等高级工作模式下。
每个子通道具备收/发独立的16BYTEFIFO,FIFO的中断为4级可编程条件触发点。
提供一个子通道的调制解调器(MODEM)控制信号。
VK3266采用QFP44绿色环保的无铅封装,可以工作在2.5~5.5V的宽工作电压范围,具备可配置自动休眠/唤醒功能。
[注]:
SPITM为MOTOLORA公司的注册商标。
2).基本特性
2.1总体特性
支持多种主机接口:
可以选择UART,SPI或8位并口
低功耗设计,可以配置自动休眠,自动唤醒模式(uS级唤醒)
宽工作电压设计,工作电压为2.5V~5.5V
精简的配置寄存器和控制字,操作简单可靠
创新的可编程数据广播模式支持向任意子通道发送数据广播
提供工业级和商业级产品
高速CMOS工艺
采用符合绿色环保政策的QFP44无铅封装
2.2扩展子通道UART特性
子通道串口独立配置,高速、灵活:
每个子串口为全双工,每个子串口可以通过软件开启/关闭
波特率可以独立设置,子串口最高可以达到920Kbps
每个子串口字符格式包括数据长度、停止位数、奇偶校验模式可以独立设置
每个子串口可以软件设置为是否接收数据广播
完善的子串口状态查询功能
FIFO功能:
每个子串口具备独立的16级9Bits发送FIFO,发送FIFO具备4级可编程触发点
每个子串口具备独立的16级接收FIFO,接收FIFO具备4级可编程触发点
软件FIFO使能和清空
FIFO状态和计数器输出
流量控制:
支持RTS、CTS的硬件自动流量控制
支持XON/XOFF的软件自动流量控制,XON/XOFF可编程字符自动发送/识别
RS-485功能:
RTS控制的自动RS-485收发控制
RS-485网络地址自动识别功能
错误检测:
支持奇偶校验错,数据帧错误及溢出错误检测
支持起始位错误检测
每个子串口可以软件设置为是否接收数据广播
内置符合SIR标准的IrDA红外收发编解码器,传输速度可达115.2Kbit/s
2.3UART主接口特性
主接口为标准的三线UART串口(RX,TX,GND),无需其它地址信号、控制信号线
可编程波特率设置,最高速度可以达到1Mbit/s
可选择的奇校验,偶校验和无校验模式
业界首创的不需地址线控制的串口扩展方式,通过芯片内置的协议处理器实现多串口扩展
UART主接口可以通过引脚设置为红外模式
UART主接口可以通过引脚选择是否采用转义字符模式
2.4SPI主接口特性
最高速度5Mbit/s
仅支持SPI从模式
16位,SPI模式0
2.58位并口主接口特性
标准8位MCU总线接口
命令和数据共用8位地址总线,通过A0(数据/控制)信号进行切换
子通道选择通过命令字控制和指示,无需额外的通道指示信号线
仅占用2个地址空间
3.)应用领域
多串口服务器/多串口卡
工业/自动化现场RS-485控制
通过CDMA/GPRSMODEM的无线数据传输
车载信息平台/车载GPS定位系统
远传自动抄表(AMR)系统
POS/税控POS/金融机具
DSP/嵌入式系统
4.订购信息
表4.1VK3266订购信息
产品型号
封装
说明
VK3266-EQPG
QFP44无铅封装
加强工业级;工作温度-45℃~+85℃
VK3266-IQPG
QFP44无铅封装
普通工业级;工作温度-45℃~+85℃
VK3266-CQPG
QFP44无铅封装
普通商业级;工作温度0℃~+70℃
5.原理框图
图5.1VK3266原理框图
6.封装引脚
6.1封装图
6.2引脚描述
表6.2VK3266引脚描述
名称
管脚
类型
描述
M1
1
I
主接口模式选择信号:
M1M0=00SPI接口;
M1M0=11UART接口;
M1M0=10or018位并口总线;
M1M0芯片内建下拉电路,悬空时M1M0=00;
M0
2
I
IR/
SCS/
CS
3
I
当主接口为UART时,为IR(主口红外通信模式)功能引脚:
IR=1红外通信模式;
IR=0普通UART通信模式;
当主接口为SPI时,为SCS(SPI片选)功能引脚:
低电平有效
当主接口为8位并口时,为CS(片选)功能引脚:
低电平有效
MRX/
SCLK/
WR
4
I
当主接口为UART时,为MRX(主口UART接收)功能引脚;
当主接口为SPI时,为SCLK(SPI时钟输入)功能引脚;
当主接口为8位并口时,为WR(写信号)功能引脚:
低电平有效
TR/
SDIN/
RD
5
I
当主接口为UART时,为TR(转义字符传输)功能引脚:
TR=1选择有转义字符的串口扩展工作模式;
TR=0选择没有转义字符的串口扩展工作模式;
当主接口为SPI时,为SDIN(SPI数据输入)功能引脚;
当主接口为8位并口时,为RD(读信号)功能引脚,低电平有效
MTX/
SDOUT/
A0
6
I
当主接口为UART时,为MTX(主口UART发送)功能引脚;
当主接口为SPI时,为SDOUT(SPI数据输出)功能引脚;
当主接口为8位并口时,为A0(数据地址选择)功能引脚;
A0=0写寄存器地址
A0=1写寄存器数据
D7~D0
7~
14
I/O
当主接口为8位并口时,为具有3态输出的8位数据线。
用来实现VK3266与CPU之间的数据、控制和状态信息的双向传输。
当主接口为SPI或UART时,该数据总线为高阻态。
RTS1
RTS2
RTS3
RTS4
34
25
38
15
O
子串口1~4的请求发送信号(RequestToSend),低电平有效.
当RTSx=0时,表明VK3266的相应子串口接收已准备就绪,请求与其相连的MODEM或数据UART发送数据。
RTS可以通过子串口状态寄存器进行设置。
当子串口工作在自动流量控制模式下时,RTS通过自动流量控制逻辑控制控制数据收发。
当子串口工作在RS-485自动收发模式下,该引脚用于控制RS-485数据的自动收发转换。
CTS1
CTS2
CTS3
CTS4
31
22
35
18
I
子串口1~4的清除发送信号(ClearToSend),低电平有效.
当CTSx=0时,表明MODEM或者数据UART已经准备好接收VK3266相应的子串口发送数据。
可以通过读取子串口状态寄存器读取CTS的相应状态。
当子串口工作在自动流量控制模式下时,CTS通过自动流量控制逻辑控制控制数据收发。
RX1
RX2
RX3
RX4
33
24
37
16
I
子通道串口串行数据输入。
RX将所连数据UART的串行数据输入VK3266的相应管脚。
TX1
TX2
TX3
TX4
32
23
36
17
O
子通道串口串行数据输出。
TX将串行数据输出到与其连接的器件引脚。
RST
19
I
硬件复位引脚,低电平复位有效
IRQ
21
O
中断输出信号,低电平有效。
建议外接上拉电阻,典型取值5.1K
VCC
2039
-
电源2.5V~5.5V工作范围
GND
2844
-
地
OSCI
43
I
晶振输入;当CLKSEL=0时,外部晶振连接到该引脚和OSCO引脚构成一个晶体振荡电路。
OSCO
42
O
晶振输出;当CLKSEL=0时,外部晶振连接到该引脚和OSCI引脚构成一个晶体振荡电路。
CLKSEL
41
I
时钟选择:
CLKSEL=0时,选择晶振提供时钟(默认值)
CLKSEL=1时,选择从CLKIN引脚输入的时钟作为芯片时钟
CLKIN
40
I
外部时钟输入引脚,当使用晶振时,该引脚需要接一个固定电平
DCD/
GPIO0
30
I
载波检测(低电平有效)。
DCD=0用来指示调制解调器检测到载波信号。
DSR/
GPIO1
29
I
数据设备就绪(低电平有效)。
DSR=0用来指示调制解调器或数据设备已经上电并且准备好与UART的数据交换。
DTR/
GPIO2
26
O
数据终端就绪(低电平有效)。
DTR=0时,表明VK3266已经上电和准备就绪。
该管脚可通过控制寄存器来设置。
RI/
GPIO3
27
I
振铃指示器(低电平有效)。
RI=0表明调制解调器接收到电话线的响铃信号。
该输入管脚的逻辑1跳变将会产生中断。
3、系统硬件设计
1、原理图设计
3、系统软件设计
基本函数块:
//*************************************************************************
//Function:
通过串口发送1个字节的数据
//输入:
dat为发送的数据
//输出:
无
//日期:
2011/12/12
//********************************************************************
voiduart_sendByte(unsignedchardat)
{
SBUF=dat。
while(!
TI)。
//waitefordatatotransmitcompletely
SCON&=0xFD。
}
//**************************************************************************
//Function:
接收一个字节的数据
//输入:
无
//返回:
rec函数返回读取到的数据
//日期:
2011/12/12
//***************************************************************************
unsignedcharuart_recByte(void)
{
unsignedcharrec=0。
while(!
RI)。
//waitetorecievedatainSBUF0
rec=SBUF。
SCON&=0xFE。
returnrec。
}
//***************************************************************************
//Function:
读取寄存器值
//输入:
port为子串口的路数,reg为寄存器的地址
//输出:
返回值是读取的寄存器的值
//日期:
2011/12/12
//***************************************************************************
unsignedcharread_reg(unsignedcharport,unsignedcharreg)
{
uart_sendByte(((port-1)<<4)+reg)。
//发送寄存器地址
returnuart_recByte()。
}
//***************************************************************************
//Function:
往寄存器里面写数据
//输入:
port为子串口的路数,reg为寄存器的地址,dat为写入寄存器的值
//返回:
无
//日期:
2011/12/12
//****************************************************************************
voidwrite_reg(unsignedcharport,unsignedcharreg,unsignedchardat)
{
uart_sendByte(0x80+((port-1)<<4)+reg)。
//写地址
uart_sendByte(dat)。
//写数据
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串口 扩展 方案设计 vk3266