基于32位高性能嵌入式處理器的門禁考勤系統(tǒng)
近幾年來,隨著市場(chǎng)上智能化樓宇的不斷升溫,門禁考勤系統(tǒng)已作為智能化辦公室的一種標(biāo)志被各商家用戶所接受。人們已開始習(xí)慣用感應(yīng)卡代替?zhèn)鹘y(tǒng)的鐵鑰匙去管理各通道門,這使門禁系統(tǒng)得到了飛躍性的發(fā)展。在2000年,全世界的門禁系統(tǒng)銷量比1999增長(zhǎng)了接近10倍,占整個(gè)安防市場(chǎng)的40%。 初期的門禁系統(tǒng)主要是應(yīng)用在本地化通道管理領(lǐng)域,人們利用門禁系統(tǒng)去管理本地端的通道門,受系統(tǒng)連接線路的限制,系統(tǒng)的覆蓋范圍僅達(dá)幾百米。后來,門禁系統(tǒng)引入總線制技術(shù)使系統(tǒng)的覆蓋范圍擴(kuò)展至幾km,大大地?cái)U(kuò)展了系統(tǒng)的容量。1 mc68vz328的性能特點(diǎn)motorola的mc68vz328屬于dragonball(龍珠)系列,但較之于前面的產(chǎn)品具有更高的性能,例如速度更快、功耗更低,內(nèi)置lcd控制器,可直接掛接最大640x512點(diǎn)陣式圖形lcd等,具體特性如下所述:時(shí)鐘周期60ns,工作電壓3.3v;
8個(gè)片選信號(hào),每個(gè)片選信號(hào)的地址空間可由程序設(shè)置;
支持3種工作模式:正常模式、突發(fā)模式、睡眠模式;
18個(gè)邊沿和電子中斷,分為7個(gè)不同等級(jí)的中斷;
54個(gè)i/o口,大部分是復(fù)用的,可對(duì)相應(yīng)的寄存器進(jìn)行設(shè)置來改變i/o的用途;
脈寬調(diào)制器,可以用于發(fā)聲;
通用定時(shí)器具有60ns的分辨率,最長(zhǎng)定時(shí)時(shí)間為524 s;
通用異步收發(fā)器支持的最高波特率為115 200b/s,同時(shí)支持紅外通訊;
支持單色lcd顯示屏,支持2位,4位和1位的數(shù)據(jù)線接口,最大尺寸640x512象素,支持4級(jí)或16級(jí)灰度,有硬光標(biāo);
實(shí)時(shí)時(shí)鐘模塊:提供采樣定時(shí)中斷,每秒一次的中斷和每天一次的中斷,2s的看門狗;
drma控制模塊:支持8位和16位寬度dram,可編程控制的刷新周期,對(duì)lcddma存取支持快速頁面模式和edo模式,最高支持4mxl6的容量。 目前,龍珠系列處理器是國(guó)內(nèi)pda設(shè)計(jì)的首選處理器,但實(shí)際根據(jù)motorola所設(shè)計(jì)的特性,mc68vz328的應(yīng)用領(lǐng)域要廣泛得多。下面以其在門禁考勤系統(tǒng)中的一款設(shè)計(jì)為例說明。2 門禁考勤系統(tǒng)構(gòu)成2.1 硬件構(gòu)成一套典型的門禁考勤系統(tǒng)由3部分組成:控制器、紅外遙控器、感應(yīng)讀卡器。如圖1所示,控制器外部可連接2個(gè)感應(yīng)讀卡器,同時(shí)可與pc機(jī)相連,接受紅外遙控器的指令,控制2個(gè)電控鎖。感應(yīng)讀卡器與控制器之間通訊使用i/o口??刂破髋cpc機(jī)的通訊使用標(biāo)準(zhǔn)串口。紅外遙控器與控制器之間通訊使用i/o口。感應(yīng)讀卡器使用nrf4001感應(yīng)器,紅外遙控接受器使用gp(u52-933)。
控制器內(nèi)部按功能模塊可分為8部分(如圖2所示):
cpu:控制整個(gè)系統(tǒng);
存儲(chǔ)器:保存接受的數(shù)據(jù);
串口rs232:與pc通訊。每天控制器保存的數(shù)據(jù),如員工進(jìn)入情況、上班時(shí)間等都上傳給pc機(jī)作處理,達(dá)到門禁考勤的作用;
帶觸摸屏的lcd:大屏顯示,同時(shí)帶觸摸屏實(shí)現(xiàn)手寫輸入;
實(shí)時(shí)鐘:為系統(tǒng)提供準(zhǔn)確時(shí)鐘;
電源管理:為系統(tǒng)提供不同類型的電壓,例如,為lcd提供18v偏壓,為cpu提供3.3v電源,為感應(yīng)讀卡器、紅外遙控接受器提供5v供電。外電220v接人,經(jīng)過整流分別輸出18v,5v,3.3v直流。
i/o口控制:控制電控鎖、接收感應(yīng)讀卡器的數(shù)據(jù)、接收紅外遙控器的數(shù)據(jù)、輸出聲音。
復(fù)位電路:保證系統(tǒng)崩潰后,能重新恢復(fù)正常。 2.2 軟件結(jié)構(gòu)(1)操作系統(tǒng)使用專用于dragonball系列處理器的ppsm(personal portable system manager)。ppsm是基于中斷優(yōu)先調(diào)度的32位實(shí)時(shí)操作系統(tǒng)核。所有任務(wù)根據(jù)事件驅(qū)動(dòng),例如,點(diǎn)擊1個(gè)圖標(biāo)可以激活1個(gè)任務(wù)。ppsm提供的公用函數(shù)接口api包括基本的lcd控制,畫圖功能,實(shí)時(shí)鐘管理及串口控制。ppsm并不直接訪問硬件設(shè)備,而是通過驅(qū)動(dòng)程序管理所有外設(shè)。因?yàn)闉橥庠O(shè)提供統(tǒng)一的驅(qū)動(dòng)接口,因此即使外設(shè)發(fā)生變化,也不需要改變內(nèi)核,使其具有更強(qiáng)的靈活性。ppsm支持多任務(wù),每個(gè)任務(wù)還可建立于任務(wù)。ppsm定義了2種中斷消息集:系統(tǒng)中斷消息和用戶自定義中斷消息。系統(tǒng)中斷消息指操作系統(tǒng)提供的中斷處理函數(shù)自動(dòng)產(chǎn)生的中斷消息,用戶只需要做上層應(yīng)用處理,例如串口、實(shí)時(shí)鐘、聲音、觸筆、定時(shí)器等。用戶自定義中斷指需要用戶自己做中斷處理函數(shù),在中斷處理函數(shù)中向任務(wù)發(fā)送中斷消息,例如中斷級(jí)別一級(jí)中斷、中斷級(jí)別二級(jí)中斷、看門狗等。(2)