摘要:為適應RFID 讀寫器在不同應用系統中的要求,開發了一種以MSP430F149 單片機為核心的具有嵌入式以太網網絡接口的手持式RFID 讀寫器。文中介紹RFID 讀寫器中單片機與以太網控制器RTL8139 組成的網絡接口設計方法,實現了手持式RFID 讀寫器接入Internet 網絡進行數據通信。
RFID 技術目前廣泛應用于身份識別、防偽應用、供應鏈應用、公共交通管理、物流管理、生產線自動化與過程控制、容器識別等領域。由于手持式RFID讀寫器的存儲器容量有限,保存在讀寫器中的數據可以通過USB 等接口傳送到計算機中進行處理,但為更方便快捷地將讀寫器中的數據傳送到遠程的計算機系統中,將便攜設備網絡化是解決上述問題的有效途徑之一。但目前的手持式RIFD 讀寫器并不具備與互聯網進行網絡連接的網絡接口。另外,手持式RFID 讀寫器是通過內部所裝有的電池進行供電,所以降低其工作功耗也是主要問題之一。而MSP430F149 單片機是一款16 位超低功耗的處理芯片,它將多個不同功能的模擬電路,數字電路模塊集成于一身,適合應用與需要電池供電的便攜式儀器儀表中。
因此,文中主要介紹手持式RFID 讀寫器中MSP430F149 單片機與以太網控制器RTL8139 接口的硬件設計的方法,以及相應的硬件設備驅動程序的設計和TCP /IP 協議棧的處理方法。
1 網絡接口硬件結構。
1. 1 網絡接口
手持式RFID 讀寫器是便攜式射頻識別系統的主要設備,其網絡接口主要由MSP430 單片機與以太網控制器RTL8139 塊等組成。其網絡接口硬件結構如圖1 所示。
根據便攜設備的低功耗要求,MSP430 單片機采用MSP430F149,具有超低功耗、強大處理能力、豐富片上外圍模塊及多種存儲器形式等功能,其中有2 個具有中斷功能的8 位并行端口P1與P2和4 個8 位的通用并行端口P3、P4、P5與P6,可以滿足和以太網控制器的接口,而且能夠實現RFID 讀寫器的其他接口功能。
隔離變壓器選用PM34 - 1006M10 /100 /1000M 變壓器。采用RTL8139 以太網控制器作為網絡接口。
由于RTL8139 是PCI 總線接口,不能直接與8 位的MCU 接口,需要一個PCI 接口進行轉接。單片機在進行外部存儲器操作時采用的信號有P0口、P2口、ALE以及RD 和WR 信號。其中,P0口為地址( 低8 位) /數據復用,P2口為高8 位地址信號; ALE 為地址鎖存信號,為高電平時將P0口的值鎖存到低8 位數據線上; RD 和WR 為讀寫有效信號,低電平有效。因此,PCI 接口實際上是起到一個從單片機讀寫時序到32位PCI 讀寫時序轉換的作用。
1. 2 RTL8139 的結構及編程接口
RTL8139 是臺灣Realtek 公司生產的一種高度集成的全面支持IEEE802. 3 標準的以太網控制器芯片,支持微軟的PnP 規范。利用雙絞線可以和全雙工網絡交換機相連接,能夠同時接收和發送數據。支持UTP( Unshielded Twisted Paired) ,AUI( Attachment UnitInterface) 自動偵測。支持IO 地址全解碼模式。其主要特性如下:
( 1 ) 符合Ethernet Ⅱ 和IEEE802. 3 ( 10Base5,10Base2,10BaseT) 標準。
( 2) 支持跳線和免跳線兩種工作方式。
( 3) 全雙工,收發可同時達到100 Mbit·s - 1 的速率。
( 4) 支持32 位數據PCI 總線。
( 5) 允許3 個診斷LED 可編程輸出。
( 6) 128 腳LQFP 封裝,縮小了PCB 尺寸。
PCI 總線信號有3. 3 V 標準和5 V 標準,信號線眾多,但并不是所有的PCI 設備都使用全部的PCI 接口信號,實際只使用需要的即可。RTL8139AS 以太網控制器遵循3 V 標準,并且只使用了PCI 總線信號中的以下部分: AD[31: 0]為數據信號復用總線。
FRAME 為幀周期信號,由當前主設備驅動,表示一次訪問的開始和持續時間。IRDY 為主設備準備好信號。
TRDY 為從設備準備好信號。C /BE 為總線命令和字節使能復用信號。地址期是總線命令,數據期是字節使能。IDSEL 為初始化設備選擇信號。在參數配置讀寫傳輸期間,用作片選。對于只有一個PCI 設備的情況,它可以總接高電平。RST 為復位信號。CLK 為系統時鐘信號,頻率范圍DC ~ 33 MHz.以上信號都在CLK 的上升沿有效。INTA 為中斷請求信號,RTL8139數據準備好后可以用來向主控制器發出中斷。
DEVSEL 為設備選擇信號,表明驅動它的設備已成當前訪問的設備,由于系統中,RTL8139 是單一的PCI 設備,因此該信號可以不用。
2 網絡接口軟件結構
RFID 讀寫器系統網絡接口軟件主要包括硬件設備驅動程序、TCP /IP 協議棧、應用協議和其他用戶應用程序。網絡接口軟件的流程如圖3 所示。
其中應用協議和其他用戶應用程序將在二次開發時根據RFID 讀寫器的具體功能要求進行設計,這里主要介紹硬件設備驅動程序、TCP /IP 協議棧的實現方法。
2. 1 硬件設備驅動程序
硬件設備驅動是將PCI 接口當作單片機的外部存儲器看待,單片機以讀寫外部存儲器的時序對PCI 接口進行讀寫,再由PCI 接口將這種讀寫操作時序轉換成PCI 時序對以太網控制器進行操作。主要包括3 個部分,網絡初始化,發送控制和接收控制。主要完成對CR,TCR,RCR IMR ISR,RBSTART,MAR 等寄存器操作。
發送控制過程在網絡中,幀傳輸的過程是發送方將待發送的數據按幀格式要求封裝成幀,然后同過網卡發送到網絡的傳輸線上。發送程序框圖如圖4所示。
接收控制過程分成2 步,第1 步是根據哈稀算法判斷數據包是否是本地的數據包,如果是則接收放入FIFO,如果FIFO 里的數據包達到了RCR 寄存器預先設定閾值,把數據報放入RX_BUFF.第2 步主機程序將RX_BUFF 里的數據讀取到內存進行處理。
2. 2 TCP /IP 協議
TCP /IP 實質上是一系列協議的總稱,是實現Internet通訊必不可少的部分,包括十幾個協議標準,在這里要實現的是通過網絡讀取居民用表的讀數,傳輸的數據量少且對實時性要求不高,不需要全部的協議,只要實現幾個必備的即可,權衡之下,求在最小代碼、最小資源需求和功能實現間取得一個平衡: 只實現了ICMP、TCP、IP、ARP 4 個協議,組成一個小型化的TCP /IP 協議。因為任何一個以太網數據幀要發送時都必須要知道對方的物理地址,這能過ARP 協議獲得,所以要實現ARP 協議。而IP 協議是TCP, ICMP協議數據的傳輸格式; TCP 協議提供可靠的,可重組服務; 而ICMP 協議是調試時所不可缺少的。另外,在實現重發功能時,大多的做法是應用層不參與,當需要重發時,由TCP /IP 協議把存儲在數據緩沖區的數據再發送一次即可,但在以單片機為主處理器的情況下,因為單片機自身的資源有限,為了減少RAM 的使用,可以在需要重發時再由應用層產生這一幀數據即可,這無需太多的時間。這樣也不必每發送一幀數據都要存在緩沖區中以備重發時使用,進一步節省了RAM。
3 實驗結果及分析
將手持式RFID 讀寫器通過網線連入局域網交換機,預先將讀寫器的IP 地址設置為192. 168. 1. 37,啟動讀寫器、交換機及電腦,在電腦的命令終端輸入ping192. 168. 1. 37 命令,其結果如圖6 所示。
在電腦中打開RFID 綜合管理系統,將實驗用RFID 卡放入手持式RFID 讀寫器后,綜合管理系統讀到信息如圖7 所示。
4 結束語
設計的手持式RFID 讀寫器網絡接口硬件采用MSP430F149 作為控制芯片,選用PM34 - 1 006M10 /100 /1 000M 變壓器作為隔離變壓器,以及全面支持IEEE802. 3 標準高度集成的RTL8139 作為以太網控制器芯片,整個系統具有超低功耗等優點,實現了RFID 讀寫器的網絡化功能,為提高產品的競爭力創造了條件。同時,網絡接口驅動程序及TCP /IP C 語言進行開發,具有較好的可讀性和移植性,可以提高開發效率,縮短開發周期。