




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、畢業設計(論文)題 目:USB數據采集系統設計專 業:精密機械制造與維修班 次: 0 4 4 4 1- 2 5 姓 名: 鐘 燕 飛 指導老師: 樂 老 師 成都電子機械高等專科學校二OO七年六月摘 要USB通用串行總線是計算機外設接口的發展趨勢,它的最大特點就是傳輸速度快、即插即用、易擴展,使用非常方便,被越來越廣泛的應用于工業控制和數字設備中。其連接方式非常靈活,既可使用串行連接,也可使用集線器(HUB)把多個設備連接在一起,與同PC機的USB接口相連。此外,它還可以從系統中直接汲取電源,無需單獨的供電系統。本論文以西安泰達電子公司生產的USB20C模塊設計了一個基于USB數據接口,數據傳
2、輸和存儲的系統,同時采用VB語言進行了內部程序的設計。關鍵字: USB 接口技術 AT89C51 數據采集和存儲AbstractThe 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 c
3、onvenient, by more and more widespreadapplication in industry control and digital equipment. Its connectionway extremely nimble, also may use the serial connection, also may usethe concentrator (HUB) many equipment to connect in, with is togetherconnected with the PC machine USB connection. In addit
4、ion, it also maydirectly derive the power source from the system, does not need theindependent 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
5、 the memory system,simultaneously used the VB language to carry on the internal proceduredesign. Key Words:USB Connection technology AT89C51Data acquisition and memory目 錄摘 要2Abstract2第一章前言及總體設計方案的選擇41.1前言41.2 設計方案的選擇51.2.1硬件:51.2.2軟件設計:6第二章 硬件電路的設計72.1 模數轉換電路72.1.1 51系列單片機簡介72.1.2. 模數轉換芯片的介紹及選擇142.1
6、.3模數轉換電路圖152.2 USB模塊接口電路162.2.1 USB20C模塊介紹162.2.1.2硬件描述17.模塊與單片機的接口電路20.總體電路的設計23第三章 軟件設計25.1Visual Basic簡介253.2. USB20C函數接口介紹25.3.2.1,USB設備操作函數253.2.2函數原型說明26. 程序設計283.3.1上位機程序框圖283.3.2 VB程序設計29第四章結論41謝辭42附錄43參考文獻44第一章前言及總體設計方案的選擇1.1前言 隨著計算機技術的發展和計算機應用的普及,計算機的通信問題成了其應用的主要問題之一。而現在廣泛使用的USB接口已經越來越多的應用
7、于工業生產、數字設備等領域。USB通用串行總線將是計算機外設接口的發展趨勢,將逐漸取代PC機上的RS232協議口。USB具有速度快,即插即用,易擴展等優點,被越來越廣泛的使用。但是仍然有很多的設備上面沒有USB接口,而接收的數據又以USB的方式出現,那么在數據的接收端則要求將USB信號轉換成傳統的RS232信號以便接收;另一方面也會出現一端以RS232方式通信,而另一端為USB接口。他們都同樣的涉及到USB與RS232的相互轉換問題。本課題所研究的內容就是就是要設計這樣一個轉換系統,使其能夠實現他們之間的相互轉換。要實現這種轉換,第一種方案是采用普通單片機加專用USB接口芯片;采用帶USB接口
8、的單片機,即專用US13控制器芯片。目前國外有很多半導體廠商都設計生產出自己的USB接口芯片,例如USBN9602 (National Semiconductor公司)、PDIUSBD I2 (Philips公司)和USS820/825 (Lucent公司);Cygnal公司生產的CP201使用也相當方便。在國內方面:凌陽公司生產的SPCP825A芯片就帶有UART與USB格式轉換的功能;南京沁恒電子公司生產的CH341、CH372、CH375等芯片都是很好的USB接口芯片。這種方案的優點是:開發人員可以利用現有單片機開發系統開發外設應用程序,缺點是硬件設計比較復雜,調試麻煩。第二種方案是采用
9、西安泰達電子公司生產的USB20C模塊為器件,USB20C是于西安電子有限公司設計的USB2.0C設備通用接口模塊,它隱藏了通過USB總線進行數據傳輸所需要的煩瑣技術細節.應用程序通過調用本模塊提供的函數,可以把相應的功能轉變成模塊硬件接口上的一系列脈沖和電平,發送到外圍邏輯,進行指定的數據傳輸,從而極大的簡化USB設備的設計工作.USB設備的應用目前在國外處于高速發展階段,在國內也已廣泛運用,在USB數據采集,USB工業控制等領域已經取得了一定的成果,在現實中等到成功的運用。USB2.0協議,數據傳輸速度高達480MBPS,如此高的傳輸速率能用于1.0的傳輸速率所無法滿足的地方。如高時實性的
10、工業設備控制,動態圖象實時傳輸等。隨著時代的進步和技術的發展,USB必將在更廣泛的領域得到更深層次得應用。VISUAL BASIC 系列軟件是美國MICROSOFT公司推出得,是很好得程序設計系統。我們將借助它方便,快捷以及功能強大等特點來完成這次畢業設計。1.2 設計方案的選擇1.2.1硬件: USB20C可以作為用戶系統的嵌入式模塊使用,用戶無需深入了解USB的協議及底層控制操作,就像操作PC總線一樣,通過USB接口實現對用戶系統的控制。對于筆記本電腦來說,使用USB接口的意義更加重大,通用的USB接口不僅使筆記本電腦對外的連接變得方便,更可以使筆記本電腦生產廠商不再需要為不同配件在主板上
11、安裝不同的接口,這使主板的線路,組件的數量以及復雜程度都有不用程度的消減,從而使系統運行中的散熱問題得到很好的改善。也將促進更高主頻的處理器可以迅速應用在移動計算機中,使筆記本電腦于PC的差距進一步縮小。USB20C控制模塊發揮了USB2.0高速數據傳輸的特點,尤其適合于高速數據采集及圖象數據傳輸設備,用于醫療,地震,振動,監控,虛擬儀器,科研實驗室,工業生產現場領域的數據采集設備,特別是為便攜式筆記本電腦和日益流行的餓掌上電腦數據采集提供了極為廣闊的發展空間。本論文的硬件主要有三部分組成:西安泰達電子公司生產的USB20C模塊,單片機AT89C51及模數轉換ADC0809。外部模擬信號從AD
12、C0809的8個輸入口進入,經模數轉換后變成數字信號輸出到單片機AT89C51內進行信息處理,單片機連接到USB20C模塊上,數據傳輸到模塊上進一步處理,最后連接到個人計算機中。本設計的硬件連接框圖如下所示:ADC0809AT89C51USB20C模塊個人計算機1.2.2軟件設計:USB接口數據采集系統軟件主要由USB芯片軟件程序,USB系統驅動程序和計算機應用程序三大部分組成。本設計采用的USB20C接口c,USB芯片軟件程序由USB20C 自帶,不需另外編寫。USB系統驅動程序采用中斷方式完成軟件的編寫;同時,為了保證程序的模塊化及良好的可移植性,在設計中采用分層結構進行軟件的編寫。本論文
13、的程序主要為上位機程序,考慮到大一時學過VB程序設計,所以在本文中的上位機程序均才用VB來編。第二章 硬件電路的設計本設計要涉及大量的電路基礎知識,為更詳細的介紹本設計的思想,接下來將介紹有關電路方面的知識,包括:MCS-51系列單片機的介紹,51單片機的通信原理,USB20C的使用說明,模數轉換器A/D0809的介紹,特別是對USB20C,本章對其進行了重點介紹。在各小節進行子電路的設計,在第三節將子電路綜合起來,進行總電路的連接和設計。2.1 模數轉換電路模擬信號轉換成數字信號示進行本設計的第一步,所以即顯得格外的重要。而模數轉換涉及到模數轉換器選擇的問題,也涉及到單片機的接口問題,所以在
14、進行電路設計前對單片機及轉換器進行適當的介紹示很有必要的。2.1.1 51系列單片機簡介2.1.1.1、8051簡介MCS-51 是由美國INTEL公司生產的一系列單片機的總稱,包括8031,8051,8751,87C51、89C51、8032,8052等。下圖是本課題中87C51引腳圖和邏輯符號圖:圖3.1 引腳圖和邏輯符號2.1.1.2、MCS-51單片機引腳功能1、電源:單片機使用的是5V電源,其中正極接VCC引腳,負極接VSS引腳。2、振蕩電路:單片機是一種時序電路,必須提供脈沖信號才能正常工作,在單片機內部已集成了振蕩器。當使用外接晶體振蕩器時,接(18)、(19)腳。 3、ALE/
15、PROG (30):地址鎖存控制信號,高電平有效。在系統擴展時,ALE用于控制把P0口輸出的低8位地址鎖存起來,以實現低位地址和數據的隔離。4、復位電路,RST/VPD (9):復位信號輸入端。8051接通電源后,在時鐘電路作用下,該腳上出現兩個機器周期(24個振蕩周期)以上的高電平,使內部復位。第二功能是VPD ,即備用電源輸入端。當主電源VCC 發生故障,降低到低電平規定值時,VPD 將為RAM提供備用電源,以保證存儲在RAM中的信號不丟失。5、EA/VPP:內部和外部程序存儲器選擇線。EA=0時訪問外部ROM 0000HFFFFH;EA=1時,地址0000H0FFFH空間訪問內部ROM,
16、地址1000HFFFFH空間訪問外部ROM。6、PSEN(29):片外程序存儲器選通信號,低電平有效7、輸入/輸出口引腳P0、P1、P2和P3:P0口(3932):該端口為漏極開路的8位準雙向口,負載能力為8個高LSTTL負載,它為8位地址線和8位數據線的復用端口。P1口(18):它是一個內部帶上拉電阻的8位準雙向I/O口,P1口的驅動能力為4個LSTTL負載。P2口(2128):它為一個內部帶上拉電阻的8位準雙向I/O口,P2口的驅動能力也為4個LSTTL負載。在訪問外部程序存儲器時,它作存儲器的高8位地址線。P3口(1017):P3口同樣是內部帶上拉電阻的8位準雙向I/O口,P3口除了作為
17、一般的I/O口使用之外,其還具有特殊功能。2.1.1.3.、8051單片機的結構特點8051單片機是MCS-51系列單片機的一個產品。MCS-51系列單片機是Intel公司推出的通用型單片機。8051單片機是HMOS工藝的,它的片內程序存儲器ROM為掩膜型的,在制造芯片時已將應用程序固化進去,使它具有了某種專用功能。其特點如下:1數據存儲器(RAM):片內為128個字節(單元),片外最多可外擴至64K字節。2程序存儲器(ROM):片內為4K字節,片外最多可外擴至64K字節。3中斷系統:有5個中斷源,2級中斷優先權。4定時器/計數器:2個16位的定時器/計數器,具有四種工作方式。5串行口:1個全
18、雙工的串行口,具有四種工作方式。6并行口:4個8位并行I/O口,即P0口、P1口、P2口、P3口。7特殊功能寄存器(SFR):共有21個,用于對片內各功能模塊進行管理、控制、監視。實際上是一些控制寄存器和狀態寄存器,是一個特殊功能的RAM區。8位處理器(CPU):為8位的CPU,且內含一個1位CPU(位處理器)不僅可處理字節數據,還可進行位變量的處理。9片內振蕩器及時鐘電路,具有布爾代數的運算能力。2.1.1.4、單片機的時鐘電路與復位電路(一)時鐘系統的設計80C51系列單片機片內時鐘振蕩器與外部諧振電路如圖3.2.3所示,其片內振蕩器與外部諧振電路構成了一個并聯諧振的時鐘振蕩電路。外部諧振
19、電路并行連接石英晶體或陶瓷諧振器QC和負載電容C1、C2、QC通常都按時鐘頻率選擇相應的石英諧振器。80C51系列單片機可使用的外部獨立時鐘振蕩器產生時鐘信號。使用外部時鐘信號時,輸入連接如圖3.2.2,3.2.1是本課題中使用的時鐘電路:(二) 復位電路(1)典型的上電復位電路如圖3.3.1(本課題中使用到):(2)外部復位電路如圖3.3.2:(3)上電及外部復位電路如圖3.3.3(本課題中使用到):(4)上電外部復位電路如圖3.3.4:2.1.1.5、系列單片機的中斷系統中斷是指中央處理器CPU正在處理某事情的時候,外部又發生了某一件事需要CPU迅速處理,于是CPU暫時中斷當前的工作,轉入
20、處理所發生的事件,中斷處理完后在返回到原來的地方繼續處理原來的事件。8051中一共有5個中斷源:兩個外部中斷INT0和INT1,兩個計數/定時器中斷T1和T2,一個串行口中斷。本課題中用到了串行中斷,INT0/1,其電氣連接見電氣原理圖,在應用程序中也有體現。(一)MCS-51中斷系統的控制寄存器定時器/計數器控制寄存器TCON(地址是88H,可以按位尋址) D7D6D5D4D3 D2D1D0 TF1TF0IE1IT1IE0IT0IE1/IE0:外部邊沿觸發中斷請求標志,其功能和操作類似于TF0。IT1/IT0:外部中斷類型控制位,通過軟件設置或清除,用于控制外中斷的觸發信號類型。IT1=1是
21、邊沿觸發,IT=0是電平觸發。SCON是串行口控制寄存器,地址為98H,低二位是串行口的發送/接收中斷標志:TI:MCS-51串行口的發送中斷標志,在串行口以方式0發送時,發送完8位數據,由硬件置位。但是CPU響應中斷請求后,必須有“CLR TI”或“ANL SCON, #0FDH”等指令來清零TI。 RI:串行口接收中斷標志,若串行口接收器允許接收,并以方式0工作,每當接收到8位數據時,RI被置1,若以方式1、2、3方式工作,當接收到半個停止位時,TI被置1表示串口接收器正向CPU申請中斷。同樣RI標志由用戶的軟件清“0”中斷允許寄存器IE(地址為A8H,可以按位尋址)D7D6 D5D4D3
22、D2D1D0EAESET1EX1ET0EX0EA:中斷總控制位,EA=1,CPU開放中斷。EA=0,CPU禁止所有中斷ES:串行口中斷控制位,ES=1允許串行口中斷,ES=0,屏蔽串行口中斷。ET1/0:定時/計數器T1中斷控制位。ET1為1允許T1中斷,為0禁止T1中斷。EX1/0:外中斷1中斷控制位,EX1為1允許外中斷1中斷,為0禁止中斷。中斷優先級寄存器IP8051單片機有高/低優先級兩個中斷優先級,每個中斷源都可以編程為高優先級和低優先級。兩級中斷通過使用IP寄存器設置,地址為B8H,可以按位尋址:D7D6D5D4D3D2D1D0PSPT1PX1PT0PX0其中各位為1時,被聲明為高
23、優先級中斷,為0時聲明為低優先級中斷。 8051復位時,IP被請“0” ,5個中斷源都在同一優先級,若幾個中斷源同時產生中斷請求,則CPU按照片內硬件優先級鏈路的順序響應中斷,順序如下: 中斷源 外部中斷0(IE0) 高 定時器/計數器0(TF0) 外部中斷1(IE1) 定時器/計數器1(TF1) 串行口中斷(RI/TI) 低(二)中斷響應過程 中斷響應的條件:MCS-51工作時,在每個機器周期中都會去查詢一下各個中斷標記,在下列三種情況之一時,CPU將封鎖對中斷的響應:(1)CPU正在處理一個同級或更高級別的中斷請求。(2)現行的機器周期不是當前正執行指令的最后一個周期。要等整條指令都執行完
24、了,才能響應中斷。(3)當前正執行的指令是返回批令(RETI)或訪問IP、IE寄存器的指令,則CPU至少再執行一條指令才應中斷。CPU響應中斷時,把當前下一條指令的地址送入堆棧,根據中斷標記,將中斷入口地址送入PC程序指針,CPU取指令根據PC中的值,程序就會轉到中斷入口處繼續執行。每個中斷向量地址間隔了8個單元,如0003000B,在中斷處安排一個LJMP指令,這樣就可以把中斷程序跳轉到任何地方,例如:ORG 0000HLJMP START ;跳轉主程序ORG 0003HLJMP INT0 ;轉外中斷0ORG 000BHRETI 中斷程序完成后,執行一條RETI指令,執行這條指令后,CPU將
25、會把堆棧中保存著的地址取出,送回PC,那么主程序就會從主程序的中斷處繼續往下執行了。中斷優先級處理與中斷嵌套:優先級的問題發生在幾個中斷同時產生的情況,或者是已發生在一個中斷,又有一個中斷產生時的情況。如果有低優先級的中斷正在執行,那么高優先級的中斷出現,CPU則會響應這個高優先級中斷,即高優先級中斷可以打斷低優先級中斷,反之則不行。下圖面是一個中斷嵌套流程: 2.1.1.6、控制寄存器8051單片機通過引腳RXD(P3.0,串行數據接收端)和引腳TXD(P3.1,串行數據發送端)與外界通訊。SBUF是串行口緩沖寄存器,包括發送寄存器和接收寄存器。它們有相同名字和地址空間,但不會出現沖突。 串
26、行通信控制寄存器SCON 表二:串行口的工作方式及接收/發送控制。字節地址為98H,其各位定義如下數據位D7D6D5D4D3D2D1D0位名稱SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH8DH9CH9BH9AH99H98H表三:(1).SM0、SM1:串行口工作方式選擇位,其定義如下SM0、SM1工作方式功能描述波特率00方式08位移位寄存器Fosc/1201方式110位UART可變10方式211位UARTFosc/64或fosc/3211方式311位UART可變其中fosc為晶振頻率(2).SM2:多機通信控制位多機通信是工作于方式2和方式3。本課題不涉及,在此不作介紹。(
27、3).REN:允許接收位REN用于控制數據接收的允許和禁止,REN=1時允許接收,REN=0時禁止接收。(4).TB8:發送接收數據位8在方式2和方式3中,TB8是第9位數據位。在多機通信中同樣亦要傳輸這一位,并且它代表傳輸的地址還是數據,TB8=0為數據,TB8=1時為地址。(5).RB8:接收數據位8在方式2和方式3中,RB8存放接收到的第9位數據,用以識別接收的數據特征。(6).TI/RI:發送/接收中斷標志位,在前面中斷一章已作介紹。電源管理寄存器PCON:主要是設置SMOD位,當SMOD=1時,串行口波特率加倍。系統復位默認為SMOD=0。中斷允許寄存器IE:其中ES=1允許串行中斷
28、,ES=0,禁止串行中斷。在本課題中既涉及到的單片機對其性能及內存無特殊要求,可選最常用的一種,例如AT89C51單片機。2.1.2. 模數轉換芯片的介紹及選擇在測控系統中。除了數字量之外,還存在大量的模擬量,如:溫度,壓力,流量,速度,電壓,電流等。而計算機只能處理數字量,要實現對模擬量的測量和控制,首先必須將模擬量轉換成數字量(A/D轉換)。相反。計算機輸出時有時也需要將數字量轉換成模擬量(D/A轉換)。目前,A/D轉換和D/A轉換電路都已集成化,它們就有體積小,功能強,可靠性高,誤差小,功耗底,與計算機接口簡單等特點。A/D轉換是把模擬量轉換成數字量的過程.A/D轉換的方法很多,如:頻率
29、法.雙斜積分法,逐次逼近法等.其性能指標也很多,如:分辨率,轉換時間,轉換精度,電源,輸出特性等.ADC0809是一種典型的A/D轉換器.它是采用逐次逼近法的8位8通道的A/D轉換器.+5V單電源供電.轉換時間在100us左右.ADC0809為28引腳,雙列直插芯片,其引腳如圖8-51所示.各引腳功能如下: IN7IN0 :8位模擬量輸入端; D7D0 :8位數字量輸出端口; START :A/D轉換啟動信號輸入端;ALE :地址鎖存應許信號.高電平有效;EOC :轉換結束信號,高電平有效; OE :輸出應許控制信號,高電平有效;CLK :時鐘信號輸入端;A.B.C:轉換通道的地址; VREF
30、(+):參考電源的正端;VREF(-):參考電源的負端;VCC:電源負端;GND:地.ADC0809由一個8位A/D轉換器,一個8路模擬開關,8路模擬地址鎖存譯碼器和一個三態數據輸出鎖存器組成.當ALE為高電平時,通道地址輸入到地址鎖存器中,下降沿將地址鎖存,并譯碼.在START上跳沿時,所有的內部寄存器清0,在下降沿時,開始進行A/D轉換,此期間START應保持低電平.需要注意的是,在START下降沿后10us左右,轉換結果信號EOC變為低電平,EOC低電平時,表示正在轉換,變為高電平時,表示轉換結束.OE為輸出應許信號,控制三態輸出鎖存器輸出數據,OE=1,應許轉換結果輸出.因本設計對模數
31、轉換器并無特殊要求,所以一般的模數轉換芯即可實現將進入的模擬信號轉換為數字信號。本設計采用最常用的轉換芯片ADC0809。2.1.3模數轉換電路圖2.1.3.1單片機與ADC0809的連接是一個很常見的數模轉換電路,現將在本設計中要用到的此電路略畫如下:D0D7ABCCLKEOCSTARTALEOE P0AT89C51 ALE INT1 WR P2.0 RD/411111.單片機內數據采集的子程序:數據采集框圖主程序 ORG 0000H AJMP MAIN置數據首地址及通道計數器,通道地址為IN0 ORG 0013H AJMP PINT1MAIN:MOV R1,#30H置INT1邊沿觸發 MO
32、V R7,#08H MOV DPTR,#FEF8H啟動IN0 A/D SETB IT1 SETB EXI8路采完 SETB EA MOVX DPTR A禁止INT1中斷LOOP:MOV A,R7結束 JNZ LOOP CLR EXI SJMP PINT1:MOVX A,DPTR MOVX R1,A INC R1INC DPTRDEC R7MOVX DPTR,ARET12.2 USB模塊接口電路這個模塊接口電路是本設計的重點設計電路,依據模塊的說明及單片機的相關知識,即可設計出滿意的電路。因此,在論文中對模塊進行詳細的介紹就顯得很有必要了。2.2.1 USB20C模塊介紹2.2.1.1模塊參數。
33、USB20C是于西安電子有限公司設計的USB2.0C設備通用接口模塊,它隱藏了通過USB總線進行數據傳輸所需要的煩瑣技術細節.應用程序通過調用本模塊提供的函數,可以把相應的功能轉變成模塊硬件接口上的一系列脈沖和電平,發送到外圍邏輯,進行指定的數據傳輸,從而極大的簡化USB設備的設計工作本模塊提供兩種數據傳輸模式地址IO模式批量數據傳輸模式以設計一個AD數據采集器為例可以使用地址IO模式執行初始化設置采樣參數讀取狀態等功能使用批量數據傳輸模式讀取采樣得到的大批量數據 本模塊是一個USB2.0設備同時也兼容USB1.1標準但是會降低數據傳輸速度 標準USB接口高性能USB 接口器件符合通用串行總線
34、USB2.0版規范 高速DMA讀寫控制讀寫速度大于20Mbyte/Sec 系統驅動文件DLL動態連接庫用戶不必編寫任何驅動程序 MT工藝低功耗系統超小體積模塊化設計, 無需外接電源 簡化的標準外部總線: 8位數據總線雙向 5位地址總線單向輸出 9根讀寫控制線 配備I2C存儲模塊 提供一個48MHz(30MHz)的時鐘輸出 提供5V電源輸出 USB20C可以作為用戶系統的嵌入式模塊使用用戶無需深入了解USB的協議及底層控制方法就像操作PC總線一樣通過USB接口實現對用戶系統的控制 對于筆記本電腦來說使用USB接口的意義更加重大通用的USB接口不僅使筆記本電腦對外的連接變得方便更可以使筆記本電腦生
35、產廠商不再需要為不同配件在主板上安置不同的接口這使主板的線路組件的數量以及復雜程度都有不同程度的削減從而使系統運行中的散熱問題得到了改善也將促進更高主頻的處理器可以迅速應用在移動計算機中使筆記本電腦與桌面PC的差距進一步縮小 USB20C控制模塊發揮了USB2.0高速數據傳輸的特點尤其適合于高速數據采集及圖像數據傳輸設備用于醫療地震振動監控虛擬儀器科研實驗室工業生產現場領域的數據采集設備特別是為便攜式筆記本電腦和日益流行的掌上電腦數據采集提供了極為廣闊的發展空間USB20C模塊示意圖2.2.1.2硬件描述本模塊提供了8位數據總線5位地址總線3位地址IO所需的控制信號9位批量傳輸所需的控制信號以
36、及其他的輔助控制信號輔助控制信號本模塊提供了4根輔助控制信號DMAINGCLKOUTSCLSDADMAING 正在批量數據傳輸指示信。本信號為數據傳輸模式指示信號由本模塊輸出 高電平指示工作于批量數據傳輸模式 低電平指示工作于地址IO模式 本信號由函數USB20C_STARTDMAREAD USB20C_STARTDMAWRITE設置為高電平由函數USB20C_ENDDMA設置為低電平 CLKOUT 模塊內單片機時鐘輸出信號 本信號輸出模塊內單片機的時鐘 本信號由函數USB20C_SETCPUCS控制可以設定時鐘的頻率是否輸出是否翻轉SCLSDA 外接I2C器件信號 本信號用于外擴I2C存儲器
37、使用時需要把本模塊的這兩個信號管腳與外擴的I2C器件的相應管腳相連這兩個信號已經在模塊內上拉不需要外部上拉 外擴I2C存儲器件的芯片地址只能是23456之一地址017已經被本模塊使用外擴器件不得使用 SCL時鐘信號上的工作頻率可以由函數USB20C_SetI2CFrequency函數選擇為400KHz/100KHz 2.1 2.1.1 2.1.2 2.1.3 Xian DATA Electronic Co. Ltd. 029- 5 USB20C 使用說明 西安達泰電子有限責任公司 2.2 數據總線本模塊提供8位寬的數據總線兩種數據傳輸模式共用此數據總線當工作于地址IO模式并且PWR信號有效或者
38、工作于批量傳輸模式DMARD信號有效并且DMACSDMAOE有效時數據總線處于輸出狀態否則數據總線處于輸入狀態 地址總線 本模塊提供5位寬的地址總線地址總線總是由本模塊輸出 以下函數可以改變地址 USB20C_SETADDRESS USB20C_INPUT USB20C_OUTPUT USB20C_MULTINPUT USB20C_MULTOUTPUT USB20C_MIXEDIO 當使用后三個函數時地址會根據函數的參數而改變函數調用結束后地址為函數參數指定的最后一個地址 2.3 Xian DATA Electronic Co. Ltd. 029- 6 USB20C 使用說明 西安達泰電子有限
39、責任公司 2.4 地址IO所需的控制信號 本模塊提供了3個地址IO所需的控制信號PWRPRDPWAIT PWR 地址寫 本信號為地址寫的寫脈沖是一個低電平脈沖本脈沖由函數 USB20C_OUTPUT USB20C_MULTOUTPUT 產生 當進行一次地址寫時本模塊首先更新地址總線把數據總線定義為輸出并輸出數據然后使PWR=0接著判斷PWAIT狀態等待PWAIT=1此時可以等待外部單片機等慢速邏輯執行或者超時超時時間由模塊內單片機的工作頻率決定具體時間待測最后使PWR=1把數據總線定義為輸入完成一次地址寫 PRD 地址讀 本信號為地址讀的讀脈沖是一個低電平脈沖本脈沖由函數 USB20C_INP
40、UT USB20C_MULTINPUT 產生當進行一次地址讀時本模塊首先更新地址總線把數據總線定義為輸入使PRD=0接著判斷PWAIT狀態等待PWAIT=1或者超時然后從地址總線讀取數據并把此數據返回主機最后使PRD=1完成一次地址讀 PWAIT 等待外圍邏輯 本信號為一個輸入信號一般情況下當外部邏輯為單片機等慢速邏輯時需要使用本信號如果外部邏輯為一個CPLD則可以懸空本信號管腳 當外部邏輯為單片機等慢速邏輯時先由外部邏輯把本信號拉低則本模塊在地址IO時會在PWRPRD脈沖有效后會插入等待周期等待外部邏輯執行完指定的讀/寫后外部邏輯把本信號拉高本模塊檢測到PWAIT=1后結束PWRPRD脈沖外
41、部邏輯檢測到PWRPRD無效后再次使PWAIT=0準備好下一次讀/寫 地址IO的時序圖 注圖中PWAIT信號應該反向 2.4.1 2.4.2 2.4.3 2.4.4 Xian DATA Electronic Co. Ltd. 029- 7 USB20C 使用說明 西安達泰電子有限責任公司 注圖中PWAIT信號應該反向 Xian DATA Electronic Co. Ltd. 029- 8 USB20C 使用說明 西安達泰電子有限責任公司 2.5 批量數據傳輸所需的控制信號 本模塊提供了9個批量數據傳輸所需要的信號他們分別是DMACSDMARDDMAWRDMADIRDMAOEPKTENDFIF
42、OEMPTYFIFOFULLIFCLK DMACS 模塊選擇信號由外部邏輯提供低電平有效 當整個設備需要本模塊與其他外部邏輯需要共享數據總線時使DMACS=1可以使本模塊斷開與外部總線的鏈接本模塊將忽略DMARDDMAWRDMAOEPKTEND信號 DMARD 由外部邏輯提供低電平脈沖有效 當使用USB20C_DMAWRITE從主機向設備寫數據時數據首先從主機傳送到本模塊內的緩沖區內外部邏輯使用DMARD脈沖從本模塊的緩沖區內讀取主機發來的數據 當DMAOE有效時讀到的數據在DMARD為低電平時從數據總線輸出當DMAOE無效時數據總線懸空但是DMARD脈沖依然有效只不過數據不能輸出 DMAWR
43、 由外部邏輯提供低電平脈沖有效 當使用USB20C_DMAREAD主機從設備讀數據時外部邏輯首先使用DMAWR脈沖把數據寫入本模塊的緩沖區內然后數據從本模塊內的緩沖區內傳輸到主機 DMADIR 讀/寫控制信號由本模塊輸出 高電平批量讀數據數據從設備傳向主機 低電平批量寫數據數據從主機傳向設備 DMAOE 由外部邏輯提供低電平有效 當DMAOE有效時外部邏輯從本模塊內部緩沖區讀數據時在DMARD為低電平時讀到的數據從數據總線輸出當DMAOE無效時數據總線懸空但是DMARD脈沖依然有效只不過數據不能輸出 PKTEND 由外部邏輯提供低電平脈沖有效 在批量讀數據時外部邏輯使用DMAWR把數據寫入本模
44、塊內部緩沖區每寫滿一個數據包后如果本模塊連接在USB2.0總線上則每個數據包為512字節如果連接在USB1.1總線上則數據包為64字節數據會自動傳送到主機如果需要傳輸一個不滿的數據包短包比如需要傳輸31個字節則外部邏輯應該在寫31個字節數據后產生一個PKTEND脈沖本模塊接收到一個PKTEND脈沖后會把接收到短包發送回主機 FIFOEMPTY 本模塊內部緩沖區空標志由本模塊輸出低電平有效本信號在批量寫數據時使用 本模塊內部提供了2048字節的批量寫數據緩沖區在批量寫數據時主機首先發送數 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 Xian DATA El
45、ectronic Co. Ltd. 029- 9 USB20C 使用說明 西安達泰電子有限責任公司 據到本模塊的內部緩沖區本模塊接收到數據后會使本信號無效表示內部緩沖區已經有數據共外部邏輯讀取外部邏輯檢測到本信號無效開始從本模塊緩沖區讀取數據數據全部讀出后本信號重新有效此時外部邏輯應停止從本模塊讀取數據 FIFOFULL 本模塊內部緩沖區滿標志由本模塊輸出低電平有效本信號在批量讀數據時使用 本模塊內部提供了2048字節的批量讀數據緩沖區在批量讀數據時如果本模塊的內部緩沖區不滿則模塊使本信號無效表示可以向本模塊內部緩沖區寫數據外部邏輯檢測到正在批量讀數據而且本信號無效開始向本模塊寫數據每寫滿一個
46、標準數據包如果本模塊連接在USB2.0總線上則每個數據包為512字節如果連接在USB1.1總線上則數據包為64字節后如果主機正在使用USB20C_DMAREAD函數讀取數據則數據自動發送到主機如果主機一直沒有讀取數據則在外部邏輯寫滿2048個字節后模塊內部緩沖區滿本信號有效此時外部邏輯應停止寫數據。.模塊與單片機的接口電路根據以上USB模塊的說明,可設計出多個其與單片機的接口電路,例如以下兩種:考慮到本設計的內部程序不大,不需要太多的擴展,且盡量使設計更簡單,本設計采用第一種連現方法,既采用5根地址線,8根數據線。為了進一步提高數據采集的效率,本設計采用中斷工作方式。首先求定時器初值:我們利用
47、定時器每隔1毫秒控制產生寬度為2個機器周期的負脈沖,由P1.0送出。時鐘頻率為12MHZ。設定時器初值為X,則定時1毫秒時,應有:(213-X)*10-6=1*10-3?式中機器周期為1毫秒,可求的X=7096= 11000B,其中高8位DDH賦給THO,底五位賦給TLO,由于系統復位后,TMOD被清,正好處于定時器方式0狀態,且GATE=0,也可步設置TMOD。程序如下: ORG 0000HAJMP MAINORG 000BHAJMP TOINTORG 100HMAIN:MOV TH0,#0DDH MOV TL0,#18H MOV IE,#82H SETB TROLOOP:SJMP LOOP
48、 ORG 200HTOINT:CLR P1.0 SETB P1.0MOV TH0,#0DDHMOV TL0,#18H RETI以上既為單片機內部的中斷程序。下面為其程序框圖:中斷程序框圖INT1中斷取轉換結果通道地址+1通道計數-1啟動一次A/D通道返回.總體電路的設計將以上各單元電路組合起來,就可得到完整的硬件電路如下:單片機內部程序: ORG 0000H LJMP MAIN ;復位,轉主程序 ORG 0013H LJMP PINT1 ;中斷,轉中斷服務子程序MAIN:MOV R1,#30H ;置數據區首地址 MOV R7,#08H ;置通道數 MOV DPTR,#FEF8H ;置0809通
49、道0地址 SETB IT1 ;置邊沿觸發方式 SETB EXI ;開中斷 SETB EA ;CPU開中斷 MOVX DPTR A ;啟動0通道A/DDEC R7 ;通道數減1SJMP $ ;等待中斷ORG 0200H ;中斷服務子程序PINT1:MOVX A,DPTR ;讀A/D值 MOVX R1,A ;存A/D值 INC R1 ;修正數據區地址INC DPTR ;修正通道地址MOVX DPTR,A ;啟動下一通道A/DDJNZ R7,GORETI ;判斷8路采集完否CLR EX1 ;8路采集已完,關中斷MAIN:MOV TH0,#0DDH MOV TL0,#18H MOV IE,#82H S
50、ETB TROLOOP:SJMP LOOP ORG 200HTOINT:CLR P1.0 SETB P1.0MOV TH0,#0DDHMOV TL0,#18H RETIMOV DPTR,#2000H ;置USB數據地址LOOP:MOV R0,#30H ;傳采集數據MOV R7,#08H ;置循環次數MOV A,R0 ;存數據MOV DPTR,A ;傳數據至USB20C接口INC R7 ;次數自動減1DJNZ R7,LOOP ;判斷是否完RETI ;數據采集完單片機主程序框圖開始單片機初始化開USB中斷發送數據至USB8位數據送完禁止INTI中斷8路采完啟動IN0 A/D設INT1邊沿觸發第三章
51、 軟件設計.1Visual Basic簡介Visual Basic語言誕生于1991年,為人們開發圖形用戶界面的應用程序提供了有力的工具,它是近年來被廣泛使用的一種高級語言。Visual Basic繼承了BASIC語言簡單易學的特點,又增加了許多新的功能,它采用當前最新的程序設計思想:面向對象與事件驅動,使編程變得更加方便,快捷。使用Visual Basic既可以開發個人或小組使用得小型工具,又可以開發多媒體軟件,數據庫運用程序,網絡運用程序等大型軟件。.數據采集系統需要硬件和軟件兩部分組成,硬件由信號模擬器以及計算機組成,軟件由測試軟件和動態數據庫組成在測試程序中處理各種數據,顯示處理結果,
52、在動態數據庫中進行數據的存儲,讀取操作3.2. USB20C函數接口介紹.3.2.1,USB設備操作函數函數名函數功能備注 設備操作關鍵函數USBDLLInit初始化USB總線的設備對象USBDLLDone關閉設備,且釋放USB總線設備對象USB_GetStatus讀狀態輸入信息USB_Inport從數據總線讀一個字節USB_Outport輸出一個字節的數據USB_BulkInport批量讀數據USB_SetControl設置控制輸出 輔助函數USB_ReadADOnce設置并讀取一次AD轉換值USB_LastError獲得USB錯誤信息使用需知Visual C+: 要使用如下函數關鍵的問題是:首先,必須在您的源程序中包含如下語句(注意參考VC示范程序中的StdAfx.h頭文件中的用戶填加部分):#in
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關于安全生產的研討材料
- 特種設備安全生產隱患排查治理管理制度
- 餐飲部主要崗位的崗位職責
- 教室安全教育總結
- 安全生產300字心得
- 對公司安全生產工作的意見和建議
- 網格員工作個人總結
- 宿舍安全事故案例
- 山西省呂梁市汾陽中學2025屆高一化學第二學期期末檢測模擬試題含解析
- 貓咪病癥介紹課件
- GB/T 5249-2013可滲透性燒結金屬材料氣泡試驗孔徑的測定
- GB/T 28267.3-2015鋼絲繩芯輸送帶第3部分:井下用輸送帶的特殊安全要求
- GB/T 15684-2015谷物碾磨制品脂肪酸值的測定
- 百靈達x32數字調音臺說明書簡體中文
- GA/T 947.2-2015單警執法視音頻記錄系統第2部分:執法記錄儀
- 噴霧干燥器課程設計終稿
- API-650-1鋼制焊接石油儲罐
- 英威騰GD變頻器調試說明
- 倉庫作業指導書
- 冰雪奇緣臺詞中英文對照完整版(常用)
- 施工現場安全管理處罰規定
評論
0/150
提交評論