畢業(yè)設(shè)計----多路數(shù)據(jù)采集系統(tǒng)的模塊化設(shè)計_第1頁
已閱讀1頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目錄</b></p><p><b>  摘要1</b></p><p>  TAN Zhongxian2</p><p>  Abstract2</p><p><b>  0 文獻綜述3</b></p><p>

2、  2數(shù)據(jù)采集的組成結(jié)構(gòu)5</p><p>  2.1 集中采集式(集中式)6</p><p>  2.2 分散集中式(分散式)7</p><p>  3 數(shù)據(jù)采集電路設(shè)計8</p><p>  3.1 基于A/D轉(zhuǎn)換電路設(shè)計8</p><p>  3.2 基于單片機轉(zhuǎn)換電路設(shè)計10</p>

3、<p>  3.3 單片機數(shù)據(jù)采集程序設(shè)計13</p><p>  4 數(shù)據(jù)采集總線設(shè)計14</p><p>  4.1 CAN總線14</p><p>  4.1.1 CAN總線簡介及其特點14</p><p>  4.1.2 CAN總線通信介質(zhì)訪問控制方式15</p><p>  4.1.3 應(yīng)

4、用技術(shù)17</p><p>  4.1.4 目前應(yīng)用狀況及其前景20</p><p>  4.2 R-S48520</p><p>  5 上位機數(shù)據(jù)處理程序設(shè)計25</p><p>  5.1 VB程序設(shè)計25</p><p>  5.2 Matlab程序設(shè)計28</p><p>

5、<b>  6 結(jié)論34</b></p><p><b>  參考文獻35</b></p><p><b>  致謝36</b></p><p>  多路數(shù)據(jù)采集系統(tǒng)的模塊化設(shè)計</p><p>  摘要:目前,數(shù)據(jù)采集系統(tǒng)廣泛應(yīng)用在科研、教育、工業(yè)、水利等眾多領(lǐng)域。本系

6、統(tǒng)采用單片機作為核心處理器,完成對一路模擬信號的數(shù)據(jù)采集,將采集后的數(shù)據(jù)暫存在片內(nèi)存儲器中,傳輸?shù)接嬎銠C顯示。ADuC848有豐富的片內(nèi)外設(shè),用它作為處理器進行電路設(shè)計,可以使電路結(jié)構(gòu)設(shè)計簡單,成本低,開發(fā)周期相對短。文中介紹了系統(tǒng)實現(xiàn)的具體方案,包括硬件接口的設(shè)計和各模塊的軟件設(shè)計。數(shù)據(jù)采集部分,采用ADuC848內(nèi)部自帶的AD轉(zhuǎn)換模塊。文中給出了具體的軟件實現(xiàn)過程。一般來說,實際場合輸入為雙極性信號,因此需要在送入模數(shù)轉(zhuǎn)換器前轉(zhuǎn)換為

7、單極性信號,文中介紹了雙極性信號轉(zhuǎn)為單極性信號的電路。數(shù)據(jù)傳輸是基于RS4-85總線和CAN總線完成。</p><p>  關(guān)鍵詞:RS-485總線,ADuC848,AD7654,CAN總線</p><p>  Many Method According to Collect the Mold Piece of System to Turn a Design</p><

8、p>  Abstract: Currently, the data acquisition system is widely used in scientific research, education, industry, water conservancy, etc. This system USES the monolithic processor as the core to finish all the analog s

9、ignals, the data acquisition, data collection after in internal memory chips, transmission to the computer display. ADuC848 have rich chips, and used it as a processor for circuit design, can make the circuit structure,

10、low cost, simple design relatively short development cycle. This pa</p><p>  Keywords: RS-485bus,ADuC848,AD7654,CAN bus</p><p><b>  0 文獻綜述</b></p><p>  數(shù)據(jù)采集系統(tǒng)用于將模擬信號轉(zhuǎn)換為計

11、算機可以識別的數(shù)字信號。該系統(tǒng)目的是便于對某些物理量進行監(jiān)視。數(shù)據(jù)采集系統(tǒng)的好壞取決于他的精度和速度。應(yīng)在保證精度的情況下盡可能的提高速度以滿足實時采樣、實時處理、實時控制的要求。在科學(xué)研究中應(yīng)用該系統(tǒng)可以獲得大量動態(tài);是研究瞬間物理過程的重要手段;亦是獲取科學(xué)奧秘的重要手段之一。本文采用新穎的方法完成設(shè)計,用到的集成芯片主要有單片機、傳感器、串口通訊等。單片機主要作用是對四路數(shù)據(jù)信號進行選擇采集,并將其處理,再送至主控制器(單片機);

12、采集完畢后,再由主控制器由串行輸入端,輸送到PC機,由PC機控制各系統(tǒng)。</p><p>  一般短距離串口傳輸時只需用RS-232連接就可。在要求通信距離為幾十米到上千米時,廣泛采用RS-485收發(fā)器。RS-485收發(fā)器采用平衡發(fā)送和差分接收,因此具有抑制共模干擾的能力,加上接收器具有高的靈敏度,能檢測低達200mV的電壓,故傳輸信號能在千米以外得到恢復(fù)。使用RS-485總線,一對雙絞線就能實現(xiàn)多站聯(lián)網(wǎng),構(gòu)成分

13、布式系統(tǒng),設(shè)備簡單、價格低廉、能進行長距離通信的優(yōu)點使其得到了廣泛的應(yīng)用 。</p><p>  本文采用的數(shù)據(jù)采集是ADuC848芯片,它可進行模數(shù)轉(zhuǎn)換。ADuC848是美國ADI公司最新推出的一款具有軍品標準,單片最多可帶8路模擬信號輸入轉(zhuǎn)換通道,擴展主機/從機模式最多可達16路模擬輸入通道的微控制器</p><p>  模擬信號采用的是AD7654芯片,可通過傳感器模擬輸入芯片,AD

14、7654是ADI公司推出的一種低功耗、四通道、電荷再分布式高速A/D轉(zhuǎn)換器。串行A/D轉(zhuǎn)換的速率很高。并且具有體積小、功耗低、占用單片機口線少的優(yōu)點。</p><p><b>  1 引言</b></p><p><b>  多路數(shù)據(jù)采集概述</b></p><p>  數(shù)據(jù)采集系統(tǒng)的任務(wù)就是采集傳感器輸出的模擬信號并轉(zhuǎn)換

15、成計算機能識別的數(shù)據(jù)信號,然后送入計算機進行相應(yīng)的計算和處理,得出所需的數(shù)據(jù)。并計算得到的數(shù)據(jù)經(jīng)行顯示或打印,以便實現(xiàn)對某些物理量的實時控制。在生產(chǎn)生活的各個領(lǐng)域,數(shù)據(jù)采集系統(tǒng)幾乎無處不在,凡是有自動檢測及控制的地方都會有數(shù)據(jù)集采機系統(tǒng)的身影出現(xiàn);從簡單到復(fù)雜,從空中,地面到地下,凡是能想象到的地方都有使用數(shù)據(jù)采集系統(tǒng)的需求。因此,對本課題的研究有極其廣闊的發(fā)展前景和巨大的經(jīng)濟價值。</p><p>  數(shù)據(jù)采集

16、系統(tǒng)的發(fā)展起始于20世紀50年代,1956年美國首先研究了用在軍事上的數(shù)字采集系統(tǒng)。20世紀70年代中后期,隨著微型機的發(fā)展,誕生了采集器,儀表同計算機溶為一體的數(shù)據(jù)采集系統(tǒng)。由于這種數(shù)據(jù)采集系統(tǒng)的性能優(yōu)良,超過了傳統(tǒng)的自動檢測儀表和 專用數(shù)據(jù)采集系統(tǒng),因此獲得了驚人的發(fā)展。到了80年代隨著計算機的普及應(yīng)用,數(shù)據(jù)采集系統(tǒng)的到了極大的發(fā)展,開始出現(xiàn)了通用的數(shù)據(jù)采集與自動測試系統(tǒng)。該階段的數(shù)據(jù)采集系統(tǒng)主要有兩類,一類以儀器儀表和采集器,通用

17、接口總線和計算機等構(gòu)成。第二類以數(shù)據(jù)采集卡,標準總線和計算機構(gòu)成。及至90年代至今,在國際上技術(shù)先進的國家,數(shù)據(jù)采集技術(shù)已經(jīng)在軍事,航空電子設(shè)備及宇航技術(shù),工業(yè)等領(lǐng)域被廣泛應(yīng)用。</p><p>  隨著計算機技術(shù)的飛速發(fā)展和普及,數(shù)據(jù)采集系統(tǒng)在多個領(lǐng)域有著廣泛的應(yīng)用。數(shù)據(jù)采集是工、農(nóng)業(yè)控制系統(tǒng)中至關(guān)重要的一環(huán),在醫(yī)藥、化工、食品、等領(lǐng)域的生產(chǎn)過程中,往往需要隨時檢測各生產(chǎn)環(huán)節(jié)的溫度、濕度、流量及壓力等參數(shù)。同時

18、,還要對某一檢測點任意參數(shù)能夠進行隨機查尋,將其在某一時間段內(nèi)檢測得到的數(shù)據(jù)經(jīng)過轉(zhuǎn)換提取出來,以便進行比較,做出決策,調(diào)整控制方案,提高產(chǎn)品的合格率,產(chǎn)生良好的經(jīng)濟效益。</p><p>  隨著工、農(nóng)業(yè)的發(fā)展,多路數(shù)據(jù)采集勢必將得到越來越多的應(yīng)用,為適應(yīng)這一趨勢,作這方面的研究就顯得十分重要。在科學(xué)研究中,運用數(shù)據(jù)采集系統(tǒng)可獲得大量的動態(tài)信息,也是獲取科學(xué)數(shù)據(jù)和生成知識的重要手段之一??傊徽撛谀膫€應(yīng)用領(lǐng)域中

19、,數(shù)據(jù)采集與處理將直接影響工作效率和所取得的經(jīng)濟效益。</p><p>  此外,計算機的發(fā)展對通信起了巨大的推動作用.計算機和通信緊密結(jié)合構(gòu)成了靈活多樣的通信控制系統(tǒng),也可以構(gòu)成強有力的信息處理系統(tǒng),這樣對社會的發(fā)展產(chǎn)生了深遠的影響。數(shù)據(jù)通信是計算機廣泛應(yīng)用的必然產(chǎn)物。</p><p>  數(shù)據(jù)采集系統(tǒng),從嚴格的意義上來說,應(yīng)該是用計算機控制的多路數(shù)據(jù)自動檢測或巡回檢測,并且能夠?qū)?shù)據(jù)實

20、行存儲、處理、分析計算以及從檢測的數(shù)據(jù)中提取可用的信息,供顯示、記錄、打印或描繪的系統(tǒng)。</p><p>  數(shù)據(jù)采集系統(tǒng)一般由數(shù)據(jù)輸入通道,數(shù)據(jù)存儲與管理,數(shù)據(jù)處理,數(shù)據(jù)輸出及顯示這五個部分組成。輸入通道要實現(xiàn)對被測對象的檢測,采樣和信號轉(zhuǎn)換等工作。數(shù)據(jù)存儲與管理要用存儲器把采集到的數(shù)據(jù)存儲起來,建立相應(yīng)的數(shù)據(jù)庫,并進行管理和調(diào)用。數(shù)據(jù)處理就是從采集到的原始數(shù)據(jù)中,刪除有關(guān)干擾噪聲,無關(guān)信息和必要的信息,提取出

21、反映被測對象特征的重要信息。另外,就是對數(shù)據(jù)進行統(tǒng)計分析,以便于檢索;或者把數(shù)據(jù)恢復(fù)成原來物理量的形式,以可輸出的形態(tài)在輸出設(shè)備上輸出,例如打印,顯示,繪圖等。數(shù)據(jù)輸出及顯示就是把數(shù)據(jù)以適當(dāng)?shù)男问竭M行輸出和顯示。</p><p>  由于RS-232在微機通信接口中廣泛采用,技術(shù)已相當(dāng)成熟。在近端與遠端通信過程中,采用串行RS-232標準,實現(xiàn)PC機與單片機間的數(shù)據(jù)傳輸。在本畢業(yè)設(shè)計中對多路數(shù)據(jù)采集系統(tǒng)作了基本的

22、研究。本系統(tǒng)主要解決的是怎樣進行數(shù)據(jù)采集以及怎樣進行多路的數(shù)據(jù)采集,并將數(shù)據(jù)上傳至計算機。</p><p>  2數(shù)據(jù)采集的組成結(jié)構(gòu)</p><p>  一般說來,數(shù)據(jù)采集系統(tǒng)由傳感器、信號調(diào)理電路、數(shù)據(jù)采集電路三部分組成,如圖1 所示。 </p><p>  圖1 數(shù)據(jù)采集系統(tǒng)的基本組成</p><p>  Fig.1 Data acq

23、uisition system of basic composition</p><p>  實際的數(shù)據(jù)采集系統(tǒng)往往需要同時測量多種物理量(多參數(shù)測量)或同一種物理量的多個測量點(多點巡回測量)。因此,多路模擬輸人通道更具有普遍性。按照系統(tǒng)中數(shù)據(jù)采集電路是各路共用一個還是每路各用一個,多路模擬輸人通道可分為集中采集式(簡稱集中式)和分散采集式(簡稱分布式)兩大類型。 </p><p>  

24、2.1 集中采集式(集中式)</p><p>  集中采集式多路模擬輸人通道的典型結(jié)構(gòu)有分時采集型和同步采集型兩種,分別如圖2(a) 和 (b) 所示。 </p><p>  (a) 多路分時采集分時輸入結(jié)構(gòu)</p><p> ?。╞) 多路同步采集分時輸入結(jié)構(gòu)</p><p>  圖2 集中式數(shù)據(jù)采集系統(tǒng)的典型結(jié)構(gòu)</p>&

25、lt;p>  Fig.2 Centralized data acquisition system of typical structure</p><p>  2.2 分散集中式(分散式)</p><p>  分散采集式的特點是每一路信號一般都有一個 S/H 和 A/D ,因而也不再需要模擬多路切換器 MUX 。每一個 S/H 和 A/D 只對本路模擬信號進行數(shù)字轉(zhuǎn)換即數(shù)據(jù)采集,采

26、集的數(shù)據(jù)按一定順序或隨機地輸人計算機,根據(jù)采集系統(tǒng)中計算機控制結(jié)構(gòu)的差異可以分為單機采集系統(tǒng)和網(wǎng)絡(luò)式采集系統(tǒng),如圖3(a) 和 (b) 所示。 </p><p>  (a) 分布式單機數(shù)據(jù)采集結(jié)構(gòu)</p><p>  (b) 網(wǎng)絡(luò)式數(shù)據(jù)采集結(jié)構(gòu)</p><p>  圖3 分布式數(shù)據(jù)采集系統(tǒng)的典型結(jié)構(gòu)</p><p>  Fig.3 Dist

27、ributed data acquisition system of typical structure</p><p>  3 數(shù)據(jù)采集電路設(shè)計</p><p>  3.1 基于A/D轉(zhuǎn)換電路設(shè)計</p><p>  模/數(shù)轉(zhuǎn)換是現(xiàn)代測控電路中非常重要的環(huán)節(jié),它有并行和串行兩種數(shù)據(jù)輸出形式。目前,模/數(shù)轉(zhuǎn)換器ADC已被做成大規(guī)模集成電路,并有多種型號和種類可供選擇

28、。本文介紹了AD7654的性能特點,并設(shè)計了AD7654與單片機ADuC848的接口電路,同時給出了軟件流程和相應(yīng)的匯編源程序。 </p><p>  1 AD7654的性能特點和工作原理</p><p>  AD7654是ADI公司推出的一種低功耗、四通道、電荷再分布式高速A/D轉(zhuǎn)換器,該A/D轉(zhuǎn)換器的主要特點是:16位分辨率且無漏失碼;O V~5 V模擬輸入范圍;SPI/QSPI/Mi

29、crowire/DSP兼容;兩個允許同步采樣的低噪音、高帶寬跟蹤/保持放大器;功耗典型值為120 mW;可提供串行和并行兩種輸出接口,給予用戶靈活的選擇。串行A/D轉(zhuǎn)換的速率很高,并且具有體積小、功耗低、占用單片機口線少的優(yōu)點,文中采用串行模式設(shè)計電路,有關(guān)引腳說明如下:</p><p>  A0:轉(zhuǎn)換通道選擇;</p><p>  A/B:高電平時,先輸出A通道轉(zhuǎn)換數(shù)據(jù)再輸出B通道轉(zhuǎn)換數(shù)

30、據(jù),低電平反之;</p><p>  SER/PAR:串行/并行模式選擇。低電平為并行模式,高電平為串行模式;</p><p>  EXT/INT:高電平時選擇外部時鐘,低電平時選擇內(nèi)部時鐘;</p><p>  SDOUT:轉(zhuǎn)換數(shù)據(jù)輸出位;</p><p>  SCLK:串行數(shù)據(jù)時鐘輸入或輸出(取決于EXT/INT的邏輯狀態(tài));</p

31、><p>  CNVST:開始轉(zhuǎn)換。CNVST的下降沿使內(nèi)部采樣保持進入保持狀態(tài)并開始轉(zhuǎn)換;</p><p>  BUSY:正在轉(zhuǎn)換標志;</p><p>  EOC:轉(zhuǎn)換結(jié)束標志。</p><p>  AD7654的轉(zhuǎn)換過程由CNVST下降沿啟動,轉(zhuǎn)換啟動與CS和RD信號狀態(tài)無關(guān),A0引腳控制轉(zhuǎn)換通道的選擇。在轉(zhuǎn)換結(jié)束之前,即使掉電轉(zhuǎn)換也不會重

32、新開始或終止。轉(zhuǎn)換進行過程中,BUSY變?yōu)楦唠娖?,EOC也為高電平,EOC在每一個通道轉(zhuǎn)換結(jié)束后變?yōu)榈碗娖?,而BUSY線在兩個通道轉(zhuǎn)換全部結(jié)束后才變?yōu)榈碗娖?,轉(zhuǎn)換的32位數(shù)據(jù)可以從SDOUT上讀出。轉(zhuǎn)換時序圖如圖4所示。AD7654有串行和并行兩種接口方式,每種接口方式又有主從兩種模式,本文介紹其串行接口下從模式的硬件和軟件設(shè)計。</p><p>  圖4 基本轉(zhuǎn)換時序圖</p><p>

33、  Fig.4 basic conversion timing diagram</p><p>  在本系統(tǒng)中,單片機選用ADI的ADuC848,具體的接口電路如圖2所示。筆者設(shè)計AD7654工作在串行從模式下,因此其數(shù)據(jù)的轉(zhuǎn)換和讀取都需要微處理器ADuC848的控制,所需的高精度2.5 V基準電壓由AD780提供,AD7654上所有的電源和地之間都需連接去耦電容器。因為ADuC848的P1口只能作為輸入口,而

34、P0口被USB接口器件占用,所以AD7654的控制引腳只能連接到單片機P2和P3口上的部分端口。在實驗電路中,AD7654的SER/PAR和EXT/INT引腳直接由硬件置高電平,INVS-CLK由硬件置低電平,使ADC以串口方式工作,同時使數(shù)據(jù)輸出由外部時鐘控制。由于AD7654是兩個通道同時采樣,所以需要給A/B置位以控制數(shù)據(jù)的輸出順序。ADuC848的P2.5引腳接至AD7654的CNVST,這樣只需要通過單片機ADuC848控制使

35、P2.5產(chǎn)生一個寬度大于5 ns的負脈沖,該負脈沖的下降沿就可以啟動ADC開始轉(zhuǎn)換,轉(zhuǎn)換的時間約為2μs。當(dāng)轉(zhuǎn)換結(jié)束時,BUSY引腳上的信號就會變成低電平,從而通知單片機可以開始讀取轉(zhuǎn)換的數(shù)據(jù),由于實際AD7654轉(zhuǎn)換速度很快,因此BUSY線可以</p><p>  圖5 AD7654與單片機的接口電路</p><p>  Fig.5 AD7654 and MCU interface

36、circuit</p><p>  3.2 基于單片機轉(zhuǎn)換電路設(shè)計</p><p>  在本系統(tǒng)中,單片機選用ADI的AduC848,具體的接口電路如圖6所示。筆者設(shè)計AD7654工作在串行從模式下,因此其數(shù)據(jù)的轉(zhuǎn)換和讀取都需要微處理器AduC848的控制,所需的高精度2.5 V基準電壓由AD780提供,AD7654上所有的電源和地之間都需連接去耦電容器。因為AduC848的P1口只能作為

37、輸入口,而P0口被USB接口器件占用,所以AD7654的控制引腳只能連接到單片機P2和P3口上的部分端口。</p><p>  在實驗電路中,AD7654的SER/PAR和EXT/INT引腳直接由硬件置高電平,INVS-CLK由硬件置低電平,使ADC以串口方式工作,同時使數(shù)據(jù)輸出由外部時鐘控制。由于AD7654是兩個通道同時采樣,所以需要給A/B置位以控制數(shù)據(jù)的輸出順序。AduC848的P2.5引腳接至AD765

38、4的CNVST,這樣只需要通過單片機AduC848控制使P2.5產(chǎn)生一個寬度大于5 ns的負脈沖,該負脈沖的下降沿就可以啟動ADC開始轉(zhuǎn)換,轉(zhuǎn)換的時間約為2μs。當(dāng)轉(zhuǎn)換結(jié)束時,BUSY引腳上的信號就會變成低電平,從而通知單片機可以開始讀取轉(zhuǎn)換的數(shù)據(jù),由于實際AD7654轉(zhuǎn)換速度很快,因此BUSY線可以不用,啟動轉(zhuǎn)換后可以直接讀取數(shù)據(jù)。</p><p>  在單片機讀取數(shù)據(jù)前,需要通過P2.6和P3.4口給讀選通R

39、D和片選CS置零,以使SDOUT上的數(shù)據(jù)有效,然后單片機通過P2.0(SCLK)引腳向AD7654發(fā)送8個時鐘脈沖,與此同時單片機就可以通過P2.2口從SDOUT上讀取8位轉(zhuǎn)換的數(shù)據(jù)。串行從模式下讀數(shù)據(jù)時序圖如圖7所示。</p><p>  圖 6 AD7654與單片機的接口電路</p><p>  Fig.6 AD7654 and MCU interface circuit</p

40、><p>  圖7 串口從模式讀數(shù)據(jù)時序圖</p><p>  Fig.7 Serial data from reading sequence chart pattern</p><p>  該系統(tǒng)中微處理器ADuC848與A/D轉(zhuǎn)換器AD7654之間的數(shù)據(jù)傳送采用SPI(串行外設(shè)接口)方式。SCLOCK是主機的時鐘線,為MISO數(shù)據(jù)的發(fā)送和接收提供同步時鐘信號。每

41、一位數(shù)據(jù)的傳輸都需要1次時鐘作用,因而發(fā)送或接收1個字節(jié)的數(shù)據(jù)需要8個時鐘的作用。SPI有2個相關(guān)的寄存器:即SPICON和SPIDAT,其中SPICON包含各種標志位、使能位、方式位及時鐘位;另一個SPI寄存器是SPIDAT,對這一寄存器的寫操作會使SCLOCK產(chǎn)生8個時鐘脈沖,從高位開始一位一位地發(fā)送數(shù)據(jù)。如果寫操作發(fā)生在其他數(shù)據(jù)正在傳輸?shù)倪^程中,那么WCOL將置位。如果寫操作進行時沒有其他數(shù)據(jù)在傳輸,輸入字節(jié)保留在移位寄存器中,此

42、時ISPI自動置位(如果有中斷設(shè)置,則產(chǎn)生中斷),移位寄存器的數(shù)據(jù)將被鎖存到SPIDKT中,此后對SPIDAT的讀操作將把數(shù)據(jù)讀出。SPI時序圖如圖4所示。</p><p>  圖8 SPI時序圖</p><p>  Fig.8 SPI timing diagram</p><p>  3.3 單片機數(shù)據(jù)采集程序設(shè)計</p><p>  

43、下面給出數(shù)據(jù)采集實驗中,AD7654工作在串行從模式下的軟件流程(如圖9所示)和核心匯編源程序(轉(zhuǎn)換結(jié)果存在30H中)。</p><p><b>  匯編源程序:</b></p><p>  DATA_BUFFER EQU 30H; 數(shù)據(jù)緩沖區(qū)首地址</p><p>  SAMPLE: MOV R1, #04H; 如果為零,轉(zhuǎn)換結(jié)束<

44、;/p><p>  MOV R3, #08H; 為零一個字節(jié)發(fā)送結(jié)束</p><p>  LCR P2.6; 讀有效</p><p>  LCR P3.4 ; 片選有效</p><p>  SETB P2.4; 先輸出A在輸出B 圖9 軟件流程圖</p><p>  START: MOV

45、 R0, #DATA_BUFFER Fig.9 Software flowchart</p><p>  CLR P2.5 </p><p>  SETB P2.5 ; 啟動AD轉(zhuǎn)換</p><p>  CLR A0 ; 從A1和B1采集數(shù)據(jù)</p><p>  GET: MOV SPIDAT ,A ; 產(chǎn)生8位時鐘,

46、開始讀取轉(zhuǎn)換數(shù)據(jù)</p><p>  LOOP:DJNZ R3, LOOP ; 采完一個字節(jié),進入SPI中斷</p><p>  MOV R3, #08H</p><p><b>  INC R0</b></p><p>  DJNZ R1, BACK ;采完一個通道,CHANGE為另一個通道啟動轉(zhuǎn)換程序&

47、lt;/p><p>  BACK: SJMP GET ;SPI中斷服務(wù)子程序</p><p>  SPI_INTER: CLR ISPI ; 清中斷標志位</p><p>  MOV A, SPIDAT </p><p>  MOV @R0, A</p><p><b>  RETI</b>

48、</p><p>  4 數(shù)據(jù)采集總線設(shè)計</p><p><b>  4.1 CAN總線</b></p><p>  4.1.1 CAN總線簡介及其特點</p><p>  CAN網(wǎng)絡(luò)(Controller Area Network)是現(xiàn)場總線技術(shù)的一種,它是一種架構(gòu)開放、廣播式的新一代網(wǎng)絡(luò)通信協(xié)議,稱為控制器局域網(wǎng)現(xiàn)

49、場總線。CAN網(wǎng)絡(luò)原本是德國Bosch公司為歐洲汽車市場所開發(fā)的。CAN推出之初是用于汽車內(nèi)部測量和執(zhí)行部件之間的數(shù)據(jù)通信。例如汽車剎車防抱死系統(tǒng)、安全氣囊等。對機動車輛總線和對現(xiàn)場總線的需求有許多相似之處,即能夠以較低的成本、較高的實時處理能力在強電磁干擾環(huán)境下可靠地工作。因此CAN總線可廣泛應(yīng)用于離散控制領(lǐng)域中的過程監(jiān)測和控制,特別是工業(yè)自動化的底層監(jiān)控,以解決控制與測試之間的可靠和實時數(shù)據(jù)交換。   

50、; CAN總線有如下基本特點:    *CAN協(xié)議最大的特點是廢除了傳統(tǒng)的站地址編碼,代之以對數(shù)據(jù)通信數(shù)據(jù)塊進行編碼,可以多主 方式工作;    * CAN采用非破壞性仲裁技術(shù),當(dāng)兩個節(jié)點同時向網(wǎng)絡(luò)上傳送數(shù)據(jù)時,優(yōu)先級低的節(jié)點主動停止數(shù)據(jù)發(fā)送,而優(yōu)先級高的節(jié)點可不受影響地繼續(xù)傳輸數(shù)據(jù),有效避免了總線沖突;    *CAN采用短幀結(jié)構(gòu),每一幀的

51、有效字節(jié)數(shù)為8個(CAN技術(shù)規(guī)范2.0A),數(shù)據(jù)傳輸時間短,受干擾的概率低,重新發(fā)送的時間短;</p><p>  4.1.2 CAN總線通信介質(zhì)訪問控制方式</p><p>  CAN采用了的3層模型:物理層、數(shù)據(jù)鏈路層和應(yīng)用層。CAN支持的拓撲結(jié)構(gòu)為總線型。傳輸介質(zhì)為雙絞線、同軸電纜和光纖等。采用雙絞線通信時,速率為1Mbps/40m ,50Kbps,結(jié)點數(shù)可達110個。</p&

52、gt;<p>  CAN的通信介質(zhì)訪問為帶有優(yōu)先級的CS-MA/CA。采用多主競爭方式結(jié)構(gòu):網(wǎng)絡(luò)上任意節(jié)點均可以在任意時刻主動地向網(wǎng)絡(luò)上其它節(jié)點發(fā)送信息,而不分主從,即當(dāng)發(fā)現(xiàn)總線空閑時,各個節(jié)點都有權(quán)使用網(wǎng)絡(luò)。在發(fā)生沖突時,采用非破壞性總線優(yōu)先仲裁技術(shù):當(dāng)幾個節(jié)點同時向網(wǎng)絡(luò)發(fā)送消息時,運用逐位仲裁原則,借助幀中開始部分的表示符,優(yōu)先級低的節(jié)點主動停止發(fā)送數(shù)據(jù),而優(yōu)先級高的節(jié)點可不受影響的繼續(xù)發(fā)送信息,從而有效地避免了總線沖

53、突,使信息和時間均無損失。例如,規(guī)定0的優(yōu)先級高,在節(jié)點發(fā)送信息時,CAN總線作與運算。每個節(jié)點都是邊發(fā)送信息邊檢測網(wǎng)絡(luò)狀態(tài),當(dāng)某一個節(jié)點發(fā)送1而檢測到0時,此節(jié)點知道有更高優(yōu)先級的信息在發(fā)送,它就停止發(fā)送信息,直到再一次檢測到網(wǎng)絡(luò)空閑。</p><p>  圖10 CAN總線系統(tǒng)組成</p><p>  Fig.10 Thecan bus system</p><

54、p>  CAN的傳輸信號采用短幀結(jié)構(gòu)(有效數(shù)據(jù)最多為8個字節(jié)),和帶優(yōu)先級的CS-MA/CA。通信介質(zhì)訪問控制方式,對高優(yōu)先級的通信請求來說,在1Mbps通信速率時,最長的等待時間為0.15Ms,完全可以滿足現(xiàn)場控制的實時性要求。CAN突出的差錯檢驗機理,如5種錯誤檢測、出錯標定和故障界定;CAN傳輸信號為短幀結(jié)構(gòu),因而傳輸時間短,受干擾概率低。這些保證了出錯率極低,剩余錯誤概率為報文出錯率的4.7x10-11。另外,CAN節(jié)點在

55、嚴重錯誤的情況下,具有自動關(guān)閉輸出的功能,以使總線上其它節(jié)點的操作不受其影響。因此,CAN具有高可靠性。   CAN的通信協(xié)議主要有CAN總線控制器完成。CAN控制器主要由實現(xiàn)CAN總線協(xié)議部分和微控制器接口部分電路組成。通過簡單的連接即可完成CAN協(xié)議的物理層和數(shù)據(jù)鏈路層的所有功能,應(yīng)用層功能由微控制器完成。CAN總線上的節(jié)點即可以是基于微控制器的智能節(jié)點,也可以是具有CAN接口的I/O器件。</

56、p><p>  4.1.3 應(yīng)用技術(shù)</p><p><b>  1 系統(tǒng)組成</b></p><p>  網(wǎng)絡(luò)拓撲結(jié)構(gòu)采用總線式結(jié)構(gòu)。這種網(wǎng)絡(luò)結(jié)構(gòu)結(jié)構(gòu)簡單、成本低,并且采用無源抽頭連接,系統(tǒng)可靠性高。通過CAN總線連接各個網(wǎng)絡(luò)節(jié)點,形成多主機控制器局域網(wǎng)(CAN)。信息的傳輸采用CAN通信協(xié)議,通過CAN控制器來完成。各網(wǎng)絡(luò)節(jié)點一般為帶有微控制器

57、的智能節(jié)點完成現(xiàn)場的數(shù)據(jù)采集和基于CAN協(xié)議的數(shù)據(jù)傳輸,節(jié)點可以使用帶有在片CAN控制器的微控制器,或選用一般的微控制器加上獨立的CAN控制器來完成節(jié)點功能。傳輸介質(zhì)可采用雙絞線、同軸電纜或光纖。如果需要進一步提高系統(tǒng)的抗干擾能力,還可以在控制器和傳輸介質(zhì)之間加接光電隔離,電源采用DC-DC變換器等措施。這樣可方便構(gòu)成實時分布式測控系統(tǒng)。   2、 CAN總線的物理層設(shè)計  

58、0; CAN總線協(xié)議對物理層沒有嚴格定義,給使用者較大的靈活性,同時也給設(shè)計者帶來了困難。CAN總線物理層的設(shè)計原則是:針對CTx0、CTx1的兩種輸出狀態(tài)(顯性(Daminant)、隱性(Recessive)),總線應(yīng)具有兩種不同電平,接收端呈現(xiàn)(顯性、隱性)兩種狀態(tài),如圖12所示。    這樣不要求總線必須是數(shù)字邏輯電平,只要是能夠呈現(xiàn)兩種電平(顯性和隱性)的模擬量,滿</p><

59、p>  圖11 CAN總線電平示意圖</p><p>  Fig.11 The CAN bus level</p><p>  圖12 CAN總線物理接口實例</p><p>  Fig.12 Thecan bus physical interface</p><p>  總線連接實例(圖13):(以Philips的CAN芯片為

60、例)    CAN控制器芯片的片內(nèi)輸出驅(qū)動器和輸入比較器可編程,它可方便地提供多種發(fā)送類型,諸如:單線總線、雙線總線(差分)和光纜總線。它可以直接驅(qū)動總線,若網(wǎng)絡(luò)的規(guī)模比較大,節(jié)點數(shù)比較多,需要外加總線驅(qū)動元件,以增大輸出電流。    一般在驅(qū)動芯片和CAN控制器之間加入光電耦合器,增加抗干擾能力。CAN總線的速度將由光電耦合器的速度決定。比如:用4N27光耦,因為它的響應(yīng)

61、速度比較慢,CAN網(wǎng)絡(luò)的位速度只能達到幾+Kbit/s。如果采用6n137高速光電耦合器,CAN網(wǎng)絡(luò)速度可以達到和電阻網(wǎng)絡(luò)驅(qū)動時的速度一樣。另外,物理層的設(shè)計要注意電纜的終端阻抗匹配,這直接影響了CAN總線能否正常工作和網(wǎng)絡(luò)性能。</p><p>  3、 應(yīng)用軟件設(shè)計   CAN控制器其內(nèi)部硬件實現(xiàn)了CAN總線物理層和數(shù)據(jù)鏈路層的所有協(xié)議內(nèi)容,有關(guān)CAN總線的通信功能均由CAN控

62、制器自動管理執(zhí)行。CAN控制器對于CPU來說,是以確保雙方獨立工作的存儲影像外圍設(shè)備出現(xiàn)的。CAN控制器的地址域由控制段和報文緩存器組成,在初始化向下加載期間,控制段可被編程以配置通信參數(shù)。CAN總線上的通信也通過此段由CPU控制,被發(fā)送的報文必須寫入發(fā)送緩存器,成功接收后,CPU可以從接收緩存器讀取報文,然后釋放它,以備下次使用。對于在片的CAN控制器,它與CPU之間的接口一般借助于4個特殊寄存器:CAN地址寄存器、數(shù)據(jù)寄存器、控制寄

63、存器、狀態(tài)寄存器。對于單獨的CAN控制器,MCU可以通過其地址/數(shù)據(jù)總線對其寄存器直接尋址,就像MCU對一般外部RAM尋址一樣。通過對這些寄存器編程操作,可很方便控制CAN控制器完成通訊功能。   CAN控制器的收發(fā)功能均可借助其中斷服務(wù)執(zhí)行。圖4給出一個CAN中斷服務(wù)程序框圖(圖13)。注意在系統(tǒng)軟件設(shè)計時無論何時CAN總線不應(yīng)該被永久性的100﹪加載。 </p><p&

64、gt;  圖13 CAN中斷服務(wù)程序框圖</p><p>  Fig.13 CAN interrupt service routine diagram</p><p>  4.1.4 目前應(yīng)用狀況及其前景</p><p>  由于CAN總線為越來越多不同領(lǐng)域采用和推廣,導(dǎo)致要求不同應(yīng)用領(lǐng)域通信報文的標準化。為此,1991年9月Philips Semiconduct

65、ors制定并發(fā)布了CAN技術(shù)規(guī)范(Version2.0)。該技術(shù)規(guī)范包括A和B兩部分。2.0A給出了曾在CAN技術(shù)規(guī)范版本1.2中定義的CAN報文格式,2.0B給出了標準的和擴展的兩種報文格式。此后,1993年11月ISO正式頒布了道路交通運輸工具-數(shù)字信息交換-高速通信控制器局部網(wǎng)(CAN)國際標準(ISO11898),為控制器局部網(wǎng)標準化,規(guī)范化推廣鋪平了道路。    CAN總線開發(fā)系統(tǒng)廉價,OEM用

66、戶容易操作,許多國際上大的半導(dǎo)體廠商也積極開發(fā)出支持N總線的專用芯片,其中有智能CAN芯片,也有非智能CAN控制器、收發(fā)器。Motorla公司生產(chǎn)了MC68HC05x4是在68HC05微控制器上加入了CAN模塊,也稱為MCAN。PHilips公司生產(chǎn)了P8xC592微控制器上集成了CAN控制器取代了原來的I2C串行口。PHilips還生產(chǎn)82C200獨立CAN控制器、82C150即CAN串行鏈接I/O(SLIO)器件、82C250CAN

67、收發(fā)器、P</p><p>  4.2 R-S485</p><p>  1、RS-485總線的理論</p><p>  在自動化領(lǐng)域,隨著分布式控制系統(tǒng)的發(fā)展,迫切需要一種總線能適合遠距離的數(shù)字通信。在RS-422標準的基礎(chǔ)上,EIA研究出了一種支持多節(jié)點、遠距離和接收高靈敏度的RS-485總線標準。  RS-485標準采有用平衡式發(fā)送,差分式接

68、收的數(shù)據(jù)收發(fā)器來驅(qū)動總線,具體規(guī)格要求:· 接收器的輸入電阻RIN≥12kΩ · 驅(qū)動器能輸出±7V的共模電壓 · 輸入端的電容≤50pF · 在節(jié)點數(shù)為32個,配置了120Ω的終端電阻的情況下,驅(qū)動器至少還能輸出電壓1.5V(終端電阻的大小與所用雙絞線的參數(shù)有關(guān)) · 接收器的

69、輸入靈敏度為200mV(即(V+)-(V-)≥0.2V,表示信號"0";(V+)-(V-)≤-0.2V,表示信號"1")  因為RS-485的遠距離、多節(jié)點(32個)以及傳輸線成本低的特性,使得EIA RS-485成為工業(yè)應(yīng)用中數(shù)據(jù)傳輸?shù)氖走x標準?;诖耍琑S-485的自動化領(lǐng)域的應(yīng)用非常廣泛,但是在實際工程中RS-485總線運用仍然存在著很多問題,影響了工程的質(zhì)量,為

70、工程施工帶來了很多的不方便。2、 阻抗不連續(xù)   信號在傳輸過程中如果遇到阻抗突變,信號在</p><p>  圖14 RS-485接地問題</p><p>  Fig.14 CAN interrupt service routine diagram</p><p>  4、RS-485的總線結(jié)構(gòu)及傳輸距離 RS-485支持半雙工

71、或全雙工模式。網(wǎng)絡(luò)拓撲一般采用終端匹配的總線型結(jié)構(gòu)不支持環(huán)形或星形網(wǎng)絡(luò),最好采用一條總線將各個節(jié)點串接起來。從總線到每個節(jié)點的引出線長度應(yīng)盡量短,以便使引出線中的反射信號對總線信號的影響最低。在使用RS485接口時,對于特定的傳輸線經(jīng),從發(fā)生器到負載其數(shù)據(jù)信號傳輸所允許的最大電纜長度是數(shù)據(jù)信號速率的函數(shù),這個長度數(shù)據(jù)主要是受信號失真及噪聲等影響所限制。當(dāng)數(shù)據(jù)信號速率降低到90Kbit/S以下時,假定最大允許的信號損失為6dBV時,則電纜

72、長度被限制在1200M。實際上,在實用時是完全可以取得比它大的電纜長度。當(dāng)使用不同線徑的電纜。則取得的最大電纜長度是不相同的。5方案設(shè)計 以下以一個例子來說明RS-485的應(yīng)用:  一個大學(xué)食堂有三層,有12臺POS機,每層樓有4臺POS機,他們是RS-485的接口,控制POS機的電腦接RS-232接口,傳統(tǒng)的解決方案是:</p><p>  圖15 RS-485的PC機連接</p>

73、<p>  Fig.15 RS-485 the PC connected</p><p>  采用這種老式布線結(jié)構(gòu)存在以下幾種缺陷。</p><p>  1>、RS-485總線受差分信號傳輸特點的限制總線長度一般在1200米左右,采用這種老式布線結(jié)構(gòu),可布線覆蓋面積十分有限(一般為幾百平方米)。有時為了拓寬傳輸距離不得不采用中繼器。同時亦加大了布線過程中出現(xiàn)問題的可能

74、性。 2>、一般大型考勤門禁系統(tǒng)都裝有為數(shù)眾多的門禁控制器,采用這種老式布線結(jié)構(gòu),所有門禁控制器共享同一根RS-485總線。當(dāng)任一控制器RS-485端口短路,都會影響整個門禁系統(tǒng)的正常工作。在眾多的門禁控制器中查找故障所在,不僅加大了工作量,也增加了維護成本。 3>、由于RS-485總線布線比較復(fù)雜,在考勤門禁系統(tǒng)中絕大部分工程費用和時間都浪費在布線環(huán)節(jié)。而RS-485總線布線的復(fù)雜程度與總線的長短和設(shè)備的掛

75、接數(shù)目有很大關(guān)系。特別在大型系統(tǒng)中顯得由為突出。采用這種老式布線結(jié)構(gòu)無疑加大了布線的難度。 4>、由于地理環(huán)境的原因,在相距一定距離的設(shè)備之間總是存在地電位不平衡的問題。有時即使距離很近問題依然存在。這種環(huán)境造成的因素,在老式布線結(jié)構(gòu)中很難綜合解決。甚至造成整個系統(tǒng)無法啟動。雖然通過處理地電位可暫時解決部分問題,但時隔不久同樣問題又會再次出現(xiàn)。</p><p>  圖16 RS-485/RS-42

76、2總線結(jié)構(gòu)</p><p>  Fig.16 RS - 485 / RS - 422 bus structure</p><p>  應(yīng)用此方案可以有效的解決采用第一種方案存在的缺陷,它有如下幾點好處: 1>、采用星型結(jié)構(gòu)連接RS-485總線,在有效利用接口的情況下布線覆蓋面積大大提高(一般為幾平方千米)。 2>、有八個下位機端口,且每個端口都具有短路保護功能

77、,并能工作在關(guān)斷模式。對大型考勤門禁系統(tǒng),通過分攤門禁控制器到八個端口不僅可以減少單個RS-485總線的負荷,同時有效的提高了整個系統(tǒng)的可靠性。當(dāng)任一控制器RS-485端口短路,只會影響其所在RS-485總線系統(tǒng),不會影響其他接口連接的RS-485系統(tǒng)的正常工作。 3>、可以使得RS-485系統(tǒng)布線過程變的簡單和快潔,從而有效的減少了工程的費用和時間。 4>、各端口間存在3000V隔離。對于由環(huán)境問題帶來的布

78、線問題,只需把問題顯著的區(qū)域用單獨端口進行連接集中處理,將會有效的解決地電位帶來的布線問題。6、注意事項  (1) 很多人往往都誤認為RS-422串行接口是RS-485串行接口的全雙工版本,實際上,它們在電器特性上存在著不少差異,共模電壓范圍和接收器輸入電阻不同使得該兩個標準適用于不同的應(yīng)用領(lǐng)域。RS-485串行接口的驅(qū)動</p><p>  5 上位機數(shù)據(jù)處理程序設(shè)計</p>

79、<p>  5.1 VB程序設(shè)計</p><p>  遠端ADuC848單片機采用中斷方式、基于MCS-51匯編語言與上位機進行通訊,中斷子程序流程圖如圖3所示。    控制中心上位機PC每次發(fā)送控制信息前必須先發(fā)送指定遠端單元的地址信息,單片機進入數(shù)據(jù)接收子程序,如果收到的地址與本機地址相同,置接收數(shù)據(jù)標志位,連續(xù)接收上位機發(fā)送過來的控制信息。數(shù)據(jù)接收完畢,開始對控

80、制信息進行校驗碼確認操作,校驗正確則回送上位機確認信息,并對兩字節(jié)控制數(shù)據(jù)進行移位操作等必要處理,最后輸出開關(guān)量并返回中斷入口處;若校驗錯誤,回送上位機重發(fā)信息。如果遠端單片機收到的地址與本機地址不同,程序也返回中斷入口處,繼續(xù)執(zhí)行其它操作或等待接收新的信息。這樣,就確保上位機把控制信息可靠地傳給指定的遠端單元,各遠端單元回送的信息只能被上位機接收。由于每個數(shù)傳電臺時刻處于待機狀態(tài)(也可以根據(jù)實際需要,使電臺進入休眠狀態(tài)等待),所以只有

81、先對遠端單元地址進行確認,才能保證在某一時刻只有一個遠端單元完全接收了上位機發(fā)出的數(shù)據(jù)信息,避免了不必要的資源耗費。</p><p>  圖17 單片機中斷子程序流程圖</p><p>  Fig.17 SCM interrupt subroutines flowchart</p><p>  上位機利用VB6.0編程,用VB6.0開發(fā)串行通信程序普遍采用以下兩種

82、方法:一種是利用Windows的API函數(shù);另一種是采用VB6.0的通訊控件MSComm。利用API函數(shù)編寫串行通信程序較為復(fù)雜,需要調(diào)用許多繁瑣的API函數(shù),而VB6.0的MSComm通訊控件提供了標準的事件處理函數(shù)、事件和方法,用戶不必了解通信過程中的底層操作和API函數(shù),從而比較容易、高效地實現(xiàn)了串口通信。    MSComm控件提供了兩種功能完善的串口數(shù)據(jù)發(fā)送和接收功能:一種是查詢法,通過檢查Co

83、mmEvent屬性的值來輪詢(Polling)事件和通信狀態(tài),可以使用定時器或DO…Loop程序?qū)崿F(xiàn);另一種是事件驅(qū)動法(Event-driven),利用MSComm控件的OnComm事件捕獲串口通信錯誤或事件,并在OnComm事件中編寫程序進行相應(yīng)處理,這種方法響應(yīng)及時,可靠性高,本軟件系統(tǒng)采用了此方法來接收遠端單片機的回執(zhí)信息,以使PC機作出更快的反應(yīng)。    數(shù)傳電臺基于透明傳輸,不改變系統(tǒng)原來的通

84、訊程序及傳輸格式,編程時只需適當(dāng)考慮無線傳輸引起的信號時延。    軟件采用定時器Timer1控件來實現(xiàn)在數(shù)</p><p>  ……初始化MSComm控件程序:With Comm1           ‘控件名為Comm1.CommPort=1  

85、0;       ‘使用串行端口1.Settings=“9600,n,8,1”   ‘設(shè)置初始化參數(shù).InputLen=0           ‘讀取緩沖區(qū)的全部數(shù)據(jù).InputMode=comInputModeBinary ‘以二進制方式接收數(shù)據(jù).R

86、Threshold=3         ‘接收緩沖區(qū)達到3個字節(jié)時產(chǎn)生OnComm事件End with              ‘其它屬性值為默認即可……發(fā)送數(shù)據(jù)程序:……Dim Send As Variant

87、0;    ‘定義變量Dim OutByteD(5) As Byte ‘定義發(fā)送數(shù)據(jù)數(shù)組……                  ‘獲取發(fā)送數(shù)據(jù)Send=OutByteD     

88、60;   ‘將發(fā)送的數(shù)據(jù)賦給發(fā)送變量Comml.Ouput=Send      ‘發(fā)送數(shù)據(jù)……數(shù)據(jù)接收程序:Private Sub Comm1_OnComm()Select Case Comm1.Comm</p><p>  5.2 Matlab程序設(shè)計</p><p>  一、 MATLAB6.X對RS23

89、2 串口的編程 </p><p>  對于 WINDOWS 系統(tǒng)而言,硬件系統(tǒng)的驅(qū)動程序有著十分嚴格的規(guī)范,而 MATLAB本身是一個跨平臺的軟件,并不具備直接訪問硬件的能力。即使安裝了驅(qū)動程序并能正常工作的硬件設(shè)備,MATLAB也沒有統(tǒng)一的形式對其進行訪問。但是MATLAB6.X 的面向?qū)ο蠹夹g(shù),已用一個對象把計算機串口封裝起來。只要創(chuàng)建串口對象,對串口對象操作就是對串口操作,非常方便。使用 Serial 函數(shù)

90、就可以創(chuàng)建串口對象。串口對象有很多屬性 ( 如表 1 所示),通過定義串口對象的屬性,就能定義串口的通信模式,從串口對象屬性也能了解串口的狀態(tài)。要通過串口傳輸數(shù)據(jù),還必須先用fopen 打開串口。數(shù)據(jù)傳輸結(jié)束后要用fclose 函數(shù)關(guān)閉串口。 </p><p>  表 1 串口對象屬性</p><p>  Tib.2 Com object attribute</p>&

91、lt;p>  下面是一個使用串口例子: </p><p>  %“%”后的語句是注釋 </p><p>  s=serial(’COM1’,’BaudRate’,9600); %創(chuàng)建一個波特率為9600 的COM1串口對象,并以s標識它 </p><p>  fopen(s); %打開COM1串口 <

92、;/p><p>  fprintf(s,’IDN?’); %向COM1串口輸出字符串’IDN?’ </p><p>  idn=fscanf(s); %從COM1串口讀入字符到變量idn中 </p><p>  fclose(s); %關(guān)閉COM1串

93、口 </p><p>  delete(s); %從計算機內(nèi)存中刪除COM1串口對象,釋放空間 </p><p>  由于Matlab6.x 封裝的串口對象支持對串口的異步讀寫操作,使得計算機在讀寫串口時能同時進行其他處理工作。因而能大大提高計算機執(zhí)行效率。Matlab6.x 用多線程技術(shù)實現(xiàn)這種異步操作。通過異步讀寫設(shè)置,計算機在執(zhí)行讀寫串口函數(shù)時能立即返回,不

94、必等待串口把數(shù)據(jù)傳輸完畢。當(dāng)指定的數(shù)據(jù)傳輸結(jié)束時就觸發(fā)事件,執(zhí)行事件回調(diào)函數(shù)??梢栽谑录卣{(diào)函數(shù)中編程,進行數(shù)據(jù)處理。這樣就不會造成因等待串口傳輸數(shù)據(jù)引起的機時浪費。 </p><p>  二、 數(shù)據(jù)采集系統(tǒng)與 PC 機通信的硬件構(gòu)成 </p><p>  為了簡化系統(tǒng)的硬件設(shè)計,數(shù)據(jù)采集系統(tǒng)的微轉(zhuǎn)換器選用 AD 公司的全集成芯片ADuC812,該芯片包含有12 位高性能的自校準8 通

95、道ADC,兩個12 位的DAC,與8051兼容的內(nèi)核使用戶無須學(xué)習(xí)新的指令系統(tǒng)。片內(nèi)8K閃速/電擦除程序存儲器使數(shù)據(jù)采集系統(tǒng)具有在線下載編程能力,利用 AD 公司提供的免費 SERIAL WINDOW DOWNLOAD 就可以將HEX 文件下載到ADuC812 內(nèi),對于不同的應(yīng)用場所可以方便的修改系統(tǒng)的參數(shù),既不需要昂貴的編程器,也不需打開機殼插撥芯片,只需將一條電纜連接到計算機的COM1 或COM2即可。另外該轉(zhuǎn)換器還支持看門狗定時器

96、、電源監(jiān)視器及ADC的DMA等功能,可編程的I/O 口具有三種類型的串口UART、SPI、I2C,價格也比較便宜,是一種理想的轉(zhuǎn)換器。系統(tǒng)的硬件組成如下圖1 8所示。 </p><p>  圖18 ADuC812 與PC機串口通信的硬件電路圖</p><p>  Fig.18 ADuC812 PC serial communication with the hardware circu

97、it</p><p>  其中ADM202 及P3.0\P3.1 構(gòu)成了與計算機通信的RS232接口,它有兩個功能,一是實現(xiàn)計算機與數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù)通信。另一功能是與JP1 配合使用,完成將程序從計算機下載到ADuC812 片內(nèi)的閃速/電擦除程序存儲器中。當(dāng)下載程序時,需將MCU系統(tǒng)的電源關(guān)掉,用屏蔽帽屏蔽 JP1,MCU 系統(tǒng)再上電,ADuC812 進入程序下載狀態(tài),運行 SERIAL WINDOW DOWN

98、LOAD 可以將 HEX 文件下載到芯片內(nèi)。 ADM812 組成了系統(tǒng)的復(fù)位電路。 </p><p>  三、 應(yīng)用程序的軟件流程圖 </p><p>  PC機與MUC的串口通信技術(shù)可以說已經(jīng)比較成熟,但在工程實際中應(yīng)用較多的是VC、VB 通信控件,開發(fā)具有一定的難度。本文的 PC 機應(yīng)用程序是運用 MATLAB 的類( SERIAL )和 M 語言開發(fā),輔以 MATLAB 的 GUI

99、DE 工具箱,程序開發(fā)相對簡單。 MCU 的程序應(yīng)用MCS—51 匯編,只需在程序的第一行加$MOD812 標識符即可。整個傳輸過程是:由MUC發(fā)送握手信號,PC機接收到握手信號后發(fā)應(yīng)答信號,并準備接收信號,MCU接收到應(yīng)答信號后準備發(fā)送數(shù)據(jù),并說明通信過程掛鉤成功,總的測量次數(shù)和鍵值作為第0 組發(fā)送,發(fā)送完畢累加校驗和,發(fā)現(xiàn)傳輸錯誤時重發(fā),程序的流程圖所下圖 19 所示 。</p><p>  圖19 MC

100、U 與微機的通信流程圖</p><p>  Fig.19 MCU and computer communication flow</p><p><b>  6 結(jié)論</b></p><p>  從采集數(shù)據(jù)的安全性和可靠性兩個方面著手,選用新型傳感器和低功耗ADuC848系列單片機,用RS-485/RS-422總線或CAN總線傳輸,設(shè)計出數(shù)據(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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論