資源描述:
《avr軟usb接口在數(shù)據(jù)采集系統(tǒng)中應用》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。
1、AVR軟USB接口在數(shù)據(jù)采集系統(tǒng)中應用【摘要】利用AVR單片機ATmega8軟USB虛擬RS232接口技術,通過單片機內置A/D轉換器對模擬量數(shù)據(jù)采集,取代以RS232標準接口模擬量數(shù)據(jù)采集器。利用現(xiàn)有軟件資源,實現(xiàn)USB軟接口多點模擬量數(shù)據(jù)采集功能。碩件電路簡單、性能穩(wěn)定可靠。解決了傳統(tǒng)的RS232接口數(shù)據(jù)采集器諸多問題。在設計AVR軟USB接口
2、古
3、件(ATmega8單片機程序)時,USB接口參數(shù)配置按USB-isp(同樣是AVR軟USB虛擬RS232接口)卜載線設置;并在PC機系統(tǒng)中安裝其虛擬串驅動程序。能支持PC機WIN7和XP等操作系統(tǒng)。【關鍵
4、詞】USB;接口;A/D轉換;數(shù)據(jù)采集1?引言在電力生產(chǎn)和電氣測試工作中經(jīng)常需要用便攜式PC機通過接口采集和處理數(shù)據(jù)。常用的帶RS232串口的數(shù)據(jù)采集器,不允許帶電(熱)拔插,使用很不方便。而且現(xiàn)在大部分的PC機不帶RS232接口,尤其是便攜式機。取而代之的是USB接口。目前AVR單片機USB軟接口技術應用的很普遍,最旱是ATMEL公司在《AVR309SoftwareUniversalSerialBus》一文中,詳細介紹了使用AVR單片機的普通IO口來實現(xiàn)USB接口功能;同時介紹了ATmegaS程序(固件)的編程方法,并提供全部匯編程序源代碼。在源碼的基
5、礎上,筆者通過參閱和分析不同作者各種版本的USB軟接口
6、占I件(原程序)進行優(yōu)化組合,更改和刪除一部份程序后,性能有很大的提高。CPU占用率比源碼程序低得多。AVR單片機ATmegaS具備AVR高檔單片機性能和特點,而價格僅與低檔單片機相當。其內置多路A/D轉換器滿足模擬數(shù)據(jù)采集需要。2.ATmega8單片機ATmega8是ATMEL公司AVR系列單片機。采用低功耗CMOS工藝生產(chǎn)的基于AVRRISC結構的8位單片機,大多數(shù)指令執(zhí)行時間為單個周期。內有10位精度的逐次逼近型ADCoADC與一個8通道的模擬多路復用器連接,能對來自端口C的8路單端輸入電壓進
7、行采樣。單端電壓輸入以0V(GND)為基準。ADC包括一個采樣保持電路,以確保在轉換過程中輸入到ADC的電壓保持恒定。ADCFtlAVCC引腳單獨提供電源。AVCC與VCC之間的偏差不能超過±0.3V。器件之內有標稱值為2.56V和AVCC基準電壓。基準電壓可以通過在AREF引腳上加一個電容進行解耦,以更好地抑制噪聲。AVR單片機的系統(tǒng)內可編程特性,無需購買昂貴的仿真器和編程器也可進行單片機嵌入式系統(tǒng)的設計和開發(fā);同時也為單片機的初學者提供了非常方便和簡捷的學習開發(fā)環(huán)境。而且在省電性能、穩(wěn)定性、抗干擾性以及靈活性方面考慮得更加周全和完善。ATmegaS單
8、片機與其它單片機比較而言,簡便易用、費用低,相對進入AVR系列單片機開發(fā)的門檻也低,軟件資源豐富,程序容易開發(fā)。由于AtmegaS單片機是常用芯片,本文對其特性、內部結構、引腳說明等不做介紹。2.硬件電路基于ATmega8的USB軟接口數(shù)據(jù)采集碩件電路非常簡單。以ATmega8單片機為核心,加上少量的外部元件構成(如圖1所示)。圖1USB軟接II數(shù)據(jù)采集電路圖圖1中USB數(shù)據(jù)線D?上的上拉電阻R3用于主機識別低速USB設備(USB規(guī)范屮定義)o12MHz晶體和兩個20p的電容組成單-片機運行所必須的時鐘(USB一個數(shù)據(jù)位有8個時鐘周期)。D+連接到PD2
9、,同時也是INTO引腳。D?連接到PD3o電阻Rl、R2起到限流和保護作用,防止在意外情況下?lián)p壞計算機的USB端口或單片機的端口。單片機所需的電源Vcc由USB口輸出5V電源直接供電。因為在USB規(guī)范屮規(guī)定數(shù)據(jù)線D+和D■上的電平范圍是3.0V至3.6V,D1和D2是3.6V穩(wěn)壓二極管,用于限制數(shù)據(jù)線上的電平。圖中LED1和R4為電源指示電路。LEDal-LEDa6.Ral-Ra6為A/D傳換通道指示電路。LI、C3、C4按ATmega8產(chǎn)品說明手冊A/D轉換精度要求設置。Ril?Ri6、Cil-Ci6為模擬信號采樣輸入設置,其電路和參數(shù)根據(jù)不同輸入要求
10、而改變。圖屮J2是模擬信號采樣輸入端,可接入單端0-2.56V.0-5V輸入模擬信號。測量交流電參數(shù)需要對交流屯信號處理后輸入;如要測量差動模擬信號需要改變輸入采樣電路。并將單片機ATmegaS改用ATmegal6,ATmegal6的A/D轉換可單端輸入也可差分輸入;述冇2路可選增益為10倍與200倍的差分輸入通道;就是多了兒個引腳,電路圖有所變化;單片機軟件可兼容和移植,并增加幾條有關A/D轉換差動輸入和數(shù)據(jù)處理的指令。如需要請參閱ATmegal6產(chǎn)品說明手冊(ATMEL公司網(wǎng)站可下載)。3.ATmega8單片機程序(固件)木程序基于單片機ATmega
11、S以純軟件完成USB協(xié)議接收、發(fā)送和解碼,以實現(xiàn)USB接口數(shù)據(jù)通信功能;通過指令