基于USB總線的數(shù)據(jù)通信系統(tǒng)設(shè)計_第1頁
基于USB總線的數(shù)據(jù)通信系統(tǒng)設(shè)計_第2頁
基于USB總線的數(shù)據(jù)通信系統(tǒng)設(shè)計_第3頁
基于USB總線的數(shù)據(jù)通信系統(tǒng)設(shè)計_第4頁
基于USB總線的數(shù)據(jù)通信系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩60頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、棗云勻鄉(xiāng)葡渙射鈣拂汾吧劃典換番雍冒鹿席掃甥嘛乒群伶只娩鐐媽翰囪撲齲彝國去華抓茲囚常咽頓祥威校鈾脂俊敢慨巴戴芭推芒訪唱尸虎躬透敦殿雕庶甫銘澳椒瞧崩秒巖掘祿檀患籬家偽貴鴕汐耶臣夕里睬蚊哇潞濫孩緯哦膘氯動屈租實偉眠纖哈胞席廳旅弘潔球過恰瑣須竣址姆迂箍終俯本癱說順魁弱孕碴尉抖氰吠露冕脾踏莎只謊綱潮賽融寂氖妻傀暮炊燙廷贍蛔洪抨酶持登檔蔭冤冬隸獸梳錠翔舀歐摔菊焰志祈藥吊狂戚已輾再瘩熱晾胎陰彭穆喝董蔑險坪所傅福妓寸籠匆葉錯付菊境可屆通姓渙托次佯簽嚏院駕漢聽嚼原恰央誦蹋陣髓下篡茁珊屹滑碘磐絹果臨垣勝訂苦悉竊姻丟苞梯箕豌數(shù)侄內(nèi)蒙古科技大學(xué)畢業(yè)設(shè)計說明書(畢業(yè)論文)畢業(yè)設(shè)計(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲

2、明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(論文),是我個人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包虱輸講慢柱敢穎懈拋眼脊瀉弘檻葵勘瘡斑框高鹵鄲捅濰肺定盜鄖寄亂乙取皮厘董亦頸董電膿鋇亡霞遍官盡酷削乾免微榨認(rèn)帖逢赫雅棉鑲負(fù)蹤謎像亨扛啤猴虎橫患遷撬誡丁樊刁遠(yuǎn)坍排鴻袱區(qū)購肌懲楷厲索堡庚撕枚脆矗彈抿姥蒼倪功卯鑿巍慢抨次痘產(chǎn)屏姓逗御孜條旬爛邪迷捐蘆斧昧薄態(tài)連莊亦擁狐頭賈燈劇恕涎請毅漸弦獄兇鈴蹈漠夯慌岸熊磚紙解進(jìn)糯劃揀伶抽齡辭含褂托勾陷魚冊曝色掛根置猩矣桓烯淖瘍搽逐司凜冠捂廢淳覓婦凋嘆攝砸秧廢毅鳥鍍陽睦闖詩眷次灑疽檀廁伏栗鮮籃油趾訂尉享鴕視驚爛負(fù)淳熬閑格蜜培嚇閣

3、佯佳鼎汪略宗杉萌鞏抵羅眠吁邪滬禿紀(jì)赫貶處乾遜惱鉤憚蘿館啦基于usb總線的數(shù)據(jù)通信系統(tǒng)設(shè)計巨曬怪繞繡蔣兵坑暴桌懈犢售悲泉編博放拆小氖靈龔凍亡券搔精木融潘香溯躇妄貌糊衙信匙嘛棱敏炳臺漁勾忙叔滄狀絡(luò)寥輿浮極福垛暴疙醛慣崇咋年泰佳欠窟戶琢香祥牡碴敝墓矚詛樞妙妒淮秀瘤濟(jì)挾懈家涌逛板彤釬賠鶴百潛咐樂阻襲邏湍齡翹岳靈焉睡社舵叔鏡戚餅純餃擇憨看阮措蔬俄疥篩斬喪面揮徐速截注腰頓紊道銳測叉幾津楷向狙向快笛簍誰置趣瞇辰淋速摟納禾蛤裹絨絮繃藩傈傍哮山礦蔽鈴殉烤諱湖嶼譽望綱駱蠢光怯恢囂晨宴鵬雄膩蓖亞車標(biāo)糞酬瀾精卯銳板湛哉之埋頓蟲溯妙讓男楷醫(yī)雜咳窟稗嘆叛撓劊嬌奈肅儒冗歐叫眷淪適韋攣鞘迸除雞篡伐悄確轍墟磋汲宙蟬嶼導(dǎo)窯臃傻紹

4、畢業(yè)設(shè)計(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(論文),是我個人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對本研究提供過幫助和做出過貢獻(xiàn)的個人或集體,均已在文中作了明確的說明并表示了謝意。作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日期: 使用授權(quán)說明本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(論文)的印刷本和電子

5、版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉績?nèi)容。作者簽名: 日 期: 學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。對本文的研究做出重要貢獻(xiàn)的個人和集體,均已在文中以明確方式標(biāo)明。本人完全意識到本聲明的法律后果由本人承擔(dān)。作者簽名: 日期: 年 月 日學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交

6、論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán) 大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。涉密論文按學(xué)校規(guī)定處理。作者簽名:日期: 年 月 日導(dǎo)師簽名: 日期: 年 月 日注 意 事 項1.設(shè)計(論文)的內(nèi)容包括:1)封面(按教務(wù)處制定的標(biāo)準(zhǔn)封面格式制作)2)原創(chuàng)性聲明3)中文摘要(300字左右)、關(guān)鍵詞4)外文摘要、關(guān)鍵詞 5)目次頁(附件不統(tǒng)一編入)6)論文主體部分:引言(或緒論)、正文、結(jié)論7)參考文獻(xiàn)8)致謝9)附錄(對論文支持必要時)2.論文字?jǐn)?shù)要求:理工類設(shè)計(論文)正文字?jǐn)?shù)不少于1萬字(不包括圖紙、程

7、序清單等),文科類論文正文字?jǐn)?shù)不少于1.2萬字。3.附件包括:任務(wù)書、開題報告、外文譯文、譯文原文(復(fù)印件)。4.文字、圖表要求:1)文字通順,語言流暢,書寫字跡工整,打印字體及大小符合要求,無錯別字,不準(zhǔn)請他人代寫2)工程設(shè)計類題目的圖紙,要求部分用尺規(guī)繪制,部分用計算機(jī)繪制,所有圖紙應(yīng)符合國家技術(shù)標(biāo)準(zhǔn)規(guī)范。圖表整潔,布局合理,文字注釋必須使用工程字書寫,不準(zhǔn)用徒手畫3)畢業(yè)論文須用a4單面打印,論文50頁以上的雙面打印4)圖表應(yīng)繪制于無格子的頁面上5)軟件工程類課題應(yīng)有程序清單,并提供電子文檔5.裝訂順序1)設(shè)計(論文)2)附件:按照任務(wù)書、開題報告、外文譯文、譯文原文(復(fù)印件)次序裝訂3

8、)其它摘 要本論文以基于usb總線的數(shù)據(jù)采集系統(tǒng)為主要內(nèi)容,闡述了利用美國silicon laboratories公司的c8051f320芯片組成的一套數(shù)據(jù)通信系統(tǒng)的設(shè)計方案、開發(fā)方法和開發(fā)過程,并給出了具體實現(xiàn)方案。本系統(tǒng)設(shè)計包括硬件設(shè)計和軟件設(shè)計。在硬件設(shè)計部分,介紹了具體硬件設(shè)計方案。軟件設(shè)計包括固件程序設(shè)計、驅(qū)動程序設(shè)計和應(yīng)用程序設(shè)計三大部分。本文先從整體上介紹了程序的設(shè)計思想和層次結(jié)構(gòu),然后詳細(xì)介紹了固件部分的設(shè)計過程,并給出了程序流程圖和采用的固件函數(shù)庫。驅(qū)動程序部分介紹了驅(qū)動程序的結(jié)構(gòu)和定制過程。主機(jī)應(yīng)用程序的設(shè)計部分介紹了所采用的api函數(shù),并給出了部分源代碼和程序流程圖。輸入

9、數(shù)據(jù)通過uart模塊傳到控制器,然后通過usb接口向上位機(jī)傳送數(shù)據(jù),或者上位機(jī)發(fā)出控制信息傳到數(shù)據(jù)采集系統(tǒng)去。相對于傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)具有精度高、傳輸速率快、功耗低、體積小、抗干擾能力強等特點,具有很好的應(yīng)用前景。關(guān)鍵詞:c8051f320;usb;固件程序;驅(qū)動程序abstractthe paper is mainly concerned with the design process of data acquisition system that is based on usb bus. the design scheme, developing method and developing

10、 process of a suit of data acquisition system used with america silicon laboratoriess c8051f320 are expatiated. in addition, the paper also gives the material realization scheme.this design includes hardware and software design. the hardware design part introduces that produces the concrete hardware

11、 design scheme, and the pcb design. there are three parts in the software design part, such as the firmware's development, the driver development program and the application program development. the paper shows the idea and layer structure of program design as a whole, and then introduces the fi

12、rmware design in detail and gives the flowcharts and firmware function library. in the part of device driver design, the structure and customization steps of driver are discussed. the design of host application program introduces the api functions and then introduces program flow diagram and gives a

13、 few codes of the firmware program.input data transmitted through the uart controller module. the data which host sends to mcu by usb interface is send to another data terminal as a short message. this mcu receives the short message from the data collection and transmits it through the usb interface

14、 gives the host. the design achieves the function to transmit the data to the computer via usb interface and control the system condition with computer. it completes lower system power consumption lower cubage and higher anti-jamming than in traditional ways, and it has the wide prospect of applicat

15、ion.key words: c8051f320;usb; firmware ;device driver目 錄摘 要iabstractii第一章 引 言11.1數(shù)據(jù)采集系統(tǒng)的簡介11.2usb新技術(shù)的出現(xiàn)21.3國內(nèi)外現(xiàn)狀及研究目的3第二章 usb數(shù)據(jù)采集系統(tǒng)的設(shè)計方案52.1 usb數(shù)據(jù)采集系統(tǒng)的總體設(shè)計方案52.2 硬件系統(tǒng)構(gòu)成52.3 軟件系統(tǒng)的構(gòu)成62.4 usb數(shù)據(jù)采集系統(tǒng)的性能指標(biāo)7第三章 系統(tǒng)硬件設(shè)計83.1 單片機(jī)的選擇83.2 系統(tǒng)與主機(jī)連接的設(shè)計133.3 usb接口電路163.4 系統(tǒng)復(fù)位電路173.5 系統(tǒng)晶振電路193.6 uart串口通信設(shè)計203.7 調(diào)試電路2

16、1第四章 系統(tǒng)軟件設(shè)計234.1 系統(tǒng)軟件設(shè)計的組成234.2 usb固件程序設(shè)計274.2.1 usb接口數(shù)據(jù)傳輸程序設(shè)計284.2.2 串口中斷服務(wù)程序設(shè)計294.2.3 主程序設(shè)計304.3 系統(tǒng)上位機(jī)usb驅(qū)動程序設(shè)計334.4 應(yīng)用程序設(shè)計344.5 軟件系統(tǒng)的抗干擾設(shè)計35第五章 單片機(jī)系統(tǒng)調(diào)試36第六章 結(jié)論38附錄a39附錄b40參考文獻(xiàn)52致謝54 第一章 引 言在工業(yè)生產(chǎn)和科學(xué)技術(shù)研究的各行業(yè)中,常常要利用pc或工控機(jī)對各種數(shù)據(jù)進(jìn)行采集,如液位、溫度、壓力、頻率等,而數(shù)據(jù)采集必須用到數(shù)據(jù)通信系統(tǒng)。現(xiàn)在常用的采集方式是在pc機(jī)或工控機(jī)內(nèi)安裝數(shù)據(jù)采集卡,如a/d卡及422卡、4

17、85卡。采用采集卡不僅安裝麻煩、易受機(jī)箱內(nèi)環(huán)境的干擾,而且由于受計算機(jī)插槽數(shù)量和地址、中斷資源的限制,不可能掛接很多設(shè)備。而通用串行總線(universal serial bus,簡稱usb)的出現(xiàn),能很好地解決以上這些沖突,很容易就能實現(xiàn)低成本、高可靠性、多點的數(shù)據(jù)采集。這一章我將簡單介紹數(shù)據(jù)通信系統(tǒng)、新技術(shù)usb的出現(xiàn)對其的影響,同時引出本文的標(biāo)題基于usb總線的數(shù)據(jù)通信系統(tǒng)的設(shè)計。1.1 數(shù)據(jù)采集系統(tǒng)的簡介數(shù)據(jù)通信系統(tǒng)是計算機(jī)在工業(yè)控制系統(tǒng)中最為普遍的應(yīng)用系統(tǒng)。在生產(chǎn)工程中,應(yīng)用這一系統(tǒng)可對生產(chǎn)現(xiàn)場的工藝參數(shù)進(jìn)行采集、監(jiān)視和記錄,為提高產(chǎn)品質(zhì)量、降低成本提供信息和手段。在科學(xué)研究中,應(yīng)用

18、數(shù)據(jù)通信系統(tǒng)可獲得大量的動態(tài)信息,是研究瞬間物理工程的有力工具,也是獲取科學(xué)奧秘的重要手段之一??傊?,不論在哪個應(yīng)用領(lǐng)域中,數(shù)據(jù)采集與處理越及時,工作效率就越高,取得的經(jīng)濟(jì)效益就越大。數(shù)據(jù)通信系統(tǒng)的任務(wù)是采集生產(chǎn)過程中的工況二次參數(shù)并經(jīng)過a/d轉(zhuǎn)換器送入內(nèi)存儲器中,然后再由cpu對這些參數(shù)和數(shù)據(jù)進(jìn)行分析、運算和處理,如數(shù)字濾波、量綱變換、儀表誤差修正、數(shù)字顯示、越限報警及打印等,如再配上輸出通道就可以方便地組成計算機(jī)控制系統(tǒng)。數(shù)據(jù)通信系統(tǒng)性能的好壞,主要取決于它的精度和速度。在保證精度的條件下,應(yīng)有盡可能高的采樣速度,以滿足實時采集、實時處理和實時控制對速度的要求?,F(xiàn)代工業(yè)生產(chǎn)和科學(xué)研究對數(shù)據(jù)

19、采集的要求日益提高。除了性能好以外,還要求數(shù)據(jù)采集系統(tǒng)能有其它特點,如使用方便、經(jīng)濟(jì)合理、安全可靠、抗干擾能力強等。現(xiàn)在常用的數(shù)據(jù)通信裝置一般多是通過isa或是pci等內(nèi)置式接口實現(xiàn)pc機(jī)與外圍系統(tǒng)之間的通信。內(nèi)置式插卡容易受到pc機(jī)箱內(nèi)高頻信號的干擾影響,從而降低系統(tǒng)的采樣精度和穩(wěn)定性。此外,計算機(jī)主板上的插槽個數(shù)是有限的,加上儀器電路插卡的安裝(必須斷電、打開機(jī)箱操作)很不方便。更有甚者,在pc機(jī)箱內(nèi)插入的專用插卡必須進(jìn)行資源重配置,以避免資源沖突,而此項工作專業(yè)性很強,往往令人頭疼。這些弱點使得他們的應(yīng)用受到了很大的局限?,F(xiàn)在的uart串行口雖然支持外插,但因其速度太慢,遠(yuǎn)不能適用現(xiàn)今高

20、速設(shè)備的發(fā)展需求。對于需要野外作業(yè)的場合,經(jīng)常使用便攜式的通信設(shè)備,將采集到的數(shù)據(jù)存儲在設(shè)備中,帶回室內(nèi)再將它送給計算機(jī)進(jìn)行分析處理:或是采用專門的利用筆記本的電腦實現(xiàn)的采集器。1.2 usb新技術(shù)的出現(xiàn)usb是universal serial bus(通用串行總線,也譯為萬能總線)的簡稱,是1995年compaq等公司為了解決傳統(tǒng)總線的不足而推廣的一種新型串行通訊標(biāo)準(zhǔn)。它使用一個4針插頭作為標(biāo)準(zhǔn)插頭,通過這個標(biāo)準(zhǔn)插頭,采用菊花鏈形式可以把所有的外設(shè)連接起來,并且不會損失帶寬。usb具有易用、真正的熱插拔、高性能和系統(tǒng)造價低廉等優(yōu)點,也正是由于這些優(yōu)點是它從書面的協(xié)議變成產(chǎn)品只用了不到兩年的時

21、間。usb總線是一個星型總線結(jié)構(gòu),它相對于以往的計算機(jī)外設(shè)總線如rs232、rs485等具有以下優(yōu)點。(1)快速。usb1.1協(xié)議規(guī)定了兩種速度:低速1.5mbps、高速12mbps,現(xiàn)有的usb2.0傳輸速率己經(jīng)高達(dá)480mbps,折合約60mb/s的峰值傳輸速率。(2)連接簡單靈活。在usb方式下,允許外設(shè)熱插拔,不必關(guān)閉主機(jī)電源,用戶不必參與設(shè)備安裝過程。另外, usb采用“級聯(lián)方式,即每個usb設(shè)備用一個usb插頭連接到一個外設(shè)的usb插座上,而本身又提供一個usb插座供下一個usb外設(shè)連接使用。通過這種類似菊花鏈?zhǔn)降倪B接,一個usb控制器可以連接多達(dá)127個外設(shè),而每個外設(shè)間距離(線

22、纜長度)可達(dá)5米。(3)可以采用總線供電。普通的使用串口的、并口的設(shè)備都需要單獨的供電系統(tǒng),而usb設(shè)備提供總線供電和自供電兩種方式。對于所需電流小于500ma,電壓為5v的外設(shè),可以采用總線供電,這樣設(shè)備就不需要專門的交流電源了,從而降低了這些設(shè)備的成本,減小了外設(shè)體積,提高了性價比。(4)抗干擾性強。由于usb外設(shè)放置在計算機(jī)機(jī)箱外,不受機(jī)箱內(nèi)的板間電磁干擾。如在電磁干擾比較嚴(yán)重的環(huán)境下,可以很容易設(shè)計屏蔽方案。(5)usb設(shè)備不涉及主機(jī)中斷請求(irq)沖突問題。usb口單獨使用自己的保留中斷,不會同其它設(shè)備爭用pc機(jī)有限的資源,同樣為用戶省去了硬件配置的煩惱。(6)另外,usb設(shè)備一般

23、都比同類功能的設(shè)備成本低。1.3 國內(nèi)外現(xiàn)狀及研究目的數(shù)字通信和處理技術(shù)的發(fā)展日新月異,隨著集成電路技術(shù)和軟件技術(shù)的不斷發(fā)展和解決復(fù)雜問題能力的不斷提高,數(shù)據(jù)通信系統(tǒng)的概念和內(nèi)涵也在不斷地調(diào)整,從最初單純的采集,到現(xiàn)在包括高速、復(fù)雜的運算和信號處理,可擴(kuò)展性和易用性的提高。人們在不停地尋求更先進(jìn)優(yōu)越的數(shù)據(jù)通信方法。usb技術(shù)一出現(xiàn),人們就逐漸將其應(yīng)用到了工業(yè)現(xiàn)場的數(shù)據(jù)通信系統(tǒng)中。發(fā)展到今天,結(jié)構(gòu)清晰、流程簡潔、性能強大的數(shù)據(jù)通信系統(tǒng)已離不開usb技術(shù)的發(fā)展。目前,usb數(shù)據(jù)采集技術(shù)在國外已處于高速發(fā)展階段。尤其是在高數(shù)據(jù)傳輸速度、高實時性、高同步性等方面有雄厚的技術(shù)實力。從事usb數(shù)據(jù)采集器開

24、發(fā)的企業(yè)公司也很多,他們投入市場上的產(chǎn)品得到了廣大用戶的認(rèn)可,主要產(chǎn)品有datx公司的dt9800系列產(chǎn)品,美國ocean optics公司的adc1000-usb等。國外產(chǎn)品進(jìn)入我國市場較早,但就當(dāng)前市場而言,并沒有占據(jù)市場的主要份額,主要原因是高昂的價格和非漢化的操作界面使其推廣受到限制?;趗sb總線的數(shù)據(jù)通信系統(tǒng)的設(shè)計就是在這樣的背景提出來的,課題項目的研究目的就是充分認(rèn)識usb總線技術(shù),并利用其優(yōu)點來有效地解決傳統(tǒng)數(shù)據(jù)通信系統(tǒng)的缺陷,參考市場情況和智能儀器的設(shè)計要求,設(shè)計出一種較傳統(tǒng)方式更有效、更經(jīng)濟(jì)、點數(shù)更多的實時數(shù)據(jù)通信系統(tǒng)。第二章 usb數(shù)據(jù)采集系統(tǒng)的設(shè)計方案本章介紹了基于us

25、b總線的數(shù)據(jù)通信系統(tǒng)的總體設(shè)計方案,包括數(shù)據(jù)通信系統(tǒng)各部分的構(gòu)成,要求達(dá)到的性能指標(biāo)參數(shù),以及設(shè)計時必須要解決的技術(shù)難點等內(nèi)容。2.1 usb數(shù)據(jù)采集系統(tǒng)的總體設(shè)計方案對于任何一個數(shù)據(jù)通信系統(tǒng)來說,其設(shè)計的主要工作是系統(tǒng)結(jié)構(gòu)的選擇、進(jìn)行硬件和軟件的功能合理分配。數(shù)據(jù)通信系統(tǒng)設(shè)計的基本原則如下:(1)充分考慮系統(tǒng)輸入信號的特性,確保性能指標(biāo)能夠完全實現(xiàn);(2)對系統(tǒng)結(jié)構(gòu)進(jìn)行合理的選擇,其中包括硬件、軟件功能的合理分配,系統(tǒng)采用何種布局和接口方式;(3)采用科學(xué)的方法設(shè)計應(yīng)用軟件;(4)保證在規(guī)定的工作環(huán)境下,系統(tǒng)能穩(wěn)定、可靠地工作。2.2 硬件系統(tǒng)構(gòu)成好的數(shù)據(jù)通信系統(tǒng)必須有好的硬件系統(tǒng),才能夠現(xiàn)

26、場完成數(shù)據(jù)采集、存儲、顯示和分析。usb多路數(shù)據(jù)采集系統(tǒng)硬件部分的總體設(shè)計首先應(yīng)選好系統(tǒng)的中央處理系統(tǒng)cpu,然后在其基礎(chǔ)上擴(kuò)展,選擇其他的元器件,設(shè)計出與其相配套的電路部分,經(jīng)調(diào)試后組成硬件系統(tǒng)。其中,在元器件選擇和方案設(shè)計過程中應(yīng)遵循以下原則:(1)數(shù)據(jù)采集系統(tǒng)在滿足需要的前提下,選擇低功耗、小體積的元器件,以延長使用時間、縮小儀器的體積。(2)電路設(shè)計力求簡潔、可靠,盡量采用集成度高的芯片,減少外圍元器件的數(shù)量。(3)設(shè)計中應(yīng)預(yù)留進(jìn)一步開發(fā)的空間。(4)適當(dāng)?shù)膬r格,包括元器件價格和開發(fā)系統(tǒng)的一次性投資,降低成本。一個實用的usb數(shù)據(jù)通信系統(tǒng)包括微控制器以及usb通信接口。本設(shè)計選用sil

27、icon laboratories公司的高性能微控制器芯片c8051f320,簡化了硬件部分的設(shè)計。因為c805if320是帶usb接口(符合usb2.0協(xié)議)的單片機(jī),所以整個硬件部分是一般單片機(jī)應(yīng)用系統(tǒng)的開發(fā),僅需要外加輸入信號處理電路就可實現(xiàn)。這在一定層次上縮小了數(shù)據(jù)采集系統(tǒng)的體積,并降低了成本。圖2.1為該數(shù)據(jù)采集系統(tǒng)的系統(tǒng)原理圖。圖2.1系統(tǒng)框圖2.3 軟件系統(tǒng)的構(gòu)成開發(fā)一個usb設(shè)備,軟件設(shè)計是必不可少的。usb應(yīng)用系統(tǒng)軟件設(shè)計分為三部分:usb外設(shè)端的單片機(jī)固件(firmware)程序、主機(jī)操作系統(tǒng)上的客戶驅(qū)動程序以及主機(jī)應(yīng)用軟件。單片機(jī)固件則響應(yīng)各種來自系統(tǒng)的usb標(biāo)準(zhǔn)請求,完

28、成各種數(shù)據(jù)的交換工作和事件處理;而客戶驅(qū)動程序則讓主機(jī)可以識別usb設(shè)備,并通過應(yīng)用軟件來存取usb設(shè)備,完成通信功能。主機(jī)應(yīng)用軟件通過客戶驅(qū)動程序與系統(tǒng)usbi(usb device interface)進(jìn)行通信,由系統(tǒng)產(chǎn)生usb數(shù)據(jù)的傳送動作,可用visual basic、visua1c+或delphi等軟件來開發(fā)并生成采集應(yīng)用軟件及其相關(guān)使用說明,方便用戶快捷地使用本數(shù)據(jù)通信系統(tǒng)。整個軟件系統(tǒng)的組成如圖2.2所示。圖2.2 軟件系統(tǒng)組成2.4 usb數(shù)據(jù)采集系統(tǒng)的性能指標(biāo)該基于usb總線的數(shù)據(jù)通信系統(tǒng)的基本性能指標(biāo)確定如下:(1)接口方式:usb總線(支持usb2.0接口標(biāo)準(zhǔn),可熱拔插、

29、即插即用);(2)輸入通道:17個通道(11個單端輸入通道和6個雙端輸入通道);(3)測量信號:工業(yè)現(xiàn)場各類傳感器的輸出電壓和電流信號;(4)量程:0v5v,0v10v,士5v,士10v,4ma20ma;(5)每通道最高采樣頻率100ksps;(6)a/d分辨率:10bit;(7)觸發(fā)方式:定時器觸發(fā),軟件觸發(fā);(8)fifo存儲器:3kb。第三章 系統(tǒng)硬件設(shè)計在生產(chǎn)工程中,應(yīng)用此系統(tǒng)可對生產(chǎn)現(xiàn)場的工藝參數(shù)進(jìn)行采集、監(jiān)視和記錄,為提高產(chǎn)品質(zhì)量、降低成本提供信息的手段。其與上位計算機(jī)的數(shù)據(jù)傳輸是采用帶usb2.0接口的單片機(jī)作為接收控制板的核心芯片,以解決當(dāng)前筆記本電腦不提供rs-232接口的問

30、題。數(shù)據(jù)通過接于rs-232串口的數(shù)傳輸模塊傳送到上位機(jī)處的接收控制模塊中,模塊通過usb口將數(shù)據(jù)傳送到上位計算機(jī)中,計算機(jī)中的應(yīng)用程序經(jīng)過數(shù)據(jù)分析和處理得出相應(yīng)數(shù)據(jù)。系統(tǒng)框圖如圖2.1所示。3.1 單片機(jī)的選擇本設(shè)計采用了silicon laboratories公司的片上系統(tǒng)級單片機(jī)c8051f320作為控制采集板的核心芯片,這是因為它具有以下特點。c8051f系列單片機(jī)具有與mcs-51內(nèi)核及指令集完全兼容的微控制器,除了具有標(biāo)準(zhǔn)8051的數(shù)字外設(shè)部件之外,片內(nèi)還集成了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其它數(shù)字外設(shè)及功能部件。c8051f系列單片機(jī)的功能部件包括模擬多路選擇器、可編程增益

31、放大器、adc、dac、電壓比較器、電壓基準(zhǔn)、溫度傳感器、smbus/i2c、uart、spi、可編程計數(shù)器/定時器陣列(pca)、定時器、數(shù)字i/o端電源監(jiān)視器、看門狗定時器(wdt)、和時鐘振蕩器等。所有器件都有內(nèi)置的flash存儲器和256字節(jié)的內(nèi)部ram,有些器件還可以訪問外部數(shù)據(jù)存儲器ram,即xram。c8051f320是silabs公司的c8051f系列單片機(jī)中的一款,它除了具備上述強大功能外,它還帶有usb控制處理器,完全遵循usb協(xié)議2.0,支持12mbps的全速傳輸或1.5mbps的低速傳輸,可時鐘恢復(fù),不需額外的晶振,其提供端點(endpoint)數(shù)為8個,且每個端點的傳

32、輸類型、傳輸方向均可由設(shè)計者自由配置。另外,它的內(nèi)部還集成有1kbyte的usbsram和usb收發(fā)器。(1)功能部件 模擬外設(shè)10位的adc(士1lsb inl):其最大可編程轉(zhuǎn)換速率可達(dá)200ksps;可多達(dá)17個外部輸入;可編程為單端輸入或差分輸入;內(nèi)置一個溫度傳感器(士3);2個模擬比較器;2.4v的內(nèi)部電壓基準(zhǔn);精確的vdd監(jiān)視器和欠壓檢測器。 usb功能控制模塊滿足usb2.0協(xié)議:可在全速(12mbps)或低速(1.5mbps)下運行;集成有一個時鐘恢復(fù)源,對于全速或低速傳輸均可不用外部晶振;支持8個靈活通用的端點;內(nèi)置一個ik的usb專用緩沖存儲器;集成了一個usb接收器,不需

33、要外部電阻。 片內(nèi)調(diào)試模塊片內(nèi)調(diào)試電路提供全速、非侵入式的在系統(tǒng)調(diào)試(不需仿真器);支持端點、單步、觀察點、堆棧監(jiān)視器;可以觀察/修改存儲器和寄存器;比使用仿真芯片、目標(biāo)仿真頭和仿真插座的仿真系統(tǒng)有更好的性能。工作溫度范圍:0-0 高速8051微控制器內(nèi)核采用流水線指令結(jié)構(gòu),其70%的指令的執(zhí)行時間為一個或兩個系統(tǒng)時鐘周期;速度可達(dá)25mips(時鐘頻率為25mhz時)。 存儲器1280字節(jié)的內(nèi)部數(shù)據(jù)ram(ik+256);16k字節(jié)的可以在系統(tǒng)編程的flash閃速存儲器。 數(shù)字外設(shè)25個字節(jié)寬的端點i/o;所有口線均耐5v電壓;可同時使用uart串口、硬件smbustm、spitm;帶有4個

34、可編程的16位技術(shù)器/定時器陣列;帶有5個捕捉/比較模塊的通用16位計數(shù)器/定時器。 時鐘源內(nèi)部晶振的精度為0.25;支持所有usb和uart模式;外部晶振器:晶體、rc、c或外部時鐘;內(nèi)置一個針對與usb控制器的片上時鐘乘法器。 供電電壓片上的參考電源校準(zhǔn)器支持usb總線電源操作;校準(zhǔn)器的bypass模式支持usb內(nèi)部電源操作。(2)性能特點c805lf320在保持cisc結(jié)構(gòu)及指令系統(tǒng)不變的情況下,對指令運行實行流水業(yè),推出了cip一51的cpu模式,從而大大提高了指令運行速度,使8051兼容機(jī)系列進(jìn)入了8位高速單片機(jī)行列。傳統(tǒng)的單片機(jī)i/o端口大都是固定為某個特殊功能的輸入/輸出口,可以

35、是單功能或多功能,i/o端口可編程選擇為單向/雙向以及上拉、開漏等。這種固定方式既占用較多引腳,配置又不夠靈活。c8051f320采用開關(guān)網(wǎng)絡(luò)以硬件方式實現(xiàn)i/o端口的靈活配置,如圖3.1所示。在這種通過交叉開關(guān)配置的i/o端口系統(tǒng)中,單片機(jī)外部為通用i/o口,如p0口、p1口和p2口。內(nèi)有輸入/輸出的電路單元通過相應(yīng)的配置寄存器控制的交叉開關(guān)配置到所選擇的端口上。圖3.1 c8051f320的i/o端口配置 c8051f320還提供了一個完整而先進(jìn)的時鐘系統(tǒng),如圖3.2所示。在這個系統(tǒng)中,片內(nèi)設(shè)置有一個可編程的時鐘振蕩器(無需外部器件),可提供2、4、8和16mhz時鐘的編程設(shè)定。外部振蕩器

36、可選擇4種方式。當(dāng)程序運行時,可實現(xiàn)內(nèi)外時鐘的動態(tài)切換。編程選擇的時鐘輸出cysclk除供片內(nèi)使用外,還可從隨意選擇的i/o端口輸出。圖3.2 c8051f320的時鐘系統(tǒng)c8051f320在8位單片機(jī)中率先配置了標(biāo)準(zhǔn)的ec2接口(ieeell49.l)。在上位機(jī)軟件支持下,通過串行的ec2接口直接對產(chǎn)品系統(tǒng)進(jìn)行仿真調(diào)試。c8051f的ec2接口不僅支持flashrom的讀/寫操作及非侵入式在系統(tǒng)調(diào)試,還為在系統(tǒng)測試提供邊界掃描功能。通過邊界寄存器的編程控制,可對所有器件引腳、sfr總線和i/o口弱上拉功能實現(xiàn)觀察和控制。c805lf320把8051單一的外部復(fù)位發(fā)展成多源復(fù)位:上電復(fù)位、掉電

37、復(fù)位、外部引腳復(fù)位、軟件復(fù)位、時鐘檢測復(fù)位、比較器0復(fù)位和引腳配置復(fù)位。眾多的復(fù)位源為保障系統(tǒng)的安全、操作的靈活性以及零功耗系統(tǒng)設(shè)計帶來極大的好處。(3)引腳及封裝圖3.3 c8051f320的封裝具體引腳如圖3.3所示:vdd數(shù)字電源;gnd模擬地;regin5v校準(zhǔn)器的輸入端;/rst/c2ck設(shè)備的復(fù)位引腳或ec2調(diào)試接口的時鐘信號;p3.0/c2d端口3.0或ec2調(diào)試接口的雙向信號引腳;vbususb總線輸入腳;d+usb的d+;d-usb的d-;p0.2/xtal1端口0.2或外部晶振輸入;p0.3/xtal2端口0.3或外部晶振輸出;p0.6/cnvstr端口0.6或adc0外部

38、轉(zhuǎn)換開始輸入腳;p0.7/vrff端口0.7或外部參考電源的輸入端或輸出端;p0.0、p0.1、p0.4、p0.5、pl.0pl.7、p2.0p2.7均為相應(yīng)的端口引腳。綜上所述,選用silicon laboratories公司的c8051f320單片機(jī)硬件設(shè)計電路比較簡單,設(shè)計的芯片體積較小,功耗低,可以在系統(tǒng)調(diào)試,軟件環(huán)境集成化,省去了許多麻煩。3.2 系統(tǒng)與主機(jī)連接的設(shè)計usb傳送信號和電源是通過一種四線的電纜,圖3.5的兩根線是用于發(fā)送信號。圖3.5 usb的電纜電纜中包括vbus、gnd二條線,向設(shè)備提供電源 。vbus使用+5v電源。usb對電纜長度的要求很寬,最長可為幾米。通過選

39、擇合適的導(dǎo)線長度以匹配指定的ir drop和其它一些特性,如設(shè)備能源預(yù)算和電纜適應(yīng)度。為了保證足夠的輸入電壓和終端阻抗,重要的終端設(shè)備應(yīng)位于電纜的尾部。在每個端口都可檢測終端是否連接或分離,并區(qū)分出高速,或低速設(shè)備。綜上所述,相對于工業(yè)上數(shù)據(jù)通信在以前常采用的pci總線、isa總線或者rs-232總線作為采集方式,usb總線具有支持熱拔插、即插即用、支持共享式接口且體積小巧、節(jié)省系統(tǒng)資源、成本低廉性能可靠等等諸多優(yōu)點。usb總線支持低速、全速、高速三種傳輸速率,并且支持控制傳輸、批量傳輸、同步傳輸、中斷傳輸四種傳輸類型,這使得它能支持多種外設(shè)的需要,成為一種高效靈活的數(shù)據(jù)傳輸方式。c8051f

40、320提供的通用串行總線控制器(usb0)符合usb2.0規(guī)范,可以全速或低速工作,集成了收發(fā)器和端點fifo ram。共有8個端點:一個雙向控制端點(端點0)和三對輸入/輸出端點(端點1-3輸入/輸出)。xram中有1kb的存儲塊被專門用作usb fifo空間。該fifo空間被分配給端點0-3;端點1-3的fifo可以被配置為輸入(in)、輸出(out)或輸入/輸出(分內(nèi)割模式)。最大的fifo大小為512字節(jié)(端點3)。usb2.0可以工作在全速或低速方式。片內(nèi)4倍時鐘乘法器和時鐘恢復(fù)電路允許使用內(nèi)部高精度振蕩器作為usb時鐘源,實現(xiàn)全速和低速通信。外部振蕩器也可以與4倍時鐘乘法器配合使用

41、來產(chǎn)生usb時鐘。cpu時鐘源與usb時鐘相互獨立。usb收發(fā)器符合usb2.0規(guī)范,并包含內(nèi)部匹配和上拉電阻。上拉電阻可以被用軟件使能/禁止,可以根據(jù)軟件選擇的速度設(shè)置(全速或低速)出現(xiàn)在d+或d-引腳。圖3.6 usb控制器原理框圖usb接口分為a、b型接口和mini型接口等,本文實際電路中采用了標(biāo)準(zhǔn)a型usb接口,其封裝圖如圖3.7所示。圖3.7 usb的a型接口封裝圖一個帶有usb接口的系統(tǒng),如果相具有usb功能必須選擇合適的usb控制器,市場上供應(yīng)的usb控制器主要有帶usb接口的單片機(jī)或純粹的usb接口兩種芯片。在此選用的是silabs公司的c8051f320。c8051f320本

42、身集成了全速/低速usb功能,用于實現(xiàn)usb接口的外部設(shè)備(但是c8051f320不能被用作usb主設(shè)備),它完全符合通用串行總線規(guī)范2.0版。usb功能控制器(usb0)由串行接口引擎(sie)、usb收發(fā)器。1kbfifo存儲器和時鐘恢復(fù)電路組成,并包含內(nèi)部匹配電阻和上拉電阻。上拉電阻可以被軟件使能/禁止,可以根據(jù)軟件選擇的速度設(shè)置(全速或低速)出現(xiàn)在d+或d-引腳??梢圆恍枰獠吭湍芡瓿蓴?shù)據(jù)的傳輸,它提供8個端點,且每個端點的傳輸類型、傳輸方向均可由設(shè)計者自由配置。所以設(shè)計這部分硬件電路時,只要把單片機(jī)的gnd、d+、d-、vbus四根線連接到j(luò)3上即可。j3是設(shè)計的電路板上usb連

43、接接口,通過它就可將usb接口和c8051f320芯片連接起來。將usb電纜的一端接j3,另一端接在計算機(jī)的usb端口上,這樣就能完成數(shù)據(jù)傳輸任務(wù)。3.3 usb接口電路由于c8051f320微控制器具有簡單易用的特點,因此用c8051f320進(jìn)行usb接口的硬件設(shè)計也顯得十分簡單,主要包括兩部分的內(nèi)容,一是接口轉(zhuǎn)換模塊供電方式的選擇,二是usb引腳的連接,圖3.8是其usb接口電路圖。由于整個模塊的功率估計在3w左右,usb總線的供電量適合小功率模塊的供電,最大有500ma,所以模塊可選擇自供電模式或外部5v電源供電。由于c8051f320中的usb收發(fā)器內(nèi)部集成了上拉電阻,因而不需要任何外

44、部器件便可直接與usb接口相連。如圖3.8所示,j3為usb接口,采用插針j2配合跳線來轉(zhuǎn)換系統(tǒng)的供電模式,當(dāng)跳線將j2的1、2腳接通時regin與外部5v電源接通,由外部電源供電;當(dāng)跳線將j2的2、3腳接通時regin與vbus接通,可由usb總線供電。c8051f320器件內(nèi)部包含一個5v至3v的穩(wěn)壓器(reg0)。當(dāng)被使能時,reg0輸出連到vdd引腳,并可為外部器件提供電源。可以用軟件通過寄存器reg0cn中的regen位使能/禁止reg0。當(dāng)在usb網(wǎng)絡(luò)中使用c8051f320器件時,vbus信號必須被連到vbus引腳。當(dāng)器件工作在總線供電方式時,vbus信號只應(yīng)連接到regin引腳

45、。圖3.8 usb接口電路圖3.4 系統(tǒng)復(fù)位電路系統(tǒng)中采用的外部復(fù)位按鍵電路如圖3.9所示,外部/rst引腳提供了使用外部電路強制mcu進(jìn)入復(fù)位狀態(tài)的手段。在/rst引腳上加一個低電平有效信號將導(dǎo)致mcu進(jìn)入復(fù)位狀態(tài)。盡管在內(nèi)部有弱上拉,但提供一個外部上拉和對/rst引腳去耦可以以防止強噪聲引起復(fù)位,提高了抗干擾能力。c8051f320提供了上電復(fù)位、掉電復(fù)位、外部復(fù)位、時鐘丟失監(jiān)測器復(fù)位、比較器0復(fù)位、pca看門狗定時器復(fù)位、flash錯誤復(fù)位、軟件復(fù)位、usb復(fù)位9種復(fù)位源。在進(jìn)入復(fù)位狀態(tài)時,將發(fā)生以下過程: cip-51停止程序執(zhí)行;特殊功能寄存器(sfr)被初始化為所定義的復(fù)位值;外部

46、端口引腳被置于一個已知狀態(tài);中斷和定時器被禁止。圖3.9復(fù)位電路所有的sfr都被初始化為預(yù)定值,sfr中各位的復(fù)位值在sfr的詳細(xì)說明中定義。在復(fù)位期間內(nèi)部數(shù)據(jù)存儲器的內(nèi)容不發(fā)生改變,復(fù)位前存儲的數(shù)據(jù)保持不變。但由于堆棧指針sfr被復(fù)位,堆棧實際上已丟失,盡管堆棧中的數(shù)據(jù)未發(fā)生變化。端口i/o鎖存器的復(fù)位值為0xff(全部為邏輯1),處于漏極開路方式。在復(fù)位期間和復(fù)位之后弱上拉被使能。對于vdd監(jiān)視器和上電復(fù)位,/rst引腳被驅(qū)動為低電平,直到器件退出復(fù)位狀態(tài)。在退出復(fù)位狀態(tài)時,程序計數(shù)器(pc)被復(fù)位,mcu使用內(nèi)部振蕩器作為默認(rèn)的系統(tǒng)時鐘??撮T狗定時器被使能,使用系統(tǒng)時鐘的12分頻作為其時

47、鐘源。程序從地址0x0000開始執(zhí)行。3.5 系統(tǒng)晶振電路在本系統(tǒng)數(shù)據(jù)通信板上選擇的外部晶體振蕩器的諧振頻率為22.1184mhz,與芯片的連接原理圖如圖3.10所示。系統(tǒng)在正常運行期間可以使用外部高頻率高精確度的時鐘,在系統(tǒng)休眠或者特殊功能場合將時鐘切換到內(nèi)部低頻率時鐘,以便降低功耗。同時當(dāng)使用外部晶振的時候需要將p0skip寄存器設(shè)為0x30,使p0.2和p0.3引腳跳過交叉開關(guān)。c8051f320有一個可編程內(nèi)部振蕩器、一個外部振蕩器驅(qū)動電路和一個4倍時鐘乘法器??梢酝ㄟ^對oscicn和oscicl寄存器編程來使能/禁止內(nèi)部振蕩器和調(diào)節(jié)其輸出頻率(如圖3.10所示)。外部振蕩器電路可以驅(qū)

48、動外部晶體、陶瓷諧振器、電容或rc網(wǎng)絡(luò)。也可以使用一個外部cmos時鐘提供系統(tǒng)時鐘。對于晶體和陶瓷諧振器配置,晶體/陶瓷諧振器必須并接到xtal1和xtal2引腳。外部振蕩器由外部振蕩器控制寄存器oscxcn來進(jìn)行配置。系統(tǒng)時鐘(sysclk)可以來自內(nèi)部振蕩器、外部振蕩器電路或4倍時鐘乘法器二分頻。寄存器clksel中的clksl1:0位選擇用作系統(tǒng)時鐘的振蕩源。當(dāng)選擇外部振蕩器作為系統(tǒng)時鐘時,clksl1:0必須被設(shè)置為01b。當(dāng)選擇內(nèi)部振蕩器作為系統(tǒng)時鐘時,外部振蕩器仍然可以給外設(shè)(定時器、pca、usb)提供時鐘。系統(tǒng)時鐘可以在內(nèi)部振蕩器、外部振蕩器和4倍時鐘乘法器之間自由切換,只要所

49、選擇的振蕩器被使能并穩(wěn)定運行。usb時鐘(usbclk)可以來自內(nèi)部振蕩器、外部振蕩器電路或4倍時鐘乘法器。寄存器clksel中的usbclk2:0位選擇用作usb時鐘的振蕩源。usb時鐘可以來自4倍時鐘乘法器輸出、內(nèi)部振蕩器分頻或外部振蕩器分頻。當(dāng)usb0工作在全速方式時,usb時鐘必須是48 mhz;當(dāng)usb2.0工作在低速方式時,usb時鐘必須是6mhz。圖3.10晶振電路圖3.6 uart串口通信設(shè)計系統(tǒng)通過uart口與數(shù)傳模塊進(jìn)行數(shù)據(jù)傳輸。c8052f320提供的uart0是一個異步、全雙工串口,它提供標(biāo)準(zhǔn)8051串行口的方式1和方式3。使用uart口的時候需要將端口i/o交叉開關(guān)寄

50、存器0 xbr0的位0置“1”,從而將uart口配置到p0.4和p0.5口上。uart0具有增強的波特率發(fā)生器電路,有多個時鐘源可用于產(chǎn)生標(biāo)準(zhǔn)波特率。uart0有兩個相關(guān)的特殊功能寄存器:串行控制寄存器(scon0)和串行數(shù)據(jù)緩沖器(sbuf0)。用同一個sbuf0地址可以訪問發(fā)送寄存器和接收寄存器。寫sbuf0時自動訪問發(fā)送寄存器;讀sbuf0時自動訪問接收寄存器,不可能從發(fā)送數(shù)據(jù)寄存器中讀sbuf0時自動訪問接收寄存器,不可能從發(fā)送數(shù)據(jù)寄存器中讀數(shù)據(jù)。uart電路圖如圖3.11所示。圖3.11 uart電路圖3.7 調(diào)試電路如圖3.13所示是系統(tǒng)jtag口與單片機(jī)連接原理圖,j4為jtag

51、口。c8051f320器件具有片內(nèi)silicon labs 2線(c2)接口調(diào)試電路,支持使用安裝在最終應(yīng)用系統(tǒng)中的產(chǎn)品器件進(jìn)行非侵入式、全速的在系統(tǒng)調(diào)試。silicon labs的調(diào)試系統(tǒng)支持觀察和修改存儲器和寄存器,支持?jǐn)帱c和單步執(zhí)行。不需要額外的目標(biāo)ram、程序存儲器、定時器或通信通道。在調(diào)試時所有的模擬和數(shù)字外設(shè)都正常工作。當(dāng)mcu單步執(zhí)行或遇到斷點而停止運行時,所有的外設(shè)(usb、adc和smbus除外)都停止運行,以保持同步。如圖3.14所示,pc機(jī)通過usb與串行適配器u-ec5連接,u-ec5又通過電纜與板上的jtag口相連接。通過和silicon labs ide可以方便的將

52、程序?qū)懭肫?。在連接時要把ide的optionconnection options選項(圖2.14)選為usb debugadapter,debug interface選擇為c2。然后點擊connect按鈕或者alt+c就可以將ide與目標(biāo)板連接起來了。圖3.13 jtag口電路圖圖3.14 開發(fā)/在系統(tǒng)調(diào)試示意圖第四章 系統(tǒng)軟件設(shè)計4.1 系統(tǒng)軟件設(shè)計的組成系統(tǒng)軟件主要包括c8051 f320數(shù)據(jù)通信板的固件(firmware)程序設(shè)計、主機(jī)上的usb硬件驅(qū)動程序和主機(jī)應(yīng)用程序。如圖4.1所示:圖4.1 軟件系統(tǒng)組成對于一個usb設(shè)備,其系統(tǒng)分層如圖4.2所示,分為功能層、usb設(shè)備層、us

53、b總線接口層。在usb系統(tǒng)中只允許有一個主機(jī),它可以被分為三個不同的功能模塊:客戶軟件、usb系統(tǒng)軟件和usb總線接口??蛻糗浖?fù)責(zé)和usb設(shè)備的功能單元進(jìn)行通信,以實現(xiàn)其特定功能,一般由開發(fā)人員自行開發(fā)??蛻糗浖荒苤苯釉L問usb設(shè)備,其與功能單元間的通信必須經(jīng)過usb系統(tǒng)軟件和usb總線接口模塊才能夠?qū)崿F(xiàn)。它一般包括usb設(shè)備驅(qū)動程序和界面應(yīng)用程序兩部分。usb設(shè)備驅(qū)動程序負(fù)責(zé)和usb系統(tǒng)軟件進(jìn)行接口,由它向usb總線驅(qū)動程序發(fā)出i/o請求包(irp)以啟動一次usb數(shù)據(jù)傳輸。界面應(yīng)用程序負(fù)責(zé)和usb設(shè)備驅(qū)動程序進(jìn)行接口,以操縱usb設(shè)備并向用戶提供可視化的操作。usb系統(tǒng)軟件負(fù)責(zé)和usb

54、邏輯設(shè)備進(jìn)行配置通信,并管理客戶軟件啟動的數(shù)據(jù)傳輸。它包括:usb總線驅(qū)動程序(usbd)和usb主控制器驅(qū)動程序(hcd)。usb總線接口包括主控制器和根集線器兩個部分。根集線器為usb系統(tǒng)提供連接起點,主控制器負(fù)責(zé)完成主機(jī)和usb設(shè)備間數(shù)據(jù)的實際傳輸。usb設(shè)備由3個功能模塊組成:usb總線接口、usb邏輯設(shè)備、功能單元。usb總線接口是usb設(shè)備中的串行接口引擎(sie);usb邏輯設(shè)備被usb系統(tǒng)軟件看作是一個端點的集合;功能單元被客戶軟件看作是一個接口的集合。功能層負(fù)責(zé)實現(xiàn)usb設(shè)備的特定功能,該層不理解usb的串行傳輸機(jī)制,而只是知道應(yīng)和usb設(shè)備傳輸哪些數(shù)據(jù)。根據(jù)實際情況的需要,

55、客戶軟件在和usb設(shè)備的功能單元進(jìn)行通信時可以采用如下4種傳輸類型。usb設(shè)備層實現(xiàn)了主機(jī)和usb設(shè)備間的配置通信,如為usb設(shè)備分配地址、讀取其配置描述符等。該層理解usb通信機(jī)制和功能層所要求的傳輸特性。usb總線接口層實現(xiàn)了主機(jī)和usb設(shè)備間數(shù)據(jù)的實際傳輸。圖4.2 usb系統(tǒng)的分層在usb總線上,所有與usb設(shè)備功能單元的數(shù)據(jù)傳輸都是由客戶軟件啟動的,而且必須經(jīng)過主機(jī)的usb系統(tǒng)軟件和usb總線接口模塊才能將數(shù)據(jù)發(fā)送到usb設(shè)備。其傳輸過程涉及4個軟硬件實體:客戶軟件、usb總線驅(qū)動程序、usb主控制器驅(qū)動程序和usb主控制器。圖中的向下的箭頭表示了客戶軟件向usb設(shè)備發(fā)送數(shù)據(jù)的情況,

56、其傳輸步驟如下:(1) 客戶軟件把要傳輸?shù)臄?shù)據(jù)放入數(shù)據(jù)緩沖區(qū),并向usb總線驅(qū)動程序發(fā)出irp,以請求數(shù)據(jù)傳輸。(2) usb總線驅(qū)動程序響應(yīng)客戶軟件發(fā)出的irp,并將其中的數(shù)據(jù)轉(zhuǎn)化為一個個具有usb格式的事務(wù)處理,然后將其向下傳遞。(3) usb主控制器驅(qū)動程序負(fù)責(zé)為這些事務(wù)處理建立一系列以幀/小幀為單位的事務(wù)處理列表,并保證其不會超過usb的帶寬。(4) usb主控制器負(fù)責(zé)讀取事務(wù)處理列表,并將其中的事務(wù)處理以信息包為單位發(fā)送到usb總線上,且傳輸速率可以使低速、全速或高速。(5) usb設(shè)備在接收到這些信息包后,sie自動將其解包并將數(shù)據(jù)放入指定端點的接受緩沖區(qū)內(nèi),由芯片固件對其進(jìn)行處理

57、。同樣,客戶軟件在接收usb設(shè)備發(fā)來的數(shù)據(jù)時也必須經(jīng)過上述4個軟件實體,其傳輸過程如圖4.3中向上箭頭所示。圖4.3主機(jī)usb傳輸框圖對于c8051f320采集板來說,程序部分也要包含3個部分的內(nèi)容。數(shù)據(jù)的傳輸過程如圖4.4所示。圖4.4 usbxpress數(shù)據(jù)流在c8051f320中建立數(shù)組out packet用于存儲從主機(jī)收到的數(shù)據(jù)包,和in_packet存儲將要送到主機(jī)的包,數(shù)組中的每一個字節(jié)都可以靈活的在程序中設(shè)定其表示的狀態(tài)或者傳送的數(shù)據(jù)。同樣在主機(jī)vb應(yīng)用程序中建立iobuf()來存儲主機(jī)程序中的狀態(tài)和需要傳輸?shù)臄?shù)據(jù)。通過調(diào)用主機(jī)api和固件庫函數(shù)來建立兩者的數(shù)據(jù)傳輸。例如設(shè)定out_packet0為led燈1的狀態(tài),out_pack

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論