設備狀態監測技術是計算機科學、測試技術、信號分析與數據處理技術等相結合的一種設備運行信息分析處理方法。將嵌入式計算機技術與數據采集技術及數字信號處理技術結合起來,構成一種體積小、便于攜帶、易于網絡化、造價相對較低,集信號采集、處理、存儲和顯示為一體的設備具有廣泛的應用前景。 本文通過對傳統工控監測技術方案以及本項目具體功能和指標的分析,提出了ARM+嵌入式Linux架構的技術方案。采用多個嵌入式設備終端作為監測系統數據的采集終端,然后通過GPRS模塊連入Internet,通過Internet上的多臺主機作為監控中心,各自運行相應的包括網絡管理功能的應用程序,實現監測數據自動、可靠的采集、存儲、處理、實時顯示及實時數據遠程傳輸,進而實現分布式、網絡化和自動化的設備監測系統新模式。 本文首先介紹了嵌入式技術的國內外研發現狀。給出了嵌入式監測系統總體設計方案。根據系統的功能和要求的技術指標,在綜合比較現有各種嵌入式操作系統的基礎上,分析了使用嵌入式Linux操作系統構造嵌入式系統的優點和缺陷,選定了嵌入式Linux操作系統作為本次設計的操作系統;選擇了samsung公司基于ARM920T內核的處理器S3C2410X作為嵌入式處理器;簡單介紹了S3C2410X的工作模式,并設計了系統的硬件和軟件結構方案。 這種基于嵌入式終端的工控監測系統主要由控制中心和嵌入式監測終端兩大部分組成。本文所主要涉及的就是該系統中的嵌入式監測終端部分,主要進行了嵌入式監測終端的硬件設計,嵌入式操作系統ARM-Linux的移植,建立交叉編譯環境,制作根文件系統,軟件部分主要是對驅動程序和終端應用程序的設計與實現進行了研究和介紹。重點介紹并了FPGA設備驅動程序的實現以及應用程序中的液晶顯示部分與實數EFT算法以及幾種數字信號的平均算法的C語言實現,最后,對本論文進行了總結,并指出了后續工作中需要注意的問題。 基于ARM-Linux的工控監測系統的研制對于監測網絡化是一個有益的嘗試,它的研制成功將會給工廠帶來更大的經濟效益。
標簽:
ARMLinux
工控
監測系統
上傳時間:
2013-07-20
上傳用戶:gjzeus
TLC2543是TI公司的12位串行模數轉換器,使用開關電容逐次逼近技術完成A/D轉換過程。由于是串行輸入結構,能夠節省51系列單片機I/O資源;且價格適中,分辨率較高,因此在儀器儀表中有較為廣泛的應用。
TLC2543的特點
(1)12位分辯率A/D轉換器;
(2)在工作溫度范圍內10μs轉換時間;
(3)11個模擬輸入通道;
(4)3路內置自測試方式;
(5)采樣率為66kbps;
(6)線性誤差±1LSBmax;
(7)有轉換結束輸出EOC;
(8)具有單、雙極性輸出;
(9)可編程的MSB或LSB前導;
(10)可編程輸出數據長度。
TLC2543的引腳排列及說明
TLC2543有兩種封裝形式:DB、DW或N封裝以及FN封裝,這兩種封裝的引腳排列如圖1,引腳說明見表1
TLC2543電路圖和程序欣賞
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit clock=P1^0; sbit d_in=P1^1;
sbit d_out=P1^2;
sbit _cs=P1^3;
uchar a1,b1,c1,d1;
float sum,sum1;
double sum_final1;
double sum_final;
uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar wei[]={0xf7,0xfb,0xfd,0xfe};
void delay(unsigned char b) //50us
{
unsigned char a;
for(;b>0;b--)
for(a=22;a>0;a--);
}
void display(uchar a,uchar b,uchar c,uchar d)
{
P0=duan[a]|0x80;
P2=wei[0];
delay(5);
P2=0xff;
P0=duan[b];
P2=wei[1];
delay(5);
P2=0xff;
P0=duan[c];
P2=wei[2];
delay(5);
P2=0xff;
P0=duan[d];
P2=wei[3];
delay(5);
P2=0xff;
}
uint read(uchar port)
{
uchar i,al=0,ah=0;
unsigned long ad;
clock=0;
_cs=0;
port<<=4;
for(i=0;i<4;i++)
{
d_in=port&0x80;
clock=1;
clock=0;
port<<=1;
}
d_in=0;
for(i=0;i<8;i++)
{
clock=1;
clock=0;
}
_cs=1;
delay(5);
_cs=0;
for(i=0;i<4;i++)
{
clock=1;
ah<<=1;
if(d_out)ah|=0x01;
clock=0;
}
for(i=0;i<8;i++)
{
clock=1;
al<<=1;
if(d_out) al|=0x01;
clock=0;
}
_cs=1;
ad=(uint)ah;
ad<<=8;
ad|=al;
return(ad);
}
void main()
{
uchar j;
sum=0;sum1=0;
sum_final=0;
sum_final1=0;
while(1)
{
for(j=0;j<128;j++)
{
sum1+=read(1);
display(a1,b1,c1,d1);
}
sum=sum1/128;
sum1=0;
sum_final1=(sum/4095)*5;
sum_final=sum_final1*1000;
a1=(int)sum_final/1000;
b1=(int)sum_final%1000/100;
c1=(int)sum_final%1000%100/10;
d1=(int)sum_final%10;
display(a1,b1,c1,d1);
}
}
標簽:
2543
TLC
上傳時間:
2013-11-19
上傳用戶:shen1230