|
基于TMS320C6201与8086的数据采集系统的实现 |
Implementation Based on TMS320C6201 and 8086 at
Data Acquisition System
|
■ 西南交通大学 蒋峰
|
摘要:本文介绍了一种以数字信号处理器(DSP)作数据处理机,以单片微控制器作I/O接口处理机的主从式双处理器数据采集系统。二者以互中断高速并行接口相联。双机协同流畅,处理速度快,满足了数据采集系统对数据吞吐和处理能力要求。
关键词:主从式双处理器;主机接口;DSP
引言
数字信号处理器(DSP)是专为高速数据处理而设计的微处理器,其改进的哈佛结构、先进的多地址/数据总线和多级流水线机制、专用的硬件乘法器、高效的指令集使芯片的指令周期降到10ns以下。先进的制造工艺使其通常仅需要1W左右的功率,芯片面积仅有不超过25
25mm2而价格通常在数十至数百元人民币。除此以外,DSP内部一般还集成有一定容量的ROM和RAM、串行接口、并行接口、定时器、DMA控制器、等待状态发生器、时钟发生器等功能部件,这些使其仅需少量的外部元件即可构成一个强有力的数字处理系统。但DSP的I/O能力及文档处理能力较弱,如果在数据采集系统中同时让它完成数据处理及I/O输出,则其赖以进行高速数据处理的多级缓冲和高速流水线机制将被频繁打断,而且低速外设和I/O操作要求在DSP的操作时序中插入大量等待周期,因此使DSP的优势大大削弱。
另一方面,常用的单片微控制器以控制能力见长而运算能力一般,与DSP结合则可实现优势互补。将其用作外设控制和I/O接口处理机,而DSP作为数据处理机,从而可充分发挥各自的特长。
主从式双处理器数据采集系统的实现
我们以TMS320C6201为核心部件,实现了一种主从式双处理器数据采集系统。
连接原理图
主从式双处理器的连接原理图如图1所示。
图1:连接原理图
所采用的TMS320C6201(简称C6201)是1997年TI公司的定点DSP芯片,它有很强的定点数据运算能力和很高的处理速度,适合于进行实时的数据采集及运算处理(如FFT,FIP,IIR滤波等)。但是,它的I/O能力及文档处理能力较弱,所以,将C6201与单片机组成主从机系统,由单片机担负系统的各模块(分机)的管理、I/O设备的通信、文档处理等任务;而由C6201实现数据采集和实时处理。
用以进行I/O接口管理的单片微控制器取Intel的8086,其接口能力强,同时具有一定的数据处理能力。系统的任务分配以不需C6201进行外设操作和不向C6201产生随机中断为原则,以便保证C6201操作时序连续,使C6201高效率运行。由外设输入数据,接收主控设备命令,反馈状态信息等数据的I/O操作均由8086控制完成。因此,在系统构成上,8086为主机,C6201为从机,都能高效地工作。
工作过程
8086通过C6201的主机接口HPI(Host Port Interface)与其相联,通过动态地改变数据总线宽度,8086能很好地与16位的HPI相适应。8086在访问HPI时,先完成外部接口部分的操作,即先初始化HPI控制寄存器(HPIC),然后初始化HPI地址寄存器(HPIA),再从HPI数据寄存器(HPID)中读出数据或写入数据。写入HPIA或HPID后启动了一个内部操作周期:在HPID与HPI存储器之间传输所要操作的数据。由于该操作需要几个C6201的周期,每次访问HPI写入HPID的数据要在完成主机操作周期之后才写入HPI存储器,从HPID读出的数据则是上一个操作周期得到的数据。因此,在读出数据时实际得到的是上一次操作所制定的地址的数据,当前的操作则启动了下一个操作周期。写操作与之类似。
通过HPI,主机可读写C6201的全部存储空间,C6201其理论极限速率为200MHz,这已大大超过8086的能力。主机通过写HPI的控制寄存器(HPIC)可中断C6201,C6201亦可通过给HPIC写入控制其外部引脚"HINT"的状态来中断主机。这一机制使8086和C6201可互视对方为外设,双机间的呼叫响应和数据交换及时、通畅、快速、高效。此外,8086还可以访问HPI的地址寄存器(HPIA)以及数据寄存器(HPID)。这些寄存器的访问是通过外部的控制信号实现的。在C6201中有专门的DMA辅助通道完成数据传输任务。
HPI接口
HPI的外部管脚按功能可以分为地址/数据总线、控制和选通三组:
地址/数据总线: HD0-HD15;
控制: HCNTL[1:0],HHWIL,HINT,HRDY;
选通: HDS1,HDS2,HCS,HR/W,HAS,HBE [1:0]。
表1给出了HPI接口信号及它们各自的功能。
HPI与CPU的存储空间的连接是通过DMA控制器支持的,它与主机通讯是通过地址寄存器和数据寄存器实现的,C6201通过16位数据总线(HD0-HD15)与主机进行信息交换。通过HHWIL引脚指示是第一个,还是第二个半字被传输。一个内在的控制寄存器决定是第一个,还是第二个半字被放到一个字的高位半字中。
HD[15:0]实际上可以看作是一个数据和地址的公用总线,通过HD[15:0]传送的数据包括了控制寄存器的设置值、初始化的访问地址以及真正的数据。C6201的芯片结构决定了与主机间所有的数据交换都是32bit,因而每次数据访问都需要进行两次存取,由HPI自动将HD[15:0]上连续的两个16bit数据合成为32bit,或是反向分解。在HPIC中可以设置出现在HD[15:0]上的第一个16bit是MSB16还是LSB16。主机向DSP写数据时,由HBE[1:0]信号负责控制32bit数据中对应字节的使能。HCNTL[1:0]控制当前访问的是HPI哪一个寄存器。功能如表2所示。
两个数据选通(HDS1和HDS2)、读写选择(HR/W)以及地址选通(HAS)几个信号在功能上非常类似,使HPI在仅须少量,甚至无须附加逻辑的情况下实现与多种工业标准主机设备实现接口。HPI可以通过地址/数据总线、数据选通和读/写选通或读和写的两个独立的选通信号来实现与主机的接口。不考虑HDS连接,HR/W还须决定数据传输的方向,和HCS、HDS1以及HDS2一起产生一个低电平有效的内部HSTRB信号。
HSTRB信号有三个用途:
1)在读操作时,在HSTRB的下降沿初始化所有类型的HPI读操作。
2)在写操作时,在HSTRB的上升沿初始化所有类型的HPI写操作。
3)在HSTRB下降沿锁存HPI的所有控制信号,包括:HHWIL,HR/W,HBE[1:0],HCNTL[1:0]等。
HCS信号同时还是HRDY信号的使能控制。
利用HAS信号,在一个存取周期中,HCNTL[1:0],HR/W和HHWIL信号可以尽量早地进行状态转换,给总线上数据/地址状态的切换留出更多的时间。
HRDY信号的作用是在接口时序上插入等待。
通过HPIC寄存器中的DSPINT位和HINT位,主机和CPU之间可以互相发出中断,CPU向主机的中断信号由HINT管脚输出。
数据采集系统的实现
利用主从式双处理器结构我们实现了一个数据采集与监测系统。
系统的原理框图如图2所示。
图2:数据采集系统的原理图
结论
本系统采用主从处理器结构,以DSP为核心模块,通过HPI接口与主机有机结合成一个整体,既利用了DSP的高速度、高精度、并行性、高集成度和高性能价格比等优点,又发挥了主机的作用,形成新一代智能化数据采集分析系统。实际应用表明,利用DSP技术开发的这种装置,在硬件上,系统控制以及各种接口电路、总线等设计合理,功能强,性能高,使用方便,运行可靠。通过配置相应的软件,可满足对数据的采集和监测。
|
|