<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機在手持式RFID讀寫器中的網(wǎng)絡接口設計

          單片機在手持式RFID讀寫器中的網(wǎng)絡接口設計

          作者: 時間:2014-01-16 來源:網(wǎng)絡 收藏

            FRAME 為幀周期信號,由當前主設備驅(qū)動,表示一次訪問的開始和持續(xù)時間。IRDY 為主設備準備好信號。

            TRDY 為從設備準備好信號。C /BE 為總線命令和字節(jié)使能復用信號。地址期是總線命令,數(shù)據(jù)期是字節(jié)使能。IDSEL 為初始化設備選擇信號。在參數(shù)配置讀寫傳輸期間,用作片選。對于只有一個PCI 設備的情況,它可以總接高電平。RST 為復位信號。CLK 為系統(tǒng)時鐘信號,頻率范圍DC ~ 33 MHz.以上信號都在CLK 的上升沿有效。INTA 為中斷請求信號,RTL8139數(shù)據(jù)準備好后可以用來向主控制器發(fā)出中斷。

            DEVSEL 為設備選擇信號,表明驅(qū)動它的設備已成當前訪問的設備,由于系統(tǒng)中,RTL8139 是單一的PCI 設備,因此該信號可以不用。

            2 軟件結(jié)構(gòu)

            RFID 讀寫器系統(tǒng)軟件主要包括硬件設備驅(qū)動程序、TCP /IP 協(xié)議棧、應用協(xié)議和其他用戶應用程序。軟件的流程如圖3 所示。網(wǎng)絡接口軟件流程圖

          圖3 網(wǎng)絡接口軟件流程圖。

            其中應用協(xié)議和其他用戶應用程序?qū)⒃诙伍_發(fā)時根據(jù)RFID 讀寫器的具體功能要求進行設計,這里主要介紹硬件設備驅(qū)動程序、TCP /IP 協(xié)議棧的實現(xiàn)方法。

            2. 1 硬件設備驅(qū)動程序

            硬件設備驅(qū)動是將PCI 接口當作的外部存儲器看待,以讀寫外部存儲器的時序?qū)CI 接口進行讀寫,再由PCI 接口將這種讀寫操作時序轉(zhuǎn)換成PCI 時序?qū)σ蕴W(wǎng)控制器進行操作。主要包括3 個部分,網(wǎng)絡初始化,發(fā)送控制和接收控制。主要完成對CR,TCR,RCR IMR ISR,RBSTART,MAR 等寄存器操作。

            發(fā)送控制過程在網(wǎng)絡中,幀傳輸?shù)倪^程是發(fā)送方將待發(fā)送的數(shù)據(jù)按幀格式要求封裝成幀,然后同過網(wǎng)卡發(fā)送到網(wǎng)絡的傳輸線上。發(fā)送程序框圖如圖4所示。

          RTL8139數(shù)據(jù)發(fā)送流程圖

          圖4 RTL8139 數(shù)據(jù)發(fā)送流程圖。

            接收控制過程分成2 步,第1 步是根據(jù)哈稀算法判斷數(shù)據(jù)包是否是本地的數(shù)據(jù)包,如果是則接收放入FIFO,如果FIFO 里的數(shù)據(jù)包達到了RCR 寄存器預先設定閾值,把數(shù)據(jù)報放入RX_BUFF.第2 步主機程序?qū)X_BUFF 里的數(shù)據(jù)讀取到內(nèi)存進行處理。

            2. 2 TCP /IP 協(xié)議棧

            如圖5 所示,以太網(wǎng)控制器提供了邏輯鏈路層協(xié)議,TCP /IP 協(xié)議棧則通過底層的硬件設備驅(qū)動程序來接收和發(fā)送數(shù)據(jù),對接收到的以太幀數(shù)據(jù)進行協(xié)議的分析,并給其上層應用提供一些簡單、易用的函數(shù)。

          RTL8139數(shù)據(jù)接收流程圖

          圖5 RTL8139 數(shù)據(jù)接收流程圖。

          -
          -
            TCP /IP 實質(zhì)上是一系列協(xié)議的總稱,是實現(xiàn)Internet通訊必不可少的部分,包括十幾個協(xié)議標準,在這里要實現(xiàn)的是通過網(wǎng)絡讀取居民用表的讀數(shù),傳輸?shù)臄?shù)據(jù)量少且對實時性要求不高,不需要全部的協(xié)議,只要實現(xiàn)幾個必備的即可,權(quán)衡之下,求在最小代碼、最小資源需求和功能實現(xiàn)間取得一個平衡: 只實現(xiàn)了ICMP、TCP、IP、ARP 4 個協(xié)議,組成一個小型化的TCP /IP 協(xié)議。因為任何一個以太網(wǎng)數(shù)據(jù)幀要發(fā)送時都必須要知道對方的物理地址,這能過ARP 協(xié)議獲得,所以要實現(xiàn)ARP 協(xié)議。而IP 協(xié)議是TCP, ICMP協(xié)議數(shù)據(jù)的傳輸格式; TCP 協(xié)議提供可靠的,可重組服務; 而ICMP 協(xié)議是調(diào)試時所不可缺少的。另外,在實現(xiàn)重發(fā)功能時,大多的做法是應用層不參與,當需要重發(fā)時,由TCP /IP 協(xié)議把存儲在數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)再發(fā)送一次即可,但在以為主處理器的情況下,因為單片機自身的資源有限,為了減少RAM 的使用,可以在需要重發(fā)時再由應用層產(chǎn)生這一幀數(shù)據(jù)即可,這無需太多的時間。這樣也不必每發(fā)送一幀數(shù)據(jù)都要存在緩沖區(qū)中以備重發(fā)時使用,進一步節(jié)省了RAM。


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();