基于RC522的讀卡器系統(tǒng)方案設(shè)計
本文設(shè)計的讀卡器系統(tǒng)以PICl6F7x單片機作為主控芯片,選用MIFARE S50卡片,讀卡器與卡片間以106kbps速率通信,同時實現(xiàn)讀卡過程中的防沖突處理和對卡E2PROM塊內(nèi)容的讀/寫等功能。讀卡器內(nèi)部設(shè)置了Flash存儲器以存放卡數(shù)據(jù),在Flash容量滿的情況下可通過讀卡器的以太網(wǎng)口讀出全部數(shù)據(jù)到管理中心上位機,便于建立對卡數(shù)據(jù)的綜合管理系統(tǒng)。
本文引用地址:http://butianyuan.cn/article/172055.htm1 硬件系統(tǒng)設(shè)計
讀卡器硬件框圖如圖1所示。
單片機PICl6F7x通過SPI總線與RC522和Flash芯片AT45D011相連,同時用簡化的ISA總線連接以太網(wǎng)接口芯片C58900,以提供連接到局域網(wǎng)的能力。AT45D0ll存儲容量為lMb,可同時存儲7400多組MIFARE的E2PROM塊和UID號,提供了足夠讀卡器一天內(nèi)讀取的信息量的存放容量。對于RC522天線部分的設(shè)計,Philips公司有專門的手冊詳細介紹,本文不再贅述。RC522的SPI總線接口有其自身的時序要求。它只能工作于從模式,最高傳輸速率為10 Mbps,數(shù)據(jù)與時鐘相位關(guān)系滿足“空閑態(tài)時鐘為低電平,在時鐘上升沿同步接收和發(fā)送數(shù)據(jù),在下降沿數(shù)據(jù)轉(zhuǎn)換”的約束關(guān)系。PICl6F7x系列單片機的片上外設(shè)包括1個SSP模塊。該模塊可配置為SPI接口使用,通過相應(yīng)的寄存器可控制SPI接口的數(shù)據(jù)傳輸率、數(shù)據(jù)一時鐘相位天系等通信參數(shù)。本文中配置SSP模塊工作于SPI主模式下,時鐘為1/4單片機主頻,接收和發(fā)送數(shù)據(jù)都在時鐘上升沿發(fā)生。
需要注意的是,由于RC522支持的數(shù)字接口形式多種多樣,因此芯片在每次復(fù)位時都會檢測外部引腳連接關(guān)系。對于SPI接口,RC522的相關(guān)引腳必須按照圖2所示的連接關(guān)系配置。
除了通用的4條SPI信號線(時鐘線SCK、輸入數(shù)據(jù)線MOSI、輸出數(shù)據(jù)線MOSO和選通線NSS)以外,RC522要求額外的2個引腳I2C和EA分別固定接低電平和高電平。這2個引腳不參與SPI總線傳輸,只起設(shè)定RC522數(shù)字界面采用SPI接口的作用。另外,片選信號必須保證在寫入數(shù)據(jù)流期問為低電平,而在無數(shù)據(jù)流寫入時則為高電平;用戶不得為節(jié)省PIC單片機引腳資源而一直將NSS置為低電平。
2 軟件系統(tǒng)設(shè)計
相對于Philips公司生產(chǎn)的其他14443基站芯片(如RC500、RC530等),RC522簡化了內(nèi)部系統(tǒng)結(jié)構(gòu),去掉了片內(nèi)E2PROM。從而大大縮減了芯片命令集。另外,對載波調(diào)制電路,發(fā)送電路和解調(diào)、解碼電路的控制也相應(yīng)簡化,去掉了校準接收電路I時鐘、Q時鐘、校準發(fā)送與接收時鐘相位等繁瑣的操作。一般而言,單片機與RC522的通信流程如圖3所示。
評論