智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

基于嵌入式USB接口的數據采集系統的設計

來源:網絡

點擊:992

A+ A-

所屬頻道:新聞中心

關鍵詞: USB接口,MAX197,嵌入式,驅動程序

      數據采集任務多在戶外進行,所以數據采集系統通常要滿足實時性、專用性、可靠性和低功耗等性能,這些特性在嵌入式系統中都能得到很好的體現,因此本文將以WindowsCE的嵌入式平臺來開發效據采集系統。但是由于嵌入式系統的硬件結構不易改變,所以在進行數據采集設備擴展時應該選擇接口簡單靈活、數據傳輸率高和支持熱拔插的傳輸總線,而USB接口則能很好地滿足這些要求,同時USB還有總線供電和不受插槽、中斷等硬件資源限制的特性,因此USB接口是數據采集設備與嵌入式系統進行數據傳輸的理想選擇。綜上所述,本文將設計一款基于嵌入式USB接口的數據采集系統以滿足實際的需要,下面將從硬件設計,程序實現和實際測試3方面具體描述。

      1 硬件設計

      1.1 硬件結構框架

      本系統的硬件結構主要由控制中心、模數轉換和USB協議實現3個部分組成,下面將針對這3個部分進行詳細的介紹。具體的結構框架如圖1所示。

     

    圖1 嵌入式USB接口的數據采集系統總體結構

      1)控制中心。本系統采用單片機提供地址數據復用總線、選通信號(D12_CS和AD_CS),讀寫信號(RD和WR)以及對中斷信號(D12_INT和AD_INT)進行檢測。

      2)模數轉換。本系統采用MAX197芯片進行模數轉換,該芯片具有采樣保持功能和12位的高精度輸出。單片機可向MAX197寫入其特定的命令從而選擇指定的通道進行模數轉換,轉換結束后,MAX197向單片機輸出低電平的AD_INT信號,單片機采用輪詢方式檢測到后通過HBEN信號控制MAX197輸出低8位和高4位的轉換數據。

      3)USB協議實現。本系統采用PDIUSBD12作為USB設備端的控制芯片,該芯片實現了USB1.1傳輸協議。嵌入式系統要對USB設備進行讀寫均需通過信號D12_INT向單片機發送中斷,單片機響應中斷后只需對PDIUSBD12的不同寄存器進行讀寫操作就可以利用USB進行數據傳輸。

      1.2 固件程序設計

      硬件設備需要固件程序的控制以保證其正常運行,本文所設計的固件程序主要用于識別USB設備以及采集與傳輸數據。固件程序的總體流程如圖2所示。

     

    圖2 固件程序的總體流程

     

      1)設備識別。USB設備的識別過程分別由操作系統和設備驅動兩個部分通過USB協議的標準設備請求來完成。操作系統在USB設備連接時加載設備驅動程序并分配通信地址,驅動程序啟動后通過中斷讀取相關描述符進行資源配置并使能傳輸端點,從而為應用程序提供接口。

      2)數據采集與傳輸。通過單片機的定時器可對數據的采集頻率進行設置。本系統的數據采集頻率為1 000 Hz,因此設置定時器每一毫秒中斷一次進行數據采集,而主機端對USB設備的讀寫操作則通過外部中斷實現,定時器中斷優先級高于外部中斷以保證采集頻率固定為1 000 Hz.主機端通過寫操作向USB設備發送控制信息,包括設備啟動和停止的相關初始化與清理的工作,其中在對USB設備進行讀操作前要先在端點的緩沖區填寫64字節數據并通過命令使其有效,不然主機端對USB設備進行讀操作時,無效的緩沖區將導致PDIUSBD12芯片不會產生中斷,從而導致讀操作失敗。

      2 驅動程序設計

      Windows CE下的USB設備驅動模型由3個層次組成,其中由操作系統實現的有兩層,它們分別是HCD模塊(USBHoST Controller Driver)和USBD模塊(USB Bus Driver),而第三層則被稱為USB客戶端驅動(USB Client Driver),由驅動開發人員實現。HCD模塊處于最底層,是CPU中USB控制器的驅動,為USBD模塊提供底層的功能訪問服務。USBD模塊處于HCD模塊的上層,它根據HCD模塊提供的功能設計USB驅動接口函數,并提供給第3層使用。USB客戶端驅動處于USB驅動模型的最頂層,也是本文所要設計的USB驅動程序,它向上為應用程序提供接口以方便對USB設備進行控制,向下利用USBD模塊提供的接口函數傳遞控制信息和數據。因此,要成功開發USB設備的驅動程序,在操作系統定制的時候就需要把HCD和USBD的相關組件添加進去。

      本文開發的USB設備驅動程序是流接口形式的驅動程序,它被設計用來與通常的文件系統API(如CreateFile、ReadFile和WriteFile等)進行通信,應用程序通過對文件系統的操作來完成對設備的控制。本驅動所設計的流接口如表1所示。

    表1 驅動所設計的流接口

     

      3 系統測試

      3.1 測試條件與結果

      本測試的目的在于檢驗本文設計的數據采集系統能否在采集頻率較高的情況下準確地采集數據,并通過USB接口完整地進行數據傳輸。因此,測試將基于以下5個條件進行。其中一個通道的部分測試數據結果如圖3所示。

     

    圖3 正弦波采集測試結果圖

      1)測試信號為正弦波,峰峰值約為12 V,頻率為100Hz.

      2)系統以1000Hz的采集頻率連續對8個通道進行采集。

      3)單片機晶振頻率為12MHz.

      4)采集系統的數據緩沖區設置為128字節。

      5)采集數據記錄在SD卡中。

     

      3.2 測試結果分析

      由3.1的正弦波采集測試結果圖可以得出如下兩點結論:

      1)采集的正弦波的峰峰值約為12 V,一個周期有10個數據點,根據采集頻率1000Hz可知采集到的正弦波的頻率為100Hz.

      2)在30 ms的時候,正弦波發生畸變,可見采集數據在USB傳輸過程中發生丟失。

      第一點結論說明了本采集系統能準確地進行數據采集,而對于第二點結論所表現出的不完整性分析如下。

      1)設V1是有效數據的傳輸速度,V2是協議開銷的傳輸速度,N為采集數據的通道數目,M為每通道采集的字節數,H為采集頻率,K為緩沖區大小,U為傳輸的協議開銷字節數。USB數據幀的組成包括有效數據和協議開銷兩個部分,其中傳輸協議的開銷包括同步字段、包標識符、地址信息、端點信息和CRC校驗,所以數據采集系統要求的USB傳輸速度可根據公式(1)計算得到。本文設計的數據采集系統共有8個通道,每通道有2個字節的數據,采集頻率為1 000 Hz,根據公式(2)可得有效數據的傳輸速度約為16 kB/s.一個完整的數據幀的傳輸需要11個字節的協議開銷,本文設計的數據傳輸過程分為4個步驟:發送傳輸請求,發送接收控制命令,接收請求應答,開始接收數據,每個步驟均需傳輸一個完整的USB數據幀,因此進行一次傳輸的協議開銷為44個字節,根據公式(3)可計算出協議開銷的傳輸速度。以緩沖區的大小為橫坐標,數據采集系統要求的USB傳輸速度為縱坐標繪出圖4所示的關系圖,分析該圖可得:緩沖區越大,所要求的USB傳輸速度越少。測試中較少的128字節緩沖區使得在一次傳輸中有效數據過少,約5.5 kB/s的額外開銷傳輸速度約占總速度的25%,過高的額外傳輸開銷導致數據來不及傳輸,從而發生數據丟失的情況。

     

     

    圖4 緩存區大小與USB傳輸速度關系圖

      2)另外,由于應用程序要在SD卡這類低速設備上記錄數據,所以記錄數據的時候來不及獲取USB設備中的數據也會導致實際的傳輸速度變慢,導致新采集的數據溢出緩沖區并覆蓋來不及傳輸的舊數據,從而造成數據丟失。

      因此有必要采取一定的方法來改善數據采集系統,以保證數據采集的完整性。下面將提出3個解決方法。

      3.3 系統改善措施

      1)增大晶振頻率到24MHz,加快單片機的處理速度。

      2)在硬件上增加靜態RAM作為數據存儲的緩沖區,緩沖區的存在一方面可以保證新采集的數據不會覆蓋沒來得及傳輸的舊數據,另一方面可以讓USB設備在一次USB數據幀的傳輸中所含有的有效數據更多,從而減少在傳輸過程中的校驗、識別和握手等USB協議的額外開銷,加快傳輸速度。

      3)在應用程序控制USB設備時將新建2條線程,一條進程用于向USB設備進行讀寫操作來進行數據采集,另一條進程用于向嵌入式系統的SD卡這類低速設備進行讀寫操作來記錄數據,利用操作系統分時復用的特性減少數據記錄過程對數據傳輸造成的延誤,從而加快USB設備的傳輸速度。

      4 結束語

      本文從硬件結構、固件程序和驅動程序3個方面對基于嵌入式USB接口的數據采集系統進行了設計。最后還通過實際采集正弦波信號對系統進行了測試,并提出了3個方法有效地提高了數據采集系統的傳輸速度。本系統能在擁有USB接口的嵌入式設備上方便地進行連接和安裝,是數據采集應用的一個重要部分。

    (審核編輯: 小丸子2)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 无轴螺旋输送机_双无轴螺旋输送机_垃圾,污泥无轴螺旋输送机-新乡市大汉振动机械有限公司 | 江苏美鑫食品科技有限公司 | 昆明纸箱厂-礼盒定制-包装盒定做-纸箱厂-云南包掌柜包装有限公司 | 吉安天卓选矿药剂有限公司| 全棉帆布厂家_加工帆布_涤棉帆布价格_染色帆布定制_广州美丽华皮革帆布-广州美丽华皮革帆布 | 乌鲁木齐万疆通管道设备有限公司 销售热线;13565955557-新疆 乌鲁木齐 万疆通 管道设备 波纹补偿器 膨胀节 金属软管 伸缩器 管件 阀门 维修 | 黑料网 - 黑料大事记-黑料门 黑料社最新 今日黑料 热门黑料 最新反差免费-黑料网今日黑料首页_黑料网 - 黑料大事记-黑料门 黑料社最新 今日黑料 热门黑料 最新反差免费-黑料网今日黑料首页 | 球墨井盖厂家-铸铁井盖批发-雨水篦子生产厂家-安徽含山县林头新华铸造厂 | 楼宇门厂家-氟碳漆门-不锈钢大门-单元门-锌合金大门-永康市龙卫门业 | 屋顶式恒温恒湿机,新风管道除湿机|上海众有实业百科 | 全棉帆布厂家_加工帆布_涤棉帆布价格_染色帆布定制_广州美丽华皮革帆布-广州美丽华皮革帆布 | 石家庄LED显示屏|石家庄显示屏|河北显示屏升级改造|石家庄科航光电科技有限公司_石家庄科航光电科技有限公司 | 削片机|木材破碎机|木材粉碎机|模板破碎机|双轴撕碎机_郑州木工机械制造厂 | 联系我们-99贵宾在线客服开户电话17508888884(99厅) | 黑料网 - 黑料大事记-黑料门 黑料社最新 今日黑料 热门黑料 最新反差免费-黑料网今日黑料首页_黑料网 - 黑料大事记-黑料门 黑料社最新 今日黑料 热门黑料 最新反差免费-黑料网今日黑料首页 | 微型压力传感器-工业压力放大器-压力传感器厂家-力准传感 | 烘干机|烘干房|网带烘干机|滚筒烘干机|炒货机-河南曼瑞通机械有限公司 | 济南塑料袋,食品包装袋,复合塑料袋,方便袋-济南精美塑料包装厂 | 全自动包装机械设备_液体灌装机-迈驰日化包装流水线厂家 | 透明膜包装机_三维包装机_上海拓懿机械有限公司 | 植绒布工厂,植绒布现货批发-深圳市金峰盛植绒制品有限公司 | 洒水车厂家、消防车、污水处理车厂家-程力专用汽车股份有限公司 洒水车|冷藏车|LED广告车|油罐车|道路救援车|垃圾车|程力专用汽车股份有限公司销售九分公司 | 上海海外置业展_2024海外置业移民留学展_4月5-7日_企业参展处/免费领门票 | 水晶粉丝机_粉丝机_粉皮机-开封市晟丰机械设备有限公司 | 金属探测机_食品金属探测仪_食品金属探测器_广东善安金属检测机 金属剪切机,金属打包机,废钢剪切机,废铁压块机,金属压块机,废纸打包机,重废龙门剪,废钢龙门剪,箱式剪,液压剪切机-瑞顿机械装备制造江阴有限公司 | 泰安led显示屏-泰安户外裸眼3D显示屏-扩声系统-舞台灯光机械-电子屏-肥城宁阳新泰东平-泰安市奇美特电子有限公司 | 液压尾管悬挂器,机械式尾管悬挂器价格,石油套管扶正器厂家,连续油管悬挂器,高压双塞水泥头,免钻塞注水泥分级箍,单塞套管水泥头价格,弹性套管扶正器,铸铝钢性扶正器,钢性套管扶正器厂家 | 温州市浙铸机械有限公司| 十堰急开锁0719-8888139|十堰开锁公司|十堰开锁电话|十堰换锁价格-同福锁城-十堰同福锁城 | 希希助培是专业的教育信息化全场景服务商,为教育培训机构提供教务管理、招生营销、财务管理、家校互动等 | 免喷涂材料,免喷涂塑料,免喷涂注塑,免喷涂挤塑,免喷涂工艺-中山鸿盛免喷涂 | 三拓精密机械南通有限公司 | 滑动轴承_无油自润滑轴承_复合干式_含油铜套_石墨铜套-嘉善盛元自润滑轴承厂 | 郑州网站建设_郑州网站制作_郑州网络公司-三猫网络 | 西安木包装箱出口托盘定做价格-抽真空实木包装箱免熏蒸木箱多层板木箱哪家好-模压托盘及白松原木-西安宇森木业 | 停车场收费管理系统,通道闸系统,门禁系统,东莞停车场收费管理系统,东莞通道闸系统,-东莞市骄阳交通设备有限公司 | 上海机械加工-机械加工-精密机械加工-上海欧野精工机械有限公司 上海慧泰仪器制造有限公司_一体型马弗炉-可控真空干燥箱-强光稳定性试验箱 | 排烟风机-屋顶风机-消防高温排烟风机-山东凯亿空调 | 河南新百福国际物流有限公司| 河北热风机,电热暖风机,燃油暖风机,工业暖风机厂家安装,批发-河北嘉鹏冷暖风机有限公司 | 企业资质代办-代理全国工商注册公司_公司转让_增值电信业务许可证新办续期-大通天成科技[gw] |