新聞中心

EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 基于LonWorks和iButton技術(shù)的新型電子考勤裝置

基于LonWorks和iButton技術(shù)的新型電子考勤裝置

作者: 時(shí)間:2006-05-07 來源:網(wǎng)絡(luò) 收藏

摘要:闡述一種新型的基于LonWorks和iButton技術(shù)的電子考勤裝置的特點(diǎn),著重介紹其硬件組成、軟件設(shè)計(jì)及系統(tǒng)工作原理,最后講述具體的應(yīng)用場合。

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

關(guān)鍵詞:LonWorks iButton 電子考勤

目前,在數(shù)字識別領(lǐng)域,尤其在電子考勤系統(tǒng)中所采用的的介質(zhì)多為磁卡和IC卡。這些介質(zhì)存在攜帶不便、易受損壞、不能適應(yīng)惡劣環(huán)境的不足;而電子考勤系統(tǒng)所選介質(zhì)必須能較好地解決這些問題。美國DALLAS半導(dǎo)體公司推出的新型智能化信息載體iButton,采用不銹鋼外殼封裝,具有抗撞擊、防水漬、耐腐蝕、抗磁擾、防折疊的特點(diǎn),滿足了電子考勤系統(tǒng)的要求。

除了信息載體應(yīng)滿足一定的要求外,電子考勤系統(tǒng)還必須依靠可靠的網(wǎng)絡(luò)支持。LonWorks網(wǎng)絡(luò)是一種新型的現(xiàn)場總線網(wǎng)絡(luò),由美國ECHELON公司和MOTOROLA公司共同研制開發(fā)。其支持OSI 7層協(xié)議架構(gòu),網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)靈活,系統(tǒng)可靠性、可維護(hù)性好,并采用先進(jìn)的糾錯(cuò)技術(shù),抗干擾性強(qiáng)。而且,LonWorks和iButton器件提供通信接口支持。因而,采用iButton和LonWorks技術(shù)構(gòu)建電子考勤系統(tǒng)成為可能。

基于iButton技術(shù)及LonWorks技術(shù)所設(shè)計(jì)的智能電子考勤系統(tǒng),能較好地解決傳輸IC卡、磁卡考勤系統(tǒng)存在的不足,同時(shí)又滿足了分布式系統(tǒng)在可靠性、可維護(hù)性、穩(wěn)定性方面的要求。

1 系統(tǒng)基本組成

圖1為本系統(tǒng)的基本結(jié)構(gòu),由三部分構(gòu)成:一為內(nèi)置有LonWorks通信卡的微機(jī);二為智能考勤節(jié)點(diǎn);三為考勤觸頭及iButton。微機(jī)處于主導(dǎo)地閏,具有網(wǎng)絡(luò)監(jiān)測、網(wǎng)絡(luò)控制和網(wǎng)絡(luò)管理功能。智能考勤節(jié)點(diǎn)為數(shù)字量輸入的LonWorks節(jié)點(diǎn)模塊,主要將考勤觸頭送來的數(shù)據(jù)發(fā)往微機(jī)??记谟|頭及iButton,主要負(fù)責(zé)數(shù)據(jù)采集,并將采集到的數(shù)據(jù)送入考勤節(jié)點(diǎn)。

1.1 智能通信卡

智能通信卡是LonWorks與監(jiān)控微機(jī)連接的橋梁,是實(shí)現(xiàn)分布式系統(tǒng)信息收集、數(shù)據(jù)處理、現(xiàn)場控制等功能的樞紐,在通信過程中起關(guān)鍵作用。通信卡作為LonWorks網(wǎng)絡(luò)上的一種特殊的網(wǎng)絡(luò)節(jié)點(diǎn),可以與其上所有分布式節(jié)點(diǎn)進(jìn)行對等的數(shù)據(jù)通信。對微機(jī)而言,通信卡為一智能外設(shè),可快速實(shí)現(xiàn)與微機(jī)的數(shù)據(jù)交換。

圖2為智能通信卡的功能框爐膛,主要包括Neuron神經(jīng)元芯處、收發(fā)器、EEPROM、雙口RAM、譯碼電路和Service電路等。通信卡遵循LonTalk協(xié)議,通過以Neuron為核心芯片的網(wǎng)絡(luò)接口,與LonWorks網(wǎng)的智能節(jié)點(diǎn)進(jìn)行通信,并通過對雙口RAM訪問實(shí)現(xiàn)與微機(jī)的數(shù)據(jù)交換。雙口RAM存儲單元的地址分配,在微機(jī)和Neuron芯片兩側(cè)有所不同。Neuron芯片和微機(jī)之間的通信,綜合采用了標(biāo)志查詢、定時(shí)中斷和事件驅(qū)動等多種方式。

1.2 智能考勤節(jié)點(diǎn)

智能考勤節(jié)點(diǎn)實(shí)現(xiàn)為數(shù)字量輸入的LonWorks節(jié)點(diǎn)模塊。Neuron芯片提供有IO_0~I(xiàn)O_10共11個(gè)I/O引腳,通過對其進(jìn)行編程,可配置成多種不同的I/O對象。其中Touch I/O對象類型用于與DALLAS半導(dǎo)體公司開發(fā)的1-Wire協(xié)議接口,因而LonWorks可方便地支持iButton等1-Wire器件。

Neuron C語言支持Touch I/O對象的函數(shù)主要有:

Int touch_reset(io_object_name); //系統(tǒng)復(fù)位

Unsigned touch_byte(io_object_name,unsigned write-data);

//在1-Wire總線上讀寫字節(jié)數(shù)據(jù)

unsigned touch_bit(io_object_name,unsigned write-data);

//在1-Wire總線上讀寫位數(shù)據(jù)

int touch_first(io_object_name,search_data *sd);

//執(zhí)行ROM搜索算法

int touch_next(io_object_name,search_data *sd);

//執(zhí)行ROM搜索算法

unsigned crc8(unsigned crc,unsigned new-data);

//執(zhí)行CRC校驗(yàn)

在Neuron C程序中可直接調(diào)用以上函數(shù)訪問iButton等器件,進(jìn)行數(shù)據(jù)讀寫操作。

1.3 iButton及考勤觸頭

iButton采用紐扣狀不銹鋼外殼封裝,內(nèi)部由I/O處理器和存儲器兩個(gè)基本部分組成,以1-Wire規(guī)范作為通信協(xié)議,與外界進(jìn)行信息交換。1根數(shù)據(jù)線和1根地線構(gòu)成了iButton的電氣接口。采用獨(dú)特的主從式、位同步、半雙串行方式與外界通信,信號同步由內(nèi)部定時(shí)邏輯解決,而數(shù)據(jù)通信的能量則由數(shù)據(jù)線提供。

本系統(tǒng)中的iButton采用DS1990A,其帶有64位全球唯一的標(biāo)識號,作為考勤人員的身份標(biāo)識??记谟|頭直接采用DALLAS公司的DS9092GT觸頭。

2 系統(tǒng)軟件設(shè)計(jì)

軟件設(shè)計(jì)亦由三部分組成,如圖3所示。一是管理信息數(shù)據(jù)庫系統(tǒng),操作界面用VB6.0或VC6.0開發(fā),數(shù)據(jù)庫采用Access或Oracle、SQL Server。二為通信卡上的通信程序。三為考勤節(jié)點(diǎn)的數(shù)據(jù)采集程序。這兩部分程序用Neuron C(語言開發(fā))。管理信息數(shù)據(jù)庫系統(tǒng)與通信程序間基于雙口RAM技術(shù)實(shí)現(xiàn)數(shù)據(jù)交換,而通信程序與數(shù)據(jù)采集程序間采用Neuron C顯式報(bào)文技術(shù)實(shí)現(xiàn)數(shù)據(jù)交換。

人們隨身攜帶iButton,當(dāng)進(jìn)入單位或其他需作考勤的場所時(shí),將iButton與考勤觸頭接獨(dú)。IButton的標(biāo)識號通過考勤節(jié)點(diǎn)進(jìn)入微機(jī),加上時(shí)間標(biāo)簽存于管理信息數(shù)據(jù)庫中。根據(jù)不同的物理位置,設(shè)置考勤節(jié)點(diǎn),每個(gè)考勤節(jié)點(diǎn)又可以連接若干個(gè)考勤獨(dú)頭。根據(jù)應(yīng)用系統(tǒng)的大小選用關(guān)系數(shù)據(jù)庫。若系統(tǒng)較小,采用Access即能滿足要求;否則,采用Oracle或SQL Server。

以下為數(shù)采程序中的一段核心代碼,用Neuron C語言編寫。

#pragma enable_io_pullups

……

IO_4 input leveldetect io_twire_pres;

IO_4 touch io_twire;

unsigned int id_data[8];

msg_tag mess_out;

……

when (io_in(io_twire_pres)= =1)

{unsigned int i,crc_data;

if(touch_reset (io_twire)) //系統(tǒng)復(fù)位

{id_data[0]=51; //發(fā)送讀取ROM區(qū)ID數(shù)據(jù)的命令

io_out(io_twire,id_data,1);

io_in(io_twire,data,8); //讀取8位ID,放在id_data中

crc_data=0;

for(i=0;i7;i++) //CRC校驗(yàn)

{crc_data=crc8(crc_data,id_data[i]);

}

if(crc_data= =id_data[7])

{for(i=0;i8;i++) //將采集到的數(shù)據(jù)打包

{msg_out.data[i]=id_data[i];

}

msg_out.service=UNACKD_RPT;

msg_out.tag=mess_out;

msg_out.dest_addr.no_address=BROADCAST;

msg_send();

}

}

(void)io_in(io_twire_pres);

}

3 系統(tǒng)應(yīng)用

本套系統(tǒng)融合當(dāng)今世界最新的iButton與LonWorks技術(shù),設(shè)計(jì)思路新穎獨(dú)特。IButton技術(shù)較好地解決了目前電子考勤系統(tǒng)普遍存在的攜帶不便、易受磁擾電擾、易受腐蝕、容易折損、不能適用于惡劣環(huán)境的不足;而采用LonWorks網(wǎng)絡(luò)技術(shù),使之成為一分布式的系統(tǒng),有效作用范圍高達(dá)數(shù)公里,并且穩(wěn)定性、可靠性和抗干擾性大大提高,可以滿足大型企業(yè)尤其是化工、煤礦、冶金等企業(yè)的人員考勤。

本套系統(tǒng)實(shí)現(xiàn)簡單,成本低廉,網(wǎng)絡(luò)維護(hù)方便,有望生產(chǎn)較好的經(jīng)濟(jì)效益和社會效益,具有廣闊的應(yīng)用前景。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評論


相關(guān)推薦

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

關(guān)閉