




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于基于 stm32stm32 系列單片機的門禁讀卡器功能測試系列單片機的門禁讀卡器功能測試儀設計儀設計 摘摘 要要 本設計是基于 stm32 系列的單片機進行的對 sxg 系列門禁讀卡器的功能測試。 在設計的同時對 stm32 單片機的理論基礎和外圍擴展知識進行了比較全面準備。 對 sxg 系列門禁讀卡器的功能測試在硬件與軟件方面進行同步設計。硬件部分主要 由 stm32f107vct6 微處理器、led 顯示電路、jtag 下載電路、電源轉換電路、 韋根通信電路、以及電機控制電路等組成,系統通過 led 和米字型 led 顯示測試 結果,所以具有人性化的操作和直觀的顯示效果。軟件方面主要包
2、括系統進入停止 模式和退出停止模式、韋根通信、控制電機、鍵盤測試等。本系統以 c 語言進行軟 件設計,為了便于擴展和更改,軟件的設計采用模塊化結構,使程序設計的邏輯關 系更加簡潔明了,以便更簡單地實現對 sxg 系列門禁讀卡器的功能測試。所有程序 編寫完成后,在 keil 軟件中進行調試, 確定沒有問題后,焊接硬件測試 sxg 系列門 禁讀卡器。 關鍵詞 stm32f107vct6 韋根通信 電機控制 the design of the access control reader function tester abstract taking the sxg series of access
3、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 test of the
4、 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 system led-segm
5、ent 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, the softwar
6、e 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 hardware testing.
7、 key words stm32f107vct6 wiegand communication motor control 目目 錄錄 中文摘要.i 英文摘要.ii 1 緒論.1 1.1 引言.1 1.2 主要任務.2 1.3 主要技術指標.2 1.4 門禁讀卡器功能測試儀的國內外發展現狀與趨勢.2 2 設計方案論證.3 2.1 控制器芯片的選擇方案和論證.3 2.2 顯示模塊選擇方案和論證.3 2.3 下載方式的選擇方案和論證.4 2.4 電路設計最終方案確定.4 3 硬件設計.6 3.1 電源設計.6 3.2 晶振電路.6 3.3 復位電路.7 3.4 開始按鍵電路.7 3.5 韋根通信電路
8、.8 3.6 jtag 下載電路.8 3.7 電機控制電路.9 3.8 主電路設計.10 4 軟件設計.12 4.1 主程序設計.12 4.2 系統初始化.14 4.3 系統自檢.15 4.4 開始鍵設為中斷模式.15 4.5 進入停止模式.16 4.6 配置系統時鐘.16 4.7 電機控制.17 4.8 韋根通信測試.17 4.9 按鍵測試.19 5 系統調試.20 5.1 軟件調試.20 5.2 硬件調試.20 結束語.22 致 謝.23 參考文獻.24 附 錄.25 附錄 1 硬件電路圖.25 附錄 2 pcb 板.27 附錄 3 主程序源代碼.28 1 緒論 1.1 引言 隨著經濟的蓬
9、勃發展,外來人員增多,出租屋租住人員的流動性更大,如何杜 絕閑雜人員的進入,加強出租屋的技術防范水平。傳統機械鎖在使用過程中存在以 下問題:都采用一把鑰匙一把鎖,鑰匙易被仿制;鑰匙丟失后存在安全嚴重隱患; 人員流動導致鑰匙流失而無法控制;有的出租屋,更換一個人就要更換幾套機械鎖; 幾乎所有的機械門鎖,對上門開鎖者,都是很容易打開的。出入口處安裝刷卡門禁 系統1,一人一卡,所有租住人員都必須憑卡出入,即使租戶鑰匙扣卡不慎丟失, 只要將他的卡號通過遙控器直接刪除,該卡立即在本鎖使用無效,業主不用換鎖, 即經濟又安全。 出入口門禁安全管理系統是新型現代化安全管理系統,它集微機自動識別技術 和現代安全
10、管理措施為一體,它涉及電子、機械、光學、計算機技術、通訊技術、 生物技術等諸多新技術。它是解決重要部門出入口實現安全防范管理的有效措施。 適用各種機要部門,如銀行、賓館、機房、軍械庫、機要室、辦公間、智能化小區、 工廠等。在數字技術網絡技術飛速發展的今天門禁技術得到了迅猛的發展。門禁系 統早已超越了單純的門道及鑰匙管理,它已經逐漸發展成為一套完整的出入管理系 統。它在工作環境安全、人事考勤管理等行政管理工作中發揮著巨大的作用。 門禁系統中讀卡器2是最外圍設備,擔負著讀取卡片信息、人機界面交互、數 據校驗上傳等一系列功能,其重要性不言而喻。讀卡器要具有安全性、穩定性、外 型美觀及環境和諧、人機界
11、面友好、安裝調試的經濟與便捷、節能環保設計的特點。 英格索蘭的 sxg 系列 cpu 智能卡讀卡器具有這些特點,采用多技術,支持 125khz 低頻卡和 13.56mhz 高頻卡;閱讀距離遠:7.6cm(125k);7.6cm(iso15693);兼容非 接觸 cpu 智能卡等多種格式:hid proximity;infineon my-d 安全扇區;hid iclass、infineon my-d、philips i-code、desfire、mifare 序列號; desfire、mifare 扇區,復旦微電子 fm1208 cpu 卡安全文件;具有防拆保護,3 態 led(紅、綠、琥珀)
12、可視化指示燈及聲音反饋,顯示工作狀態及動作信息;廣 泛使用于銀行、辦公樓、建筑工地、交通、電力、軍隊、學校、醫院等門禁應用場 合。 1.2 主要任務 本文設計的測試儀可檢測英格索蘭的 sxg6701k、sxg6501、sxg5501、sxg4501、sxg4001、sxg5001 型號的讀卡器, 利用 stm32f107vct63進行控制,led 顯示測試結果,可廣泛應用于英格索蘭的 sxg 系列 cpu 智能卡讀卡器的生產工廠,自動化工作,可減少員工的工作量。因 而,此設計具有相當重要的現實意義和實用價值。 1.3 主要技術指標 (1)工作溫度范圍: -20c 到 +80c; (2)測試設備
13、支持 sxg6701k,6501,5501,4501,4001,5001; (3)不工作時進入停止模式4,節省能耗; (4)支持韋根 26 位、34 位(帶校驗),以及 4 位(不帶校驗); (5)鍵盤測試時,能夠自動運行。 1.4 門禁讀卡器功能測試儀的國內外發展現狀與趨勢 門禁讀卡器是門禁系統的重要組成部分,是門禁系統信號輸入的關鍵設備,其 安全性和可靠性是不言而喻的。門禁讀卡器的讀卡技術多種多樣,種類又很多。目 前門禁讀卡器功能測試儀主要是針對各公司的產品進行制造的,種類單一,兼容性 不強,這樣導致讀卡器生產商要采購多種測試儀才能滿足檢測需要,增加了成本。 有些測試儀為了節省成本,使用簡
14、單功能的微處理器,沒有低功耗模式,耗電量大。 也有些測試儀界面不夠友好,使用者需要學習一段時間才能操作,降低了生產商的 生產效率。為了改善以上的不足,未來的門禁讀卡器功能測試儀將朝著多功能化發 展,將支持目前市面上主流的讀卡技術校驗,能夠自動運行,支持更多型號的讀卡 器,具備鍵盤測試,外型美觀及環境和諧,人機界面友好,可使使用者快速掌握使 用方法。節能環保也將是今后讀卡器功能測試儀發展的重要趨勢,不工作時處于休 眠狀態,降低功耗。以后的門禁讀卡器測試儀也將更加的安全和穩定。 2 設計方案論證 2.1 控制器芯片的選擇方案和論證 方案一: 采用 89c51 芯片作為硬件核心,采用 flash r
15、om,內部具有 4kb rom 存儲空 間,能于 3v 的超低壓工作,而且與 mcs-51 系列單片機完全兼容,但是運用于電路設 計中時由于不具備 isp 在線編程技術5, 當在對電路進行調試時,由于程序的錯誤 修改或對程序的新增功能需要燒入程序時,對芯片的多次拔插會對芯片造成一定的 損壞。 方案二: 采用 stm32f107vct6,片內具有 64kb 的 ram 和 256kb 的 rom,存儲空間 大不需要外擴存儲芯片;工作溫度范圍:-40c 到 +85c,滿足工業現場;支持的接 口類型多,包括 usb、usart、spi、i2c、can6,便于以后升級;電源電壓最大 3.6v,最小 2
16、v;支持 jtag7,具有在線調試功能;具有在線編程可擦除技術,當 在對電路進行調試時,由于程序的錯誤修改或對程序的新增功能需要燒入程序時, 不需要對芯片多次拔插,所以不會對芯片造成損壞。 所以選擇采用 stm32f107vct6 作為主控制芯片。 2.2 顯示模塊選擇方案和論證 方案一: 采用 led 液晶顯示屏,液晶顯示屏的顯示功能強大,可顯示大量文字,圖形,顯示 多樣,清晰可見,但是價格昂貴,需要的接口線多,所以在此設計中不采用 led 液晶顯 示屏。 方案二: 采用點陣式數碼管顯示,點陣式數碼管是由八行八列的發光二極管組成,對于 顯示文字比較適合,如采用在顯示數字顯得太浪費,且價格也相
17、對較高,所以也不用此 種作為顯示。 方案三: 采用米字型 led 顯示,米字型 led 價格適中,單個就可以顯示所有的數字和 英文字符,接線方法簡單。 所以采用了米字型 led 作為顯示。 2.3 下載方式的選擇方案和論證 方案一: 通過串口下載程序,首先要將 stm32f107vct6 的啟動模式8設置為 systemboot,而默認的啟動模式是 userboot,在 systemboot 模式下,stm32 在復 位后不會執行用戶代碼,而是等待串口更新程序。程序運行時,需要將啟動模式設 置為 userboot 模式,復位芯片。 方案二: 通過 usb 接口下載程序,首先要將 stm32f1
18、07vct6 的啟動模式設置為 systemboot,而默認的啟動模式是 userboot。程序下載成功后,需要將啟動模式設 置為 userboot 模式,復位芯片即可看到程序運行的現象。 方案三: 通過 jlink 下載程序,不需要改變啟動模式,jlink 仿真器支持的處理器多, 與主流的開發環境完美結合。通過 jlink 仿真器,可以方便地下載和在線調試代碼。 所以采用 jlink 下載程序。 2.4 電路設計最終方案確定 綜上各方案所述,對此次作品的方案選定:以 stm32f107vct6 為主控制器,通 過 jlink 仿真器下載和調試程序,led 指示燈顯示測試結果,米字型 led
19、顯示鍵 盤測試結果。 主電路采用 stm32f107vct6 作為主芯片,包括復位電路、開始按鍵電路、電 源模塊、jtag 下載電路、led 工作指示燈電路、米字型 led 顯示電路、韋根通信 電路、電機控制電路和按鍵測試電路。電路設計框圖如圖 2-4 所示: stm32f107vct6 復位電路 開始按 鍵電路 電源模塊 led 工作指 示燈電路 米字型 led 顯示電路 韋根通信電路 jtag 下載 電路 按鍵測試 電機控制 電路 圖 2-4 電路設計框圖 3 硬件設計 3.1 電源設計 在這里因設計分工和側重點不同,電源模塊先采用通用的電源將 220v 的交流 電轉換成 12v 的直流電
20、,然后 12v 的電源一方面給英格索蘭的 sxg 系列 cpu 智能 卡讀卡器供電,一方面給本設計的測試電路供電。上電后,電源工作指示燈 led5 亮,然后經過 c4、c5 電容濾波輸入到 lm1117,通過電壓調節器 lm1117 調節后輸 出 3.3v 的電壓,再經過 c6、c7 電容濾波,最后輸出穩定的 3.3v 電壓。如圖 3-1 所 示: c4 100nf c7 100nf +c5 10uf +c6 10uf +12v+3.3v 1 2 j1 pow er in 1 2 cn1 pcba power +12v g nd l ed 5 l ed r23 2k v in 3 gnd 1
21、v out 2 u 2 l m1117 d 5 4004 +12v 圖 3-1 電源設計 3.2 晶振電路 單片機必須在時鐘的驅動下才能進行工作,stm32f107vct6 內部含有一個 8mhz 的 rc 振蕩器,但精度較差,通常使用外部高速時鐘信號。外部 25mhz 的高 速時鐘首先經過時鐘配置寄存器 2 的 prediv2 分頻因子進行 5 分頻,然后經過 pll2 倍頻因子 8 倍頻后,再經過 prediv1 分頻因子 5 分頻后得到 8mhz 的時鐘, 然后經過時鐘配置寄存器的 pll 倍頻系數 9 倍頻后,輸出精確的 72mhz 時鐘。如 圖 3-2 所示: 圖 3-2 晶振電路
22、3.3 復位電路 在系統運行的過程中,有時可能對系統需要進行復位,為了避免對硬件系統經 常加電和斷電造成的損害,設計了手動的復位電路,如圖 3-3 所示。這種電路的設 計,在系統的運行過程中需要復位時,只需使開關閉合,在 nrst 端就會出現一定 時間的低電平信號,從而使 stm32f107vct6 單片機實現復位。 圖 3-3 復位電路 3.4 開始按鍵電路 系統啟動時先進行自檢,然后進入停止模式,節省能耗。需要工作時,按下開 始按鍵產生中斷,喚醒系統,系統進入正常工作模式,開始正常工作。 機械開關連接時,一旦按下按鍵常常會出現幾次斷續的通、斷現象。為了消除 這種現象需要去抖動,去抖動的方式
23、包括硬件去抖動和軟件去抖動。本設計采用硬 件去抖動,在開關旁邊加一個 104 電容。如圖 3-4 所示: 圖 3-4 開始按鍵電路 3.5 韋根通信電路 wiegand(韋根)協議是由摩托羅拉公司制定的一種通訊協議,它適用于涉及門 禁控制系統的讀卡器和卡片的許多特性;其協議并沒有定義通訊的波特率、也沒有 定義數據長度,主要定義了數據傳輸方式。現在應用最多的是 26bit 和 34bit。 韋根數據輸出由二根線組成,分別是 data0 和 data1,二根線分別將 0 或 1 輸出。如果沒有數據傳輸,data0 和 data1 兩根線處于高電平,所以每根線上 各加一個上拉電阻。如圖 3-5 所示
24、: 圖 3-5 韋根通信電路 3.6 jtag 下載電路 jtag(joint test action group 聯合測試行動小組)是一種國際標準測試協議 (ieee 1149.1 兼容),主要用于芯片內部測試。現在多數的高級器件都支持 jtag 協議,如 dsp、fpga 器件等。標準的 jtag 接口是 4 線: tms、tck、tdi、tdo,分別為模式選擇、時鐘、數據輸入和數據輸出線。現在, jtag 接口還常用于實現 isp(in-system programmable 在線編程),對 flash 等器 件進行編程。 jtag 編程方式是在線編程,傳統生產流程中先對芯片進行預編程,
25、再燒寫到 板上,現在簡化的流程為先固定器件到電路板上,再用 jtag 編程,從而大大加快 工程進度。jtag 接口可對 psd 芯片內部的所有部件進行編程 。 ieee 1149.1 標準規定了一個四線串行接口(第五條線是可選的),該接口稱 作測試訪問端口(tap),用于訪問復雜的集成電路(ic),例如微處理器、 dsp、asic 和 cpld。除了 tap 之外,混合 ic 也包含移位寄存器和狀態機,以執 行邊界掃描功能。在 tdi(測試數據輸入)引線上輸入到芯片中的數據存儲在指令 寄存器中或一個數據寄存器中。串行數據從 tdo(測試數據輸出)引線上離開芯片。 邊界掃描邏輯由 tck(測試時
26、鐘)上的信號計時,而且 tms(測試模式選擇)信號 驅動 tap 控制器的狀態。trst(測試重置)是可選項。根據相關數據手冊中的說 明,trst、tdi、tms、tck 引腳上需要接一個 10k 的上拉電阻。 jlink 仿真器通過 jtag 接口下載程序,不需要改變啟動方式,可以直接下載, 還可以在線調試,簡單方便。電路如圖 3-6 所示: 圖 3-6 jtag 下載電路 3.7 電機控制電路 本設計采用 h 橋驅動電路驅動 130 直流電機。如圖 3-7 所示,h 橋式電機驅動 電路包括 6 個三極管和一個 130 直流電機。要使電機運轉,必須導通對角線上的一 對三極管。根據不同三極管對
27、的導通情況,電流可能會從左至右或從右至左流過電 機,從而控制電機的轉向。 驅動電機時,保證 h 橋上兩個同側的三極管不會同時導通非常重要。如果三極 管 q3 和 q4 同時導通,那么電流就會從正極穿過兩個三極管直接回到負極,此時電 路上的電流就可能達到最大值,甚至燒壞三極管。基于上述原因,在實際驅動電路 中通常要用硬件電路方便地控制三極管的開關,所以需要添加兩個三極管 q1 和 q2。 當 a 為高電平 b 為低電平時,q1 導通 q2 截止,所以 q3 截止 q4 導通、q5 導 通 q6 截止,所以電流方向是從電源正極經三極管 q5 到電機,再經三極管 q4 到地。 相反,當 a 為低電平
28、 b 為高電平時,q1 截止 q2 導通,所以 q3 導通 q4 截止、q5 截止 q6 導通,所以電流方向是從電源正極經三極管 q3 到電機,再經三極管 q6 到 地。所以只需改變 a、b 電平高低就可以實現電機的正反轉。 電機啟動時電路中的電流會突然增大,會對其它模塊產生干擾,所以在電源端 增加兩個電容 c20 和 c21,使電流緩慢增加,減小對其它模塊的干擾。 r35 1k r33 1k r32 1k a b r34 1k +3.3v q 1 n pn -8050 q 2n pn -8050 q 3 n pn -8050 q 4 pnp-8550 q 6 pnp-8550 d 1 414
29、8 d 3 4148 d 2 4148 d 4 4148 q 5 n pn -8050 c20 104 + c21 10uf/16v m 12 m 1 m ot or 圖 3-7 電機控制電路 3.8 主電路設計 主電路的功能是完成對英格索蘭的 sxg 系列 cpu 智能卡讀卡器的檢測,通過 led 指示燈和米字型 led 顯示檢測結果。 主電路上帶有顯示接口,用于指示工作狀態。電源指示燈用于指示主電路接通 電源;工作狀態指示燈 led1 用于指示低頻卡的刷卡狀態,led1 亮表示低頻卡刷 卡成功,滅表示刷卡失敗;工作狀態指示燈 led2 用于指示高頻卡的刷卡狀態, led2 亮表示高頻卡刷卡
30、成功,滅表示刷卡失敗;工作狀態指示燈 led3 用于指示 sxg 系列智能卡讀卡器的防拆開關的狀態,led3 亮表示讀卡器被打開了,輸出報 警,滅表示讀卡器未被打開;工作狀態指示燈 led4 用于指示高頻卡或低頻卡是否 存在,led4 亮表示高頻卡或低頻卡進行過刷卡,滅表示沒有刷卡;米字型 led 用 于顯示按鍵的數字,按鍵測試時,按 0 到 9 則顯示 0 到 9,按“*”則顯示“a” ,按 “#”則顯示“b” 。 電路原理圖如圖附錄 1 所示,4 個 led 指示燈接在 pe 口的 0 到 3 管腳上,米 字型 led 接到 pa 口的 8 到 12 管腳、pc 口的 6 到 9 管腳和
31、pd 口的 9 到 15 管腳。 因為要檢測 sxg 系列 cpu 智能卡讀卡器上的紅色 led、綠色 led 和蜂鳴器是否正 常,所以 pb 端口的 12 到 14 管腳需要通過驅動電路接到外部端口上,檢測時與其 相應的端口相連。sxg6701k 讀卡器帶有鍵盤,其它型號沒有鍵盤,需要添加一個 型號檢測選擇開關,本電路中接到了 pe15 上,低電平時不進行鍵盤檢測,高電平 時進行鍵盤檢測。鍵盤檢測時,將 pa 口的 1 到 7 管腳、pb0 管腳、pb1 管腳、pc4 管腳、pc5 管腳和 pe7 管腳通過驅動電路接到 sxg 系列 cpu 智能卡讀卡器的相應 管腳上,一個管腳對應一個數字,
32、共有 12 個數字或字符,讀卡器的相應管腳收到低 電平時,會通過韋根通信輸出對應的二進制按鍵編碼,主電路收到后會通過米字型 led 顯示出對應的數字或字符。讀卡器具有防拆保護,主電路通過控制直流電機使 一個面板遮擋讀卡器上的防拆孔,工作狀態指示燈 3 亮說明被拆開了,移開面板, 工作狀態指示燈 3 滅,則無報警信號。 主電路最重要的是對 sxg 系列 cpu 智能卡讀卡器的高頻卡和低頻卡的檢測, 主電路上的韋根通信接口接到 sxg 系列 cpu 智能卡讀卡器上,用戶刷低頻卡時, 讀卡器讀取數據通過韋根通信將 26 位數據發送到主電路中,主電路對 26 位韋根數 據進行校驗,如果正確,工作狀態指
33、示燈 led1 和 led4 亮 1 秒。用戶刷高頻卡時, 讀卡器讀取數據通過韋根通信將 34 位數據發送到主電路中,主電路對 34 位韋根數 據進行校驗,如果正確,工作狀態指示燈 led2 和 led4 亮 1 秒。刷低頻卡和高頻 卡沒有先后順序。 4 軟件設計 軟件的設計是設計控制系統的應用程序。其任務是在整體設計和硬件設計的基 礎上,確定程序結構,分配內 ram 資源,劃分功能模塊,然后進行主程序和各模 塊程序的設計,最后連接起來成為一個完整應用程序,與硬件相結合完成相應功能。 4.1 主程序設計 主程序采用模塊化設計,流程圖如圖 4-1 所示。 從流程圖可以看出,主程序的組成是通過分別
34、調用各子程序組成總體系統功能, 能很直觀的看出主程序所要完成的功能,系統上電后首先是系統初始化,配置每個 寄存器和初始化結構體和變量,然后是系統自檢,確保本測試電路能夠正常工作, 之后設置開始按鍵為中斷模式,為了節省能耗系統進入停止模式。當需要工作時, 按下開始鍵產生中斷喚醒系統,系統進入正常工作模式,調用 led 和蜂鳴器測試子 程序測試 sxg 系列 cpu 智能卡讀卡器上的綠色 led、紅色 led 和蜂鳴器能否正常 工作,然后調用電機控制子程序檢測讀卡器上的防拆保護功能能否工作。如果在讀 卡器上刷高頻卡或低頻卡則調用高頻卡或低頻卡校驗子程序,校驗從卡上讀取的數 據是否正確。最后判斷是否
35、進行按鍵測試,首先判斷型號選擇開關引腳的電平,若 為低電平則測試結束,若為高電平,則調用按鍵測試子程序,測試完進入停止模式, 等待下一次測試。 系統初始化 系統自檢 開始鍵設為中斷模式 系統進入停止模式 按下開始鍵,喚醒系統 調用測試綠色 led、紅色 led 和蜂鳴器子程序 調用退出停止模式子程序 調用電機控制子程序 調用高頻卡或低頻卡校驗子程序 型號選擇開關是 高電平? 按鍵測試 y n 開始 圖 4-1 主程序流程圖 4.2 系統初始化 在使用一個 gpio 之前,一般需要對 gpio 引腳的時鐘、引腳的模式以及速率 進行設定。stm32 的 io 口可以由軟件配置成 8 種模式:模擬輸
36、入、輸入浮空、輸 入下拉、輸入上拉、開漏輸出、推挽輸出、復用功能開漏輸出和復用功能推挽輸出。 io 端口作為輸出時,可以軟件配置端口最大支持的時鐘速率:10mhz、2mhz 和 50mhz。 系統初始化包括初始化 4 個 led 指示燈和米字型 led、初始化電機控制、初 始化防拆保護引腳、初始化型號選擇開關、初始化韋根通信接口、初始化檢驗讀卡 器上的 led 和蜂鳴器的引腳和初始化按鍵測試。初始化時都需要打開對應端口的時 鐘,4 個 led 指示燈、米字型 led、按鍵測試、電機控制和檢驗讀卡器上的 led 和蜂鳴器的引腳配置成輸出模式,時鐘速率設置為 50mhz;防拆保護、型號選擇開 關的
37、引腳設為輸入模式,不需要設置時鐘速率;韋根通信接口的引腳設為中斷模式, 輸入上拉,下降沿觸發。如圖 4-2 所示: 初始化 4 個 led 和米字型 led 初始化防拆保護引腳 初始化韋根通信接口 初始化型號選擇開關 初始化電機控制 開始 圖 4-2 系統初始化流程圖 4.3 系統自檢 低電平點亮 led,高電平熄滅 led。首先 4 個 led 和米字型 led 對應的引腳 輸出低電平,然后延遲 1 秒,最后輸出高電平。如圖 4-3 所示: 圖 4-3 系統自檢流程圖 4.4 開始鍵設為中斷模式 stm32 的所有 gpio 管腳都可以作為中斷輸入源,通過復用的方式使其對處理 器來說來自 g
38、pio 的一共有 16 個中斷 px15:0。開始鍵接在 pe14 上,所以中斷是 外中斷線 14。如圖 4-4 所示: 初始化按鍵測試的引腳 初始化綠色 led、紅色 led 和蜂鳴器 返回 返回 4 個 led 和米字型 led 對應的引腳輸出低電平 延遲 1 秒 4 個 led 和米字型 led 對應的引腳輸出高電平 配置中斷源、外中斷線、中斷觸發方式 打開端口時鐘,引腳設為輸入浮空 開始 開始 圖 4-4 開始鍵設為中斷模式 4.5 進入停止模式 停止模式是在 cortex-m3 的深睡眠模式基礎上結合了外設的時鐘控制機制。進 入停止模式:首先設置 cortex-m3 系統控制寄存器中
39、的 sleepdeep 位,清除電源 控制寄存器(pwr_cr)中的 pdds 位,然后通過設置 pwr_cr 中 lpds 位選擇電壓 調節器模式,最后執行 wfi 指令。如圖 4-5 所示: 圖 4-5 進入停止模式流程圖 4.6 配置系統時鐘 任一個外部中斷即可喚醒系統,喚醒后需要配置系統時鐘。激活 hse(高速外 部時鐘),待 hse 穩定后,激活 pll,把 pll 作為系統時鐘源。如圖 4-6 所示: 返回 設置中斷通道、優先級 啟動中斷 返回 執行 wfi(等待中斷)指令 設置 pwr_cr 寄存器的 lpds 位 設置系統控制寄存器的 sleepdeep 位 清除 pwr_cr
40、 寄存器的 pdds 位 開始 開始 圖 4-6 配置系統時鐘 4.7 電機控制 電機控制部分對應兩個管腳 a 和 b,管腳 a 為高電平管腳 b 為低電平時,電機 正轉;管腳 a 為低電平管腳 b 為高電平時,電機反轉;管腳 a 和管腳 b 的電平相 同時,電機停止轉動。如圖 4-7 所示: 圖 4-7 電機控制流程圖 返回 激活 pll 選擇 pll 作為系統時鐘源 激活 hse(高速外部時鐘) 返回 延遲 4 秒 管腳 a 和管腳 b 都設為低電平,電機停止 管腳 a 設為高電平,管腳 b 設為低電平,電機正轉 延遲 4 秒 管腳 a 和管腳 b 都設為低電平,電機停止 管腳 a 設為低
41、電平,管腳 b 設為高電平,電機反轉 延遲 1 秒 開始 4.8 韋根通信測試 這是設計的難點,sxg 系列 cpu 智能卡讀卡器要讀取低頻卡和高頻卡的數據, 而且無先后順序,低頻卡 26 位韋根數據,高頻卡 34 位韋根數據。 韋根數據輸出由二根線組成,分別是 data0 和 data1;二根線分別將0 或1輸出。 輸出0時:data0 線上出現負脈沖;輸出1時:data1 線 上出現負脈沖;負脈沖寬度 tp=100 微秒;周期 tw=1600 微秒。韋根的接收對時間 的實時性要求比較高,如果用查詢的方法接收會出現丟幀的現象:假設查詢到 data0 為 0 時主程序正在指向其他任務,等主程序
42、執行完該任務時 data0 已經變 為 1 了,那么這樣就導致了一個 0 位丟了,這樣讀出的卡號肯定奇偶校驗通不過, 所以表現出 cpu 接收不到 id 模塊發送的卡號了,唯一的辦法是在外部中斷里接收 每個位。 當有韋根數據傳輸時產生中斷,在中斷里接收韋根數據,接收完后需要對韋根 數據的位數進行判斷。如果是 26 位數據,調用 26 位韋根數據校驗程序進行校驗, 若數據正確,面板上的指示燈 led1 和 led4 亮 1 秒;如果是 34 位數據,調用 34 位韋根數據校驗程序進行校驗,若數據正確,面板上的指示燈 led2 和 led4 亮 1 秒。如圖 4-8 所示: n y n y n 中
43、斷里讀取韋根數據 數據是 26 位? 低頻卡標志 low 置 1, 調用 26 位韋根數據校 驗程序進行校驗 數據正確? 高頻卡標志 high 置 1,調用 34 位韋根數 據校驗程序進行校驗 數據正確? led2 和 led4 亮 1 秒 led4 亮 1 秒 led4 亮 1 秒 開始 y n y 圖 4-8 韋根通信測試 4.9 按鍵測試 僅適用于型號 sxg6701k,首先判斷型號選擇開關的狀態,若是高電平則進行 按鍵測試。主設備通過控制邏輯電路模擬按鍵,讀卡器上一共有 12 個按鍵。按鍵接 收到低電平時,會通過韋根輸出對應的 4 位二進制按鍵編碼,韋根數據不需要校驗, 同時 12 個
44、按鍵的引腳不能同時為低電平。如圖 4-9 所示: y led1 和 led4 亮 1 秒 低頻卡和高頻卡標志都是 1 ? 返回 給下一個按鍵 引腳輸出低電平 型號選擇開關是高 電平? 讀取按鍵的韋根數據 米字型 led 顯示相應的 數字或字符 n 開始 n y 圖 4-9 按鍵測試 5 系統調試 單片機系統經過總體設計,完成了硬件和軟件設計開發。通過軟件和硬件相結 合系統即可運行。但編制好的程序或焊接好的線路不能按預計的那樣正常工作是常 見的事,經常會出現一些硬件、軟件上的錯誤,這是軟件和硬件開發者經常遇見的, 這就需要通過調試來發現錯誤并加以改正。調試可分為硬件調試和軟件調試。本設 計系統利
45、用 jlink 仿真器進行了在線調試,并運行成功,最后進行實物圖的硬件組 裝與調試,這樣就給開發者在提供了方便。 5.1 軟件調試 本設計是利用 proteus 軟件進行調試的,完全用仿真軟件在 pc 機上對目標電路 原理圖和程序進行檢測和調試。調試過程中單片機相應輸入端由通用鍵盤和鼠標設 定,運行狀態、各寄存器狀態、端口狀態等都可以在指定的窗口區域顯示出來,以 確定程序運行有無錯誤。 目標程序糾錯:該階段工作通常在目標程序編輯時就完成。一般來說,仿真軟 件能為用戶輸入的程序指令糾錯,包括書寫格式、標號未定義或多重定義、轉移地 址溢出等錯誤。 整體程序調試:即把各子程序整體連起來進入到綜合電路
46、調試,看是否能實現 預計的功能顯示。在這階段若發生故障,可以考慮各子程序在運行時是否破壞現場, 數據緩沖單元是否發生沖突,標志位的建立和清除在設計上是否失誤,堆棧是否溢 出,輸入輸出狀態是否正常等。 經過多次修改程序最后調試出來理想的效果,用軟件模擬器調試不需任何在線 返回 12 個按鍵測試完? 仿真器,也不需要用戶樣機,直接就可以在 pc 機上開發和調試。調試和修改完畢 后可以直接使用編程器將軟件固化在目標系統 rom 中,然后投入運行。 5.2 硬件調試 單片機應用系統的硬件調試和軟件調試是分不開的,許多硬件故障在軟件調試 時才能發現,但通常要先排除系統中明顯的硬件故障。調試工作可以分為四
47、步: 線路檢查:根據硬件邏輯設計圖,仔細檢查樣機線路是否連接正確,并核對元 器件的型號、規格和安裝是否符合要求,必要時可用萬用表檢測線路通斷情況。 電源調試:樣機的第一次通電測試很重要,若樣機中存在電源故障,則加電后 將造成器件損壞。調試的方法有兩種:一種是斷開樣機穩壓電源的輸出端,檢查空 載時電源工作情況;另一種是拔下樣機上的主要集成芯片,檢查電源的負載能力 (用假負載) 。確保電源無故障并性能符合設計要求。 通電檢查:在確保電源良好前提下,接通電源。最好在電源與其余電路之間串 接一個電流表。若接通后電流很大,必須立即切斷電源。電源大得超出正常范圍, 說明電路中有短路或故障。通電檢查的主要目
48、的是看系統是否存在短路或由元器件 損壞、裝配錯誤引起的電流異常。 檢查芯片的邏輯關系是否出錯:加電后檢查各芯片插座上相關引腳的電位,仔 細測量相應的輸入輸出電平是否正常。單片機系統大都是數字邏輯電路,使用電平 檢查法可首先查出邏輯設計是否正確,選用器件和連接關系是否符合要求等。 硬件檢測完畢后,使用 jlink 仿真器連接 pc 和 jtag 接口,下載程序和進行 在線單步調試,使用 jlink 仿真器可以通過硬件直觀地看到每段代碼的執行結果。 本設計特點突出,性價比高,適合于工廠檢測,有很高應用價值。 結束語 硬件系統關系到所要設計的電子產品好壞,如系統抗干擾性等,所以要合理地 安排盡量減少
49、干擾提高性能。單片機是很容易受干擾的控制器,當采用外部晶振時, 應盡量讓其靠近單片機減少對其干擾,防止程序亂飛現象。同時還可以采用隔離等 方式減少干擾,硬件系統設計的好壞很大部分來源于經驗,所以我們要有動手的好 習慣。 軟件設計是核心部分,具有多樣化、靈活性高、易移植等優點,要深深理會各 指令的含義才能更加熟練應用。低功耗處理是本設計的一大特色,當系統不工作時, 進入停止模式節省功耗,需要運行時喚醒系統,進入正常工作模式開始工作。軟件 的設計大部分采用模塊化設計的方法以方便調試,并使其可讀性大大增強,方便更 改和移植。 在這次設計中我學到了很多知識,包括軟件方面的和硬件方面的。 stm32f1
50、07vct6 這個芯片是我第一次使用,剛開始完全不知道怎么辦,還好官方 提供了不少例程,學習了一段時間了解了大概。在硬件設計上,每個芯片的電源端 通常要加一個電容進行濾波,晶振的位置最好緊挨主芯片。畫 pcb 時,要查清楚各 元器件的封裝,電源線要盡可能的粗些,pcb 盡可能的緊湊和美觀。 致 謝 參考文獻 1肖碩,荊剛,李莉娜等.單片機數據通信典型應用大全m.北京:中國鐵道出版社,2011 2胡漢才.單片機原理及其接口技術m.北京:清華大學出版社,2010 3喻金錢,喻斌.stm32f 系列 arm cortex-m3 核微控制器開發與應用m.北京:清華大學出版 社, 2011 4謝宜仁.單
51、片機實用技術問答m.北京:人民郵電出版社,2003 5房小翠,王金鳳.單片機實用系統設計技術m.北京:國防工業出版社,1999 6何立民.單片機高級教程應用與設計m.北京:北京航空航天大學出版社,2000 7范書瑞.cortex-m3 嵌入式處理器原理與應用m.西安:電子工業出版社,2011 8姚文詳.arm cortex-m3 權威指南m.北京:北京航空航天大學出版社,2009 9劉國榮.單片微型計算機技術m.北京:機械工業出版社,1996 10王迎旭.單片機原理與應用m.北京:機械工業出版社,2004 11劉軍.例說 stm32m.北京:北京航空航天大學出版社,2011 12高峰.單片微型
52、計算機原理與接口技術m.北京:科學出版社,2003 13何宏.單片機原理與接口技術m.北京:國防工業出版社,2006 14楊西明,朱騏.單片機編程與應用入門m.北京:機械工業出版社,2004 15蒙博宇.stm32 自學筆記m.北京:北京航空航天大學出版社,2012 16廖義奎.cortex-m3 之 stm32 嵌入式系統設計m.北京:中國電力出版社,2012 17李寧.arm mcu 開發工具 mdk 使用入門m.北京:北京航空航天大學出版社,2012 18楊剛.32 位嵌入式系統與 soc 設計導論m.西安:電子工業出版社,2011 19陳志旺.stm32 嵌入式微控制器快速上手m.西安
53、:電子工業出版社,2012 20joseph yiu.the definitive guide to the arm cortex-m3m.california:information storage devices,2008 附 錄 附錄 1 硬件電路圖 l ed 2 l ed 3 l ed 4 +3.3v r20 470 r21 470 r22 470 l ed 1 r19 470 +3.3v c4 100nf c7 100nf +c5 10uf +c6 10uf +12v+3.3v r17 10k +3.3v c1 104 +3.3v r1 r6 r3 r4 r2 r5 r14 r13
54、r11 r12 r9 r8 r10 r7 r16 r15 220 start 6701 1 2 j2 con 2 1 2 j1 pow er in s3 sw spd t data0 data1 1 2 cn1 pcba power +12v g nd l ed 5 l ed 電源模塊 r23 2k v in 3 gnd 1 v out 2 u 2 l m1117 d 5 4004 +12v 13 42 s1 sw_push l 1 l 2 l 3 l 4 l 5 l 6 l 7 l 8 l 9 l 10 l 11 l 12 l 13 l 14 l 15 l 16 l ed 1 l ed 2
55、l ed 3 l ed 4 a 1 1 j 2 h 3 f 4 g 1 5 m 6 n 7 e 8 k 17 d 1 9 d 2 10 com 11 d p 12 c 13 l 14 g 2 15 b 16 a 1a 2 b c d 2d 1 e f hj k g 2 l mn g 1 d p a 2 18 u 1 d py _16 r70 10k r71 10k +3.3v r80 10k 韋根通信 型號選擇 開始按鍵 v cc 1 /t rst 3 t di 5 t ms 7 t ck 9 rtck 11 t do 13 /srst 15 d bg ro 17 d bg ack 19 v
56、cc 2 g nd 4 g nd 6 g nd 8 g nd 10 g nd 12 g nd 14 g nd 16 g nd 18 g nd 20 jta g 1 r26 10k r27 10k r28 10k r29 10k r30 10k r31 10k +3.3v +3.3v t rst t di t ms/sw d io t ck /sw clk t do /sw o rese t 220 jtag下載 米字型led 工作狀態指示燈 r35 1k r33 1k r32 1k a b r34 1k +3.3v q 1 n pn -8050 q 2n pn -8050 q 3 n pn -
57、8050 q 4 pnp-8550 q 6 pnp-8550 d 1 4148 d 3 4148 d 2 4148 d 4 4148 q 5 n pn -8050 c20 104 + c21 10uf/16v c8 100nf pa0 23 pa1 24 pa2 25 pa3 26 pa4 29 pa5 30 pa6 31 pa7 32 pa8 67 pa9 68 pa10 69 pa11 70 pa12 71 pa13 72 pa14 76 pa15 77 pb0 35 pb1 36 pb2 37 pb3 89 pb4 90 pb5 91 pb6 92 pb7 93 pb8 95 pb9 9
58、6 pb10 47 pb11 48 pb12 51 pb13 52 pb14 53 pb15 54 pc0 15 pc1 16 pc2 17 pc3 18 pc4 33 pc5 34 pc6 63 pc7 64 pc8 65 pc9 66 pc10 78 pc11 79 pc12 80 pc13 7 pc14 8 pc15 9 v dd _2 75 v dd _3 100 v dd _4 28 v dd _5 11 v dd a 22 v re f+ 21 v dd _1 50 pd15 62 pd14 61 pd13 60 pd12 59 pd11 58 pd10 57 pd9 56 pd8
59、 55 pd7 88 pd6 87 pd5 86 pd4 85 pd3 84 pd2 83 pd1 82 pd0 81 pe15 46 pe14 45 pe13 44 pe12 43 pe11 42 pe10 41 pe9 40 pe8 39 pe7 38 pe6 5 pe5 4 pe4 3 pe3 2 pe2 1 pe1 98 pe0 97 v ss_2 74 v ss_3 99 v ss_4 27 v ss_5 10 v ssa 19 v re f- 20 v ss_1 49 n c 73 o sc_in 12 o sc_ou t 13 boo t 0 94 n rst 14 v ba t
60、 6 u 3 stm 32f107v c +3.3v c3 20pf c2 20pf y 1 25m h z r25 1m +3.3v r24 10k c14 104 start 6701 data0 data1 a b gled1 rled1 beep1 key1 key2 key3 key4 key5 key6 key7 key8 key9 key10 key11 key12 13 42 s2 sw_push l 1 l 2 l 3 l 4 c11 100nf c12 100nfc13 100nf +3.3v +3.3v +3.3v +3.3v c15 100nf l ed 1 l ed
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論