新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ARM的高速数据采集卡

基于ARM的高速数据采集卡

作者: 时间:2012-04-17 来源:网络 收藏

在手动采集方式下,TRIENO为低电平,TRIEN1高电平,当缓存器为空即FWr_FUL为高电平,通过LabVIEW制作的界面控制QSTART为高电平时,FWr_EN被拉高进行。当缓存器满时FWr_FUL被拉低,停止采集数据。

在输入信号触发方式下,TRIEN0和QSTART为低电平,当缓存器为空即FWr_FUL为高电平,输入信号电压高于比较器的参考电压时, TOUT被拉高,FWr_EN被拉高进行。当缓存器满时FWr_FUL被拉低,停止采集数据。拉高TRIEN1后读取缓存数据。

采集周期信号和输入信号触发方式相似,只是保持TRIEN1为高电平。在读取缓存数据时.触发信号到来后采集数据。

4 卡的软件设计

4.1 μC/OS-II的USB驱动编程

μC/OS-II提供了多任务实时操作系统的内核。在应用该操作系统时,通常需要用户自己编写μC/OS-II的外围器件驱动程序,以使外围器件能在操作系统的协调下更好地为用户服务。为了使软件可移植性强、易维护,笔者在编写LPC2142 USB固件时综合考虑USB协议、LPC2142 USB硬件条件,把驱动程序分为5层,如图3所示。图中的双向线表示用户软件与USB固件之间存在着数据交换,单向线表示上层软件对下层软件的调用,这样使得固件结构分明。

54.jpg

拥有了USB驱动程序,用户可在此平台上完成用户软件所要实现的任务,如图4所示。单向线表示主任务对读写任务的控制。主任务通过信号量控制读/写任务的运行状态,从而实现对FIFO缓存器的读和写;双向线表示各个模块之间存在着数据交换。为了加快大量数据的收发,本程序把LPC2142USB的逻辑端点1作为控制命令的传输通道,把端点2作为数据的传输通道。

55.jpg



评论


相关推荐

技术专区

关闭