專利名稱:一種多路門禁控制器韋根數(shù)據(jù)采集方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信號采集技術(shù)領(lǐng)域,具體地說是ー種多路門禁控制器韋根數(shù)據(jù)采集方法。
背景技術(shù):
韋根(Wiegand)協(xié)議是國際上統(tǒng)ー的標(biāo)準(zhǔn),它適用于涉及門禁控制系統(tǒng)的讀卡器和卡片的許多特性,它有26-bit、34-bit、37-bit等格式。韋根26格式是ー個(gè)廣泛使用的エ業(yè)標(biāo)準(zhǔn),幾乎所有的門禁控制器系統(tǒng)都支持標(biāo)準(zhǔn)的韋根26格式。韋根協(xié)議在數(shù)據(jù)的傳輸中主需要兩條數(shù)據(jù)線,一條為數(shù)據(jù)O (DATA0),一條為數(shù)據(jù)I (DATA1),協(xié)議規(guī)定,兩條數(shù)據(jù)線在無數(shù)據(jù)時(shí)均為高電平,如果DATAO為低電平代表數(shù)據(jù)0,DATAl為低電平代表數(shù)據(jù)1(低電平小于IV,高電平大于4V),低電平脈沖寬度在20us至200us之間(一般選取IOOus左右), 兩個(gè)脈沖見間隔在200us至20ms (—般選取Ims左右)之間。目前門禁控制器系統(tǒng)的門禁控制器支持的韋根接ロ普遍較少,其中韋根數(shù)據(jù)的采集一般采取MCU (MCU :微型控制器,包括8bit、16bit、32bit等嵌入式微型處理器)接ロ掃描方法或用MCU接口中斷方法,由于韋根信號是低速、串行、異步通信信號,采用掃描方法需要較長時(shí)間的占用MCU的CPU,采用中斷方法接收I條韋根26數(shù)據(jù)MCU需要需要響應(yīng)26次中斷。這兩種方法都大量的占用了微型處理器的CPU資源和中斷(INT)資源。對于需要支持多路(4路以上)韋根數(shù)據(jù)采集的大容量(5萬卡片ID信息)門禁控制設(shè)備,CPU開銷和中斷資源都非常寶貴,這兩種韋根數(shù)據(jù)采集方法不管是從實(shí)時(shí)性還是可靠性上都存在著弊端,不適合應(yīng)用于多路大容量門禁控制設(shè)備。
發(fā)明內(nèi)容
本發(fā)明的目的是要解決上述方法在多路大容量門禁控制器韋根數(shù)據(jù)采集應(yīng)用上的不足,而提供的ー種支持多路韋根接ロ、實(shí)時(shí)性高、可靠性高、低成本的多路韋根數(shù)據(jù)采集方法。為了實(shí)現(xiàn)上述目的,本發(fā)明一種多路門禁控制器韋根數(shù)據(jù)采集方法包括微型控制器MCU與韋根接ロ之間構(gòu)造一個(gè)韋根總線橋接電路(以下簡稱宰根總線橋),MCU與韋根總線橋之間通過并行總線構(gòu)成電連接,韋根接ロ與韋根總線橋接電路之間通過IO線構(gòu)成電連接。所述韋根總線橋包括時(shí)序邏輯電路,內(nèi)部可定義韋根通道數(shù)據(jù)寄存器、韋根通道數(shù)據(jù)狀態(tài)寄存器、韋根數(shù)據(jù)計(jì)數(shù)器、去抖計(jì)時(shí)器、韋根數(shù)據(jù)超時(shí)控制定時(shí)器。所述韋根總線橋外接I只低頻有源晶振和I只高頻有源晶振,其中低頻率有源晶振用于韋根數(shù)據(jù)采集的掃描去抖定時(shí)、超時(shí)控制等;高頻率有源晶振作為韋根總線橋與MCU之間并行通信時(shí)序的主頻。所述韋根總線橋接外接多路(N)韋根數(shù)據(jù)接ロ。所述韋根總線橋采用“中斷+掃描去抖+移位+奇偶校驗(yàn)+超時(shí)控制”的方法采集韋根數(shù)據(jù),如圖I所示,具體包括以下步驟步驟I :所述韋根總線橋通過韋根數(shù)據(jù)接ロ實(shí)時(shí)檢測端ロ電平狀態(tài),如果第η(0〈n ( N)路韋根數(shù)據(jù)端ロ(DATA0或DATAl)有高電平到低電平的下降沿跳變,則經(jīng)過掃描去抖、移位、計(jì)數(shù)和超時(shí)控制等處理。所述掃描去抖,指下降沿跳變的同時(shí)啟動(dòng)去抖定時(shí)器,去抖定時(shí)器溢出后停止并再次檢測該端ロ電平,如果電平未變化則為有效位信號。所述移位,指韋根通道數(shù)據(jù)寄存器左移I位后將有效位值寫入低I位。所述有效位值指產(chǎn)生有效位信號的數(shù)據(jù)線如果是DATAl則有效值為1,如果是DATAO則有效值為O。所述計(jì)數(shù),指韋根數(shù)據(jù)計(jì)數(shù)器加I。所述超時(shí)控制,指經(jīng)過掃描去抖判斷信號有效后,韋根數(shù)據(jù)超時(shí)控制定時(shí)器開啟, 或清零并重新開始計(jì)吋。如果超時(shí)控制定時(shí)器溢出則將韋根通道數(shù)據(jù)狀態(tài)寄存器、韋根數(shù)據(jù)計(jì)數(shù)器清零、超時(shí)控制定時(shí)器清零并停止計(jì)時(shí),如果超時(shí)控制定時(shí)器在溢出前檢測到韋根數(shù)據(jù)端ロ有有效信號則清零并重新計(jì)時(shí)。步驟2 :如果韋根數(shù)據(jù)計(jì)數(shù)器的值與韋根數(shù)據(jù)格式N位相同并且數(shù)據(jù)位校驗(yàn)正確則將韋根通道數(shù)據(jù)狀態(tài)寄存器第η位標(biāo)志位置1,同時(shí)根據(jù)韋根通道數(shù)據(jù)狀態(tài)寄存器之前的值是否為O輸出中斷信號到MCU中斷輸入(INT)端ロ,等待MCU中斷響應(yīng)后讀取數(shù)據(jù)。所述校驗(yàn),指根據(jù)韋根協(xié)議格式進(jìn)行的奇偶校驗(yàn),采用組合邏輯方法實(shí)現(xiàn)。韋根協(xié)議N位數(shù)據(jù)格式中第I位為第2至Ν/2位的偶校驗(yàn),第η位為Ν/2+1至N-I位的奇校驗(yàn)。采用組合邏輯實(shí)現(xiàn)的方法韋根協(xié)議N位數(shù)據(jù)I至Ν/2位按位異或后為O且Ν/2+1至N位按位異或后為I則數(shù)據(jù)正確。所述輸出中斷,韋根總線橋輸出中斷信號的唯一判斷條件是韋根通道數(shù)據(jù)狀態(tài)寄存器第η位標(biāo)志位置I之前寄存器的值是否等于0,如果等于O則產(chǎn)生一次中斷,如果不等于O則不產(chǎn)生中斷信號。所述MCU,范圍適用于8bit、16bit、32bit等各種類型嵌入式微型處理器。步驟3 =MCU響應(yīng)中斷、通過與韋根總線橋之間的并行總線,采用標(biāo)準(zhǔn)時(shí)序讀取韋根通道數(shù)據(jù)狀態(tài)寄存器的值,井根據(jù)該寄存器的置I標(biāo)志位讀取對應(yīng)韋根通道數(shù)據(jù)寄存器的有效數(shù)據(jù)(去掉校驗(yàn)位),讀后將該標(biāo)志位清零。所述并行總線包括數(shù)據(jù)線總線、地址線總線和控制總線,控制總線包括片選信號、讀寫使能信號,MCU通過片選信號選通韋根總線橋,并完成微控制器外部物理地址映射,MCU通過內(nèi)置靜態(tài)存儲控制器對韋根總線橋內(nèi)部寄存器進(jìn)行讀或?qū)懖僮?。所述?biāo)準(zhǔn)時(shí)序需要符合MCU內(nèi)置靜態(tài)存儲控制器讀寫數(shù)據(jù)時(shí)序,如果沒有內(nèi)置靜態(tài)存儲控制器,需要根據(jù)MCU指令和主頻特征自定義該時(shí)序。所述讀取對應(yīng)韋根通道數(shù)據(jù)寄存器的有效數(shù)據(jù)的方法在讀時(shí)序的片選和讀地址使能信號有效后,韋根總線橋?qū)㈨f根通道數(shù)據(jù)寄存器的有效數(shù)據(jù)(去掉校驗(yàn)位)鎖存到并行數(shù)據(jù)總線上等待MCU讀取,其中數(shù)據(jù)總線接ロ低字節(jié)對應(yīng)韋根寄存器數(shù)據(jù)低字節(jié),字節(jié)高位在前,最高字節(jié)的值等于該韋根通道數(shù)據(jù)寄存器所對應(yīng)的通道號。步驟4 :繼續(xù)判斷韋根通道數(shù)據(jù)狀態(tài)寄存器值是否等于零,如果不為零則繼續(xù)讀取韋根通道數(shù)據(jù)狀態(tài)寄存器并根據(jù)該寄存器的置I標(biāo)志位讀取對應(yīng)韋根通道數(shù)據(jù)寄存器的值,讀后將該標(biāo)志位清零,直到該寄存器值等于零。
本發(fā)明ー種多路門禁控制器韋根數(shù)據(jù)采集方法的優(yōu)點(diǎn)是支持多路韋根數(shù)據(jù)采集,需要占用的MCU資源少。數(shù)據(jù)的采集、去抖、移位、計(jì)數(shù)、校驗(yàn)、超時(shí)控制等工作都由韋根總線橋處理,不占用MCU的CPU開銷和中斷資源,即使多路韋根接ロ同時(shí)工作,MCU也只需要響應(yīng)一次中斷后一次性讀取多路韋根數(shù)據(jù),具有實(shí)時(shí)性高、可靠性高、低成本的特點(diǎn)。
圖I為多路韋根數(shù)據(jù)采集方法的流程圖;圖2為多路韋根數(shù)據(jù)采集方法的韋根總線橋連接示意圖;圖3為,根總線橋接ロ邏輯不意圖;
圖4為多路韋根數(shù)據(jù)采集方法的實(shí)施例的流程圖;圖5為多路韋根數(shù)據(jù)采集方法的實(shí)施例的數(shù)據(jù)處理流程示意圖。
具體實(shí)施例方式韋根協(xié)議有26-bit、34-bit、37_bit等格式,韋根26格式是ー個(gè)廣泛使用的エ業(yè)標(biāo)準(zhǔn),幾乎所有的門禁控制器系統(tǒng)都支持標(biāo)準(zhǔn)的韋根26格式,下面以16路韋根26格式數(shù)據(jù)為采集對象,結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)ー步的說明如圖2所示,微型控制器MCU與韋根接ロ之間構(gòu)造一個(gè)韋根總線橋,韋根總線橋與MCU之間通過并行總線,包括控制總線(CB)、地址總線(AB)、數(shù)據(jù)總線(DB)和中斷信號線(IRQ)構(gòu)成電連接;韋根總線橋與韋根26接ロ(WG26)的數(shù)據(jù)線DATAO (DO)和DATAl (Dl)之間通過IO信號線構(gòu)成電連接。所述MCU,范圍適用于8bit、16bit、32bit等各種嵌入式微型處理器,實(shí)施例采用ARM9處理器。所述韋根總線橋是ー種時(shí)序邏輯電路,實(shí)施例采用可編程邏輯器件(PLD),包括復(fù)雜可編程邏輯器件(CPLD)或現(xiàn)場可編程門陣列(FPGA)等。本發(fā)明實(shí)施例的韋根總線橋有兩個(gè)時(shí)鐘源、分別是IM低頻和50M高頻有源晶振。低頻用于韋根數(shù)據(jù)采集的掃描去抖定時(shí)、超時(shí)控制等;高頻率有源晶振作為韋根總線橋與MCU之間并行通信時(shí)序的主頻。韋根總線橋接ロ邏輯如圖3所示,內(nèi)部定義韋根通道數(shù)據(jù)寄存器WG_Reg (η)、韋根通道數(shù)據(jù)狀態(tài)寄存器WG_RStatusReg、去抖定時(shí)器Rtimer (η)、韋根數(shù)據(jù)計(jì)數(shù)器Ctimer (η)、韋根數(shù)據(jù)超時(shí)控制定時(shí)器Otimer等。本發(fā)明實(shí)施例的韋根總線橋寄存器定義如表I所示,其中WG_Reg (η)數(shù)據(jù)寄存器格式如表2所示,WG_RStatusReg寄存器格式如表3所示。Rtimer (η)是3位定時(shí)器、Ctimer (η)是5位計(jì)數(shù)器、Otimer是16位定時(shí)器。Rtimer (η)和Otimer定時(shí)器采用低頻有源晶振輸入計(jì)時(shí),最小周期為Ius,定時(shí)器溢出時(shí)間分別為Sus和65. 35ms。其中寄存器名后綴〃(η) 〃表示寄存器組,每個(gè)韋根通道對應(yīng)ー個(gè)寄存器。表I ,根總線橋寄存器定義
權(quán)利要求
1.一種多路門禁控制器韋根數(shù)據(jù)采集方法,其特征在于微型控制器MCU與韋根接ロ之間構(gòu)造一個(gè)韋根總線橋接電路,MCU與韋根總線橋之間通過并行總線構(gòu)成電連接,韋根接ロ與韋根總線橋接電路之間通過IO線構(gòu)成電連接;韋根總線橋采用“中斷+掃描去抖+移位+奇偶校驗(yàn)+超時(shí)控制”的方法采集韋根數(shù)據(jù),具體包括以下步驟 步驟I :所述韋根總線橋通過韋根數(shù)據(jù)接ロ實(shí)時(shí)檢測端ロ電平狀態(tài),如果第η(0〈η く N)路韋根數(shù)據(jù)端ロ DATAO或DATAl有高電平到低電平的下降沿跳變,則經(jīng)過掃描去抖、移位、計(jì)數(shù)和超時(shí)控制處理; 步驟2 :如果韋根數(shù)據(jù)計(jì)數(shù)器的值與韋根數(shù)據(jù)格式N位相同并且數(shù)據(jù)位校驗(yàn)正確則將韋根通道數(shù)據(jù)狀態(tài)寄存器第η位標(biāo)志位置1,同時(shí)根據(jù)韋根通道數(shù)據(jù)狀態(tài)寄存器之前的值是否為O輸出中斷信號到MCU中斷輸入INT端ロ,等待MCU中斷響應(yīng)后讀取數(shù)據(jù); 步驟3 :MCU響應(yīng)中斷、通過與韋根總線橋之間的并行總線,采用標(biāo)準(zhǔn)時(shí)序讀取韋根通道數(shù)據(jù)狀態(tài)寄存器的值,井根據(jù)該寄存器的置I標(biāo)志位讀取對應(yīng)韋根通道數(shù)據(jù)寄存器的有效數(shù)據(jù),讀后將該標(biāo)志位清零; 步驟4 :繼續(xù)判斷韋根通道數(shù)據(jù)狀態(tài)寄存器值是否等于零,如果不為零則繼續(xù)讀取韋根通道數(shù)據(jù)狀態(tài)寄存器并根據(jù)該寄存器的置I標(biāo)志位讀取對應(yīng)韋根通道數(shù)據(jù)寄存器的值,讀后將該標(biāo)志位清零,直到該寄存器值等于零。
2.根據(jù)權(quán)利要求I所述的ー種多路門禁控制器韋根數(shù)據(jù)采集方法,其特征在于所述的韋根總線橋是時(shí)序邏輯電路,包括復(fù)雜可編程邏輯器件CPLD或現(xiàn)場可編程門陣列FPGA等,內(nèi)部可定義韋根通道數(shù)據(jù)寄存器、韋根通道數(shù)據(jù)狀態(tài)寄存器、韋根數(shù)據(jù)計(jì)數(shù)器、去抖計(jì)時(shí)器、韋根數(shù)據(jù)超時(shí)控制定時(shí)器。
3.根據(jù)權(quán)利要求I所述ー種多路門禁控制器韋根數(shù)據(jù)采集方法,其特征在于韋根總線橋外接I只低頻有源晶振和I只高頻有源晶振,其中低頻率有源晶振用于韋根數(shù)據(jù)采集的掃描去抖定時(shí)、超時(shí)控制;高頻率有源晶振作為韋根總線橋與MCU之間并行通信時(shí)序的主頻。
4.根據(jù)權(quán)利要求I所述的ー種多路門禁控制器韋根數(shù)據(jù)采集方法,其特征在于所述的超時(shí)控制的方法經(jīng)過掃描去抖判斷信號有效后,韋根數(shù)據(jù)超時(shí)控制定時(shí)器開啟,或清零并重新開始計(jì)時(shí);如果超時(shí)控制定時(shí)器溢出則將韋根通道數(shù)據(jù)狀態(tài)寄存器、韋根數(shù)據(jù)計(jì)數(shù)器清零,超時(shí)控制定時(shí)器清零并停止計(jì)時(shí),如果超時(shí)控制定時(shí)器在溢出前檢測到韋根數(shù)據(jù)端ロ有有效信號則清零并重新計(jì)時(shí)。
5.根據(jù)權(quán)利要求I所述的ー種多路門禁控制器韋根數(shù)據(jù)采集方法,其特征在于所述的輸出中斷的方法韋根通道數(shù)據(jù)狀態(tài)寄存器第η位標(biāo)志位置I之前寄存器的值是否等于O,如果等于O則產(chǎn)生一次中斷,如果不等于O則不產(chǎn)生中斷信號。
6.根據(jù)權(quán)利要求I所述的ー種多路門禁控制器韋根數(shù)據(jù)采集方法,其特征在于所述的讀取對應(yīng)韋根通道數(shù)據(jù)寄存器的有效數(shù)據(jù)的方法在讀時(shí)序的片選和讀地址使能信號有效后,韋根總線橋?qū)㈨f根通道數(shù)據(jù)寄存器的有效數(shù)據(jù)鎖存到并行數(shù)據(jù)總線上等待MCU讀取,其中數(shù)據(jù)總線接ロ低字節(jié)對應(yīng)韋根寄存器數(shù)據(jù)低字節(jié),字節(jié)高位在前,最高字節(jié)的值等于該韋根通道數(shù)據(jù)寄存器所對應(yīng)的通道號。
7.根據(jù)權(quán)利要求I所述的ー種多路門禁控制器韋根數(shù)據(jù)采集方法,其特征在于其中MCU范圍適用于8bit、16bit、32bit等各種類型嵌入式微型處理器。
全文摘要
一種多路門禁控制器韋根數(shù)據(jù)采集方法,包括微型控制器MCU與韋根接口之間構(gòu)造一個(gè)韋根總線橋接電路,MCU與韋根總線橋之間通過并行總線構(gòu)成電連接,韋根接口與韋根總線橋接電路之間通過IO線構(gòu)成電連接。韋根總線橋采用“中斷+掃描去抖+移位+奇偶校驗(yàn)+超時(shí)控制”的方法采集韋根數(shù)據(jù).其優(yōu)點(diǎn)是支持多路韋根數(shù)據(jù)采集,需要占用的MCU資源少。數(shù)據(jù)的采集、去抖、移位、計(jì)數(shù)、校驗(yàn)、超時(shí)控制等工作都由韋根總線橋處理,不占用MCU的CPU開銷和中斷資源,即使多路韋根接口同時(shí)工作,MCU也只需要響應(yīng)一次中斷后一次性讀取多路韋根數(shù)據(jù),具有實(shí)時(shí)性高、可靠性高、低成本的特點(diǎn)。
文檔編號G07C9/00GK102693568SQ20121015749
公開日2012年9月26日 申請日期2012年5月21日 優(yōu)先權(quán)日2012年5月21日
發(fā)明者付厚奎, 袁行船, 鄭賢忠, 陸德波 申請人:中船重工(武漢)凌久高科有限公司