<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > UCOS-II在基于C8051f060的壓裝監(jiān)測設(shè)備數(shù)據(jù)采集系統(tǒng)應(yīng)用

          UCOS-II在基于C8051f060的壓裝監(jiān)測設(shè)備數(shù)據(jù)采集系統(tǒng)應(yīng)用

          作者:李湘波 時間:2014-11-27 來源:電子產(chǎn)品世界 收藏
          編者按:  摘要:本文主要設(shè)計了一個用在壓裝監(jiān)測設(shè)備上的嵌入式實時數(shù)據(jù)采集系統(tǒng)。該數(shù)據(jù)采集系統(tǒng)采用單片機C8051f060作為主控芯片,并在上面移植了UCOS-II實時操作系統(tǒng)。C8051f060集成了許多該采集系統(tǒng)的功能模塊,使得該系統(tǒng)外圍驅(qū)動設(shè)備很簡單,由于引入了UCOS-II實時操作系統(tǒng),在程序的編寫調(diào)試和功能模塊的擴展都得到大大簡化。系統(tǒng)采用多任務(wù)并行的運行方式,使得采集和發(fā)送數(shù)據(jù)具有很好的實時性,從而保證整個壓裝監(jiān)測設(shè)備能穩(wěn)定地運行,并大大提高壓裝零件判斷的準確率。   引言   隨著經(jīng)濟和社會的發(fā)

            摘要:本文主要設(shè)計了一個用在設(shè)備上的實時系統(tǒng)。該系統(tǒng)采用單片機作為主控芯片,并在上面移植了實時操作系統(tǒng)。集成了許多該采集系統(tǒng)的功能模塊,使得該系統(tǒng)外圍驅(qū)動設(shè)備很簡單,由于引入了實時操作系統(tǒng),在程序的編寫調(diào)試和功能模塊的擴展都得到大大簡化。系統(tǒng)采用多任務(wù)并行的運行方式,使得采集和發(fā)送數(shù)據(jù)具有很好的實時性,從而保證整個設(shè)備能穩(wěn)定地運行,并大大提高壓裝零件判斷的準確率。

          本文引用地址:http://www.ex-cimer.com/article/266053.htm

            引言

            隨著經(jīng)濟和社會的發(fā)展,我國的工業(yè)水平和信息技術(shù)水平也得到了飛速發(fā)展。其中工業(yè)中最為常見的零部件組裝和裝備設(shè)備也得到了不斷的改進。壓裝的過程其實就是按規(guī)定的技術(shù)要求將零部件進行組培和連接,使之成為半成品或者成品的工藝過程[1]。如圖1所示,就是將兩個零部件進行過盈無鍵組裝配合,使之牢固結(jié)合在一起。工業(yè)中很多機械設(shè)備都是通過這種壓裝方式組合到一起的,包括火車輪對、軸承、汽車發(fā)動機、變速器、底盤等關(guān)鍵部件[2]。壓裝的質(zhì)量決定了以后產(chǎn)品的使用質(zhì)量和人民的生命財產(chǎn)都息息相關(guān)。我們知道壓裝質(zhì)量的評判標準,主要是根據(jù)壓裝過程中壓力和位移的變化曲線來確定的[3]。而壓力位移曲線的獲取這就需要由良好的運行穩(wěn)定的系統(tǒng)來提供?;诖?,本文提出一種基于的數(shù)據(jù)采集系統(tǒng),在保證實時準確的數(shù)據(jù)的基礎(chǔ)上,使整個壓裝監(jiān)測設(shè)備能準確地實時監(jiān)測壓裝曲線[4],自動判斷壓裝結(jié)果,并將結(jié)果進行存儲和統(tǒng)計。

            1 壓裝監(jiān)測設(shè)備系統(tǒng)總述

            如圖2所示,該壓裝監(jiān)測系統(tǒng)主要由兩部分組成,第一部分是由主控芯片S3C2440構(gòu)成核心控制和數(shù)據(jù)處理單元[5];它實現(xiàn)壓力位移的數(shù)據(jù)曲線圖繪制、數(shù)據(jù)的分析處理、數(shù)據(jù)的存儲以及人機交互相關(guān)功能的實現(xiàn)[6]。第二部分是由作為控制單元的數(shù)據(jù)采集系統(tǒng),主要的任務(wù)是數(shù)據(jù)實時采集、數(shù)據(jù)發(fā)送、指令的接收以及控制。系統(tǒng)的大概工作流程如下:首先通過人機交互S3C2440發(fā)送指令給C8051f060,C8051f060處理指令之后通過PROFIBUS總線實現(xiàn)對的開始或停止等相關(guān)操作,當接收到開始指令時,C8051f060會同時采集壓裝過程的位移和壓力數(shù)據(jù),并將這些數(shù)據(jù)實時發(fā)送給S3C2440,最后S3C2440會對這些數(shù)據(jù)進行曲線圖繪制、結(jié)果判定等操作。

            2 壓裝數(shù)據(jù)采集系統(tǒng)

            本文的重點是對壓裝設(shè)備的采集系統(tǒng)進行論述。根據(jù)上面的系統(tǒng)總述,我們知道該數(shù)據(jù)采集系統(tǒng)必須達到以下方面的要求。第一,ADC的選擇,ADC必須是精度足夠高,由于同時采集壓力和位移數(shù)據(jù),并且采集的數(shù)據(jù)量很大,所以必須選擇多通道的高速高精度AD轉(zhuǎn)換器[7]。第二,數(shù)據(jù)傳輸能力,由于設(shè)備壓裝一次所需要的時間很短,為了保證采集之后的數(shù)據(jù)能迅速并實時地在ARM上繪制并判斷,所以數(shù)據(jù)傳輸必須采用高速的傳輸協(xié)議。第三,I/O口的數(shù)量,由于該數(shù)據(jù)采集系統(tǒng)除了采集數(shù)據(jù)之外,它還得實現(xiàn)對的控制,所以在除去其它包括存儲芯片I/O,采集I/O,數(shù)據(jù)傳輸I/O等I/O口之外,必須還得留有多余的I/O口對PLC進去控制,所以I/O口數(shù)量要求比較多。

            2.1 數(shù)據(jù)采集系統(tǒng)硬件設(shè)計

            鑒于以上要求,我們選取C8051f060作為該數(shù)據(jù)采集系統(tǒng)的控制芯片[8]。C8051f060是完全集成的混合信號片上系統(tǒng)型MCU,里面具有兩個16位精度1Msps最高轉(zhuǎn)換速度的AD轉(zhuǎn)換器,轉(zhuǎn)換數(shù)據(jù)直接存儲到RAM中,不需額外軟件開銷,可同時使用的硬件SMBus,高速SPI及兩個UART串行端口,具有 59 個數(shù)字 I/O 引腳[9]。其中串口和SPI口都可直接和ARM連接無需其它驅(qū)動電路。傳感器方面,該系統(tǒng)采用壓力傳感器C9B,位移傳感器PY1,然后對其產(chǎn)生的電壓信號進行濾波放大送到單片機的AD采集端。

            2.2 數(shù)據(jù)采集系統(tǒng)軟件設(shè)計

            由于該數(shù)據(jù)采集系統(tǒng)是以8為單片機為控制控制芯片,它得同時處理數(shù)據(jù)采集轉(zhuǎn)換、SPI數(shù)據(jù)傳輸、串口接收、PLC控制等多個任務(wù)[10]。而且對于壓裝系統(tǒng)來說,由于機器壓裝一次速度很快,并且所采集的數(shù)據(jù)量也很大,所采集及傳輸必須具有很高的實時性。如果用傳統(tǒng)的單片機編寫程序模式,它的程序規(guī)模會很大,系統(tǒng)調(diào)試復(fù)雜,特別在這種需要運行多個并行任務(wù)的情況,就顯得有些力不從心,更主要的是系統(tǒng)的穩(wěn)定性和實時性很難得到保障。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理



          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();