本論文研究了基于ARM+Linux的嵌入式測控系統。論文闡述了嵌入式測控系統的特點。結合目前比較流行的SOC硬件技術,嵌入式軟件技術,以及目前較前沿的無線傳感器網絡技術,對構建一個既能進行本地多傳感器信息采集又能進行數據處理以及具有人機交互界的嵌入式測控系統進行了架構設計,即采用ARM+Linux架構。 論文詳細介紹了系統的硬件設計,包括核心板設計和應用底板設計。其中核心板又包括微處理器的設計和存儲器的設計;對于應用板,介紹了基于CS8900A的網絡模塊的設計,基于RS232和RS485的串行總線設計,以及基于ZigBee的無線模塊設計。同時,本論文詳細的介紹了系統的軟件設計。結合本系統所采用的U-Boot介紹了嵌入式Bootloader設計,并針對本系統的板級硬件對U-Boot進行了移植。結合本系統采用的Linux操作系統介紹了嵌入式操作系統的概念,并對Linux進行了板級移植。在分析研究嵌入式文件系統的特點的基礎上,確定Cramfs作為本系統的根文件系統,并結合現有的開源軟件Busybox搭建了一個完整的根文件系統命令集。 在本系統硬、軟件平臺上,研究了終端應用層上的開發。并完成了在終端上的嵌入式圖形用戶界面QT的移植,并且為系統開發出相應的I/O和A/D設備驅動驅動程序。 論文在最后介紹了本系統的一個簡單應用,即利用QT圖形庫和多線程編程技術,在現有的硬件平臺上設計出了一個溫度和濕度的無線數據采集程序。顯示直觀,界面友好,體現了本平臺具有一定的應用前景。
上傳時間: 2013-07-06
上傳用戶:martinyyyl
設備狀態監測技術是計算機科學、測試技術、信號分析與數據處理技術等相結合的一種設備運行信息分析處理方法。將嵌入式計算機技術與數據采集技術及數字信號處理技術結合起來,構成一種體積小、便于攜帶、易于網絡化、造價相對較低,集信號采集、處理、存儲和顯示為一體的設備具有廣泛的應用前景。 本文通過對傳統工控監測技術方案以及本項目具體功能和指標的分析,提出了ARM+嵌入式Linux架構的技術方案。采用多個嵌入式設備終端作為監測系統數據的采集終端,然后通過GPRS模塊連入Internet,通過Internet上的多臺主機作為監控中心,各自運行相應的包括網絡管理功能的應用程序,實現監測數據自動、可靠的采集、存儲、處理、實時顯示及實時數據遠程傳輸,進而實現分布式、網絡化和自動化的設備監測系統新模式。 本文首先介紹了嵌入式技術的國內外研發現狀。給出了嵌入式監測系統總體設計方案。根據系統的功能和要求的技術指標,在綜合比較現有各種嵌入式操作系統的基礎上,分析了使用嵌入式Linux操作系統構造嵌入式系統的優點和缺陷,選定了嵌入式Linux操作系統作為本次設計的操作系統;選擇了samsung公司基于ARM920T內核的處理器S3C2410X作為嵌入式處理器;簡單介紹了S3C2410X的工作模式,并設計了系統的硬件和軟件結構方案。 這種基于嵌入式終端的工控監測系統主要由控制中心和嵌入式監測終端兩大部分組成。本文所主要涉及的就是該系統中的嵌入式監測終端部分,主要進行了嵌入式監測終端的硬件設計,嵌入式操作系統ARM-Linux的移植,建立交叉編譯環境,制作根文件系統,軟件部分主要是對驅動程序和終端應用程序的設計與實現進行了研究和介紹。重點介紹并了FPGA設備驅動程序的實現以及應用程序中的液晶顯示部分與實數EFT算法以及幾種數字信號的平均算法的C語言實現,最后,對本論文進行了總結,并指出了后續工作中需要注意的問題。 基于ARM-Linux的工控監測系統的研制對于監測網絡化是一個有益的嘗試,它的研制成功將會給工廠帶來更大的經濟效益。
上傳時間: 2013-07-20
上傳用戶:gjzeus
論文的工作是基于“流媒體網絡廣播系統”項目。在調研和消化多套國內外相關實驗平臺系統的基礎上,研究開發了基于ARM9處理器和嵌入式Linux操作系統的多功能實時計算機處理系統,并且根據實際需要構建了此系統的軟硬件平臺。流媒體網絡廣播系統是當前IT領域比較熱門的前沿技術,正是因為這前沿技術使得實際構建出的系統功能強大、體積小、成本低、具有相當強的可擴展性,完全能夠取代當前傳統廣播系統中廣泛采用的模擬信號傳輸方式,同時也更好解決了以往這種結構帶來的價格昂貴、體積龐大、系統利用率低等諸多劣勢。 本文設計開發了基于AMR-Linux的流媒體網絡廣播平臺,該系統基于SamsLlmgS3C2410處理器,采用嵌入式ARM-Linux操作系統,通過HTTP協議傳輸流媒體,利用MP3標準實現對音頻的解碼,從而支持流媒體網絡廣播功能。本論文設計了系統的軟件部分,包括底層軟件BootLoader、ARM-Linux操作系統、根文件系統、網卡的驅動程序等并提出了下一步工作的建議和設想。 基于ARM-Linux系統的軟件設計方法是本論文的重點和難點,也是論文的核心內容。流媒體網絡廣播系統已經經過測試,實際的應用效果表明該系統是可行的也是可靠的,同傳統的廣播系統相比,體現出了明顯的優勢。
上傳時間: 2013-05-29
上傳用戶:zhenyushaw
隨著軟硬件技術的不斷發展,嵌入式系統的應用越來越廣泛,嵌入式技術也全面滲透到日常生活的每一個角落。掌上漢語學習機系統的開發是為滿足對漢語學習有需要的人群。隨著經濟、技術的不斷提高,中國逐漸走向國際化,漢語學習人員的人數也不斷增加,開發出一款掌上漢語學習機系統是有充分的市場需求的。 系統的開發環境是基于ARM-Linux開發平臺,并應用了嵌入式開發的相關關鍵技術,包括嵌入式圖形用戶界面系統MiniGUI和嵌入式數據庫SQLite,系統開發的目的是在這些技術的基礎上,為需要學習漢語的人員提供一款界面友好、功能豐富的語言學習工具。 本文主要講述的是掌上漢語學習機系統的軟件開發過程以及開發過程中涉及的開發環境及開發技術。隨著手持設備的硬件條件的提高,嵌入式系統對輕量級GUI的需求越來越迫切,圖形用戶界面的支持是實現一個完善的語言學習系統的基礎,本文首先從圖形用戶界面的歷史、技術特點、結構模型、發展狀況等方面做了介紹,然后介紹了MiniGUI的體系結構和版本,以及移植的方法和過程,還詳細闡述了應用程序開發中對MiniGUI函數庫的使用和調用方法。同時一個簡單實用的數據庫的支持會為系統中的數據處理和組織提供方便,本項目中有六個字典和其它學習程序,對數據的處理也相當多,本文介紹了嵌入式數據庫的知識和Sqlite數據庫在項目中的使用和開發技術。最后,以系統中的單位換算模塊為例詳細介紹了應用程序的開發過程。本文的內容涉及了嵌入式Linux軟件開發的主要技術,在ARM-Linux嵌入式開發領域具有很強的實踐意義。
上傳時間: 2013-06-15
上傳用戶:songrui
隨著經濟與科技的發展,人們對住宅小區提出了智能化的要求:一方面住戶要求能夠遠程監視家庭環境和控制家電設備;另一方面,小區管理人員要求實現對小區事務的統一管理。計算機、通信和ARM嵌入式技術為小區的智能化提供了有力的技術支持。 本文來源于實驗室與日本NTT公司合作的智能家居項目,提出一種基于ARM-Linux平臺的小區智能監控系統的實現方案。系統包括小區網關、家庭中繼器和家庭傳感器/開關設備三部分。家庭中繼器通過RS485總線連接家庭內部各種傳感器和開關設備組成家庭內部通信網,中繼器可以在家庭內部網中集中采集傳感器數據和控制家電開關設備。小區網關通過Ethernet連接各家庭中繼器組成小區局域網,它可以統一管理所有家庭中繼器和家庭設備。用戶可以通過Internet訪問小區網關的Web服務器來查看家庭內部傳感器信息或發送操作指令來遠程控制家電開關設備,小區管理人員也可以通過小區網關的服務器發布小區管理信息。從而,實現家庭監控和小區管理的智能化。 本文主要工作包括:家庭中繼器的硬件設計、系統軟件移植和應用軟件設計;小區網關的軟件設計;家庭內通信網與小區局域網的組網以及在通信網絡中采用的通信協議的設計。通過對實驗室原型系統的實驗與測試,證明小區智能監控系統能夠良好運行。
上傳時間: 2013-07-27
上傳用戶:zxc23456789
特點: 精確度0.1%滿刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT類比輸出功能 輸入與輸出絕緣耐壓2仟伏特/1分鐘(input/output/power) 寬范圍交直流兩用電源設計 尺寸小,穩定性高
上傳時間: 2014-12-23
上傳用戶:ydd3625
特點(FEATURES) 精確度0.1%滿刻度 (Accuracy 0.1%F.S.) 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 類比輸出功能(16 bit DAC isolating analog output function) 輸入/輸出1/輸出2絕緣耐壓2仟伏特/1分鐘(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 寬范圍交直流兩用電源設計(Wide input range for auxiliary power) 尺寸小,穩定性高(Dimension small and High stability)
上傳時間: 2013-11-24
上傳用戶:541657925
/*--------- 8051內核特殊功能寄存器 -------------*/ sfr ACC = 0xE0; //累加器 sfr B = 0xF0; //B 寄存器 sfr PSW = 0xD0; //程序狀態字寄存器 sbit CY = PSW^7; //進位標志位 sbit AC = PSW^6; //輔助進位標志位 sbit F0 = PSW^5; //用戶標志位0 sbit RS1 = PSW^4; //工作寄存器組選擇控制位 sbit RS0 = PSW^3; //工作寄存器組選擇控制位 sbit OV = PSW^2; //溢出標志位 sbit F1 = PSW^1; //用戶標志位1 sbit P = PSW^0; //奇偶標志位 sfr SP = 0x81; //堆棧指針寄存器 sfr DPL = 0x82; //數據指針0低字節 sfr DPH = 0x83; //數據指針0高字節 /*------------ 系統管理特殊功能寄存器 -------------*/ sfr PCON = 0x87; //電源控制寄存器 sfr AUXR = 0x8E; //輔助寄存器 sfr AUXR1 = 0xA2; //輔助寄存器1 sfr WAKE_CLKO = 0x8F; //時鐘輸出和喚醒控制寄存器 sfr CLK_DIV = 0x97; //時鐘分頻控制寄存器 sfr BUS_SPEED = 0xA1; //總線速度控制寄存器 /*----------- 中斷控制特殊功能寄存器 --------------*/ sfr IE = 0xA8; //中斷允許寄存器 sbit EA = IE^7; //總中斷允許位 sbit ELVD = IE^6; //低電壓檢測中斷控制位 8051
上傳時間: 2013-10-30
上傳用戶:yxgi5
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); } }
上傳時間: 2013-11-19
上傳用戶:shen1230
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上傳時間: 2013-10-21
上傳用戶:13788529953