《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于USB總線和Aduc831單片機的數據采集系統的設計
基于USB總線和Aduc831單片機的數據采集系統的設計
摘要: 由于信息網絡化的發展,經常需要將各種設備與主機相連,傳統的外設與主機的通訊接口一般是基于PCI總線、ISA總線或者是RS-232C串行總線。 PCI總線雖具有高的傳輸速度(132Mbps)С即插即用"功能,但其缺點是插拔麻煩,且擴展槽有限(一般為5~6個)。ISA總線顯然存在著同樣的問題。RS-232C串行總線雖然連接簡單,但其缺點是傳輸速度慢(56kbps). 而通用串行總線(Universal Serial Bus,簡稱USB)的出現能很好地解決以上這些沖突。我們利用新型高性能單片機Aduc831設
Abstract:
Key words :

  由于信息網絡化的發展,經常需要將各種設備與主機相連,傳統的外設與主機的通訊接口一般是基于PCI總線、ISA總線或者是RS-232C串行總線。 PCI總線雖具有高的傳輸速度(132Mbps)С即插即用"功能,但其缺點是插拔麻煩,且擴展槽有限(一般為5~6個)。ISA總線顯然存在著同樣的問題。RS-232C串行總線雖然連接簡單,但其缺點是傳輸速度慢(56kbps). 而通用串行總線(Universal Serial Bus,簡稱USB)的出現能很好地解決以上這些沖突。我們利用新型高性能單片機Aduc831設計了基于USB總線的數據采集系統。
  
1.USB簡介

1.1USB特點
  
  USB的英文全稱為Universal Serial Bus,它是一種快速、雙向、同步傳輸的廉價的并可以進行熱拔插的串行接口。它的特點主要有:
  
  1)速度快。USB有高速和低速兩種方式,主模式為高速模式,速率為12Mbps,另外為了適應一些不需要很大吞吐量和很高實時性的設備,如鼠標等,USB還提供低速方式,速率為1.5Mb/s。
  2) 設備安裝和配置容易。安裝USB設備不必再打開機箱,加減已
安裝過的設備完全不用關閉計算機。所有USB設備均支持熱插拔,且易于擴展。
  3) 使用靈活。USB共有4種傳輸模式:控制傳輸(control)、同步傳輸(Synchronization)、中斷傳輸(interrupt)、批量傳輸(bulk),以適應不同設備的需要。

1.2 USB總線協議
  
  USB總線屬一種輪訊方式的總線,主機控制端口初始化所有的數據傳輸。
 
  每一總線執行動作最多傳送三個數據包。按照傳輸前制定好的原則,在每次傳送開始時,主機控制器發送一個描述傳輸運作的種類、方向,USB設備地址和終端號的USB數據包,這個數據包通常稱為標志包(token packet)。USB設備從解碼后的數據包的適當位置取出屬于自己的數據。數據傳輸方向不是從主機到設備就是從設備到主機。在傳輸開始時,由標志包來標志數據的傳輸方向,然后發送端開始發送包含信息的數據包或表明沒有數據傳送。接收端也要相應發送一個握手的數據包表明是否傳送成功。發送端和接收端之間的 USB數據傳輸,在主機和設備的端口之間,可視為一個通道。存在兩種類型的通道:流和消息。流的數據不像消息的數據,它沒有USB所定義的結構,而且通道與數據帶寬、傳送服務類型,端口特性(如方向和緩沖區大小)有關。多數通道在USB設備設置完成后即存在。USB中有一個特殊的通道——缺省控制通道,它屬于消息通道,當設備一啟動即存在,從而為設備的設置、查詢狀況和輸入控制信息提供一個入口。

2. 硬件設計

2.1 Aduc831簡介

  ADuC831 是一個完全綜合的247 k采樣保持數據采集系統,在同一片中 結合了高性能的自校準12位 ADC 多路通道,雙12位 DAC通道和可編程8位 MCU。微處理器核心是 8052,提供片內 62 kB 非易失性閃速/電擦除程序存儲器。還提供片內 4 kB 非易失性閃速/電擦除數據存儲器、256 b RAM 和2 kB 擴展 RAM。

  ADuC831 還提供額外的電源監視器, 和一個高精度參考源。片內數字外圍設備包括2個16位Σ-Δ DAC, 雙輸出16位 PWM,看門狗定時器, 定時間隔計數器,3個定時器/計數器, 定時器 3用于波特率產生核 串行接口 I/O (I2C, SPI 和UART) 。

  并且片內提供串行下載和調試模式 (通過 UART), 并且通過EA引腳提供單引腳競爭模式。ADuC831 支持 QuickStart 和 QuickStart Plus 升級系統和低成本的軟件和硬件工具。

2.2 USBN9603簡介

  USBN9603是一個集成的USB端點控制器,具有增強的DMA功能。USBN9603集成了一個帶有3.3V的調節器的收發器,1個SIE(串行接口引擎),1個8 b并行接口,1個時鐘發生器和1個MICROWIRE/PLUS接口。USBN9603可以進行7個端點的數據傳輸,除了1個端點必須為控制傳輸端點以外,其他的6個端點可以被配置成中斷傳輸端點、批量傳輸端點或者等時傳輸端點;每一個端點都有一個專門的FIFO,控制端點的FIFO長度為8B,其他的為64B。8 b并行接口可以支持多路復用或者非多路復用2種與CPU的接口方式。USBN9603的突出特點為:低EMI(電磁干擾),低等待電流,24M晶振,增強的DMA功能;可使用5V或3.3V電源;總線操作具有異步喚醒的全速靜態HALT模式;改進的3.3V電壓輸入的電壓調節器,所有非雙向端點都有64B 的FIFO;外部控制器接口簡單,編程方便。

2.3 原理圖設計

  USB數據采集系統硬件模塊主要由Aduc831芯片、USB接口芯片USBN9603組成。硬件結構簡單,硬件總體結構框圖如圖1所示.

  模擬輸入信號A/D轉換器,轉換結果存儲在FIFO存儲器中;一旦FIFO存滿,SIE立刻對數據進行處理,然后Aduc831系統將數據從FIFO存儲器中讀出,由收發器通過數據線(D+、D-)送至主機。

  當USB控制器從USB總線檢測到主機啟動的某一傳輸請求后,通過中斷方式將此請求通知Aduc831系統,Aduc831系統通過訪問USB控制器的狀態寄存器和數據寄存器獲得與此次傳輸有關的各種參數,并根據具體的傳輸參數,對USB控制器的控制寄存器和數據寄存器進行相應的操作,以完成主機的傳輸請求。Aduc831與USBN9603接口電路如圖2所示。

3. 系統軟件設計

  系統軟件主要包括:控制程序和USB設備驅動程序。

3.1 控制程序

  控制程序就是指在Aduc831中運行的程序,對USB控制器的操作是嚴格按照USB協議1.1進行的。在實際開發中使用了控制傳輸和塊傳輸兩種傳輸方式。控制傳輸主要用來完成主機對設備的各種控制操作,也就是用來實現位于主機上的USB總線驅動程序 (USBD.SYS)以及編寫的功能驅動程序對設備的各種控制操作。塊傳輸主要用來完成主機和設備間的大批量數據傳輸以及對傳輸數據進行錯誤檢測(若發生錯誤,它支持“重傳”功能)。

  控制程序主要功能有控制A/D采樣, 控制USBN9603接受并處理USB驅動程序的請求及應用程序的控制指令。因為Aduc831帶有串口下載功能,所以可以很方便的通過串口將程序下載到Aduc831中,不用仿真機,不用傳統的方法向EEPROM中燒制程序,所以調試起來非常方便。控制程序流程、中斷處理程序如圖3、4所示。

3.2 USB設備驅動程序設計

  USB設備驅動程序基于WDM。WDM

  型驅動程序是內核程序,與標準的Win32用戶態程序不同。采用了分層處理的方法, 較高級的USB設備驅動程序和較低級的USB函數層。其中USB函數層由兩部分組成:較高級的通用串行總線模塊(USBD)和較低級的主控制器驅動程序模塊(HCD)。USB設備驅動程序不必具體對硬件編程,所有的USB命令、讀寫操作通過總線驅動程序轉給USB設備。但是,USB設備驅動程序必須定義與外部設備的通訊接口和通訊的數據格式,也必須定義與應用程序的接口。Windows 98/2000提供了一系列的系統驅動程序,他們具有為許多標準類型設備服務所需的所有基本功能,用戶按照提示可以定義設備的配置和功能,然后做功能的修改即可。可以把USB設備驅動程序的功能劃分成4個不同的模塊來實現:初始化模塊、即插即用管理模塊、電源管理模塊以及I/O功能實現模塊。初始化模塊提供1個入口函數DriverEntry(),在DriverEntry中,需要提供一個AddDevice例程,把驅動程序添加到驅動程序堆棧中去。另外,所有對各種IRP(I/O請求包)的處理例程都在此入口函數中作為定義。
DriverEntry(IN PDRIVER_OBJECT DriverObject,…) //驅動程序入口
{
DriverObject->DriverExtension->AddDevice=USBAddDevice;
DriverObject->DriverUnload=USBUnload;
DriverObject->MajorFunction[IRP_MJ_READ]=USBRead;
DriverObject->MajorFunction[IRP_MJ_WRITE]=USBWrite;
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = USBDeviceControl;
RegisterForPnpNotification(DriverObject);
return status;
}
功能。

  電源管理模塊負責設備的掛起與喚醒。

  I/O功能實現模塊完成I/O請求的大部分工作。若應用程序想對設備進行I/O操作,它便使用Windows API函數,對WIN32子系統進行WIN32調用。此調用由I/O系統服務接收并通知I/O管理器,I/O管理將此請求構造成一個合適的I/O請求包(IRP)并把它傳遞給USB設備驅動程序。USB設備驅動程序接收到這個IRP以后,根據IRP中包含的具體操作代碼,構造相應的USB請求塊并把此 URB(USB請求塊)放到一個新的IRP中。然后,把此IRP傳遞到USB總線驅動程序,USB總線驅動程序根據IRP中所含的URB執行相應的操作(如從USB設備讀取數據等),并把操作結構通過IRP返還給USB設備驅動程序。USB設備驅動程序接收到此IRP后,將操作結果通過IRP返還給 I/O管理器。最后,I/O管理器將此IRP中操作結果返還給應用程序,至此應用程序對USB設備的一次I/O操作完成。

結束語:

  USB為計算機外設輸入輸出提供了新的接口標準。它使設備具有熱插拔,即插即用,自動配置的能力,并標準化設備連接, 還可與MAX
485結合起來實現數據的遠程采集。該系統具有可靠性高、性價比高和多點采集等優點。而USB2.0標準具有更高的傳輸速率,更具有美好的應用前景。

參考文獻:

1. Aduc831 datasheet.Analog device.
2. USB1.1.Universal serial bus specification S.
3. 張念淮、江浩.《USB總線接口開發指南》 國防工業出版社.

  即插即用管理模塊用來實現USB設備的熱插拔及動態配置。當硬件檢測到有USB設備接入時,Windows98查找響應的驅動程序,并調用它的 DriverEntry例程。PnP(即插即用)管理器調用驅動程序的AddDevice例程,告訴它添加了一個設備。在此處理過程中,驅動程序收到一個設備啟動請求(IRP_MN_START_DEVICE)的IRP。同理,當要拔除時,PnP管理器會發出一個設備刪除請求(IRP_MN_REMOVE_DEVICE)的IRP,由驅動程序進行處理。通過對這些PnP請求的處理,可支持設備的熱插拔和即插即用

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
性做久久久久久久久| 欧美成人午夜激情视频| 亚洲国内精品在线| 欧美亚洲一区在线| 亚洲一区二区精品视频| 一区二区三区国产精华| 亚洲伦理精品| 亚洲精品久久| 亚洲精品久久久蜜桃| 亚洲激情成人在线| 狠狠v欧美v日韩v亚洲ⅴ| 国产在线精品一区二区夜色| 国产日韩欧美在线看| 国产欧美日韩激情| 国产精品一区一区| 国产老女人精品毛片久久| 国产精品免费网站在线观看| 国产精品久久久久久久久久三级| 欧美日韩一区二区免费在线观看| 欧美日韩亚洲高清| 欧美三级精品| 欧美午夜在线| 国产乱码精品| 国产一区二区中文| 精品成人一区二区三区| 亚洲盗摄视频| 亚洲日本在线视频观看| 一本色道久久99精品综合| 在线一区亚洲| 亚洲女同同性videoxma| 欧美一区二区啪啪| 亚洲国产1区| 亚洲精品黄网在线观看| 一区二区三区视频在线播放| 亚洲视频在线观看| 亚洲欧美日韩在线综合| 久久精品国产96久久久香蕉| 久久久水蜜桃| 久久亚洲捆绑美女| 欧美精品国产精品日韩精品| 欧美色大人视频| 国产乱码精品一区二区三区不卡| 国产日韩欧美精品| 激情综合激情| 亚洲精品欧美日韩| 亚洲一区欧美二区| 久久黄金**| 99这里只有精品| 午夜一区不卡| 裸体一区二区| 欧美三区美女| 黄色一区二区三区| 99国产精品久久| 欧美一级免费视频| 亚洲九九九在线观看| 亚洲欧美精品一区| 久久久久五月天| 欧美激情欧美狂野欧美精品 | 一色屋精品视频免费看| 亚洲免费观看视频| 欧美在线视频二区| 一本久道综合久久精品| 久久精品成人| 欧美日韩午夜激情| 精品成人久久| 亚洲男女自偷自拍图片另类| 亚洲精品在线视频| 欧美一进一出视频| 欧美国产免费| 国产午夜精品视频免费不卡69堂| 亚洲国产成人在线| 亚洲欧美一区二区三区在线| 日韩视频三区| 久久嫩草精品久久久精品| 欧美视频一区二区| 在线精品视频在线观看高清| 亚洲一区久久久| 一本色道久久综合狠狠躁篇的优点| 欧美一级二区| 欧美精品在线网站| 韩国美女久久| 亚洲欧美一级二级三级| 在线一区二区日韩| 美国成人毛片| 国产欧美视频一区二区| 99热这里只有精品8| 亚洲欧洲日韩在线| 欧美一区二区三区在线看| 欧美日本在线观看| 精品成人一区| 欧美一区二区日韩| 亚洲综合视频1区| 欧美精品亚洲二区| 亚洲成人在线| 久久成人综合视频| 西西人体一区二区| 欧美午夜不卡影院在线观看完整版免费| 经典三级久久| 欧美一区二区日韩| 久久av一区| 国产精品久久影院| 一本大道久久a久久综合婷婷| 亚洲激情精品| 久久一区二区三区四区| 国产亚洲欧美日韩在线一区| 亚洲欧美福利一区二区| 亚洲综合电影| 欧美日韩一区高清| 亚洲精品国产精品国自产观看浪潮 | 蜜臀av一级做a爰片久久| 国产亚洲精品一区二555| 亚洲一区二区视频| 亚洲综合社区| 国产精品第13页| 一区二区三区国产在线观看| 在线综合视频| 欧美日韩一区二区三区免费看| 亚洲精品综合精品自拍| av成人手机在线| 欧美精品一区在线播放| 亚洲国产婷婷综合在线精品| 亚洲黄色在线视频| 欧美成人久久| 亚洲国产欧美一区| 日韩视频免费观看高清完整版| 欧美连裤袜在线视频| 91久久精品www人人做人人爽| 亚洲精品在线一区二区| 欧美精品免费视频| 亚洲美女网站| 亚洲午夜在线| 国产精品免费视频观看| 欧美一级艳片视频免费观看| 久久久女女女女999久久| 在线看欧美视频| 亚洲乱码日产精品bd| 欧美久久久久久| 一本色道久久综合亚洲精品婷婷 | 国产精品福利网| 亚洲影院一区| 久久久www| 在线日韩一区二区| 亚洲美女中出| 欧美日韩亚洲高清| 亚洲在线免费观看| 久久精品卡一| 在线观看一区| 一区二区日韩欧美| 国产精品剧情在线亚洲| 欧美一级午夜免费电影| 麻豆成人在线播放| 日韩午夜在线观看视频| 亚洲欧美国产高清va在线播| 国产美女诱惑一区二区| 久久福利一区| 欧美精品一区二区视频| 中日韩视频在线观看| 久久xxxx精品视频| 伊人色综合久久天天五月婷| 99精品视频免费观看| 国产精品青草久久| 久久国产一区二区三区| 欧美精品在线观看| 亚洲男人影院| 欧美成人一品| 在线亚洲欧美视频| 久久久国产成人精品| 亚洲日韩成人| 性做久久久久久久久| 亚洲电影免费在线观看| 亚洲欧美成aⅴ人在线观看| 国产综合激情| 正在播放欧美视频| 国产日韩欧美精品| 夜色激情一区二区| 国产日韩一区二区三区在线播放| 亚洲人成网站999久久久综合| 国产精品户外野外| 久久激情视频| 国产精品不卡在线| 亚洲黄色影片| 国产欧美91| 亚洲精品网址在线观看| 国产一级揄自揄精品视频| 一本久久青青| 国语自产精品视频在线看一大j8 | 午夜精品成人在线| 在线不卡欧美| 午夜精品久久久久久久久久久久久| 一区视频在线播放| 午夜亚洲性色福利视频| 亚洲精品美女在线观看| 久久久久国产精品www| 艳女tv在线观看国产一区| 久久躁狠狠躁夜夜爽| 一区二区三区视频在线播放| 欧美77777| 欧美一区二区三区免费大片| 欧美日韩一区二区三区四区在线观看 | 欧美xx视频|