摘要:為適應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 所示。
圖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 尺寸。
如圖2 所示,RTL8139 內部已經包含有整個網絡接口層的協議,因此應用起來較簡單。用戶不必考慮鏈路控制問題,而只需考慮單片機如何從RTL8139 中去讀TCP /IP 協議的數據即可。
圖2 RTL8139AS 內部結構圖
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 所示。
圖3 網絡接口軟件流程圖。
其中應用協議和其他用戶應用程序將在二次開發時根據RFID 讀寫器的具體功能要求進行設計,這里主要介紹硬件設備驅動程序、TCP /IP 協議棧的實現方法。
2. 1 硬件設備驅動程序
硬件設備驅動是將PCI 接口當作單片機的外部存儲器看待,單片機以讀寫外部存儲器的時序對PCI 接口進行讀寫,再由PCI 接口將這種讀寫操作時序轉換成PCI 時序對以太網控制器進行操作。主要包括3 個部分,網絡初始化,發送控制和接收控制。主要完成對CR,TCR,RCR IMR ISR,RBSTART,MAR 等寄存器操作。
發送控制過程在網絡中,幀傳輸的過程是發送方將待發送的數據按幀格式要求封裝成幀,然后同過網卡發送到網絡的傳輸線上。發送程序框圖如圖4所示。
圖4 RTL8139 數據發送流程圖。
接收控制過程分成2 步,第1 步是根據哈稀算法判斷數據包是否是本地的數據包,如果是則接收放入FIFO,如果FIFO 里的數據包達到了RCR 寄存器預先設定閾值,把數據報放入RX_BUFF.第2 步主機程序將RX_BUFF 里的數據讀取到內存進行處理。
2. 2 TCP /IP 協議棧
如圖5 所示,以太網控制器提供了邏輯鏈路層協議,TCP /IP 協議棧則通過底層的硬件設備驅動程序來接收和發送數據,對接收到的以太幀數據進行協議的分析,并給其上層應用提供一些簡單、易用的函數。
圖5 RTL8139 數據接收流程圖。
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 所示。
圖6 RFID 連入局域網結果。
由圖6 可知,手持式RFID 讀寫器已通過交換機成功連入局域網,與電腦建立網絡連接。
在電腦中打開RFID 綜合管理系統,將實驗用RFID 卡放入手持式RFID 讀寫器后,綜合管理系統讀到信息如圖7 所示。
圖7 綜合管理系統接收信息。
由圖7 可知,手持式RFID 讀寫器將讀到的實驗卡信息,通過局域網交換機成功地傳輸到電腦的綜合管理系統當中,實現了網絡接口的功能。
4 結束語
設計的手持式RFID 讀寫器網絡接口硬件采用MSP430F149 作為控制芯片,選用PM34 - 1 006M10 /100 /1 000M 變壓器作為隔離變壓器,以及全面支持IEEE802. 3 標準高度集成的RTL8139 作為以太網控制器芯片,整個系統具有超低功耗等優點,實現了RFID 讀寫器的網絡化功能,為提高產品的競爭力創造了條件。同時,網絡接口驅動程序及TCP /IP C 語言進行開發,具有較好的可讀性和移植性,可以提高開發效率,縮短開發周期。
上一篇:德州儀器低功耗高性能煙霧探測器解決方案
下一篇:基于單片機的數字頻率計的設計
推薦閱讀
史海拾趣
當涉及到采用算術邏輯單元(ALU, Arithmetic Logic Unit)組成的二進制加減電路時,網友們可能會提出多種問題,這里列舉一些常見問題及其解答:
1. ALU 如何實現二進制加法?
回答:
在二進制加法中,ALU 使用全加器(Full Adder)或一系列的全加器(對于多位二進制數)來實現。每個全加器接受三個輸入:兩個加數位(A 和 B)以及一個來自低位的進位(Cin)。它產生兩個輸出:一個和位(Sum)和一個向高位的進位(Cout)。通過級聯多個全加器,可以完成多位二進制數的加法。
2. ALU 如何實現二進制減法?
回答:
二進制減法可以通過加法來實現,利用“補碼”的概念。具體地,將減數取反加一(即求其二進制補碼),然后將該補碼與被減數相加。結果的正負由最高位(符號位)決定,其余位表示數值大小。ALU 內部可以包含專門的電路來處理這種補碼加法,從而間接實現減法。
3. ALU 如何處理進位和借位?
回答:
在加法中,進位(Carry)是從低位向高位傳遞的,每個全加器都會輸出一個進位信號給下一個高位的全加器。在減法(通過補碼加法實現)中,由于使用了加法器,進位的概念仍然適用,但在某些情況下,它可能被視為“借位”的相反操作,尤其是在直觀理解減法過程時。不過,從電路設計的角度來看,ALU 內部處理的是加法操作,包括進位。
4. ALU 如何支持更復雜的算術運算,如乘法和除法?
回答:
ALU 通常支持基本的算術運算(加、減)和邏輯運算。對于乘法和除法,ALU 可能不支持直接計算,或者僅支持部分乘法和除法的簡化版本(如移位操作,可以視為乘以2的冪或除以2的冪的簡化形式)。復雜的乘法和除法運算通常需要額外的硬件單元(如乘法器和除法器)來執行,這些單元可能作為ALU的補充或與之并行工作。
5. ALU 的設計如何影響計算機的性能?
回答:
ALU 的設計對計算機的性能有直接影響。更快的ALU 能夠更快地完成算術和邏輯運算,從而提高整個計算機的處理速度。此外,ALU 的指令集和設計的靈活性也會影響其能夠執行的操作種類和效率。現代CPU中的ALU通常非常高效且靈活,能夠執行多種復雜的算術和邏輯操作,以滿足現代應用程序的需求。
意華在發展過程中,積極拓展國內外市場,與華為、中興、富士康等知名企業建立了長期穩定的合作伙伴關系。這些合作伙伴的加入,不僅為意華帶來了更多的訂單和業務機會,也促進了公司技術的交流和提升。通過與這些行業巨頭的合作,意華在電子連接器領域的影響力逐漸擴大。
eMemory自1989年成立以來,始終致力于半導體硅智財(IP)的研發與創新。公司憑借其獨特的可編程非揮發性內存(NVM)技術,如NeoFuse和NeoPUF,迅速在半導體IP領域嶄露頭角。eMemory不僅將這些技術應用于自家的芯片產品中,還通過IP授權的方式,與全球眾多芯片設計廠商建立了緊密的合作關系,推動了整個電子行業的發展。
3L Electronic Corporation深知人才是企業發展的根本。因此,公司注重人才培養和團隊建設,為員工提供豐富的培訓和發展機會。通過引進優秀人才和建立激勵機制,公司形成了一支高效、專業的團隊,為公司的持續創新和發展提供了有力保障。
3L Electronic Corporation,自XXXX年在臺北創立以來,憑借創始人的遠見卓識和團隊的努力,逐漸在電子行業嶄露頭角。初期,公司主要生產電子零組件,憑借著精湛的工藝和穩定的質量,贏得了客戶的信賴。隨著市場的擴大,公司逐漸拓展到電子產品修理和國際貿易等領域,為后續的快速發展奠定了堅實基礎。
在電子行業快速發展的背景下,Boyd Corporation始終保持著對技術的追求和對市場的敏銳洞察。公司不斷深耕細作,優化現有產品,同時積極研發新產品,以滿足市場的不斷變化和客戶的不同需求。通過持續創新,Boyd Corporation在電子行業中始終保持著領先地位,為客戶提供了更優質的產品和服務。
這五個故事展示了Boyd Corporation在電子行業中的發展歷程和取得的成就。作為一家技術領先、市場領先的企業,Boyd Corporation將繼續秉承創新、質量、服務的理念,為電子行業的發展做出更大的貢獻。
evc如何在一個窗體中創建兩種字體? 我在一個窗口中創建了兩種字體,結果就所有要顯示的字都沒有顯示出來, 之前我創建了一種字體,還能顯示,是不是我沒有DELETEOBJECT的緣故?我該如和使用deleteobject()?? 望大俠拔刀相助,。。。。… 查看全部問答∨ |
AT+CGCLASS="B"\\r //設置模塊工作類型 AT+CGDCONT=1,"IP","CMWAP"\\r AT+CGATT=1 //激活PDP,獲得IP AT+CIPCSGP=1,"CMWAP"\\r AT+CIPSTART= ...… 查看全部問答∨ |
萬利的EK-STM32F板子,MDK3.22a調試,下面這段程序:/*----- Transmission Phase -----*//* While the bus is busy */ while(I2C_GetFlagStatus(I2C1, I2C_FLAG_BUSY));/ ...… 查看全部問答∨ |
|
如圖!!我想仿照做一個但為了不要太單調 只會亮我這次買了大概500顆LED燈想把它用在版子上電源為5V 那我在規劃電路時該怎去設計會搭配51晶片 那我電阻值該怎去選擇… 查看全部問答∨ |
|
只向電腦發送字符串 #include "msp430x14x.h"#define uchar unsigned charuchar DATA[]="hello world my name!";void main(){ // Stop watchdog timer to prevent time out reset uchar i,j;&n ...… 查看全部問答∨ |
|
這兩天在找資料,發現了不少精品的好東西,不過很多都是5分以上的,想必大家在下載的時候都有點小小的心疼哈哈。新的一年已經到來了,我把一些高分且高質量的資源列出來,供大家下載的同時,也順便提醒大要多賺積分嘍~~ 第一個專輯,是關于【單 ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 迅為IMX6開發板Android應用-AndroidStudio-calculator測試
- 玩轉 ESP32 + Arduino (二十) SIM800L上傳數據到OneNet(新版Mqtts)
- 玩轉 ESP32 + Arduino (二十一) SPIFFS文件系統 (已棄用)
- 玩轉 ESP32 + Arduino (二十二) SIM800L上傳數據到阿里IOT(溫濕度和LBS)(NTP對時)
- 玩轉 ESP32 + Arduino (二十三) 多文件系統及全局變量
- 玩轉 ESP32 + Arduino (二十四) SD卡讀寫
- 玩轉 ESP32 + Arduino (二十五) SSD1306庫驅動OLED
- 玩轉 ESP32 + Arduino(二十六) 按鍵控制庫 OneButton
- 玩轉 ESP32 + Arduino(二十七) ESP對象
- Panasonic模組整合Nordic的nRF54L15 SoC,為先進的物聯網應用實現高效能、高效率及低功耗優勢
- 學子專區論壇 - ADALM2000實驗:Hartley振蕩器
- Molex 莫仕將在2025慕尼黑上海電子展上展示領先的數據中心服務器和存儲、消費類和商用產品以及汽車和運輸解決方案
- 能游泳能攀爬,俄羅斯正研發百元級球形偵察機器人
- ModbusTCP轉Profinet:ABB機器人與PLC的高效連接
- ModbusTCP轉Profinet:工業通信的利器
- ModbusTCP轉Profinet:恒壓供水的神器
- Profinet轉ModbusTCP網關:工業升級利器
- Profinet轉ModbusTCP網關:數字化工廠的橋梁
- 三菱PLC故障排除常見問題