基于DSP的多串口扩展芯片机载航空相机数字传感器采样系统设计


  摘要:随着数字化电子芯片技术的飞速发展,数字化传感器在通信、电力系统、航空航天、自动控制、医疗和电器等诸多领域中得到了广泛的应用。如今,机载航空相机上的传感器几乎均实现数字化,如陀螺、编码器、温度传感器及压力传感器等采用异步串行通信接口。 TL16C752B是TI公司生产的异步通信芯片,它具有两路异步串行通信接口,实现串转并功能。数字信号处理芯片TMS320F2812只有两路异步串行通信接口,其无法应用于多数字传感器并行的环境下,文中利用多片TL16C752B对TMS320F2812 SCI串口进行扩展,已完成DSP对多路数字传感器数据的采集。
  关键词:多路串口扩展 数字传感器 DSP 嵌入式系统
  中图分类号:TP29 文献标识码:A 文章编号:1007-9416(2013)10-0138-03
  随着数字化电子芯片技术的飞速发展,数字信号处理技术已成为人们日益关注并得到迅速发展的前沿技术。目前,在微电子技术发展的带动下,数字信号处器(DSP)的发展日新月异,性能价格比不断上升,开发手段不断改进,在新一代航空相机均已采用数字化接口,各系统以DSP作为嵌入式系统的中央处理器,并采用串口异步通信接口与其传感器进行通讯。利用DSP的特点和外界进行多异步串行通信的设计显得尤为重要[1]。
  在仪器仪表数据通信中,串行通信一直具有极其重要的地位。异步串口通信具有线路简单、应用灵活、可靠性高等一系列优点,长期以来获得了广泛的应用,在数字控制领域,其优越性尤为明显[2]。TMS320F2812是TI公司的一款性价比较高的32位定点DSP芯片,应用前景非常广阔。但它仅有两个异步串行通信接口,这在很多应用场合远远不够。在数字化外设较多的嵌入式系统设计中,要满足高实时性、高波特率的要求,则需要进行多串口异步通信接口,因此高速可靠通信的应用十分必要[3]。
  目前,串口扩展芯片的应用已经相当普遍,如上位机与多行串行通讯,下位机再与多个子系统串行通讯,串行数字传感器信号采集等[4]。在许多文献中都可以查阅,但大多都是应用单片串口扩展芯片(如TL16C554A或TL16C752B)扩展了DSP的4路或2路串口,几乎没有文献资料对多片串口扩展芯片如何使用进行说明。当单片串口扩展芯片无法满足嵌入式系统的外部数字传感器数量要求时,则需要两片或多片串口扩展芯片与DSP进行异步串行通讯。本文以两片TL16C752B为例,通过硬件实现与软件设计,根据时序要求,通过长期、大量的试验,验证了多串口扩展芯片与DSP通讯的可行性及可靠性,大大提高了DSP的与外设数字器件的通讯能力,使DSP可以获取更多有效、快速的数据信息。
  1 系统硬件设计
  某机载航空相机的多串口扩展芯片数字传感器采样系统由TI公司生产的TMS320F2812、TPS767D301、两片TL16C752B,SN164245以及两片AML26C32组成。
  TMS320F2812作为CPU主要处理异步通讯芯片的工作时序、参数配置和控制逻辑,传感器数据、地址的分配以及数字传感器信号处理。DSP与TL16C752B使用两个频率为29.4912MHz的晶振。电源芯片TPS767D301为TMS320F2812提供3.3V驱动电源和1.9V核心电源。差分转换芯片AML26C32将数字传感器的差分信号转换为5VTTL电平信号。电压转换芯片SN164245将传感器的5V电平信号转换为3.3V的电平信号,提供给DSP和串口扩展芯片。串口扩展芯片TL16C752B将外部串行数据转换为并行数据传送给DSP。系统的结构框图如图1所示。
  1.1 串口扩展芯片与DSP接口
  TL16C752B是一款TI公司生产的高性能UART芯片,具有两个异步串行转换通道,每通道可以从外围设备接收数据,实现串并转换;同时也可以从CPU端接收数据,实现并串转换;采用8位异步并行存储器接口,3.3V电源供电,每通道具有64BYTE深度的FIFO,最大波特率3Mbp。在FIFO模式下,能大幅减少CPU的中断数量,具有软件/硬件自动流控制的特点,可极大降低软件开销;可工作于查询模式,中断模式和DMA模式,并且编程可选择中断和DMA的FIFO深度等级; 保持与移位寄存器使得CPU与串行数据问不需要精确同步;具有可编程的波特率发生器,便于灵活选择数据收发频率[4]。
  TL16C752B必须在硬件复位后,才能进行寄存器配置,复位脉冲宽度要求至少200nS,因此,不宜将其RESET引脚与DSP的复位引脚连接,而用一个GPIO口控制其复位,这样在TL16C752B与DSP发生数据失锁或通讯故障时,DSP不复位的情况下,重新对TL16C752B进行复位配置寄存器后建立链接[5]。文中将TL16C752B配置为DMA查询模式,16BYTE深度FIFO,启用超时中断,接收串行数据,实现串转并数据转换。传感器数据由芯片的RXA,RXB脚输入,当FIFO中的数据溢出,或产生超时中断后,相应的RXRDY脚发出数据有效信号,DSP访问CPLD以控制TL16C752B的片选信号CSA、CSB。DSP的地址信号A0、A1、A2与片选信号共同作为TL16C752B的地址端口进行数据的读取和寄存器的读写。DSP的数据端口D0~D7与TL16C752B的数据端口D0~D7连接。DSP的读写信号IOR、IOW与TL16C752B的读写信号IOR、IOW连接,从而控制写入或读取TL16C752B的FIFO寄存器数据[6]。器件接线图如图2所示。
  外部数字传感器为两个数字光纤陀螺,两个数字编码器。
  1.2 串口扩展芯片寄存器设置
  TL16C752B共有20个寄存器,各寄存器地址通过地址线A0、A1、A2以及寄存器进行寻址,增强功能寄存器与通用寄存器地址复用,通过程序对寄存器进行读写、修改。寄存器映射地址与功能如表1所示。