基于ARM設(shè)計 的紅外光汽車速度管理系統(tǒng)研究
隨后,當(dāng)汽車達(dá)到N 點時——即在t2 時刻,暫穩(wěn)態(tài)電路2
被觸發(fā),UN’變?yōu)楦唠娖?,?jīng)過非門變?yōu)榈碗娖経N’’。此時G
門輸出由低電平變?yōu)楦唠娖剑珹RM 的CAP1.0 捕獲到UL由低電平
變高電平,發(fā)生上升沿捕獲,自動裝載T1TC 的值到捕獲寄存器
T1CR,并產(chǎn)生中斷,進(jìn)入中斷服務(wù)子程序。計算兩次捕獲寄存
器T1CR 的差值N 及計數(shù)器的工作頻率f,得到車輛通過兩測試
點M 點和N 點的時間差t2-t1。
2.3 ARM 核心板及觸摸顯示系統(tǒng)
系統(tǒng)核心板采用DEVICEARM2200 工控板, 其內(nèi)嵌飛利浦公司的LPC2294ARM7TDMI-S 嵌入式處理器,最高頻率60MHz,并帶有8M PSRAM 存儲器和16M NANDFlash,性能完全滿足高速車速測量系統(tǒng)的要求。由于其較小的封裝、極低的功耗,可使用電池供電,因此十分適合于野外無外接電源的情況下工作。
電路連接如圖 5 所示:顯示屏選用320×240 彩色液晶屏,將液晶控制器S1D13503 的AB0 至AB16 與LPC2294 的地址總線A1 至A17 相連,以16 位總線方式操作;S1D13503的數(shù)據(jù)總線DB0 至DB7 接LPC2294 的外部存儲器數(shù)據(jù)線D0 至D7, DB8 至DB15 接VDD,實現(xiàn)與LPC2294 的8 位數(shù)據(jù)總線連接;其硬件配置由兩片高速CMOS 靜態(tài)存儲器IS61C1024對S1D13503 的VD0 至VD15 來完成。四線電阻式觸摸屏可檢測到觸摸信號并通過觸摸屏控制器FM7843 將模擬信號轉(zhuǎn)換為位置坐標(biāo)數(shù)據(jù),傳遞給LPC2294 進(jìn)行處理[3]。
3 系統(tǒng)軟件設(shè)計
3.1 uclinux 系統(tǒng)移植
雖然當(dāng)前 uclinux 已經(jīng)支持無MMU 的ARM 體系結(jié)構(gòu),但由于具體使用的ARM 處理器芯片存儲系統(tǒng)不同、片內(nèi)的外設(shè)不同、中斷系統(tǒng)也不同,因此需添加或修改LPC2294 芯片相關(guān)的具體代碼[6]。包括:添加芯片型號、啟動代碼和描述機型的數(shù)據(jù)結(jié)構(gòu);修改中斷系統(tǒng)相關(guān)代碼并在include/asm-armnommu/arch-lpc/目錄下添加irq.h、irq.c 和irqs.h 文件,實現(xiàn)系統(tǒng)中斷;在include/asm-armnommu/arch-lpc/目錄下添加dma.h、memory.h、processor.h 等頭文件,并在hardware.h 文件中定義包括時鐘、串口、中斷控制器等寄存器地址;在include/asm-armnommu/arch-lpc/目錄下創(chuàng)建文件time.h、timex.h 及serial.h 實現(xiàn)時鐘串口驅(qū)動的移植;修改arch/armnommu/config 目錄下的config.in 文件設(shè)定菜單配置以及修改mach-lpc/makefile、linux-2.4.x/makefile 和arch/armnommu/makefile 等文件。
評論