版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、本科生畢業(yè)論文目錄第1章緒論11.1概述11.1.1課題研究目的11.1.2國內(nèi)外發(fā)展?fàn)顩r11.2usb接口及usb器件分析21.3系統(tǒng)方案設(shè)計41.4預(yù)期實現(xiàn)目標(biāo)4第2章usb概述及協(xié)議62.1usb體系結(jié)構(gòu)概述62.1.1usb系統(tǒng)描述62.1.2usb連接頭及其供電方式82.1.3usb系統(tǒng)軟硬件組成82.2usb編碼方式與傳輸類型92.2.1usb的編碼方式92.2.2usb傳輸92.3usb設(shè)備請求122.3.1usb標(biāo)準(zhǔn)請求格式122.3.2usb標(biāo)準(zhǔn)請求命令122.4usb設(shè)備的描述符132.4.1設(shè)備描述符132.4.2配置描述符142.4.3接口描述符142.4.4端點描述符
2、162.4.5字符串描述162.5總線協(xié)議192.6usb的枚舉過程192.7usb主機(jī)接口及系統(tǒng)的功能202.8本章小結(jié)21第3章硬件特性及電路設(shè)計223.1單片機(jī)8051介紹223.2pdiusbd12器件與微控制器的連接243.2.1pdiusbd12功能描述243.2.2pdiusbd12管腳配置243.2.3單片機(jī)與pdiusbd12的連接253.3系統(tǒng)硬件設(shè)計263.3.1單片機(jī)電路設(shè)計263.3.2外圍電路設(shè)計273.4本章小結(jié)29第4章程序設(shè)計及調(diào)試304.1概述304.1.1集成開發(fā)環(huán)境keil簡介304.1.2程序概述304.2固件程序344.2.1固件程序組成344.2.
3、2pdiusbd12的底層操作354.2.3pdiusbdi2命令接口程序364.2.4pdiusbdi2的中斷服務(wù)程序374.2.5主程序424.3程序調(diào)試454.3.1keil編譯器的使用454.3.2系統(tǒng)調(diào)試484.4本章小結(jié)51結(jié)論52參考文獻(xiàn)53致謝54附錄55附錄1電路原理圖55附錄2pcb圖56第1章緒論1.1概述1.1.1課題研究目的隨著電子科技的發(fā)展與應(yīng)用,各種計算機(jī)外圍接口不斷推陳出新,usb接口已經(jīng)成為現(xiàn)今個人計算機(jī)上最重要的接口之一,各種電子消費產(chǎn)品也逐漸配置這種接口。usb接口是速度比較高的串行接口,具有較廣闊的發(fā)展前景和應(yīng)用潛力。usb適用于低檔外設(shè)與主機(jī)之間的高速
4、數(shù)據(jù)傳輸。從usb問世至今,usb在不斷的自我完善,并走向成熟。從普通計算機(jī)用戶、計算機(jī)工程師、到硬件芯片生產(chǎn)廠商,都已經(jīng)完全認(rèn)可了usb。傳統(tǒng)的設(shè)備主要是基于rs-232的串行接口,隨著計算機(jī)速度的提升,已經(jīng)明顯不能適應(yīng)發(fā)展的需要。不僅是速度上比較慢,而且由于其不支持熱插拔。而usb接口由于支持熱插拔,占有較少的系統(tǒng)軟件硬件資源,廠商對于usb的硬件軟件的支持也越來越完備,現(xiàn)在開發(fā)一個usb外設(shè)產(chǎn)品所需要的成本和時間大大降低了。usb技術(shù)取得了迅速的發(fā)展。單片機(jī)作為最典型的嵌入式系統(tǒng),推動了嵌入式系統(tǒng)的發(fā)展,成為現(xiàn)代電子系統(tǒng)中重要的智能化器件。因此,usb i/o外圍設(shè)備的設(shè)計已成為電子領(lǐng)域
5、的主要技術(shù)之一1。本課題就是利用單片機(jī)設(shè)計一個功能簡單的嵌入式usb外設(shè),將其與pc機(jī)連接,通過usb接口實現(xiàn)pc機(jī)與外設(shè)之間的相互通信。1.1.2國內(nèi)外發(fā)展?fàn)顩r1994年,intel,compaq,digital,ibm,microsoft,nec,northern telecom等7家世界著名的計算機(jī)和通信公司成立了usb論壇,花了近兩年的時間形成了統(tǒng)一的意見,于1995年11月正式制定了usb 0.9通用串行總線(universal serial bus)規(guī)范。在1996年,一些規(guī)模型經(jīng)營的公司,他們的pc機(jī)、監(jiān)視器,開始配備了usb接口。原有的所有接口和插槽依然保留,只增加一個usb接
6、插件,其目的是為了在擴(kuò)展新的用途時使用。直到1997年,真正符合usb技術(shù)標(biāo)準(zhǔn)的外設(shè)才開始出現(xiàn)。直至windows98推出之前,推出的usb功能模塊并不多,原因除了因為傳統(tǒng)的通信接口,如rs232,ieee488等,一時難以退出應(yīng)用領(lǐng)域外,一些早期的usb應(yīng)用探索者步履艱難,抱怨的主因是宿主平臺的實用性。windows98對usb驅(qū)動軟件(usbd)完善,使其可提供對usb的強有力的支持,對usb技術(shù)的發(fā)展起到重要推進(jìn)作用。自此,市場上涌現(xiàn)出大批的usb產(chǎn)品。usb1.0是目前推出的在支持usb的計算機(jī)與外設(shè)上普遍采用的標(biāo)準(zhǔn)。目前普遍采用的usb1協(xié)議主要應(yīng)用在中低速外圍設(shè)備上,它提供的傳輸速
7、度有低速1.5mbps和全速12mbps兩種??煞謩e支持顯示器、modem、鼠標(biāo)、鍵盤、掃描儀、打印機(jī)、光驅(qū)及大范圍的多媒體設(shè)備。從國外的發(fā)展來看,人們對usb有著極大的重視程度,這從usb規(guī)范的改進(jìn)速度之快及國際市場上基于usb的產(chǎn)品普及的范圍可見一斑。從1994年公布v1.0fdr版本,短短一年時間版本增訂了五次。說明技術(shù)人員正大力研究改善usb的性能。市場上基于usb的外設(shè)己囊括了所有的數(shù)字產(chǎn)品??梢妵庠谶@方面已作了很多工作,并且目前也正以很快的速度發(fā)展2。 國內(nèi)對于usb的研究在這幾年才剛剛起步。市場上也可以見到各種usb產(chǎn)品,也有少量的專門討論usb開發(fā)的國內(nèi)網(wǎng)站。比較專業(yè)的穩(wěn)定的
8、網(wǎng)站有usb開發(fā)網(wǎng)(),但因為在前幾年還很少有人做這方面的工作,所以在相關(guān)網(wǎng)站上開發(fā)usb的文章量少,更新速度慢;國內(nèi)知名高校的bbs(比如水木華:),上面相關(guān)的文章詢問usb的人多,但回答問題的人僅限于幾個。對usb芯片進(jìn)行開發(fā)、技術(shù)服務(wù)和應(yīng)用方案設(shè)計的公司更是寥寥無幾。雖然在網(wǎng)上做調(diào)研所得到的信息并不完全,但由此可以看出國內(nèi)對usb技術(shù)研究的需求及欠缺。1.2usb接口及usb器件分析usb(universal serial bus通用串行總線),是一種快速、靈活的總線接口。與其它通信接口比較,usb接口的最大特點是易于使用,這也是usb的主要設(shè)計目標(biāo)。作為一種高速總線接口,usb適用于多
9、種設(shè)備,如數(shù)碼相機(jī)、mp3播放機(jī)、高速數(shù)據(jù)采集設(shè)備等。易于使用還表現(xiàn)在usb接口支持熱插拔,并且所有的配置過程都由系統(tǒng)自動完成,無需用戶干預(yù)。usb接口支持1.5mb/s(低速)和12mb/s(全速)的數(shù)據(jù)傳輸速率,扣除用于總線狀態(tài)、控制和錯誤監(jiān)測等的數(shù)據(jù)傳輸,usb的最大理論傳輸速率仍達(dá)1.2mb/s或9.6mb/s,遠(yuǎn)高于一般的串行總線接口。usb接口芯片價格低廉,這也大大促進(jìn)usb設(shè)備的開發(fā)與應(yīng)用。在進(jìn)行一個usb設(shè)備開發(fā)之前,首先要根據(jù)具體使用要求選擇合適的usb控制器。目前,市場上供應(yīng)的usb控制器主要有兩種:帶usb接口的單片機(jī)(mcu)或純粹的usb接口芯片。帶usb接口的單片機(jī)
10、從應(yīng)用上又可以分成兩類,一類是從底層設(shè)計專用于usb控制的單片機(jī),另一類是增加了usb接口的普通單片機(jī),如cypress公司的ezusb(基于8051),選擇這類usb控制器的最大好處在于開發(fā)者對系統(tǒng)結(jié)構(gòu)和指令集非常熟悉,開發(fā)工具簡單,但對于簡單或低成本系統(tǒng)。其價格因素也是在實際選擇過程中需要考慮的因素。純粹的usb接口芯片僅處理usb通信,必須有一個外部微處理器來進(jìn)行協(xié)議處理和數(shù)據(jù)交換。這類典型產(chǎn)品有philips公司的pdiusbd12(并行接口),ns公司usbn9603/9604(并行接口),netchip公司的net2888等。usb接口芯片的主要特點是價格便宜、接口方便、可靠性高,
11、尤其適合于產(chǎn)品的改型設(shè)計(硬件上僅需對并行總線和中斷進(jìn)行改動,軟件則需要增加微處理器的usb中斷處理和數(shù)據(jù)交換程序,pc機(jī)的usb接口通信程序,無需對原有產(chǎn)品系統(tǒng)結(jié)構(gòu)作很大的改動)2。pdiusbd12是在usb協(xié)議設(shè)備端使用最多的芯片之一。此芯片是帶有并行總線的全速usb接口器件,可與任何微控制器實現(xiàn)高速并行接口(2mb/s),并用于許多外設(shè)。這種實現(xiàn)usb接口的標(biāo)準(zhǔn)組件,可以使設(shè)計者在不同類型的微控制器中選擇最合適的微控制器,使用已有的結(jié)構(gòu)和減少固件上的投資,從而用最快捷的方法實現(xiàn)最經(jīng)濟(jì)的usb設(shè)備,它具有以下特性:1、符合usb1.0版規(guī)范;2、高性能usb接口器件,集成了sie, fi
12、fo存儲器,收發(fā)器以及電壓調(diào)整器;3、可以與任何外部微控制器/微處理起實現(xiàn)高速并行接(2mb/s);4、集成320b多結(jié)構(gòu)的fifo存儲器;5、完全自治的直接內(nèi)存存?。╠ma)操作;6、可以通過軟件控制與usb的連接;7、采用goodlink技術(shù)的連接指示器,在通信時使led閃爍;8、可編程的時鐘頻率輸出;9、多中斷模式實現(xiàn)批量和同步傳輸3。1.3系統(tǒng)方案設(shè)計以單片機(jī)原理,硬件資源的功能應(yīng)用,pdiusbd12芯片功能與接口設(shè)計,usb1.0協(xié)議等理論知識為基礎(chǔ),設(shè)計出完整的系統(tǒng)原理圖。根據(jù)原理圖,將硬件系統(tǒng)資源焊接成pcb板。根據(jù)系統(tǒng)功能,設(shè)計編寫固件程序,下載后進(jìn)行調(diào)試,實驗板在單片機(jī)控制
13、下能單獨工作后,然后和上位機(jī)進(jìn)行聯(lián)機(jī)調(diào)試,通過usb接口實現(xiàn)與上位機(jī)的相互通信。本課題涉及的理論知識主要是usb1.0協(xié)議,重點在于硬件設(shè)計,難點在于編程和整機(jī)的調(diào)試。經(jīng)過論證,在實現(xiàn)設(shè)計要求的前提下,為了降低系統(tǒng)的成本,選用接口級芯片pdiusbd12,控制器選取8051,它有64k的存儲容量,對于固件程序已經(jīng)足夠使用了;而且這款單片機(jī)支持在線編程,通過串口下載程序,這給程序的下載和使用帶來來方便。程序設(shè)計采用c語言進(jìn)行編程,軟件仿真采用keil c51。1.4預(yù)期實現(xiàn)目標(biāo)通過硬件電路和驅(qū)動程序(包括設(shè)備端和上位機(jī)端的驅(qū)動程序)實現(xiàn)以下目的:1、保證電路連接的正確性和可行性。完成以單片機(jī)與u
14、sb接口芯片為主要芯片的電路板;2、完成程序的編寫,主要是設(shè)備端的固件編程;3、通過硬件調(diào)試,單片機(jī)能獨立控制電路板上元件工作;4、實現(xiàn)電路板與上位pc機(jī)雙向傳輸。這需要與上位機(jī)進(jìn)行聯(lián)機(jī)調(diào)試,主要在軟件部分實現(xiàn)。第2章usb概述及協(xié)議usb以usb主機(jī)為核心,以外圍的usb設(shè)備為功能,組成了usb系統(tǒng)模型。主機(jī)是usb的核心,每次usb數(shù)據(jù)通信都必須是由usb主機(jī)來發(fā)起的,主機(jī)管理著usb設(shè)備。usb物理上是一個含有兩條電源線(vcc,gnd)和兩條以差分方式產(chǎn)生信號的線(d+,d-),傳輸率可達(dá)12mbps的串行接口,一個pc主機(jī)可以連接多達(dá)127個外圍設(shè)備。usb協(xié)議是以令牌包為主的通信協(xié)
15、議,12mbps的總線帶寬被分割成1ms的幀,所有任務(wù)以時分傳輸(tdm)來分享總線。2.1usb體系結(jié)構(gòu)概述2.1.1usb系統(tǒng)描述一個usb系統(tǒng)主要被定義為三個部分: usb的互連; usb的設(shè)備; usb的主機(jī)。 usb的互連是指usb設(shè)備與主機(jī)之間進(jìn)行連接和通信的操作,主要包括以下幾方面: 總線的拓?fù)浣Y(jié)構(gòu):usb設(shè)備與主機(jī)之間的各種連接方式; 內(nèi)部層次關(guān)系:根據(jù)性能疊置,usb的任務(wù)被分配到系統(tǒng)的每一個層次; 數(shù)據(jù)流模式:描述了數(shù)據(jù)在系統(tǒng)中通過usb從產(chǎn)生方到使用方的流動方式;usb的調(diào)度:usb提供了一個共享的連接。對可以使用的連接進(jìn)行了調(diào)度以支持同步數(shù)據(jù)傳輸,并且避免的優(yōu)先級判別的
16、開銷。usb連接了usb設(shè)備和usb主機(jī),usb的物理連接是有層次性的星型結(jié)構(gòu)。每個網(wǎng)絡(luò)集線器是在星型的中心,每條線段是點點連接。從主機(jī)到集線器或其功能部件,或從集線器到集線器或其功能部件,從圖2.1中可看出何usb系圖2.1 總線的拓?fù)浣Y(jié)構(gòu)拓?fù)浣Y(jié)構(gòu)。其中,usb集線器hub是一組設(shè)備的連接點,主機(jī)中有一個被嵌入的hub叫根hub(root hub)。主機(jī)端通常是指pc主機(jī)或是另外再附加usb端口的擴(kuò)充卡,主機(jī)通過根hub提供若干個連接點。集線器除了擴(kuò)增系統(tǒng)的連接點外,還負(fù)責(zé)中繼(repeat)上游或下游的信號以及控制各個下游端口的電源管理。當(dāng)pc上電時,所有usb設(shè)備與hub都默認(rèn)地址為0,
17、pc機(jī)啟動程序向usb查詢,地址1分配給發(fā)現(xiàn)的第一個設(shè)備,地址2分配給第二個設(shè)備或hub,如此重復(fù)尋找并分配地址,直到所有設(shè)備賦完地址,并加載相應(yīng)的的驅(qū)動程序。當(dāng)設(shè)備突然被拔移后,pc機(jī)通過d+或d-的電壓變化檢測到設(shè)備被移除掉后,將其地址收回,并列入可使用的地址名單中。在任何usb系統(tǒng)中,只有一個主機(jī)。usb和主機(jī)系統(tǒng)的接口稱作主機(jī)控制器,主機(jī)控制器可由硬件、固件和軟件綜合實現(xiàn)。根集線器是由主機(jī)系統(tǒng)整合的,用以提供更多的連接點。usb的設(shè)備如下所示: 網(wǎng)絡(luò)集線器,向usb提供了更多的連接點;功能器件:為系統(tǒng)提供具體功能,如isdn的連接,數(shù)字的游戲桿或揚聲器。usb設(shè)備提供的usb標(biāo)準(zhǔn)接口的
18、主要依據(jù): 對usb協(xié)議的運用; 對標(biāo)準(zhǔn)usb操作的反饋,如設(shè)置和復(fù)位;標(biāo)準(zhǔn)性能的描述性信息。2.1.2usb連接頭及其供電方式為了避免連接錯誤,usb定義了兩種不同規(guī)格的星形usb連接頭:序列a與b連接頭,其中序列a接頭用來連接下游的設(shè)備。每個連接頭內(nèi)擁有4個針腳,其中兩個是用來傳遞差分?jǐn)?shù)據(jù)的,另兩個則用于usb設(shè)備的電源供給。usb的供電方式有兩種:1、總線供電集線器電源由上游連接端口供應(yīng),最多只能從上游端消耗500ma。一個4個連接端口的集線器,每個下游端口最多消耗為100ma,外圍電路消耗100ma。2、自我供電集線器集線器本身有電源,可以提供給本身的控制器以及下游端口至少500ma的
19、電流,集線器最多可從上游端消耗100ma。2.1.3usb系統(tǒng)軟硬件組成usb系統(tǒng)的軟硬件資源可以分為3個層次:功能層、設(shè)備層和接口層。功能層提供usb設(shè)備所需的特定的功能,主機(jī)端的這個功能由用戶軟件和設(shè)備類驅(qū)動程序提供,而設(shè)備就由功能單元來實現(xiàn)。設(shè)備層主要提供usb基本的協(xié)議棧,執(zhí)行通用的usb的各種操作和請求命令。從邏輯上講,就是usb系統(tǒng)軟件與usb邏輯設(shè)備之間的數(shù)據(jù)交換。接口層涉及的是具體的物理層,其主要實現(xiàn)物理信號和數(shù)據(jù)包的交互,即在主機(jī)端的usb主控制器和設(shè)備的usb總線接口之間傳輸實際的數(shù)據(jù)流。無論在軟件還是硬件層次上,usb主機(jī)都處于usb系統(tǒng)的核心。主機(jī)系統(tǒng)不僅包含了用于和u
20、sb外設(shè)進(jìn)行通信的usb主機(jī)控制器及用于連接的 usb接口(sie),更重要的是,主機(jī)系統(tǒng)是usb系統(tǒng)軟件和usb客戶軟件的載體。usb主機(jī)軟件系統(tǒng)可以分為三個部分: 1、客戶軟件部分(csw),在邏輯上和外設(shè)功能部件部分進(jìn)行資料的交換;2、usb系統(tǒng)軟件部分(即hcdi),在邏輯和實際中作為hcd和usbd之間的接口;3、usb主機(jī)控制器軟件部分(即hcd和usbd),用于對外設(shè)和主機(jī)的所有usb有關(guān)部分的控制和管理,包括外設(shè)的sie部分、usb資料發(fā)送接收器(transreceiver)部分及外設(shè)的協(xié)議層等2。2.2usb編碼方式與傳輸類型2.2.1usb的編碼方式usb采用不歸零翻轉(zhuǎn)(n
21、on return to zero invert,簡稱nrzi)編碼方式,對于不同步的脈沖信號也能產(chǎn)生同步的數(shù)據(jù)存取,能有效地解決usb纜線信號延遲產(chǎn)生的誤差。nrzi的編碼規(guī)則是:當(dāng)數(shù)據(jù)位為“1”時電平保持不變,為“0”時電平翻轉(zhuǎn)。如果原始的串行數(shù)據(jù)中含有連續(xù)6個“1,就在其后填充一個“0。在nrzi解碼的過程中發(fā)現(xiàn)連續(xù)的6個“1”時,則移走其后原填入的“0。nrzi編碼、位填充過程分析如下:原數(shù)據(jù) 0 1 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1位填充 0 1 1 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1nrzi碼 0 1 1 1 0 1 0 0 0 1
22、 1 1 1 1 1 1 0 0 0 2.2.2usb傳輸usb總線是一種串行總線,即它的資料是一個bit一個bit來傳送的。雖然usb總線是把這些bit形式的資料打成資料包來傳送,但資料的同步也是必不可少的。usb1.0協(xié)議規(guī)定,usb的標(biāo)準(zhǔn)脈沖時鐘為12mhz,而其總線時鐘為1ms,即每隔1ms,usb器件應(yīng)為usb線纜產(chǎn)生一個時鐘脈沖序列。這個脈沖序列稱為幀開始資料包(sof),主機(jī)利用sof來同步usb資料的發(fā)送和接收。為實現(xiàn)多外設(shè)、多信道地同時工作,usb總線使用資料包的方式來傳輸資料和控制信息。usb數(shù)據(jù)傳輸中的每一個資料包都以一個同步字段開始,它的最后兩個bit作為pid字段開始
23、的標(biāo)志。緊跟在同步字段之后的一段8bit的脈沖序列稱為pid(資料包標(biāo)識字段),pid字段的前四位用來標(biāo)記該資料包的類型,后四位則作為對前四位的校驗。pid字段被分為標(biāo)記pid(共有in、out、setup或sof四種)、資料pid(data0或data1)、握手pid(ack、nak或stall)及特殊pid等。主機(jī)根據(jù)pid字段的類型來判斷一個資料包中所包含的數(shù)據(jù)類型,并執(zhí)行相應(yīng)的操作。當(dāng)一個usb外設(shè)初次連接時,usb系統(tǒng)會為這臺外設(shè)分配唯一的usb地址,這個地址通過地址寄存器(addr)來標(biāo)記,以保證資料包不會傳送到別的usb外設(shè)。7bit的addr使得usb系統(tǒng)最大尋址為127臺設(shè)備
24、(addr字段)。由于一臺usb外設(shè)可能具有多個信道,因而在addr字段后會有一個附加的端點字段(endpointfield,簡標(biāo)為endp)來標(biāo)記不同的信道。所有的usb外設(shè)都必須支持endpoint0信道,用0000來標(biāo)記。對于高速設(shè)備,可以最大支持16個信道,而低速設(shè)備在endpoint0之外僅能有一個信道。數(shù)據(jù)域位作為一次usb數(shù)據(jù)傳輸?shù)闹行哪康?,在一個usb資料包中可以包含01203byte的資料。而幀數(shù)量字段則包含在幀開始資料包中,對有的應(yīng)用場合,可以用幀數(shù)量字段作為資料的同步信號。為保證控制、塊傳送及中斷傳送中資料包的正確性,crc校驗字段被引用到如標(biāo)記、資料、幀開始(sof)這
25、樣的資料包中。crc校驗(資料冗余校驗)可以給予資料以100% 的正確性檢驗。在usb系統(tǒng)中,有四種形式的資料包:信令包(token packets)、data 資料包(data packets)、幀開始包(sof packets)和握手包(handshake packets)。每個資料包的結(jié)束都會有兩個bit寬的eop字段作為資料包結(jié)束的標(biāo)志(圖7-18),eop在差模信號中表現(xiàn)為d+和d-都處于“0”狀態(tài)。對于高速usb外設(shè)而言,這個脈沖寬度在160175ns之間,而低速設(shè)備則在1.251.50s之間。無論其后是否有其它的資料包,usb線纜都會在eop字段后緊跟1bit的總線空閑位。usb
26、主機(jī)或外設(shè)利用eop來判斷一個資料包的結(jié)束。為了滿足不同外設(shè)和用戶的要求,usb提供了四種傳輸方式:控制傳輸;同步傳輸;中斷傳輸;批傳輸。它們在數(shù)據(jù)格式、傳輸方向、數(shù)據(jù)包容量限制、總線訪問限制等方面有著各自不同的特征:1、控制傳輸(control transfer):可靠的,非周期的,由主機(jī)軟件發(fā)起的請求或者回應(yīng)的傳送,通常用于命令事務(wù)和狀態(tài)事務(wù)。2、同步傳輸(isochronous transfer);在主機(jī)和設(shè)備之間的周期性的,連續(xù)的通信,一般用于傳送與時間相關(guān)的信息。這種類型保留了將時間概念包含于數(shù)據(jù)中的能力。但并不意味著用于同步傳送的數(shù)據(jù)的時間是很重要的,即傳送并不一定很急。3、中斷傳
27、輸(interrupt transfer):小規(guī)模數(shù)據(jù)的,低速的,固定延遲的傳送。4、批量傳輸(bulk transfer):非周期的,大包的,可靠的傳送。典型用于傳送可以利用任何帶寬的數(shù)據(jù),這些數(shù)據(jù)沒有帶寬時,是可以容忍等待。對于pdiusbd12,端點的工作方式可通過set mode命令配置為4種不同的模式,分別為:1、模式0(non-iso模式):非同步傳輸;2、模式1(iso-out模式):同步輸出傳輸;3、模式2(iso-in模式):同步輸入傳輸;4、模式3(iso-io模式): 同步輸入輸出傳輸。端點2在有些方面是比較特別的,端點2是進(jìn)行吞吐大量數(shù)據(jù)的主要端點,一般稱其為主端點,主
28、端點執(zhí)行主機(jī)的特性以減輕傳輸大量數(shù)據(jù)的任務(wù),具體包括:1、雙緩沖;2、支持dma;3、可以配置為同步傳輸或非同步(批量和中斷)傳輸。2.3usb設(shè)備請求usb的標(biāo)準(zhǔn)設(shè)備請求是用來完成usb設(shè)備枚舉的命令,usb設(shè)備必須對標(biāo)準(zhǔn)設(shè)備請求作出響應(yīng),不管該設(shè)備是否已經(jīng)被分配了一個默認(rèn)的地址或者該設(shè)備目前正在被配置。所有的標(biāo)準(zhǔn)設(shè)備請求都是使用默認(rèn)的管道來傳輸?shù)摹?.3.1usb標(biāo)準(zhǔn)請求格式usb的設(shè)備請求由八個字節(jié)組成,格式定義如表2.1所示。2.3.2usb標(biāo)準(zhǔn)請求命令usb標(biāo)準(zhǔn)請求有11個命令,如下:1、 獲取狀態(tài)請求:該命令用于返回特定接受者的狀態(tài)。2、 清除特性請求:該命令用于清除或禁用接受者的
29、某些特性。3、 設(shè)置特性請求:該命令是主機(jī)用來啟用或激活命令接受者某些特性。4、 設(shè)置地址請求:該命令用于主機(jī)給設(shè)備分配地址。5、 獲取描述請求:該命令用于主機(jī)獲取設(shè)備的特定描述符。6、 設(shè)置描述符請求:主機(jī)利用該命令來修改設(shè)備中的有關(guān)描述或增加新的描述符等。7、 獲取配置請求:主機(jī)利用該命令獲得設(shè)備當(dāng)前的配置值。8、 設(shè)置配置請求:主機(jī)通過該命令來指示設(shè)備采用要求的配置。9、 獲取接口請求:主機(jī)利用該命令來獲取當(dāng)前的某個接口的接口描述符的編號。10、 設(shè)置接口請求:主機(jī)可以通過該命令來要求設(shè)備用某個接口描述符來描述接口。11、 同步幀請求:該命令用于設(shè)備設(shè)置和報告一個端點的同步幀。表2.1u
30、sb設(shè)備請求格式偏移值字段名稱字段長度字段取值說明0設(shè)備請求類型1位圖請求特性:d7:數(shù)據(jù)傳輸方向0=主機(jī)到設(shè)備1=設(shè)備到主機(jī)d6.5:類型0=標(biāo)準(zhǔn);1=類型2=廠商;3=保留d4.0:接受方0=設(shè)備;1=接口2=端點;3=其他4.31=保留1設(shè)備請求1數(shù)值usb設(shè)備請求2值2值根據(jù)不同的請求,以字節(jié)為單位來定義4索引2字段編號索引根據(jù)不同的請求,以字節(jié)為單位來定義6長度2計數(shù)如果傳輸一組數(shù)據(jù),指出要傳輸?shù)淖止?jié)數(shù)2.4usb設(shè)備的描述符usb設(shè)備描述符是說明設(shè)備的通用信息,這包括對設(shè)備及所有設(shè)備設(shè)置全程起作用的信息。2.4.1設(shè)備描述符一個usb總線設(shè)備只能有一個設(shè)備描述表。設(shè)備描述表的結(jié)構(gòu)如
31、表2.2所示:表2.2設(shè)備描述符偏移值字段名稱字段大小字段取值說明0blength1數(shù)字描述符的大小=12h1bdescriptortype1常數(shù)設(shè)備描述符類型=01h2bcdusb2bcdusb規(guī)劃發(fā)布號4bdeviceclass1類型類型代碼(由usb指定)5bdevicesubclass1子類型子類型代碼(由usb分配)6bdeviceprotocol1協(xié)議協(xié)議代碼(由usb分配)7bmaxpacketsize01數(shù)字端點0最大分組大?。ㄖ挥?,16,32或64有效)8idvendor2id供應(yīng)商id(由usb分配)10idproduct2id產(chǎn)品id(由廠商分配)12bcddevice
32、2bcd設(shè)備出廠編碼14imanufacture1索引廠商描述符字符串索引15iproduct1索引產(chǎn)品描述符字符串索引16iserialnumber1索引設(shè)備序列號字符串索引17bnumconfiguations1數(shù)字可能的配置數(shù)2.4.2配置描述符配置描述符定義了設(shè)備的配置信息,結(jié)構(gòu)如表2.3所示。2.4.3接口描述符接口描述符說明了接口所提供的配置,接口描述符的結(jié)構(gòu)如表2.4所示。表2.3配置描述符偏移值字段名稱字段大小字段取值說明0blength1數(shù)字描述符的大小=09h1bdescriptortype1常數(shù)配置描述符類型=02 h2wtotallength2數(shù)字此設(shè)置信息的總長(包括
33、設(shè)置,接口,端點和設(shè)備類及廠商定義的描述表)4bnuminterfaces1數(shù)字此設(shè)置所支持的接口個數(shù)5bconfigurationvalue1數(shù)字作為set configuration的一個參數(shù)選擇配置值6iconfiguration1索引用于描述該配置字符串描述符的索引7bmttributes1位圖配置特性:d7:總線供電d6:自供電d5:遠(yuǎn)程喚醒d40;保留(復(fù)位為0)8maxpower1ma在此設(shè)置下的總線電源耗費量,以2ma為一個單位表2.4接口描述符偏移值字段名稱字段大小字段取值說明0blength1數(shù)字描述符的大小=09h1bdescriptortype1常數(shù)接口描述符的類型=0
34、4h2bnuminterfaces1數(shù)字接口的編號3balternate setting1數(shù)字用于為上一個字段選擇可供替換的設(shè)置4bnumendpoint1數(shù)字使用的端點數(shù)目(端點0除外)5binterface class1類型類型代碼(由usb分配)6binterfacesubclass1子類型子類型代碼(由usb分配)7binterface protocal1協(xié)議協(xié)議代碼(由usb分配)8iinterface1索引字符串描述符的索引2.4.4端點描述符端點描述符包括了端點的類型,大小等信息。usb設(shè)備中的每一個端點都有自己的描述符。端點描述符的結(jié)構(gòu)如表2.5所示。2.4.5字符串描述字符串
35、描述是可選的。如果一個設(shè)備不支持字符串描述符,在設(shè)備,配置和接口描述符內(nèi)的所用字符串描述符的索引都必須為0。字符串描述符的結(jié)構(gòu)如表2.6所示。表2.5端點描述符偏移值字段名稱字段大小字段取值說明0blength1數(shù)字描述符的大小=07h1bdescriptortype1常數(shù)接口描述符的類型=05h2bendpointaddress1端點usb設(shè)備的端點地址:bit 0.3: 端點號bit 4.6: 保留,復(fù)位為0bit 7:方向,對于控制端點可以忽略0:out端點; 1:in端點3bmattributes1位圖端點屬性,當(dāng)進(jìn)行配置時采用以下的配置值bit0.1 傳輸類型00 控制01 同步02
36、 批量03 中斷其他位保留4wmaxpacketsize2數(shù)字本端點接受或發(fā)送的最大信息包的大小6binterval1數(shù)字輪詢數(shù)據(jù)傳傳送端點的時間間隔。 表2.6字符串描述符偏移值字段名稱字段大小字段取值說明0blength1數(shù)字描述符的大小1bdescriptortype1常數(shù)字符串描述符的類型2bstringn數(shù)字unicode編碼字符串各個描述符的樹狀結(jié)構(gòu)如圖2.2所示:圖2.2usb描述符層次結(jié)構(gòu)所有的usb設(shè)備都有缺省控制管道,缺省控制管道的最大包長在描述表中得到了說明。設(shè)置描述表中包括設(shè)置與接口的定義,但其中不包括端點描述表。除了最大包長度信息外,缺省管道的特性由usb規(guī)范定義,并
37、且對所有的usb總線設(shè)備都一樣4。2.5總線協(xié)議usb總線屬一種輪訊方式的總線,主機(jī)控制端口初始化所有的數(shù)據(jù)傳輸。 每一總線執(zhí)行動作最多傳送三個數(shù)據(jù)包。按照傳輸前制定好的原則,在每次傳送開始時,主機(jī)控制器發(fā)送一個描述傳輸運作的種類、方向,usb設(shè)備地址和終端號的usb數(shù)據(jù)包,這個數(shù)據(jù)包通常稱為標(biāo)志包(token packet)。usb設(shè)備從解碼后的數(shù)據(jù)包的適當(dāng)位置取出屬于自己的數(shù)據(jù)。數(shù)據(jù)傳輸方向不是從主機(jī)到設(shè)備就是從設(shè)備到主機(jī)。在傳輸開始時,由標(biāo)志包來標(biāo)志數(shù)據(jù)的傳輸方向,然后發(fā)送端開始發(fā)送包含信息的數(shù)據(jù)包或表明沒有數(shù)據(jù)傳送。接收端也要相應(yīng)發(fā)送一個握手的數(shù)據(jù)包表明是否傳送成功。發(fā)送端和接收端之間
38、的usb數(shù)據(jù)傳輸,在主機(jī)和設(shè)備的端口之間,可視為一個通道。存在兩種類型的通道:流和消息。流的數(shù)據(jù)不像消息的數(shù)據(jù),它沒有usb所定義的結(jié)構(gòu),而且通道與數(shù)據(jù)帶寬、傳送服務(wù)類型,端口特性(如方向和緩沖區(qū)大小)有關(guān)。多數(shù)通道在usb設(shè)備設(shè)置完成后即存在。usb中有一個特殊的通道缺省控制通道,它屬于消息通道,當(dāng)設(shè)備一啟動即存在,從而為設(shè)備的設(shè)置、查詢狀況和輸入控制信息提供一個入口。 事務(wù)預(yù)處理允許對一些數(shù)據(jù)流的通道進(jìn)行控制,從而在硬件級上防止了對緩沖區(qū)的高估或低估,通過發(fā)送不確認(rèn)握手信號從而阻塞了數(shù)據(jù)的傳輸速度。當(dāng)不確認(rèn)信號發(fā)過后,若總線有空閑,數(shù)據(jù)傳輸將再做一次。這種流控制機(jī)制允許靈活的任務(wù)安排,可使
39、不同性質(zhì)的流通道同時正常工作,這樣多種流通常可在不同間隔進(jìn)行工作,傳送不同大小的數(shù)據(jù)包5。2.6usb的枚舉過程usb設(shè)備接入計算機(jī)后,設(shè)備需要經(jīng)過初始化和枚舉才能被計算機(jī)識別,初始化主要有mcu完成,而枚舉是在計算機(jī)的控制下完成的。枚舉過程如下:1、設(shè)備連接。usb設(shè)備接入usb總線。2、設(shè)備上電。usb設(shè)備可以使用總線供電,也可以使用外部總線供電。3、主機(jī)檢測到設(shè)備,發(fā)出復(fù)位。設(shè)備連接到總線后,主機(jī)拉電阻檢測到有新的設(shè)備接入,然后向端口發(fā)送一個復(fù)位信號。4、設(shè)備默認(rèn)狀態(tài)。設(shè)備要從總線上接收到一個復(fù)位的信號后,才可以對總線的處理操作作出響應(yīng)。設(shè)備接收到復(fù)位信號后,使用默認(rèn)的地址(00h)來對
40、其進(jìn)行尋址。5、地址分配。當(dāng)主機(jī)接收到有設(shè)備對默認(rèn)地址(00h)響應(yīng)的時候,就對設(shè)備分配一個空閑的地址。以后設(shè)備就只對該地址進(jìn)行響應(yīng)。6、讀取usb設(shè)備描述符。主機(jī)讀取usb設(shè)備描述符,確認(rèn)usb設(shè)備的屬性。7、設(shè)備配置。主機(jī)依照讀取的usb設(shè)備描述符來進(jìn)行配置,如果設(shè)備所需的usb資源得以滿足,就發(fā)送配置命令給usb設(shè)備,表示配置完成。8、掛起。為了節(jié)省電源,當(dāng)總線保持空閑狀態(tài)超過3ms以后,設(shè)備驅(qū)動程序就會進(jìn)入掛起狀態(tài)。完成以上步驟后,usb設(shè)備即可以使用。在枚舉過程中,設(shè)備不一定要求進(jìn)入掛起狀態(tài)。2.7usb主機(jī)接口及系統(tǒng)的功能從具體的usb主機(jī)的實現(xiàn)角度上來講,在遵行usb協(xié)議1.0的
41、基礎(chǔ)上,目前有2套工業(yè)標(biāo)準(zhǔn):1、通用式主機(jī)控制器接口(簡寫成uhci),由inter公司提出。2、開放式主機(jī)控制器接口(簡寫成ohci或open hci),由compaq等公司提出。uhci和ohci實現(xiàn)usb主機(jī)的功能基本上是一樣的。只是具體的實現(xiàn)過程有些不同,兩者均由2部分組成,即主機(jī)控制器(host control,簡寫成hc)和主機(jī)控制器驅(qū)動(host control driver,簡寫成hcd)。主機(jī)控制器更多的是面向硬件部分及其廠商,怪頂了主機(jī)控制器硬件與pc系統(tǒng)內(nèi)存之間的接口、主機(jī)控制器在pci總線上的接口定義、主機(jī)usb事務(wù)的各種功能模塊以及提供給用戶交互的各種寄存器定義等;主
42、機(jī)控制器驅(qū)動更多的是基于軟件層次的標(biāo)準(zhǔn),是usb協(xié)議棧與usb主機(jī)控制器硬件之間聯(lián)系的接口,直接負(fù)責(zé)主機(jī)控制器硬件的配置和管理,一般這部分軟件廠商提供。按照usb的規(guī)定以及usb系統(tǒng)的組成的需要,usb主機(jī)完成的主要功能包括以下幾個方面:1、檢測usb設(shè)備的連接和斷開。通過usb電纜信號線的電平變換來實現(xiàn)該功能,并得到主機(jī)控制器的處理。2、管理主機(jī)和設(shè)備之間標(biāo)準(zhǔn)的控制管道。以保證端點0和缺損管道的正常通信。3、收集設(shè)備的狀態(tài),統(tǒng)計總線的活動。usb的總線上最多可以同時掛接127個設(shè)備,這么多的設(shè)備都要正常的工作,就是靠主機(jī)來進(jìn)行管理的,同時主機(jī)會根據(jù)收集到的各種設(shè)備和總線信息來執(zhí)行某些操作。4
43、、控制和管理主機(jī)控制器與設(shè)備之間的電器接口,包括為端口提供一點數(shù)量的電流1。2.8本章小結(jié)在本章中,簡要的介紹了相關(guān)的usb1.0協(xié)議內(nèi)容,根據(jù)本次課題設(shè)計的要求,重點介紹了usb體系,軟硬件組成、編碼方式與傳輸類型、總線協(xié)議以及主機(jī)系統(tǒng)功能等內(nèi)容。它們是開發(fā)usb設(shè)備,進(jìn)行通信的應(yīng)用的基礎(chǔ)。實際應(yīng)用中,這里的大部分工作由控制器完成。第3章硬件特性及電路設(shè)計3.1單片機(jī)8051介紹本課題設(shè)計usb系統(tǒng)比較簡單,單片機(jī)執(zhí)行的功能不多,在確保實驗功能的情況下,為了降低成本,因此選用性價比高的8051單片機(jī)。 mcs-51是intel公司生產(chǎn)的一個單片機(jī)系列名稱。屬于這一系列的單片機(jī)有多種。8051
44、便是其中一種性價比高的單片機(jī)。8051單片機(jī)內(nèi)部結(jié)構(gòu)按其功能部件劃分可以看出由8大部分組成的。這8大部分是: 1、一個8位中央處理機(jī)cpu。 2、128個字節(jié)的片內(nèi)數(shù)據(jù)存儲器ram。3、4kb的片內(nèi)程序只讀存儲器rom或eprom。4、18個特殊功能寄存器sfr。 5、4個8位并行輸入輸出i/o接口: p0口、 p1口、 p2口、 p3口(共32線), 用于并行輸入或輸出數(shù)據(jù)。 6、1個串行i/o接口。 7、2個16位定時器/計數(shù)器。 8、1個具有5個中斷源, 可編程為2個優(yōu)先級的中斷系統(tǒng)。 它可以接收外部中斷申請, 定時器/計數(shù)器中斷申請和串行口中斷申請。本課題選用的8051單片機(jī)芯片為40
45、個引腳,它是hmos工藝制造的芯片,采用雙列直插(dip)方式封裝。1、主電源引腳vcc和vss vcc(40腳):接+5v電源正端; vss(20腳):接+5v電源地端。 2、外接晶體引腳xtal1和xtal2xtal1(19腳):接外部石英晶體的一端。在單片機(jī)內(nèi)部, 它是一個反相放大器的輸入端,這個放大器構(gòu)成了片內(nèi)振蕩器。當(dāng)采用外部時鐘時,對于hmos單片機(jī),該引腳接地;xtal2(18腳):接外部晶體的另一端。在單片機(jī)內(nèi)部,接至片內(nèi)振蕩器的反相放大器的輸出端。當(dāng)采用外部時鐘時,對于hmos單片機(jī),該引腳作為外部振蕩信號的輸入端。3、控制信號或與其它電源復(fù)用引腳4、i/o口線引腳排列(1)
46、p0口8位、漏極開路的雙向i/o口。當(dāng)使用片外儲存器及外擴(kuò)i/o口時,p0口做為低字節(jié)地址/數(shù)據(jù)復(fù)線。在編程時,p0口可用于接收指令代碼字節(jié);在程序校檢時,p0口可輸出指令字節(jié)(這是需要外加上拉電阻)。(2)p0口也可作為通用i/o使用,變成準(zhǔn)雙向口。當(dāng)作為普通輸入時,應(yīng)將輸出鎖存器置1。p0口可驅(qū)動8個ttl負(fù)載。p1口8位、準(zhǔn)雙口i/o,具有內(nèi)部上拉電阻。 p1口是為用戶準(zhǔn)備的i/o雙向口。在編程和校檢時,可用做輸入低8位地址;用做輸入時,應(yīng)先將輸出鎖存器置1;p1口可驅(qū)動4個ttl負(fù)載。 p1口的p1.0和p1.1具有替代功能。(3)p2口8位、準(zhǔn)雙向i/o口,具有內(nèi)部上拉電阻。當(dāng)使用片
47、外儲存器或外擴(kuò)i/o端口時,p2口輸出高8位地址;在編程校檢時,p2口可接收高字節(jié)地址和某些控制信號;p2口也可作為i/o口使用。用做輸入時,應(yīng)先將輸出鎖存器置1;p2口可驅(qū)動4個ttl負(fù)載。(4)p3口8位、準(zhǔn)雙向i/o口,具有內(nèi)部上拉電阻。p3口可作為普通i/o口。用作輸入時,應(yīng)先將輸出鎖存器置1;在編程校檢時,p3口接收某些控制信號;可驅(qū)動4個ttl。p3口還提供各種替代功能。整個perom陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ale管腳處于低電平10ms來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,8051設(shè)有
48、穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu停止工作。但ram,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存ram的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止6。3.2pdiusbd12器件與微控制器的連接3.2.1pdiusbd12功能描述philips公司推出的pdiusbd12是一款性價比很高的usb器件。它通常用做微控制器系統(tǒng)中實現(xiàn)與微控制器進(jìn)行通信的高速通用并行接口,而且還支持本地的dma傳輸。pdiusbd12完全符合usb1.0協(xié)議規(guī)范。pdiusbd12所具有的低掛起功耗連同lazyclock輸
49、出可以滿足使用acpi、onnow和usb電源管理的要求。低的操作功耗可以應(yīng)用于使用總線供電的外設(shè)。1、philips串行接口引擎psie實現(xiàn)了全部的usb協(xié)議層,且完全由硬件實現(xiàn)而不需要固件的參與。該模塊的功能包括:同步模式的識別,并行/串行的轉(zhuǎn)換,位填充/解除填充,crc校驗/產(chǎn)生,pid校驗/產(chǎn)生,地址識別和握手評估/產(chǎn)生。2、softconnect技術(shù)softconnect與usb的連接是通過1.5k上拉電阻將d+設(shè)置為高電平實現(xiàn)的。1.5k上拉電阻集成在pdiusbd12片內(nèi),默認(rèn)狀態(tài)下不與電源相連,其連接的建立是通過外部/系統(tǒng)微控制器發(fā)送命令實現(xiàn)的。3、goodlink技術(shù)good
50、link技術(shù)可以提供良好的usb連接指示。在枚舉過程中,led指示燈根據(jù)通信狀況間歇閃爍。配置完成并裝安驅(qū)動程序后指示燈將一直亮7。3.2.2pdiusbd12管腳配置pdiusbd12的管腳排列如圖3.1所示: 圖3.1pdiusbd12管腳排列圖3.2.3單片機(jī)與pdiusbd12的連接單片機(jī)與pdiusbd12的連接如圖3.2所示:對上圖中的電路說明如下:1、電路中使用a0作為命令數(shù)據(jù)選擇位2、端點2使用批量傳輸(bulk),所以dmack_n和eot_n接上拉電阻,否則,pdiusbd12將不能接受任何數(shù)據(jù);3、單片機(jī)外接晶振,所以pdiusbd12的clkout腳空;4、從圖上可以看
51、出,當(dāng)選擇命令時,pdiusbd12的地址為0xf1ff;當(dāng)選擇數(shù)據(jù)時pdiusbd12的地址為0xf0ff;5、單片機(jī)使用p0口進(jìn)行輸入輸出,由于p0是開漏的,所以,需要接上拉電阻,在電路中使用排阻;6、gl_n通過一個電阻和led串接到vcc,在usb設(shè)備枚舉期間,燈一直閃爍,當(dāng)usb設(shè)備枚舉成功后,燈會滅,安裝完驅(qū)動程序后,燈一直亮著,傳送數(shù)據(jù)期間,燈會閃爍;圖3.2 pdiusbd12與單片機(jī)連接圖7、usb_d+,usb_d-線上的1m上拉電阻下拉電阻對實際沒有什么影響,它們主要在噪聲比較大的情況下,起到抗干擾的作用;8、采用總線供電,總開關(guān)s1負(fù)責(zé)電源的連接與斷開,led指示整個電
52、路是否有電。在這種方式下,確保電路的正確連接很重要,否則,容易損壞計算機(jī)4。在使用的同時,應(yīng)注意一個問題。由于philips公司生產(chǎn)的pdiusbd12芯片自身存在一個小小的問題,即當(dāng)片選沒有選中時它的第14角仍然會輸出低電平的中斷信號,由于它接單片機(jī)的p3.3,所以與矩陣鍵盤共用的p3.3口有沖突,使用pdiusbd12芯片時請將該芯片左邊的int1兩線柱短接。在不使用該芯片時不用接。3.3系統(tǒng)硬件設(shè)計3.3.1單片機(jī)電路設(shè)計單片機(jī)最小系統(tǒng)主要包括其供電系統(tǒng),時鐘電路和復(fù)位電路。本次單片機(jī)的系統(tǒng)供電電路和時鐘電路都做了簡化處理,單片機(jī)的系統(tǒng)復(fù)位電路采用手動復(fù)位。單片機(jī)電路如圖3.4所示。對電
53、路說明如下:1、單片機(jī)采用外接晶振的方法,是外接晶振,頻率為11.0592mhz;2、復(fù)位電路采用按鍵復(fù)位;3、pdiusbd12使用單片機(jī)的外部中斷0。在程序里將單片機(jī)和pdiusbd12設(shè)置為相同的中斷方式,即電平中斷。然后由pdiusbd12自動清除中斷腳上的低電平,以便接受下次中斷8。3.3.2外圍電路設(shè)計本次課題的外圍硬硬件系統(tǒng)資源包括:串口通信、6位動態(tài)數(shù)碼顯示、8位流水燈、蜂鳴器、4*4矩陣鍵盤、溫度傳感器、液晶顯示器接口、pdiusbd12芯片接口等。每個元件與單片機(jī)都有單獨的電路連接,他們均以單片機(jī)為控制核心。使單片機(jī)能獨立的控制每個元件的正常工作。再通過pdiusbd12芯
54、片,usb接口,上位機(jī)能與單片機(jī)實現(xiàn)通信,上位機(jī)發(fā)送信息到單片機(jī),單片機(jī)根據(jù)上位機(jī)信息控制外圍電路的工作;外圍設(shè)備發(fā)送信息到單片機(jī),單片機(jī)反饋到上位機(jī),在上位機(jī)的控制界面上顯示狀態(tài)信息。其整體框圖如圖3.5所示。根據(jù)整體框圖,將每個分塊電路設(shè)計成整體電路原理圖,生成pcb圖(見附錄)。整個電路圖的設(shè)計是在protel 99的軟件環(huán)境下完成的。圖3.4 單片機(jī)電路上位機(jī)usb接口pdiusbd128051單片機(jī)4*4矩陣鍵盤串口通信蜂鳴器8位流水燈液晶顯示器6位動態(tài)數(shù)碼顯示溫度傳感器圖3.5整體框圖3.4本章小結(jié)本章介紹了單片機(jī),pdiusbd12芯片的基礎(chǔ)知識,根據(jù)課題需求,重點討論了pdiusbd12芯片在批量傳輸時與單片機(jī)的接法。外圍硬件資源根據(jù)框圖設(shè)計出實驗電路圖,這些電路是做出單片機(jī)實驗板,上位機(jī)軟件能夠正確運行的基礎(chǔ)。 第4章程序設(shè)計及調(diào)試4.1概述4.1.1集成開發(fā)環(huán)境keil簡介單片機(jī)開發(fā)中出必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要邊成cpu可以執(zhí)行的機(jī)器碼有兩種方法,一中是手工匯編,另一種是機(jī)器匯編,目前已經(jīng)極少使用匯編的方法了。機(jī)器匯編是通過匯編軟件將源程序變成機(jī)器碼,用于mcs-51單片機(jī)
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版辦公家具翻新改造合同環(huán)保節(jié)能3篇
- 二零二五年度安全生產(chǎn)標(biāo)準(zhǔn)化達(dá)標(biāo)驗收合同5篇
- 二零二五年度文化地產(chǎn)預(yù)售合同規(guī)范3篇
- 二零二五年度自卸車租賃與環(huán)保處置服務(wù)合同3篇
- 二零二五年度船舶租賃借款合同構(gòu)成要件與航運市場3篇
- 2025年金融衍生品交易合同范本4篇
- 二零二五版廣州汽車租賃與車輛租賃維護(hù)服務(wù)合同范本2篇
- 2025年度數(shù)據(jù)中心機(jī)房設(shè)備安裝與維護(hù)管理合同2篇
- 2025年系統(tǒng)維保服務(wù)合同范本:包含智能工廠生產(chǎn)線維護(hù)協(xié)議3篇
- 2025年度消防安全演練策劃與執(zhí)行分包合同2篇
- 品質(zhì)經(jīng)理工作總結(jié)
- 供電搶修述職報告
- 集成電路設(shè)計工藝節(jié)點演進(jìn)趨勢
- 新型電力系統(tǒng)簡介演示
- 特種設(shè)備行業(yè)團(tuán)隊建設(shè)工作方案
- 眼內(nèi)炎患者護(hù)理查房課件
- 肯德基經(jīng)營策略分析報告總結(jié)
- 買賣合同簽訂和履行風(fēng)險控制
- 中央空調(diào)現(xiàn)場施工技術(shù)總結(jié)(附圖)
- 水質(zhì)-濁度的測定原始記錄
- 數(shù)字美的智慧工業(yè)白皮書-2023.09
評論
0/150
提交評論