新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于IPv6和ARM9的地震烈度計(jì)開發(fā)

基于IPv6和ARM9的地震烈度計(jì)開發(fā)

作者: 時(shí)間:2011-09-22 來源:網(wǎng)絡(luò) 收藏
2.3 嵌入式系統(tǒng)

本文引用地址:http://butianyuan.cn/article/155697.htm

  嵌入式系統(tǒng)采用三星公司ARM微處理器的S3C2410X。S3C2410X采用6層板設(shè)計(jì),使用20T內(nèi)核,內(nèi)部帶有全性能的MMU(內(nèi)存處理單元),具有高性能、低功耗、接口豐富和體積小等優(yōu)良特性。在盡可能小的板面上集成了64 MB SDRAM、64 MB NAND FLASH,1 MB BOOT FLASH,RJ 45網(wǎng)卡,USB Host,標(biāo)準(zhǔn)串口,SD卡插座等??杉汕度胧綗o線局域網(wǎng)設(shè)備,實(shí)現(xiàn)數(shù)據(jù)采集和無線傳輸。

  2.4 定位模塊

  選用的GPS模塊,接收特性:16通道,L1,C/A碼;自帶陶瓷天線;啟動(dòng)時(shí)間:冷啟動(dòng)45 s、溫啟動(dòng)38 s、熱啟動(dòng)2~8 s;精度2.5 m CEP;再捕獲1 s,1PPS;刷新頻率:4 Hz;內(nèi)置LNA;速度4 g。

  2.5 通訊部件

  考慮到地震行業(yè)地震觀測的實(shí)際需要,采用了符合IEEE802.11b的無線網(wǎng)卡和通信距離達(dá)到1.2km的無線AP構(gòu)成通信鏈路,作為SI一2型計(jì)的無線通訊單元。

  2.6 電源模塊

  選用可充電的鋰電池組作為供電電源,便于長期重復(fù)使用。電池組容量為60 Ah。

  3 系統(tǒng)功能實(shí)現(xiàn)

  3.1 SI一2型傳感器的

  ARM嵌入式系統(tǒng)自帶的操作系統(tǒng)一般是Linux2.4內(nèi)核的,為支持須將操作系統(tǒng)的內(nèi)核進(jìn)行重新編譯,升級(jí)為2.6版本內(nèi)核。但Linux 2.6內(nèi)核重編譯是一個(gè)比較復(fù)雜的過程,具體步驟如下:

  3.1.1 建立交叉編譯環(huán)境

  在RedHat9的主機(jī)上進(jìn)行內(nèi)核移植,首先需要建立交叉編譯環(huán)境。由于2.6內(nèi)核中采用了一些新的特性和指令,需要采用較新的工具集。采用binutils一2.15,gcc一3.4.2,glibc一2.2.5,linux一2.6.8,glibc—linuxthreads-2.2.5來建立交叉編譯工具鏈,建立之后將工具鏈路徑加入系統(tǒng)路徑MYMPATH中。

  3.1.2 內(nèi)核修改

  Linux 2.6.11.7內(nèi)核加入了對(duì)S3C2410芯片的支持,不再需要任何補(bǔ)丁文件。修改內(nèi)核源碼中Makefile的交叉編譯選項(xiàng)ARCH=arm,CROSS COMPILE=arm—linux一。針對(duì)硬件配置,需要在arch/arm/mach—s3c2410/devs.c或者smdk2410.c中添加FLASH的分區(qū)信息s3c nand info。然后在s3c device nand中增加.dev={.platform data=s3c nand info},在arch/arm/mach—s3c2410/mach—smdk2410.c中的initdata部分增加s3c device nand,使內(nèi)核在啟動(dòng)時(shí)初始化NAND FLASH信息。

  3.1.3 內(nèi)核編譯加載

  由于2.6內(nèi)核會(huì)根據(jù)本地系統(tǒng)配置進(jìn)行初始設(shè)置,可以導(dǎo)入內(nèi)核源碼默認(rèn)S3C2410的配置文件,方便加載內(nèi)核基本配置,然后再選擇所需選項(xiàng)。對(duì)MTD配置選擇支持MTD設(shè)備驅(qū)動(dòng)以及NAND FLASH驅(qū)動(dòng);選擇支持要用到的各類文件系統(tǒng)(DEVFS,TMPFS,CRAMFS,YAFFS,EXT2,NFS)以及網(wǎng)絡(luò)設(shè)備和協(xié)議,本傳感器系統(tǒng)加載了網(wǎng)絡(luò)芯片CS8900以及USB支持;在H.264多媒體系統(tǒng)中還需要加載Frame buff—er以支持LCD顯示功能。使用交叉編譯工具編譯內(nèi)核源碼后,會(huì)在arch/arm/1boot/下生成名為zImage的內(nèi)核映像,在Boot loader的命令提示模式下使用下載命令完成內(nèi)核加載到板的存儲(chǔ)設(shè)備FLASH中。

  3.1.4 文件系統(tǒng)定制

  Linux采用文件系統(tǒng)來組織系統(tǒng)中的文件和設(shè)備,為設(shè)備和用戶程序提供統(tǒng)一接口。Linux支持多種文件系統(tǒng),本系統(tǒng)使用CRAMFS格式的只讀根文件系統(tǒng),而將FLASH中的USER區(qū)使用支持可讀寫的YAFFS文件系統(tǒng)格式,方便添加自己的應(yīng)用程序。

  3.2 計(jì)主要硬件設(shè)備驅(qū)動(dòng)

  3.2.1 網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)

  系統(tǒng)中采用CS8900A的lO Mb/s網(wǎng)絡(luò)芯片,它使用S3C2410的nGCS3和IRQ_EINT9,相應(yīng)修改linux/arch/arm/mach—s3c2410/irq.c,并在roach—smdk24.10.c的smdk2410_iodesc[]中增加{SMDK2410_ETH_IO,S3C2410_CS2,SZ_1M,MT_DEVICE},內(nèi)核源碼中加入芯片的驅(qū)動(dòng)程序drivers/net/arm/cs8900.h和cs8900.c,并且配置網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)的Makefile和Kcon—fig文件,加入CS8900A的配置選項(xiàng),這樣可以在內(nèi)核編譯時(shí)加載網(wǎng)絡(luò)設(shè)備的驅(qū)動(dòng)。

  3.2.2 無線網(wǎng)卡驅(qū)動(dòng)程序

  從網(wǎng)上下載rt2x00的IPv4環(huán)境下的驅(qū)動(dòng)程序,并針對(duì)該程序進(jìn)行化改造,對(duì)其驅(qū)動(dòng)程序進(jìn)行修改,在系統(tǒng)重編譯的時(shí)候,將驅(qū)動(dòng)程序加入到系統(tǒng)的內(nèi)核中。將無線網(wǎng)卡的驅(qū)動(dòng)程序作為一個(gè)模塊打包到操作系統(tǒng)中,可避免系統(tǒng)掉電后每次都要重裝無線網(wǎng)卡驅(qū)動(dòng)程序。

  3.3 地震烈度計(jì)終端的軟件設(shè)計(jì)

  通訊傳輸軟件主要負(fù)責(zé)完成傳感器與業(yè)務(wù)服務(wù)系統(tǒng)之間的IPv6數(shù)據(jù)通信,軟件功能如下:

  (1)傳感器在成功接入到IPv6傳感器網(wǎng)絡(luò)后主動(dòng).向業(yè)務(wù)服務(wù)器發(fā)送傳感器上線通知;

  (2)傳感器在成功上線后每隔30 s主動(dòng)采集烈度傳感器的烈度值并上報(bào)給業(yè)務(wù)服務(wù)器;

  (3)進(jìn)行GPS時(shí)間校準(zhǔn);

  (4)進(jìn)行GPS定位(每隔8 min重新定位一次并上報(bào)定位數(shù)據(jù));

  (5)業(yè)務(wù)服務(wù)器每隔10 min請(qǐng)求一次傳感器配置參數(shù);

  (6)響應(yīng)業(yè)務(wù)服務(wù)器的配置參數(shù)請(qǐng)求、數(shù)據(jù)請(qǐng)求、歷史數(shù)據(jù)請(qǐng)求、是否在線響應(yīng)。

  通訊軟件包括:GPS數(shù)據(jù)處理子程序,A/D數(shù)據(jù)采集子程序,通訊子程序和傳感器配置文件。對(duì)于不同的傳感器,需要修改配置文件中的傳感器IP、傳感器ID和傳感器序列號(hào)。傳感器終端軟件結(jié)構(gòu)見圖2。

  



關(guān)鍵詞: 開發(fā) 地震烈度 ARM9 IPv6 基于

評(píng)論


相關(guān)推薦

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

關(guān)閉