摘要:UART以其简单可靠,抗干扰强,传输距离远,组网方便,被认为是嵌入式系统中进行串行数据传输的最佳方式。本文介绍了专为嵌入式系统设计的VK32系列新型多总线接口UART器件的原理及应用技术。
1.嵌入式系统中串口扩展的需求:
而在嵌入式领域,由于UART具有操作简单,工作可靠,抗干扰强,传输距离远(组成485网络可以传输1200米以上),设计人员普遍认为UART是从CPU或微控制器向系统的其他部分传输数据的最佳方式,因此它们被大量地应用在工业、通信、和家电控制等嵌入式领域。通常MCU/CPU都会自带一个UART串口,但实际应用中一个串口往往不够用,需要进行UART串口扩展。
目前的大多数UART器件是以计算机总线转换UART为应用基础的,其通用性、管脚、寄存器与20年前很少改变,针对嵌入式应用,目前的UART器件普遍存在操作复杂,引脚多,价格较高等弱点,不能满足和适应的嵌入式系统发展的需要。
针对嵌入式系统中UART的发展趋势,维肯电子设计推出了VK32XX系列新型多总线接口UART器件,其特点为:
8位并行总线接口产品可以替代目前广泛使用的16C55X系列UART用于为8位,16位,32位MCU进行UART串口扩展。VK32系列8位并行总线接口UART产品采用了精简控制寄存器设计),并通过管脚复用减少了芯片管脚,简化的软件设计和PCB设计都更适合嵌入式系统需求。
SPI接口总线系列产品为带有SPI接口的DSP、MCU实现同步SPI串口到异步UART串口的桥接和扩展,尤其针对目前广泛应用的DSP系统,大多数DSP都只有同步串口,只能用于与具有同步通信接口的外设进行通信。V32系列SPI总线接口可以将一个SPI同步串行接口桥接/扩展成为1~4个通用异步串口,方便的实现DSP和外设的异步串行通信。
UART接口产品创新的实现了将一个标准3线异步串口(UART)扩展成为2~4个增强功能串口(UART)。芯片内置的UART扩展协议处理逻辑,无需无需其它的地址信号、控制信号线就可以实现多个独立配置的全双工串口扩展,为需要扩展串口的嵌入式系统提供了一个最简洁的解决方案。
2.VK32系列新型多总线接口UART器件的原理及框图:
VK3266是VK32系列中功能最全的型号,本文以VK3266的原理图为基础,对VK32系列UART芯片原理进行介绍:
VK3266原理框图
VK3266内部结构包括主机接口,子通道部分,MODEM控制逻辑,中断控制逻辑几部分。
主机接口为VK3266与CPU/DSP相连的接口,通过M1,MO模式选择信号线,可以分别选择8位并行总线,SPI总线,UART三种接口与主机相连。
MODEM控制逻辑用于与MODEM相连时的状态信号线的监控和控制。
中断控制逻辑用于产生和控制各种内部中断。
时钟发生器为芯片的提供时钟,可以用CLKSEL引线选择从晶振还是外部时钟源获取时钟。
子通道逻辑部分处理各个的数据接收和发送。数据发送的处理过程为:主机接口将从主口总线发送来的数据进行处理后传送到相应的子通道FIFO,FIFO里的数据经过流量控制逻辑后,在波特率发生器的作用下,通过发送移位寄存器顺次将数据发送到TX串行输出信号线上。接收数据与此正好相反。子通道处理模块中,控制寄存器用于对各个子通道进行设置,IR编解码器用于对红外信号进行编解码,子通道流量控制器用于子通道传输数据时的自动流量控制。
3.VK32系列多种总线的主机接口和操作:
3.1 SPI主机接口连接和操作:
如图所示 SPI与主机(CPU或者DSP)接口包括如下四个信号: SDIN:SPI数据输入。 SDOUT:SPI数据输出。SCLK:SPI串行时钟。SCS:SPI片选(从属选择)。
VK32XX工作在SPI同步串行通信的从机模式下 ,支持SPI模式0标准。为实现主机和VK32XX的通信,在主机端需要设置CPOL=0(SPI时钟极性选择位),CPHA=0( SPI时钟相位选择位)。SPI接口的操作时序如图9.2所示:
SPI接口读写操作:
SPI写寄存器操作
控制字节 CMD
数据字节 DB
BIT
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
DIN
1
C1
C0
A3
A2
A1
A0
D8t
D7t
D6t
D5t
D4t
D3t
D2t
D1t
D0t
DOUT
INT1
INT2
INT3
INT4
X
X
X
X
TC3
TC2
TC1
TC0
RC3
RC2
RC1
RC0
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
X
X
X
X
D7r
D6r
D5r
D4r
D3r
D2r
D1r
D0r
各位的原理
C1 C0:子串口通道号? 00~11分别对应子串口1到子串口4;
A3-A0:子串口寄存器地址
D8t:9位数据长度发送时第9位的数据
INT1—INT4:通道1到4的中断标志
TC3—TC0:发送FIFO数据的个数
RC3—RC0:接收FIFO数据的个数?
3.2 UART主机接口的连接和操作:
本文关键字:暂无联系方式嵌入式系统-技术,单片机-工控设备 - 嵌入式系统-技术