閆鵬
【摘要】 采用STM32F103系列RAM微控制器和以太網控制器芯片ENC28J60為核心來搭建網絡接口。文中首先闡明接口的硬件架構的實現方法,詳細分析了軟件與驅動程序開發,明確系統的通信過程。該設計能夠進行信息的穩定、有效的傳輸,實現網絡接口功能。
【關鍵詞】 STM32F103 ENC28J60 以太網
以太網是目前應用廣泛的網絡通信技術,借助此技術可以實現微控制器之間長距離、高速率的傳輸。
一、接口的硬件架構
1.1 硬件模塊介紹
ENC28J60是美國微芯科技公司推出的符合IEEE 802.3協議規范的一款28引腳獨立以太網控制器芯片,帶有行業標準的SPI接口,集成了媒體訪問控制器和10BASE—T以太網物理層器件,支持全雙工和半雙工模式,可編程填充和CRC生成,可編程8 kbyte雙端口SRAM緩沖器,可配置發送/接收緩沖器的大小,具有硬件管理的循環接受FIFO。在它內部還提供了一個DMA模塊,可以實現數據的快速吞吐,數據傳輸速率高達10 Mbit/s。ENC28J60和主控制器的通信通過SPI接口實現,使得實現以太網接口變得靈活簡單。
1.2 電路設計實現
NC28J60采用標準的SPI串行接口,4條線與STM32F103的SPI接口連接。當SCK為上升沿時命令和數據可通過SI引腳送入器件。在SCK的下降沿從SO引腳輸出數據。當執行操作/CS引腳始終保持低電平,操作完成時恢復高電平。如圖1以太網電路控制圖所示。
圖1 以太網電路控制圖
如圖1所示,差分接收引腳(TPIN+/TPIN-)以及差分發送引腳(TPOUT+/TPOUT-)與集成變壓器帶中心抽頭的腳45插座HR911105A連接,ENC28J60的內部模擬電路需要在RBIAS引腳與地之間外接一個2 K(精度為1%)電阻。為降低功耗,ENC28J60中的一些數字電路工作在2.5V標稱電壓下,該電壓有其內部一個2.5 V穩壓器以產生,為使之工作穩定,需在VCAP引腳與地之間連接一個10μ的電容。
以太網接口選用帶有網絡隔離變壓器功能的HR911105A來實現。LEDA和LEDB引腳支持復位時的自動極性檢測。可以在這兩個引腳上,以拉電流或灌電流點亮LED的兩種方式連接LED。系統復位時,ENC28J60將檢測LED的連接方式,并將LED驅動為PHLCON寄存器配置的默認狀態。如果在ENC28J60運行時改變LED的極性,新極性將在下一次系統復位時才能被檢測到。復位時會自動讀取LEDB上LED的連接狀態,并確定如何初始化PHCONl.PDPXMD位。如果引腳采用拉電流的方式點亮LED,則復位時此位清零且PHY默認為在半雙工模式下運行。
二、軟件設計
2.1 ENC28J60初始化
在使用ENC28J60發送和接收數據包時,必須先對器件進行初始化設置。根據不同的應用,配置選項可能需要更改。ENC28J60初始化主要是對其接收和發送緩沖器、接收過濾器、晶振啟動時間、MAC寄存器、PHY寄存器進行設置。
2.2數據的接收
接收過程主要包括接收設置與啟動,內部接收與過濾,數據包讀取與處理。接收啟動后,內部自動進行接收和過濾,未濾除的數據包寫人循環接收緩沖器(其存儲結構包括一個報頭、實際包數據、可能的填充字節)并產生中斷;通過中斷服務分析報頭,讀取實際包數據。發送過程主要包括:發送準備,發送,發送異常處理。ENC28J60自動生成前導符和幀起始定界符、最小包的填充和有效CRC追加。在發送準備過程中需要進行最小包填充設置,CRC追加設置,包控制字節輸人,以及MAC幀有效字段輸人。發送過程是內部過程。當發送異常中止時,需要根據MAC模塊自動產生的7 byte發送狀態向量進行相應處理。
三、測試及結果
用網線連接測試板與計算機,通過Ping 命令來測試計算每幀數據間隔時間,并計算有多少個包被發送,可以判斷網絡大致的情況。測試結果表明,微控制器接收到了PC機發送的4個數據包,通信效果良好。該網絡接口可以實現微控制器、微控制器與計算機之間網絡通信。
參 考 文 獻
[1] 肖廣兵,萬茂松.基于STM32的系統設計[M].北京:電子工業出版社,2013:74—75.
[2] 王海民,王宏志.STM32以太網控制系統 [J].長春工業大學學報.2014(01):64endprint
【摘要】 采用STM32F103系列RAM微控制器和以太網控制器芯片ENC28J60為核心來搭建網絡接口。文中首先闡明接口的硬件架構的實現方法,詳細分析了軟件與驅動程序開發,明確系統的通信過程。該設計能夠進行信息的穩定、有效的傳輸,實現網絡接口功能。
【關鍵詞】 STM32F103 ENC28J60 以太網
以太網是目前應用廣泛的網絡通信技術,借助此技術可以實現微控制器之間長距離、高速率的傳輸。
一、接口的硬件架構
1.1 硬件模塊介紹
ENC28J60是美國微芯科技公司推出的符合IEEE 802.3協議規范的一款28引腳獨立以太網控制器芯片,帶有行業標準的SPI接口,集成了媒體訪問控制器和10BASE—T以太網物理層器件,支持全雙工和半雙工模式,可編程填充和CRC生成,可編程8 kbyte雙端口SRAM緩沖器,可配置發送/接收緩沖器的大小,具有硬件管理的循環接受FIFO。在它內部還提供了一個DMA模塊,可以實現數據的快速吞吐,數據傳輸速率高達10 Mbit/s。ENC28J60和主控制器的通信通過SPI接口實現,使得實現以太網接口變得靈活簡單。
1.2 電路設計實現
NC28J60采用標準的SPI串行接口,4條線與STM32F103的SPI接口連接。當SCK為上升沿時命令和數據可通過SI引腳送入器件。在SCK的下降沿從SO引腳輸出數據。當執行操作/CS引腳始終保持低電平,操作完成時恢復高電平。如圖1以太網電路控制圖所示。
圖1 以太網電路控制圖
如圖1所示,差分接收引腳(TPIN+/TPIN-)以及差分發送引腳(TPOUT+/TPOUT-)與集成變壓器帶中心抽頭的腳45插座HR911105A連接,ENC28J60的內部模擬電路需要在RBIAS引腳與地之間外接一個2 K(精度為1%)電阻。為降低功耗,ENC28J60中的一些數字電路工作在2.5V標稱電壓下,該電壓有其內部一個2.5 V穩壓器以產生,為使之工作穩定,需在VCAP引腳與地之間連接一個10μ的電容。
以太網接口選用帶有網絡隔離變壓器功能的HR911105A來實現。LEDA和LEDB引腳支持復位時的自動極性檢測。可以在這兩個引腳上,以拉電流或灌電流點亮LED的兩種方式連接LED。系統復位時,ENC28J60將檢測LED的連接方式,并將LED驅動為PHLCON寄存器配置的默認狀態。如果在ENC28J60運行時改變LED的極性,新極性將在下一次系統復位時才能被檢測到。復位時會自動讀取LEDB上LED的連接狀態,并確定如何初始化PHCONl.PDPXMD位。如果引腳采用拉電流的方式點亮LED,則復位時此位清零且PHY默認為在半雙工模式下運行。
二、軟件設計
2.1 ENC28J60初始化
在使用ENC28J60發送和接收數據包時,必須先對器件進行初始化設置。根據不同的應用,配置選項可能需要更改。ENC28J60初始化主要是對其接收和發送緩沖器、接收過濾器、晶振啟動時間、MAC寄存器、PHY寄存器進行設置。
2.2數據的接收
接收過程主要包括接收設置與啟動,內部接收與過濾,數據包讀取與處理。接收啟動后,內部自動進行接收和過濾,未濾除的數據包寫人循環接收緩沖器(其存儲結構包括一個報頭、實際包數據、可能的填充字節)并產生中斷;通過中斷服務分析報頭,讀取實際包數據。發送過程主要包括:發送準備,發送,發送異常處理。ENC28J60自動生成前導符和幀起始定界符、最小包的填充和有效CRC追加。在發送準備過程中需要進行最小包填充設置,CRC追加設置,包控制字節輸人,以及MAC幀有效字段輸人。發送過程是內部過程。當發送異常中止時,需要根據MAC模塊自動產生的7 byte發送狀態向量進行相應處理。
三、測試及結果
用網線連接測試板與計算機,通過Ping 命令來測試計算每幀數據間隔時間,并計算有多少個包被發送,可以判斷網絡大致的情況。測試結果表明,微控制器接收到了PC機發送的4個數據包,通信效果良好。該網絡接口可以實現微控制器、微控制器與計算機之間網絡通信。
參 考 文 獻
[1] 肖廣兵,萬茂松.基于STM32的系統設計[M].北京:電子工業出版社,2013:74—75.
[2] 王海民,王宏志.STM32以太網控制系統 [J].長春工業大學學報.2014(01):64endprint
【摘要】 采用STM32F103系列RAM微控制器和以太網控制器芯片ENC28J60為核心來搭建網絡接口。文中首先闡明接口的硬件架構的實現方法,詳細分析了軟件與驅動程序開發,明確系統的通信過程。該設計能夠進行信息的穩定、有效的傳輸,實現網絡接口功能。
【關鍵詞】 STM32F103 ENC28J60 以太網
以太網是目前應用廣泛的網絡通信技術,借助此技術可以實現微控制器之間長距離、高速率的傳輸。
一、接口的硬件架構
1.1 硬件模塊介紹
ENC28J60是美國微芯科技公司推出的符合IEEE 802.3協議規范的一款28引腳獨立以太網控制器芯片,帶有行業標準的SPI接口,集成了媒體訪問控制器和10BASE—T以太網物理層器件,支持全雙工和半雙工模式,可編程填充和CRC生成,可編程8 kbyte雙端口SRAM緩沖器,可配置發送/接收緩沖器的大小,具有硬件管理的循環接受FIFO。在它內部還提供了一個DMA模塊,可以實現數據的快速吞吐,數據傳輸速率高達10 Mbit/s。ENC28J60和主控制器的通信通過SPI接口實現,使得實現以太網接口變得靈活簡單。
1.2 電路設計實現
NC28J60采用標準的SPI串行接口,4條線與STM32F103的SPI接口連接。當SCK為上升沿時命令和數據可通過SI引腳送入器件。在SCK的下降沿從SO引腳輸出數據。當執行操作/CS引腳始終保持低電平,操作完成時恢復高電平。如圖1以太網電路控制圖所示。
圖1 以太網電路控制圖
如圖1所示,差分接收引腳(TPIN+/TPIN-)以及差分發送引腳(TPOUT+/TPOUT-)與集成變壓器帶中心抽頭的腳45插座HR911105A連接,ENC28J60的內部模擬電路需要在RBIAS引腳與地之間外接一個2 K(精度為1%)電阻。為降低功耗,ENC28J60中的一些數字電路工作在2.5V標稱電壓下,該電壓有其內部一個2.5 V穩壓器以產生,為使之工作穩定,需在VCAP引腳與地之間連接一個10μ的電容。
以太網接口選用帶有網絡隔離變壓器功能的HR911105A來實現。LEDA和LEDB引腳支持復位時的自動極性檢測。可以在這兩個引腳上,以拉電流或灌電流點亮LED的兩種方式連接LED。系統復位時,ENC28J60將檢測LED的連接方式,并將LED驅動為PHLCON寄存器配置的默認狀態。如果在ENC28J60運行時改變LED的極性,新極性將在下一次系統復位時才能被檢測到。復位時會自動讀取LEDB上LED的連接狀態,并確定如何初始化PHCONl.PDPXMD位。如果引腳采用拉電流的方式點亮LED,則復位時此位清零且PHY默認為在半雙工模式下運行。
二、軟件設計
2.1 ENC28J60初始化
在使用ENC28J60發送和接收數據包時,必須先對器件進行初始化設置。根據不同的應用,配置選項可能需要更改。ENC28J60初始化主要是對其接收和發送緩沖器、接收過濾器、晶振啟動時間、MAC寄存器、PHY寄存器進行設置。
2.2數據的接收
接收過程主要包括接收設置與啟動,內部接收與過濾,數據包讀取與處理。接收啟動后,內部自動進行接收和過濾,未濾除的數據包寫人循環接收緩沖器(其存儲結構包括一個報頭、實際包數據、可能的填充字節)并產生中斷;通過中斷服務分析報頭,讀取實際包數據。發送過程主要包括:發送準備,發送,發送異常處理。ENC28J60自動生成前導符和幀起始定界符、最小包的填充和有效CRC追加。在發送準備過程中需要進行最小包填充設置,CRC追加設置,包控制字節輸人,以及MAC幀有效字段輸人。發送過程是內部過程。當發送異常中止時,需要根據MAC模塊自動產生的7 byte發送狀態向量進行相應處理。
三、測試及結果
用網線連接測試板與計算機,通過Ping 命令來測試計算每幀數據間隔時間,并計算有多少個包被發送,可以判斷網絡大致的情況。測試結果表明,微控制器接收到了PC機發送的4個數據包,通信效果良好。該網絡接口可以實現微控制器、微控制器與計算機之間網絡通信。
參 考 文 獻
[1] 肖廣兵,萬茂松.基于STM32的系統設計[M].北京:電子工業出版社,2013:74—75.
[2] 王海民,王宏志.STM32以太網控制系統 [J].長春工業大學學報.2014(01):64endprint