基于DSP/BIOS的数据采集系统研制
摘要:针对多模式、高速、大数量采集及网络实时上传的要求,设计专用数据采集系统。硬件上以DM642作为主控CPU,软件上利用其内嵌的DSP/BIOS操作系统调度网络控制任务、数据采集任务、周期触发线程以及硬件中断,并利用网络开发工具包NDK实现TCP/IP协议,完成网络控制和通信。构建可靠的数据传输机制,保证底层高速采集的大数据量快速可靠的上传。最后,用VC开发上位机程序,实现数据处理、显示和故障诊断。实际应用表明该系统运行稳定,满足实时采集的要求。
关键词:DSP/BIOS;DM642;多线程;NDK;数据采集
随着嵌入式系统复杂性、实时性的不断提高,采用单任务顺序和循环结构的传统软件构架已经不能满足要求,基于操作系统的多线程设计得到越来越多的应用。课题中,为了实时监测某型号导弹的整个测试过程,记录偶尔出现的故障信息并判断问题原因,设计以数据采集系统为核心的在线监测设备。传统的数据采集系统软件结构实时性差、资源利用率低,很难满足高速、大数据量采集并需要实时上传的应用场合。而课题中的数据采集系统需要采集现场多个类型、多个通道的数据,采集数据需通过网络实时传输给上位机,因此,采用DSP/BIOS实时操作系统提供的多任务机制并结合TI提供的NDK网络开发工具包来设计研制数据采集系统。
1 DSP/BIOS及NDK简介
DSP/BIOS是TI公司为C28x,C5000和C6000系列DSP开发的可裁剪实时多任务操作系统,同时也是CCS提供的一套多任务开发、硬件抽象、实时分析和系统配置的专用工具。DSP/BIOS以其功能丰富的APIs综合管理系统内存,实现任务分配和调度,实时监测分析系统运行,并提供方便的数据通信接口和外设驱动开发工具。DSP/BIOS的运用大大降低了DSP软件开发难度,提高了调试效率,非常适合结构复杂、实时性强和运行效率高的应用开发。NDK是TI专门为网络应用开发提供的网络开发工具包,利用其TCP/IP协议栈开发网络应用具有成本低、开发周期短的特点。网络性能由套接字类型、套接字缓冲区、CPU速度和CPU缓冲等几方面决定。
2 数据采集系统总体设计
数据采集系统可工作在两种模式下:模式一,采集数据通过网络实时上传;模式二,采集数据先存入CF卡,监测结束后一并上传。硬件上采用DM642+FPGA的主控方案,在DSP中运行DSP/BIOS操作系统来综合管理外设资源,分配调度硬件中断HWI、周期性触发线程PRD、数据采集任务和网络控制传输任务,从而实现对A/D采集、串口通信、数据存储和网络收发的控制。根据功能划分,数据采集系统可以分为A/D采集单元、RS 422通信单元、CF卡存储单元和网络控制收发单元。硬件总体框图如图1所示。
2.1 A/D采集单元设计
A/D采集单元分为高速采集和低速采集2个通道。高速采集通道选用12位的AD7356,单片并行双通道,最高采样率5 MSa/s,串行输出,通过5片AD7356的组合可并行或循环采集10路差分输入信号。低速采集通道选用12位的AD7658,单片并行6通道,最高采样率250KSa/s,2片AD7658采用菊花链的级联方式可同时采集12路差分或单端输入信号。A/D控制信号和转换数据通过磁耦隔离芯片IL716实现后端隔离。
2.2 其他功能单元设计
RS 422串口通信单元采用MAX485实现,1路发送5路接收,发送通道用于产生设备自检信号。数据存储单元选用大容量、掉电不丢失的CF卡,并开发支持IDE模式下UDMA传输的主控IP核,由FPGA独立控制。网路控制收发单元采用DM642自带的以太网接口并结合TI提供的TCP/IP协议栈实现。
3 多线程机制设计
3.1 DSP/BIOS提供的多线程机制
DSP/BIOS支持的线程按优先级从高到低可以分为硬件中断HWI、软件中断SWI、任务TSK和后台线程IDL。HWI就是ISR,优先级最高,适合200 kHz触发的任务;SWI适合100 ms或者更大周期的触发任务;Task不同SWI之处在于它在执行过程中能被挂起直到必需资源有效,任务之间可以通过queue,semaphore,mailbox进行信息共享;其他线程不运行时才运行IDL;HWI和SWI不能挂起和等待。
3.2 功能划分及任务规划
为了优化CPU资源,实现各功能的协调运作,需要合理划分功能、规划任务。本设计中构建了2个硬件中断线程HWI、一个周期触发线程PRD以及网络配置任务线程和网络传输任务线程共5个线程。各线程运行调度状态如图2所示。
3.2.1 硬件中断线程
硬件中断线程主要用来处理响应时间要求严格的请求,同时它的优先级最高,能抢占当前运行的其他线程及时运行。方案中的RS 422通信共5个接收通道,波特率高达614.4 Kb/s,且每个通道的缓冲FIFO只设计了256 B,连续通信时半满触发的时间为2 ms左右。因此,采用HWI处理RS 422通信数据,5个通道共用一个DSP中断源。另外,设计要求被测28 V信号作为AD采集的开关,即28 V有效时启动采集,28 V无效就得中断当前采集任务。因此,通过比较电路将28 V转换为控制信号触发DSP中断。
DSP/BIOS DM642 多线程 NDK 数据采集 相关文章:
- 基于DSP/BIOS的数字电视传输流网络采集系统设计(04-12)
- 基于TMS320C6000 DSP及DSP/BIOS系统的Flash引导自启动设计(03-25)
- 基于TMS320DM642的农药喷洒系统(04-22)
- 基于DSP的视频采集驱动程序的实现(07-21)
- DSP并行处理在剖面声纳系统(06-07)
- 基于TMS320DM642的CCD图像采集系统设计(11-14)