基于RC522的讀卡器系統設計
本文設計的讀卡器系統以PICl6F7x單片機作為主控芯片,選用MIFARE S50卡片,讀卡器與卡片間以106kbps速率通信,同時實現讀卡過程中的防沖突處理和對卡E2PROM塊內容的讀/寫等功能。讀卡器內部設置了Flash存儲器以存放卡數據,在Flash容量滿的情況下可通過讀卡器的以太網口讀出全部數據到管理中心上位機,便于建立對卡數據的綜合管理系統。
本文引用地址:http://www.j9360.com/article/173194.htm讀卡器硬件框圖如圖1所示。

單片機PICl6F7x通過SPI總線與RC522和Flash芯片AT45D011相連,同時用簡化的ISA總線連接以太網接口芯片C58900,以提供連接到局域網的能力。AT45D0ll存儲容量為lMb,可同時存儲7400多組MIFARE的E2PROM塊和UID號,提供了足夠讀卡器一天內讀取的信息量的存放容量。對于RC522天線部分的設計,Philips公司有專門的手冊詳細介紹,本文不再贅述。RC522的SPI總線接口有其自身的時序要求。它只能工作于從模式,最高傳輸速率為10 Mbps,數據與時鐘相位關系滿足“空閑態時鐘為低電平,在時鐘上升沿同步接收和發送數據,在下降沿數據轉換”的約束關系。PICl6F7x系列單片機的片上外設包括1個SSP模塊。該模塊可配置為SPI接口使用,通過相應的寄存器可控制SPI接口的數據傳輸率、數據一時鐘相位天系等通信參數。本文中配置SSP模塊工作于SPI主模式下,時鐘為1/4單片機主頻,接收和發送數據都在時鐘上升沿發生。
需要注意的是,由于RC522支持的數字接口形式多種多樣,因此芯片在每次復位時都會檢測外部引腳連接關系。對于SPI接口,RC522的相關引腳必須按照圖2所示的連接關系配置。

除了通用的4條SPI信號線(時鐘線SCK、輸入數據線MOSI、輸出數據線MOSO和選通線NSS)以外,RC522要求額外的2個引腳I2C和EA分別固定接低電平和高電平。這2個引腳不參與SPI總線傳輸,只起設定RC522數字界面采用SPI接口的作用。另外,片選信號必須保證在寫入數據流期問為低電平,而在無數據流寫入時則為高電平;用戶不得為節省PIC單片機引腳資源而一直將NSS置為低電平。
2 軟件系統設計
相對于Philips公司生產的其他14443基站芯片(如RC500、RC530等),RC522簡化了內部系統結構,去掉了片內E2PROM。從而大大縮減了芯片命令集。另外,對載波調制電路,發送電路和解調、解碼電路的控制也相應簡化,去掉了校準接收電路I時鐘、Q時鐘、校準發送與接收時鐘相位等繁瑣的操作。一般而言,單片機與RC522的通信流程如圖3所示。

評論