嵌入式系統采用三星公司基于ARM微處理器的S3C2410X。S3C2410X采用6層板設計,使用ARM920T內核,內部帶有全性能的MMU(內存處理單元),具有高性能、低功耗、接口豐富和體積小等優良特性。在盡可能小的板面上集成了64 MB SDRAM、64 MB NAND FLASH,1 MB BOOT FLASH,RJ 45網卡,USB Host,標準串口,SD卡插座等。可集成嵌入式無線局域網設備,實現數據采集和無線傳輸。
2.4 定位模塊
選用的GPS模塊,接收特性:16通道,L1,C/A碼;自帶陶瓷天線;啟動時間:冷啟動45 s、溫啟動38 s、熱啟動2~8 s;精度<2.5 m CEP;再捕獲<1 s,1PPS;刷新頻率:4 Hz;內置LNA;速度<4 g。
2.5 通訊部件
考慮到地震行業地震觀測的實際需要,采用了符合IEEE802.11b的無線網卡和通信距離達到1.2km的無線AP構成通信鏈路,作為SI一2型地震烈度計的無線通訊單元。
2.6 電源模塊
選用可充電的鋰電池組作為供電電源,便于長期重復使用。電池組容量為60 Ah。
3 系統功能實現
3.1 SI一2型地震烈度傳感器的IPv6化
ARM嵌入式系統自帶的操作系統一般是Linux2.4內核的,為支持IPv6須將操作系統的內核進行重新編譯,升級為2.6版本內核。但Linux 2.6內核重編譯是一個比較復雜的過程,具體步驟如下:
3.1.1 建立交叉編譯環境
在RedHat9的主機上進行內核移植開發,首先需要建立交叉編譯環境。由于2.6內核中采用了一些新的特性和指令,需要采用較新的工具集。采用binutils一2.15,gcc一3.4.2,glibc一2.2.5,linux一2.6.8,glibc—linuxthreads-2.2.5來建立交叉編譯工具鏈,建立之后將工具鏈路徑加入系統路徑MYMPATH中。
3.1.2 內核修改
Linux 2.6.11.7內核加入了對S3C2410芯片的支持,不再需要任何補丁文件。修改內核源碼中Makefile的交叉編譯選項ARCH=arm,CROSS COMPILE=arm—linux一。針對硬件配置,需要在arch/arm/mach—s3c2410/devs.c或者smdk2410.c中添加FLASH的分區信息s3c nand info。然后在s3c device nand中增加.dev={.platform data=&s3c nand info},在arch/arm/mach—s3c2410/mach—smdk2410.c中的initdata部分增加&s3c device nand,使內核在啟動時初始化NAND FLASH信息。
3.1.3 內核編譯加載
由于2.6內核會根據本地系統配置進行初始設置,可以導入內核源碼默認S3C2410的配置文件,方便加載內核基本配置,然后再選擇所需選項。對MTD配置選擇支持MTD設備驅動以及NAND FLASH驅動;選擇支持要用到的各類文件系統(DEVFS,TMPFS,CRAMFS,YAFFS,EXT2,NFS)以及網絡設備和協議,本傳感器系統加載了網絡芯片CS8900以及USB支持;在H.264多媒體系統中還需要加載Frame buff—er以支持LCD顯示功能。使用交叉編譯工具編譯內核源碼后,會在arch/arm/1boot/下生成名為zImage的內核映像,在Boot loader的命令提示模式下使用下載命令完成內核加載到開發板的存儲設備FLASH中。
3.1.4 文件系統定制
Linux采用文件系統來組織系統中的文件和設備,為設備和用戶程序提供統一接口。Linux支持多種文件系統,本系統使用CRAMFS格式的只讀根文件系統,而將FLASH中的USER區使用支持可讀寫的YAFFS文件系統格式,方便添加自己的應用程序。
3.2 地震烈度計主要硬件設備驅動
3.2.1 網絡設備驅動
系統中采用CS8900A的lO Mb/s網絡芯片,它使用S3C2410的nGCS3和IRQ_EINT9,相應修改linux/arch/arm/mach—s3c2410/irq.c,并在roach—smdk24.10.c的smdk2410_iodesc[]中增加{SMDK2410_ETH_IO,S3C2410_CS2,SZ_1M,MT_DEVICE},內核源碼中加入芯片的驅動程序drivers/net/arm/cs8900.h和cs8900.c,并且配置網絡設備驅動的Makefile和Kcon—fig文件,加入CS8900A的配置選項,這樣可以在內核編譯時加載網絡設備的驅動。
3.2.2 無線網卡驅動程序
從網上下載rt2x00的IPv4環境下的驅動程序,并針對該程序進行IPv6化改造,對其驅動程序進行修改,在系統重編譯的時候,將驅動程序加入到系統的內核中。將無線網卡的驅動程序作為一個模塊打包到操作系統中,可避免系統掉電后每次都要重裝無線網卡驅動程序。
3.3 地震烈度計終端的軟件設計
通訊傳輸軟件主要負責完成傳感器與業務服務系統之間的IPv6數據通信,軟件功能如下:
(1)傳感器在成功接入到IPv6傳感器網絡后主動.向業務服務器發送傳感器上線通知;
(2)傳感器在成功上線后每隔30 s主動采集烈度傳感器的烈度值并上報給業務服務器;
(3)進行GPS時間校準;
(4)進行GPS定位(每隔8 min重新定位一次并上報定位數據);
(5)業務服務器每隔10 min請求一次傳感器配置參數;
(6)響應業務服務器的配置參數請求、數據請求、歷史數據請求、是否在線響應。
通訊軟件包括:GPS數據處理子程序,A/D數據采集子程序,通訊子程序和傳感器配置文件。對于不同的傳感器,需要修改配置文件中的傳感器IP、傳感器ID和傳感器序列號。傳感器終端軟件結構見圖2。
?
評論
查看更多