• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于AVR USB接口的溫度測(cè)量系統(tǒng)設(shè)計(jì)

      2011-11-03 02:24:06裴文蓮余小昕
      關(guān)鍵詞:驅(qū)動(dòng)程序端口編程

      裴文蓮 余小昕

      (安徽理工大學(xué)計(jì)算機(jī)學(xué)院,安徽 淮南 232001)

      1 、引言

      ATmega8是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8位CMOS微控制器。由于其先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間,AT-mega8的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz。USB接口以其數(shù)據(jù)傳輸快、連接簡(jiǎn)單、易于擴(kuò)展、支持熱插拔等特點(diǎn)已成為外設(shè)與PC通信的主要方式之一。靈活輕便的Atmega8可以利用中斷和串行通信技術(shù)實(shí)現(xiàn)模擬USB通信。

      2 、系統(tǒng)硬件設(shè)計(jì)

      2.1 硬件總體設(shè)計(jì)

      設(shè)計(jì)所用的傳感器是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器DS18B20,具有3引腳TO-92小體積封裝形式;溫度測(cè)量范圍為-55℃~+125℃,可編程為9位~12位A/D轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625℃。 核心模塊是AVR高速單片機(jī)Atmega8。AVR單片機(jī)是新一代基于哈佛結(jié)構(gòu)的高速RISC微控制器,具有速度快、價(jià)格低、可靠性高,I/O口線驅(qū)動(dòng)能力強(qiáng)和片內(nèi)集成外設(shè)資源豐富等特點(diǎn),其內(nèi)部集成有可進(jìn)行ISP下載編程的Flash,EEPROM、熔絲位和鎖定位。AVR單片機(jī)的ISP下載電纜制作簡(jiǎn)單、成本低廉,還有免費(fèi)的下載軟件 (例如PonyProg)支持。Atmega8內(nèi)部集成了8路10位的ADC,外部中斷通過(guò)引腳INT0和INT1觸發(fā)。電路板的硬件資源中附加一個(gè)USB接口,便于主從之間進(jìn)行數(shù)據(jù)交換。

      2.2 "軟USB"的實(shí)現(xiàn)方法

      在不是使用USB控制器的情況下,實(shí)現(xiàn)AVR單片機(jī)進(jìn)行類似USB形式的數(shù)據(jù)傳輸,需要在硬件上加以添加器件。如圖一,在Data-上接一個(gè)阻值為1.5K的上拉電阻。該上拉電阻實(shí)現(xiàn)的是低速USB數(shù)據(jù)傳輸。AVR單片機(jī)由于實(shí)現(xiàn)的是"軟USB",由于本身處理能力所限,只能實(shí)現(xiàn)低速數(shù)據(jù)傳輸,故該上拉電阻不可缺省。此外,系統(tǒng)要使用12 MH2晶振,這樣,經(jīng)過(guò)8分頻后才能使用USB低速1.5 MB/s的數(shù)據(jù)傳輸速率。

      由于USB接口的電壓數(shù)值為3.6 V。而電腦USB端口的輸出電壓為5 V,因此,為了電平匹配,本電路特使用3.6 V穩(wěn)壓二極管D1、D2來(lái)分別與D一、D+相連,其中兩端口分別通過(guò)68Ω的電阻與PD4以及PD2相連;

      因?yàn)樯婕暗酵庠O(shè),所以需要安裝驅(qū)動(dòng)。本文所選擇的驅(qū)動(dòng)程序?yàn)長(zhǎng)ibUSB-Win32。該驅(qū)動(dòng)程序可應(yīng)用于Win2000、WinXp等Windows操作系統(tǒng)上。并允許用戶通過(guò)直接調(diào)用函數(shù)的方式對(duì)Windows系統(tǒng)上的任意一個(gè)USB設(shè)備進(jìn)行訪問(wèn)。該驅(qū)動(dòng)程序具有以下特點(diǎn):能夠任意與已安裝的USB設(shè)備進(jìn)行通信;可用作自己開發(fā)USB設(shè)備的驅(qū)動(dòng)程序;支持批量和中斷傳輸;支持USB規(guī)范的所有標(biāo)準(zhǔn)設(shè)備請(qǐng)求;支持USB設(shè)備制造商的自定義請(qǐng)求。

      2.3 原理圖設(shè)計(jì)

      針對(duì)本設(shè)計(jì)所要完成的任務(wù),以Atmega8為核心,設(shè)計(jì)電路圖并制作開發(fā)板。原理圖的繪制分成兩層來(lái)設(shè)計(jì):顯示部分(DISPLAY)和微處理器部分 (MCU)。DISPLAY層主要有LED和LCD顯示器;MCU層主要有Atmega8核心器件、USB接口電路、AD轉(zhuǎn)換部分、相應(yīng)的串口以及必要的周邊電路。MCU層中的USB接口與微處理器的連接如圖一所示。

      圖一USB與微處理器的連接示意圖

      3 、軟件部分設(shè)計(jì)

      使用GCC可以方便的編譯avr程序

      3.1 系統(tǒng)流程

      軟件設(shè)計(jì)及其實(shí)現(xiàn)是基于WINAVR編程環(huán)境,代碼則利用C語(yǔ)言實(shí)現(xiàn)。AVR單片機(jī)主要完成兩個(gè)功能:溫度測(cè)量和數(shù)據(jù)傳送。溫度測(cè)量主要是對(duì)電壓信號(hào)進(jìn)行采樣,以確定溫度的離散數(shù)值。傳送數(shù)據(jù)則是將測(cè)量的數(shù)據(jù)通過(guò)AVR所模擬的USB端口傳至PC端,以便PC端進(jìn)行數(shù)據(jù)的顯示。其主要流程如圖二所示。

      3.2 溫度數(shù)據(jù)的采集

      ATmega8內(nèi)含一個(gè)10位逐次逼近型ADC。該ADC可與一個(gè)8通道的模擬多路復(fù)用器連接,以對(duì)來(lái)自端口C的8路單端輸入電壓進(jìn)行采樣。單端電壓輸入以0 V(GND)為基準(zhǔn)。對(duì)于連續(xù)AD數(shù)據(jù)采集,采用的是中斷法與微處理器進(jìn)行通信,即一次AD轉(zhuǎn)換結(jié)束后便產(chǎn)生中斷。設(shè)計(jì)時(shí)可利用如下函數(shù)對(duì)電壓數(shù)值進(jìn)行采集:首先定義全局變量Value,儲(chǔ)存所測(cè)量到的溫度數(shù)值,并將該值作為USB端口的發(fā)送

      3.3USB數(shù)據(jù)傳輸

      為了利用ATMEGA8模擬"軟USB",在搭建好了開發(fā)環(huán)境的前提下,在WINAVR將AVRUSB的文件配置文件夾USBDRV放置在源文件目錄下。USB接口的函數(shù)的實(shí)現(xiàn):

      (1)初始化函數(shù):使用AVRUSB前,通常都要通過(guò)調(diào)用初始化函數(shù)usbInit()來(lái)對(duì)USB端口進(jìn)行初始化,調(diào)用該函數(shù)之前,考慮到該程序可能由其他程序段跳轉(zhuǎn)而來(lái),因此,初始化之前,一般要將USB端口進(jìn)行重新復(fù)位,復(fù)位只需要將D-和D+端口的電平拉低即可;

      (2)用戶程序的主循環(huán)中需要定期調(diào)用USB事件處理函數(shù)。USB事件處理函數(shù)在沒(méi)有USB事件需要處理時(shí)將直接返回,否則將調(diào)用內(nèi)部函數(shù)來(lái)進(jìn)行相應(yīng)的事件處理,最后再將數(shù)據(jù)傳遞到用戶接口函數(shù)中,用死循環(huán)實(shí)現(xiàn)即可。一次USB通信的超時(shí)時(shí)間是50ms。所以,在編程時(shí)應(yīng)注意其他事件不要占用太長(zhǎng)的時(shí)間。

      (3)事件接口函數(shù):在用戶程序中,需要編寫USB用戶事件接口函數(shù),以完成USB通信。AVRUSB將用戶接口簡(jiǎn)化為以下3個(gè)函數(shù):usbFounctionWrite ()、usbFounctionRead()、usb-FounctionSetup(),參照功能參數(shù)表,將相應(yīng)位置1或0。

      (4)編譯文件的配置 在WINAVR軟件環(huán)境下,還需要配置MakeFile,以用于編譯編程文件。

      結(jié)束語(yǔ)

      基于AVR Atmege8 USB技術(shù)的溫度測(cè)量和顯示系統(tǒng)由于使用了一體的軟USB技術(shù),其硬件電路設(shè)計(jì)更加小巧穩(wěn)定。經(jīng)使用和測(cè)試證明:該系統(tǒng)具有性能穩(wěn)定、價(jià)格低廉等特點(diǎn)。重要的是,本系統(tǒng)提供了一種低成本的USB設(shè)計(jì)方案,同時(shí)較詳細(xì)的提供了溫度測(cè)量系統(tǒng)設(shè)計(jì)流程和部分代碼,在GCC環(huán)境下用C語(yǔ)言實(shí)現(xiàn)所有的軟件設(shè)計(jì)很簡(jiǎn)單易行。從而為中低成本的USB設(shè)備開發(fā)提供了一個(gè)較好的思路。

      [1]張洪,董秀成.基于AVR單片機(jī)的通用USB接口模塊設(shè)計(jì).國(guó)外電子元器件,2008(05).

      [2]佟長(zhǎng)福.AVR單片機(jī)GCC程序設(shè)計(jì).北京航空航天大學(xué)出版社,2006.

      [3]孫福文.基于AVR USB接口的溫度測(cè)量系統(tǒng)下位機(jī)設(shè)計(jì).電子元器件應(yīng)用,2008(11).

      [4]王晶,邱建東,甘艷.基于AVR的USB通信模塊設(shè)計(jì).鐵路計(jì)算機(jī)應(yīng)用,2009(5).

      猜你喜歡
      驅(qū)動(dòng)程序端口編程
      我家有只編程貓
      我家有只編程貓
      我家有只編程貓
      我家有只編程貓
      一種端口故障的解決方案
      端口阻塞與優(yōu)先級(jí)
      初識(shí)電腦端口
      電腦迷(2015年6期)2015-05-30 08:52:42
      生成樹協(xié)議實(shí)例探討
      驅(qū)動(dòng)程序更新與推薦
      驅(qū)動(dòng)程序更新與推薦
      吉隆县| 绥化市| 波密县| 宁海县| 嘉鱼县| 治县。| 临高县| 鞍山市| 盘山县| 明光市| 日照市| 桐柏县| 郸城县| 漯河市| 广宁县| 香格里拉县| 承德市| 凌海市| 彭水| 辽宁省| 时尚| 石河子市| 新和县| 麻江县| 广河县| 晴隆县| 来凤县| 宜兴市| 金平| 南雄市| 乐安县| 普兰店市| 马尔康县| 绵竹市| 太康县| 涞源县| 彭山县| 慈溪市| 屏南县| 琼中| 武强县|