畢業(yè)設計基于STM32系列單片機的門禁讀卡器功能測試儀設計_第1頁
畢業(yè)設計基于STM32系列單片機的門禁讀卡器功能測試儀設計_第2頁
畢業(yè)設計基于STM32系列單片機的門禁讀卡器功能測試儀設計_第3頁
畢業(yè)設計基于STM32系列單片機的門禁讀卡器功能測試儀設計_第4頁
畢業(yè)設計基于STM32系列單片機的門禁讀卡器功能測試儀設計_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、門禁讀卡器功能測試儀設計i基于基于 stm32stm32 系列單片機的門禁讀卡器功能測試系列單片機的門禁讀卡器功能測試儀設計儀設計摘摘 要要本設計是基于 stm32 系列的單片機進行的對 sxg 系列門禁讀卡器的功能測試。在設計的同時對 stm32 單片機的理論基礎和外圍擴展知識進行了比較全面準備。對 sxg 系列門禁讀卡器的功能測試在硬件與軟件方面進行同步設計。硬件部分主要由 stm32f107vct6 微處理器、led 顯示電路、jtag 下載電路、電源轉換電路、韋根通信電路、以及電機控制電路等組成,系統(tǒng)通過 led 和米字型 led 顯示測試結果,所以具有人性化的操作和直觀的顯示效果。軟

2、件方面主要包括系統(tǒng)進入停止模式和退出停止模式、韋根通信、控制電機、鍵盤測試等。本系統(tǒng)以 c 語言進行軟件設計,為了便于擴展和更改,軟件的設計采用模塊化結構,使程序設計的邏輯關系更加簡潔明了,以便更簡單地實現對 sxg 系列門禁讀卡器的功能測試。所有程序編寫完成后,在 keil 軟件中進行調試, 確定沒有問題后,焊接硬件測試 sxg 系列門禁讀卡器。關鍵詞 stm32f107vct6 韋根通信 電機控制門禁讀卡器功能測試儀設計iithe design of the access control reader function testerabstracttaking the sxg series

3、 of access control reader for research object ,this paper designed the function tests which based on the series of stm32 microcontrollers. the theoretical basis of the stm32 mcu and peripherals expand your knowledge in the design, while a more comprehensive preparation. sxg series access functional

4、test of the reader hardware and software aspects of the synchronous design. the hardware part is mainly microprocessors by stm32f107vct6, led display circuit, jtag download circuit, the power conversion circuit, wiegand communication circuit, and motor control circuit and other composition, the syst

5、em led-segment led displays the test results, so humane operation and intuitive display. the software system enters stop mode and exit the stop mode, wiegand communications, control, motors, keyboard testing. the system software design in c language, in order to facilitate the expansion and change,

6、the software design is modular in structure, programming logic is more concise, in order to more easily achieve the functional testing sxg series access card reader. all programs after their completion, in keil software for debugging, there is no problem, welding sxg series access card reader hardwa

7、re testing.key words stm32f107vct6 wiegand communication motor control門禁讀卡器功能測試儀設計目目 錄錄中文摘要.i英文摘要.ii1 緒論.11.1 引言.11.2 主要任務.21.3 主要技術指標.21.4 門禁讀卡器功能測試儀的國內外發(fā)展現狀與趨勢.22 設計方案論證.32.1 控制器芯片的選擇方案和論證.32.2 顯示模塊選擇方案和論證.32.3 下載方式的選擇方案和論證.42.4 電路設計最終方案確定.43 硬件設計.63.1 電源設計.63.2 晶振電路.63.3 復位電路.73.4 開始按鍵電路.73.5 韋根通

8、信電路.83.6 jtag 下載電路.83.7 電機控制電路.9門禁讀卡器功能測試儀設計3.8 主電路設計.104 軟件設計.124.1 主程序設計.124.2 系統(tǒng)初始化.144.3 系統(tǒng)自檢.154.4 開始鍵設為中斷模式.154.5 進入停止模式.164.6 配置系統(tǒng)時鐘.164.7 電機控制.174.8 韋根通信測試.174.9 按鍵測試.195 系統(tǒng)調試.205.1 軟件調試.205.2 硬件調試.20結束語.22致 謝.23參考文獻.24附 錄.25附錄 1 硬件電路圖.25附錄 2 pcb 板.27門禁讀卡器功能測試儀設計附錄 3 主程序源代碼.28門禁讀卡器功能測試儀設計11

9、緒論1.1 引言隨著經濟的蓬勃發(fā)展,外來人員增多,出租屋租住人員的流動性更大,如何杜絕閑雜人員的進入,加強出租屋的技術防范水平。傳統(tǒng)機械鎖在使用過程中存在以下問題:都采用一把鑰匙一把鎖,鑰匙易被仿制;鑰匙丟失后存在安全嚴重隱患;人員流動導致鑰匙流失而無法控制;有的出租屋,更換一個人就要更換幾套機械鎖;幾乎所有的機械門鎖,對上門開鎖者,都是很容易打開的。出入口處安裝刷卡門禁系統(tǒng)1,一人一卡,所有租住人員都必須憑卡出入,即使租戶鑰匙扣卡不慎丟失,只要將他的卡號通過遙控器直接刪除,該卡立即在本鎖使用無效,業(yè)主不用換鎖,即經濟又安全。出入口門禁安全管理系統(tǒng)是新型現代化安全管理系統(tǒng),它集微機自動識別技術

10、和現代安全管理措施為一體,它涉及電子、機械、光學、計算機技術、通訊技術、生物技術等諸多新技術。它是解決重要部門出入口實現安全防范管理的有效措施。適用各種機要部門,如銀行、賓館、機房、軍械庫、機要室、辦公間、智能化小區(qū)、工廠等。在數字技術網絡技術飛速發(fā)展的今天門禁技術得到了迅猛的發(fā)展。門禁系統(tǒng)早已超越了單純的門道及鑰匙管理,它已經逐漸發(fā)展成為一套完整的出入管理系統(tǒng)。它在工作環(huán)境安全、人事考勤管理等行政管理工作中發(fā)揮著巨大的作用。門禁系統(tǒng)中讀卡器2是最外圍設備,擔負著讀取卡片信息、人機界面交互、數據校驗上傳等一系列功能,其重要性不言而喻。讀卡器要具有安全性、穩(wěn)定性、外型美觀及環(huán)境和諧、人機界面友好

11、、安裝調試的經濟與便捷、節(jié)能環(huán)保設計的特點。英格索蘭的 sxg 系列 cpu 智能卡讀卡器具有這些特點,采用多技術,支持 125khz低頻卡和 13.56mhz 高頻卡;閱讀距離遠:7.6cm(125k);7.6cm(iso15693);兼容非接觸 cpu 智能卡等多種格式:hid proximity;infineon my-d 安全扇區(qū);hid iclass、infineon my-d、philips i-code、desfire、mifare 序列號;desfire、mifare 扇區(qū),復旦微電子 fm1208 cpu 卡安全文件;具有防拆保護,3態(tài) led(紅、綠、琥珀)可視化指示燈及聲

12、音反饋,顯示工作狀態(tài)及動作信息;廣泛使用于銀行、辦公樓、建筑工地、交通、電力、軍隊、學校、醫(yī)院等門禁應用場合。門禁讀卡器功能測試儀設計21.2 主要任務本文設計的測試儀可檢測英格索蘭的sxg6701k、sxg6501、sxg5501、sxg4501、sxg4001、sxg5001 型號的讀卡器,利用 stm32f107vct63進行控制,led 顯示測試結果,可廣泛應用于英格索蘭的sxg 系列 cpu 智能卡讀卡器的生產工廠,自動化工作,可減少員工的工作量。因而,此設計具有相當重要的現實意義和實用價值。1.3 主要技術指標(1)工作溫度范圍: -20c 到 +80c;(2)測試設備支持 sxg

13、6701k,6501,5501,4501,4001,5001;(3)不工作時進入停止模式4,節(jié)省能耗;(4)支持韋根 26 位、34 位(帶校驗),以及 4 位(不帶校驗);(5)鍵盤測試時,能夠自動運行。1.4 門禁讀卡器功能測試儀的國內外發(fā)展現狀與趨勢 門禁讀卡器是門禁系統(tǒng)的重要組成部分,是門禁系統(tǒng)信號輸入的關鍵設備,其安全性和可靠性是不言而喻的。門禁讀卡器的讀卡技術多種多樣,種類又很多。目前門禁讀卡器功能測試儀主要是針對各公司的產品進行制造的,種類單一,兼容性不強,這樣導致讀卡器生產商要采購多種測試儀才能滿足檢測需要,增加了成本。有些測試儀為了節(jié)省成本,使用簡單功能的微處理器,沒有低功耗

14、模式,耗電量大。也有些測試儀界面不夠友好,使用者需要學習一段時間才能操作,降低了生產商的生產效率。為了改善以上的不足,未來的門禁讀卡器功能測試儀將朝著多功能化發(fā)展,將支持目前市面上主流的讀卡技術校驗,能夠自動運行,支持更多型號的讀卡器,具備鍵盤測試,外型美觀及環(huán)境和諧,人機界面友好,可使使用者快速掌握使用方法。節(jié)能環(huán)保也將是今后讀卡器功能測試儀發(fā)展的重要趨勢,不工作時處于休眠狀態(tài),降低功耗。以后的門禁讀卡器測試儀也將更加的安全和穩(wěn)定。門禁讀卡器功能測試儀設計32 設計方案論證2.1 控制器芯片的選擇方案和論證方案一: 采用 89c51 芯片作為硬件核心,采用 flash rom,內部具有 4k

15、b rom 存儲空間,能于 3v 的超低壓工作,而且與 mcs-51 系列單片機完全兼容,但是運用于電路設計中時由于不具備 isp 在線編程技術5, 當在對電路進行調試時,由于程序的錯誤修改或對程序的新增功能需要燒入程序時,對芯片的多次拔插會對芯片造成一定的損壞。方案二: 采用 stm32f107vct6,片內具有 64kb 的 ram 和 256kb 的 rom,存儲空間大不需要外擴存儲芯片;工作溫度范圍:-40c 到 +85c,滿足工業(yè)現場;支持的接口類型多,包括 usb、usart、spi、i2c、can6,便于以后升級;電源電壓最大3.6v,最小 2v;支持 jtag7,具有在線調試功

16、能;具有在線編程可擦除技術,當在對電路進行調試時,由于程序的錯誤修改或對程序的新增功能需要燒入程序時,不需要對芯片多次拔插,所以不會對芯片造成損壞。所以選擇采用 stm32f107vct6 作為主控制芯片。2.2 顯示模塊選擇方案和論證方案一:采用 led 液晶顯示屏,液晶顯示屏的顯示功能強大,可顯示大量文字,圖形,顯示多樣,清晰可見,但是價格昂貴,需要的接口線多,所以在此設計中不采用 led 液晶顯示屏。方案二:采用點陣式數碼管顯示,點陣式數碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較適合,如采用在顯示數字顯得太浪費,且價格也相對較高,所以也不用此種作為顯示。方案三:采用米字型 led

17、 顯示,米字型 led 價格適中,單個就可以顯示所有的數字和門禁讀卡器功能測試儀設計4英文字符,接線方法簡單。所以采用了米字型 led 作為顯示。2.3 下載方式的選擇方案和論證方案一:通過串口下載程序,首先要將 stm32f107vct6 的啟動模式8設置為systemboot,而默認的啟動模式是 userboot,在 systemboot 模式下,stm32 在復位后不會執(zhí)行用戶代碼,而是等待串口更新程序。程序運行時,需要將啟動模式設置為 userboot 模式,復位芯片。方案二:通過 usb 接口下載程序,首先要將 stm32f107vct6 的啟動模式設置為systemboot,而默認

18、的啟動模式是 userboot。程序下載成功后,需要將啟動模式設置為 userboot 模式,復位芯片即可看到程序運行的現象。方案三: 通過 jlink 下載程序,不需要改變啟動模式,jlink 仿真器支持的處理器多,與主流的開發(fā)環(huán)境完美結合。通過 jlink 仿真器,可以方便地下載和在線調試代碼。所以采用 jlink 下載程序。2.4 電路設計最終方案確定綜上各方案所述,對此次作品的方案選定:以 stm32f107vct6 為主控制器,通過 jlink 仿真器下載和調試程序,led 指示燈顯示測試結果,米字型 led 顯示鍵盤測試結果。主電路采用 stm32f107vct6 作為主芯片,包括

19、復位電路、開始按鍵電路、電源模塊、jtag 下載電路、led 工作指示燈電路、米字型 led 顯示電路、韋根通信電路、電機控制電路和按鍵測試電路。電路設計框圖如圖 2-4 所示:門禁讀卡器功能測試儀設計5stm32f107vct6復位電路開始按鍵電路電源模塊led 工作指示燈電路米字型 led顯示電路韋根通信電路jtag 下載電路按鍵測試電機控制電路圖 2-4 電路設計框圖門禁讀卡器功能測試儀設計63 硬件設計3.1 電源設計在這里因設計分工和側重點不同,電源模塊先采用通用的電源將 220v 的交流電轉換成 12v 的直流電,然后 12v 的電源一方面給英格索蘭的 sxg 系列 cpu 智能卡

20、讀卡器供電,一方面給本設計的測試電路供電。上電后,電源工作指示燈 led5亮,然后經過 c4、c5 電容濾波輸入到 lm1117,通過電壓調節(jié)器 lm1117 調節(jié)后輸出 3.3v 的電壓,再經過 c6、c7 電容濾波,最后輸出穩(wěn)定的 3.3v 電壓。如圖 3-1 所示:c4100nfc7100nf+c510uf+c610uf+12v+3.3v12j1pow er in12cn1pcba power+12vg ndl ed 5l edr232kv in3gnd1v out2u 2l m1117d 54004+12v圖 3-1 電源設計3.2 晶振電路單片機必須在時鐘的驅動下才能進行工作,stm

21、32f107vct6 內部含有一個8mhz 的 rc 振蕩器,但精度較差,通常使用外部高速時鐘信號。外部 25mhz 的高速時鐘首先經過時鐘配置寄存器 2 的 prediv2 分頻因子進行 5 分頻,然后經過pll2 倍頻因子 8 倍頻后,再經過 prediv1 分頻因子 5 分頻后得到 8mhz 的時鐘,然后經過時鐘配置寄存器的 pll 倍頻系數 9 倍頻后,輸出精確的 72mhz 時鐘。如圖 3-2 所示:門禁讀卡器功能測試儀設計7 圖 3-2 晶振電路3.3 復位電路在系統(tǒng)運行的過程中,有時可能對系統(tǒng)需要進行復位,為了避免對硬件系統(tǒng)經常加電和斷電造成的損害,設計了手動的復位電路,如圖 3

22、-3 所示。這種電路的設計,在系統(tǒng)的運行過程中需要復位時,只需使開關閉合,在 nrst 端就會出現一定時間的低電平信號,從而使 stm32f107vct6 單片機實現復位。 圖 3-3 復位電路3.4 開始按鍵電路系統(tǒng)啟動時先進行自檢,然后進入停止模式,節(jié)省能耗。需要工作時,按下開始按鍵產生中斷,喚醒系統(tǒng),系統(tǒng)進入正常工作模式,開始正常工作。機械開關連接時,一旦按下按鍵常常會出現幾次斷續(xù)的通、斷現象。為了消除這種現象需要去抖動,去抖動的方式包括硬件去抖動和軟件去抖動。本設計采用硬門禁讀卡器功能測試儀設計8件去抖動,在開關旁邊加一個 104 電容。如圖 3-4 所示: 圖 3-4 開始按鍵電路3

23、.5 韋根通信電路wiegand(韋根)協(xié)議是由摩托羅拉公司制定的一種通訊協(xié)議,它適用于涉及門禁控制系統(tǒng)的讀卡器和卡片的許多特性;其協(xié)議并沒有定義通訊的波特率、也沒有定義數據長度,主要定義了數據傳輸方式?,F在應用最多的是 26bit 和 34bit。韋根數據輸出由二根線組成,分別是 data0 和 data1,二根線分別將 0 或1 輸出。如果沒有數據傳輸,data0 和 data1 兩根線處于高電平,所以每根線上各加一個上拉電阻。如圖 3-5 所示: 圖 3-5 韋根通信電路3.6 jtag 下載電路jtag(joint test action group 聯合測試行動小組)是一種國際標準測

24、試協(xié)議(ieee 1149.1 兼容),主要用于芯片內部測試。現在多數的高級器件都支持 jtag協(xié)議,如 dsp、fpga 器件等。標準的 jtag 接口是 4 線:門禁讀卡器功能測試儀設計9tms、tck、tdi、tdo,分別為模式選擇、時鐘、數據輸入和數據輸出線?,F在,jtag 接口還常用于實現 isp(in-system programmable 在線編程),對 flash 等器件進行編程。jtag 編程方式是在線編程,傳統(tǒng)生產流程中先對芯片進行預編程,再燒寫到板上,現在簡化的流程為先固定器件到電路板上,再用 jtag 編程,從而大大加快工程進度。jtag 接口可對 psd 芯片內部的所

25、有部件進行編程 。ieee 1149.1 標準規(guī)定了一個四線串行接口(第五條線是可選的),該接口稱作測試訪問端口(tap),用于訪問復雜的集成電路(ic),例如微處理器、dsp、asic 和 cpld。除了 tap 之外,混合 ic 也包含移位寄存器和狀態(tài)機,以執(zhí)行邊界掃描功能。在 tdi(測試數據輸入)引線上輸入到芯片中的數據存儲在指令寄存器中或一個數據寄存器中。串行數據從 tdo(測試數據輸出)引線上離開芯片。邊界掃描邏輯由 tck(測試時鐘)上的信號計時,而且 tms(測試模式選擇)信號驅動 tap 控制器的狀態(tài)。trst(測試重置)是可選項。根據相關數據手冊中的說明,trst、tdi、

26、tms、tck 引腳上需要接一個 10k 的上拉電阻。jlink 仿真器通過 jtag 接口下載程序,不需要改變啟動方式,可以直接下載,還可以在線調試,簡單方便。電路如圖 3-6 所示:圖 3-6 jtag 下載電路3.7 電機控制電路本設計采用 h 橋驅動電路驅動 130 直流電機。如圖 3-7 所示,h 橋式電機驅動門禁讀卡器功能測試儀設計10電路包括 6 個三極管和一個 130 直流電機。要使電機運轉,必須導通對角線上的一對三極管。根據不同三極管對的導通情況,電流可能會從左至右或從右至左流過電機,從而控制電機的轉向。驅動電機時,保證 h 橋上兩個同側的三極管不會同時導通非常重要。如果三極

27、管 q3 和 q4 同時導通,那么電流就會從正極穿過兩個三極管直接回到負極,此時電路上的電流就可能達到最大值,甚至燒壞三極管?;谏鲜鲈?,在實際驅動電路中通常要用硬件電路方便地控制三極管的開關,所以需要添加兩個三極管 q1 和q2。當 a 為高電平 b 為低電平時,q1 導通 q2 截止,所以 q3 截止 q4 導通、q5 導通 q6 截止,所以電流方向是從電源正極經三極管 q5 到電機,再經三極管 q4 到地。相反,當 a 為低電平 b 為高電平時,q1 截止 q2 導通,所以 q3 導通 q4 截止、q5截止 q6 導通,所以電流方向是從電源正極經三極管 q3 到電機,再經三極管 q6

28、到地。所以只需改變 a、b 電平高低就可以實現電機的正反轉。電機啟動時電路中的電流會突然增大,會對其它模塊產生干擾,所以在電源端增加兩個電容 c20 和 c21,使電流緩慢增加,減小對其它模塊的干擾。r351kr331kr321kabr341k+3.3vq 1n pn -8050q 2n pn -8050q 3n pn -8050q 4pnp-8550q 6pnp-8550d 14148d 34148d 24148d 44148q 5n pn -8050c20104+c2110uf/16vm12m 1m ot or圖 3-7 電機控制電路門禁讀卡器功能測試儀設計113.8 主電路設計主電路的功

29、能是完成對英格索蘭的 sxg 系列 cpu 智能卡讀卡器的檢測,通過led 指示燈和米字型 led 顯示檢測結果。主電路上帶有顯示接口,用于指示工作狀態(tài)。電源指示燈用于指示主電路接通電源;工作狀態(tài)指示燈 led1 用于指示低頻卡的刷卡狀態(tài),led1 亮表示低頻卡刷卡成功,滅表示刷卡失?。还ぷ鳡顟B(tài)指示燈 led2 用于指示高頻卡的刷卡狀態(tài),led2 亮表示高頻卡刷卡成功,滅表示刷卡失?。还ぷ鳡顟B(tài)指示燈 led3 用于指示sxg 系列智能卡讀卡器的防拆開關的狀態(tài),led3 亮表示讀卡器被打開了,輸出報警,滅表示讀卡器未被打開;工作狀態(tài)指示燈 led4 用于指示高頻卡或低頻卡是否存在,led4 亮表

30、示高頻卡或低頻卡進行過刷卡,滅表示沒有刷卡;米字型 led 用于顯示按鍵的數字,按鍵測試時,按 0 到 9 則顯示 0 到 9,按“*”則顯示“a” ,按“#”則顯示“b” 。電路原理圖如圖附錄 1 所示,4 個 led 指示燈接在 pe 口的 0 到 3 管腳上,米字型 led 接到 pa 口的 8 到 12 管腳、pc 口的 6 到 9 管腳和 pd 口的 9 到 15 管腳。因為要檢測 sxg 系列 cpu 智能卡讀卡器上的紅色 led、綠色 led 和蜂鳴器是否正常,所以 pb 端口的 12 到 14 管腳需要通過驅動電路接到外部端口上,檢測時與其相應的端口相連。sxg6701k 讀卡

31、器帶有鍵盤,其它型號沒有鍵盤,需要添加一個型號檢測選擇開關,本電路中接到了 pe15 上,低電平時不進行鍵盤檢測,高電平時進行鍵盤檢測。鍵盤檢測時,將 pa 口的 1 到 7 管腳、pb0 管腳、pb1 管腳、pc4管腳、pc5 管腳和 pe7 管腳通過驅動電路接到 sxg 系列 cpu 智能卡讀卡器的相應管腳上,一個管腳對應一個數字,共有 12 個數字或字符,讀卡器的相應管腳收到低電平時,會通過韋根通信輸出對應的二進制按鍵編碼,主電路收到后會通過米字型led 顯示出對應的數字或字符。讀卡器具有防拆保護,主電路通過控制直流電機使一個面板遮擋讀卡器上的防拆孔,工作狀態(tài)指示燈 3 亮說明被拆開了,

32、移開面板,工作狀態(tài)指示燈 3 滅,則無報警信號。 主電路最重要的是對 sxg 系列 cpu 智能卡讀卡器的高頻卡和低頻卡的檢測,主電路上的韋根通信接口接到 sxg 系列 cpu 智能卡讀卡器上,用戶刷低頻卡時,讀卡器讀取數據通過韋根通信將 26 位數據發(fā)送到主電路中,主電路對 26 位韋根數門禁讀卡器功能測試儀設計12據進行校驗,如果正確,工作狀態(tài)指示燈 led1 和 led4 亮 1 秒。用戶刷高頻卡時,讀卡器讀取數據通過韋根通信將 34 位數據發(fā)送到主電路中,主電路對 34 位韋根數據進行校驗,如果正確,工作狀態(tài)指示燈 led2 和 led4 亮 1 秒。刷低頻卡和高頻卡沒有先后順序。4

33、軟件設計軟件的設計是設計控制系統(tǒng)的應用程序。其任務是在整體設計和硬件設計的基礎上,確定程序結構,分配內 ram 資源,劃分功能模塊,然后進行主程序和各模塊程序的設計,最后連接起來成為一個完整應用程序,與硬件相結合完成相應功能。4.1 主程序設計主程序采用模塊化設計,流程圖如圖 4-1 所示。從流程圖可以看出,主程序的組成是通過分別調用各子程序組成總體系統(tǒng)功能,能很直觀的看出主程序所要完成的功能,系統(tǒng)上電后首先是系統(tǒng)初始化,配置每個寄存器和初始化結構體和變量,然后是系統(tǒng)自檢,確保本測試電路能夠正常工作,之后設置開始按鍵為中斷模式,為了節(jié)省能耗系統(tǒng)進入停止模式。當需要工作時,按下開始鍵產生中斷喚醒

34、系統(tǒng),系統(tǒng)進入正常工作模式,調用 led 和蜂鳴器測試子程序測試 sxg 系列 cpu 智能卡讀卡器上的綠色 led、紅色 led 和蜂鳴器能否正常工作,然后調用電機控制子程序檢測讀卡器上的防拆保護功能能否工作。如果在讀卡器上刷高頻卡或低頻卡則調用高頻卡或低頻卡校驗子程序,校驗從卡上讀取的數據是否正確。最后判斷是否進行按鍵測試,首先判斷型號選擇開關引腳的電平,若為低電平則測試結束,若為高電平,則調用按鍵測試子程序,測試完進入停止模式,等待下一次測試。門禁讀卡器功能測試儀設計13系統(tǒng)初始化系統(tǒng)自檢開始鍵設為中斷模式系統(tǒng)進入停止模式按下開始鍵,喚醒系統(tǒng)調用測試綠色 led、紅色 led 和蜂鳴器子

35、程序調用退出停止模式子程序調用電機控制子程序調用高頻卡或低頻卡校驗子程序型號選擇開關是高電平?按鍵測試yn開始門禁讀卡器功能測試儀設計14圖 4-1 主程序流程圖4.2 系統(tǒng)初始化在使用一個 gpio 之前,一般需要對 gpio 引腳的時鐘、引腳的模式以及速率進行設定。stm32 的 io 口可以由軟件配置成 8 種模式:模擬輸入、輸入浮空、輸入下拉、輸入上拉、開漏輸出、推挽輸出、復用功能開漏輸出和復用功能推挽輸出。io 端口作為輸出時,可以軟件配置端口最大支持的時鐘速率:10mhz、2mhz 和50mhz。系統(tǒng)初始化包括初始化 4 個 led 指示燈和米字型 led、初始化電機控制、初始化防

36、拆保護引腳、初始化型號選擇開關、初始化韋根通信接口、初始化檢驗讀卡器上的 led 和蜂鳴器的引腳和初始化按鍵測試。初始化時都需要打開對應端口的時鐘,4 個 led 指示燈、米字型 led、按鍵測試、電機控制和檢驗讀卡器上的 led和蜂鳴器的引腳配置成輸出模式,時鐘速率設置為 50mhz;防拆保護、型號選擇開關的引腳設為輸入模式,不需要設置時鐘速率;韋根通信接口的引腳設為中斷模式,輸入上拉,下降沿觸發(fā)。如圖 4-2 所示:初始化 4 個 led 和米字型 led初始化防拆保護引腳初始化韋根通信接口初始化型號選擇開關初始化電機控制開始門禁讀卡器功能測試儀設計15圖 4-2 系統(tǒng)初始化流程圖4.3

37、系統(tǒng)自檢低電平點亮 led,高電平熄滅 led。首先 4 個 led 和米字型 led 對應的引腳輸出低電平,然后延遲 1 秒,最后輸出高電平。如圖 4-3 所示:圖 4-3 系統(tǒng)自檢流程圖4.4 開始鍵設為中斷模式 stm32 的所有 gpio 管腳都可以作為中斷輸入源,通過復用的方式使其對處理器來說來自 gpio 的一共有 16 個中斷 px15:0。開始鍵接在 pe14 上,所以中斷是外中斷線 14。如圖 4-4 所示:初始化按鍵測試的引腳初始化綠色 led、紅色 led 和蜂鳴器返回返回4 個 led 和米字型 led 對應的引腳輸出低電平延遲 1 秒4 個 led 和米字型 led

38、對應的引腳輸出高電平配置中斷源、外中斷線、中斷觸發(fā)方式打開端口時鐘,引腳設為輸入浮空開始開始門禁讀卡器功能測試儀設計16圖 4-4 開始鍵設為中斷模式4.5 進入停止模式停止模式是在 cortex-m3 的深睡眠模式基礎上結合了外設的時鐘控制機制。進入停止模式:首先設置 cortex-m3 系統(tǒng)控制寄存器中的 sleepdeep 位,清除電源控制寄存器(pwr_cr)中的 pdds 位,然后通過設置 pwr_cr 中 lpds 位選擇電壓調節(jié)器模式,最后執(zhí)行 wfi 指令。如圖 4-5 所示:圖 4-5 進入停止模式流程圖4.6 配置系統(tǒng)時鐘任一個外部中斷即可喚醒系統(tǒng),喚醒后需要配置系統(tǒng)時鐘。

39、激活 hse(高速外部時鐘),待 hse 穩(wěn)定后,激活 pll,把 pll 作為系統(tǒng)時鐘源。如圖 4-6 所示:返回設置中斷通道、優(yōu)先級啟動中斷返回執(zhí)行 wfi(等待中斷)指令設置 pwr_cr 寄存器的 lpds 位設置系統(tǒng)控制寄存器的 sleepdeep 位清除 pwr_cr 寄存器的 pdds 位開始開始門禁讀卡器功能測試儀設計17圖 4-6 配置系統(tǒng)時鐘4.7 電機控制電機控制部分對應兩個管腳 a 和 b,管腳 a 為高電平管腳 b 為低電平時,電機正轉;管腳 a 為低電平管腳 b 為高電平時,電機反轉;管腳 a 和管腳 b 的電平相同時,電機停止轉動。如圖 4-7 所示:圖 4-7

40、電機控制流程圖返回激活 pll選擇 pll 作為系統(tǒng)時鐘源激活 hse(高速外部時鐘)返回延遲 4 秒管腳 a 和管腳 b 都設為低電平,電機停止管腳 a 設為高電平,管腳 b 設為低電平,電機正轉延遲 4 秒管腳 a 和管腳 b 都設為低電平,電機停止管腳 a 設為低電平,管腳 b 設為高電平,電機反轉延遲 1 秒開始門禁讀卡器功能測試儀設計184.8 韋根通信測試這是設計的難點,sxg 系列 cpu 智能卡讀卡器要讀取低頻卡和高頻卡的數據,而且無先后順序,低頻卡 26 位韋根數據,高頻卡 34 位韋根數據。韋根數據輸出由二根線組成,分別是 data0 和 data1;二根線分別將0或1輸出

41、。 輸出0時:data0 線上出現負脈沖;輸出1時:data1 線上出現負脈沖;負脈沖寬度 tp=100 微秒;周期 tw=1600 微秒。韋根的接收對時間的實時性要求比較高,如果用查詢的方法接收會出現丟幀的現象:假設查詢到data0 為 0 時主程序正在指向其他任務,等主程序執(zhí)行完該任務時 data0 已經變?yōu)?1 了,那么這樣就導致了一個 0 位丟了,這樣讀出的卡號肯定奇偶校驗通不過,所以表現出 cpu 接收不到 id 模塊發(fā)送的卡號了,唯一的辦法是在外部中斷里接收每個位。當有韋根數據傳輸時產生中斷,在中斷里接收韋根數據,接收完后需要對韋根數據的位數進行判斷。如果是 26 位數據,調用 2

42、6 位韋根數據校驗程序進行校驗,若數據正確,面板上的指示燈 led1 和 led4 亮 1 秒;如果是 34 位數據,調用 34位韋根數據校驗程序進行校驗,若數據正確,面板上的指示燈 led2 和 led4 亮 1秒。如圖 4-8 所示: n y n y n 中斷里讀取韋根數據數據是 26 位?低頻卡標志 low 置 1,調用 26 位韋根數據校驗程序進行校驗數據正確?高頻卡標志 high 置1,調用 34 位韋根數據校驗程序進行校驗數據正確?led2 和 led4 亮 1 秒led4 亮1 秒led4亮 1秒開始門禁讀卡器功能測試儀設計19 y n y 圖 4-8 韋根通信測試4.9 按鍵測

43、試僅適用于型號 sxg6701k,首先判斷型號選擇開關的狀態(tài),若是高電平則進行按鍵測試。主設備通過控制邏輯電路模擬按鍵,讀卡器上一共有 12 個按鍵。按鍵接收到低電平時,會通過韋根輸出對應的 4 位二進制按鍵編碼,韋根數據不需要校驗,同時 12 個按鍵的引腳不能同時為低電平。如圖 4-9 所示: yled1 和 led4 亮 1 秒低頻卡和高頻卡標志都是 1 ?返回給下一個按鍵引腳輸出低電平型號選擇開關是高電平?讀取按鍵的韋根數據米字型 led 顯示相應的數字或字符n開始門禁讀卡器功能測試儀設計20 n y 圖 4-9 按鍵測試5 系統(tǒng)調試單片機系統(tǒng)經過總體設計,完成了硬件和軟件設計開發(fā)。通過

44、軟件和硬件相結合系統(tǒng)即可運行。但編制好的程序或焊接好的線路不能按預計的那樣正常工作是常見的事,經常會出現一些硬件、軟件上的錯誤,這是軟件和硬件開發(fā)者經常遇見的,這就需要通過調試來發(fā)現錯誤并加以改正。調試可分為硬件調試和軟件調試。本設計系統(tǒng)利用 jlink 仿真器進行了在線調試,并運行成功,最后進行實物圖的硬件組裝與調試,這樣就給開發(fā)者在提供了方便。5.1 軟件調試本設計是利用 proteus 軟件進行調試的,完全用仿真軟件在 pc 機上對目標電路原理圖和程序進行檢測和調試。調試過程中單片機相應輸入端由通用鍵盤和鼠標設定,運行狀態(tài)、各寄存器狀態(tài)、端口狀態(tài)等都可以在指定的窗口區(qū)域顯示出來,以確定程

45、序運行有無錯誤。目標程序糾錯:該階段工作通常在目標程序編輯時就完成。一般來說,仿真軟件能為用戶輸入的程序指令糾錯,包括書寫格式、標號未定義或多重定義、轉移地址溢出等錯誤。整體程序調試:即把各子程序整體連起來進入到綜合電路調試,看是否能實現預計的功能顯示。在這階段若發(fā)生故障,可以考慮各子程序在運行時是否破壞現場,數據緩沖單元是否發(fā)生沖突,標志位的建立和清除在設計上是否失誤,堆棧是否溢出,輸入輸出狀態(tài)是否正常等。經過多次修改程序最后調試出來理想的效果,用軟件模擬器調試不需任何在線返回12 個按鍵測試完?門禁讀卡器功能測試儀設計21仿真器,也不需要用戶樣機,直接就可以在 pc 機上開發(fā)和調試。調試和

46、修改完畢后可以直接使用編程器將軟件固化在目標系統(tǒng) rom 中,然后投入運行。5.2 硬件調試單片機應用系統(tǒng)的硬件調試和軟件調試是分不開的,許多硬件故障在軟件調試時才能發(fā)現,但通常要先排除系統(tǒng)中明顯的硬件故障。調試工作可以分為四步:線路檢查:根據硬件邏輯設計圖,仔細檢查樣機線路是否連接正確,并核對元器件的型號、規(guī)格和安裝是否符合要求,必要時可用萬用表檢測線路通斷情況。電源調試:樣機的第一次通電測試很重要,若樣機中存在電源故障,則加電后將造成器件損壞。調試的方法有兩種:一種是斷開樣機穩(wěn)壓電源的輸出端,檢查空載時電源工作情況;另一種是拔下樣機上的主要集成芯片,檢查電源的負載能力(用假負載) 。確保電

47、源無故障并性能符合設計要求。通電檢查:在確保電源良好前提下,接通電源。最好在電源與其余電路之間串接一個電流表。若接通后電流很大,必須立即切斷電源。電源大得超出正常范圍,說明電路中有短路或故障。通電檢查的主要目的是看系統(tǒng)是否存在短路或由元器件損壞、裝配錯誤引起的電流異常。檢查芯片的邏輯關系是否出錯:加電后檢查各芯片插座上相關引腳的電位,仔細測量相應的輸入輸出電平是否正常。單片機系統(tǒng)大都是數字邏輯電路,使用電平檢查法可首先查出邏輯設計是否正確,選用器件和連接關系是否符合要求等。硬件檢測完畢后,使用 jlink 仿真器連接 pc 和 jtag 接口,下載程序和進行在線單步調試,使用 jlink 仿真

48、器可以通過硬件直觀地看到每段代碼的執(zhí)行結果。本設計特點突出,性價比高,適合于工廠檢測,有很高應用價值。門禁讀卡器功能測試儀設計22結束語硬件系統(tǒng)關系到所要設計的電子產品好壞,如系統(tǒng)抗干擾性等,所以要合理地安排盡量減少干擾提高性能。單片機是很容易受干擾的控制器,當采用外部晶振時,應盡量讓其靠近單片機減少對其干擾,防止程序亂飛現象。同時還可以采用隔離等方式減少干擾,硬件系統(tǒng)設計的好壞很大部分來源于經驗,所以我們要有動手的好習慣。軟件設計是核心部分,具有多樣化、靈活性高、易移植等優(yōu)點,要深深理會各指令的含義才能更加熟練應用。低功耗處理是本設計的一大特色,當系統(tǒng)不工作時,進入停止模式節(jié)省功耗,需要運行

49、時喚醒系統(tǒng),進入正常工作模式開始工作。軟件的設計大部分采用模塊化設計的方法以方便調試,并使其可讀性大大增強,方便更改和移植。在這次設計中我學到了很多知識,包括軟件方面的和硬件方面的。stm32f107vct6 這個芯片是我第一次使用,剛開始完全不知道怎么辦,還好官方提供了不少例程,學習了一段時間了解了大概。在硬件設計上,每個芯片的電源端通常要加一個電容進行濾波,晶振的位置最好緊挨主芯片。畫 pcb 時,要查清楚各元器件的封裝,電源線要盡可能的粗些,pcb 盡可能的緊湊和美觀。門禁讀卡器功能測試儀設計23致 謝門禁讀卡器功能測試儀設計24參考文獻1肖碩,荊剛,李莉娜等.單片機數據通信典型應用大全

50、m.北京:中國鐵道出版社,20112胡漢才.單片機原理及其接口技術m.北京:清華大學出版社,20103喻金錢,喻斌.stm32f 系列 arm cortex-m3 核微控制器開發(fā)與應用m.北京:清華大學出版社, 20114謝宜仁.單片機實用技術問答m.北京:人民郵電出版社,20035房小翠,王金鳳.單片機實用系統(tǒng)設計技術m.北京:國防工業(yè)出版社,19996何立民.單片機高級教程應用與設計m.北京:北京航空航天大學出版社,20007范書瑞.cortex-m3 嵌入式處理器原理與應用m.西安:電子工業(yè)出版社,20118姚文詳.arm cortex-m3 權威指南m.北京:北京航空航天大學出版社,2

51、0099劉國榮.單片微型計算機技術m.北京:機械工業(yè)出版社,199610王迎旭.單片機原理與應用m.北京:機械工業(yè)出版社,200411劉軍.例說 stm32m.北京:北京航空航天大學出版社,201112高峰.單片微型計算機原理與接口技術m.北京:科學出版社,200313何宏.單片機原理與接口技術m.北京:國防工業(yè)出版社,200614楊西明,朱騏.單片機編程與應用入門m.北京:機械工業(yè)出版社,200415蒙博宇.stm32 自學筆記m.北京:北京航空航天大學出版社,201216廖義奎.cortex-m3 之 stm32 嵌入式系統(tǒng)設計m.北京:中國電力出版社,201217李寧.arm mcu 開

52、發(fā)工具 mdk 使用入門m.北京:北京航空航天大學出版社,201218楊剛.32 位嵌入式系統(tǒng)與 soc 設計導論m.西安:電子工業(yè)出版社,201119陳志旺.stm32 嵌入式微控制器快速上手m.西安:電子工業(yè)出版社,201220joseph yiu.the definitive guide to the arm cortex-m3m.california:information storage devices,2008門禁讀卡器功能測試儀設計25附 錄附錄 1 硬件電路圖門禁讀卡器功能測試儀設計26l ed 2l ed 3l ed 4+3.3vr20470r21470r22470l ed

53、1r19470+3.3vc4100nfc7100nf+c510uf+c610uf+12v+3.3vr1710k+3.3vc1104+3.3vr1r6r3r4r2r5r14r13r11r12r9r8r10r7r16r15220start670112j2con 212j1pow er ins3sw spd tdata0data112cn1pcba power+12vg ndl ed 5l ed電源模塊r232kv in3gnd1v out2u 2l m1117d 54004+12v1342s1sw_pushl 1l 2l 3l 4l 5l 6l 7l 8l 9l 10l 11l 12l 13l 1

54、4l 15l 16l ed 1l ed 2l ed 3l ed 4a 11j2h3f4g 15m6n7e8k17d 19d 210com11d p12c13l14g 215b16a 1a 2bcd 2d 1efhjkg 2lmng 1d pa 218u 1d py _16r7010kr7110k+3.3vr8010k韋根通信型號選擇開始按鍵v cc1/t rst3t di5t ms7t ck9rtck11t do13/srst15d bg ro17d bg ack19v cc2g nd4g nd6g nd8g nd10g nd12g nd14g nd16g nd18g nd20jta g 1r

55、2610kr2710kr2810kr2910kr3010kr3110k+3.3v+3.3vt rstt dit ms/sw d iot ck /sw clkt do /sw orese t220jtag下載米字型led工作狀態(tài)指示燈r351kr331kr321kabr341k+3.3vq 1n pn -8050q 2n pn -8050q 3n pn -8050q 4pnp-8550q 6pnp-8550d 14148d 34148d 24148d 44148q 5n pn -8050c20104+c2110uf/16vc8100nfpa023pa124pa225pa326pa429pa530

56、pa631pa732pa867pa968pa1069pa1170pa1271pa1372pa1476pa1577pb035pb136pb237pb389pb490pb591pb692pb793pb895pb996pb1047pb1148pb1251pb1352pb1453pb1554pc015pc116pc217pc318pc433pc534pc663pc764pc865pc966pc1078pc1179pc1280pc137pc148pc159v dd _275v dd _3100v dd _428v dd _511v dd a22v re f+21v dd _150pd1562pd1461

57、pd1360pd1259pd1158pd1057pd956pd855pd788pd687pd586pd485pd384pd283pd182pd081pe1546pe1445pe1344pe1243pe1142pe1041pe940pe839pe738pe65pe54pe43pe32pe21pe198pe097v ss_274v ss_399v ss_427v ss_510v ssa19v re f-20v ss_149n c73o sc_in12o sc_ou t13boo t 094n rst14v ba t6u 3stm 32f107v c+3.3vc320pfc220pfy 125m h

58、 zr251m+3.3vr2410kc14104start6701data0data1abgled1rled1beep1key1key2key3key4key5key6key7key8key9key10key11key121342s2sw_pushl 1l 2l 3l 4c11100nfc12100nfc13100nf+3.3v+3.3v+3.3v+3.3vc15100nfl ed 1l ed 2l ed 3l ed 4l 5l 6l 7l 8l 9l 10l 11l 12l 13l 14l 15l 161j5con 1t ms/sw d iot ck /sw clkt dit do /sw

59、ot rstrese t電機控制主芯片m12m 1m ot or門禁讀卡器功能測試儀設計27附錄 2 pcb 板門禁讀卡器功能測試儀設計28附錄 3 主程序源代碼/*主文件*/* includes -*/#include stm32f10 x.h#include /* private macro -*/*延遲時間*/#define oneseconds25000000 /1 秒#define seconds100000000 /4 秒/* private variables -*/errorstatus hsestartupstatus; /hse 啟動狀態(tài)u8 high=0,low=0; /

60、高頻卡和低頻卡的標志u8 temp=0; /韋根數據的位數u8 buffer35;/存放韋根數據/* private function prototypes -*/void sysclkconfig_stop(void); /從停止模式喚醒后,配置系統(tǒng)時鐘void led_config(void); /初始化 fct 上 4 個 ledvoid start_int(void); /初始化開始鍵為中斷模式void mi_led_config(void); /初始化 fct 上米字 ledvoid motor_config(void); /初始化 fct 上電機引腳void sw_config(void)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論