




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、【Word版本下載可任意編輯】 ENC28J60的嵌入式網絡接口的設計 1 引言 隨著Internet 的出現和以太網的迅速發展, 基于以太網的設備控制越來越多。目前市場上大部分以太網控制器采用的封裝均超過80 引腳, 如RTL8019AS、DM9008、CS8900A 等。這些器件不僅構造復雜, 面積龐大, 且系統開銷較大。近來, Microchip推出首枚28 引腳獨立以太網控制器ENC28J60, 可為嵌入式系統提供低引腳數、低成本、精簡的遠程通訊解決方案。 2 ENC28J60 網絡接口體系構造 ENC28J60 是帶有行業標準串行外設接口(Serial PeripheralInter
2、face, SPI)的獨立以太網控制器。它符合IEEE 802.3 的全部規范, 采用了一系列包過濾機制以對傳入數據包開展限制。它還提供了一個內部DMA 模塊, 以實現快速數據吞吐和硬件支持的IP 校驗和計算。與主控制器的通信通過兩個中斷引腳(INT和WOL)和SPI 腳(SO、SI、SCK、CS)實現, 數據傳輸速率高達10Mb/s.兩個專用的引腳(LEDA、LEDB)用于連接LED, 開展網絡活動狀態指示。圖1 所示為ENC28J60 的典型應用電路。 ENC28J60 由7 個主要功能模塊組成:SPI 接口, 充當主控制器和ENC28J60 之間通信通道; 控制存放器, 用于控制和監視E
3、NC28J60; 雙端口RAM緩沖器, 用于接收和發送數據包; 判優器, 當DMA、發送和接收模塊發出請求時對RAM緩沖器的訪問開展控制; 總線接口, 對通過SPI 接收的數據和命令開展解析;MAC 模塊:實現符合IEEE 802.3 標準的MAC 邏輯; PHY 模塊, 對雙絞線上的模擬數據開展編碼和譯碼。ENC28J60 還包括其他支持模塊, 諸如振蕩器、片內穩壓器、電平變換器(提供可以承受5V 電壓的I/O 引腳)和系統控制邏輯。 根據以上說明, ENC28J60 應用于嵌入式網絡接口是非常合適的, 有廣闊的應用發展前景。 3 ENC28J60 在嵌入式網絡接口的應用 3.1 硬件電路設
4、計 利用ENC28J60 可以構成不同功能的網絡終端節點, 如網絡服務器、帶Internet 功能的設備、遠程監控(數據采集, 診斷)設備等。圖2 所示為基于ENC28J60 的嵌入式網絡接口的硬件電路原理圖。電路中有:2 個LED 狀態指示燈主要用來顯示網絡連接狀態, 包括PHY 是否沖突、連接是否建立、是否接收數據、連接速度、雙工模式等; 必需的偏置電阻R3(2k, 精度為1%);高速局域網電磁隔離模塊(即RJ45 以太網接口), 應用中,ENC28J60 的物理端口與隔離變壓器HR901170A 連接時必須符合IEEE802.3 對物理層規范的要求, 如RJ45 的插孔與隔離變壓器的間隔
5、應盡量小, 輸出和輸入差分信號對的走線要有很好的隔離。 電路中的主控制器采用Atmel 公司的ATmega16 單片機,它具有先進的RISC(精簡指令集計算機)構造、16 kB 可編程Flash 存儲器、512 B 的EEPROM和1 kB 片內SRAM, 具有豐富的外設接口, 其SPI 接口允許ATmega16 與外設開展高速的同步數據傳輸。本設計中ATmega16 SPI 配置為主機模式,ENC28J60 為從設備。ATmega16 的SPI 工作模式由CPOL、CPHA 設置, 根據ENC28J60 的SPI 讀寫時序, ATmega16 的SPI工作模式應設置為模式0.ATmega16
6、 通過將ENC28J60 的CS引腳置低實現與其的同步。SPI 時鐘由寫入到SPI 發送緩沖存放器的數據啟動, SPI MOSI(PB5)引腳上的數據發送秩序由存放器SPCR 的DORD 位控制, 置位時數據的LSB(位)首先發送, 否則數據的MSB(位)首先發送。我們選擇先發送MSB,同時接收到的數據傳送到接收緩沖存放器, CPU 開展右對齊從接收緩沖器中讀取接收到的數據。應該注意, 當需要從ENC28J60 中讀取多個數據時, 即使ENC28J60 并不需要ATmega16 串行輸出的數據, 每讀取一個數據前都要向SPI 發送緩沖器寫一個數據以啟動SPI 接口時鐘。由于SPI 系統的發送方
7、向只有1 個緩沖器, 而在接收方向有2 個緩沖器, 所以在發送時一定要等到移位過程全部結束后, 才能對SPI 數據存放器執行寫操作; 而在接收數據時, 需要在下一個字節移位過程結束之前通過訪問SPI 數據存放器讀取當前接收到的數據, 否則第1 個數據丟失。 3.2 ENC28J60 軟件初始化 在使用ENC28J60 發送和接收數據包前, 必須對器件開展初始化設置。根據不同的應用, 一些配置選項可能需要更改。初始化設置工作包括接收和發送緩沖器、接收過濾器、晶振啟動時間、MAC 存放器、PHY 存放器。初始化芯片之前先關閉單片機的中斷輸入, 對RESET 引腳給定一個持續的低電平復位信號, 然后
8、對相應的存放器開展設置。設置完成所有需要的存放器后, 判斷以太網狀態中的時鐘啟動標志位是否置位, 然后開中斷。 系統初始化后進入主程序循環, 包括單片機的控制作用和網絡數據傳輸。對于以太網傳輸部分來說。主要有兩個作用:一是對要發送的數據按照以太網數據幀格式開展封裝并發送; 二是對接收的以太網數據幀開展解包, 供給用程序使用。 3.3 ENC28J60 發送數據包 在開展數據包發送或接收時, 要先對寫緩沖存儲器(WriteBuffer Memory, WBM)命令掌握。WBM允許主控制器將字節寫入8KB 發送和接收緩沖存儲器。如果ECON2 存放器中的AUTOINC 位置1, 那么在寫完每個字節
9、的一位之后,EWRPT 指針將會自動地遞增指向下一個地址(當前地址加1)。 如果寫入地址1FFF 且AUTOINC 置1, 則寫指針加1 指向0000h.將CS 引腳拉為低電平啟動WBM命令。然后將WBM操作碼及隨后的5 位常量1Ah 送入ENC28J60.在發送WBM命令和常量之后, 由EWRPT 指向的存儲器中的數據將移入ENC28J60, 首先移入位。在接收到8 個數據位后, 如果AUTOINC 置1, 寫指針將自動遞增。主控制器可以繼續在SCK引腳提供時種信號、在SI 引腳發送數據同時保持/CS 為低電平, 從而可以連續寫入存儲器。當AUTOINC 被使能時, 以該方式就可以連續地向緩
10、沖存儲器寫入字節而無需多余的SPI命令。拉高CS 引腳電平可結束WBM命令。在WBM操作期間,SO 引腳一直為高阻態, WBM操作時序, 請參見圖3. ENC28J60 內的MAC 在發送時會自動生成前導符和幀起始定界符。此外, MAC 可根據配置生成填充(如果需要)和CRC字段。主控制器必須生成所有其他幀字段, 并將它們寫入緩沖存儲器, 以待發送。此外, ENC28J60 還要求在待發送的數據包前添加一個包控制字節。主控制器應:1.正確編程ETXST 指針,使之指向存儲器中未用的單元。它將指向包控制字節, 在本設計方案中, 指針應編程為0120h; 2.使用WBM SPI 命令寫入包控制字節
11、、目標地址、源MAC 地址、類型/ 長度和數據有效負載; 3.正確編程ETXND 指針。它應指向數據有效負載的一個字節, 在本設計方案中, 指針應編程為0156h; 4.將EIR.TXIF位清零、將EIE.TXIE 位和EIE.INTIE 位置1 允許在發送完成后產生中斷(如果需要); 5.將ECON1.TXRTS 位置1 開始發送。如果在TXRTS 位置1 時正在開展DMA 操作, ENC28J60 會等待DMA 操作完成再發送。這種等待是必需的, 因為DMA 和發送引擎共享同一個存儲器訪問端口。同樣如果在TXRTS 已置1后, ECON1 中DMAST 位才置1, DMA 在TXRTS 位
12、清零前不會采取任何動作。如果正在開展發送, 不應通過SPI 讀取或寫入任何待發送的字節。主控制器將TXRTS 位清零可取消發送。如果數據包發送完成或因錯誤取消而中止發送, ECON1.TXRTS位會被清零, 一個7 字節的發送狀態向量將被寫入由ETXND +1 指向的單元, EIR.TXIF 會被置1 并產生中斷(如果允許)。要驗證數據包是否成功發送, 應讀取ESTAT.TXABRT 位。如果該位置1, 主控制器在查詢發送狀態向量的各個字段外, 還應查詢ESTAT.LATECOL 位, 以確定失敗的原因。下面給出寫數據包的源代碼: 3.3 ENC28J60 接收數據包 假設接收緩沖器已完成初始
13、化, MAC 已正確配置而且接收過濾器已配置為接收以太網數據包, 主控制器應該:1.如果需要在接收到數據包時產生一個中斷, 就要將EIE.PKTIE 位和EIE.INTIE位置1; 2. 如果需要在由于緩沖空間缺陷導致數據包丟失時產生一個中斷, 就要將EIR.RXERIF 位清零, 并將EIE.RXERIE位和EIE.INTIE 位置1; 3. 通過將ECON1.RXEN 位置1使能接收。在將RXEN 置1 后, 將不能修改雙工模式和接收緩沖器起始和結束指針。此外, 要阻止不期望接收的數據包, 在更改接收過濾器配置存放器(ERXFCON) 和MAC 地址前建議將RXEN 清零。在使能接收后, 沒有過濾掉的數據包將寫入循環接收緩沖器。任何不符合過濾條件的數據包將被丟棄, 但主控制器無法識別一個數據包已被丟棄。當接收到一個數據包并將其完整寫入緩沖器時, EPKTCNT 存放器將遞增, EIR.PKTIF 位將置1, 并產生一個中斷(如果允許), 同時硬件寫指針ERXWRPT 自動遞增。 4 結束語 隨著數字化、智能化儀器的飛速發展, 采用以太網開展通信的應用將
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新解讀《CB-T 81 - 1999船用鋼質斜梯》新解讀
- DBJ04-T494-2025 《坡地建筑設計防火標準》
- Brand KPIs for neobanking BMTX in the United States-英文培訓課件2025.4
- 基于電極原位培養技術的微生物耐受性檢測新方法研究
- 汽車傳感器與檢測技術課件:儀表輪胎壓力報警燈點亮-輪胎胎壓傳感器故障
- Brand KPIs for neobanking Inter in Brazil-英文培訓課件2025.4
- 汽車傳感器與檢測技術電子教案:量芯式空氣流量傳感器
- 淺論在“求是”中“求道”
- 江蘇省鹽城市國民經濟和社會發展第十二個五年規劃綱要94
- 商貿公司運營管理制度
- 辦理資質委托代理協議3篇
- 2025年運動心理學與運動生理學考試的考核試題及答案
- 新疆吐魯番市高昌區第二中學2024-2025學年高二數學第二學期期末考試模擬試題含解析
- T/CITS 0012-2021制造業企業質量創新力評價規范
- 打造高效、智能的數字化車間建設方案
- 物業用房使用協議書
- 計算機體系結構計算題示例答案
- 中醫糖尿病試題及答案
- 《系統的穩定性》課件
- 法院輔警筆試題及答案
- 焊接結構考試試題及答案
評論
0/150
提交評論