《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > C8051F060的USB高速A/D數(shù)據(jù)采集器設計
C8051F060的USB高速A/D數(shù)據(jù)采集器設計
摘要: 本文介紹一個基于C8051F060的USB高速A/D數(shù)據(jù)采集器。通過本系統(tǒng),不僅能了解數(shù)據(jù)采集的一般過程以及一般數(shù)據(jù)采集系統(tǒng)的構成,還能了解C8051F060單片機、USBl00模塊的功能。該系統(tǒng)最高傳輸速度可達8 Mbps。
Abstract:
Key words :

 

  引 言

  在工業(yè)控制現(xiàn)場,常常需要采集多路的現(xiàn)場數(shù)據(jù),如電壓、電流、溫度、濕度、氣壓等。數(shù)據(jù)采集器將現(xiàn)場的模擬量經(jīng)過A/D轉(zhuǎn)換后變成數(shù)字量并傳輸?shù)街鳈C進行處理,由主機根據(jù)處理的結果,將控制信號傳輸給現(xiàn)場執(zhí)行模塊進行各種操作。由于有些工業(yè)現(xiàn)場需要對現(xiàn)場的模擬量進行高速A/D數(shù)據(jù)采集,目前常用的數(shù)據(jù)傳輸網(wǎng)絡(如RS232/RS485,CAN等)已經(jīng)不能滿足大量采集數(shù)據(jù)和高速實時數(shù)據(jù)傳輸?shù)囊蟆6?a class="innerlink" href="http://ihrv.cn/tags/USB" title="USB" target="_blank">USB傳輸具有高速可靠傳輸?shù)膬?yōu)勢,具有成本低、可靠性高、維護方便等優(yōu)點。本文介紹一個基于C8051F060的USB高速A/D數(shù)據(jù)采集器。通過本系統(tǒng),不僅能了解數(shù)據(jù)采集的一般過程以及一般數(shù)據(jù)采集系統(tǒng)的構成,還能了解C8051F060單片機、USBl00模塊的功能。該系統(tǒng)最高傳輸速度可達8 Mbps。

  1 系統(tǒng)原理

  該系統(tǒng)由工控機、USBl00、C805lF060單片機、多路模擬切換開關、四路模擬運算放大器、可反復充放電的鋰離子電池等構成。系統(tǒng)電路原理框圖如圖1所示。

  C8051F060的USB高速A/D數(shù)據(jù)采集器設計

  1.1 C8051F060單片機

  C8051F060是Silicon Laboratories公司推出的完全集成的混合信號片上系統(tǒng)型MCU。具有59個數(shù)字I/0引腳,片內(nèi)集成了2個16位、1 Msps的ADC;有與高速流水線結構的8051兼容的CIP一51內(nèi)核(可達25MIPS),有DMA控制器和局域網(wǎng)(CAN2.OB)控制器;32個消息對象,每個消息對象有自己的標識屏蔽;具有全速、非侵入式的在系統(tǒng)調(diào)試接口(片內(nèi)),10位、200 ksps的ADC,帶8通道模擬多路開關,2個12位DAC;具有可編程數(shù)據(jù)更新方式;64 KB可在系統(tǒng)編程的Flash內(nèi)存,4352(4K+256)字節(jié)的片內(nèi)RAM,可尋址64 KB地址空間的外部數(shù)據(jù)存儲器接口,硬件實現(xiàn)的SPI、SMBus/I2C和2個UART串行接口;5個通用的16位定時器,6個捕捉/比較模塊的可編程計數(shù)器/定時器數(shù)組,片內(nèi)看門狗定時器、VDD監(jiān)視器、時鐘振蕩器和溫度傳感器。

關鍵字:C8051F060 USB AD數(shù)據(jù)采集器

 

  C8051F060是真正能獨立工作的片上系統(tǒng)。所有模擬和數(shù)字外設均可由用戶固件使能/禁止和配置。Flash存儲器還具有在系統(tǒng)重新編程能力,可用于非易失性數(shù)據(jù)存儲,并允許現(xiàn)場更新8051固件。

  C8051F060單片機的P0.O配置為外部中斷源(INT0)。P0.1配置為外部中斷源(INTl),下降沿觸發(fā)輸入,當USBl00模塊接收到工控機數(shù)據(jù)時觸發(fā)INTl中斷。PO.2配置為通用I/0,當電池電壓低到一定程度時被MCU檢測到并做低電壓處理。P3.0~P3.7配置為通用I/0,P3.0用于驅(qū)動發(fā)光二極管,P3.1用作USBl00的寫控制線,P3.2用作USBl00的讀控制線,P3.3、P3.4用作模擬控制開關的控制線,P3.5用于控制傳感器的供電(當不需要采集數(shù)據(jù)時關掉傳感器電源以減少系統(tǒng)功耗),P3.6、P3.7用作電平轉(zhuǎn)換芯片74ALVCl64245的數(shù)據(jù)方向選擇控制線。P1配置為通用I/O,作為8位并行數(shù)據(jù)線。P5配置為通用I/O,作為8位撥碼開關的輸入,用8位撥碼開關設定MCU的數(shù)據(jù)采集速度。C8051F060接線圖如圖2所示。

  C8051F060的USB高速A/D數(shù)據(jù)采集器設計

  1.2 USBl00通用串行總線模塊

  USBlOO是基于ASIC設計的,內(nèi)部封裝了USBl.1全部協(xié)議以及300位元組的內(nèi)部FIF0,8位并行數(shù)據(jù)接口,對USB的操作類似于對外部內(nèi)存的操作,由USBl00模塊完成全部協(xié)議的轉(zhuǎn)換和封裝,使開發(fā)的過程變得簡單。注意:由于USBlOO輸出TTL電平的數(shù)據(jù),可以與5V的單片機很好地連接,而C8051F060是3.3 V的系統(tǒng),為了系統(tǒng)的穩(wěn)定性,中間需要增加3~5 V電平轉(zhuǎn)換電路。

  DO~D7:數(shù)據(jù)口是一個8位雙向I/0口。它是一個8位并口,C8051F060通過它和USBlOO交換數(shù)據(jù)。

  RD:允許內(nèi)部接收緩沖區(qū)數(shù)據(jù)通過8位并行總線讀出。

  WR:將8位并行總線上的數(shù)據(jù)鎖存入內(nèi)部緩沖區(qū)。

  TXE:高表示模塊發(fā)送緩沖區(qū)已滿;低表示發(fā)送緩沖區(qū)為空,可以發(fā)送數(shù)據(jù)。

  RXF:高表示模塊沒有數(shù)據(jù)輸出;低表示模塊有數(shù)據(jù)輸出,可以讀數(shù)據(jù)。

  LISBVCC:USB界面的電源腳。

  D+:USB數(shù)據(jù)腳。

  D一:USB數(shù)據(jù)腳。

  GND:電源地。

  0UTVCC:+5V輸出,可以提供給外部MCU使用,最大為400 mA。

  NC:空引腳。

  USBl00模塊的控制時序:

  發(fā)送時序如圖3所示。當單片機檢測到USBl00模塊TXE為低時,表示內(nèi)部發(fā)送緩沖區(qū)允許發(fā)送數(shù)據(jù),可以將數(shù)據(jù)通過8位數(shù)據(jù)總線DO~D7發(fā)給USBl00模塊,發(fā)送數(shù)據(jù)鎖存由WR控制;USBl00模塊TXE為高時,禁止發(fā)送數(shù)據(jù)。

  C8051F060的USB高速A/D數(shù)據(jù)采集器設計

  接收時序如圖4所示,當單片機檢測到USBl00模塊RXF為低時,表示內(nèi)部接收緩沖區(qū)有數(shù)據(jù),可以通過8位數(shù)據(jù)總線DO~D7發(fā)給C8051F060單片機,接收數(shù)據(jù)鎖存由RD控制。

  1.3 多路模擬切換開關

  因為C8051F060只有2路高速A/D轉(zhuǎn)換器,而實際上有4路模擬量需要采集,故需要一個多路模擬切換開關。NLAS4684是兩路單刀雙執(zhí)CMOS模擬切換開關,具有很低的導通電阻。當ADO_CON、ADl_CON為高電平時,運放的輸出OUT2進入ADO進行A/D轉(zhuǎn)換,運放的輸出OUT4進入ADl進行A/D轉(zhuǎn)換;當ADO_CON、ADl_CON為低電平時,運放的輸出OUTl進入ADO進行A/D轉(zhuǎn)換,運放的輸出OUT3進入AD1進行A/D轉(zhuǎn)換,如圖5所示。

  C8051F060的USB高速A/D數(shù)據(jù)采集器設計

  1.4 模擬運算放大電路

  LM134、R1、R2、D1構成恒流源電路,對橋式電路傳感器提供恒流源。橋式電路傳感器輸出信號INl+、INl一經(jīng)INA326EA放大后送入多路模擬切換開關,然后由C805lF060的A/D電路進行A/D轉(zhuǎn)換。INA326EA是一款單電壓供電、高性能、低功耗、滿幅度輸入輸出的儀表運算放大器。運算放大器電路放大倍數(shù)G=2K1/R3。總共有4路模擬運算放大電路。圖6為其中一路模擬運算放大電路。

  C8051F060的USB高速A/D數(shù)據(jù)采集器設計

  1.5 供電電路

  為了符合工業(yè)現(xiàn)場便攜式的需要,選用上海捷士電池制品有限公司的JS一7.4V一1.2Ah可反復充放電的鋰離子電池。電池采用鋰離子083448電芯,組合方式為兩串,電池容量1.2 Ah,電池電壓7.4 V,外形尺寸50 mm×37mm×17 mm,重量55 g。該電池具有電池過充保護、過放保護、短路保護、過流保護功能(這些功能已經(jīng)集成在電池內(nèi)部,便于使用)。TPS76650[)是具有250 mA輸出能力的LDO芯片,電池電壓通過該芯片的5、6腳輸入,7腳輸出穩(wěn)定的+5 V電壓供系統(tǒng)使用;2腳是對TPS76650D是否工作正常的指示輸出,當芯片工作正常時,2腳輸出高電平,當芯片輸出電壓在4.6~4.9 V時,2腳輸出低電

  平,R1為外部上拉電阻。TPSll00為大電流驅(qū)動能力、低導通電阻的電源分配開關;輸出5 V電壓為傳感器電路提供恒流源,通過SPXlll7穩(wěn)壓成3.3 V為傳感器放大電路供電。為了節(jié)省耗電,C8051F060可以通過TPSll00的4腳關掉傳感器電路的恒流源和放大電路。

  另外,當采集器和計算機通過USB相接時,因為USB提供+5 V/500 mA電源,采集器可以通過USB連接線對采集器供電。供電電路如圖7所示。

 

  C8051F060的USB高速A/D數(shù)據(jù)采集器設計

  2 采集系統(tǒng)的編程

  2.1 單片機編程

  采用Silicon公司的Silicon Laboratories IDE集成編輯、編譯、仿真、下載軟件包,用C語言進行軟件編寫。系統(tǒng)通電后,首先要對單片機進行初始化,包括單片機的I/0端口和交叉開關、定時器的初始化,A/D轉(zhuǎn)換器的初始化以及A/D參考電壓的初始化等。工控機通過USB口對便攜式數(shù)據(jù)采集器發(fā)送0x41、0x42、0x43、0x4_4,便攜式數(shù)據(jù)采集器分別回送傳感器1、2、2、4的200個A/D采集數(shù)據(jù),高位在前,低位在后。(部分源代碼程序略——編者注)

  2.2 工控機編程

  在工控機上安裝好USBlOO模塊的專用驅(qū)動程序后,USBl00即可作為一個標準的設備,按照與串口完全一樣的方法進行編程。本次設計采用了VB編程。在VB中采用MSComm控件,將USB接口作為一個標準的串口使用。程序分為兩部分:一部分是USB接口程序;另一部分是應用程序。將由C8051F060采集到的數(shù)據(jù)用直觀的圖像方法顯示出來。

  結 語

  C8051F060作為新一代8051單片機,具有功能強大、體積小、工作穩(wěn)定等特點,適用于復雜控制系統(tǒng)。本文只介紹了基于C8051F060的USB高速A/D數(shù)據(jù)采集器。數(shù)據(jù)采集器已經(jīng)成功運用于某工程中。對其他相類似的數(shù)據(jù)采集、USB數(shù)據(jù)傳輸應用具有一定的參考價值。

 

 

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。