0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于MAX125芯片和串行总线实现同步数据采集系统的设计

电子设计 来源:半导体技术 作者:赵莉,白智涛,王 2020-06-30 07:57 次阅读

1. 引言

通用串行总线(USB,Universal Serial Bus)是现代PC数据传输的发展趋势,PC的所有外设,包括键盘、鼠标、显示器、打印机、录音机、数字音响、电视机顶盒、数码相机、扫描仪、MODEM及各种多媒体音频视频设备均可通过USB接口接入PC。USB总线同步数据采集系统即为这种总线接入系统。

2. 硬件方案

本系统采用MAXIAM公司的MAX125四路12位同步采集芯片,只需一个启动信号即可实现同步采集、数据转换,完成后给出一个转换完成信号,可从端口依次读取A/D转换数据,送入单片机处理;USB接口芯片采用PHILIPS 公司的PDIUSBD12,此芯片单片集成SIE、FIFO存储器、收发器及电压变换器,并严格遵从USB1.1协议,PHILIPS SIE完成USB协议层,并且完全高速硬连接,无须任何软件干预。此模块功能包括:同步模式识别,并/串转换,位填充/解填充,CRC检验/产生,PID 确认/产生,地址识别,握手响应/产生;类似于控制其它接口芯片(如并口芯片)一样控制此接口芯片,单片机将A/D转换结果送至PIDUSBD12, PIDUSBD12将自动完成通过USB接口传输数据至PC的功能(按USB1.1协议),

具体实现电路如图1:

基于MAX125芯片和串行总线实现同步数据采集系统的设计

3. 软件接口程序

虽然Win95 OSR2.1 支持USB,但微软推荐在win98或win2000上使用USB。软件部分由WDM驱动程序和应用程序组成。对于USB客户驱动程序,主要是与 USBDI打交道,下面的代码完成了对于IRP_MJ_READ和IRP_MJ_WRITE的响应。

/////////////////////////////////////////////////////////////////////////////

// UsbgatherRead:

//

// Description:

// Handle IRP_MJ_READ requests

//

// Arguments:

// Pointer to our FDO

// Pointer to the IRP

// IrpStack-》Parameters.Read.xxx has read parameters

// User buffer at: AssociatedIrp.SystemBuffer (buffered I/O)

// MdlAddress (direct I/O)

//

// Return Value:

// This function returns STATUS_XXX

NTSTATUS UsbgatherRead( IN PDEVICE_OBJECT fdo,

IN PIRP Irp)

{

PUSBgather_DEVICE_EXTENSION dx = (PUSBgather_DEVICE_EXTENSION)fdo-》DeviceExtension;

if( dx-》IODisabled)

return CompleteIrp( Irp, STATUS_DEVICE_NOT_CONNECTED, 0);

if (!LockDevice(dx))

return CompleteIrp( Irp, STATUS_DELETE_PENDING, 0);

PIO_STACK_LOCATION IrpStack = IoGetCurrentIrpStackLocation(Irp);

NTSTATUS status = STATUS_SUCCESS;

ULONG BytesTxd = 0;

// 得到参数

LONGLONG FilePointer = IrpStack-》Parameters.Read.ByteOffset.QuadPart;

ULONG ReadLen = IrpStack-》Parameters.Read.Length;

// 检查文件指针

if( FilePointer0)

status = STATUS_INVALID_PARAMETER;

else

{

status = UsbDoInterruptTransfer( dx, Irp-》AssociatedIrp.SystemBuffer, ReadLen);

BytesTxd = ReadLen;

}

// 完成 IRP

CompleteIrp(Irp,status,BytesTxd);

UnlockDevice(dx);

return status;

}

/////////////////////////////////////////////////////////////////////////////

// UsbgatherWrite:

//

// Description:

// Handle IRP_MJ_WRITE requests

//

// Arguments:

// Pointer to our FDO

// Pointer to the IRP

// IrpStack-》Parameters.Write.xxx has write parameters

// User buffer at: AssociatedIrp.SystemBuffer (buffered I/O)

// MdlAddress (direct I/O)

//

// Return Value:

// This function returns STATUS_XXX

NTSTATUS UsbgatherWrite( IN PDEVICE_OBJECT fdo,

IN PIRP Irp)

{

PUSBgather_DEVICE_EXTENSION dx = (PUSBgather_DEVICE_EXTENSION)fdo-》DeviceExtension;

if( dx-》IODisabled)

return CompleteIrp( Irp, STATUS_DEVICE_NOT_CONNECTED, 0);

if (!LockDevice(dx))

return CompleteIrp( Irp, STATUS_DELETE_PENDING, 0);

PIO_STACK_LOCATION IrpStack = IoGetCurrentIrpStackLocation(Irp);

NTSTATUS status = STATUS_SUCCESS;

ULONG BytesTxd = 0;

// 得到参数

LONGLONG FilePointer = IrpStack-》Parameters.Write.ByteOffset.QuadPart;

ULONG WriteLen = IrpStack-》Parameters.Write.Length;

if( FilePointer0 || WriteLen1)

status = STATUS_INVALID_PARAMETER;

else

{

// 仅写一个字节

BytesTxd = 1;

PUCHAR pData = (PUCHAR)Irp-》AssociatedIrp.SystemBuffer;

UsbSendOutputReport( dx, *pData);

}

// 完成 IRP

CompleteIrp(Irp,status,BytesTxd);

UnlockDevice(dx);

return status;

}

应用程序采用标准的文件操作方法。使用CreateFile API打开文件。使用WriteFile API发出开始命令,启动ADC,使用ReadFile读回采样值。

4. 结束语

USB数据采集系统设计上严格遵循USB1.1协议,实现了USB的即插即用特性,可热插拔,使用便捷;扩展能力强,可扩展多达127个外设,总带宽达12Mbs;实现容易,为特殊设计PC提供了一种简便易行的外设扩展方案。

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    454

    文章

    50444

    浏览量

    421934
  • 数据采集
    +关注

    关注

    38

    文章

    5916

    浏览量

    113535
  • 总线
    +关注

    关注

    10

    文章

    2869

    浏览量

    87995
收藏 人收藏

    评论

    相关推荐

    基于USB总线的高速数据采集系统

    基于USB总线的高速数据采集系统介绍了一种基于USB总线的高速数据采集系统,讨论了USB控制器E
    发表于 04-11 17:20

    基于USB数据采集系统的研究与设计--ResearchandDesignofDataAequisitio

    传统总线不足之处,在此基础上研究了基于USB的数据采集系统,根据系统应该达到的技术指标,从而确定系统的整体框架和各个部分
    发表于 06-10 00:57

    请问MAX125与DSP相连的所有信号线的电平都需要转换还是仅仅限于数据地址线?

    max125(AD转换芯片)和DSPF28335相连接做一个数据采集系统,但两者电平不匹配。所以中间接一个电平转换芯片。但是有个疑问:是不
    发表于 04-04 06:36

    基于MAX125芯片串行总线实现同步数据采集系统的设计方案

    基于MAX125芯片串行总线实现同步数据采集
    发表于 01-04 06:17

    怎么实现串行闪存小体积的数据采集系统设计?

    本文介绍了一种基于AD、CPLD、串行闪存来实现的小体积的数据采集系统。与其他数据采集系统相比,
    发表于 04-07 06:48

    MAX125型模数转换器在电能质量监控系统中有什么用?

    电力系统电能质量监控的实时性要求较高,不仅含有频率、电压、电流、有功、无功、谐波分量、序分量等,而且有些采集的特征量频率变化快而且复杂,如暂态突变量、高频的故障行波等,普通的采集处理方法对多路进行采样计算显得困难甚至难以
    发表于 04-14 06:35

    请问怎样去设计MAX125型转换器?

    MAX125的特性是什么?MAX125的工作原理是什么?怎样去设计采集系统
    发表于 04-21 06:36

    基于PCI总线的高速数据采集系统设计与实现

    基于PCI总线的高速数据采集系统设计与实现:本文介绍一种基于PCI总线的高速数据采集
    发表于 06-22 19:04 55次下载

    MAX125在电能质量监控系统中的应用

    MAX125在电能质量监控系统中的应用 电路系统电能质量监控的实时性要求较高,不仅含有频率、电压、电流、有功、无功、谐波分量、序分量等,而且有些采集的特
    发表于 05-17 11:02 37次下载

    基于USB总线数据采集设备的设计与实现

    基于USB总线数据采集设备的设计与实现 摘要:通用串行总线(USB)作为一种崭新的微机总线接口规范,其特点使其非常适合作为主机和医学仪
    发表于 03-03 19:24 772次阅读
    基于USB<b class='flag-5'>总线</b>的<b class='flag-5'>数据采集</b>设备的设计与<b class='flag-5'>实现</b>

    CompactPCI总线实现并行数据采集系统

    针对产业控制系统的要求,先容了一种基于Compact PCI总线数据采集系统 ,可以实现对模拟信号、
    发表于 09-08 12:15 2474次阅读
    CompactPCI<b class='flag-5'>总线</b><b class='flag-5'>实现</b>并行<b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>

    MAX125与DSP在电力系统参数采集中的应用

    介绍了基于TI 公司T MS320VC5416 DSP 和14 bit A/ D 芯片MAX125 在电力系统参数采集系统中二者的接口设计,
    发表于 09-16 11:24 48次下载
    <b class='flag-5'>MAX125</b>与DSP在电力<b class='flag-5'>系统</b>参数<b class='flag-5'>采集</b>中的应用

    利用RTSI总线实现运动控制和数据采集之间的同步

    为了提高测量精度,许多测试系统要求在连续运动中实时同步进行数据采集。根据同步工作原理,利用RTSI总线技术和LabWindows/CVl编程实现
    发表于 05-15 11:04 2454次阅读
    利用RTSI<b class='flag-5'>总线</b><b class='flag-5'>实现</b>运动控制和<b class='flag-5'>数据采集</b>之间的<b class='flag-5'>同步</b>

    MAX125模/数转换器应用到电能质量监控系统设计中

    图2为MAX125的工作时序,每个CONVST脉冲启动1-4个T/H转换,MAX125初始化后,设置工作模式为0X0002,系统利用2个MAX125的CH1A、CH2A、CH3A通道分
    的头像 发表于 10-16 09:47 2831次阅读
    将<b class='flag-5'>MAX125</b>模/数转换器应用到电能质量监控<b class='flag-5'>系统</b>设计中

    采用MAX125同步采集芯片实现USB数据采集系统的设计

    PC的所有外设,包括键盘、鼠标、显示器、打印机、录音机、数字音响、电视机顶盒、数码相机、扫描仪、MODEM及各种多媒体音频、视频设备均可通过USB接口接入PC。USB总线同步数据采集系统
    发表于 04-12 09:56 1267次阅读
    采用<b class='flag-5'>MAX125</b><b class='flag-5'>同步</b><b class='flag-5'>采集</b><b class='flag-5'>芯片</b><b class='flag-5'>实现</b>USB<b class='flag-5'>数据采集</b><b class='flag-5'>系统</b>的设计