張京玲1,王天雷1,王柱2
(1.五邑大學 信息工程學院,廣東 江門 529020; 2.五邑大學 計算機學院,廣東 江門529020)
摘要:依據監舍門控制器、樓層控制室和遠程總控制中心3個層面的主要功能,設計了一種由PC和多個單片機組成的監舍門控制系統。該系統以PC作為上位機,多臺STC12C5A32S2單片機作為監舍門控制系統下位機。分析了中央計算機總控制終端、樓層控制端與門禁控制器之間的多機通信與控制,完成了硬件電路的設計和軟件的設計,并對安裝調試中的幾個問題進行了討論。實驗證明,該系統運行穩定、可靠。
關鍵詞:RS485總線;單片機;控制系統;多機通信;監舍門
0引言
監獄是一個安全性要求極高的特殊場所,其監舍門的控制與管理是保證監獄安全運行極為關鍵的環節。早期的門禁系統大都是基于機械結構,采用簡單的控制電路實現,結構和功能單一,效率嚴重不足。隨著科技的不斷發展,現代監舍門禁系統迫切需要具有較高靈活性、實時性和可靠性的智能控制門禁系統。
本文研究的多機監舍門智能控制系統主要由中央計算機總控制終端、樓層控制端、單門門禁控制器、485232通信轉換器、讀感器、電鎖和門禁管理軟件等組成。門禁系統通信網絡如圖1所示,遠程計算機終端所在的中央控制室通過TCP/IP協議與各個樓層控制端相連,實時對監獄的各樓層的每個監獄門進行遠程監控。同時,各樓層控制器通過485總線與各監舍門通信,能迅速可靠地實現對于各個門的控制,實現了門禁系統智能化、遠程化和無人化。
1門禁系統的主要功能研究
為滿足用戶的要求,智能監舍門管理系統應具有權限確認、群開群閉、自動布防、事件記錄、異常報警、日程表管理以及電動/手動功能。遠程總控制中心和樓層控制室可根據用戶需要,定時劃分操作權限或同時實現控制的權利,實現遠程或現場控制、計算機控制以及機械控制;可實時/定時操作。系統功能由門控制器、樓層控制室和遠程總控制中心分別完成。
1.1監舍門控制器功能
監舍門控制器功能主要有:(1)變速運行。監舍門的運行速度可進行調整,如低速啟動、恒速運行、低速關門,確保安全穩定的狀態下正常工作。(2)堵轉可調。監舍門控器具有防夾的功能,支持短時間連續5次堵轉,超過5次則報警。(3)狀態反饋。控制器能及時將各監舍門的5種狀態(已開啟、開啟中、已關閉、關閉中、故障)反饋給樓層控制室以及中心控制室。(4)監舍門白天可將定點、定時自動控制改為電動控制,晚上可以定點、定時控制轉換為機械鎖控制。此外還有異常報警、斷電記錄以及監舍門鎖機械電聯合控制等功能。
1.2樓層控制室功能
樓層控制室主要功能為:(1)狀態顯示。樓層監控室能夠實現對于樓層所有門的5種狀態進行檢測,其中出現故障界面會有特殊顯示。(2)采用TCP/IP和485總線方式遠程通信,將多個監舍控制器連接成一個控制網絡。(3)日程表管理。系統可支持任意多的時間組,實現某一個時間自動開門或關門,每天可以設定多達32個時間段開關。(4)群開群關。系統支持一鍵全開、全關功能,也可根據不同需要,對任意監舍門進行個別分組控制或錯開各門啟動時間。(5)事件記錄。本系統在樓層控制室端監控本樓層監舍門的開啟和關閉;同時記錄運行信息并同步上傳到中央控制室備份。(6)自動布防。可預先對各個監舍門進行設置,當發生緊急事件的時候,能迅速一鍵同時開啟/關閉對應的監舍門。此外還具有管理權限申請、異常報警、遠程解除警報等功能。
1.3遠程總控制中心功能
遠程總控制中心能夠實現對于所有樓層的所有門的狀態進行監測和顯示,中央總控制室與各樓層監控室之間設有專有線路,采用TCP/IP協議相連。主機帶有在線式不間斷電源,確保整個系統24小時正常工作。此外還具有日程表管理、群開群關、管理權限授予、事件記錄、異常報警等功能,當發生緊急事件的時候,能夠迅速地一鍵同時開啟/關閉對應的監舍門實現自動布防以及遠程解除警報。
2硬件研究與設計
系統的硬件主要由單片機STCI2CSA32S2和RS485總線構成。單片機根據傳感器檢測門的位置信息,驅動電機控制門開關及速度和門鎖的開關。RS485總線簡單節約成本,采用差分傳輸方式,提高了抗干擾能力和傳輸距離,可進行雙向通信,滿足門禁系統的控制和檢測要求。單片機通過RS485總線接收上位機的開關命令,并把當前門的狀態發送給上位機進行顯示。硬件框圖如圖2所示。
2.1單片機電路
本系統控制器采用高速、低功耗、超強抗干擾的STC12C5A32S2單片機,工作電壓為直流5 V。該單片機內含有EEPROM功能,2路PWM,8路高速10位ADC,同時還有內部集成MAX810的專用復位電路以及針對電機控制和強干擾場合的專門設計。利用EEPROM功能可保存該門的ID號,保證在掉電后再上電可還原門ID號。利用PWM來驅動電機速度,ADC檢測設定的門速。單片機電路設計如圖3所示。
STCI2CSA32S2單片機工作于1個時鐘/機器周期,且有增強型8051內核,故其速度比普通8051快8~12倍。該單片機有8通道10位高速ADC,速度可達25萬次/秒[1]。此外,由于該單片機價格比較便宜,故采用此單片機作為核心控制芯片,大大降低了成本。
2.2RS485通信電路
系統采用RS485構成總線型通信網絡。RS485總線不僅允許一對多的數據傳輸,而且由于采用差分傳輸,抗干擾能力強,因此很適合門禁系統的通信控制。本系統中采用兩套RS485通信,使發送和接收在各自獨立的物理通道上,保證系統發送和接收可以同時進行互不干擾。并且由主機分時按一定的順序依次給從機發送命令,從機只能回復命令不能主動發送數據。在設計電路時,為了減少線路上傳輸信號的反射,保證信號傳輸無毛刺,需要在RS485網絡傳輸線的始端和末端各接一個120 Ω的匹配電阻[23]。RS485通信電路設計如圖4所示。
2.3驅動電機電路
電機采用60 W無刷直流電機,具有低電壓特性好、轉矩過載特性強、易調速、靜音等優點。采用專用的驅動器,單片機控制驅動器時,為了提高抗干擾能力,進行了光耦隔離控制。驅動電機電路設計如圖5所示。
3軟件部分
3.1軟件總設計
上位機系統初始化完成后,按順序查詢所有門的狀態,逐步發送查詢門的ID號和查詢命令,如果在固定時間內沒有收到回復,就認為該門出現故障,顯示該門不正常。如果收到回復,就根據回復更新門的當前狀態,是打開或是關閉,又或是正在打開和正在關閉4種正常狀態和回復的故障狀態。為了保證用戶的命令能夠及時執行,每查詢完一個門狀態后,就響應用戶的開門或關門命令。處理完命令后再接著進行查詢命令。每查詢完所有門后,系統會自動進行下一輪的查詢,保證及時更新門的當前狀態。上位機(PC)主程序流程如圖6所示。
STC12C5A32S2單片機初始化后,先從單片機的EPPROM中取得ID號,然后讀取當前門的位置。如果有上位機命令就進行接收,并回復門當前的狀態。為了縮短通信時間,單片機先回復命令再執行命令。通過檢測門的狀態和門鎖的狀態,智能控制開門和關門的速度,完成上位機的命令。下位單片機主程序流程如圖7所示。
3.2PC通信程序設計
PC軟件編程采用Visual C++系統,先進行初始化。選擇串口1,設定波特率為9 600 b/s。設定數據格式。數據長度一共由4幀數據構成。每一幀數據由1個起始位、8個數據位、1個檢驗位、1個停止位組成。初始化后進行事件的輪詢,主要包括下位機消息回復事件、發送控制命令事件和定時器溢出事件。如果串口接收緩沖區有數據,則說明有下位機回復消息發送進來,此時進行串口數據的讀取并進行處理和顯示;如果有發送控制命令的操作則串口寫數據進行控制命令的發送;如果定時器溢出則報告下位機出錯。PC通信程序流程如圖8所示。
3.3單片機通信程序設計
STC12C5A32S2單片機的串口通信先設定串行口控制寄存器SCON中的控制位SM2為高電平,允許多機通信;再設定波特率9600 b/s和串口工作方式3[4];最后設定數據格式與PC一樣。數據長度一共由4幀數據構成。單片機串口通信流程圖如圖9所示。
3.4軟件運行環境
為保證門禁系統控制軟件正常運作,主機必須符合以下的要求:(1)CPU奔騰4以上,內存1 GB及以上;(2)VGA彩顯和VGA顯示卡;(3)200 MB以上硬盤空間;(4)有線網卡;(5)支持外置調制解調器串口或一個直接的RS232串口;(6)Windows XP、Windows 7或者更高版本的操作系統。
4安裝調試中的幾個系統通信問題
安裝調試時,除了機械部分的故障外,對通信方面存在的幾個問題進行了分析研究和改進設計。
(1)總線沖突問題。本門禁系統采用兩套RS485通信,使發送和接收在各自獨立的物理通道上,并且保證系統發送和接收總線可以同時進行互不干擾。對于單條收發線,采用時分復用的方式,避免多個門控系統單元通信沖突。
(2)信號傳輸干擾問題。系統工作時,在位于總線兩端的差分端口A與B之間跨接120 Ω匹配電阻,以減少反射信號、吸收噪聲。
(3)瞬態干擾問題。本門禁系統采用了快恢復穩壓管 TV接入系統總線,從而抑制瞬態高壓,實現通信接口的保護。
(4)共模干擾問題。采用光耦隔離方法使得總控制中心和各門控制器之間通信所用到的系統電源地和通信模塊地的隔離,從而消除共模干擾。
5結論
本文討論了監舍門控制器、樓層控制室和遠程總控制中心三個層面的主要功能,實現了一種由PC和多個單片機組成的監舍門控制系統的軟件及硬件設計與調試。該系統以PC作為上位機,多臺STC12C5A32S2單片機作為監舍門控制器下位機,通過TCP/IP協議與各個樓層控制端相連,實現了中央計算機總控制終端、樓層控制端與門禁控制器之間的多機通信與控制,可實時監控各樓層以及每個監舍獄門,并對安裝調試中的幾個問題進行了分析與改進。實驗證明,該系統運行穩定、可靠,有較好的應用前景。
參考文獻
[1] 鄭利敏.用STC12C5410AD單片機實現多路信號的自校標準測量[J].無線電,2007(1):43-45.
[2] 龔建偉,熊光明.Visual C++/Turbo C串口通信編程實踐[M].北京:電子工業出版社,2005.
[3] 胡中功,黃波,江維.基于RS485總線的PC與單片機多機通信系統設計[J].自動化與儀器儀表,2012(1):30-31,35.
[4] 徐然,項小東.PC機與多單片機串行通信系統[J].科學技術與工程,2005,5(12):815-818.