發布日期:2022-08-21 點擊率:40
摘要:針對工業控制中數據采集的需求,設計開發了基于S3C2410的傳感器網絡數據采集系統,給出了系統的整體設計方案、蛄構框圖。整個系統硬件體積小、運行穩定、維護和升級方便。實現了數據采集、傳輸、處理、量示及控制功能。
O 引言
隨著嵌入式系統與通信技術的不斷發展,各種嵌入式設備正在以不同形式改變著人們的日常生活,ARM技術作為嵌入式系統的主流技術,它己逐漸取代了單片機控制技術,使用ARM處理器對工業現場傳感器傳出的電流電壓信號以及一些熱工參數進行數據采集已經成為主流。
本設計在基于嵌入式Linux系統平臺上。實現一個基于ARM、Linux平臺的傳感器網絡系統,完成數據的采集、處理、通訊、存儲、查詢和圖形顯示功能。
1 系統總體組成
本設計采用將數據采集節點作為客戶端,將采集得來數據通過TCP/IP協議傳輸到網關節點,由網關服務器存儲數據,并轉發。主控機可以通過CGI查詢任—個客戶端傳感器數據,并對傳感器進行控制。如圖l所示。
1.1 節點的硬件組成
考慮到各采集節點的完全獨立性,前端設備采用嵌入式設計方法,其硬件組成結構如圖2所示。
傳感器節點作為客戶端負責對數據采集,并通過模數轉化將數據傳輸給網關節點。網關節點接受到數據后存入數據庫。通過CGI響應PC機上的查詢、控制。
1.2 數據的預處理
節點數據的預處理,主要是檢測采集的數據,對其進行合法過濾。按照既定協議,為數據分配數據頭、間隔符、校驗碼,重新封裝成數據流,采用TCP/IP協議,通過網絡發送到主機。
1.3 數據的存儲及傳輸
存儲器系統負責系統的靜態存儲與動態存儲。其中flash用于靜態存儲,SDRAM用于動態存儲。flash又分為norflash和nandflash。no-rflash支持直接啟動用于存儲程序代碼,nandflash用于存儲數據信息。SDRAM存儲器速度快,主要作為程序的運行空間。
采集節點作為客戶端,將數據打包傳輸給網關節點,網關節點作為服務器,校驗數據有效后,存入flash數據庫中。通過CGI程序響應PC查詢。
2 系統的軟件設計
系統的軟件構成分為引導驅動程序、操作系統、文件系統和應用程序4部分,如圖3所示,引導驅動程序在系統啟動時進行內存重映射,將保存在Flash中的操作系統和應用程序重新映射到SDRAM中,為方便起見也可以配置好啟動腳本。Linux內核版本為LinuX2.6。文件系統為Yaffs。包括模塊、配置文件和庫等。系統的應用程序建立在Linux內核、ADC字符驅動和文件系統之上,可動態加載。
3 節點配置
3.1 采集節點配置
(1)配置S3C2410開發板的NFS Root啟動方式。先把rootfs/目錄下的srv目錄刪除,再把采集端發布包中的srv與node兩個目錄都拷貝到rootfs目錄下。
(2)以NFS方式啟動S3C2410開發板,配置YAFFS文件系統。
(3)在配置YAFFS文件系統的過程中,在mount-t yaffs/dev/mtdblock3/mnt這一步之后,增加以下步驟:
cd/mnt
rm-r srv
cp-r/srv/node/mnt
然后繼續繼續完成剩下的yaffs文件系統的配置步驟,最后注意一定要
(4)配置采集端啟動腳本
vi/etc
(5)重啟S3C2410采集端開發板,進入vivi,配置paraset linux_cmd_line啟動參數為從YAFFS啟動。para save之后鍵入boot,啟動開發板,把開發板接入網絡中,從PC機上運行瀏覽器,在地址欄上輸入http://192.168.0.25/,(注意,這里192.168.0.25是采集端IP地址,應根據實際IP地址輸入),打開設置網關IP地址的網頁,設置網關IP地址為192.168.0.100。
在采集端串口終端下執行如下內容:
#cd/node
#./app
3.2 網關節點配置
(1)配置S3C2A10開發板的NFS Root啟動方式。先把rootfs/目錄下的srv目錄刪除,再把采集端發布包中的www文件夾與app可執行文件拷貝到rootfs/srv/目錄下和rootfs/srv/www 下。
(2)以NFS方式啟動S3C2410開發板,配置YAFFS文件系統。
(3)在配置YAFFS文件系統的過程中,在mount-t ysffs/dev/mtdblock3/mnt這一步之后,增加以下步驟:
cd/mnt
rm-r srv
cp-r/srv/mnt
然后繼續繼續完成剩下的yaffs文件系統的配置步驟,最后注意一定要
umount/mnt
(4)配置采集端啟動腳本
vi/etc/init.d/rcS
在里面httpd-h/srv/www一句之前增加以下內容:
Ifconfig eth0 up
Ifconfig eth0 192.168.0.100
Ifconfig lo up
(5)重啟S3C2410采集端開發板,進入vivi,配置paraset linux_cmd_line啟動參數為從YAFFS啟動。para save之后鍵入boot,啟動開發板,到/srv/www下執行app,把開發板接入網絡中,從PC機上運行瀏覽器,在地址欄上輸入http://192.168.0.100/,輸入IP地址就可以找剄相應節點所采集到的數值。
4 總結
嵌入式Linux因其源碼開放、內核穩定高效及支持多種體系結構等優點在嵌入式系統中應用廣泛,本文在陸眥操作系統上,通過交叉編譯環境編譯后生成可執行代碼,可以成功移植到目標平臺上,經測試發現,本系統穩定,易維護。可實現包括數據采集、處理、通訊、存儲、查詢等功能。/init.d/rcS
在里面httpd-h/srv/www一句之前增加以下內容:
Ifconfig eth0 up
Ifconfig eth0 192.168.0.25(注意:這里192.168.0.25是采集端開發板IP,各采集端IP不同,而且需要都在同一個網段上,我們統一選擇網段192.168.0.*)。
Ifconfig lo up
mknod/dev/adc_char c 240 0
cd/node
Insmod ado.ko
下一篇: PLC、DCS、FCS三大控
上一篇: FBG光學傳感器基礎