《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于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亚洲国产精品_日韩亚洲一区二区
久久国产欧美日韩精品| 99精品热视频只有精品10| 一色屋精品亚洲香蕉网站| 国产精品入口尤物| 欧美日韩国产色视频| 欧美精品一级| 欧美另类久久久品| 欧美日韩国产区一| 欧美日韩亚洲一区二区三区在线观看| 欧美成人精品h版在线观看| 久热国产精品| 日韩午夜在线电影| 亚洲精品中文在线| 亚洲国产日韩欧美在线动漫| 香蕉久久夜色精品国产| 国产一区二区中文| 国产欧美日韩精品专区| 国产乱码精品1区2区3区| 国产精品久久毛片a| 国产精品视频午夜| 国产精品免费久久久久久| 国产精品久久一级| 国产欧美精品在线观看| 国产性做久久久久久| 国产一区视频观看| 狠狠色狠狠色综合日日小说| 亚洲综合电影| 亚洲国产精品99久久久久久久久| 亚洲第一主播视频| 亚洲日本va在线观看| 日韩午夜免费视频| 亚洲午夜精品久久久久久浪潮| 亚洲一区二区三区在线视频| 香港久久久电影| 欧美亚洲一区| 久久蜜桃资源一区二区老牛 | 先锋影院在线亚洲| 久久精品亚洲一区| 牛人盗摄一区二区三区视频| 欧美国产丝袜视频| 国产精品啊v在线| 国产日韩精品视频一区二区三区| 激情懂色av一区av二区av| 亚洲国产一区二区在线| 夜色激情一区二区| 欧美一区二区三区免费在线看| 亚洲国产成人tv| 亚洲视频在线观看一区| 欧美影院精品一区| 欧美大尺度在线| 欧美日韩高清区| 国产精品国产三级国产专区53| 国产精品99久久久久久宅男| 亚洲欧美精品一区| 久久激情网站| 一区二区三区www| 亚洲欧美日韩精品久久亚洲区| 欧美在线一二三区| 欧美国产日韩二区| 国产精品亚洲网站| 蜜桃av噜噜一区| 亚洲视频在线视频| 午夜激情综合网| 国产乱肥老妇国产一区二 | 欧美日韩成人综合| 一区二区三区精密机械公司 | 欧美日韩综合另类| 欧美另类99xxxxx| 国产精品一区在线观看你懂的| 亚洲国产精品女人久久久| 免费在线一区二区| 亚洲精品欧美日韩专区| 欧美日韩www| 亚洲精品日韩一| 农村妇女精品| 尤物精品国产第一福利三区| 欧美日韩中文字幕在线| 国产精品福利片| 久久riav二区三区| 免费成人网www| 中文av字幕一区| 亚洲第一页中文字幕| 久久久久在线| 亚洲午夜91| 亚洲精品国产精品乱码不99| 欧美日韩久久久久久| 亚洲一区二区三区四区五区午夜| 亚洲天堂免费在线观看视频| 欧美亚洲不卡| 久久精品国亚洲| 亚洲精品日韩久久| 亚洲女优在线| 一本一道久久综合狠狠老精东影业| 国产精品乱人伦一区二区| 校园春色国产精品| 亚洲欧洲一区二区三区久久| 亚洲国产你懂的| 欧美偷拍一区二区| 欧美激情一区二区三区蜜桃视频| 久久精品视频免费播放| 亚洲人精品午夜| 久久精品视频在线看| 正在播放日韩| 国产一区清纯| 狠狠v欧美v日韩v亚洲ⅴ| 国产精品国内视频| 欧美久久婷婷综合色| 欧美手机在线视频| 激情久久久久久| 亚洲国产精品99久久久久久久久| 亚洲欧洲在线观看| 亚洲欧美日韩另类精品一区二区三区 | 欧美一区二区三区久久精品茉莉花| 狠狠爱成人网| 中文在线不卡视频| 亚洲午夜精品久久久久久浪潮| 欧美—级在线免费片| 精品二区视频| 亚洲成人在线免费| 亚洲国产乱码最新视频| 国内综合精品午夜久久资源| 亚洲精品色婷婷福利天堂| 日韩午夜av电影| 欧美精品日韩一本| 亚洲美女视频在线免费观看| 亚洲最新在线| 欧美日韩免费一区二区三区视频| 亚洲九九精品| 亚洲一区二区三区乱码aⅴ| 国产精品激情| 亚洲尤物视频网| 欧美在线一二三| 欧美日韩一区免费| 欲香欲色天天天综合和网| 亚洲国产日韩欧美| 欧美国产激情二区三区| 亚洲精品韩国| 亚洲午夜精品一区二区| 国产精品久久久久高潮| 亚洲欧美制服中文字幕| 久久激情综合网| 伊人久久亚洲热| 亚洲毛片网站| 欧美视频在线观看一区| 亚洲一区二区三区777| 久久精品国产2020观看福利| 精品999在线播放| 亚洲精品久久嫩草网站秘色| 欧美日本在线看| 亚洲一线二线三线久久久| 久久精品99久久香蕉国产色戒| 国内精品视频久久| 亚洲狼人精品一区二区三区| 欧美小视频在线观看| 午夜免费日韩视频| 久热爱精品视频线路一| 亚洲看片一区| 欧美在线观看视频| 一区二区三区在线免费观看| 亚洲麻豆视频| 国产欧美一区二区三区视频| 亚洲韩日在线| 欧美日韩一区三区四区| 性欧美在线看片a免费观看| 欧美va天堂在线| 中日韩美女免费视频网址在线观看 | 欧美电影在线免费观看网站| 亚洲精品国产精品国产自| 亚洲一本大道在线| 韩国一区二区三区美女美女秀| 亚洲乱码日产精品bd| 国产精品一区二区黑丝| 亚洲国产精品va| 国产精品高清在线| 亚洲高清免费视频| 国产精品久久久久久久第一福利| 久久精品国产精品亚洲精品| 欧美日韩一区二区视频在线观看 | 亚洲黄色免费网站| 国产精品久久久久9999| 亚洲国产婷婷香蕉久久久久久99| 欧美日韩一二三区| 久久精品人人做人人综合| 国产精品爱啪在线线免费观看 | 欧美激情二区三区| 午夜伦理片一区| 欧美日韩三区四区| 亚洲电影av在线| 国产精品久久久久999| 亚洲精品免费一二三区| 国产视频精品xxxx| 国产精品99久久久久久www| 一区二区三区在线视频观看 | 国产欧美日韩在线观看| 亚洲国产高清视频| 国产欧美日韩一区二区三区| 亚洲素人在线| 亚洲欧洲一区二区在线观看| 久久一区二区三区国产精品| 亚洲在线中文字幕|