基于VK3366 的DSP 异步串行通信的设计
扫描二维码
随时随地手机看文章
0 引言
随着数字信号处理技术和集成电路技术的不断发展,数字信号处理器的可靠性也越来越高,应用亦越来越广。在DSP应用系统中通常需要由DSP接受上位机的控制信号或进行下位机通信,最常见的方式是采用异步串行接口RS 232或RS4 22来实现。本文的信号采集模块采用TMS320C6713B 芯片为例,但没有集成UART接口,因此进行扩展异步串口通讯芯片或者配置McBSP以实现与其他串行设备高速异步通信。本文选择异步串口扩展芯片VK3366进行扩展。
1 数据采集硬件系统设计
数据采集电路系统主要包括:数据信号处理TMS320C6713B 子系统、AIC32 音频采集电路子系统和异步串口扩展芯片VK3366系统等,其逻辑框图如图1所示。音频采集电路子系统负责采集外部语音信号,数字信号处理器TMS320C6713B子系统进行采集数据的信号处理,VK3366子系统负责系统接口扩展进行数据传输。
1.1 数字信号处理器子系统
TMS320C6713B(简称C6713)是美国德州仪器公司(TI)推出一款32位浮点型高速数字处理器DSP,它可在300 MHz的时钟频率下实现1 800 MIPS/2 400 MFLOPS的定点和浮点运算,极大满足了高速数据采集与实时控制系统对信号处理速度的要求。采用2级Cache结构,片上共有264K×8 b存储器。C6713的具有丰富的片上外设设备,已经在图像处理、数字信号处理以及自动控制等领域得到了广泛的应用。McASP接口可以外扩音频芯片,32 b的外部存储器接口(EMIF)可以外接异步设备、外扩存储器设备,并可寻址512 MB的片外存储空间,丰富的外设接口满足本次设计的要求。
1.2 UART芯片VK3366基本特性
异步串口扩展芯片VK3366 是成都维肯科技研制的业界首款具备I2C/UART/SPI/8 位并行总线接口的4 通道UART扩展器件,该芯片在通信系统等实时性要求较高场合有良好的应用效果。其扩展子通道的UART具备以下功能特点:每个子通道UART的波特率、字长、校验格式进行独立设置,最高提供1 Mb/s的通信速率。每个子通道独立设置工作模式,包括IrDA 红外通信、RS 485自动收发控制、9位网络地址自动识别、软件/硬件自动流量控制和广播接收等高级工作模式。每个子通道具备收/发独立的16 BYTE FIFO,FIFO的中断为4级可编程条件触发点。提供一个子通道的调制解调器控制信号。无需采用地址线控制串口扩展方式,而是通过芯片内置的协议处理器实现多串口扩展,以减少C6713通用I/O 的使用个数,降低系统布线难度。本次设计通过模式选择使VK3366实现一个8位并行数据总线与4 通道UART 串行总线数据通信相互转换的功能。
1.3 VK3366的通信接口硬件设计
数据采集电路模块中C6713B的2路SPI、I2C接口都已经被其他接口使用,因此选择C6713 的外部存储器(EMIF)接口来实现4 通道UART 串行总线数据扩展。
C6713的32位EMIF接口用于扩展外围异步设备,EMIF接口包括数据线、地址线、读/写控制信号、片选空间等。C6713 上EMIF 共提供4 个外设片选空间CE[3:0].
UART 芯片VK3366 采用3.3 V 电源供电,使VK3366 与C6713B的EMIF直接连接,无需连接额外的电平转化芯片,节约了空间。VK3366 选通信号CS 与C6713B 的CE3 直接相连,读/写信号WR,RD 与C6713B 的ARE,AWE 直接相连,从而将系统中地址0xB0000000~0xBFFFFFFF 分配给VK3366 芯片,以便按照统一编址来读/写VK3366的寄存器了。
VK3366的M0,M1引脚分别接高电平和地[1:0],即将VK3366 的主接口设置成8 位并行数据总线模式与4 通道UART串行总线数据通信模式相互转换的工作模式。复位引脚通过上拉电阻接到3.3 V电源上,平时保持该引脚工作高电平。为了保证复位的可靠性,复位信号时间要保持20 ms以上。中断引脚通过上拉电阻接到3.3 V电源上保持高电平,当全局中断产生,引脚信号变成低电平。VK3366的中断信号引脚与C6713的INT5相连。
VK3366的8位并口命令和数据是共用8位地址总线,通过其A0(数据/控制)信号引脚进行切换。4 个子通道的选择通过命令字控制,在系统中仅占用2个地址空间,无需额外的通道指示信号线。本文设计电路中使用C6713的通用I/O口GP11引脚与VK336的A0引脚相连来进行数据/地址的控制选择。VK3366 扩展模块采用11.059 2 MHz晶体振荡器。VK3366的4个子串口分别与语音模块、GPS定位模块、无线通讯模块和手持显示设备相连,具体模块电路连接如图2所示。
2 VK3366 异步通信软件设计
VK3366异步通信软件设计主要包括DSP 初始化、主函数、VK3366初始化和数据发送/接收等部分。C语言作为一种高级语言,具有清晰易懂、可维护性和可移植性好、通用性强等优点,尤其对算法的编写更加容易,因此本文在TI公司CCS 3.3编译环境下采用C语言进行软件设计。
2.1 DSP初始化
C6713 上电后,首先要对DSP 的EMIF 进行配置。
本设计将CE3作为VK3366的片选,代码如下:
*(int *)EMIF_CE3 = 0xffffff03;
即设置CE3部分为8位数据格式扩展,然后配置锁相环PLL 寄存器,从而在不同部分产生不同时钟,如DSP内核、内部外围控制和外部存储器接口等。[!--empirenews.page--]
2.2 VK3366初始化
VK3366初始化主要包括以下两部分:
(1)VK3366复位
VK3366为低电平复位,复位时或复位后,各子串口处于禁止收发状态。VK3366的复位过程是通过上电后外接阻容来实现的。
(2)子串口配置
C6713B首先通过GP11口来选择寄存器地址,然后通过接口全局控制寄存器对VK3366 进行配置。
VK3366 的寄存器为6 位地址编号,地址000000~111111,其中有7 个全局寄存器、10 个子串口寄存器。
为了实现DSPTMS320c6713 对VK3366 的准确控制,应配置VK3366相应寄存器。同时要严格按照VK3366的写时序,如图3所示。读时序如图4所示。
具体代码如下:
实际信号处理卡电路板如图5所示。
3 结语
本文主要阐述了基于异步串口芯片VK3366 扩展C6713 的串口理卡中的设计与实现。使用C 语言编写VK3366的驱动程序,在CCS3.3编译器上通过编译,实现了C6713的串口扩展。本设计已在实际项目中得到应用,为DSP扩展串口通信提供了一种新的传输方式和途径。