一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于MAX125芯片和串行總線實現(xiàn)同步數(shù)據(jù)采集系統(tǒng)的設(shè)計

電子設(shè)計 ? 來源:半導(dǎo)體技術(shù) ? 作者:趙莉,白智濤,王 ? 2020-06-30 07:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 引言

通用串行總線(USB,Universal Serial Bus)是現(xiàn)代PC數(shù)據(jù)傳輸?shù)陌l(fā)展趨勢,PC的所有外設(shè),包括鍵盤、鼠標、顯示器、打印機、錄音機、數(shù)字音響、電視機頂盒、數(shù)碼相機、掃描儀、MODEM及各種多媒體音頻、視頻設(shè)備均可通過USB接口接入PC。USB總線同步數(shù)據(jù)采集系統(tǒng)即為這種總線接入系統(tǒng)。

2. 硬件方案

本系統(tǒng)采用MAXIAM公司的MAX125四路12位同步采集芯片,只需一個啟動信號即可實現(xiàn)同步采集、數(shù)據(jù)轉(zhuǎn)換,完成后給出一個轉(zhuǎn)換完成信號,可從端口依次讀取A/D轉(zhuǎn)換數(shù)據(jù),送入單片機處理;USB接口芯片采用PHILIPS 公司的PDIUSBD12,此芯片單片集成SIE、FIFO存儲器、收發(fā)器及電壓變換器,并嚴格遵從USB1.1協(xié)議,PHILIPS SIE完成USB協(xié)議層,并且完全高速硬連接,無須任何軟件干預(yù)。此模塊功能包括:同步模式識別,并/串轉(zhuǎn)換,位填充/解填充,CRC檢驗/產(chǎn)生,PID 確認/產(chǎn)生,地址識別,握手響應(yīng)/產(chǎn)生;類似于控制其它接口芯片(如并口芯片)一樣控制此接口芯片,單片機將A/D轉(zhuǎn)換結(jié)果送至PIDUSBD12, PIDUSBD12將自動完成通過USB接口傳輸數(shù)據(jù)至PC的功能(按USB1.1協(xié)議),

具體實現(xiàn)電路如圖1:

基于MAX125芯片和串行總線實現(xiàn)同步數(shù)據(jù)采集系統(tǒng)的設(shè)計

3. 軟件接口程序

雖然Win95 OSR2.1 支持USB,但微軟推薦在win98或win2000上使用USB。軟件部分由WDM驅(qū)動程序和應(yīng)用程序組成。對于USB客戶驅(qū)動程序,主要是與 USBDI打交道,下面的代碼完成了對于IRP_MJ_READ和IRP_MJ_WRITE的響應(yīng)。

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

// 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;

// 得到參數(shù)

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;

// 得到參數(shù)

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

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

if( FilePointer0 || WriteLen1)

status = STATUS_INVALID_PARAMETER;

else

{

// 僅寫一個字節(jié)

BytesTxd = 1;

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

UsbSendOutputReport( dx, *pData);

}

// 完成 IRP

CompleteIrp(Irp,status,BytesTxd);

UnlockDevice(dx);

return status;

}

應(yīng)用程序采用標準的文件操作方法。使用CreateFile API打開文件。使用WriteFile API發(fā)出開始命令,啟動ADC,使用ReadFile讀回采樣值。

4. 結(jié)束語

USB數(shù)據(jù)采集系統(tǒng)設(shè)計上嚴格遵循USB1.1協(xié)議,實現(xiàn)了USB的即插即用特性,可熱插拔,使用便捷;擴展能力強,可擴展多達127個外設(shè),總帶寬達12Mbs;實現(xiàn)容易,為特殊設(shè)計PC提供了一種簡便易行的外設(shè)擴展方案。

責任編輯:gt


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關(guān)注

    關(guān)注

    460

    文章

    52520

    瀏覽量

    441010
  • 數(shù)據(jù)采集
    +關(guān)注

    關(guān)注

    40

    文章

    7187

    瀏覽量

    116519
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2960

    瀏覽量

    89771
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    基于USB總線的高速數(shù)據(jù)采集系統(tǒng)

    基于USB總線的高速數(shù)據(jù)采集系統(tǒng)介紹了一種基于USB總線的高速數(shù)據(jù)采集系統(tǒng),討論了USB控制器E
    發(fā)表于 04-11 17:20

    基于USB數(shù)據(jù)采集系統(tǒng)的研究與設(shè)計--ResearchandDesignofDataAequisitio

    傳統(tǒng)總線不足之處,在此基礎(chǔ)上研究了基于USB的數(shù)據(jù)采集系統(tǒng),根據(jù)系統(tǒng)應(yīng)該達到的技術(shù)指標,從而確定系統(tǒng)的整體框架和各個部分
    發(fā)表于 06-10 00:57

    請問MAX125與DSP相連的所有信號線的電平都需要轉(zhuǎn)換還是僅僅限于數(shù)據(jù)地址線?

    max125(AD轉(zhuǎn)換芯片)和DSPF28335相連接做一個數(shù)據(jù)采集系統(tǒng),但兩者電平不匹配。所以中間接一個電平轉(zhuǎn)換芯片。但是有個疑問:是不
    發(fā)表于 04-04 06:36

    基于USB總線的高速數(shù)據(jù)采集系統(tǒng)

    基于PCI總線數(shù)據(jù)采集系統(tǒng)的進一步開發(fā)和應(yīng)用,因此迫切需要設(shè)計一種更為簡便通用的高速數(shù)據(jù)采集通信系統(tǒng)來完成
    發(fā)表于 05-07 09:40

    基于MAX125芯片串行總線實現(xiàn)同步數(shù)據(jù)采集系統(tǒng)的設(shè)計方案

    基于MAX125芯片串行總線實現(xiàn)同步數(shù)據(jù)采集
    發(fā)表于 01-04 06:17

    怎么實現(xiàn)串行閃存小體積的數(shù)據(jù)采集系統(tǒng)設(shè)計?

    本文介紹了一種基于AD、CPLD、串行閃存來實現(xiàn)的小體積的數(shù)據(jù)采集系統(tǒng)。與其他數(shù)據(jù)采集系統(tǒng)相比,
    發(fā)表于 04-07 06:48

    MAX125型模數(shù)轉(zhuǎn)換器在電能質(zhì)量監(jiān)控系統(tǒng)中有什么用?

    電力系統(tǒng)電能質(zhì)量監(jiān)控的實時性要求較高,不僅含有頻率、電壓、電流、有功、無功、諧波分量、序分量等,而且有些采集的特征量頻率變化快而且復(fù)雜,如暫態(tài)突變量、高頻的故障行波等,普通的采集處理方法對多路進行采樣計算顯得困難甚至難以
    發(fā)表于 04-14 06:35

    請問怎樣去設(shè)計MAX125型轉(zhuǎn)換器?

    MAX125的特性是什么?MAX125的工作原理是什么?怎樣去設(shè)計采集系統(tǒng)?
    發(fā)表于 04-21 06:36

    基于PCI總線的高速數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn)

    基于PCI總線的高速數(shù)據(jù)采集系統(tǒng)設(shè)計與實現(xiàn):本文介紹一種基于PCI總線的高速數(shù)據(jù)采集
    發(fā)表于 06-22 19:04 ?55次下載

    MAX125在電能質(zhì)量監(jiān)控系統(tǒng)中的應(yīng)用

    MAX125在電能質(zhì)量監(jiān)控系統(tǒng)中的應(yīng)用 電路系統(tǒng)電能質(zhì)量監(jiān)控的實時性要求較高,不僅含有頻率、電壓、電流、有功、無功、諧波分量、序分量等,而且有些采集的特
    發(fā)表于 05-17 11:02 ?37次下載

    基于USB總線數(shù)據(jù)采集設(shè)備的設(shè)計與實現(xiàn)

    基于USB總線數(shù)據(jù)采集設(shè)備的設(shè)計與實現(xiàn) 摘要:通用串行總線(USB)作為一種嶄新的微機總線接口規(guī)范,其特點使其非常適合作為主機和醫(yī)學儀
    發(fā)表于 03-03 19:24 ?889次閱讀
    基于USB<b class='flag-5'>總線</b>的<b class='flag-5'>數(shù)據(jù)采集</b>設(shè)備的設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    CompactPCI總線實現(xiàn)并行數(shù)據(jù)采集系統(tǒng)

    針對產(chǎn)業(yè)控制系統(tǒng)的要求,先容了一種基于Compact PCI總線數(shù)據(jù)采集系統(tǒng) ,可以實現(xiàn)對模擬信號、
    發(fā)表于 09-08 12:15 ?2672次閱讀
    CompactPCI<b class='flag-5'>總線</b><b class='flag-5'>實現(xiàn)</b>并行<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>

    MAX125與DSP在電力系統(tǒng)參數(shù)采集中的應(yīng)用

    介紹了基于TI 公司T MS320VC5416 DSP 和14 bit A/ D 芯片MAX125 在電力系統(tǒng)參數(shù)采集系統(tǒng)中二者的接口設(shè)計,
    發(fā)表于 09-16 11:24 ?48次下載
    <b class='flag-5'>MAX125</b>與DSP在電力<b class='flag-5'>系統(tǒng)</b>參數(shù)<b class='flag-5'>采集</b>中的應(yīng)用

    MAX125模/數(shù)轉(zhuǎn)換器應(yīng)用到電能質(zhì)量監(jiān)控系統(tǒng)設(shè)計中

    圖2為MAX125的工作時序,每個CONVST脈沖啟動1-4個T/H轉(zhuǎn)換,MAX125初始化后,設(shè)置工作模式為0X0002,系統(tǒng)利用2個MAX125的CH1A、CH2A、CH3A通道分
    的頭像 發(fā)表于 10-16 09:47 ?3103次閱讀
    將<b class='flag-5'>MAX125</b>模/數(shù)轉(zhuǎn)換器應(yīng)用到電能質(zhì)量監(jiān)控<b class='flag-5'>系統(tǒng)</b>設(shè)計中

    采用MAX125同步采集芯片實現(xiàn)USB數(shù)據(jù)采集系統(tǒng)的設(shè)計

    PC的所有外設(shè),包括鍵盤、鼠標、顯示器、打印機、錄音機、數(shù)字音響、電視機頂盒、數(shù)碼相機、掃描儀、MODEM及各種多媒體音頻、視頻設(shè)備均可通過USB接口接入PC。USB總線同步數(shù)據(jù)采集系統(tǒng)
    發(fā)表于 04-12 09:56 ?1492次閱讀
    采用<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'>實現(xiàn)</b>USB<b class='flag-5'>數(shù)據(jù)采集</b><b class='flag-5'>系統(tǒng)</b>的設(shè)計