日本在线www-日本在线播放一区-日本在线不卡免费视频一区-日本在线不卡视频-成人影院久久久久久影院-成人影院一区二区三区

最新廣告
關注中國自動化產業(yè)發(fā)展的先行者!
工業(yè)智能邊緣計算2025年會
CAIAC 2025
2025工業(yè)安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

一種基于USB接口的多功能便攜數據采集系統(tǒng)設計
  • 企業(yè):控制網     領域:人機界面     行業(yè):建筑樓宇    
  • 點擊數:3948     發(fā)布時間:2007-06-16 21:34:08
  • 分享到:
使用Silicon公司的CP2102芯片作為USB接口橋接器,以高性能模擬微控制器ADuC845為系統(tǒng)的控制核心,實現(xiàn)了8通道模擬量數據采集、8通道數字量輸入與8通道數字量輸出等功能。軟件設計采用基于消息機制和狀態(tài)機機制的編程思想。該系統(tǒng)設計簡便、體積小、成本低,應用前景廣闊。



1 引言

    現(xiàn)代工業(yè)生產和科學研究對數據采集的要求日益提高,在許多場合要求數據采集系統(tǒng)向便攜化方向發(fā)展,要求系統(tǒng)具有體積小、功耗低、傳輸速度快、使用方便靈活等特點。

    基于PCI或ISA總線的內置采集卡由于插拔麻煩、占用系統(tǒng)軟硬件資源且價格相對昂貴,應用范圍有限。目前大量傳統(tǒng)數據采集系統(tǒng)、儀表及其軟件多采用RS232/485通信標準,雖然成本低、占用系統(tǒng)資源少,但速度慢、不支持帶電插拔的缺點使其無法滿足工業(yè)現(xiàn)場采集系統(tǒng)的發(fā)展要求。

    面向便攜應用的主控系統(tǒng)如筆記本電腦、嵌入式控制系統(tǒng)均不配備PCI或ISA接口,然而通用串行總線(Universal Serial Bus,簡稱USB)以其數據傳輸速度快、設備接插方便、總線供電及擴展方便等優(yōu)點成為便攜式主控系統(tǒng)的必備接口,基于此本文介紹一種以USB總線為接口的多功能小型便攜數據采集系統(tǒng)。

2 芯片選型

    2.1主控芯片選型

    主控芯片選擇Analog Devices公司的ADuC845作為系統(tǒng)的主控制器,該芯片將8052的MCU核和模擬信號處理單元集成在一片IC上,是ADI公司推出的高性能24位數據采集與處理系統(tǒng),內部集成有兩個24位的Δ-ΣADC、10/8通道輸入多路復用器,片內集成62 kB 非易失性閃速/電擦除程序存儲器、4 kB非易失性閃速/電擦除數據存儲器、256 BRAM 和2 kB擴展RAM。
    
    ADuC845還包含一個溫度傳感器、一個位于主ADC之前以便直接測量低幅度信號的可編程增益放大器(PGA)、一個12位電壓輸出數模轉換器(DAC)、兩個靈活的脈寬調制(PWM)輸出、兩個電流源、一個基準電壓源、一個從32kHz晶振產生12.58MHz時鐘的振蕩器與鎖相環(huán)(PLL)以及UART、SP I和I2C通信端口。其數據處理能力可達12MIPS。由于ADuC845的高度集成、高速度、高精度的優(yōu)秀特性,非常適合在要求小體積高性能的便攜系統(tǒng)中的應用要求。

    2.2USB接口芯片選型

    通用串行總線USB是由Intel等廠商制定的連接計算機與具有USB接口的多種外設之間通信的串行總線。市場上現(xiàn)有的可供設計使用的USB接口芯片有兩類:一類是USB端點控制器,如Philips的PDIUSBD12,OKI的MSM60581,NATIONAL的USBN9603,Lucent的USS-820/USS-620,Scanlog的SL11等。這些芯片作為系統(tǒng)的接口將直接使用USB總線的通信標準,由于USB協(xié)議標準比較復雜,在資源不充裕的8位MCU為核心的系統(tǒng)上實現(xiàn)會一定程度的影響系統(tǒng)性能;并且以這類芯片為接口的系統(tǒng),還需專門開發(fā)針對特定上位機系統(tǒng)的驅動程序,給設計和使用帶來了一定的難度和不便。

    另一類USB接口芯片是UART-USB橋接芯片,如Cygnal公司的CP2101,F(xiàn)TDI公司的FT232BM等。這類芯片使用時以USB總線為傳輸媒介,使用橋接的方式將UART串口信號通過USB總線傳輸至主機。主機安裝芯片廠商針對各類操作系統(tǒng)提供的驅動程序,擴展出一個虛擬串口與下位機系統(tǒng)通信。這樣既使系統(tǒng)設計簡便直接,又有效利用了USB總線的諸多優(yōu)點。設計中選用CP2101,與同類產品相比具有以下優(yōu)點:

    1) 具有較小的封裝。CP2101為28腳5mm×5mmMLP封裝。這在PCB上的尺寸就比競爭對手小 30%左右。

    2) 高集成度。片內集成512字節(jié)EEPROM(用于存儲廠家 ID等數據),片內集成收發(fā)器、無需外部電阻;片內集成時鐘,無需外部晶體。

    3) 低成本,可實現(xiàn)USB轉串口的解決方案。CP2101的USB功能無需外部元件,而大多數競爭者的USB器件 則需要額外的終端晶體管、上拉電阻、晶振和EEPROM。具有競爭力的器件價格,簡化的外圍電路,無成本驅動支持使得CP2101在成本上的優(yōu)勢遠超過競爭者的解決方案。

    4) 具有低功耗、高速度的特性,符合USB2.0規(guī)范,適合于所有的UART接口。工業(yè)級溫度范圍為-40℃~85℃。

3 電路設計

    3.1系統(tǒng)結構圖

    系統(tǒng)結構圖如圖1所示,主要由ADuC845與CP2101芯片構成,由于ADuC845內部集成了62KB程序FLASH,4KB數據FLASH,2304B數據RAM,因此作為便攜采集系統(tǒng)無須再外部擴展存儲單元。ADuC845的P1口作為模擬量信號采集的8路通道,P0口作為數字量信號輸入的8路通道,P2口作為數字量信號輸出的8路通道,為了保護內部電路,使用光藕隔離芯片將系統(tǒng)內部的數字量輸入輸出與外部隔離。



圖1系統(tǒng)結構圖

    3.2通信接口電路圖

    CP2101作為系統(tǒng)的通信接口芯片,ADuC845的TXD與RXD引腳與CP2101對應相連,電路如圖所示。CP2101的USB功能控制器管理USB和UART間所有的數據傳輸,以及由USB主控制器發(fā)出的命令請求以及用于控制UART功能的命令等。CP2101的UART接口處理所有的RS232 信號,包括控制和握手信號。CP2101的VBUS與VREGIN引腳必須始終連到USB的VBUS信號上。在VREGIN的輸入端加去耦電容(1μF與0.1μF并聯(lián))。CP2101與單片機接口是標準UART電平,與計算機的USB端口連接是USB標準電平,因此,無論與3V還是5V供電的單片機連接都不需要電平轉換。

4 軟件設計

    系統(tǒng)的軟件設計包括單片機系統(tǒng)軟件設計、單片機系統(tǒng)驅動程序與主機系統(tǒng)軟件設計。Cygnal公司提供了CP2101在目前常用操作系統(tǒng)下的驅動,安裝驅動程序以后,對于操作系統(tǒng)來說相當于多了一個虛擬的串口,所以主機的編程操作就是簡單的串行通信編程。因此,軟件設計的重點就是單片機系統(tǒng)的軟件設計。

    數據采集系統(tǒng)的軟件設計采用基于消息機制的編程思想,采用C51語言編程,將需要執(zhí)行的AD、DI、DO作為程序運行的任務,通過串行中斷程序解析各種控制命令,并發(fā)送消息給主程序,主程序根據不同的消息執(zhí)行不同系統(tǒng)任務。



圖2 通信接口電路圖

    4.1串行中斷程序設計

    由于發(fā)送并不需要中斷操作,因此,串行中斷程序只對接收數據進行判斷。串行中斷程序主要任務是接收有效格式的命令,并加以區(qū)分,根據命令形成相應的消息,留給主程序判斷執(zhí)行。系統(tǒng)的功能決定系統(tǒng)的通信協(xié)議相對復雜,命令繁多。系統(tǒng)設計的主要通信命令有:系統(tǒng)復位、DO輸出、DI讀入、AD單次讀入、AD連續(xù)讀入、AD連續(xù)讀入停止6個命令。

    鑒于串行中斷程序擔任較大的命令解析任務,因此串行中斷程序的設計采用狀態(tài)機的機制。其基本原理是,每當收到一個字節(jié)后,判斷該字節(jié)在當前判斷狀態(tài)是否有效,如果有效,則狀態(tài)遞增;如果無效,則狀態(tài)歸零。每組命令的每一個字節(jié)都對應一個狀態(tài)號,狀態(tài)號到達某命令結尾時,設置對應命令系統(tǒng)消息有效。相應的程序代碼如下:

    extern unsigned char guchState;                       //系統(tǒng)狀態(tài)變量

    extern unsigned char guchSignal;      //系統(tǒng)信號變量

    void Serial_Int(void) interrupt 4 using 3{
 
    if(RI)           //只接收中斷有效
 
    { register unsigned char R_chbyte;
  
    R_chbyte=SBUF;     //取得接收字符
  
    switch(guchState)  //進入狀態(tài)機
  
    { case STATE1:   //第一個狀態(tài)
    
    if(R_chbyte==VALID1)guchState++;  //判斷是否為有效字符
    
    break;
   
    case STATE2:
    
    if(R_chbyte==VALID2)guchState++;  //若為有效字符,狀態(tài)變量遞增
    
    else guchState=0;      //若不為有效字符,狀態(tài)變量清零
    
    break;
   
    ...
   
    case STATEi:
    
    if(R_chbyte==VALIDi)
    
    {
    
    guchSignal=SIGNAL_1;     //命令有效,設置信號變量;
     
    guchState=0;
    
    } 
    
    else guchState=0;     //若不為有效字符,狀態(tài)變量清零
    
    break;
   
    ...
  
    }
 
    }

    }

    4.2 主程序設計

    在消息機制中,主程序的主要任務是循環(huán)檢測信號消息變量,當檢測到某一信號有效時,則啟動對應的任務。由于系統(tǒng)只有串行中斷一個中斷,因此主程序中不需要考慮中斷任務的優(yōu)先級與信號之間的沖突。

    數據采集系統(tǒng)中,經常需要對模擬信號量的連續(xù)數據采集,因此系統(tǒng)設計加入了連續(xù)模擬采集的功能。接收到連續(xù)采集命令后,系統(tǒng)將每隔確定時間間隔對模擬量進行采集,同時通過串口將采集數據返回主機系統(tǒng)。同時,為了停止系統(tǒng)的連續(xù)采集狀態(tài),需要有對應的停止命令。

    這樣,系統(tǒng)命令就分為3個優(yōu)先級,最高優(yōu)先級的是系統(tǒng)遠程復位命令,在任何狀態(tài)下都將相應復位命令對系統(tǒng)進行復位;次高優(yōu)先級的命令是AD連續(xù)采集與連續(xù)采集停止命令;其他命令都是最低優(yōu)先級。系統(tǒng)程序的結構代碼如下:

    unsigned char guchState;      //系統(tǒng)狀態(tài)變量

    unsigned char guchSignal;      //系統(tǒng)信號變量

    unsigned char guchDovalue;      //系統(tǒng)接收數字量輸出參數

    void main(void)

    {
 
    Sys_init();//系統(tǒng)初始化程序
 
    while(1)         
 
    {
  
    switch(guchSignal)      //系統(tǒng)狀態(tài)機
  
    {
   
    case CMDDO:      //接收到DO信號
    
    Sys_Do(guchDovalue);   //執(zhí)行DO程序
    
    guchSignal=VALID;   //清除系統(tǒng)信號
    
    break;
   
    case CMDDI:      //接收到DI信號
    
    Sys_Di();      //執(zhí)行DI程序
    
    guchSignal=VALID;    //清除系統(tǒng)信號
    
    break;
   
    case CMDAD:      //接收到單步AD信號
    
    Sys_Ad();     //執(zhí)行單步AD程序
    
    guchSignal=VALID;    //清除系統(tǒng)信號
    
    break;
   
    case CMDSYNAD:     //接收到連續(xù)AD信號
    
    while(guchSignal!=CMDSYNEND)
 
    Sys_SynAd();     //執(zhí)行連續(xù)AD采集,
       
    //直到收到停止連續(xù)AD信號
    
    guchSignal=VALID;    //清除系統(tǒng)信號
    
    break;
   
    case SYSRESET:      //接收到系統(tǒng)復位信號
    
    #pragma ASM     //系統(tǒng)強制復位
     
    LJMP 0000H
    
    #pragma ENDASM
  
    }
 
    }

    }

5 結束語

    實際應用表明,本設計具有體積小、成本低、便攜式、使用靈活等特點,特別適合工業(yè)現(xiàn)場測試和野外現(xiàn)場數據采集的場合。尤其是設計采用高度集成的ADuc845作為系統(tǒng)的控制核心,鑒于該芯片在工業(yè)和儀器儀表應用中要求精確測量寬動態(tài)范圍低頻信號的應用場合以及在適合低溫漂且對噪聲抑制和抗電磁干擾能力要求較高的應用場合的優(yōu)勢,與快速便攜的USB接口相結合,將會有廣闊的應用前景。

參考文獻

[1] Silicon Laboratories lnc. CP2102 Product Data Sheet [EB/OL]. http://www.silabs.com, 2006.

[2] Analog Device. Aduc845 Product Data Sheet [EB/OL]. http://www.analog.com/, 2005

[3] 叢偉波,楊勇,韓清凱. 低功耗數據采集系統(tǒng)的USB接口設計[J]. 單片機與嵌入式系統(tǒng)應用,2005(1):25-27

[4] 周銳鵬, 張樂年,許小紅. 基于消息機制的C51單片機程序設計[J]. 機械制造與自動化, 2003(3):66-67,71

熱點新聞

推薦產品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 欧美日韩亚洲无线码在线观看,国产成人亚洲综合91精品555,欧美成人国产,国产成人青青热久免费精品,亚洲欧美日韩色图,国产三级网站在线观看 | 日韩中文字幕视频在线观看-日韩中文字幕视频在线-日韩中文字幕视频-日韩中文字幕久久久经典网-亚洲不卡高清免v无码屋-亚洲成_人网站图片 | 久久久青青久久国产精品,www男人天堂,国产一级影视,成人伊人青草久久综合网破解版,四虎成人www国产精品,蜜臀精品 | 国产亚洲精品a在线观看app-国产亚洲精品A久久777777-国产亚洲精品AV片在线观看播放-国产亚洲精品AV麻豆狂野-亚洲 欧美 国产在线视频-亚洲 欧美 国产 综合五月天 日韩精品免费观看,亚洲精品国产综合一线久久,99精品国产高清一区二区三区香蕉,亚洲图区欧美,日韩电影免费在线观看中文字幕,999国产精品999久久久久久 | 久久精品国产2020-久久精品高清视频-久久精品高清-久久精品福利视频-久久精品福利-久久精品店 | 在线看国产,精品国产一区二区二三区在线观看,国产一区二区三区视频,美女一级毛片免费观看,日韩aa在线观看,成人精品一区二区www | 久久免费资源-久久免费小视频-久久免费手机视频-久久免费视频网站-欧美国产亚洲一区 | 精品无码免费黄色网站-精品无码免费一区二区三区-精品无码免费在线播放-精品无码免费专区-精品无码免费专区午夜-精品无码欧美黑人又粗又 | 香蕉久久综合-香蕉久久夜色精品国产尤物-香蕉久久夜色精品国产-香蕉久久久久-久久网站视频-久久网免费 | 91香蕉导航-91香蕉成人免费高清网站-91香蕉成人-91午夜视频-91午夜精品亚洲一区二区三区-91网址在线观看 | 人人狠狠综合久久亚洲,超大乳首授乳一区二区,五月天视频网,久久综合成人网,久草视频免费播放,漂亮的保姆4-bd国语在线观看 | 天天色天天爽,久久综合九色综合狠狠97,五月天激情啪啪,国产精品网址你懂的,五月激激激综合网色播免费,国产成人精品久久亚洲高清不卡 | 尤物tv-呦导航福利精品-永久在线视频-永久在线免费-欧美精品在线看-欧美精品在线观看视频 | 日韩美在线-日韩美一区二区三区-日韩美女在线视频-日韩美女视频在线观看-亚洲无线一二三四区手机-亚洲无专砖码直接进入 | 国产欧美精品一区二区三区四区-国产欧美精品一区二区三区-国产欧美精品一区二区-国产欧美精品系列在线播放-天天爽天天-天天视频一区二区三区 | 亚洲精品高清国产一久久,免费观看国产,国产欧美日韩精品在钱,国产在线观看入口,国产日产欧美精品一区二区三区,国产一级在线观看 7788理论片在线观看-7788av-777午夜精品免费播放-777奇米影视一区二区三区-蜜桃传媒在线-蜜桃成熟时1997在线看免费看 | 久久久久久久久国产-久久久久久久久97-久久久久久久国产视频-久久久久久久国产精品影院-午夜精-午夜寂寞院 | 国产婷婷视频-国产婷婷丁香久久综合-国产天天在线-国产天天操-小草在线免费观看视频-小草在线观看视频免费2019 | 天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看 | 亚洲乱伦熟女在线-亚洲精品国自产在线-亚州女人69内射少妇-亚州巨乳成人片-亚州激情视频-亚瑟在线中文影院 | 国产探花在线视频-国产探花在线观看-国产探花视频在线观看-国产探花视频-无人区在线观看免费完整版免费-无人区在线观看免费视频国语 | 日本漫画母亲口工子全彩-日本漫画大全无翼乌-日本妈妈在线观看中文字幕-日本妈妈xxxx-操他射他影院-操老太太的逼 | 青草免费在线观看-青草免费在线-青草免费观看-青草久草视频-国产国语一级毛片-国产国语一级a毛片高清视频 | 一区二区国产精品-一区二区高清在线观看-一区二区高清在线-一区二区成人国产精品-九九视频精品全部免费播放-九九视频国产 | 五月天六月婷婷开心激情,天使的性电影,三级韩国一区久久二区综合,五月婷婷久,九九精品在线视频,66精品综合久久久久久久 | 亚洲综合在线视频-亚洲综合在线观看视频-亚洲综合视频网-亚洲综合色秘密影院秘密影院-日本三区四区免费高清不卡 | 热久久国产-热99这里只有精品-热99这里有精品综合久久-热99在线观看-国产精品99久久久-国产精品99久久99久久久看片 | 日韩精品免费观看,亚洲精品国产综合一线久久,99精品国产高清一区二区三区香蕉,亚洲图区欧美,日韩电影免费在线观看中文字幕,999国产精品999久久久久久 | 日本a天堂,亚洲精品乱码久久久久久,欧美精品一区二区三区在线播放,国产亚洲视频在线观看,国产丰满眼镜女在线观看,亚洲日韩欧美综合 | 欧美在线日韩-欧美在线区-欧美在线看欧美视频免费网站-欧美在线精品一区二区在线观看-www..com黄-vr专区日韩精品中文字幕 | 老司机午夜精品网站在线观看-老司机午夜精品视频在线观看免费-老司机午夜精品视频观看-老司机午夜精品视频播放-一本色道久久88一综合-一本色道久久88综合日韩精品 | 国产成a人亚洲精v品无码性色-国产成a人亚洲精v品无码樱花-国产成a人亚洲精v品在线观看-国产成a人亚洲精品无码樱花-国产成版人视频网-国产成版人视频网站免费下 | 国产欧美日韩在线观看精品-国产欧美日韩在线不卡第一页-国产欧美日韩在线播放-国产欧美日韩一区二区三区在线-婷婷日日夜夜-婷婷日韩 | 亚欧成人毛片一区二区三区四区-亚欧成人乱码一区二区-亚久久伊人精品青青草原2020-亚飞与亚基在线观看-国产综合成人观看在线-国产综合91天堂亚洲国产 | 亚欧成人毛片一区二区三区四区-亚欧成人乱码一区二区-亚久久伊人精品青青草原2020-亚飞与亚基在线观看-国产综合成人观看在线-国产综合91天堂亚洲国产 | 久热久热精品在线观看-久青草影院-久青草国产在线视频亚瑟影视-久青草国产在线视频-正在播放黑人杂交派对卧槽-正在播放国产尾随丝袜美女 | 国产婷婷视频-国产婷婷丁香久久综合-国产天天在线-国产天天操-小草在线免费观看视频-小草在线观看视频免费2019 | 青草视频在线观看免费视频-青草视频在线观看免费-青草视频网址-青草视频网站在线观看-国产黄色一级网站-国产黄色一级毛片 | 九九香蕉-九九线精品视频-九九五月天-九九天天影视-天天干b-天天干2018 | 日韩久久精品一区二区三区-日韩久久精品视频-日韩久草视频-日韩久草-国产成人短视频-国产成人调教视频在线观看 | 亚洲另类电击调教在线观看-亚洲理论片在线中文字幕-亚洲看黄-亚洲卡一卡2卡三卡4麻豆-韩国xxxxx视频在线-韩国mmwutv福利视频 |