多通道數(shù)據(jù)實時采集系統(tǒng)設計
引言
現(xiàn)代工業(yè)生產(chǎn)中,環(huán)節(jié)眾多、流程復雜、數(shù)據(jù)不斷更新、隨著生產(chǎn)工藝改進的迫切要求,需要研制新型數(shù)據(jù)實時采集系統(tǒng)即多通道數(shù)據(jù)實時采集系統(tǒng)。基于stc11f48xe具有完全兼容8051系列單片機、含有flash技術(shù)主導的存儲器、可反復進行單片機控制試驗等優(yōu)點,本文選用它作為數(shù)據(jù)采集和發(fā)送的cpu。在和本地的通訊中采用rs485標準,相比rs232大大提高了通訊速率、傳輸距離和多機連接的能力,這樣使本文設計的數(shù)據(jù)采集系統(tǒng)具有抗干擾性強、響應速度快的優(yōu)點,同時可擴展為多機通信。
系統(tǒng)總體方案設計
根據(jù)系統(tǒng)要求,整個系統(tǒng)由主要以下幾個部分組成:旋轉(zhuǎn)變壓器、ad2s1200、電源模塊、stc11f48xe、485通信模塊。系統(tǒng)框圖如圖1所示。

系統(tǒng)的工作原理為:旋轉(zhuǎn)變壓器綁定在電機轉(zhuǎn)軸上,通過ad2s1200給的勵磁信號產(chǎn)生正余弦信號送回給ad2s1200,ad2s1200對正余弦信號進行處理后得到轉(zhuǎn)軸的位置,把這個數(shù)據(jù)以入堆棧的方式存進stc11f48xe的ram中,當上位機請求讀取數(shù)據(jù)量時,單片機通過自定義的協(xié)議把數(shù)據(jù)傳送給上位機。
硬件電路設計
a/d轉(zhuǎn)換模塊
模擬數(shù)據(jù)量通過旋轉(zhuǎn)變壓器采集,通過ad2s1200芯片完成模數(shù)轉(zhuǎn)換。ad2s1200是ad公司推出的12位帶參考振蕩器的r/d轉(zhuǎn)換器,具有以下主要特點:(1)并行和串行輸出方式;(2)系統(tǒng)錯誤檢測;(3)絕對位置和速度輸出;(4)差分輸入;(5)最大跟蹤速度為1000rps,可仿真12位分辨度的增量式編碼器;(6)與dsp和spi接口標準兼容。由于本文設計的是多路數(shù)據(jù)采集,所以我選用串行輸出方式。ad2s1200串行輸出時序圖如圖2所示。

如圖2所示,在sample信號拉低t2時間后,cs信號即片選信號被拉低,sample信號必須保持t1時間的低電平,rdvel信號我們選擇給以高電平,代表輸出信號是位置量。這時在so口會有數(shù)據(jù)輸出,要讀出so的數(shù)據(jù)還需要rd為低電平,且在sclk的下降沿,這樣讀出的數(shù)據(jù)比較穩(wěn)定。讀串行數(shù)據(jù)的時間要求如圖3所示。

單片機和通信模塊
單片機采用宏晶科技的stc11f48xe。8051單片機在讀取外部狀態(tài)時i/o口必須先置高。傳統(tǒng)8051單片機執(zhí)行i/o口操作,檢測高低電平變化以及讀外部狀態(tài)都是12個時鐘周期,因此在讀取外部狀態(tài)i/o時相應的i/o端口已經(jīng)是高電平。而stc11f48xe執(zhí)行相應的操作只需要4個時鐘周期,在執(zhí)行完由低變高的指令后,需要再過一個時鐘周期該i/o口才會變高,這時可以通過增加兩個空操作延時指令來滿足讀狀態(tài)條件。單片機控制電路和通信電路如圖4所示。

單片機在數(shù)據(jù)通信時經(jīng)過一個總線收發(fā)器74hct245和一個施密特觸發(fā)器74ls14到達rs485的驅(qū)動電路,通過485接口和上位機進行數(shù)據(jù)傳輸。其中總線收發(fā)器是為了加強信號,施密特觸發(fā)器是為了修正波形。lbc184是常用的485通信芯片同時完成將ttl電平轉(zhuǎn)換為rs485電平。
電源模塊
電源分成了數(shù)字電源和模擬電源。因為數(shù)字信號的高頻噪聲很大,如果模擬地和數(shù)字地混合的話,就會把噪聲傳到模擬部分,造成干擾。
軟件設計
程序流程圖如圖5所示。數(shù)據(jù)采集系統(tǒng)的軟件主要包括主程序、數(shù)據(jù)采集、數(shù)據(jù)入棧出棧、中斷處理。在完成串口等初始化后,程序進入數(shù)據(jù)采集,在數(shù)據(jù)采集時要關(guān)閉串口中斷,不然會引起數(shù)據(jù)的不正確,采集完數(shù)據(jù)后打開串口中斷。若沒有接收到串口中斷,程序就會一直采集數(shù)據(jù)并把數(shù)據(jù)入棧,當棧滿的時候就會清空數(shù)據(jù)棧。接收到串口中斷時,就把棧頂數(shù)據(jù)發(fā)送給上位機。

實驗結(jié)果
讓旋轉(zhuǎn)變壓器停在某處,測得此時的so和sclk如圖6(一組數(shù)據(jù)放大后的波形)所示,上面的圖形代表so,下面的圖形代表sclk。從圖6我們可以讀出這組數(shù)據(jù)為1001001111011111,轉(zhuǎn)換成十六進制即是93df。

利用串口助手以中斷的方式從單片機取得數(shù)據(jù)如圖7所示,從圖7可看到收到的數(shù)據(jù)為93df,和從示波器上讀出的數(shù)據(jù)一致,由此推斷出單片機能正確的存入和上傳數(shù)據(jù),達到了預期的效果。

結(jié)束語
該系統(tǒng)具有高實時性,較強的抗干擾能力,占用空間小方便應用于嵌入式等特點。作為一種多通道的實時數(shù)據(jù)采集系統(tǒng),它不僅可以采集位置量還可以采集速度,同時也能方便地由四通道擴展到八通道、十二通道等,可以廣泛地應用于工業(yè)現(xiàn)場中。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。