×
工业控制 > 工业自动化 > 详情

VK3214在DSP串口扩展中的应用

发布时间:2020-10-20 发布时间:
|
 DSP(数字信号处理器)芯片是一种特别适合于进行数字信号处理运算的微处理器件,由于其强大的数据处理能力和高效的运行速度,其应用越来越广泛。但是它的另外一个特点是配备的串行口不多,而目前很多芯片采用串行口进行通信,因此为了与多个芯片进行通信,需要对串口进行扩展。本文利用VK3214串口扩展芯片,很好地解决了这个问题。

  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所示,几个传感器采用抢占方式,任何一个传感器产生数据后立即通过子串口发送给VK3214VK3214子串口将接收数据放入FIFO数据寄存器中,同时产生中断,通知DSP读取数据。DSP接到中断信号后对VK3214的中断状态寄存器进行读取,以确定是哪个子串口有数据,然后通过读取这一子串口的FIFO状态寄存器,以确定子串口FIFO数据寄存器中的字节个数,最后从这一子串口的FIFO数据寄存器中读取相应数量的字节数据,从而完成上行通信的整个过程。下行通信

  下行通信指DSP数据通过VK3214发送给各个传感器,软件流程如图3所示。当DSP产生数据时,通过主串口发送给VK3214,并指明子串口的编号,VK3214接收到数据后存放在相应子串口的发送FIFO中,通过发送FIFO发给传感器,从而完成下行通信的整个过程。

  结束语

  为完善飞行控制器与多个数字传感器的通信功能,本文通过VK3214这款芯片实现了串口扩展,文中给出了硬件连接图,并对芯片初始化、上行通信和下行通信的流程进行了描述。由于该芯片不需要地址信号和控制信号线,因此它的电路结构比较简单,适合于工程应用。

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
谈交互式虚拟三维环境的设计