下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、avr軟usb接口在數(shù)據(jù)采集系統(tǒng)中應(yīng)用【摘要】利用avr單片機(jī)atmega8軟usb虛擬rs232接口技術(shù),通過單 片機(jī)內(nèi)置a/d轉(zhuǎn)換器對(duì)模擬量數(shù)據(jù)采集,取代以rs232標(biāo)準(zhǔn)接口模擬量數(shù)據(jù)采 集器。利用現(xiàn)有軟件資源,實(shí)現(xiàn)usb軟接口多點(diǎn)模擬量數(shù)據(jù)采集功能。碩件電 路簡單、性能穩(wěn)定可靠。解決了傳統(tǒng)的rs232接口數(shù)據(jù)采集器諸多問題。在設(shè) 計(jì)avr軟usb接口 |古|件(atmega8單片機(jī)程序)時(shí),usb接口參數(shù)配置按usb-isp (同樣是avr軟usb虛擬rs232接口)卜載線設(shè)置;并在pc機(jī)系統(tǒng)中安裝其 虛擬串驅(qū)動(dòng)程序。能支持pc機(jī)win7和xp等操作系統(tǒng)?!娟P(guān)鍵詞】usb;接口; a/d
2、轉(zhuǎn)換;數(shù)據(jù)采集1 引言在電力生產(chǎn)和電氣測試工作中經(jīng)常需要用便攜式pc機(jī)通過接口采集和處理 數(shù)據(jù)。常用的帶rs232串口的數(shù)據(jù)采集器,不允許帶電(熱)拔插,使用很不 方便。而且現(xiàn)在大部分的pc機(jī)不帶rs232接口,尤其是便攜式機(jī)。取而代之的 是usb接口。目前avr單片機(jī)usb軟接口技術(shù)應(yīng)用的很普遍,最旱是atmel 公司在avr309 software universal serial bus一文中,詳細(xì)介紹了使用avr 單片機(jī)的普通io 口來實(shí)現(xiàn)usb接口功能;同時(shí)介紹了 atmegas程序(固件) 的編程方法,并提供全部匯編程序源代碼。在源碼的基礎(chǔ)上,筆者通過參閱和分 析不同作者各種版本的
3、usb軟接口|占i件(原程序)進(jìn)行優(yōu)化組合,更改和刪除 一部份程序后,性能有很大的提高。cpu占用率比源碼程序低得多。avr單片 機(jī)atmegas具備avr高檔單片機(jī)性能和特點(diǎn),而價(jià)格僅與低檔單片機(jī)相當(dāng)。其 內(nèi)置多路a/d轉(zhuǎn)換器滿足模擬數(shù)據(jù)采集需要。2. atmega8單片機(jī)atmega8是atmel公司avr系列單片機(jī)。采用低功耗cmos工藝生產(chǎn)的 基于avr risc結(jié)構(gòu)的8位單片機(jī),大多數(shù)指令執(zhí)行時(shí)間為單個(gè)周期。內(nèi)有10 位精度的逐次逼近型adco adc與一個(gè)8通道的模擬多路復(fù)用器連接,能對(duì)來 自端口 c的8路單端輸入電壓進(jìn)行采樣。單端電壓輸入以0v (gnd)為基準(zhǔn)。 adc包括一個(gè)
4、采樣保持電路,以確保在轉(zhuǎn)換過程中輸入到adc的電壓保持恒定。 adc ftl avcc引腳單獨(dú)提供電源。avcc與vcc之間的偏差不能超過±0.3v。 器件之內(nèi)有標(biāo)稱值為2.56v和avcc基準(zhǔn)電壓?;鶞?zhǔn)電壓可以通過在aref引 腳上加一個(gè)電容進(jìn)行解耦,以更好地抑制噪聲。avr單片機(jī)的系統(tǒng)內(nèi)可編程特 性,無需購買昂貴的仿真器和編程器也可進(jìn)行單片機(jī)嵌入式系統(tǒng)的設(shè)計(jì)和開發(fā); 同時(shí)也為單片機(jī)的初學(xué)者提供了非常方便和簡捷的學(xué)習(xí)開發(fā)環(huán)境。而且在省電性 能、穩(wěn)定性、抗干擾性以及靈活性方面考慮得更加周全和完善。atmegas單片 機(jī)與其它單片機(jī)比較而言,簡便易用、費(fèi)用低,相對(duì)進(jìn)入avr系列單片機(jī)開
5、發(fā) 的門檻也低,軟件資源豐富,程序容易開發(fā)。由于atmegas單片機(jī)是常用芯片, 本文對(duì)其特性、內(nèi)部結(jié)構(gòu)、引腳說明等不做介紹。3. 硬件電路基于atmega8的usb軟接口數(shù)據(jù)采集碩件電路非常簡單。以atmega8單 片機(jī)為核心,加上少量的外部元件構(gòu)成(如圖1所示)。圖1 usb軟接i i數(shù)據(jù)采集電路圖圖1中usb數(shù)據(jù)線d上的上拉電阻r3用于主機(jī)識(shí)別低速usb設(shè)備(usb 規(guī)范屮定義)o 12mhz晶體和兩個(gè)20p的電容組成單-片機(jī)運(yùn)行所必須的時(shí)鐘(usb 一個(gè)數(shù)據(jù)位有8個(gè)時(shí)鐘周期)。d+連接到pd2,同時(shí)也是into引腳。d連接到pd3o電阻rl、r2起到限 流和保護(hù)作用,防止在意外情況下?lián)p
6、壞計(jì)算機(jī)的usb端口或單片機(jī)的端口。單 片機(jī)所需的電源vcc由usb 口輸出5v電源直接供電。因?yàn)樵趗sb規(guī)范屮規(guī)定 數(shù)據(jù)線d+和d上的電平范圍是3.0v至3.6v, d1和d2是3.6v穩(wěn)壓二極管, 用于限制數(shù)據(jù)線上的電平。圖中l(wèi)ed1和r4為電源指示電路。ledal-leda6. ral-ra6為a/d傳換通道指示電路。li、c3、c4按atmega8產(chǎn)品說明手冊a/d 轉(zhuǎn)換精度要求設(shè)置。rilri6、cil-ci6為模擬信號(hào)采樣輸入設(shè)置,其電路和參數(shù) 根據(jù)不同輸入要求而改變。圖屮j2是模擬信號(hào)采樣輸入端,可接入單端0-2.56v. 0-5v輸入模擬信號(hào)。測量交流電參數(shù)需要對(duì)交流屯信號(hào)處理
7、后輸入;如要測量 差動(dòng)模擬信號(hào)需要改變輸入采樣電路。并將單片機(jī)atmegas改用atmegal6, atmegal6的a/d轉(zhuǎn)換可單端輸入也可差分輸入;述冇2路可選增益為10倍與 200倍的差分輸入通道;就是多了兒個(gè)引腳,電路圖有所變化;單片機(jī)軟件可兼 容和移植,并增加幾條有關(guān)a/d轉(zhuǎn)換差動(dòng)輸入和數(shù)據(jù)處理的指令。如需要請參 閱atmegal6產(chǎn)品說明手冊(atmel公司網(wǎng)站可下載)。4. atmega8單片機(jī)程序(固件)木程序基于單片機(jī)atmegas以純軟件完成usb協(xié)議接收、發(fā)送和解碼,以 實(shí)現(xiàn)usb接口數(shù)據(jù)通信功能;通過指令操作單片機(jī)內(nèi)置a/d轉(zhuǎn)換實(shí)現(xiàn)模擬量數(shù) 據(jù)采集功能。usb協(xié)議定義低
8、速usb設(shè)備通信速率是1.5m位/秒。如單片機(jī)使 用12mhz的時(shí)鐘頻率,主頻是1.5mhz的8倍。也就是說,單片機(jī)每8個(gè)周期 就要精確完成一個(gè)(對(duì)普通10端口)數(shù)據(jù)位的采集或發(fā)送。這種情況對(duì)單片機(jī)的時(shí)序要求嚴(yán)格,為此單片機(jī)的軟件核心部分代碼必須由 匯編語言編寫。atmegas芯片是atmel (愛特梅爾)公司的avr系列單片機(jī)。 atmel公司網(wǎng)站捉供avr studio集成環(huán)境(ide)開發(fā)軟件免費(fèi)下載。安裝后 直接支持匯編語言。本固件程序以此開發(fā)軟件匯編編譯并燒寫(燒寫用usbisp 下載線)。程序以模塊化結(jié)構(gòu)編寫,為了各模塊相互運(yùn)行協(xié)調(diào)和高效,usb接i做如 下設(shè)置約定。狀態(tài)代碼二1:
9、表示收到控制端口 setup令牌包(屮斷內(nèi)收到令牌包后設(shè)置)狀態(tài)代碼=2:表示收到控制端口 in包(屮斷內(nèi)收到令牌包后設(shè)置)狀態(tài)代 碼=3:表示收到控制端口 out包(中斷內(nèi)收到令牌包后設(shè)置)狀態(tài)代碼二5:表示收到數(shù)據(jù)端口 out包(中斷內(nèi)收到令牌包后設(shè)置)狀態(tài)代碼=6:表示收更改地址(主循環(huán)內(nèi)設(shè)置)操作標(biāo)志二2:表示收到控制端口 setup包數(shù)據(jù)(屮斷內(nèi)收到數(shù)據(jù)包后設(shè)置)操作標(biāo)志=3:表示發(fā)送完控制端口 in數(shù)據(jù)包(中斷內(nèi)發(fā)送完in數(shù)據(jù)包后 設(shè)置)操作標(biāo)志二4:表示準(zhǔn)備好控制端口 in數(shù)據(jù)包(主循環(huán)內(nèi)設(shè)置)端i i號(hào)=0:控制端口端口號(hào)=1:數(shù)據(jù)in端口端口號(hào)二2:數(shù)據(jù)out端口端口號(hào)二3:
10、串口狀態(tài)in端口(usb虛擬rs232接口,cdc類規(guī)范要求)4主程序程序從系統(tǒng)復(fù)位開始初始化系統(tǒng)(設(shè)置堆棧地址、存儲(chǔ)器及寄存器初始化、 a/d傳換器初始化)和設(shè)置軟usb接口初始值后,進(jìn)入主程序不斷檢測usb復(fù) 位信號(hào)(兩條數(shù)據(jù)線保持10-20ms低電平)。如果出現(xiàn)復(fù)位信號(hào)就重新進(jìn)行軟usb 接口初始化設(shè)置;無usb復(fù)位信號(hào)就不斷檢查usb接口狀態(tài)代碼和操作標(biāo)志, 并調(diào)用相應(yīng)的程序處理。之后是對(duì)a/d轉(zhuǎn)換器操作和數(shù)據(jù)加工及數(shù)據(jù)傳送處理。 主程序是閉合循環(huán)體,主程序流程如圖2所示。圖2主程序流程圖主程序在循環(huán)運(yùn)行中主要操作如下:當(dāng)出現(xiàn)usb接口操作標(biāo)志=2,表示收到usb接口 setup數(shù)據(jù)包
11、,是usb 設(shè)備描述符請求。程序檢查請求類型:如是usb標(biāo)準(zhǔn)請求,準(zhǔn)備usb設(shè)備請求參數(shù)配置枚舉 數(shù)據(jù)回答(有關(guān)回答參數(shù)配置數(shù)據(jù)組成和結(jié)構(gòu)按usb協(xié)議規(guī)范耍求,請參閱 usb2.0規(guī)范)。如是設(shè)備商請求,準(zhǔn)備冇關(guān)cdc類參數(shù)配置請求內(nèi)容回答(usb 虛擬rs232接口,請參閱usb通信設(shè)備類規(guī)范)。然后設(shè)置操作標(biāo)志=4,表示 準(zhǔn)備好控制端口 in回應(yīng)包。再返冋主程序循環(huán)體。當(dāng)出現(xiàn)usb操作標(biāo)志=3,表示耍繼續(xù)準(zhǔn)備上次未準(zhǔn)備完的控制端口 in數(shù)據(jù) 冋應(yīng)包。然后設(shè)置操作標(biāo)志=4,表示準(zhǔn)備好控制端口 in冋應(yīng)包。再返冋主程序 循環(huán)體。主程序通過讀取usb接i i數(shù)據(jù)端i i的緩沖區(qū)數(shù)據(jù)(在中斷程序中
12、接收的數(shù) 據(jù)端口包out數(shù)據(jù))進(jìn)行分析,按主機(jī)a/d數(shù)據(jù)采集軟件接口通信|辦議(命令 格式)規(guī)定,執(zhí)行相應(yīng)的a/d操作指令。如選擇a/d通道和選擇基準(zhǔn)電壓等操 作。相對(duì)應(yīng)的啟動(dòng)a/d轉(zhuǎn)換、檢查a/d轉(zhuǎn)換是否完成、讀取a/d轉(zhuǎn)換數(shù)據(jù)等操 作指令配合執(zhí)行。主程序完成a/d數(shù)據(jù)采集處理后按主機(jī)軟件數(shù)據(jù)通信協(xié)議格式組成數(shù)據(jù)包 后,再按usb規(guī)范(有效載荷)數(shù)據(jù)包最前一個(gè)字節(jié)是數(shù)據(jù)包標(biāo)識(shí)碼,接著是 1到8字節(jié)數(shù)據(jù)(口前軟usb最多只能8字節(jié)數(shù)據(jù)),最后增加兩字節(jié)的crc 校驗(yàn)碼(crc校驗(yàn)碼用查表法獲取,減少占用cpu時(shí)間)。此數(shù)據(jù)包不含nrzi 編碼和填充位的內(nèi)容(nrzi編碼和填充位在中斷程序發(fā)送數(shù)
13、據(jù)位時(shí)同步完成), 是4到11整字節(jié)的數(shù)據(jù)包。裝入usb數(shù)據(jù)端點(diǎn)in數(shù)據(jù)包緩沖區(qū),由屮斷程序 發(fā)送到主機(jī)。4.2中斷(into)程序本程序(固件)設(shè)置1個(gè)(into)屮斷源,屮斷程序是固件的主要部分。 程序功能是usb接口數(shù)據(jù)接收和發(fā)送。程序處理流程如圖3所示。圖3中斷程序處理流程圖程序首先由usb總線從空閑態(tài)轉(zhuǎn)到k態(tài)時(shí),usb主機(jī)開始發(fā)送同步字節(jié), into引腳電平上升沿觸發(fā)外部中斷0 (into), cpu進(jìn)入中斷程序,檢查并等待 同步字節(jié)(nrzi碼)結(jié)束信號(hào),開始接收數(shù)據(jù)位。在接收過程屮對(duì)nrzi編碼 進(jìn)行還原和移去填充位(在8個(gè)周期內(nèi)完成nrzi數(shù)據(jù)流位解碼和查找填充位并 移去)后送
14、緩沖區(qū)保存;同時(shí)檢測包eop結(jié)束信號(hào)單端零(seo)o接收完成一 個(gè)數(shù)據(jù)包(不含同步字節(jié)),程序?qū)?shù)據(jù)包長度少于3字節(jié),丟棄,退出屮斷; 2度大于3字節(jié)的以收到(有效載荷)數(shù)據(jù)包處理。長度等于3字節(jié)的可能是令 牌包(第1字節(jié)令牌包類型、第2字節(jié)低7位是usb地址、第2字節(jié)最高1位 和第3字節(jié)低3位是端口號(hào)、第3字節(jié)高5位是令牌包c(diǎn)rc校驗(yàn)碼);檢查地址 確認(rèn)是木設(shè)備后,分析令牌包類型。1)令牌包處理:第1字節(jié)=0x2d,是setup令牌包,設(shè)狀態(tài)代碼=1 (表示接下收到數(shù)據(jù)包 按setup數(shù)據(jù)包處理),退出中斷。笫1字節(jié)=0xel,是out令牌包,檢查端口號(hào)。端口號(hào)=0是控制端口 out令牌包,設(shè)置狀態(tài)代碼=3 (表示接下收到數(shù)據(jù)包 按控制端口 out數(shù)據(jù)包處理),退出屮斷。端口號(hào)不等0,是數(shù)據(jù)端口 out令牌包。設(shè)置狀態(tài)代碼=5 (表示接下收到 數(shù)據(jù)包按數(shù)據(jù)端口數(shù)據(jù)包處理,也就是前介紹的主機(jī)a/d數(shù)據(jù)采集命令數(shù)據(jù)), 退出中斷。笫1字節(jié)=0x69,是in令牌包,檢查端口號(hào)。端口號(hào)二0,是控制端口 in令牌包,檢查操作標(biāo)志。如操作標(biāo)志不等4,表示未準(zhǔn)備好控制端口 in數(shù)據(jù)包,發(fā)送nak,退出屮 斷。如操作標(biāo)志=4,表示已準(zhǔn)備好控制端口 in數(shù)據(jù)包,發(fā)送控制端口 in數(shù)據(jù) 包。檢查狀態(tài)代碼是否等于地址變動(dòng)代碼,是轉(zhuǎn)改變usb地址處理后,中斷返 回。usb地
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度金融資產(chǎn)交易合同報(bào)價(jià)協(xié)議3篇
- 2025年蘇教版選修1生物下冊月考試卷
- 二零二五年度肥料生產(chǎn)與土壤修復(fù)技術(shù)應(yīng)用合同3篇
- 二零二五年度財(cái)務(wù)會(huì)計(jì)外包服務(wù)合同2篇
- 2025年粵人版九年級(jí)生物下冊階段測試試卷含答案
- 2025年人教五四新版九年級(jí)科學(xué)上冊月考試卷
- 2025年度集成房租賃服務(wù)與維護(hù)管理合同2篇
- 2025年人教新課標(biāo)選擇性必修3地理下冊階段測試試卷含答案
- 2025年滬教版八年級(jí)科學(xué)下冊階段測試試卷
- 2025-2030年中國化妝用具市場運(yùn)行現(xiàn)狀及投資發(fā)展前景預(yù)測報(bào)告
- 公路工程標(biāo)準(zhǔn)施工招標(biāo)文件(2018年版)
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蝕工程施工及驗(yàn)收規(guī)范
- 責(zé)任制整體護(hù)理護(hù)理
- 一年級(jí)科學(xué)人教版總結(jié)回顧2
- 精神發(fā)育遲滯的護(hù)理查房
- 有效排痰的護(hù)理ppt(完整版)
- 魯教版七年級(jí)數(shù)學(xué)下冊(五四制)全冊完整課件
- 算法向善與個(gè)性化推薦發(fā)展研究報(bào)告
- 聚合物的流變性詳解演示文稿
- 電氣設(shè)備預(yù)防性試驗(yàn)安全技術(shù)措施
- 內(nèi)科學(xué)教學(xué)課件:免疫性血小板減少癥(ITP)
評(píng)論
0/150
提交評(píng)論