解讀ENC28J60嵌入式網絡接口電路
設計了以ENC28J60 為核心的以太網接口實現方案, 描述了該系統硬件架構的設計方法。在簡要介紹了以太網控制器ENC28J60 的結構、功能、外圍電路的基礎上, 對ENC28J60與Atmega16 的SPI通訊進行了闡述。此方案不僅成本低, 而且可以實現500Kbps 以上的傳輸速率, 滿足了嵌入式系統的Internet 控制要求。
本文引用地址:http://butianyuan.cn/article/201612/326777.htmENC28J60在嵌入式網絡接口的應用
利用ENC28J60 可以構成不同功能的網絡終端節(jié)點, 如網絡服務器、帶Internet 功能的設備、遠程監(jiān)控(數據采集, 診斷)設備等。圖2 所示為基于ENC28J60 的嵌入式網絡接口的硬件電路原理圖。電路中有:2 個LED 狀態(tài)指示燈主要用來顯示網絡連接狀態(tài),包括PHY 是否沖突、連接是否建立、是否接收數據、連接速度、雙工模式等; 必需的偏置電阻R3(2kΩ, 精度為1%);高速局域網電磁隔離模塊(即RJ45 以太網接口), 應用中,ENC28J60的物理端口與隔離變壓器HR901170A 連接時必須符合IEEE802.3 對物理層規(guī)范的要求, 如RJ45的插孔與隔離變壓器的間隔應盡量小, 輸出和輸入差分信號對的走線要有很好的隔離。
電路中的主控制器采用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 通過將ENC28J60 的CS 引腳置低實現與其的同步。SPI 時鐘由寫入到SPI 發(fā)送緩沖寄存器的數據啟動, SPI MOSI(PB5)引腳上的數據發(fā)送秩序由寄存器SPCR 的DORD 位控制, 置位時數據的LSB(最低位)首先發(fā)送, 否則數據的MSB(最高位)首先發(fā)送。我們選擇先發(fā)送MSB,同時接收到的數據傳送到接收緩沖寄存器, CPU 進行右對齊從接收緩沖器中讀取接收到的數據。應該注意, 當需要從ENC28J60 中讀取多個數據時, 即使ENC28J60并不需要ATmega16 串行輸出的數據, 每讀取一個數據前都要向SPI 發(fā)送緩沖器寫一個數據以啟動SPI 接口時鐘。由于SPI 系統的發(fā)送方向只有1 個緩沖器, 而在接收方向有2 個緩沖器, 所以在發(fā)送時一定要等到移位過程全部結束后, 才能對SPI 數據寄存器執(zhí)行寫操作; 而在接收數據時,需要在下一個字節(jié)移位過程結束之前通過訪問SPI數據寄存器讀取當前接收到的數據,否則第1 個數據丟失。
評論