基于ARM9的交通違章抓拍系統(tǒng)的開發(fā)
2.2 檢測電路設計
通常從交通指揮燈信號機中輸出的紅燈信號是220V/50Hz 的工頻交流電, 需要設計一個整流濾波電路將從信號機輸出的交通指揮燈信號變換為TTL 電平。交通指揮燈信號檢測部分采用一個光隔隔離內外電路, 從交通指揮燈信號機輸入至檢測板的是220V/50Hz 的交流電, 通過二級管全波整流后, 得到大約200V 的直流信號, 再經過電阻分壓, 接著使用100uF 的電容平波, 獲得5V 左右的直流電, 加到4N25 光隔輸入端, 輸出經過一個反向器獲得5VTTL 電平輸出, 轉換電路如圖5 所示。
本系統(tǒng)采用環(huán)形線圈檢測系統(tǒng), 環(huán)形線圈檢測系統(tǒng)目前國內外使用最廣泛的車輛檢測系統(tǒng), 它由3 部分組成: 埋設在路面下的環(huán)形線圈傳感器、信號檢測處理單元( 包括檢測信號放大單元、數(shù)據(jù)處理單元和通信接口) 及饋線。檢測單元、環(huán)形線圈與饋線線路共同組成一個LC 調諧電路。此電路中的電感主要決定于環(huán)形線圈的匝數(shù), 環(huán)形線圈是此電路的電感元件; 電容則決定于檢測單元中的電容的大小。當電流通過環(huán)形線圈時, 在其周圍形成一個電磁場, 當車輛行至線圈上方時, 在金屬車體中感應出渦流電流, 渦流電流產生與環(huán)路耦合、但方向相反電磁場, 即互感, 使環(huán)形線圈電感量隨之降低, 因而引起電路諧振頻率的上升。只要檢測到此頻率隨時間變化的信號, 就可檢測出是否有車輛通過。振蕩電路設計如圖6 所示。
3 軟件平臺的構建和應用程序的開發(fā)
3.1 構建軟件平臺
系統(tǒng)的引導過程包括以下步驟:
( 1) 處理器重新啟動以后, 執(zhí)行ROM啟動代碼。
( 2)ROM啟動代碼初始化CPU、內存控制器以及片上設備,然后配置存儲映射。隨后執(zhí)行bootloader.
( 3) bootloader 將內核從閃存解壓到RAM中, 然后跳到內核的第一條指令處執(zhí)行。
( 4) 內核初始化各種硬件設備, 掛載根文件系統(tǒng), 然后執(zhí)行init 進程。
( 5) Init 進程裝載運行時共享庫, 讀取配置文件/etc/inittab,執(zhí)行腳本/etc/rc.d/rcS.
構建嵌入式軟件平臺需要準備以下工作: 制作內核、創(chuàng)建根文件系統(tǒng)和生成啟動代碼bootloader.
3.1.1 制作Linux 內核
采用Linux2.6.12 的內核。在Linux2.6 中, 引入了很多非常有利于嵌入式應用的功能。這些新功能包括實時性能的增強、更方便的移植性、對大容量內存的支持、支持微控制器和I/O系統(tǒng)的改進等。2.6.12 提供了針對S3C2410 的配置, 使用命令make s3c2410_defconfig, 然后配置內核使用命令make menuconfig,配置體系結構( System Type) , 選擇S3C2410 Implementation,配置處理器類型, 選擇ARM9T, 接著配置通用選項, 支持網(wǎng)絡、SYSVIPC 機制、支持ELF 文件格式, 選擇根文件系統(tǒng)為JFFS2, 然后再配置網(wǎng)絡, 選擇網(wǎng)絡設備支持, 選擇串口支持、選擇文件系統(tǒng)與網(wǎng)絡文件系統(tǒng), 配置USB 設備選項, 由于數(shù)碼相機是USB 設備, 我們使用libusb0.1.10 版本的驅動支持, 所以需要修改內核源碼usb.c 文件, 不把數(shù)碼相機作為USB 存儲設備。編譯內核映像使用命令make zImage, 建立模塊使用命令make modules.
3.1.2 創(chuàng)建根文件系統(tǒng)
根文件系統(tǒng)是所有Unix 系統(tǒng)不可或缺的組件, 頂層目錄/bin、/dev、/etc、/lib、/proc、/sbin 和/usr 是必須的。有幾項工作非常重要, 首先是建立安裝GNU C 鏈接庫, glibc 套件包括若干鏈接庫, 比如數(shù)學鏈接庫libm- 2.2.3.so, 共享c 鏈接庫libc- 2.2.3.so.
除了鏈接庫文件, 還要復制動態(tài)鏈接庫及其符號連接。再就是建立設備文件, 按照Unix 的傳統(tǒng), 任何對象都可視為文件, 所有設備節(jié)點都放在/dev 目錄下, 包括zero、random、tty0、tty1、ttyS0、tty、console、mem、null, 另外還需要建立必要的符號連接:
fd- >/proc/self/fd, stdin- >fd/0, stdout- >fd/1, stderr- >fd/2.然后選擇主要的系統(tǒng)命令, BusyBox 無疑是最方便的套件, 成功安裝后, /bin 目錄下會出現(xiàn)二進制文件busybox, 對需要的命令建立對BusyBox 的符號連接。
為根文件系統(tǒng)選擇文件系統(tǒng)是很重要的工作。JFFS2 文件系統(tǒng)的特點是可被寫入、具有永久性、斷電可靠性而且可以壓縮。JFFS2 會為垃圾回收功能維護空間, 提供斷電可靠性和損耗平衡這兩個對flash 系統(tǒng)非常重要的特性。由于抓拍系統(tǒng)工作在開放式的環(huán)境中, 穩(wěn)定性、可靠性是首先要考慮的, 所以選擇JFFS2.用mkfs.jffs2 工具程序建立文件系統(tǒng)的映像: mkfs.
jffs2- r rootfs/- o images/rootfs- jffs2.image.
評論