




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(論文)題 目:usb數(shù)據(jù)采集系統(tǒng)設(shè)計二00七年六月usb通用串行總線是計算機外設(shè)接口的發(fā)展趨勢,它的最大特點就 是傳輸速度快、即插即用、易擴展,使用非常方便,被越來越廣泛的應(yīng) 用于工業(yè)控制和數(shù)字設(shè)備中。其連接方式非常靈活,既可使用串行連接, 也可使用集線器(hub)把多個設(shè)備連接在一起,與同pc機的usb接口 相連。此外,它還可以從系統(tǒng)中直接汲取電源,無需單獨的供電系統(tǒng)。本論文以西安泰達電子公司生產(chǎn)的usb20c模塊設(shè)計了一個基于usb 數(shù)據(jù)接口,數(shù)據(jù)傳輸和存儲的系統(tǒng),同時采用vb語言進行了內(nèi)部程序的 設(shè)計。關(guān)鍵字:usb 接口技術(shù) at89c51 數(shù)據(jù)采集和存儲abstractth
2、e usb universal serial bus usb is outside the computer supposes theconnection the development tendency, its most major characteristic isthe transmission speed quick, namely inserts namely with, is easy toexpand, the use is extremely convenient, by more and more widespreadapplication in industry cont
3、rol and digital equipment its connectionway extremely nimble, also may use the serial connection, also may usethe concentrator (hub) many equipment to conneel in, with is togetherconnected with the pc machine usb connection in addition, it also maydirectly derive the power source from the system, do
4、cs not need theindepcndent power supply system. west of the present paper peacefully and undisturbed reached theusb20c module which the electronic company produced to design based onthe usb data connection, the data transmission and the memory system, simultaneously used the vb language to carry on
5、the internal proceduredesignkey words: usb connectiontechnologyat89c51data acquisition and memory目 錄摘 要1abstract2第一章.前言及總體設(shè)計方案的選擇61.1. 前言61.2設(shè)計方案的選擇8121硬件:81.2.2. 軟件設(shè)計: 9第二章硬件電路的設(shè)計112.1模數(shù)轉(zhuǎn)換電路112.1.1. 51系列單片機簡介122.1.2. 模數(shù)轉(zhuǎn)換芯片的介紹及選擇242.1.3. 模數(shù)轉(zhuǎn)換電路圖262.2 usb模塊接口電路292.2.1 usb20c 模塊介紹292.2.1.2. 硬件描述312.2
6、.2usb模塊與單片機的接口電路382.2.3 .總體電路的設(shè)計41第三章軟件設(shè)計473 .1. visual basic 簡介4732 usb20c函數(shù)接口介紹47.3.2.1, usb設(shè)備操作函數(shù)473.2.2. 函數(shù)原型說明493.3程序設(shè)計533.3.1上位機程序框圖53332. vb程序設(shè)計55第四章.結(jié)論85.謝辭86附錄88.參考文獻90第一章.前言及總體設(shè)計方案的選擇1.1.前言隨著計算機技術(shù)的發(fā)展和計算機應(yīng)用的普及,計算機的通信問題成了其應(yīng)用的主 要問題之一。而現(xiàn)在廣泛使用的usb接口己經(jīng)越來越多的應(yīng)用于工業(yè)生產(chǎn)、數(shù)字設(shè)備 等領(lǐng)域。usb通用串行總線將是計算機外設(shè)接口的發(fā)展趨
7、勢,將逐漸取代pc機上的 rs232 協(xié)議口。usb具有速度快,即插即用,易擴展等優(yōu)點,被越來越廣泛的使用。但是仍然有 很多的設(shè)備上面沒有usb接口,而接收的數(shù)據(jù)乂以usb的方式出現(xiàn),那么在數(shù)據(jù)的接 收端則要求將usb信號轉(zhuǎn)換成傳統(tǒng)的rs232信號以便接收;另一方面也會出現(xiàn)一端以 rs232方式通信,而另一端為usb接口。他們都同樣的涉及到usb與rs232的相互轉(zhuǎn) 換問題。本課題所研究的內(nèi)容就是就是要設(shè)計這樣一個轉(zhuǎn)換系統(tǒng),使其能夠?qū)崿F(xiàn)他們 之間的相互轉(zhuǎn)換。要實現(xiàn)這種轉(zhuǎn)換,第一種方案是采用普通單片機加專用usb接口芯片;采用帶usb 接口的單片機,即專用us13控制器芯片。目前國外有很多半導(dǎo)體
8、廠商都設(shè)計生產(chǎn)出 自己的 usb 接口芯片,例如 usbn9602 (national semiconductor 公司)、pdtusbd 12 (philips公司)和uss820/825 (lucent公司);cygnal公司生產(chǎn)的cp201使用也相當(dāng) 方便。在國內(nèi)方面:凌陽公司生產(chǎn)的spcp825a芯片就帶有uart與usb格式轉(zhuǎn)換的功 能;南京沁恒電子公司生產(chǎn)的ch341、ch372、ch375等芯片都是很好的usb接口芯片。 這種方案的優(yōu)點是:開發(fā)人員可以利用現(xiàn)有單片機開發(fā)系統(tǒng)開發(fā)外設(shè)應(yīng)用程序,缺點 是硬件設(shè)計比較復(fù)雜,調(diào)試麻煩。第二種方案是采用西安泰達電子公司生產(chǎn)的usb20c模塊
9、為器件,usb20c是于 西安電子有限公司設(shè)計的usb2.0c設(shè)備通用接口模塊,它隱藏了通過usb總線進行數(shù) 據(jù)傳輸所需要的煩瑣技術(shù)細(xì)節(jié)應(yīng)用程序通過調(diào)用本模塊提供的函數(shù),可以把相應(yīng)的功 能轉(zhuǎn)變成模塊便件接口上的一系列脈沖和電平,發(fā)送到外圍邏輯,進行指定的數(shù)據(jù)傳輸, 從而極大的簡化usb設(shè)備的設(shè)計工作.usb設(shè)備的應(yīng)用目前在國外處于高速發(fā)展階段,在國內(nèi)也已廣泛運用,在usb 數(shù)據(jù)采集,usb工業(yè)控制等領(lǐng)域已經(jīng)取得了一定的成果,在現(xiàn)實中等到成功的運用。 usb2.0協(xié)議,數(shù)據(jù)傳輸速度高達480mbps,如此高的傳輸速率能用于1.0的傳輸速 率所無法滿足的地方。如高時實性的工業(yè)設(shè)備控制,動態(tài)圖象實時
10、傳輸?shù)?。隨著吋代 的進步和技術(shù)的發(fā)展,usb必將在更廣泛的領(lǐng)域得到更深層次得應(yīng)用。visual basic系列軟件是美國microsoft公司推出得,是很好得程序設(shè)計系統(tǒng)。我們 將借助它方便,快捷以及功能強人等特點來完成這次畢業(yè)設(shè)計。1.2設(shè)計方案的選擇1.2. 1硬件:usb20c可以作為用戶系統(tǒng)的嵌入式模塊使用,用戶無需深入了解usb的協(xié)議 及底層控制操作,就像操作pc總線一樣,通過usb接口實現(xiàn)對用戶系統(tǒng)的控制。對于筆記本電腦來說,使用usb接口的意義更加重大,通用的usb接口不僅 使筆記本電腦對外的連接變得方便,更可以使筆記本電腦生產(chǎn)廠商不再需要為不同配 件在主板上安裝不同的接口,這使
11、主板的線路,組件的數(shù)量以及復(fù)雜程度都有不用程 度的消減,從而使系統(tǒng)運行中的散熱問題得到很好的改善。也將促進更高主頻的處理 器可以迅速應(yīng)用在移動計算機中,使筆記本電腦于pc的差距進一步縮小。usb20c控制模塊發(fā)揮了 usb2.0高速數(shù)據(jù)傳輸?shù)奶攸c,尤其適合于高速數(shù)據(jù)采 集及圖象數(shù)據(jù)傳輸設(shè)備,用于醫(yī)療,地震,振動,監(jiān)控,虛擬儀器,科研實驗室,工 業(yè)生產(chǎn)現(xiàn)場領(lǐng)域的數(shù)據(jù)采集設(shè)備,特別是為便攜式筆記本電腦和h益流行的餓掌上電 腦數(shù)據(jù)采集提供了極為廣闊的發(fā)展空間。本論文的碩件主要有三部分組成:西安泰達電子公司生產(chǎn)的usb20c模塊,單 片機at89c51及模數(shù)轉(zhuǎn)換adc0809o外部模擬信號從adc08
12、09的8個輸入口進入, 經(jīng)模數(shù)轉(zhuǎn)換后變成數(shù)字信號輸出到單片機at89c51內(nèi)進行信息處理,單片機連接到 usb20c模塊上,數(shù)據(jù)傳輸?shù)侥K上進一步處理,最后連接到個人計算機中。本設(shè)計 的硬件連接框圖如下所示:個人計算機usb20c模塊at89c51adc08091.2.2. 軟件設(shè)計:usb接口數(shù)據(jù)采集系統(tǒng)軟件主要由usb芯片軟件程序,usb系統(tǒng)驅(qū)動程序和計 算機應(yīng)用程序三大部分組成。本設(shè)計采用的usb20c接口 c, usb芯片軟件程序由usb20c自帶,不需另外 編寫。usb系統(tǒng)驅(qū)動程序采用中斷方式完成軟件的編寫;同吋,為了保證程序的模塊 化及良好的可移植性,在設(shè)計中采用分層結(jié)構(gòu)進行軟件的
13、編寫。本論文的程序主要為上位機程序,考慮到大一吋學(xué)過vb程序設(shè)計,所以在本 文中的上位機程序均才用vb來編。第二章硬件電路的設(shè)計本設(shè)計要涉及大量的電路基礎(chǔ)知識,為更詳細(xì)的介紹本設(shè)計的思想,接下來將 介紹有關(guān)屯路方面的知識,包括:mcs-51系列單片機的介紹,51單片機的通信原理, usb20c的使用說明,模數(shù)轉(zhuǎn)換器a/d0809的介紹,特別是對usb20c,本章對其進 行了重點介紹。在各小節(jié)進行子電路的設(shè)計,在第三節(jié)將子電路綜合起來,進行總電 路的連接和設(shè)計。2.1模數(shù)轉(zhuǎn)換電路模擬信號轉(zhuǎn)換成數(shù)字信號示進行本設(shè)計的第一步,所以即顯得格外的重要。而 模數(shù)轉(zhuǎn)換涉及到模數(shù)轉(zhuǎn)換器選擇的問題,也涉及到單片
14、機的接口問題,所以在進行電 路設(shè)計前對51單片機及a/d轉(zhuǎn)換器進行適當(dāng)?shù)慕榻B示很有必要的。21151系列單片機簡介2. 1. 1. 1、8051 簡介mcs-51是由美國intel公司生產(chǎn)的一系列單片機的總稱,包括8031, 8051,8751, 87c5k 89c51、8032, 8052等。下圖是本課題中87c51引腳圖和邏輯符號圖:ul31191810iid 丄 134jf7 攻攻!0!1p1p1p1p1p1p1p1p1epjvpxix2ejesei38373(3j3*333221222321252i272817li° 30111039popopopopopopopop2p2p
15、2p2p2p2p2p2vccvssrr/v1d>xtallp 衛(wèi)al ea/vjppsenale/prog87c51第二功能5178>>4«y >v >口y >v <*p1a>44444>4>44丿、44>444丿> j2>>4 地址總線地址教帰總線圖3.1引腳圖和邏輯符號2. 1. 1. 2、mcs-51單片機引腳功能1、電源:單片機使用的是5v電源,其屮正極接vcc引腳,負(fù)極接vss引腳。2、振蕩電路:單片機是一種時序電路,必須提供脈沖信號才能正常工作,在單片機 內(nèi)部已集成了振蕩器。當(dāng)使用外接晶體
16、振蕩器時,接(18)、(19)腳。3、ale/prog (30):地址鎖存控制信號,高電平有效。在系統(tǒng)擴展時,ale用于控 制把po 口輸出的低8位地址鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)的隔離。4、復(fù)位電路,rst/vpd (9):復(fù)位信號輸入端。8051接通電源后,在時鐘電路作用 下,該腳上出現(xiàn)兩個機器周期(24個振蕩周期)以上的高電平,使內(nèi)部復(fù)位。第二 功能是vpd ,即備用電源輸入端。當(dāng)主電源vcc發(fā)生故障,降低到低電平規(guī)定值時, vpd將為ram提供備用電源,以保證存儲在ram屮的信號不丟失。5、ea/vpp:內(nèi)部和外部程序存儲器選擇線。ea=0時訪問外部rom 000011ffffii;
17、 ea=1 時,地址0000h0fffh空間訪問內(nèi)部rom,地址1000hffffh空間訪問外部rom。6、psen(29):片外程序存儲器選通信號,低電平有效7、輸入/輸出口引腳p()、pl、p2和p3: pod (3932):該端口為漏極開路的8位 準(zhǔn)雙向口,負(fù)載能力為8個高lsttl負(fù)載,它為8位地址線和8位數(shù)據(jù)線的復(fù)用端 口。p1 口(18):它是一個內(nèi)部帶上拉電阻的8位準(zhǔn)雙向i/o 口,p1 口的驅(qū)動能力 為4個lsttl負(fù)載。p2 口(2128):它為一個內(nèi)部帶上拉電阻的8位準(zhǔn)雙向i/o 口,p2 口的驅(qū)動能力也為4個lsttl負(fù)載。在訪問外部程序存儲器時,它作存儲器 的高8位地址
18、線。p3 口(1017): p3 口同樣是內(nèi)部帶上拉電阻的8位準(zhǔn)雙向i/o 口, p3 口除了作為一般的i/o 口使用之外,其還具有特殊功能。2. 1.1.3. > 8051單片機的結(jié)構(gòu)特點8051單片機是mcs-51系列單片機的一個產(chǎn)品omcs-51系列單片機是intel公司 推出的通用型單片機。8051單片機是hm0s工藝的,它的片內(nèi)程序存儲器rom為掩膜 型的,在制造芯片時已將應(yīng)用程序固化進去,使它具有了某種專用功能。其特點如下:1. 數(shù)據(jù)存儲器(ram):片內(nèi)為128個字節(jié)(單元),片外最多可外擴至64k字節(jié)。2. 程序存儲器(rom):片內(nèi)為4k字節(jié),片外最多可外擴至64k字節(jié)
19、。3. 中斷系統(tǒng):有5個中斷源,2級中斷優(yōu)先權(quán)。4. 定時器/計數(shù)器:2個16位的定時器/計數(shù)器,具有四種工作方式。5. 串行口: 1個全雙工的串行口,具有四種工作方式。6. 并行口: 4 個 8 位并行 i/o 口,即 p0 口、p1 口、p2 口、p3 口。7. 特殊功能寄存器(sfr):共有21個,用于對片內(nèi)各功能模塊進行管理、控制、 監(jiān)視。實際上是一些控制寄存器和狀態(tài)寄存器,是一個特殊功能的ram區(qū)。8. 位處理器(cpu):為8位的cpu, ii內(nèi)含一個1位cpu(位處理器)不僅可處理 字節(jié)數(shù)據(jù),還可進行位變量的處理。9. 片內(nèi)振蕩器及時鐘電路,具有布爾代數(shù)的運算能力。2. 1. 1
20、.4.單片機的時鐘電路與復(fù)位電路(-)時鐘系統(tǒng)的設(shè)計80c51系列單片機片內(nèi)時鐘振蕩器與外部諧振電路如圖3.2.3所示,其片內(nèi)振蕩 器與外部諧振電路構(gòu)成了一個并聯(lián)諧振的時鐘振蕩電路。外部諧振電路并行連接石英 晶體或陶瓷諧振器qc和負(fù)載電容cl、c2、qc通常都按時鐘頻率選擇相應(yīng)的石英諧 振器。80c51系列單片機可使用的外部獨立時鐘振蕩器產(chǎn)生時鐘信號。使用外部時鐘 信號時,輸入連接如圖3.2.2, 321是本課題中使用的時鐘電路:31c21930pf 丄 y111ic31ea/vpxi30pf圖 3. 2. 1x2xatl2805180c518751xatl1rfreset圖3. 2. 2cl
21、 j. c2圖3. 2. 3(二)復(fù)位電路(1) 典型的上電復(fù)位電路如圖3.3.1 (木課題中使用到):(2) 外部復(fù)位電路如圖3.3.2:(3) 上電及外部復(fù)位電路如圖3.3.3 (木課題中使用到):(4) 上電外部復(fù)位電路如圖3.3.4:yccsuf311918ea?vp+5v喘2爲(wèi)14vss_resetinto inti tot1圖3. 3. 1p1.0pl.lpl.280510rst/vpdxtal2niic24-5v圖 3. 3. 2 criia-*1ouf&r1r2圖3. 3. 3rst805187518031圖3. 3. 42. 1.1.5、系列單片機的中斷系統(tǒng)中斷是指中
22、央處理器cpu正在處理某事情的時候,外部又發(fā)生了某一件事需要 cpu迅速處理,于是cpu暫時中斷當(dāng)前的工作,轉(zhuǎn)入處理所發(fā)生的事件,中斷處理完 后在返回到原來的地方繼續(xù)處理原來的事件。8051中一共有5個中斷源:兩個外部 中斷into和int1,兩個計數(shù)/定時器中斷t1和t2, 個串行口中斷。本課題中用到 了串行中斷,int0/1,其電氣連接見電氣原理圖,在應(yīng)用程序中也有體現(xiàn)。(一)mcs-51中斷系統(tǒng)的控制寄存器定時器/計數(shù)器控制寄存器tcon (地址是88h,可以按位尋址)d7d6d5d4d3d2d1d0tf1tf0ie1it1ie0itote1/te0:外部邊沿觸發(fā)中斷請求標(biāo)志,其功能和操
23、作類似于tfoo tt1/tto:外部中斷類型控制位,通過軟件設(shè)置或清除,用于控制外中斷的觸發(fā) 信號類型。it1二1是邊沿觸發(fā),it二0是電平觸發(fā)。 sc07是串行口控制寄存器,地址為98h,低二位是串行口的發(fā)送/接收中斷標(biāo)志: tt:mcs-51串行口的發(fā)送中斷標(biāo)志,在串行口以方式0發(fā)送時,發(fā)送完8位數(shù) 據(jù),由硬件置位。但是cpu響應(yīng)中斷請求后,必須有“clrti”或“anlscon, #0fdh” 等指令來清零tt。 rt:串行口接收中斷標(biāo)志,若串行口接收器允許接收,并以方式0工作,每當(dāng)接收 到8位數(shù)據(jù)時,rt被置1,若以方式1、2、3方式工作,當(dāng)接收到半個停止位吋,ti 被置1表示串口接
24、收器正向cpu申請中斷。同樣rt標(biāo)志由用戶的軟件清“0”中斷允許寄存器te (地址為a8h,可以按位尋址)d7d6d5d4d3d2didoeaeset1exietoexo ea:中斷總控制位,ea二1, cpu開放中斷。ea二0, cpu禁止所有中斷 es:串行口中斷控制位,es二1允許串行口中斷,es=o,屏蔽串行口中斷。et1/0:定時/計數(shù)器t1中斷控制位。et1為1允許t1中斷,為0禁止t1中斷。ex1/0:外中斷1中斷控制位,ex1為1允許外中斷1中斷,為0禁止中斷。中斷優(yōu)先級寄存器tp8051單片機有高/低優(yōu)先級兩個中斷優(yōu)先級,每個中斷源都可以編程為高優(yōu)先級 和低優(yōu)先級。兩級中斷通
25、過使用tp寄存器設(shè)置,地址為b8h,可以按位尋址:d7d6d5d4d3d2d1do卩spt1px1卩t0pxo其中各位為1時,被聲明為高優(yōu)先級中斷,為0時聲明為低優(yōu)先級中斷。8051復(fù)位吋,ip被請“0” , 5個中斷源都在同一優(yōu)先級,若幾個中斷源同吋 產(chǎn)生中斷請求,則cpu按照片內(nèi)硬件優(yōu)先級鏈路的順序響應(yīng)中斷,順序如下:中斷源外部中斷0 (te0)高定時器/計數(shù)器0 (tf0)外部中斷1 (ie1)定時器/計數(shù)器1 (tf1)串行口中斷(rt/tt)低(二)中斷響應(yīng)過程中斷響應(yīng)的條件:mcs-51工作時,在每個機器周期中都會去查詢一下各個中斷 標(biāo)記,在下列三種情況之一時,cpu將封鎖對中斷的
26、響應(yīng):(1) cpu正在處理一個同級或更高級別的中斷請求。(2) 現(xiàn)行的機器周期不是當(dāng)前正執(zhí)行指令的最后一個周期。要等整條指令都執(zhí)行完 了,才能響應(yīng)中斷。(3) 當(dāng)前正執(zhí)行的指令是返冋批令(rett)或訪問ip、te寄存器的指令,則cpu 至少再執(zhí)行一條指令才應(yīng)中斷。cpu響應(yīng)中斷時,把當(dāng)前下一條指令的地址送入堆棧,根據(jù)中斷標(biāo)記,將中斷入 口地址送入pc程序指針,cpu取指令根據(jù)pc中的值,程序就會轉(zhuǎn)到中斷入口處繼續(xù) 執(zhí)行。每個中斷向量地址間隔了 8個單元,如0003000b,在中斷處安排一個ljmp 指令,這樣就可以把中斷程序跳轉(zhuǎn)到任何地方,例如:org 0000hijmp start ;跳
27、轉(zhuǎn)主程序org 0003hijmp into ;轉(zhuǎn)外中斷oorg ooobhrett中斷程序完成后,執(zhí)行一條reti指令,執(zhí)行這條指令后,cpu將會把堆棧中保 存著的地址取出,送冋pc,那么主程序就會從主程序的中斷處繼續(xù)往下執(zhí)行了。中斷優(yōu)先級處理與中斷嵌套:優(yōu)先級的問題發(fā)生在幾個中斷同時產(chǎn)生的情況,或 者是已發(fā)生在一個中斷,又有一個中斷產(chǎn)生吋的情況。如果有低優(yōu)先級的中斷正在執(zhí) 行,那么高優(yōu)先級的中斷岀現(xiàn),cpu則會響應(yīng)這個高優(yōu)先級中斷,即高優(yōu)先級中斷可 以打斷低優(yōu)先級中斷,反之則不行。下圖面是一個中斷嵌套流程:圖3.4中斷嵌套圖主程序高級中斷2. 1,1.6.控制寄存器8051單片機通過引腳r
28、xd (p3.0,串行數(shù)據(jù)接收端)和引腳txd (p3.1,串行數(shù) 據(jù)發(fā)送端)與外界通訊。sbuf是串行口緩沖寄存器,包括發(fā)送寄存器和接收寄存器。 它們有相同名字和地址空間,但不會出現(xiàn)沖突。串行通信控制寄存器scon表二:串行口的工作方式及接收/發(fā)送控制。字節(jié)地址為98h,其各位定義如下數(shù)據(jù)位d7d6d5d4d3d2d1d0位名稱sm0sm1sm2rentb8rb8tiri位地址9fh9eh8dh9ch9bh9ah99h98h表三:(l)sm0、sm1:串行口工作方式選擇位,其定義如下smo、sm1工作方式功能描述波特率00方式08位移位寄存器fosc/1201方式110 位 uart可變10
29、方式211 位 uartfosc/64 或 fosc/3211方式311 位 uart可變其中fosc為晶振頻率(2).sm2:多機通信控制位多機通信是工作于方式2和方式3。本課題不涉及,在此不作介紹。(3). ren:允許接收位ren用于控制數(shù)據(jù)接收的允許和禁止,ren=1時允許接收,ren二0時禁止接 收。(4) .tb8:發(fā)送接收數(shù)據(jù)位8在方式2和方式3中,tb8是第9位數(shù)據(jù)位。在多機通信中同樣亦要傳輸這 一位,并口它代表傳輸?shù)牡刂愤€是數(shù)據(jù),tb8二0為數(shù)據(jù),tb8二1時為地址。(5) .rb8:接收數(shù)據(jù)位8在方式2和方式3中,rb8存放接收到的第9位數(shù)據(jù),用以識別接收的數(shù)據(jù) 特征。(6
30、) .tt/rt:發(fā)送/接收中斷標(biāo)志位,在前面中斷一章已作介紹。電源管理寄存器pc0n:主要是設(shè)置sm0d位,當(dāng)sm0d二1時,串行口波特率加倍。 系統(tǒng)復(fù)位默認(rèn)為sm0d=0o中斷允許寄存器te:其中es二1允許串行中斷,es二0,禁止串行中斷。在本課題中既涉及到的單片機對其性能及內(nèi)存無特殊要求,可選最常用的一種, 例如at89c51單片機。2.1.2. 模數(shù)轉(zhuǎn)換芯片的介紹及選擇在測控系統(tǒng)中。除了數(shù)字量之外,述存在大量的模擬量,女山溫度,壓力, 流量,速度,電壓,電流等。而計算機只能處理數(shù)字量,要實現(xiàn)對模擬量的測量和 控制,首先必須將模擬量轉(zhuǎn)換成數(shù)字量(a/d轉(zhuǎn)換)。相反。計算機輸出時有時也
31、需要將數(shù)字量轉(zhuǎn)換成模擬量(d/a轉(zhuǎn)換)。目前,a/d轉(zhuǎn)換和d/a轉(zhuǎn)換電路都已集 成化,它們就有體積小,功能強,可靠性高,誤差小,功耗底,與計算機接口簡單 等特點。a/d轉(zhuǎn)換是把模擬量轉(zhuǎn)換成數(shù)字量的過程.a/d轉(zhuǎn)換的方法很多,如:頻率法. 雙斜積分法,逐次逼近法等其性能指標(biāo)也很多,如:分辨率,轉(zhuǎn)換時間,轉(zhuǎn)換精度,電源, 輸出特性等.adc0809是一種典型的a/d轉(zhuǎn)換器.它是采用逐次逼近法的8位8通道的a/d 轉(zhuǎn)換器.+5v單電源供電.轉(zhuǎn)換時間在loous左右.adc0809為28引腳,雙列直插芯片,其引腳如圖8-51所示.各引腳功能如下:1in31n2 -ixr t i2ini -3in51n
32、0 -4 1in6adda -5 in7addb -6 startaddc -7eocai£ -8d3d7 -9 1oe06 -10 clockd5 -11 vccim -12vreh+)do -13 gndvrer-)-14did2adcd8092827262524232221201918171615in7in0 :8位模擬量輸入端;d7d0 :8位數(shù)字量輸出端口;start :a/d轉(zhuǎn)換啟動信號輸入端;ale :地址鎖存應(yīng)許信號.高電平有效;eoc :轉(zhuǎn)換結(jié)束信號,高電平有效;0e :輸出應(yīng)許控制信號,高電平有效;clk :時鐘信號輸入端;a.b.c:轉(zhuǎn)換通道的地址;vref(+
33、): 參考電源的正端;vref(-): 參考電源的負(fù)端;vcc:電源負(fù)端;gnd:地.adc0809由一個8位a/d轉(zhuǎn)換器,一個8路模擬開關(guān),8路模擬地址鎖存譯碼器 和一個三態(tài)數(shù)據(jù)輸出鎖存器組成.當(dāng)ale為高電平時,通道地址輸入到地址鎖存器中,下降沿將地址鎖存,并譯碼. 在start上跳沿時,所有的內(nèi)部寄存器清0,在下降沿時,開始進行a/d轉(zhuǎn)換,此期間 start應(yīng)保持低電平.需要注意的是,在start下降沿后10us左右,轉(zhuǎn)換結(jié)果信號eoc 變?yōu)榈碗娖?eoc低電平時,表示正在轉(zhuǎn)換,變?yōu)楦唠娖綍r,表示轉(zhuǎn)換結(jié)束.oe為輸出應(yīng) 許信號,控制三態(tài)輸出鎖存器輸出數(shù)據(jù),oe=1,應(yīng)許轉(zhuǎn)換結(jié)果輸出.因本
34、設(shè)計對模數(shù)轉(zhuǎn)換器并無特殊要求,所以一般的模數(shù)轉(zhuǎn)換芯即可實現(xiàn)將進入的模擬信號轉(zhuǎn)換為數(shù)字信號。本設(shè)計采用最常用的轉(zhuǎn)換芯片adc0809o2.1.3. 模數(shù)轉(zhuǎn)換電路圖2. 1. 3. 1.單片機與adc0809的連接是一個很常見的數(shù)模轉(zhuǎn)換電路,現(xiàn)將在本設(shè)計中 要用到的此電路略畫如下:p0at89c51aleintiwrp2.0rddo d7abcclkeoc/4startaleoe2. 1 3. 2單片機內(nèi)數(shù)據(jù)采集的子程序:數(shù)據(jù)采集框圖org 0000h主程序ajmp mainorg 0013hmov r7,#08h置int1邊沿觸發(fā)置數(shù)據(jù)首地址及通道計 數(shù)器,通道地址為in0ajmp pint1m
35、ain:mov rl,#30hmov dptr, #fef8hsetb tt1啟動i no a/dsetb ext8路采完setb ea禁止inti中斷movx dptr aloop:mov a,r7jnz loop結(jié)朿clr extsjmp $ptnt1:movx a, dptrmovx r1,atnc r1tnc dptrdec r7movx dptr,aret12.2 usb模塊接口電路這個模塊接口電路是木設(shè)計的重點設(shè)計電路,依據(jù)usb模塊的說明及單片機的 相關(guān)知識,即可設(shè)計出滿意的電路。因此,在論文中對usb模塊進行詳細(xì)的介紹就 顯得很有必要了。2. 2. 1 usb20c模塊介紹2.
36、 2.1.1.模塊參數(shù)。usb20c是于四安電子有限公司設(shè)計的u sb2.0c設(shè)備通用接口模塊,它隱藏了通過 usb總線進行數(shù)據(jù)傳輸所需耍的煩瑣技術(shù)細(xì)節(jié).應(yīng)用程序通過調(diào)用本模塊提供的函數(shù), 可以把相應(yīng)的功能轉(zhuǎn)變成模塊碩件接口上的一系列脈沖和電平,發(fā)送到外圍邏輯,進行 指定的數(shù)據(jù)傳輸,從而極大的簡化usb設(shè)備的設(shè)計工作本模塊提供兩種數(shù)據(jù)傳輸模式地址to模式批量數(shù)據(jù)傳輸模式以設(shè)計一個ad數(shù)據(jù) 采集器為例可以使用地址to模式執(zhí)行初始化設(shè)置采樣參數(shù)讀取狀態(tài)等功能使用批量 數(shù)據(jù)傳輸模式讀取采樣得到的大批量數(shù)據(jù)本模塊是一個usb2. 0設(shè)備同時也兼容usb1. 1標(biāo)準(zhǔn)但是會降低數(shù)據(jù)傳輸速度標(biāo)準(zhǔn)usb接口高
37、性能usb接口器件符合通用串行總線usb2. 0版規(guī)范高速dma讀寫控制讀寫速度大于20mbyte/scc系統(tǒng)驅(qū)動文件dll動態(tài)連接庫用戶不必編寫任何驅(qū)動程序mt工藝低功耗系統(tǒng)超小體積模塊化設(shè)計,無需外接電源簡化的標(biāo)準(zhǔn)外部總線:8位數(shù)據(jù)總線雙向5位地址總線單向輸出9根讀寫控制線配備12c存儲模塊提供一個48mhz (30mhz)的時鐘輸出提供5v電源輸出usb20c可以作為用戶系統(tǒng)的嵌入式模塊使用用戶無需深入了解usb的協(xié)議及底 層控制方法就像操作pc總線一樣通過usb接口實現(xiàn)對用戶系統(tǒng)的控制對于筆記本電腦來說使用usb接口的意義更加重大通用的usb接口不僅使筆記 本電腦對外的連接變得方便更可
38、以使筆記本電腦生產(chǎn)廠商不再需要為不同配件在主 板上安置不同的接口這使主板的線路組件的數(shù)量以及復(fù)雜程度都有不同程度的削減 從而使系統(tǒng)運行中的散熱問題得到了改善也將促進更高主頻的處理器可以迅速應(yīng)用 在移動計算機中使筆記本電腦與桌面pc的差距進一步縮小usb20c控制模塊發(fā)揮了 usb2. 0高速數(shù)據(jù)傳輸?shù)奶攸c尤其適合于高速數(shù)據(jù)采集 及圖像數(shù)據(jù)傳輸設(shè)備用于醫(yī)療地震振動監(jiān)控虛擬儀器科研實驗室工業(yè)生產(chǎn)現(xiàn)場領(lǐng)域 的數(shù)據(jù)采集設(shè)備特別是為便攜式筆記本電腦和口益流行的掌上電腦數(shù)據(jù)采集提供了 極為廣闊的發(fā)展空間 gnd5voui pvrfa4 prdfa3 pwatfa2gndfa1 clkoutfaognddn
39、1acs dn1ardpktend dmawrdmadir ncdmaoe gnddmaing 1klknc gnd rfoempty solhfofull sdahfoprogfdofd7 fd1fd6fd2fd5fd3fd4gndgndusb20c4039亙37豆3533323?豆互互互2?usb20c模塊示意圖2. 2. 1.2.硬件描述本模塊提供了 8位數(shù)據(jù)總線5位地址總線3位地址io所需的控制信號9位批量傳 輸所需的控制信號以及其他的輔助控制信號輔助控制信號本模塊提供了 4根輔助控制信號dmaingclkoutsclsdadmaing正在批量數(shù)據(jù)傳輸指示信。本信號為數(shù)據(jù)傳輸模式指示信
40、號由本模塊輸出高電平指示工作于批量數(shù)據(jù)傳輸模式低電平指示工作于地址io模式本信號由函數(shù) usb20c_startdmaread usb20c_startdmawrite 設(shè)置為 高電平由函數(shù)usb20c_enddma設(shè)置為低電平clkout模塊內(nèi)單片機時鐘輸出信號本信號輸出模塊內(nèi)單片機的時鐘木信號由函數(shù)usb20c_setcpucs控制可以設(shè)定時鐘的頻率是否輸出是否翻轉(zhuǎn)sclsda外接i2c器件信號本信號用于外擴i2c存儲器使用時需要把本模塊的這兩個信號管腳與外擴的 i2c器件的相應(yīng)管腳相連這兩個信號已經(jīng)在模塊內(nèi)上拉不需要外部上拉外擴i2c存儲器件的芯片地址只能是23456之一地址017己經(jīng)被
41、本模塊使用外 擴器件不得使用scl u寸鐘信號上的工作頻率可以由函數(shù)usb20c_seti2cfrequency函數(shù)選擇為 400khz/100khz2.1 2.1.1 2.1.2 2.1.3xi'an data electronic co. ltd.85277568 5 usb20c使用說明 西安達泰電子有限責(zé)任公司2.2數(shù)據(jù)總線本模塊提供8位寬的數(shù)據(jù)總線兩種數(shù)據(jù)傳輸模式共用此數(shù)據(jù)總線當(dāng)工作于地址 io模式并且pwr信號有效或者工作于批量傳輸模式dmard信號有效并且 dmacsdmaoe有效時數(shù)據(jù)總線處于輸出狀態(tài)否則數(shù)據(jù)總線處于輸入狀態(tài)地址總線本模塊提供
42、5位寬的地址總線地址總線總是由本模塊輸出以下函數(shù)可以改變地址usb20c_setaddressusb20cjnputusb20c_outputusb2oc_mult1nputusb20c_multoutputusb20c_mixedio當(dāng)使用后三個函數(shù)時地址會根據(jù)函數(shù)的參數(shù)而改變函數(shù)調(diào)用結(jié)束后地址為函數(shù)參數(shù)指定的最后一個地址2.3xi'an data electronic co. ltd.85277568 6 usb20c使用說明西安達泰電子有限責(zé)任公司2.4地址10所需的控制信號本模塊提供了 3個地址io所需的控制信號pwrprdpwaitpwr地址寫本信
43、號為地址寫的寫脈沖是一個低電平脈沖本脈沖由函數(shù)usb20cj3utputusb20c_multoutput產(chǎn)生當(dāng)進行一次地址寫時本模塊首先更新地址總線把數(shù)據(jù)總線定義為輸出并輸出數(shù) 據(jù)然后使pwr=0接著判斷pwait狀態(tài)等待pwait= 1此吋可以等待外部單片機等慢 速邏輯執(zhí)行或者超時超時時間由模塊內(nèi)單片機的工作頻率決定具體時間待測最后使 pwr=1把數(shù)據(jù)總線定義為輸入完成一次地址寫prd地址讀本信號為地址讀的讀脈沖是一個低屯平脈沖本脈沖由函數(shù)usb20cjnputusb20c_multinput產(chǎn)牛當(dāng)進行一次地址讀時本模塊首先更新地址總線把數(shù)據(jù)總線定義為輸入使prd=o 接著判斷pwait狀
44、態(tài)等待pwait二1或者超時然后從地址總線讀取數(shù)據(jù)并把此數(shù)據(jù) 返冋主機最后使prd=1完成一次地址讀pwait等待外圍邏輯本信號為一個輸入信號一般情況下當(dāng)外部邏輯為單片機等慢速邏輯時需要使用 本信號如果外部邏輯為一個cpld則可以懸空本信號管腳當(dāng)外部邏輯為單片機等慢速邏輯吋先由外部邏輯把本信號拉低則本模塊在地址 io時會在pwrprd脈沖有效后會插入等待周期等待外部邏輯執(zhí)行完指定的讀/寫后 外部邏輯把本信號拉高本模塊檢測到pwait= 1后結(jié)束pwrprd脈沖外部邏輯檢測 到pwrprd無效后再次使pwait=o準(zhǔn)備好下一次讀/寫地址10的時序圖注圖中pwait信號應(yīng)該反向241 2.4.2
45、2.4.3 2.4.4xi9an data electronic co. ltd.85277568 7 usb20c使用說明西安達泰電子有限責(zé)任公司注圖屮pwait信號應(yīng)該反向xi'an data electronic co. ltd.85277568 8 usb20c使用說明西安達泰電子有限責(zé)任公司2.5批量數(shù)據(jù)傳輸所需的控制信號 木模塊提供了 9個批量數(shù)據(jù)傳輸所需要的信號他們分別是dmacsdmarddmawrdmadirdmaoepktendfifoemptyfifofullifclkdmacs模塊選擇信號由外部邏輯提供低電
46、平有效當(dāng)整個設(shè)備需要木模塊與其他外部邏輯需要共享數(shù)據(jù)總線時使dmacsr可以 使本模塊斷開與外部總線的鏈接本模塊將忽略dmarddmawrdmaoepktend信 號dmard由外部邏輯提供低電平脈沖有效當(dāng)使用usb20c_dmawrite從主機向設(shè)備寫數(shù)據(jù)時數(shù)據(jù)首先從主機傳送到本 模塊內(nèi)的緩沖區(qū)內(nèi)外部邏輯使用dmard脈沖從本模塊的緩沖區(qū)內(nèi)讀取主機發(fā)來的 數(shù)據(jù)當(dāng)dmaoe有效吋讀到的數(shù)據(jù)在dmard為低電平時從數(shù)據(jù)總線輸出當(dāng) dmaoe無效時數(shù)據(jù)總線懸空但是dmard脈沖依然有效只不過數(shù)據(jù)不能輸出dmawr由外部邏輯提供低電平脈沖有效當(dāng)使用usb20c_dmaread主機從設(shè)備讀數(shù)據(jù)時外部邏
47、輯首先使用dmawr 脈沖把數(shù)據(jù)寫入木模塊的緩沖區(qū)內(nèi)然后數(shù)據(jù)從木模塊內(nèi)的緩沖區(qū)內(nèi)傳輸?shù)街鳈Cdmadir讀/寫控制信號由木模塊輸出高屯平批量讀數(shù)據(jù)數(shù)據(jù)從設(shè)備傳向主機低電平批量寫數(shù)據(jù)數(shù)據(jù)從主機傳向設(shè)備dmaoe由外部邏輯提供低電平有效當(dāng)dmaoe有效時外部邏輯從本模塊內(nèi)部緩沖區(qū)讀數(shù)據(jù)時在dmard為低電平 時讀到的數(shù)據(jù)從數(shù)據(jù)總線輸出當(dāng)dmaoe無效時數(shù)據(jù)總線懸空但是dmard脈沖依 然有效只不過數(shù)據(jù)不能輸出pktend由外部邏輯提供低電平脈沖有效在批量讀數(shù)據(jù)時外部邏輯使用dmawr把數(shù)據(jù)寫入本模塊內(nèi)部緩沖區(qū)每寫滿一 個數(shù)據(jù)包后如果本模塊連接在usb2.0總線上則每個數(shù)據(jù)包為512字節(jié)如果連接在 u
48、sb1.1總線上則數(shù)據(jù)包為64字節(jié)數(shù)據(jù)會自動傳送到主機如果需要傳輸一個不滿的數(shù) 據(jù)包短包比如需要傳輸31個字節(jié)則外部邏輯應(yīng)該在寫31個字節(jié)數(shù)據(jù)后產(chǎn)生一個 pktend脈沖本模塊接收到一個pktend脈沖后會把接收到短包發(fā)送回主機fifoempty木模塊內(nèi)部緩沖區(qū)空標(biāo)志由木模塊輸出低電平有效木信號在批量寫數(shù)據(jù)時使用本模塊內(nèi)部提供了 2048字節(jié)的批量寫數(shù)據(jù)緩沖區(qū)在批量寫數(shù)據(jù)時主機首先發(fā)送 數(shù) 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7xi9an data electronic co. ltd.85277568 9 usb20c使
49、用說明西安達泰電子有限責(zé)任公司據(jù)到本模塊的內(nèi)部緩沖區(qū)本模塊接收到數(shù)據(jù)后會使本信號無效表示內(nèi)部緩沖區(qū) 已經(jīng)有數(shù)據(jù)共外部邏輯讀取外部邏輯檢測到本信號無效開始從本模塊緩沖區(qū)讀取數(shù) 據(jù)數(shù)據(jù)全部讀出后本信號重新有效此時外部邏輯應(yīng)停止從本模塊讀取數(shù)據(jù)fifofull木模塊內(nèi)部緩沖區(qū)滿標(biāo)志由木模塊輸出低電平有效木信號在批量讀數(shù)據(jù)時使用本模塊內(nèi)部提供了 2048字節(jié)的批量讀數(shù)據(jù)緩沖區(qū)在批量讀數(shù)據(jù)時如果本模塊的 內(nèi)部緩沖區(qū)不滿則模塊使本信號無效表示可以向本模塊內(nèi)部緩沖區(qū)寫數(shù)據(jù)外部邏輯 檢測到正在批量讀數(shù)據(jù)而且木信號無效開始向木模塊寫數(shù)據(jù)每寫滿一個標(biāo)準(zhǔn)數(shù)據(jù)包 如果本模塊連接在usb2.0總線上則每個數(shù)據(jù)包為512
50、字節(jié)如果連接在usb1總線 上則數(shù)據(jù)包為64字節(jié)后如果主機正在使用usb20c_dmaread函數(shù)讀取數(shù)據(jù)則數(shù) 據(jù)自動發(fā)送到主機如果主機一直沒有讀取數(shù)據(jù)則在外部邏輯寫滿2048個字節(jié)后模塊 內(nèi)部緩沖區(qū)滿本信號有效此時外部邏輯應(yīng)停止寫數(shù)據(jù)。2. 2. 2usb模塊與單片機的接口電路根據(jù)以上usb模塊的說明,可設(shè)計出多個其與單片機的接口電路,例如以下 兩種:數(shù)據(jù)總線db7.o<>p0地址總線addi4.op1.0-p1.4pwrp1.5prdp1.6pwaitp1.7dmamg>p2.0dmadirp2.1fifoemptyp2.2fifofullp2.3dmacsp3.4dma
51、oep2.5pktendp2.6dmawrwrdmardrdusb20c模塊方法單片機usb20c模塊方法二單片機考慮到本設(shè)計的內(nèi)部程序不大,不需要太多的擴展,且盡量使設(shè)計更簡單,本 設(shè)計采用第一種連現(xiàn)方法,既采用5根地址線,8根數(shù)據(jù)線。為了進一步提高數(shù)據(jù)采集的效率,本設(shè)計采用屮斷工作方式。首先求定時器初值:我們利用定時器每隔1毫秒控制產(chǎn)生寬度為2個機器周期 的負(fù)脈沖,由p1.0送出。時鐘頻率為12mhzo設(shè)定時器初值為x,則定時* 1毫秒時,應(yīng)有:(213-x) * 10 °二 1*10'?式中機器周期為1毫秒,可求的x=7096=l 1011101 u000b,其中高8位ddh 賦給tho,底五位賦給tlo,由于系統(tǒng)復(fù)位后,tmod被清,正好處于定時器方式0狀 態(tài),且gate=0,也可步設(shè)置tmodo程序如下
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 承包地轉(zhuǎn)包合同協(xié)議書
- 燒烤店合同解除協(xié)議書
- 考科目二協(xié)議書
- 退出入股協(xié)議書
- 費用資助協(xié)議書
- 藥品上市協(xié)議書
- 土地置換及建設(shè)協(xié)議書
- 茶葉代賣協(xié)議書
- 紙廠銷毀協(xié)議書
- 未施工合同解除協(xié)議書
- 學(xué)校食堂“三同三公開”制度實施方案
- ?;否{駛員押運員安全培訓(xùn)
- 2025年福建福州地鐵集團有限公司招聘筆試參考題庫含答案解析
- 肝硬化行TIPS術(shù)后整體護理查房
- 人工智能在新聞媒體領(lǐng)域的應(yīng)用
- 【MOOC】儒家倫理-南京大學(xué) 中國大學(xué)慕課MOOC答案
- 銀保部三年規(guī)劃
- 2024治安調(diào)解協(xié)議書樣式
- 零工市場(驛站)運營管理 投標(biāo)方案(技術(shù)方案)
- 小學(xué)二年級數(shù)學(xué)找規(guī)律練習(xí)題及答案
- 智研咨詢重磅發(fā)布:2024年中國航運行業(yè)供需態(tài)勢、市場現(xiàn)狀及發(fā)展前景預(yù)測報告
評論
0/150
提交評論