好吊视频一区二区三区-国产精品V欧美精品V日韩精品-老司机亚洲精品影院-国产精品视频免费播放

物聯傳媒 旗下網站
登錄 注冊
RFID世界網 >  技術文章  >  其他  >  正文

基于W7100的以太網讀卡器的設計與實現

作者:溫冬偉,王平立,宋 斌
來源:電子設計工程
日期:2015-11-30 16:50:08
摘要:本文詳細闡述了一種基于W7100的且支持以太網傳輸的讀卡器方案,給出了硬件和軟件設計的參考。該方案已經成功應用在某大型事業單位實驗室管理系統中。經過實際運行結果表明該方案能夠滿足刷卡管理的可靠性及實時性要求。較之以前的方案,該方案成本更低、更容易開發。

  在實現微控制器設備聯入以太網的方案中,常見的是采用微處理器連接以太網控制器。目前大部分的以太網控制器都是為PC機設計的,如DM9000、CS8900A等。采用這些芯片不僅使用復雜,而且成本很高,不適合作為讀卡器聯網的方案。

  W7100是WIZnet公司新型的以太網微處理器。該芯片包含一個8位微處理器內核和硬件的TCP/IP內核。其內部集成了10/100 Mb/s以太網PHY層,芯片引腳不經過物理層芯片直接連接網口插座。其TCP/IP硬核提供Socket套接字接口,因此只需要進行Socket編程就可以完成以太網的通信,就像訪問外部存儲器一樣簡單,而不涉及以太網底層的控制。

  1 W7100的基本特性

  W7100的CPU內核是一款高性能、速率優化的8位嵌入式微處理器。它使用片內存儲器高速運行,與工業標準的8051微處理器二進制代碼兼容。其TCP/IP內核是一個全硬件的、經過多年市場驗證的TCP/IP協議棧,并集成了以太網的MAC和PHY層。芯片的主要特性如下:

  1)64 kB的程序閃存(Flash);

  2)64 kB的SRAM;

  3)256 B數據Flash存儲器(可用于存儲需要掉電保護的數據,如網絡配置信息);

  4)內置10/100 Mb/s以太網物理層;

  5)硬件的TCP/IP協議棧支持TCP、UDP、IPv4、ICMP、ARP、IGMP和PPPoE;

  6)支持8個獨立的Socket通信,內部128B的發送緩沖區可快速進行數據交換;

  7)支持ADSL連接。

  該芯片可以簡單理解為由TCP/IP硬件協議棧、以太網MAC層、以太網PHY層和8051內核4部分相加而成。W7100具有的以上特性不僅滿足以太網讀卡器的功能需求,而且開發難度更小。

  2 讀卡器功能和接口芯片選擇

  以太網讀卡器主要功能是讀卡器接受使用者的刷卡,然后通過以太網將卡號等信息發送給服務器,服務器查詢并修改數據庫表格。要完成該目標,讀卡器需要實現以下方面。

  1)刷卡功能這里的卡是常見的IC卡,因此需要實現射頻發送與接收功能。方案選用NXP公司的MFRC500作為IC卡讀寫芯片。該芯片主要應用于13.56 MHz非接觸式通信,其內部的發送器不需要增加有源電路就能直接驅動近操作距離的天線。

  2)以太網接口功能方案采用的W7100直接具有該接口,只需要在軟件中執行命令即可。該芯片引出4根差分信號線連接到RJ45插座。方案選用內置變壓器的接口整合型單口RJ45插座13F-60LDNL。該插座還具有數據傳輸指示燈和連接指示燈。

  3)USB接口功能 考慮到在以太網故障或者沒有連接以太網的情況如何設置讀卡器和取出刷卡信息,方案為此添加一個USB接口作為應急。同時由于W7100具有ISP(系統可編程)功能,即可以通過串行口下載程序,所以添加的USB口又作為下載程序的接口。方案選用南京沁恒電子有限公司的CH341T作為USB接口芯片。CH341T是一個USB總線的轉接芯片,通過USB總線仿真異步串口。芯片內置了獨立的收發緩沖區,支持單工、半雙工和全雙工異步串行通訊。在計算機端的Windows操作系統下,CH341T的驅動程序能夠仿真標準串口,因此上位機程序就可以完全以串口方式與讀卡器通信,同樣也能實現程序下載。

  4)外部WatchDog在實際使用中發現該芯片2010年的一個版本有WatchDog不穩定的現象(將喂狗代碼與寫dataflash代碼同時存在程序中時會有死機的現象),因此方案選用XCOR公司X5043(2.7 V)作為外部Watchdog。同時該芯片具有4 KB的SPI EEPROM作為數據存儲器,可用來擴展內部dataflash存儲掉電不能丟失的數據。

  5)唯一標識 在IP地址不固定的情況下,在網絡上實現唯一標識每一臺讀卡器就很困難。方案為讀卡器添加了一組8位的撥碼開關,通過為每一臺讀卡器撥成不同的二進制編碼實現標識。讀卡器在啟動的時候讀取撥碼開關的值來設定自己的序列號。撥碼開關的8根引腳可接至W71004組通用引腳中的任意8根。需要注意的是W7100的所有通用引腳在作為輸出時都要外部上拉。

  6)設定工作狀態讀卡器在正常使用前時需要運行在配置狀態,此時讀卡器接收上位機配置程序發來的配置參數配置其IP地址、MAC地址、子網掩碼等。這些數據存放在內部dataflash或者外部watchdog中。方案采用將撥碼開關撥為“1000 0000”作為配置狀態,其他為正常工作狀態。

  7)指示燈和蜂鳴器 刷一次卡需要蜂鳴器蜂鳴一次和指示燈閃爍一次,用來指示刷卡成功。如果操作未成功,蜂鳴器要長響報警。如果進入配置狀態,指示燈要改變顏色。方案選用紅藍雙色的LED燈作為指示燈,紅色代表配置狀態,藍色代表工作狀態。

  讀卡器的結構如圖1所示。

基于W7100的以太網讀卡器的設計與實現

  3 硬件電路設計

  1)射頻電路如圖2所示,MFRC500需要連接8根數據線和4個功能引腳,另外通過3根信號線連接到天線線圈。數據線和CS引腳接到W7100的通用口,ALE、WR和RD引腳分別接到W7100對應功能引腳。如圖3和圖4所示,天線線圈的是由地線(GND)繞成的。為了加強信號,通常還需要添加一個屏蔽層。可調電容的具體值還要根據實際的感應距離調校而得。

基于W7100的以太網讀卡器的設計與實現

基于W7100的以太網讀卡器的設計與實現

  2)RJ45電路圖5為RJ45的參考原理圖,RJ45插座的4根兩對差分信號線(TPTX+、TPTX-、TPRX+和TPRX-)分別連接到W7100的對應引腳(TXO-P、TXON、RXIP和RXIN)。在布線時需要特別注意的是:每對差分信號線之間盡量平行、靠近且長度相等,這樣做是為了減少信號干擾。

基于W7100的以太網讀卡器的設計與實現

  3)CH341T電路 CH341T通過串行口RXD、TXD與W7100相連。在9和10腳需要連接12 MHz的晶振。8腳(UD-)接USB插座的2腳,7腳(UD+)接USB插座的3腳。USB插座的1腳接5 V電源,4腳接地。

  4)X5043的連接 由于在W7100下載程序的時候不能受到X5043的影響,所以必須要在其與nRST引腳上添加一個跳線。在下載程序的時候要拔掉跳線帽,等下載完成之后再接上。要使X5043在上電之后開始工作必須在nCS引腳有一個從高電平到低電平的下拉。另外由于必須要與手動復位按鈕共用nRST信號線,所以在復位鍵旁邊不能并聯大電容,這樣會將復位信號過濾掉。

  5)電源設計 由于W7100芯片集成了以太網物理層,因此在布線時存在數字電源與模擬電源、數字地與模擬地的混合設計。總共包括1.8 V、1.8 D、1.8 A、3.3 V、3.3 D、3.3 A、數字地GND和模擬地GNDA,它們分別連接到W7100和其它器件的對應引腳。印刷板的鋪地是數字地,但是模擬地也要盡量的寬。1.8 V、1.8 D和1.8 A之間用1μH電感相連接,同樣3.3 V、3.3 D和3.3 A之間用1μH電感相連接,每種電源和地之間用一個10 μF的電容相連接。

  6)W7100引腳連接 W7100的XTLN0和XTLP0為內部PHY的晶體的輸入輸出。使用25 MHz平行共鳴晶體連接到這兩個端口,以穩定內部振蕩器。同樣XTLN1和XTLP1引腳為W7100內核的晶體輸入輸出端,使用11.059 2 MHz平行共鳴晶體連接到這兩個端口。

  TM3-0和PM2-0引腳懸空,采用默認模式。BOOTEN引腳為啟動代碼控制,低電平運行應用程序代碼,高電平運行下載程序,所以必須使用跳線方式將其分別連接到地和高電平,在開機時通過跳線進入不同運行狀態。

  F64EN引腳要外接4.7 k下拉電阻。RESETBG為PHY片外電阻,需要連接一個12.3 k(誤差在1%以內)的電阻到地。RXLED和TXLED分別通過兩個二極管連接到網口的nACT引腳(nACT需要上拉4.7 k電阻),用來指示數據傳輸。

  nINT3引腳和LINKLED引腳共同連接到網口的nLINK引腳,用來驅動連接指示燈。

  7)實物參考圖 以上6點就是讀卡器的幾個重要部件的設計參考,在實際應用中可根據性能需要采用更加成熟的模塊,這樣會獲得更好的效果。如在某工程中對刷卡可靠性要求很高,采用了周立功單片機公司的ZLG500AT模塊作為刷卡模塊。讀卡器主板如圖6所示。

基于W7100的以太網讀卡器的設計與實現

  4 軟件設計

  4.1 讀卡器與服務器通信

  讀卡器與服務器的通信主要是讀卡器向服務器發送卡號信息和服務器向讀卡器發送寫卡信息。服務器與讀卡器之間采用面向連接的TCP /IP協議作為通信的底層協議,讀卡器作為客戶端。服務器負責監聽讀卡器的連接請求。服務器端采用Socket套接字接口編寫應用程序。

  讀卡器端將通過TCP/IP協議接收的數據保存到事先開辟的內存接收緩沖區,發送時將將要發送的數據存儲在數據發送緩沖區,然后執行發送。由于W7100已經有硬核的套接字,所以可以直接使用。讀卡器端的端口狀態轉化如圖7所示:

  剛復位時讀卡器處于SOCK_CLOSED狀態。如果此時服務器端在監聽,則經過執行OPEN和CONNECT操作后進入SOCK_ESTABLISHED狀態。這時候讀卡器就可以與服務器通過SEND和RECV操作傳輸信息。讀卡器主動執行DICON操作或者接收到服務器端的CLOSE命令后就再次進入SOCK_CLO-SED狀態,等待下次連接。為了實現讀卡器始終自動連接和斷線重連,方案采用了一個循環的switch語句,關鍵示例代碼如下:

  讀卡器執行設備監控的流程就寫在示例的數據處理代碼部分。讀卡器內部含有dataflash,用來保存IP地址、服務器地址和MAC地址等信息。在復位時讀取配置信息、調用初始化函數初始化以太網接口。

  4.2 W7100讀寫IC卡

  W7100在復位之后,首先要初始化微處理器和MFRC500,然后依次循環執行配置命令、請求命令、防碰撞命令、選擇命令、證實命令、裝載密鑰命令、讀卡命令、卡號發送服務器、(等待接收反饋數據)、(寫卡命令)、閃爍LED、蜂鳴器蜂鳴。這樣循環執行就可以完成刷卡功能。各個命令和功能分別采用一個函數來實現,具體的操作可以參考芯片使用手冊,在這里就不再贅述。下面把主函數主要結構列舉如下:

基于W7100的以太網讀卡器的設計與實現

  5 結束語

  本文詳細闡述了一種基于W7100的且支持以太網傳輸的讀卡器方案,給出了硬件和軟件設計的參考。該方案已經成功應用在某大型事業單位實驗室管理系統中。經過實際運行結果表明該方案能夠滿足刷卡管理的可靠性及實時性要求。較之以前的方案,該方案成本更低、更容易開發。