《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于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人久久精品视频最新地址| 亚洲精品欧美| 亚洲美女电影在线| 亚洲精品国产精品久久清纯直播| 亚洲福利国产| 一区二区在线观看av| 精品1区2区3区4区| 亚洲第一页自拍| 亚洲黄色一区| 亚洲日本中文字幕| 亚洲精品国产无天堂网2021| 亚洲伦理在线观看| 宅男精品导航| 亚洲欧美成人网| 午夜国产欧美理论在线播放 | 亚洲国产欧美一区二区三区丁香婷| 狠狠久久亚洲欧美| 在线免费日韩片| 亚洲精品国产精品乱码不99按摩| 亚洲精品欧美日韩专区| 夜夜嗨av一区二区三区网页| 亚洲一区二区免费视频| 欧美一区免费| 亚洲日本va在线观看| 一区二区冒白浆视频| 亚洲欧美日本视频在线观看| 欧美一区午夜视频在线观看| 另类成人小视频在线| 欧美久久久久| 国产精品一区二区久久| 国内精品久久国产| 亚洲国产婷婷香蕉久久久久久| 亚洲伦伦在线| 午夜精品美女久久久久av福利| 久久国产成人| 一本久久综合亚洲鲁鲁| 亚洲欧美视频一区二区三区| 久久婷婷影院| 欧美日韩国产电影| 国产伦精品一区二区三区在线观看 | 国产免费成人av| 亚洲二区精品| 亚洲深夜福利网站| 欧美在线视频全部完| 一本久久综合| 久久成人人人人精品欧| 欧美电影免费观看| 国产精品自拍在线| 91久久极品少妇xxxxⅹ软件| 亚洲尤物在线视频观看| 亚洲日本中文| 欧美一区视频在线| 欧美日韩 国产精品| 国产亚洲成精品久久| 亚洲人成网站精品片在线观看| 午夜激情综合网| 99国产精品私拍| 欧美专区中文字幕| 欧美日韩国产麻豆| 韩国一区二区三区在线观看| 一区二区三区免费网站| 亚洲国产成人av| 亚洲欧美在线播放| 欧美激情精品久久久久久| 国产日韩欧美精品在线| 亚洲美女诱惑| 亚洲国产导航| 欧美在线你懂的| 欧美视频免费| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美日韩不卡| 伊人久久婷婷色综合98网| 亚洲嫩草精品久久| 一本色道久久综合精品竹菊| 老司机67194精品线观看| 国产精品免费福利| 亚洲欧洲美洲综合色网| 亚洲电影在线播放| 久久精品九九| 国产精品久久久久久一区二区三区| 91久久精品一区二区别| 久久精品国产v日韩v亚洲| 欧美一级片在线播放| 欧美日韩视频免费播放| 亚洲国产电影| 久久精品国产综合精品| 久久国产一二区| 国产精品乱人伦中文| 日韩视频永久免费| 日韩视频一区二区三区| 久久综合精品一区| 国产日韩欧美一区二区三区在线观看| 日韩一级精品视频在线观看| 亚洲精品在线一区二区| 麻豆乱码国产一区二区三区| 国产一区二区无遮挡| 午夜精品免费视频| 香蕉成人久久| 国产精品久久午夜夜伦鲁鲁| 一本到12不卡视频在线dvd| 99视频有精品| 欧美日本免费| 亚洲三级影片| 日韩一级在线| 欧美日韩国产成人在线观看| 亚洲肉体裸体xxxx137| 亚洲欧洲精品一区二区三区不卡 | 精品不卡在线| 亚洲风情亚aⅴ在线发布| 久久综合国产精品台湾中文娱乐网| 国产视频精品网| 欧美亚洲视频在线观看| 久久成人这里只有精品| 国产日韩亚洲欧美精品| 欧美在线二区| 麻豆精品视频在线| 亚洲国产欧美一区二区三区久久 | 亚洲精品网站在线播放gif| 免费国产一区二区| 亚洲福利视频一区| 99re国产精品| 国产精品爱久久久久久久| 一区二区三区四区蜜桃| 亚洲一区二区三区涩| 国产精品美女久久久久久2018| 一区二区三区久久网| 性欧美8khd高清极品| 国产日韩欧美视频在线| 午夜宅男久久久| 久久久久88色偷偷免费| 激情欧美日韩一区| 亚洲人成艺术| 欧美精品在线免费播放| 99视频国产精品免费观看| 欧美亚洲一级片| 国产色综合久久| 久久成人资源| 欧美黄色小视频| 中日韩视频在线观看| 欧美一级淫片播放口| 国产尤物精品| 亚洲精品美女在线| 欧美天堂在线观看| 午夜日韩激情| 欧美成人免费视频| 一区二区免费看| 欧美在线亚洲在线| 1024日韩| 亚洲欧美色一区| 禁断一区二区三区在线| 在线亚洲精品| 国产一区二区三区免费观看| 亚洲人屁股眼子交8| 欧美午夜电影一区| 欧美伊久线香蕉线新在线| 欧美黄色网络| 午夜久久一区| 欧美激情综合色| 亚洲视频一区在线观看| 久久精品视频免费| 亚洲欧洲一区| 欧美在线视频a| 亚洲日本中文字幕区| 欧美在线观看视频| 亚洲激情国产| 欧美一区二区三区精品电影| 亚洲国产精品久久久久秋霞不卡| 亚洲综合欧美| 亚洲国产天堂久久综合网| 香蕉成人久久| 91久久精品国产91久久| 久久精品二区亚洲w码| 99国产成+人+综合+亚洲欧美| 久久精品国产一区二区三区| 日韩视频免费在线| 久久婷婷久久| 亚洲一区二区三区精品视频| 欧美国产亚洲视频| 先锋影音久久久| 欧美日韩在线播放一区| 亚洲缚视频在线观看| 国产精品一区二区你懂得| 99pao成人国产永久免费视频| 国产自产精品| 亚洲欧美精品在线观看| 亚洲欧洲精品一区| 久久久亚洲精品一区二区三区| 国产精品99久久久久久久女警| 免费在线观看一区二区| 欧美一区二区三区四区在线观看| 欧美午夜精品| 日韩视频在线一区二区|