基于DSP的多通道数据采集系统的设计与实现(2)
发布时间:2021-06-08
发布时间:2021-06-08
基于DSP的多通道数据采集系统的设计与实现
DSP开发与应用
中文核心期刊《微计算机信息》(嵌入式与SOC)2007年第23卷第11-2期
2.2A/D芯片及FPGA控制电路
A/D转换电路使用MAX1184模数转换芯片。MAX1184是一款+3V、双10位模数转换器(ADC),适合于那些低功耗、高动态性能的应用。本系统使用两片MAX1184来完成对4路模拟信号的模数变换。MAX1184的控制和时钟信号由FPGA提供。
由于多通道高速数据采集会产生巨大的数据流,一个4通道20MHz采样率16位精度数据采集板并行采样0.1S将产生16MB的数据量,而且还需要较多的片选信号,模块测试所占用的I/O口资源也比较多,用一般的芯片较难实现,而用FPGA则不但可
以较好地实现其功能,而且还可提高设计能力和设计效率。
技术创新
FPGA选用ALTERA公司生产的EP1K50,它的逻辑门数为
每个EAB实际上是4K的5万门,内含10个EAB(嵌入阵列块)。
双口RAM等。本系统应用EAB构成RAM,可以用来构造FIFO、
了四个256×16BIT的FIFO,因而可将四路A/D转换结果分别送入四个FIFO,然后在FPGA的输出端将四个FIFO中的数据交替地送给DSP,每个FIFO每次读出128个采样数据。A/D转换器的输出为10位数据,而FPGA的片内FIFO的数据字宽为16位。在存储、传送时,将高6位补0即可。四路A/D采样速度都为20MHz,这个速度对于EP1K50都是完全可以达到的。另外DSP芯片将A/D转换器、FIFO、RAM、FLASH等器件都作为统一的外设,对每一外设进行地址编码。通过FPGA将DSP的外
设操作信号转换为对具体芯片的控制信号,这样在程序的效率以及整体电路工作的协调性上都有了很大的提高。除了构造
FIFO以实现数据通道复用外,FPGA还可以作为协处理器由板上DSP控制来进行一些简单高效的数据预处理(如插值、取平均、FIR滤波等)。同时可使用EDA工具QUARTUS5.0来对EP1K50的逻辑算法进行设计、编译并仿真,然后下载到EP1K50中实现预定功能。
2.3DSP的异步串口扩展
综合考虑硬件连接和软件编程的方便性,DSP与PC机的数据接口采用RS-232串口。与其他类型的接口相比,串行接口
的最大特点是减少了器件引脚数目,降低了接口设计复杂性。串行数据传输可分为同步和异步两种模式。通用PC机的RS-
为了232接口为通用异步接口,而DSP芯片提供的是同步串口。利用DSP的McBSP同步串行接口,在扩展适当硬件的情况下,
将同步数据变换为UART异步数据格式进行传输。这样可以充分利用DSP的片上资源,从而使硬件系统尽量简单化。本系统应用美国MAXIM公司的MAX3111串行异步收发器,与DSP的McBSP口直接连接。硬件上无需任何其它外围器件,同时由于异步数据的发送和接收由MAX3111以硬件方式实现,所以软件编程需要考虑的也只是DSP与MAX3111之间的同步数据通信。这样,用最简单的硬件连接和软件编程就能实现同步到异步的串行数据格式转换。
MAX3111通用异步收发器是MAXIM公司专门为小型微处理系统进行最优化设计的UART。它包括一个振荡器和一个可编程波特率发生器;具有一个可屏蔽的中断源;另具有一个8字节的接收FIFO(先入先出)缓冲器。它应用SPI/MICROWIRE
接口技术直接与主控制器进行通信,线路简单、体积小,通信速率可达230KBITS/S。另外其内部除具有UART之外,还包括两个RS-232电平转换器,这样无需再接入普通的MAX232进行电平转换,即可应用一个芯片实现微控器(具有SPI/MI-CROWIRE接口)与PC机或其它设备之间的异步数据传输。
数据传输部分主要包括以下几部分:
-
(1)McBSP串口初始化
在本设计中应将5410A的McBSP串行口配置为SPI模式,以DSP作为主设备。
(2)MAX3111工作模式及波特率设置
在进行通信之前,DSP必须首先根据命令序列格式向MAX3111写入配置命令
字,之后才能进行正确的数据传输,如8位数据位、一位停
使能接收和发送中断的止位、无奇偶校验位、波特率为115200、
异步数据传输。示例程序如下:
McBSP0_initializing:stm#0,spsa0
stm#0001100000000000b,spsd0;dlb=0,rjust=00,clkstp=11,dxena=0,rintm=00
stm#1,spsa0
stm#0000000100000000b,spsd0;free=0,soft=1,xintm=00stm#2,spsa0
stm#0000000001000000b,spsd0;1word/frameand16bits/wordforreceive
stm#3,spsa0
stm#0000000001000001b,spsd0;rcompand=00,rfig=0,rdatd-ly=01
stm#4,spsa0
stm#0000000001000000b,spsd0;1word/frameand16bits/wordfortransmit
stm#5,spsa0
stm#0000000001000001b,spsd0;xcompand=00,xfig=0,xdatd-ly=01
stm#6,spsa0
stm#0000000000011101b,spsd0;fwidisignored,clkgdv=11101b=29
stm#7,spsa0
stm#0010000000000000b,spsd0;clksm=1,fsgm=0,fperisig-nored
stm#0eh,spsa0
stm#0000111100001101b,spsd0;fsxm=1,clkxm=1,fsxp=1,clkxp=0,clkrp=1
(3)中断服务程序
在进行中断方式数据传输时,需要注意的是:虽然DSP的McBSP有自身的发送和接收中断,但由于McBSP与MAX3111之间的同步串行数据传输速率高于MAX3111将数据以一定波特率(最高230KBPS)异步发送的速率,因此如果应用McBSP的发送中断,将造成发送数据的丢失。同时,在SPI协议中,数据的传输是由SPI主设备发起的,所以在SPI方式下的McBSP并不能产生接收中断。因此,应用的关键之一是将MAX3111的IRQ中断信号连接至DSP的一外部中断,以实现中断方式下可靠、
正确的数据传输。
通过简单的硬件电路将同步接口转换为异步串行接口,充分利用了DSP的在片硬件资源,很好地解决了DSP的异步串口扩展问题。
3系统软件的设计
数据采集卡的实时系统控制软件采用模块化的设计方法,包括:DSP初始化模块、采样控制、DSP数据处理部分以及DSP
现场总线技术应用200例》
-360/:
上一篇:钢渣磁选设备使用、维护、维修规程
下一篇:新马泰完美十日游(香港往返)