VK3214在DSP串口扩展中的应用
VK3214的功能特点
VK3214是四川维肯公司研制的4通道UART异步收发器,可以实现4个串口的扩展,其功能特点如下:(1)主串口为标准的三线UART串口(RX,TX,GND),无需其它地址信号、控制信号线, 可编程波特率设置,最高速度可以达到1M bit/s,可选择的奇校验,偶校验和无校验模式;(2)每个子串口为全双工,每个子串口可以通过软件开启/关闭,波特率可以独立设置,子串口最高可以达到920K bps,每个子串口字符格式包括数据长度、停止位数、奇偶校验模式可以独立设置, 每个子通道具备收/发独立的16 BYTE FIFO,FIFO的中断为4级可编程条件触发点。
电路原理图
图1所示为VK3214的电路图,采用3.3V电源供电, 14.7456MHZ的晶体振荡器。VK3214的四个子串口分别与航向传感器、高度传感器、姿态传感器和GPS相连,IR口接低电平,因此其其功能定为普通UART通信模式;TR口为低电平,因此选择的是没有转义字符的串口扩展工作模式;复位引脚通过一个电阻接在3.3V电源上,平时保持高电平,当F28027产生的低电平信号到达时芯片实现复位,为保证复位的可靠性,复位信号时间要保持20ms以上;中断引脚也通过一个电阻接在3.3V电源上平时保持高电平,当有全局中断时引脚变为低电平,通知F28027有中断产生。
DSP采用TI公司的TMS320F28027数字信号处理器,芯片采用3.3V电源供电。26脚发送复位信号给VK3214,27脚配置为外部中断输入,接收VK3214发来的中断信号,47脚SCITX口与VK3214的主接口RX脚连接,48脚SCIRX口与VK3214的主接口TX脚连接。
软件流程初始化
DSP首先通过发送一个低电平信号实现VK3214的复位,然后根据复位后VK3214主接口全局主串口控制寄存器的默认值对VK3214的主串口进行配置,由于晶振的频率为14.7456MHZ,因此VK3214的主接口的默认波特率为38400。然后通过主串口对子串口进行配置,一般需要配置的寄存器有子串口控制寄存器、子串口配置寄存器、子串口FIFO控制寄存器、子串口子串口中断使能寄存器。本文对这几个子串口寄存器的配置如下:控制寄存器的配置为采用标准串口模式,RS232收发模式,9600的波特率;配置寄存器的配置为不使用子串口强制校验,1 位停止位,无校验位(8 位数据)。FIFO控制寄存器的配置为:使能接收FIFO,接收到的数据写入接收FIFO, 当接收FIFO的数据增加到1字节时,提示主机接口从接收FIFO中读取数据,使能发送FIFO,待发送的数据写入发送FIFO,通过FIFO发送。子串口中断使能寄存器的配置为使能接收FIFO触点中断,禁止发送FIFO触点中断,禁止FIFO 数据错误产生中断。
上行通信
上行通信指传感器数据通过VK3214发送给DSP,软件流程如图2所示,几个传感器采用抢占方式,任何一个传感器产生数据后立即通过子串口发送给VK3214,VK3214子串口将接收数据放入FIFO数据寄存器中,同时产生中断,通知DSP读取数据。DSP接到中断信号后对VK3214的中断状态寄存器进行读取,以确定是哪个子串口有数据,然后通过读取这一子串口的FIFO状态寄存器,以确定子串口FIFO数据寄存器中的字节个数,最后从这一子串口的FIFO数据寄存器中读取相应数量的字节数据,从而完成上行通信的整个过程。
下行通信
下行通信指DSP数据通过VK3214发送给各个传感器,软件流程如图3所示。当DSP产生数据时,通过主串口发送给VK3214,并指明子串口的编号,VK3214接收到数据后存放在相应子串口的发送FIFO中,通过发送FIFO发给传感器,从而完成下行通信的整个过程。
结束语
为完善飞行控制器与多个数字传感器的通信功能,本文通过VK3214这款芯片实现了串口扩展,文中给出了硬件连接图,并对芯片初始化、上行通信和下行通信的流程进行了描述。由于该芯片不需要地址信号和控制信号线,因此它的电路结构比较简单,适合于工程应用。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)