機(jī)車沖動檢測儀USB DEVICE接口模塊設(shè)計_第1頁
機(jī)車沖動檢測儀USB DEVICE接口模塊設(shè)計_第2頁
機(jī)車沖動檢測儀USB DEVICE接口模塊設(shè)計_第3頁
機(jī)車沖動檢測儀USB DEVICE接口模塊設(shè)計_第4頁
機(jī)車沖動檢測儀USB DEVICE接口模塊設(shè)計_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘要密級: 題 目 機(jī)車沖動檢測儀USB DEVICE接口模塊設(shè)計學(xué) 院: 系 專業(yè)班級: 學(xué)生姓名: 學(xué)號: 指導(dǎo)教師: 職稱: 起訖日期: 機(jī)車沖動檢測儀USB DEVICE接口模塊設(shè)計 摘要大家都知道我們國家是一個泱泱大國,國土面積是970萬平方公里,兩地之間的距離很大,因此當(dāng)我們外出時,火車成為了我們出行的重要交通工具,是國家運輸體系的骨干。無論是從鐵路自身的發(fā)展還是從保持國民經(jīng)濟(jì)持續(xù)快速發(fā)展的需要看,加快鐵路建設(shè)迫在眉睫。大家都知道列車運行過程中, 司機(jī)操縱是否平穩(wěn)直接影響著 旅客乘車的舒適感, 因此, 測試其操縱水平對提高鐵 路服務(wù)質(zhì)量起著至關(guān)重要的作用。鐵路上傳統(tǒng)的方法 是采用/

2、沖動棒0的評測方法,根據(jù)一組木棒的倒伏 情況來判定沖動狀況。該方法隨機(jī)性較大、精度低, 沒有可重現(xiàn)性, 不符合鐵路高速化、現(xiàn)代化的發(fā)展趨勢。本文介紹的智能列車沖動檢測儀, 采用高性能的 加速度傳感器采集數(shù)據(jù),用PC機(jī)上的配套軟件對其分析處理, 實時 顯示列車運行時的加速度變化曲線,并給出沖動值,同時可以將數(shù)據(jù)通過 USB 發(fā)送到 PC機(jī), 能夠單機(jī)工作或與 PC 機(jī)聯(lián)機(jī)工作,進(jìn)行在線或離線沖動分析、 司機(jī)考核、報表打印等工作。本文第一步介紹了課題研究背景,列車沖動的危害、形成工況等,接下來介紹列車沖動檢測儀的系統(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)。本文重點介紹了USB的產(chǎn)生、發(fā)展情況,USB拓?fù)浣Y(jié)構(gòu),以及幾大廠商的USB芯片種類,本系統(tǒng)所使用的是PHILIP公司生產(chǎn)的PDIUSBD12芯片,著重介紹了機(jī)車沖動檢測儀的數(shù)據(jù)傳輸模塊USB DEVICE接口模塊的硬件電路以及它的工作原理,主要說明了PDIUSBD12芯片與單片機(jī)的硬件連接方式、軟件的設(shè)計以及配套的

4、上位機(jī)軟件的的設(shè)計。關(guān)鍵詞:USB;PDIUSBD12;機(jī)車沖動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 沖動產(chǎn)生及檢測- 1 -1.3 發(fā)展- 1 -第二章 系統(tǒng)簡介- 2 -2.1 系統(tǒng)功能- 2 -2.2系統(tǒng)開發(fā)平臺- 2 -第三章 系統(tǒng)整體設(shè)計- 4 -3.1 系統(tǒng)組成模塊- 4 -3.2 系統(tǒng)實現(xiàn)原理及框圖- 5 -第四章 系統(tǒng)硬件設(shè)計- 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è)計- 11 -4.3.1 USB概述- 11 -4.3.2 USB主芯片選擇- 13 -4.3.3 PDIUSBD12芯片- 13 -第五章 系統(tǒng)軟件設(shè)計- 20 -5.1軟件設(shè)計開發(fā)工具- 20 -5.2軟件設(shè)計- 21 -5.2.1下位機(jī)的軟件設(shè)計- 21 -5.2.2 上位機(jī)軟件設(shè)計- 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、景隨著國家的日益壯大,社會的飛速發(fā)展,我們自身經(jīng)濟(jì)水平的提高,外出旅行成了人們生活中比較常見的一種現(xiàn)象。人們現(xiàn)在外出旅行首先得選擇出行的交通方式,像飛機(jī),火車,輪船等?,F(xiàn)在,人們在長途旅行交通工具上也有了越來越多的選擇。國家建設(shè)了許多的高速公路,我們現(xiàn)在乘坐長途客車外出旅行也越來越方便了,再加上現(xiàn)在的飛機(jī)票的的價錢也不再讓人望而生畏,到達(dá)了大家所能接受的范圍。以上種種都對鐵路運輸?shù)牡匚粯?gòu)成了巨大的威脅。鐵路部門面對鐵路建設(shè)所面臨的挑戰(zhàn),需要開始反思,繼續(xù)發(fā)展完善,以謀取能夠在現(xiàn)在競爭激烈的市場中保證自己的優(yōu)勢地位。現(xiàn)在的人們不但對外出旅行的交通工具提出更加便利、更加快捷等要求,而且旅客朋友們對

16、交通工具的乘坐環(huán)境及舒適度也提出了要求,所以如何提高速度與舒適性成為鐵路建設(shè)方面所要解決的問題。判斷列車在運行的時候的平穩(wěn)性的一個重要指標(biāo)是舒適度,列車沖動不僅僅影響了旅客朋友們乘車的舒適性,更加糟糕的情況是巨大的沖擊會給我們自身帶來巨大的傷害。1.2 機(jī)車沖動的產(chǎn)生以及檢測我們都知道機(jī)車沖動發(fā)生的具體因素有很多,其中就有車輛本身結(jié)構(gòu)設(shè)計問題、制動方式以及司機(jī)操縱等。將硬件上的原因排除在外的話,機(jī)車沖產(chǎn)生的最主要的原因是司機(jī)對列車不正當(dāng)?shù)牟僮鳌?列車在加速、減速、制動、啟動和停止的這些時候產(chǎn)生的縱向沖擊,大大的影響了旅客乘車的舒適程度。因而沖動指標(biāo)就成為了認(rèn)定司駕駛水平的重要的根據(jù)。目前的現(xiàn)狀

17、是,我們針對縱向沖擊采取的檢驗的手段是“沖動棒”,它具有的優(yōu)點是操作簡單,方便,而且它是從定性的角度給出了機(jī)車沖動大概的等級。但是這種方法只能給出大概的等級,卻沒有辦法給出具體的數(shù)據(jù),沒有指出量化標(biāo)準(zhǔn),而且有很大的偶然性和隨機(jī)性。在真正的測試過程中,經(jīng)常會發(fā)生小棒沒有倒,然而大棒卻倒了的結(jié)果。那么我們怎么才能獲得準(zhǔn)確的縱向沖擊,進(jìn)而給出衡量司機(jī)水平的量化標(biāo)準(zhǔn),從而建立一個旅客乘坐的舒適度和沖擊的數(shù)學(xué)模型并且能夠獲得一些評價,成為了目前的一個重要課題。1.3 發(fā)展社會在不斷地進(jìn)步,人也在不斷地進(jìn)步,我們在不斷地創(chuàng)新,創(chuàng)造,從而使得電子,計算機(jī)得到了巨大的發(fā)展,各種智能儀器在許多方面都得到了充分的

18、運用,并且目前的儀器儀表趨向于虛擬化和數(shù)據(jù)采集系統(tǒng)PC化也成為了計算機(jī)技術(shù)發(fā)展的一種趨勢。我們現(xiàn)在所要研究的新型的機(jī)車沖動檢測儀就是在這樣的背景下應(yīng)運而生的。- 2 -第二章 系統(tǒng)簡介第二章 系統(tǒng)簡介2.1 系統(tǒng)功能首先從機(jī)車沖動檢測儀獲得數(shù)據(jù),接下來由USB DEVICE接口,將機(jī)車相關(guān)的數(shù)據(jù),如運行時間,沖動加速度等信號,實時發(fā)送給上位機(jī)并顯示數(shù)據(jù)列表以及趨勢曲線。2.2系統(tǒng)開發(fā)平臺本設(shè)計需要用到的軟件有:keil C軟件、 Visual C+軟件、Altium Designer軟件、STC-ISP串燒軟件、PC機(jī)。Keil C51是由美國Keil Software公司

19、推出的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。 Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。Microsoft VisualC+是Win32環(huán)境程序 ,它是由Microsoft公司推出的開發(fā),面向?qū)ο蟮目梢暬删幊滔到y(tǒng)

20、。它具有程序框架自動生成、靈活方便的類管理、代碼編寫和界面設(shè)計集成交互操作、可開發(fā)多種程序等優(yōu)點,能夠通過簡單的設(shè)置就可使其生成的程序框架支持?jǐn)?shù)據(jù)庫接口、OLE2,WinSock網(wǎng)絡(luò)、3D控制界面。Visual C+是計算機(jī)高級語言C+比較好用的編程工具,它是屬于一種可視化的計算機(jī)語言。Altium Designer這款軟件它是Altium公司開發(fā)出來的,這是一款針對電路設(shè)計的軟件,它的優(yōu)勢是能進(jìn)行概念設(shè)計,頂層設(shè)計,對輸出的生產(chǎn)數(shù)據(jù)包括在這個過程中的分析驗證和設(shè)計數(shù)據(jù)能夠進(jìn)行很好的管理。新版本的Altium Designer 不單單只是具有繪制PCB圖的功能,現(xiàn)在的新版本具有SCH設(shè)計、SC

21、H仿真、PCB設(shè)計、Auto Router和FPGA設(shè)計、嵌入式軟件開發(fā)等強(qiáng)大的功能,它現(xiàn)在是把PCB當(dāng)作是整個設(shè)計的核心部分。它把項目管理方式、原理圖和PCB的雙向同步技術(shù)、多通道設(shè)計、拓樸自動布線以及電路仿真等技術(shù)結(jié)合在一起。上位機(jī)的軟件是我們通過編程實現(xiàn)的,操作簡單方便,具有很高的可靠性,具有非常好的人機(jī)交互界面等特點底下頁碼2,和前一頁一樣。- 3 -第三章 系統(tǒng)整體設(shè)計第三章 系統(tǒng)整體設(shè)計3.1 系統(tǒng)組成模塊機(jī)車沖動檢測儀的整個系統(tǒng)由數(shù)據(jù)采集模塊、數(shù)據(jù)傳輸模塊及數(shù)據(jù)分析處理模塊三部分組成。數(shù)據(jù)采集模塊: ADXL345是數(shù)字式3軸加速度計,具有很高的分辨率,很廣的測量的范圍。它輸出的

22、數(shù)字量數(shù)據(jù)是一十六位的二進(jìn)制數(shù)的補(bǔ)碼的形式,它的訪問形式有兩種分別是SPI和IIC。這款芯片它十分的貼合我們的移動設(shè)備。不但可以測量晶體加速度:我們所熟知的重力加速度;也可以測量動態(tài)的加速度像運動或沖擊 產(chǎn)生的加速度;它也能夠測量很小范圍的傾角的變化。它還具有一個優(yōu)點那就是另外ADXL345采集的數(shù)據(jù)不需要經(jīng)過AD轉(zhuǎn)換后才能到單片機(jī)。數(shù)據(jù)傳輸模塊這個模塊主要是下位機(jī)單片機(jī)通過USB將數(shù)據(jù)傳輸給上位機(jī)PC機(jī)。我們在這一部分所要用到的器件是PDIUSBD12,我將其簡稱為D-12,D-12這款USB器件具有性能優(yōu)化的特點,它經(jīng)常被運用在微型的控制器的并行接口通信的場合,具有良好的DMA傳輸。我們通

23、常將其進(jìn)行模塊化處理,能夠使我們的USB接口選擇最適合的微型控制器,能夠大大的降低我們的固件成本降低,也大大的減少了我們的開發(fā)時間、降低了風(fēng)險,減少了我們的開發(fā)的成本。從而為我們開發(fā)效率,高速度的USB外圍設(shè)備提出了寶貴的意見。D-12百分之百的符合USB2.0規(guī)范,能夠滿足大部分的設(shè)備的設(shè)計,像打印,通信,存儲這方面的設(shè)備。所以, D-12可以很好地運用在外設(shè)上,像我們?nèi)粘S玫南鄼C(jī),打印機(jī)等。數(shù)據(jù)分析處理模塊該模塊由上位機(jī)完成,PC機(jī)上配套的軟件實現(xiàn)運行時間,沖動加速度等信號的顯示,走勢曲線的顯示。PC機(jī)軟件設(shè)計通過Visual C+編寫,包括USB識別,數(shù)據(jù)處理,顯示,畫圖,具有良好的人機(jī)

24、交互界面,便于使用,可靠性高等優(yōu)點。3.2 系統(tǒng)實現(xiàn)原理及框圖由于本文是針對已有的機(jī)車沖動檢測儀,設(shè)計USB設(shè)備接口,實現(xiàn)機(jī)車相關(guān)數(shù)據(jù),如運行時間,沖動加速度等信號,實時通過上位機(jī)USB接口讀取并顯示數(shù)據(jù)列表和趨勢曲線。因此本文重點介紹的是機(jī)車沖動檢測儀的數(shù)據(jù)傳輸模塊,因采集模塊要用到的加速度傳感器采集的是數(shù)字信號,所以不需要用AD轉(zhuǎn)換后進(jìn)行傳輸,所以在這里我們使用ADXL345來產(chǎn)生加速度信號,其產(chǎn)生的信號通過單片機(jī)的初步處理,由USB驅(qū)動芯片PDIUSBD12傳輸給PC機(jī)上的上位機(jī)軟件實現(xiàn)顯示,處理等。系統(tǒng)整體結(jié)構(gòu)框圖如下所示傳感器ADXL345ADX345MCU主芯片AT89C52USB

25、驅(qū)動芯片PDIUSBD12上位機(jī)PC 圖3-1本設(shè)計的框圖如上通過系統(tǒng)結(jié)構(gòu)框圖我們知道了,整個系統(tǒng)的工作原理是:首先上位機(jī)發(fā)出數(shù)據(jù)采集命令,緊接著由USB傳送給下位機(jī)單片機(jī)啟動采集程序,開始采集,下面的工作是我么用下位機(jī)將我們獲得的數(shù)據(jù)通過usb傳送上位機(jī)軟件,從而由它來進(jìn)行處理和顯示。- 5 -第四章 系統(tǒng)硬件設(shè)計第四章 系統(tǒng)硬件設(shè)計4.1 數(shù)據(jù)采集模塊加速度傳感器ADXL345ADXL345是數(shù)字式3軸加速度計,具有很高的分辨率,很廣的測量的范圍。它輸出的數(shù)字量數(shù)據(jù)是一十六位的二進(jìn)制數(shù)的補(bǔ)碼的形式,它的訪問形式有兩種分別是SPI和IIC。這款芯片它十分的貼合我們的移動設(shè)備。不但可以測量晶體

26、加速度:我們所熟知的重力加速度;也可以測量動態(tài)的加速度像運動或沖擊 產(chǎn)生的加速度;它也能夠測量很小范圍的傾角的變化。它還具有一個優(yōu)點那就是另外ADXL345采集的數(shù)據(jù)不需要經(jīng)過AD轉(zhuǎn)換后才能到單片機(jī)。芯片的優(yōu)點如下:超低功耗、用戶可選的分辨率。10位固定分辨率。FIFO技術(shù)。單振/雙振檢測 ?;顒?非活動監(jiān)控 。自由落體檢測、2.03.6伏的電壓。輸入/輸出口的電壓具有良好的選擇范圍是從1.7到vs以及SPI和I2C數(shù)字接口 。它的中斷模式十分的靈活。我們可以選擇帶寬和測量的范圍 等。圖4.1 ADXL345引腳分布4.2處理器-STC89C52RC4.2.1 STC89C52RC概述STC8

27、9C52RC是宏晶科技推出的,它是一款新型單片機(jī),具有高速/低功耗/超強(qiáng)抗干擾優(yōu)點,這款芯片的單片機(jī)完全兼容了8051單片機(jī)的代碼, 我們有12個時鐘周期和6個時鐘周期供我們選擇(1) 芯片的特點1增強(qiáng)型8051單片機(jī),有12個時鐘周期和6個時鐘周期供我們選擇1. 可選擇的工作電壓2. 寬廣的工作頻率范圍3. 我們可以使用的ROM有8K4. 片上集成512字節(jié)的RAM5. 32個I/O口:P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉,P0口是漏極開路輸出,作為總線擴(kuò)展用時,不用加上拉電阻,作為I/O口用時,需加上拉電阻。6. 下載程序是方便7. 具有看門狗功能8. 有3個定時/計數(shù)器(2)芯片的結(jié)

28、構(gòu)圖如圖4-2 圖4-2 89C52RC的結(jié)構(gòu)圖通過上圖的圖表我們知曉了:STC89C52RC主要由CPU中央處理器、存儲器、I/O組成。(3)STC89C52RC的功能描述它是一款新型單片機(jī),具有高速/低功耗/超強(qiáng)抗干擾優(yōu)點,這款芯片的單片機(jī)完全兼容了8051單片機(jī)的代碼, 我們有12個時鐘周期和6個時鐘周期供我們選擇,在它的片內(nèi)有4K的ROM,數(shù)據(jù)的保存時間長。芯片可以構(gòu)成單片機(jī)最小系統(tǒng),一個方面占有的位置小了,性能有了很大的提升,降低了系統(tǒng)的成本。當(dāng)我們的代碼的大小小于4K是,我們芯片的4個P口全都可以供給我們使用,它可以提供給我們5伏的電壓讓我們來編譯程序,它還具有一個優(yōu)點那就是我們燒

29、錄程序的時間很短,是以前單片機(jī)的百分之一,而且能夠更好的保護(hù)器件,提高器件的使用壽命,能夠更好的運用在嵌入式這個領(lǐng)域當(dāng)中。它的工作電壓范圍比較廣,當(dāng)芯片處在全靜態(tài)的工作狀態(tài)時,工作頻率寬在0Hz24MHz之間,與以前的單片機(jī)相比更加的靈活了,而且系統(tǒng)能夠調(diào)節(jié)運行的速度。芯片為了保證程序以及系統(tǒng)不被別的冒牌的山寨貨給模仿去,它的內(nèi)部具有三級加密。P0它是一個是三態(tài)雙向口,記住不是準(zhǔn)三態(tài)雙向口,它也就是我們所說的數(shù)據(jù)總線口,我們通過這個口我們可以直接對外部存儲器進(jìn)行讀/寫操作。(4)STC89C52RC引腳功能及說明圖4-3是芯片的引腳圖 圖4-3芯片引腳圖VCC是第四十引腳,功能是提供電源電壓;

30、GND是第二十腳,功能是接地;P0口是第三十二腳到三十腳,P0它是一個是三態(tài)雙向口,記住不是準(zhǔn)三態(tài)雙向口,它也就是我們所說的數(shù)據(jù)總線口,我們通過這個口我們可以直接對外部存儲器進(jìn)行讀/寫操作。當(dāng)我們把P0口作為I/O口時,我們應(yīng)該給每個口加上上拉電阻。P1口是第一腳到第八角,它是一個準(zhǔn)雙向口,內(nèi)部帶有上拉電阻,當(dāng)我們把它作為輸入輸出口時不需要額外加上拉電阻。另外,P1.0和P1.1還可以作為定時器/計數(shù)器2外部技術(shù)輸入(P1.0/T2)和定時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體的就看下表吧!我們在對Flash ROM編程和程序校驗時,P1接收低的8位地址P2口是第二十一腳到二十八腳

31、,它是一個準(zhǔn)雙向口,內(nèi)部帶有上拉電阻,當(dāng)我們把它作為輸入輸出口時不需要額外加上拉電阻。P3口是第十腳到第一十七腳,它的每個腳除了作為普通的I/O口,還具有其他的功能。P3口的第二功能如表4-4所示。表4-4 P3口的第二功能端口引腳功能P3.0RXD(串口輸入端)P3.1 TXD(串口輸出端)P3.2INT0(外部中斷0請求輸入端,低電平有效)P3.3INT1(外部中斷1請求輸入端,低電平有效)P3.4T0(定時/計數(shù)器0計數(shù)脈沖輸入端)P3.5T1(定時/計數(shù)器1計數(shù)脈沖輸入端)P3.6WR(外部數(shù)據(jù)存儲器寫選通信號輸出端,低電平有效)P3.7RD(外部數(shù)據(jù)存儲器讀選通信號輸出端,低電平有效

32、)RESET是芯片的第九腳,它的作用是復(fù)位信號輸入端,它是高電平有效。:PSEN是芯片的第二十九腳,它是程序存儲允許輸出信號端。ALE/PROG是芯片的的第三十腳,他表示的是地址鎖存允許信號端。EA/Vpp是芯片的第三十一腳,它表示的是外部的ROM地址允許輸入端/固化編程電壓輸入端。 C89C52RC芯片程序存儲器有三級硬件加密,能夠有效地保證系統(tǒng)不被仿制和軟件不被復(fù)制。工作模式:STC89C52RC它具有兩種工作的方式,其中的一種是空閑(等待、待機(jī))的工作方式,另外一種是掉電(停機(jī))的工作方式。空閑模式是由軟件來設(shè)置的,當(dāng)外圍器件仍然處于工作狀態(tài)時,CPU可根據(jù)工作情況適時地進(jìn)入睡眠狀態(tài),內(nèi)

33、部RAM和所有特殊的寄存器值將保持不變。這種狀態(tài)可被任何一個中斷所終止或通過硬件復(fù)位。掉電模式是VCC電壓低于電源下限,振蕩器停止振動,CPU停止執(zhí)行指令。該芯片內(nèi)RAM和特殊功能寄存器值保持不變,直到掉電模式被終止。只有VCC電壓恢復(fù)到正常工作范圍而且在振蕩器穩(wěn)定振蕩后,通過硬件復(fù)位掉電模式可被終止。4.2.2 單片機(jī)最小系統(tǒng)電路(1)時鐘電路圖4-4 時鐘電路(2)復(fù)位電路圖4-5 復(fù)位電路 4.3數(shù)據(jù)傳輸模塊接口電路設(shè)計4.3.1 USB概述USB它的全名是Universal Serial Bus,它是外設(shè)和我們自己的計算機(jī)連接的一種新的接口,它是具有通用性的串行總線接口。在它被推出來之

34、前,我們的外設(shè)要是想要和計算機(jī)進(jìn)行通信我們使用的是計算機(jī)本身給我們提供的接口,像ISA ,PCI等。但是它們總是有這樣那樣的缺點,給我們的使用帶來了很大的不便,為了給我們廣大的使用者解決擺在我們面前的尷尬,給我們一個舒適,便捷的使用環(huán)境,節(jié)約我們大家的時間,USB出現(xiàn)了,它是一種快速、雙向、同步、廉價、并支持熱插撥功能的串行接口。USB是近年來應(yīng)用在PC領(lǐng)域的新型接口技術(shù)是一些PC大廠商,如Microsoft、 Intel等為了解決日益增加的PC外設(shè)與有限的主板插槽和端口之間的矛盾而制定的一種串行通信的標(biāo)準(zhǔn)。自1995年在Comdex上亮相以來至今已廣泛地為各PC廠家所支持?,F(xiàn)在生產(chǎn)的PC幾乎

35、都配備了USB接口Microsoft的Windows98、 NT以及 MacOS、Linux、FreeBSD等流行操作系統(tǒng)都增加了對USB的支持。USB的主要優(yōu)點:(1)它具有使用方便,許熱插拔的優(yōu)點。(2)運行傳輸速度快。(3)連接靈活。(4)獨立供電。USB是一種新的接口,它要通信的話那么也應(yīng)該有它自己的通信標(biāo)準(zhǔn),那么我們接下來就來看看它的通信協(xié)議吧。對于我們來說USB系統(tǒng),就是把USB連接到電腦上,但是對于開發(fā)人員來說,USB系統(tǒng)可以分為三個層次:功能層、USB設(shè)備層、USB總線接口層,下面這個圖是它的分層通信機(jī)制。圖4-6 USB通信層次模型由圖,一個USB設(shè)備由三個功能模塊組成:US

36、B總線接口、USB邏輯設(shè)備、功能單元。USB總線接口是USB設(shè)備中的串行引擎(SIE);USB邏輯單元被看作是一個端點的集合;功能單元客戶軟件被看作接口的集合。USB傳輸類型包括批量傳輸、同步傳輸、中斷傳輸和控制傳輸,每種傳輸類型的傳輸速度、可靠性以及應(yīng)用范圍都不同??刂苽鬏斂煽啃允亲罡叩模俣茸盥?;同步傳輸速度快,滿足實時性,但可靠性低。在具體應(yīng)用中,端點傳輸類型可根據(jù)傳輸速度和可靠性選擇。在USB通信協(xié)議中,主機(jī)取得絕對主動權(quán)利,設(shè)備只能是“聽命令行事”,通過一定的命令格式(設(shè)備請求)完成通信。USB設(shè)備請求包括標(biāo)準(zhǔn)請求、廠商請求和設(shè)備類請求。設(shè)備的枚舉是標(biāo)準(zhǔn)請求命令完成的;廠商請求是用

37、戶定義的請求;設(shè)備類請求是特定的USB設(shè)備類發(fā)出的請求,例如海量儲存類、打印機(jī)類和HID(人機(jī)接口)類。固件編程中設(shè)備請求必須遵循一定的格式,包括請求類型、設(shè)備請求、值、索引和長度。4.3.2 USB主芯片選擇現(xiàn)在很多公司生產(chǎn)USB,我們目前是用的USB控制器分為兩類,一種是MCU集成在芯片內(nèi)部,像,等。另一種就是純粹的接口芯片像,等。前一種芯片成本比較高,所以在我們這個設(shè)計中我們使用的是。4.3.3 PDIUSBD12芯片(1)芯片特點和內(nèi)部結(jié)構(gòu)我們在這一部分所要用到的器件是PDIUSBD12,我將其簡稱為D-12,D-12這款USB器件具有性能優(yōu)化的特點,它經(jīng)常被運用在微型的控制器的并行接

38、口通信的場合,具有良好的DMA傳輸。我們通常將其進(jìn)行模塊化處理,能夠使我們的USB接口選擇最適合的微型控制器,能夠大大的降低我們的固件成本降低,也大大的減少了我們的開發(fā)時間、降低了風(fēng)險,減少了我們的開發(fā)的成本。從而為我們開發(fā)效率,高速度的USB外圍設(shè)備提出了寶貴的意見。D-12百分之百的符合USB2.0規(guī)范,能夠滿足大部分的設(shè)備的設(shè)計,像打印,通信,存儲這方面的設(shè)備。所以, D-12可以很好地運用在外設(shè)上,像我們?nèi)粘S玫南鄼C(jī),打印機(jī)等。它的掛起時的低功耗滿足電源管理設(shè)備和ACPI onNOW的要求,同樣的道理,lazyclock輸出也滿足。D-12還集成了像SoftConnect GoodLi

39、nk可編程時鐘輸出、終端電阻等特性,它大大的降低了成本,使得USB的功能得到了豐富,發(fā)展。主要特性:符合USB1.1協(xié)議規(guī)范適應(yīng)大多數(shù)設(shè)備類規(guī)范的設(shè)計完全自動 DMA操作集成了320B的多配置FIFO存儲器在掛起時有可控制的LazyClock輸出可通過軟件控制USB總線連接SoftConnect在USB傳輸時有閃亮的USB連接指示燈GoodLink時鐘頻率輸出可編程內(nèi)部上電復(fù)位和低電壓復(fù)位電路有SO18和TSSOP28封裝能在-40+85°C工業(yè)級工作雙電壓工作(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ā)器直接通過終端電阻與USB電纜接口電壓調(diào)整器,片上集成的1個3.3 V電壓調(diào)整器為模擬收發(fā)器供電,也提供連接到外部1.5k上拉電阻的輸出電壓。作為選擇PDIUSBD12提供集成1.5k上拉電阻的SoftConnect技術(shù)PLL,片上集成1個648MHz的倍頻PLL(鎖相環(huán))。允許使用6 MHz的晶振。EMI也由于使用低頻晶振而減小,PLL的工作不需要外部器件。位時鐘恢復(fù),位時鐘恢復(fù)電路用4倍過采樣原理從輸入的USB數(shù)據(jù)流中恢復(fù)時鐘,能跟蹤USB規(guī)范中指出的信號抖動和頻率漂移SoftConnect,高速設(shè)備與USB的連接是靠把D+通過1個1.5k的上拉電阻接到高電

41、平來建立的。在PDIUSBD12中,這個上拉電阻是集成在芯片內(nèi)的,缺省是沒有連接到VDD,這個連接是靠外部MCU發(fā)一個命令來建立的,這使得系統(tǒng)微處理器可以在決定建立USB連接之前完成初始化 重新初始化USB總線連接也可以不用拔掉電纜來完成。 GoodLink是靠一個引腳接發(fā)光二極管實現(xiàn)的,在USB設(shè)備枚舉時LED指示燈將立即閃亮,當(dāng)PDIUSBD12被成功枚舉并配置時,LED指示燈將會始終亮,經(jīng)過PDIUSBD12的USB數(shù)據(jù)傳輸過程中,LED將一閃一閃,傳輸成功后LED熄滅。在掛起期間,LED熄滅,這種特性可以使我們知道PDIUSBD12的狀態(tài),方便電路調(diào)試。存儲器管理單元,MMU和集成RA

42、M。MMU和集成RAM能緩沖USB(工作在12Mb/s) 數(shù)據(jù)傳輸和微控制器之間并行接口之間的速度差異,這允許微控制器以自己的速度讀寫USB包。并行和DMA接口,并行接口容易使用,速度快并且能直接與主微控制器接口。對于微控制器,PDIUSBD12可以看成是一個有8位數(shù)據(jù)總線和1位地址線的存儲設(shè)備,PDIUSBD12支持多路復(fù)用和非多路復(fù)用的地址和數(shù)據(jù)總線,在主端點(端點2)和局部共享存儲器之間也可使用DMA(直接存儲器存取)傳輸,它支持單周期模式和塊傳送模式兩種DMA傳輸。(2)芯片引腳說明圖4-13 PDIUSBD12的引腳圖表4-5 引腳說明圖4-8 PDIUSBD12引腳分布表4-2 引

43、腳說明引腳號符號說 明1469DATA<0>DATA<7>8位雙向數(shù)據(jù)5GND地10ALE地址鎖存允許,在多路復(fù)用地址/數(shù)據(jù)總線時,ALE 下降沿用于鎖存地址信息,獨立地址/數(shù)據(jù)總線時,將ALE永久接地11CS_N片選,低電平有效12SUSPEND芯片進(jìn)入掛起狀態(tài)13CLKOUT可編程時鐘輸出14INT_N中斷輸出 低電平有效15RD_N 讀選通 低電平有效16WR_N 寫選通 低電平有效17DMREQ DMA請求18DMACK_N DMA響應(yīng) 低電平有效19EOT_N DMA傳輸結(jié)束,低電平有效 ,另一個功能是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兩個引腳上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ù)總線配置時,這一位將不考慮,應(yīng)接高電平(3)芯片與STC89C52RC的連接圖4-9 數(shù)據(jù)手冊推薦的連接圖圖4-10 本設(shè)計采用的連接圖將8根DATA引腳與STC

45、89C52RC的P0口相連。因為P0口沒有內(nèi)置的電阻,我們需要加上拉電阻。接了上拉電阻后,DATA口為0時電流不能超過2mA。這里使用的是5V的電源,當(dāng)電流為2mA時,電阻為2.5k。因此選擇上拉電阻大于2.5k就可以了。本設(shè)計選擇了10k的電阻。由于使用獨立地址線A0,所以不需要使用ALE引腳,直接將ALE接地,CS_N直接接地。SUSPEND引腳我們直接把它連接到低電平即可。CLKOUT引腳我們沒有使用,懸空就行了。INT_N是中斷請求信號,漏極開路輸出的,需要外接上拉電阻。把它接到單片機(jī)的INT0上,既可以軟件查詢,也可以使用中斷。由于STC89C52RC的INT0內(nèi)部有上拉電阻,所以不

46、用外接。RD_N接到單片機(jī)的RD, WR_N接到單片機(jī)的 WR。DMREQ是DMA中斷請求信號,這里沒有使用DMA功能,所以該引腳懸空即可。DMACK_N和EOT_N直接用1k的上拉電阻將其置為高電平。EOT_N我們把它接高電平讓我們的芯片進(jìn)入工作狀態(tài)。RESET_N表示復(fù)位,D-12芯片內(nèi)部有復(fù)位電路,我們給它一個1K的電阻,拉高就行了。GL_N是芯片工作的指示燈。當(dāng)芯片處于活動狀態(tài)時,GL_N輸出低電平。我們通常給它接一個二極管,我們可以知道芯片的工作情況和USB數(shù)據(jù)傳輸情況,發(fā)光二極管經(jīng)1k限流電阻連接到電源。XTAL1和XTAL2接6MHz晶體,外接兩個22pF左右的起振電容到地。D+

47、和D-是USB差分?jǐn)?shù)據(jù)線。- 18 -第五章 系統(tǒng)軟件設(shè)計第五章 系統(tǒng)軟件設(shè)計本系統(tǒng)進(jìn)行軟件設(shè)計包括下位機(jī)軟件設(shè)計和上位機(jī)軟件設(shè)計,下位機(jī)軟件設(shè)計我們可以使用的語言有很多,像匯編,C語言等。上位機(jī)設(shè)計,在這里選擇Visual C+來編寫上位機(jī)程序。至于下位機(jī)程序,因為C語言較匯編語言編寫起來要簡單,可讀性強(qiáng),易于移植。因此下位機(jī)程序我們使用C語言。下面簡單介紹本次軟件設(shè)計的編程工具。5.1軟件設(shè)計開發(fā)工具在軟件設(shè)計開發(fā)這方面我們使用了KEIL C51和visual C+這兩款軟件。Keil C51這款軟件它兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),如果我們將它和匯編作比較的話,那么C語言在功能上

48、、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。 而且這款軟件具有它自己的特點,如豐富的庫函數(shù),功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面,生成目標(biāo)代碼效率很高,在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。Microsoft VisualC+是Microsoft公司推出的開發(fā)Win32環(huán)境程序,面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。它有很多的優(yōu)點像程序框架自動生成、靈活方便的類管理、代碼編寫和界面設(shè)計集成交互操作、可開發(fā)多種程序等優(yōu)點,在這我們就不一一列舉了。所以我們把VisualC+作為上位機(jī)軟件設(shè)計的開發(fā)工具。5.2軟件設(shè)計數(shù)據(jù)要傳輸,必須由上位機(jī)對下位機(jī)發(fā)出命令,單片機(jī)根據(jù)接

49、收到的命令,然后做出回應(yīng),接下來把所得的結(jié)果送給上位機(jī),我們的上位機(jī)再把我們得到的數(shù)據(jù)在圖上顯示出來。下面是這個過程的流程圖:圖5-1 系統(tǒng)整體程序流程圖5.2.1下位機(jī)的軟件設(shè)計下位機(jī)的程序流程圖中包括單片機(jī)和ADXL345的通信流程圖,單片機(jī)和USB設(shè)備通信流程圖。系統(tǒng)初始化檢測復(fù)位標(biāo)志 有復(fù)位標(biāo)志 無復(fù)位標(biāo)志錯誤處理系統(tǒng)自檢 錯誤主循環(huán)發(fā)送創(chuàng)建文件命令讀取并存儲數(shù)據(jù)等待響應(yīng) 無響應(yīng) 圖5-2 ADXL345和單片機(jī)的通信流程圖那么下面我們介紹一下單片機(jī)和USB設(shè)備芯片的通信,它由三部分組成:第一,初始化單片機(jī)和所有的外圍電路包括PDIUSBD12;第二,主循環(huán)部分,其任務(wù)是可以中斷的;第

50、三,中斷服務(wù)程序,其任務(wù)是對時間敏感的,必須馬上執(zhí)行。單片機(jī)與PDIUSBD12的通信主要是靠單片機(jī)給PDIUSBD12發(fā)命令和數(shù)據(jù)來實現(xiàn)的,PDIUSBD12的命令字分為三種:初始化命令字、數(shù)據(jù)流命令字和通用命令字。PDIUSBD12給出了各種命令的代碼和地址。單片機(jī)先給 PDIUSBD12的命令地址發(fā)命令。根據(jù)不同命令的要求再發(fā)送或讀出不同的數(shù)據(jù)。因此,可以將每種命令做成函數(shù),用函數(shù)實現(xiàn)各個命令,以后直接調(diào)用函數(shù)即可。當(dāng)我們編程時需要注意那些呢?(1)單片機(jī)的中斷應(yīng)設(shè)置為電平觸發(fā),中斷后一定要讀上次傳輸狀態(tài)寄存器 命令40-45H ,以清除中斷寄存器中的中斷標(biāo)志,這樣PDIUSBD12的中

51、斷輸出才能變回高電平,這一點非常重要。(2)在接收到Setup包后,一定要調(diào)用ACK setup命令重新使能端口0。(3)在向IN端點寫完數(shù)據(jù)后,一定調(diào)用ValidateBuffer(命令FAH)指明緩沖區(qū)中的數(shù)據(jù)有效可以發(fā)送到主機(jī)。(4)當(dāng)讀完數(shù)據(jù)后,一定調(diào)用Clear Buffer(命令 F2H),以保證可以接收新的包。(5)可以通過調(diào)用Read Chip ID(命令FDH)檢查PDIUSBD12是否工作。該命令要讀兩個字節(jié)數(shù)據(jù)。USB初始化過程為: Set Address Enable Set Endpoint Enable(此時LED亮) Disconnect delay(12s) C

52、onnect(即用43h參數(shù)調(diào)用Set Mode此時LED滅)(6)Read Interrupt Register完成初始化工作后,就可作其它的前臺工作了,并在前臺判斷是否有Setup包(通過一個變量,當(dāng)中斷服務(wù)程序檢測到有Setup包時,設(shè)置該變量)。然后執(zhí)行響應(yīng)的控制傳輸。在調(diào)試USB單片機(jī)程序時,還要特別注意Windows對USB設(shè)備的枚舉順序:(1)GetDeviceDescriptor。主機(jī)主要對Length域感興趣,發(fā)送內(nèi)容一定要正確,特別是第2字節(jié)type一定為0x01,即Device,否則,主機(jī)將不響應(yīng)或者再重復(fù)2次后放棄??蓹z查一下對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ù)描述符的大小決定(端點個數(shù)不同描述符大小不同),如果不正確,主機(jī)將不響應(yīng)或再重復(fù)2次后放棄。如果以上步驟都正確,主機(jī)將找

54、到新設(shè)備提示安裝驅(qū)動程序,否則找到未知設(shè)備不可用。安裝驅(qū)動程序后,以后的每次PlugIn,枚舉次序與以上步驟略有不同,之后會有SetConfiguration、GetConfiguration和GetInterface等調(diào)用。5.2.2 上位機(jī)軟件設(shè)計針對這一塊,我們都知道我們在編寫應(yīng)用軟件前,一定要了解Visual C+動態(tài)連接庫的使用,這是值得我們注意的方面。圖5-3 上位機(jī)的程序流程圖上位機(jī)最難部分就是識別USB設(shè)備,而上位機(jī)的操作界面的設(shè)計編程卻不是那么困難,只需要將下位機(jī)采集的數(shù)據(jù)進(jìn)行某些運算處理,然后調(diào)用顯示子程序就可以實現(xiàn)了,這里還需要顯示走勢曲線,這就要求有坐標(biāo)圖像處理。- 23 -第六章 系統(tǒng)調(diào)試第六章 系統(tǒng)調(diào)試前面我們介紹了也了解了整個設(shè)計,我們需要根據(jù)我們的理論設(shè)計,將它做出來,在很多時候,理論上行的通,在實際中不一定有用,那么,這就需要我們一步步的調(diào)試了,從而做到理論與實踐相結(jié)合。6.1 硬件調(diào)試當(dāng)我們進(jìn)行硬件調(diào)試時,我們需要注意一下這幾點(1) 由于PDIUSBD12的數(shù)據(jù)口是與STC89C52RC的P0口相連接的,當(dāng)P0口作為I/O口時, 必須要接上拉電阻,這里上拉電阻為10k。 (2)晶振問題,由于單片機(jī)和USB芯片都要用到晶振,但是兩者使用的頻率不一樣,單片機(jī)為22.1184MHz,

溫馨提示

  • 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

提交評論