![機(jī)車沖動(dòng)檢測(cè)儀USB DEVICE接口模塊設(shè)計(jì)_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/30/ba937e21-357a-42e5-9505-59757aa545b8/ba937e21-357a-42e5-9505-59757aa545b81.gif)
![機(jī)車沖動(dòng)檢測(cè)儀USB DEVICE接口模塊設(shè)計(jì)_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/30/ba937e21-357a-42e5-9505-59757aa545b8/ba937e21-357a-42e5-9505-59757aa545b82.gif)
![機(jī)車沖動(dòng)檢測(cè)儀USB DEVICE接口模塊設(shè)計(jì)_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/30/ba937e21-357a-42e5-9505-59757aa545b8/ba937e21-357a-42e5-9505-59757aa545b83.gif)
![機(jī)車沖動(dòng)檢測(cè)儀USB DEVICE接口模塊設(shè)計(jì)_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/30/ba937e21-357a-42e5-9505-59757aa545b8/ba937e21-357a-42e5-9505-59757aa545b84.gif)
![機(jī)車沖動(dòng)檢測(cè)儀USB DEVICE接口模塊設(shè)計(jì)_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-4/30/ba937e21-357a-42e5-9505-59757aa545b8/ba937e21-357a-42e5-9505-59757aa545b85.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘要密級(jí): 題 目 機(jī)車沖動(dòng)檢測(cè)儀USB DEVICE接口模塊設(shè)計(jì)學(xué) 院: 系 專業(yè)班級(jí): 學(xué)生姓名: 學(xué)號(hào): 指導(dǎo)教師: 職稱: 起訖日期: 機(jī)車沖動(dòng)檢測(cè)儀USB DEVICE接口模塊設(shè)計(jì) 摘要大家都知道我們國(guó)家是一個(gè)泱泱大國(guó),國(guó)土面積是970萬(wàn)平方公里,兩地之間的距離很大,因此當(dāng)我們外出時(shí),火車成為了我們出行的重要交通工具,是國(guó)家運(yùn)輸體系的骨干。無(wú)論是從鐵路自身的發(fā)展還是從保持國(guó)民經(jīng)濟(jì)持續(xù)快速發(fā)展的需要看,加快鐵路建設(shè)迫在眉睫。大家都知道列車運(yùn)行過(guò)程中, 司機(jī)操縱是否平穩(wěn)直接影響著 旅客乘車的舒適感, 因此, 測(cè)試其操縱水平對(duì)提高鐵 路服務(wù)質(zhì)量起著至關(guān)重要的作用。鐵路上傳統(tǒng)的方法 是采用/
2、沖動(dòng)棒0的評(píng)測(cè)方法,根據(jù)一組木棒的倒伏 情況來(lái)判定沖動(dòng)狀況。該方法隨機(jī)性較大、精度低, 沒(méi)有可重現(xiàn)性, 不符合鐵路高速化、現(xiàn)代化的發(fā)展趨勢(shì)。本文介紹的智能列車沖動(dòng)檢測(cè)儀, 采用高性能的 加速度傳感器采集數(shù)據(jù),用PC機(jī)上的配套軟件對(duì)其分析處理, 實(shí)時(shí) 顯示列車運(yùn)行時(shí)的加速度變化曲線,并給出沖動(dòng)值,同時(shí)可以將數(shù)據(jù)通過(guò) USB 發(fā)送到 PC機(jī), 能夠單機(jī)工作或與 PC 機(jī)聯(lián)機(jī)工作,進(jìn)行在線或離線沖動(dòng)分析、 司機(jī)考核、報(bào)表打印等工作。本文第一步介紹了課題研究背景,列車沖動(dòng)的危害、形成工況等,接下來(lái)介紹列車沖動(dòng)檢測(cè)儀的系統(tǒng)結(jié)構(gòu)及其原理,緊接著介紹了USB固件芯片PDIUSBD12、加速度傳感器ADXL3
3、45 以及MCU主芯片STC89C52RC,數(shù)據(jù)采集模塊,數(shù)據(jù)傳輸模塊和數(shù)據(jù)分析處理模塊的電路連接以及軟件程序。USB是一種新型的接口技術(shù),由一些PC大廠商,像Intel、 Microsoft等為了解決日益增加的PC外部設(shè)備和有限的主板插以及端口之間的矛盾而制定的一種串行通信的標(biāo)準(zhǔn)。本文重點(diǎn)介紹了USB的產(chǎn)生、發(fā)展情況,USB拓?fù)浣Y(jié)構(gòu),以及幾大廠商的USB芯片種類,本系統(tǒng)所使用的是PHILIP公司生產(chǎn)的PDIUSBD12芯片,著重介紹了機(jī)車沖動(dòng)檢測(cè)儀的數(shù)據(jù)傳輸模塊USB DEVICE接口模塊的硬件電路以及它的工作原理,主要說(shuō)明了PDIUSBD12芯片與單片機(jī)的硬件連接方式、軟件的設(shè)計(jì)以及配套的
4、上位機(jī)軟件的的設(shè)計(jì)。關(guān)鍵詞:USB;PDIUSBD12;機(jī)車沖動(dòng)IIIAbstractThe design of locomotive impulse detector usb device interface moduleAbstractIt is well known in our country is a large country, the train is the most important means of transportation, is the backbone of the national transportation system.Whether from the
5、development of the railway itself or from maintain sustained and rapid development of national economy needs to see, to speed up the railway construction is imminent.We all know the train operation process, whether the driver's operation directly influences the passengers ride comfort, therefore
6、, to test its control level to improve the quality of iron road service plays an important role.Railway in the traditional way is to use/impulse bar 0 evaluation method, according to a set of sticks of lodging situation to determine impulse.Randomness, low precision, this method can not reproducibil
7、ity, is not in conformity with the high speed railway, the development trend of modernization.Intelligent train impulse detector introduced in this paper, using the high performance of acceleration sensors to collect data, using PC suite for the analysis and processing, real-time display the acceler
8、ation curve of train running, and impulse value is given, at the same time, the data can be sent via USB to the PC, able to work standalone or online to work with a PC, online or offline impulse analysis, driver examination, report printing, etc.This paper first introduces the research background, t
9、rain impulse harm, formation conditions and so on, then introduces the system structure and the principle of train impulse detector, and then introduces the USB firmware chip PDIUSBD12, acceleration sensor ADXL345 main chip and MCU STC89C52RC, data acquisition module, data transmission module, the d
10、ata processing module and the circuit connection and software program.We know that the USB is a new interface technology in the field of application in the PC, it is some PC manufacturers, like Intel, Microsoft and so on in order to solve the increasing PC peripheral equipment and limited the mainbo
11、ard and the contradiction between the ports of a kind of serial communication standard.This paper mainly introduces the generation and development of USB, USB topology structure, the types of USB chip and several large manufacturers, this system is used by PHILIP company produces the PDIUSBD12 chip,
12、 emphatically introduced the locomotive impulse detector data transmission module, USB DEVICE interface module of hardware circuit and its working principle, mainly illustrates the PDIUSBD12 chip and MCU, the design of the software and hardware connection mode of PC software design.Keyword:usb;pdius
13、bd12;locomotive impulseV目錄目錄摘要IAbstractII第一章 研究背景- 1 -1.1 背景- 1 -1.2 沖動(dòng)產(chǎn)生及檢測(cè)- 1 -1.3 發(fā)展- 1 -第二章 系統(tǒng)簡(jiǎn)介- 2 -2.1 系統(tǒng)功能- 2 -2.2系統(tǒng)開(kāi)發(fā)平臺(tái)- 2 -第三章 系統(tǒng)整體設(shè)計(jì)- 4 -3.1 系統(tǒng)組成模塊- 4 -3.2 系統(tǒng)實(shí)現(xiàn)原理及框圖- 5 -第四章 系統(tǒng)硬件設(shè)計(jì)- 6 -4.1 數(shù)據(jù)采集模塊加速度傳感器ADXL345- 6 -4.2中央處理器-STC89C52RC- 7 -4.2.1 STC89C52RC概述- 7 -4.2.2 STC89C52RC工作的最小系統(tǒng)電路- 10
14、-4.3數(shù)據(jù)傳輸模塊接口電路設(shè)計(jì)- 11 -4.3.1 USB概述- 11 -4.3.2 USB主芯片選擇- 13 -4.3.3 PDIUSBD12芯片- 13 -第五章 系統(tǒng)軟件設(shè)計(jì)- 20 -5.1軟件設(shè)計(jì)開(kāi)發(fā)工具- 20 -5.2軟件設(shè)計(jì)- 21 -5.2.1下位機(jī)的軟件設(shè)計(jì)- 21 -5.2.2 上位機(jī)軟件設(shè)計(jì)- 24 -第六章 系統(tǒng)調(diào)試- 25 -6.1 硬件調(diào)試- 25 -6.2 軟件調(diào)試- 25 -6.2.1 下位機(jī)軟件調(diào)試- 25 -6.2.2 上位機(jī)軟件調(diào)試- 26 -第七章 結(jié)論- 28 -參考文獻(xiàn)- 29 -致謝- 31 -VII第一章 研究背景第一章 研究背景1.1 背
15、景隨著國(guó)家的日益壯大,社會(huì)的飛速發(fā)展,我們自身經(jīng)濟(jì)水平的提高,外出旅行成了人們生活中比較常見(jiàn)的一種現(xiàn)象。人們現(xiàn)在外出旅行首先得選擇出行的交通方式,像飛機(jī),火車,輪船等?,F(xiàn)在,人們?cè)陂L(zhǎng)途旅行交通工具上也有了越來(lái)越多的選擇。國(guó)家建設(shè)了許多的高速公路,我們現(xiàn)在乘坐長(zhǎng)途客車外出旅行也越來(lái)越方便了,再加上現(xiàn)在的飛機(jī)票的的價(jià)錢也不再讓人望而生畏,到達(dá)了大家所能接受的范圍。以上種種都對(duì)鐵路運(yùn)輸?shù)牡匚粯?gòu)成了巨大的威脅。鐵路部門面對(duì)鐵路建設(shè)所面臨的挑戰(zhàn),需要開(kāi)始反思,繼續(xù)發(fā)展完善,以謀取能夠在現(xiàn)在競(jìng)爭(zhēng)激烈的市場(chǎng)中保證自己的優(yōu)勢(shì)地位。現(xiàn)在的人們不但對(duì)外出旅行的交通工具提出更加便利、更加快捷等要求,而且旅客朋友們對(duì)
16、交通工具的乘坐環(huán)境及舒適度也提出了要求,所以如何提高速度與舒適性成為鐵路建設(shè)方面所要解決的問(wèn)題。判斷列車在運(yùn)行的時(shí)候的平穩(wěn)性的一個(gè)重要指標(biāo)是舒適度,列車沖動(dòng)不僅僅影響了旅客朋友們乘車的舒適性,更加糟糕的情況是巨大的沖擊會(huì)給我們自身帶來(lái)巨大的傷害。1.2 機(jī)車沖動(dòng)的產(chǎn)生以及檢測(cè)我們都知道機(jī)車沖動(dòng)發(fā)生的具體因素有很多,其中就有車輛本身結(jié)構(gòu)設(shè)計(jì)問(wèn)題、制動(dòng)方式以及司機(jī)操縱等。將硬件上的原因排除在外的話,機(jī)車沖產(chǎn)生的最主要的原因是司機(jī)對(duì)列車不正當(dāng)?shù)牟僮鳌?列車在加速、減速、制動(dòng)、啟動(dòng)和停止的這些時(shí)候產(chǎn)生的縱向沖擊,大大的影響了旅客乘車的舒適程度。因而沖動(dòng)指標(biāo)就成為了認(rèn)定司駕駛水平的重要的根據(jù)。目前的現(xiàn)狀
17、是,我們針對(duì)縱向沖擊采取的檢驗(yàn)的手段是“沖動(dòng)棒”,它具有的優(yōu)點(diǎn)是操作簡(jiǎn)單,方便,而且它是從定性的角度給出了機(jī)車沖動(dòng)大概的等級(jí)。但是這種方法只能給出大概的等級(jí),卻沒(méi)有辦法給出具體的數(shù)據(jù),沒(méi)有指出量化標(biāo)準(zhǔn),而且有很大的偶然性和隨機(jī)性。在真正的測(cè)試過(guò)程中,經(jīng)常會(huì)發(fā)生小棒沒(méi)有倒,然而大棒卻倒了的結(jié)果。那么我們?cè)趺床拍塬@得準(zhǔn)確的縱向沖擊,進(jìn)而給出衡量司機(jī)水平的量化標(biāo)準(zhǔn),從而建立一個(gè)旅客乘坐的舒適度和沖擊的數(shù)學(xué)模型并且能夠獲得一些評(píng)價(jià),成為了目前的一個(gè)重要課題。1.3 發(fā)展社會(huì)在不斷地進(jìn)步,人也在不斷地進(jìn)步,我們?cè)诓粩嗟貏?chuàng)新,創(chuàng)造,從而使得電子,計(jì)算機(jī)得到了巨大的發(fā)展,各種智能儀器在許多方面都得到了充分的
18、運(yùn)用,并且目前的儀器儀表趨向于虛擬化和數(shù)據(jù)采集系統(tǒng)PC化也成為了計(jì)算機(jī)技術(shù)發(fā)展的一種趨勢(shì)。我們現(xiàn)在所要研究的新型的機(jī)車沖動(dòng)檢測(cè)儀就是在這樣的背景下應(yīng)運(yùn)而生的。- 2 -第二章 系統(tǒng)簡(jiǎn)介第二章 系統(tǒng)簡(jiǎn)介2.1 系統(tǒng)功能首先從機(jī)車沖動(dòng)檢測(cè)儀獲得數(shù)據(jù),接下來(lái)由USB DEVICE接口,將機(jī)車相關(guān)的數(shù)據(jù),如運(yùn)行時(shí)間,沖動(dòng)加速度等信號(hào),實(shí)時(shí)發(fā)送給上位機(jī)并顯示數(shù)據(jù)列表以及趨勢(shì)曲線。2.2系統(tǒng)開(kāi)發(fā)平臺(tái)本設(shè)計(jì)需要用到的軟件有:keil C軟件、 Visual C+軟件、Altium Designer軟件、STC-ISP串燒軟件、PC機(jī)。Keil C51是由美國(guó)Keil Software公司
19、推出的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用C來(lái)開(kāi)發(fā),體會(huì)更加深刻。 Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。Microsoft VisualC+是Win32環(huán)境程序 ,它是由Microsoft公司推出的開(kāi)發(fā),面向?qū)ο蟮目梢暬删幊滔到y(tǒng)
20、。它具有程序框架自動(dòng)生成、靈活方便的類管理、代碼編寫和界面設(shè)計(jì)集成交互操作、可開(kāi)發(fā)多種程序等優(yōu)點(diǎn),能夠通過(guò)簡(jiǎn)單的設(shè)置就可使其生成的程序框架支持?jǐn)?shù)據(jù)庫(kù)接口、OLE2,WinSock網(wǎng)絡(luò)、3D控制界面。Visual C+是計(jì)算機(jī)高級(jí)語(yǔ)言C+比較好用的編程工具,它是屬于一種可視化的計(jì)算機(jī)語(yǔ)言。Altium Designer這款軟件它是Altium公司開(kāi)發(fā)出來(lái)的,這是一款針對(duì)電路設(shè)計(jì)的軟件,它的優(yōu)勢(shì)是能進(jìn)行概念設(shè)計(jì),頂層設(shè)計(jì),對(duì)輸出的生產(chǎn)數(shù)據(jù)包括在這個(gè)過(guò)程中的分析驗(yàn)證和設(shè)計(jì)數(shù)據(jù)能夠進(jìn)行很好的管理。新版本的Altium Designer 不單單只是具有繪制PCB圖的功能,現(xiàn)在的新版本具有SCH設(shè)計(jì)、SC
21、H仿真、PCB設(shè)計(jì)、Auto Router和FPGA設(shè)計(jì)、嵌入式軟件開(kāi)發(fā)等強(qiáng)大的功能,它現(xiàn)在是把PCB當(dāng)作是整個(gè)設(shè)計(jì)的核心部分。它把項(xiàng)目管理方式、原理圖和PCB的雙向同步技術(shù)、多通道設(shè)計(jì)、拓樸自動(dòng)布線以及電路仿真等技術(shù)結(jié)合在一起。上位機(jī)的軟件是我們通過(guò)編程實(shí)現(xiàn)的,操作簡(jiǎn)單方便,具有很高的可靠性,具有非常好的人機(jī)交互界面等特點(diǎn)底下頁(yè)碼2,和前一頁(yè)一樣。- 3 -第三章 系統(tǒng)整體設(shè)計(jì)第三章 系統(tǒng)整體設(shè)計(jì)3.1 系統(tǒng)組成模塊機(jī)車沖動(dòng)檢測(cè)儀的整個(gè)系統(tǒng)由數(shù)據(jù)采集模塊、數(shù)據(jù)傳輸模塊及數(shù)據(jù)分析處理模塊三部分組成。數(shù)據(jù)采集模塊: ADXL345是數(shù)字式3軸加速度計(jì),具有很高的分辨率,很廣的測(cè)量的范圍。它輸出的
22、數(shù)字量數(shù)據(jù)是一十六位的二進(jìn)制數(shù)的補(bǔ)碼的形式,它的訪問(wèn)形式有兩種分別是SPI和IIC。這款芯片它十分的貼合我們的移動(dòng)設(shè)備。不但可以測(cè)量晶體加速度:我們所熟知的重力加速度;也可以測(cè)量動(dòng)態(tài)的加速度像運(yùn)動(dòng)或沖擊 產(chǎn)生的加速度;它也能夠測(cè)量很小范圍的傾角的變化。它還具有一個(gè)優(yōu)點(diǎn)那就是另外ADXL345采集的數(shù)據(jù)不需要經(jīng)過(guò)AD轉(zhuǎn)換后才能到單片機(jī)。數(shù)據(jù)傳輸模塊這個(gè)模塊主要是下位機(jī)單片機(jī)通過(guò)USB將數(shù)據(jù)傳輸給上位機(jī)PC機(jī)。我們?cè)谶@一部分所要用到的器件是PDIUSBD12,我將其簡(jiǎn)稱為D-12,D-12這款USB器件具有性能優(yōu)化的特點(diǎn),它經(jīng)常被運(yùn)用在微型的控制器的并行接口通信的場(chǎng)合,具有良好的DMA傳輸。我們通
23、常將其進(jìn)行模塊化處理,能夠使我們的USB接口選擇最適合的微型控制器,能夠大大的降低我們的固件成本降低,也大大的減少了我們的開(kāi)發(fā)時(shí)間、降低了風(fēng)險(xiǎn),減少了我們的開(kāi)發(fā)的成本。從而為我們開(kāi)發(fā)效率,高速度的USB外圍設(shè)備提出了寶貴的意見(jiàn)。D-12百分之百的符合USB2.0規(guī)范,能夠滿足大部分的設(shè)備的設(shè)計(jì),像打印,通信,存儲(chǔ)這方面的設(shè)備。所以, D-12可以很好地運(yùn)用在外設(shè)上,像我們?nèi)粘S玫南鄼C(jī),打印機(jī)等。數(shù)據(jù)分析處理模塊該模塊由上位機(jī)完成,PC機(jī)上配套的軟件實(shí)現(xiàn)運(yùn)行時(shí)間,沖動(dòng)加速度等信號(hào)的顯示,走勢(shì)曲線的顯示。PC機(jī)軟件設(shè)計(jì)通過(guò)Visual C+編寫,包括USB識(shí)別,數(shù)據(jù)處理,顯示,畫圖,具有良好的人機(jī)
24、交互界面,便于使用,可靠性高等優(yōu)點(diǎn)。3.2 系統(tǒng)實(shí)現(xiàn)原理及框圖由于本文是針對(duì)已有的機(jī)車沖動(dòng)檢測(cè)儀,設(shè)計(jì)USB設(shè)備接口,實(shí)現(xiàn)機(jī)車相關(guān)數(shù)據(jù),如運(yùn)行時(shí)間,沖動(dòng)加速度等信號(hào),實(shí)時(shí)通過(guò)上位機(jī)USB接口讀取并顯示數(shù)據(jù)列表和趨勢(shì)曲線。因此本文重點(diǎn)介紹的是機(jī)車沖動(dòng)檢測(cè)儀的數(shù)據(jù)傳輸模塊,因采集模塊要用到的加速度傳感器采集的是數(shù)字信號(hào),所以不需要用AD轉(zhuǎn)換后進(jìn)行傳輸,所以在這里我們使用ADXL345來(lái)產(chǎn)生加速度信號(hào),其產(chǎn)生的信號(hào)通過(guò)單片機(jī)的初步處理,由USB驅(qū)動(dòng)芯片PDIUSBD12傳輸給PC機(jī)上的上位機(jī)軟件實(shí)現(xiàn)顯示,處理等。系統(tǒng)整體結(jié)構(gòu)框圖如下所示傳感器ADXL345ADX345MCU主芯片AT89C52USB
25、驅(qū)動(dòng)芯片PDIUSBD12上位機(jī)PC 圖3-1本設(shè)計(jì)的框圖如上通過(guò)系統(tǒng)結(jié)構(gòu)框圖我們知道了,整個(gè)系統(tǒng)的工作原理是:首先上位機(jī)發(fā)出數(shù)據(jù)采集命令,緊接著由USB傳送給下位機(jī)單片機(jī)啟動(dòng)采集程序,開(kāi)始采集,下面的工作是我么用下位機(jī)將我們獲得的數(shù)據(jù)通過(guò)usb傳送上位機(jī)軟件,從而由它來(lái)進(jìn)行處理和顯示。- 5 -第四章 系統(tǒng)硬件設(shè)計(jì)第四章 系統(tǒng)硬件設(shè)計(jì)4.1 數(shù)據(jù)采集模塊加速度傳感器ADXL345ADXL345是數(shù)字式3軸加速度計(jì),具有很高的分辨率,很廣的測(cè)量的范圍。它輸出的數(shù)字量數(shù)據(jù)是一十六位的二進(jìn)制數(shù)的補(bǔ)碼的形式,它的訪問(wèn)形式有兩種分別是SPI和IIC。這款芯片它十分的貼合我們的移動(dòng)設(shè)備。不但可以測(cè)量晶體
26、加速度:我們所熟知的重力加速度;也可以測(cè)量動(dòng)態(tài)的加速度像運(yùn)動(dòng)或沖擊 產(chǎn)生的加速度;它也能夠測(cè)量很小范圍的傾角的變化。它還具有一個(gè)優(yōu)點(diǎn)那就是另外ADXL345采集的數(shù)據(jù)不需要經(jīng)過(guò)AD轉(zhuǎn)換后才能到單片機(jī)。芯片的優(yōu)點(diǎn)如下:超低功耗、用戶可選的分辨率。10位固定分辨率。FIFO技術(shù)。單振/雙振檢測(cè) ?;顒?dòng)/非活動(dòng)監(jiān)控 。自由落體檢測(cè)、2.03.6伏的電壓。輸入/輸出口的電壓具有良好的選擇范圍是從1.7到vs以及SPI和I2C數(shù)字接口 。它的中斷模式十分的靈活。我們可以選擇帶寬和測(cè)量的范圍 等。圖4.1 ADXL345引腳分布4.2處理器-STC89C52RC4.2.1 STC89C52RC概述STC8
27、9C52RC是宏晶科技推出的,它是一款新型單片機(jī),具有高速/低功耗/超強(qiáng)抗干擾優(yōu)點(diǎn),這款芯片的單片機(jī)完全兼容了8051單片機(jī)的代碼, 我們有12個(gè)時(shí)鐘周期和6個(gè)時(shí)鐘周期供我們選擇(1) 芯片的特點(diǎn)1增強(qiáng)型8051單片機(jī),有12個(gè)時(shí)鐘周期和6個(gè)時(shí)鐘周期供我們選擇1. 可選擇的工作電壓2. 寬廣的工作頻率范圍3. 我們可以使用的ROM有8K4. 片上集成512字節(jié)的RAM5. 32個(gè)I/O口:P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉,P0口是漏極開(kāi)路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O口用時(shí),需加上拉電阻。6. 下載程序是方便7. 具有看門狗功能8. 有3個(gè)定時(shí)/計(jì)數(shù)器(2)芯片的結(jié)
28、構(gòu)圖如圖4-2 圖4-2 89C52RC的結(jié)構(gòu)圖通過(guò)上圖的圖表我們知曉了:STC89C52RC主要由CPU中央處理器、存儲(chǔ)器、I/O組成。(3)STC89C52RC的功能描述它是一款新型單片機(jī),具有高速/低功耗/超強(qiáng)抗干擾優(yōu)點(diǎn),這款芯片的單片機(jī)完全兼容了8051單片機(jī)的代碼, 我們有12個(gè)時(shí)鐘周期和6個(gè)時(shí)鐘周期供我們選擇,在它的片內(nèi)有4K的ROM,數(shù)據(jù)的保存時(shí)間長(zhǎng)。芯片可以構(gòu)成單片機(jī)最小系統(tǒng),一個(gè)方面占有的位置小了,性能有了很大的提升,降低了系統(tǒng)的成本。當(dāng)我們的代碼的大小小于4K是,我們芯片的4個(gè)P口全都可以供給我們使用,它可以提供給我們5伏的電壓讓我們來(lái)編譯程序,它還具有一個(gè)優(yōu)點(diǎn)那就是我們燒
29、錄程序的時(shí)間很短,是以前單片機(jī)的百分之一,而且能夠更好的保護(hù)器件,提高器件的使用壽命,能夠更好的運(yùn)用在嵌入式這個(gè)領(lǐng)域當(dāng)中。它的工作電壓范圍比較廣,當(dāng)芯片處在全靜態(tài)的工作狀態(tài)時(shí),工作頻率寬在0Hz24MHz之間,與以前的單片機(jī)相比更加的靈活了,而且系統(tǒng)能夠調(diào)節(jié)運(yùn)行的速度。芯片為了保證程序以及系統(tǒng)不被別的冒牌的山寨貨給模仿去,它的內(nèi)部具有三級(jí)加密。P0它是一個(gè)是三態(tài)雙向口,記住不是準(zhǔn)三態(tài)雙向口,它也就是我們所說(shuō)的數(shù)據(jù)總線口,我們通過(guò)這個(gè)口我們可以直接對(duì)外部存儲(chǔ)器進(jìn)行讀/寫操作。(4)STC89C52RC引腳功能及說(shuō)明圖4-3是芯片的引腳圖 圖4-3芯片引腳圖VCC是第四十引腳,功能是提供電源電壓;
30、GND是第二十腳,功能是接地;P0口是第三十二腳到三十腳,P0它是一個(gè)是三態(tài)雙向口,記住不是準(zhǔn)三態(tài)雙向口,它也就是我們所說(shuō)的數(shù)據(jù)總線口,我們通過(guò)這個(gè)口我們可以直接對(duì)外部存儲(chǔ)器進(jìn)行讀/寫操作。當(dāng)我們把P0口作為I/O口時(shí),我們應(yīng)該給每個(gè)口加上上拉電阻。P1口是第一腳到第八角,它是一個(gè)準(zhǔn)雙向口,內(nèi)部帶有上拉電阻,當(dāng)我們把它作為輸入輸出口時(shí)不需要額外加上拉電阻。另外,P1.0和P1.1還可以作為定時(shí)器/計(jì)數(shù)器2外部技術(shù)輸入(P1.0/T2)和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體的就看下表吧!我們?cè)趯?duì)Flash ROM編程和程序校驗(yàn)時(shí),P1接收低的8位地址P2口是第二十一腳到二十八腳
31、,它是一個(gè)準(zhǔn)雙向口,內(nèi)部帶有上拉電阻,當(dāng)我們把它作為輸入輸出口時(shí)不需要額外加上拉電阻。P3口是第十腳到第一十七腳,它的每個(gè)腳除了作為普通的I/O口,還具有其他的功能。P3口的第二功能如表4-4所示。表4-4 P3口的第二功能端口引腳功能P3.0RXD(串口輸入端)P3.1 TXD(串口輸出端)P3.2INT0(外部中斷0請(qǐng)求輸入端,低電平有效)P3.3INT1(外部中斷1請(qǐng)求輸入端,低電平有效)P3.4T0(定時(shí)/計(jì)數(shù)器0計(jì)數(shù)脈沖輸入端)P3.5T1(定時(shí)/計(jì)數(shù)器1計(jì)數(shù)脈沖輸入端)P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫選通信號(hào)輸出端,低電平有效)P3.7RD(外部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸出端,低電平有效
32、)RESET是芯片的第九腳,它的作用是復(fù)位信號(hào)輸入端,它是高電平有效。:PSEN是芯片的第二十九腳,它是程序存儲(chǔ)允許輸出信號(hào)端。ALE/PROG是芯片的的第三十腳,他表示的是地址鎖存允許信號(hào)端。EA/Vpp是芯片的第三十一腳,它表示的是外部的ROM地址允許輸入端/固化編程電壓輸入端。 C89C52RC芯片程序存儲(chǔ)器有三級(jí)硬件加密,能夠有效地保證系統(tǒng)不被仿制和軟件不被復(fù)制。工作模式:STC89C52RC它具有兩種工作的方式,其中的一種是空閑(等待、待機(jī))的工作方式,另外一種是掉電(停機(jī))的工作方式??臻e模式是由軟件來(lái)設(shè)置的,當(dāng)外圍器件仍然處于工作狀態(tài)時(shí),CPU可根據(jù)工作情況適時(shí)地進(jìn)入睡眠狀態(tài),內(nèi)
33、部RAM和所有特殊的寄存器值將保持不變。這種狀態(tài)可被任何一個(gè)中斷所終止或通過(guò)硬件復(fù)位。掉電模式是VCC電壓低于電源下限,振蕩器停止振動(dòng),CPU停止執(zhí)行指令。該芯片內(nèi)RAM和特殊功能寄存器值保持不變,直到掉電模式被終止。只有VCC電壓恢復(fù)到正常工作范圍而且在振蕩器穩(wěn)定振蕩后,通過(guò)硬件復(fù)位掉電模式可被終止。4.2.2 單片機(jī)最小系統(tǒng)電路(1)時(shí)鐘電路圖4-4 時(shí)鐘電路(2)復(fù)位電路圖4-5 復(fù)位電路 4.3數(shù)據(jù)傳輸模塊接口電路設(shè)計(jì)4.3.1 USB概述USB它的全名是Universal Serial Bus,它是外設(shè)和我們自己的計(jì)算機(jī)連接的一種新的接口,它是具有通用性的串行總線接口。在它被推出來(lái)之
34、前,我們的外設(shè)要是想要和計(jì)算機(jī)進(jìn)行通信我們使用的是計(jì)算機(jī)本身給我們提供的接口,像ISA ,PCI等。但是它們總是有這樣那樣的缺點(diǎn),給我們的使用帶來(lái)了很大的不便,為了給我們廣大的使用者解決擺在我們面前的尷尬,給我們一個(gè)舒適,便捷的使用環(huán)境,節(jié)約我們大家的時(shí)間,USB出現(xiàn)了,它是一種快速、雙向、同步、廉價(jià)、并支持熱插撥功能的串行接口。USB是近年來(lái)應(yīng)用在PC領(lǐng)域的新型接口技術(shù)是一些PC大廠商,如Microsoft、 Intel等為了解決日益增加的PC外設(shè)與有限的主板插槽和端口之間的矛盾而制定的一種串行通信的標(biāo)準(zhǔn)。自1995年在Comdex上亮相以來(lái)至今已廣泛地為各PC廠家所支持。現(xiàn)在生產(chǎn)的PC幾乎
35、都配備了USB接口Microsoft的Windows98、 NT以及 MacOS、Linux、FreeBSD等流行操作系統(tǒng)都增加了對(duì)USB的支持。USB的主要優(yōu)點(diǎn):(1)它具有使用方便,許熱插拔的優(yōu)點(diǎn)。(2)運(yùn)行傳輸速度快。(3)連接靈活。(4)獨(dú)立供電。USB是一種新的接口,它要通信的話那么也應(yīng)該有它自己的通信標(biāo)準(zhǔn),那么我們接下來(lái)就來(lái)看看它的通信協(xié)議吧。對(duì)于我們來(lái)說(shuō)USB系統(tǒng),就是把USB連接到電腦上,但是對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),USB系統(tǒng)可以分為三個(gè)層次:功能層、USB設(shè)備層、USB總線接口層,下面這個(gè)圖是它的分層通信機(jī)制。圖4-6 USB通信層次模型由圖,一個(gè)USB設(shè)備由三個(gè)功能模塊組成:US
36、B總線接口、USB邏輯設(shè)備、功能單元。USB總線接口是USB設(shè)備中的串行引擎(SIE);USB邏輯單元被看作是一個(gè)端點(diǎn)的集合;功能單元客戶軟件被看作接口的集合。USB傳輸類型包括批量傳輸、同步傳輸、中斷傳輸和控制傳輸,每種傳輸類型的傳輸速度、可靠性以及應(yīng)用范圍都不同??刂苽鬏斂煽啃允亲罡叩?,但速度最慢;同步傳輸速度快,滿足實(shí)時(shí)性,但可靠性低。在具體應(yīng)用中,端點(diǎn)傳輸類型可根據(jù)傳輸速度和可靠性選擇。在USB通信協(xié)議中,主機(jī)取得絕對(duì)主動(dòng)權(quán)利,設(shè)備只能是“聽(tīng)命令行事”,通過(guò)一定的命令格式(設(shè)備請(qǐng)求)完成通信。USB設(shè)備請(qǐng)求包括標(biāo)準(zhǔn)請(qǐng)求、廠商請(qǐng)求和設(shè)備類請(qǐng)求。設(shè)備的枚舉是標(biāo)準(zhǔn)請(qǐng)求命令完成的;廠商請(qǐng)求是用
37、戶定義的請(qǐng)求;設(shè)備類請(qǐng)求是特定的USB設(shè)備類發(fā)出的請(qǐng)求,例如海量?jī)?chǔ)存類、打印機(jī)類和HID(人機(jī)接口)類。固件編程中設(shè)備請(qǐng)求必須遵循一定的格式,包括請(qǐng)求類型、設(shè)備請(qǐng)求、值、索引和長(zhǎng)度。4.3.2 USB主芯片選擇現(xiàn)在很多公司生產(chǎn)USB,我們目前是用的USB控制器分為兩類,一種是MCU集成在芯片內(nèi)部,像,等。另一種就是純粹的接口芯片像,等。前一種芯片成本比較高,所以在我們這個(gè)設(shè)計(jì)中我們使用的是。4.3.3 PDIUSBD12芯片(1)芯片特點(diǎn)和內(nèi)部結(jié)構(gòu)我們?cè)谶@一部分所要用到的器件是PDIUSBD12,我將其簡(jiǎn)稱為D-12,D-12這款USB器件具有性能優(yōu)化的特點(diǎn),它經(jīng)常被運(yùn)用在微型的控制器的并行接
38、口通信的場(chǎng)合,具有良好的DMA傳輸。我們通常將其進(jìn)行模塊化處理,能夠使我們的USB接口選擇最適合的微型控制器,能夠大大的降低我們的固件成本降低,也大大的減少了我們的開(kāi)發(fā)時(shí)間、降低了風(fēng)險(xiǎn),減少了我們的開(kāi)發(fā)的成本。從而為我們開(kāi)發(fā)效率,高速度的USB外圍設(shè)備提出了寶貴的意見(jiàn)。D-12百分之百的符合USB2.0規(guī)范,能夠滿足大部分的設(shè)備的設(shè)計(jì),像打印,通信,存儲(chǔ)這方面的設(shè)備。所以, D-12可以很好地運(yùn)用在外設(shè)上,像我們?nèi)粘S玫南鄼C(jī),打印機(jī)等。它的掛起時(shí)的低功耗滿足電源管理設(shè)備和ACPI onNOW的要求,同樣的道理,lazyclock輸出也滿足。D-12還集成了像SoftConnect GoodLi
39、nk可編程時(shí)鐘輸出、終端電阻等特性,它大大的降低了成本,使得USB的功能得到了豐富,發(fā)展。主要特性:符合USB1.1協(xié)議規(guī)范適應(yīng)大多數(shù)設(shè)備類規(guī)范的設(shè)計(jì)完全自動(dòng) DMA操作集成了320B的多配置FIFO存儲(chǔ)器在掛起時(shí)有可控制的LazyClock輸出可通過(guò)軟件控制USB總線連接SoftConnect在USB傳輸時(shí)有閃亮的USB連接指示燈GoodLink時(shí)鐘頻率輸出可編程內(nèi)部上電復(fù)位和低電壓復(fù)位電路有SO18和TSSOP28封裝能在-40+85°C工業(yè)級(jí)工作雙電壓工作(3.3+0.3V)或擴(kuò)大的5V電壓范圍3.65.5V多中斷模式,方便塊傳輸和同步傳輸內(nèi)部結(jié)構(gòu)圖4-7 PDIUSBD12內(nèi)
40、部結(jié)構(gòu)框圖模擬收發(fā)器,集成的收發(fā)器直接通過(guò)終端電阻與USB電纜接口電壓調(diào)整器,片上集成的1個(gè)3.3 V電壓調(diào)整器為模擬收發(fā)器供電,也提供連接到外部1.5k上拉電阻的輸出電壓。作為選擇PDIUSBD12提供集成1.5k上拉電阻的SoftConnect技術(shù)PLL,片上集成1個(gè)648MHz的倍頻PLL(鎖相環(huán))。允許使用6 MHz的晶振。EMI也由于使用低頻晶振而減小,PLL的工作不需要外部器件。位時(shí)鐘恢復(fù),位時(shí)鐘恢復(fù)電路用4倍過(guò)采樣原理從輸入的USB數(shù)據(jù)流中恢復(fù)時(shí)鐘,能跟蹤USB規(guī)范中指出的信號(hào)抖動(dòng)和頻率漂移SoftConnect,高速設(shè)備與USB的連接是靠把D+通過(guò)1個(gè)1.5k的上拉電阻接到高電
41、平來(lái)建立的。在PDIUSBD12中,這個(gè)上拉電阻是集成在芯片內(nèi)的,缺省是沒(méi)有連接到VDD,這個(gè)連接是靠外部MCU發(fā)一個(gè)命令來(lái)建立的,這使得系統(tǒng)微處理器可以在決定建立USB連接之前完成初始化 重新初始化USB總線連接也可以不用拔掉電纜來(lái)完成。 GoodLink是靠一個(gè)引腳接發(fā)光二極管實(shí)現(xiàn)的,在USB設(shè)備枚舉時(shí)LED指示燈將立即閃亮,當(dāng)PDIUSBD12被成功枚舉并配置時(shí),LED指示燈將會(huì)始終亮,經(jīng)過(guò)PDIUSBD12的USB數(shù)據(jù)傳輸過(guò)程中,LED將一閃一閃,傳輸成功后LED熄滅。在掛起期間,LED熄滅,這種特性可以使我們知道PDIUSBD12的狀態(tài),方便電路調(diào)試。存儲(chǔ)器管理單元,MMU和集成RA
42、M。MMU和集成RAM能緩沖USB(工作在12Mb/s) 數(shù)據(jù)傳輸和微控制器之間并行接口之間的速度差異,這允許微控制器以自己的速度讀寫USB包。并行和DMA接口,并行接口容易使用,速度快并且能直接與主微控制器接口。對(duì)于微控制器,PDIUSBD12可以看成是一個(gè)有8位數(shù)據(jù)總線和1位地址線的存儲(chǔ)設(shè)備,PDIUSBD12支持多路復(fù)用和非多路復(fù)用的地址和數(shù)據(jù)總線,在主端點(diǎn)(端點(diǎn)2)和局部共享存儲(chǔ)器之間也可使用DMA(直接存儲(chǔ)器存?。﹤鬏敚С謫沃芷谀J胶蛪K傳送模式兩種DMA傳輸。(2)芯片引腳說(shuō)明圖4-13 PDIUSBD12的引腳圖表4-5 引腳說(shuō)明圖4-8 PDIUSBD12引腳分布表4-2 引
43、腳說(shuō)明引腳號(hào)符號(hào)說(shuō) 明1469DATA<0>DATA<7>8位雙向數(shù)據(jù)5GND地10ALE地址鎖存允許,在多路復(fù)用地址/數(shù)據(jù)總線時(shí),ALE 下降沿用于鎖存地址信息,獨(dú)立地址/數(shù)據(jù)總線時(shí),將ALE永久接地11CS_N片選,低電平有效12SUSPEND芯片進(jìn)入掛起狀態(tài)13CLKOUT可編程時(shí)鐘輸出14INT_N中斷輸出 低電平有效15RD_N 讀選通 低電平有效16WR_N 寫選通 低電平有效17DMREQ DMA請(qǐng)求18DMACK_N DMA響應(yīng) 低電平有效19EOT_N DMA傳輸結(jié)束,低電平有效 ,另一個(gè)功能是VBUS感知器20RESET_N復(fù)位 低電平有效 異步 有
44、片內(nèi)上電復(fù)位電路 該引腳可以接高21GL_N GoodLink 發(fā)光二極管指示器 低電平有效22XTAL1晶振連接1,6 MHz23XTAL2晶振連接2,6 MHz24VDD正電源,4.05.5 V,讓芯片工作在3.3V,將3.3 V電壓加到VDD和VOUT3 .3兩個(gè)引腳上25D-USB D-數(shù)據(jù)線26D+USB D+數(shù)據(jù)線27VOUT3.3 3.3 V輸出28A0地址位 A0_1 選擇命令,A0_0 選擇數(shù)據(jù),在多路復(fù)用地址和數(shù)據(jù)總線配置時(shí),這一位將不考慮,應(yīng)接高電平(3)芯片與STC89C52RC的連接圖4-9 數(shù)據(jù)手冊(cè)推薦的連接圖圖4-10 本設(shè)計(jì)采用的連接圖將8根DATA引腳與STC
45、89C52RC的P0口相連。因?yàn)镻0口沒(méi)有內(nèi)置的電阻,我們需要加上拉電阻。接了上拉電阻后,DATA口為0時(shí)電流不能超過(guò)2mA。這里使用的是5V的電源,當(dāng)電流為2mA時(shí),電阻為2.5k。因此選擇上拉電阻大于2.5k就可以了。本設(shè)計(jì)選擇了10k的電阻。由于使用獨(dú)立地址線A0,所以不需要使用ALE引腳,直接將ALE接地,CS_N直接接地。SUSPEND引腳我們直接把它連接到低電平即可。CLKOUT引腳我們沒(méi)有使用,懸空就行了。INT_N是中斷請(qǐng)求信號(hào),漏極開(kāi)路輸出的,需要外接上拉電阻。把它接到單片機(jī)的INT0上,既可以軟件查詢,也可以使用中斷。由于STC89C52RC的INT0內(nèi)部有上拉電阻,所以不
46、用外接。RD_N接到單片機(jī)的RD, WR_N接到單片機(jī)的 WR。DMREQ是DMA中斷請(qǐng)求信號(hào),這里沒(méi)有使用DMA功能,所以該引腳懸空即可。DMACK_N和EOT_N直接用1k的上拉電阻將其置為高電平。EOT_N我們把它接高電平讓我們的芯片進(jìn)入工作狀態(tài)。RESET_N表示復(fù)位,D-12芯片內(nèi)部有復(fù)位電路,我們給它一個(gè)1K的電阻,拉高就行了。GL_N是芯片工作的指示燈。當(dāng)芯片處于活動(dòng)狀態(tài)時(shí),GL_N輸出低電平。我們通常給它接一個(gè)二極管,我們可以知道芯片的工作情況和USB數(shù)據(jù)傳輸情況,發(fā)光二極管經(jīng)1k限流電阻連接到電源。XTAL1和XTAL2接6MHz晶體,外接兩個(gè)22pF左右的起振電容到地。D+
47、和D-是USB差分?jǐn)?shù)據(jù)線。- 18 -第五章 系統(tǒng)軟件設(shè)計(jì)第五章 系統(tǒng)軟件設(shè)計(jì)本系統(tǒng)進(jìn)行軟件設(shè)計(jì)包括下位機(jī)軟件設(shè)計(jì)和上位機(jī)軟件設(shè)計(jì),下位機(jī)軟件設(shè)計(jì)我們可以使用的語(yǔ)言有很多,像匯編,C語(yǔ)言等。上位機(jī)設(shè)計(jì),在這里選擇Visual C+來(lái)編寫上位機(jī)程序。至于下位機(jī)程序,因?yàn)镃語(yǔ)言較匯編語(yǔ)言編寫起來(lái)要簡(jiǎn)單,可讀性強(qiáng),易于移植。因此下位機(jī)程序我們使用C語(yǔ)言。下面簡(jiǎn)單介紹本次軟件設(shè)計(jì)的編程工具。5.1軟件設(shè)計(jì)開(kāi)發(fā)工具在軟件設(shè)計(jì)開(kāi)發(fā)這方面我們使用了KEIL C51和visual C+這兩款軟件。Keil C51這款軟件它兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),如果我們將它和匯編作比較的話,那么C語(yǔ)言在功能上
48、、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。 而且這款軟件具有它自己的特點(diǎn),如豐富的庫(kù)函數(shù),功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面,生成目標(biāo)代碼效率很高,在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。Microsoft VisualC+是Microsoft公司推出的開(kāi)發(fā)Win32環(huán)境程序,面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。它有很多的優(yōu)點(diǎn)像程序框架自動(dòng)生成、靈活方便的類管理、代碼編寫和界面設(shè)計(jì)集成交互操作、可開(kāi)發(fā)多種程序等優(yōu)點(diǎn),在這我們就不一一列舉了。所以我們把VisualC+作為上位機(jī)軟件設(shè)計(jì)的開(kāi)發(fā)工具。5.2軟件設(shè)計(jì)數(shù)據(jù)要傳輸,必須由上位機(jī)對(duì)下位機(jī)發(fā)出命令,單片機(jī)根據(jù)接
49、收到的命令,然后做出回應(yīng),接下來(lái)把所得的結(jié)果送給上位機(jī),我們的上位機(jī)再把我們得到的數(shù)據(jù)在圖上顯示出來(lái)。下面是這個(gè)過(guò)程的流程圖:圖5-1 系統(tǒng)整體程序流程圖5.2.1下位機(jī)的軟件設(shè)計(jì)下位機(jī)的程序流程圖中包括單片機(jī)和ADXL345的通信流程圖,單片機(jī)和USB設(shè)備通信流程圖。系統(tǒng)初始化檢測(cè)復(fù)位標(biāo)志 有復(fù)位標(biāo)志 無(wú)復(fù)位標(biāo)志錯(cuò)誤處理系統(tǒng)自檢 錯(cuò)誤主循環(huán)發(fā)送創(chuàng)建文件命令讀取并存儲(chǔ)數(shù)據(jù)等待響應(yīng) 無(wú)響應(yīng) 圖5-2 ADXL345和單片機(jī)的通信流程圖那么下面我們介紹一下單片機(jī)和USB設(shè)備芯片的通信,它由三部分組成:第一,初始化單片機(jī)和所有的外圍電路包括PDIUSBD12;第二,主循環(huán)部分,其任務(wù)是可以中斷的;第
50、三,中斷服務(wù)程序,其任務(wù)是對(duì)時(shí)間敏感的,必須馬上執(zhí)行。單片機(jī)與PDIUSBD12的通信主要是靠單片機(jī)給PDIUSBD12發(fā)命令和數(shù)據(jù)來(lái)實(shí)現(xiàn)的,PDIUSBD12的命令字分為三種:初始化命令字、數(shù)據(jù)流命令字和通用命令字。PDIUSBD12給出了各種命令的代碼和地址。單片機(jī)先給 PDIUSBD12的命令地址發(fā)命令。根據(jù)不同命令的要求再發(fā)送或讀出不同的數(shù)據(jù)。因此,可以將每種命令做成函數(shù),用函數(shù)實(shí)現(xiàn)各個(gè)命令,以后直接調(diào)用函數(shù)即可。當(dāng)我們編程時(shí)需要注意那些呢?(1)單片機(jī)的中斷應(yīng)設(shè)置為電平觸發(fā),中斷后一定要讀上次傳輸狀態(tài)寄存器 命令40-45H ,以清除中斷寄存器中的中斷標(biāo)志,這樣PDIUSBD12的中
51、斷輸出才能變回高電平,這一點(diǎn)非常重要。(2)在接收到Setup包后,一定要調(diào)用ACK setup命令重新使能端口0。(3)在向IN端點(diǎn)寫完數(shù)據(jù)后,一定調(diào)用ValidateBuffer(命令FAH)指明緩沖區(qū)中的數(shù)據(jù)有效可以發(fā)送到主機(jī)。(4)當(dāng)讀完數(shù)據(jù)后,一定調(diào)用Clear Buffer(命令 F2H),以保證可以接收新的包。(5)可以通過(guò)調(diào)用Read Chip ID(命令FDH)檢查PDIUSBD12是否工作。該命令要讀兩個(gè)字節(jié)數(shù)據(jù)。USB初始化過(guò)程為: Set Address Enable Set Endpoint Enable(此時(shí)LED亮) Disconnect delay(12s) C
52、onnect(即用43h參數(shù)調(diào)用Set Mode此時(shí)LED滅)(6)Read Interrupt Register完成初始化工作后,就可作其它的前臺(tái)工作了,并在前臺(tái)判斷是否有Setup包(通過(guò)一個(gè)變量,當(dāng)中斷服務(wù)程序檢測(cè)到有Setup包時(shí),設(shè)置該變量)。然后執(zhí)行響應(yīng)的控制傳輸。在調(diào)試USB單片機(jī)程序時(shí),還要特別注意Windows對(duì)USB設(shè)備的枚舉順序:(1)GetDeviceDescriptor。主機(jī)主要對(duì)Length域感興趣,發(fā)送內(nèi)容一定要正確,特別是第2字節(jié)type一定為0x01,即Device,否則,主機(jī)將不響應(yīng)或者再重復(fù)2次后放棄。可檢查一下對(duì)EP0的RX、TX的設(shè)置次序。(2)Set
53、Address。一般為02或03。(3)連續(xù)3次GetDeviceDescriptor,讀取全部設(shè)備描述符,一般為18B,分為多次傳輸,如果不正確主機(jī)將不響應(yīng)或重復(fù)2次后放棄。(4)GetConfigDescriptor,注意第2字節(jié)一定為0x02,即config。(5)GetStringDescriptor,根據(jù)在設(shè)備描述符中是否有String索引而定。一般先讀取LanguageID,再讀取productstring。(6)讀取全部ConfigDescriptor,次數(shù)根據(jù)描述符的大小決定(端點(diǎn)個(gè)數(shù)不同描述符大小不同),如果不正確,主機(jī)將不響應(yīng)或再重復(fù)2次后放棄。如果以上步驟都正確,主機(jī)將找
54、到新設(shè)備提示安裝驅(qū)動(dòng)程序,否則找到未知設(shè)備不可用。安裝驅(qū)動(dòng)程序后,以后的每次PlugIn,枚舉次序與以上步驟略有不同,之后會(huì)有SetConfiguration、GetConfiguration和GetInterface等調(diào)用。5.2.2 上位機(jī)軟件設(shè)計(jì)針對(duì)這一塊,我們都知道我們?cè)诰帉憫?yīng)用軟件前,一定要了解Visual C+動(dòng)態(tài)連接庫(kù)的使用,這是值得我們注意的方面。圖5-3 上位機(jī)的程序流程圖上位機(jī)最難部分就是識(shí)別USB設(shè)備,而上位機(jī)的操作界面的設(shè)計(jì)編程卻不是那么困難,只需要將下位機(jī)采集的數(shù)據(jù)進(jìn)行某些運(yùn)算處理,然后調(diào)用顯示子程序就可以實(shí)現(xiàn)了,這里還需要顯示走勢(shì)曲線,這就要求有坐標(biāo)圖像處理。- 23 -第六章 系統(tǒng)調(diào)試第六章 系統(tǒng)調(diào)試前面我們介紹了也了解了整個(gè)設(shè)計(jì),我們需要根據(jù)我們的理論設(shè)計(jì),將它做出來(lái),在很多時(shí)候,理論上行的通,在實(shí)際中不一定有用,那么,這就需要我們一步步的調(diào)試了,從而做到理論與實(shí)踐相結(jié)合。6.1 硬件調(diào)試當(dāng)我們進(jìn)行硬件調(diào)試時(shí),我們需要注意一下這幾點(diǎn)(1) 由于PDIUSBD12的數(shù)據(jù)口是與STC89C52RC的P0口相連接的,當(dāng)P0口作為I/O口時(shí), 必須要接上拉電阻,這里上拉電阻為10k。 (2)晶振問(wèn)題,由于單片機(jī)和USB芯片都要用到晶振,但是兩者使用的頻率不一樣,單片機(jī)為22.1184MHz,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 產(chǎn)品銷售合同協(xié)議范本
- 個(gè)人土地租賃合同樣本
- 二手房交易合同正式版
- 業(yè)務(wù)合同之四:市場(chǎng)拓展與合作
- 二手房買賣合同定金協(xié)議書范本
- 個(gè)人住房抵押反擔(dān)保合同
- 個(gè)人借款合同分期還款協(xié)議書范本
- 人力資源公司招聘合同
- 個(gè)人住房貸款擔(dān)保合同細(xì)則
- 個(gè)人二手房買賣合同擔(dān)保補(bǔ)充協(xié)議
- 行政處罰-行政處罰種類和設(shè)定(行政法課件)
- 柔性機(jī)械臂的振動(dòng)控制
- DB34T 4510-2023 靜脈用藥調(diào)配中心潔凈區(qū)管理規(guī)范
- 【課件】免疫系統(tǒng)組成和功能(人教版2019選擇性必修1)
- 土力學(xué)與地基基礎(chǔ)(課件)
- IT系統(tǒng)災(zāi)備和容災(zāi)解決方案項(xiàng)目設(shè)計(jì)方案
- 青島版二年級(jí)數(shù)學(xué)下冊(cè)(六三制)全冊(cè)課件【完整版】
- 馬蹄焰玻璃窯爐設(shè)計(jì)技術(shù)培訓(xùn)-課件
- 2023年主治醫(yī)師(中級(jí))-眼科學(xué)(中級(jí))代碼:334考試歷年真題集錦附答案
- 電力安全工作規(guī)程-(電網(wǎng)建設(shè)部分)
- 新加坡小學(xué)二年級(jí)英語(yǔ)試卷practice 2
評(píng)論
0/150
提交評(píng)論