MCU微課堂
CKS32F107XX系列以太網(wǎng)介紹(一)
第七十一期 2026.03.03
以太網(wǎng)簡介
以太網(wǎng)(Ethernet)是一種計算機局域網(wǎng)技術(shù)。IEEE 802.3制定了以太網(wǎng)的技術(shù)標準,它規(guī)定了包括物理層的連線、電子信號、介質(zhì)訪問控制的內(nèi)容。
需要說明的是,以太網(wǎng)并不等于互聯(lián)網(wǎng),以太網(wǎng)是遵守 IEEE 802.3 標準組成的局域網(wǎng),是互聯(lián)網(wǎng)技術(shù)的一種; IEEE 還有其它局域網(wǎng)標準,比如 IEEE 802.11 是無線局域網(wǎng),俗稱 Wi-Fi, IEEE802.15 是個人域網(wǎng),即藍牙技術(shù),其中的 802.15.4 標準則是 ZigBee 技術(shù)。
TCP/IP協(xié)議
Transmission Control Protocol/Internet Protocol傳輸協(xié)議(TCP/IP):即傳輸控制/網(wǎng)絡(luò)協(xié)議,也叫網(wǎng)絡(luò)通訊協(xié)議,TCP/IP傳輸協(xié)議對互聯(lián)網(wǎng)中各部分進行通信的標準和方法進行了規(guī)定。
通常說的TCP/IP協(xié)議是一個龐大的協(xié)議族,它是眾多網(wǎng)絡(luò)協(xié)議的集合,包括:ARP、IP、ICMP、UDP、TCP、DNS、DHCP、HTTP、FTP、MQTT等等。其中 TCP和IP只是其中的兩個協(xié)議。
LwIP 全名:Light weight IP,顧名思義是一個輕量化的 TCP/IP 協(xié)議, 是瑞典計算機科學院 (SICS)的 Adam Dunkels 開發(fā)的一個小型開源的 TCP/IP 協(xié)議棧。設(shè)計 LwIP 的目的:用少量的資源消耗實現(xiàn)一個較為完整的 TCP/IP 協(xié)議棧,常用于 ARM 嵌入式設(shè)備。
TCP/IP 網(wǎng)絡(luò)分層如圖1,以TCP/IP 五層模型舉例通常包括如下: 應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層、物理層。

圖1 TCP/IP網(wǎng)絡(luò)分層
1.應(yīng)用層
TCP/IP協(xié)議的第一層,其主要工作就是定義數(shù)據(jù)格式并按照對應(yīng)的格式解讀數(shù)據(jù),是直接為應(yīng)用進程提供服務(wù)的。
2.傳輸層
作為TCP/IP協(xié)議的第二層,傳輸層的主要工作是定義端口,標識應(yīng)用程序身份,實現(xiàn)端口到端口的通信,TCP協(xié)議可以保證數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
3.網(wǎng)絡(luò)層
網(wǎng)絡(luò)層在TCP/IP協(xié)議中的位于第三層,主要工作是定義網(wǎng)絡(luò)地址、區(qū)分網(wǎng)段、子網(wǎng)內(nèi)MAC尋址、對于不同子網(wǎng)的數(shù)據(jù)包進行路由,在TCP/IP協(xié)議中網(wǎng)絡(luò)層可以進行網(wǎng)絡(luò)連接的建立和終止以及IP尋址等功能。路由器屬于網(wǎng)絡(luò)層設(shè)備。
IP 地址是 Internet Protocol(互聯(lián)網(wǎng)協(xié)議)中定義的地址,用于在網(wǎng)絡(luò)上唯一標識一個設(shè)備。IP 地址在網(wǎng)絡(luò)層起作用。以IPv4舉例,IPv4地址由32位組成,通常表示為四組8位的十進制數(shù),范圍是0-255,之間用點(".")分隔,如下圖2。

圖2 網(wǎng)絡(luò)IP地址組成
4.數(shù)據(jù)鏈路層
在TCP/IP協(xié)議中,網(wǎng)絡(luò)接口層位于第四層。主要工作就是對電信號進行分組并形成具有特定意義的數(shù)據(jù)幀,然后以廣播的形式通過物理介質(zhì)發(fā)送給接收方。網(wǎng)卡、交換機 屬于數(shù)據(jù)鏈路層設(shè)備。
在數(shù)據(jù)鏈路層,每個網(wǎng)絡(luò)設(shè)備有一個MAC地址(Media Access Control Address)。MAC 地址是設(shè)備出廠時就固化在網(wǎng)卡中的,用于在局域網(wǎng)中設(shè)備的唯一標識。
5.物理層
也稱電氣層,屬于協(xié)議棧最底層;通常由 PHY 芯片 + 特定電路 + 傳輸介質(zhì) 組成;傳輸介質(zhì)包括:同軸電纜、雙絞線、光纖等。網(wǎng)絡(luò)中繼器屬于物理層設(shè)備。
CKS32F107XX以太網(wǎng)模塊
CKS32F107xx系列內(nèi)部集成了一個以太網(wǎng)控制器,實際是一個通過DMA控制器進行介質(zhì)訪問控制(MAC),功能是實現(xiàn)MAC層的任務(wù),該控制器可以通過以太網(wǎng)外設(shè)按照 IEEE 802.3-2002 標準發(fā)送和接收 MAC 數(shù)據(jù)包。
CKS32F107xx以太網(wǎng)控制器支持兩個工業(yè)標準接口介質(zhì)獨立接口(MII)和簡化介質(zhì)獨立接口(RMII)用于與外部 PHY 芯片連接。MII和RMII接口用于MAC數(shù)據(jù)包傳輸,此外,還集成了站管理接口(SMI)接口專門用于與外部PHY通信,用于訪問PHY芯片寄存器。CKS32F107xx以太網(wǎng)控制器適用于各類應(yīng)用,如交換機、網(wǎng)絡(luò)接口卡等。CKS32F107xx 以太網(wǎng)模塊符合以下的標準:
(1)IEEE 802.3-2002 標準的以太網(wǎng)MAC協(xié)議。
(2)IEEE 1588-2002 網(wǎng)路精確時鐘同步標準。
(3)AMBA2.0 標準的 AHB 主/從端口。
(4)RMII 協(xié)會定義的 RMII 標準。
CKS32F107xx ETH 系統(tǒng)功能框圖如圖3,按不同種類,以太網(wǎng)模塊(ETH)主要支持以下功能:

圖3 CKS32F107XX 以太網(wǎng)系統(tǒng)功能框圖
1.SMI、MII、RMII物理層接口
站管理接口 (SMI) 允許應(yīng)用程序通過 2 線(時鐘和數(shù)據(jù)線)訪問任意 PHY 寄存器,該接口支持訪問多達 32 個 PHY 芯片。
獨立介質(zhì)訪問接口(MII/RMII) 定義了 10 Mbit/s 和 100 Mbit/s 的數(shù)據(jù)傳輸速率下 MAC 層與 PHY 層之間的互連。
CKS32F107xx 以太網(wǎng)模塊可以通過配置AFIO_MAPR 寄存器的選擇位,可以選擇使用 MII 或者 RMII 接口。
2.MAC 802.3 網(wǎng)絡(luò)控制器
MAC 模塊實現(xiàn)了LAN CSMA/CD 的子層,適用于10Mbps 和100Mbps 數(shù)據(jù)傳輸率的基帶和寬帶系統(tǒng),支持全雙工和半雙工的操作模式。支持沖突檢測的訪問方式,并且實現(xiàn)如下功能:數(shù)據(jù)封裝(傳送和接收)、幀的組裝(幀間隔和幀同步)、尋址(管理源地址和目的地址) 、錯誤檢測、介質(zhì)訪問管理、介質(zhì)分配(防止沖突)、沖突解決(處理沖突) 等。
(1)通過外接PHY接口,支持10/100Mbps的數(shù)據(jù)傳輸速率;使用SMI接口對PHY進行配置和管理。支持MII接口的內(nèi)循環(huán),可用于調(diào)試。支持全雙工和半雙工操作。
(2)在發(fā)送時插入前導(dǎo)符和幀開始數(shù)據(jù)(SFD),在接收時去掉這些域;以幀為單位,自動計算CRC和產(chǎn)生可控制的填充位;在接收幀時,自動去除填充位/CRC為可選項;可對幀長度進行編程,支持最長為16K字節(jié)的標準幀;可對幀間隙進行編程(40~96位,以8位為單位改變) 。
(3)支持多種靈活的地址過濾模式;對于發(fā)送和接收的數(shù)據(jù)包,返回獨立的32位狀態(tài)信息;支持檢測接收到幀的IEEE 802.1Q VLAN標簽;應(yīng)用程序有獨立的發(fā)送、接收和控制接口。
(4)支持使用RMON/MIB計數(shù)器 ( RFC2819/RFC2665 ) 進行強制性的網(wǎng)絡(luò)統(tǒng)計;檢測LAN喚醒幀和AMD的Magic PacketTM幀。
(5)對IPv4和由以太網(wǎng)幀封裝的TCP數(shù)據(jù)包的接收校驗和卸載分流功能;對IPv4報頭校驗和以及對IPv4或IPv6數(shù)據(jù)格式封裝的TCP、UDP或ICMP的校驗和進行檢查的高級接收功能。
(6)支持由IEEE 1588-2002標準定義的以太網(wǎng)幀時間戳,在每個幀的接收或發(fā)送狀態(tài)中加上64位的時間戳。
(7)兩套FIFO:一個2K字節(jié)的傳輸FIFO,帶可編程的發(fā)送閾值,和一個2K字節(jié)的接收FIFO,帶可編程的接收閾值(默認值是64字節(jié)); 在接收FIFO的EOF后插入接收狀態(tài)信息,使得多個幀可以存儲在同一個接收FIFO中,而不需要開辟另一個FIFO來儲存這些幀的接收狀態(tài)信息。
(8)可以濾掉接收到的錯誤幀,并在存儲-轉(zhuǎn)發(fā)模式下,不向應(yīng)用程序轉(zhuǎn)發(fā)錯誤的幀。可以轉(zhuǎn)發(fā)“好”的短幀給應(yīng)用程序;支持產(chǎn)生脈沖來統(tǒng)計在接收FIFO中丟失和破壞(由于溢出)的幀數(shù)目;對于MAC控制器的數(shù)據(jù)傳輸,支持存儲-轉(zhuǎn)發(fā)機制。根據(jù)接收FIFO的填充程度(閾值可編程),自動向MAC控制器產(chǎn)生PAUSE幀或背壓信號。
(9)在發(fā)送時,如遇到?jīng)_突可以自動重發(fā);支持在遲到?jīng)_突、沖突過多、順延過多和欠載(underrun)情況下丟棄幀;支持軟件控制清空發(fā)送FIFO。
(10)在存儲-轉(zhuǎn)發(fā)模式下,在要發(fā)送的幀內(nèi),計算并插入IPv4的報頭校驗和及TCP、UDP或ICMP的校驗和。
3.DMA控制器
DMA 控制器負責把接收到的幀數(shù)據(jù)傳送給CKS32F107xx 的接收緩存,把CKS32F107xx 發(fā)送緩存里的數(shù)據(jù)發(fā)送出去。DMA 具有獨立的發(fā)送和接收控制器,發(fā)送控制器負責把數(shù)據(jù)從系統(tǒng)存儲器轉(zhuǎn)送至發(fā)送FIFO,而接收控制器負責把數(shù)據(jù)從接收FIFO 讀出到系統(tǒng)存儲器,為了把CPU 的操作減到最小,DMA 控制器利用描述符來實現(xiàn)數(shù)據(jù)從源頭到目的之間的移動。
CKS32F107xx 以太網(wǎng)模塊 DMA 控制器包括如下特點:
(1)在AHB從接口下,支持所有類型的AHB突發(fā)傳輸;在AHB主接口下,軟件可以選擇AHB突發(fā)傳輸?shù)念愋?,可以選擇來自AHB主接口的地址對齊的突發(fā)傳輸。
(2)可配置發(fā)送與接收DMA突發(fā)傳輸長度,傳輸以幀分隔符為界的數(shù)據(jù)幀。優(yōu)化總線使用。
(3)狀態(tài)寄存器指向當前發(fā)送/接收緩存區(qū),無論正常傳輸還是錯誤傳輸都有完整的狀態(tài)信息報告。
(4)支持以字節(jié)對齊的方式對數(shù)據(jù)緩存區(qū)尋址;雙緩存區(qū)(環(huán))或鏈表形式的描述符列表;描述符的架構(gòu),使得大量的數(shù)據(jù)傳輸僅需要最小量的CPU介入;每個描述符可以傳輸高達8K字節(jié)的數(shù)據(jù)。
(5)可以設(shè)置以不同的操作條件產(chǎn)生對應(yīng)的中斷;每個幀發(fā)送/接收完成時產(chǎn)生中斷。 同時也支持用輪換或固定優(yōu)先級方式,仲裁DMA發(fā)送和接收控制器的優(yōu)先級。
(6)支持開始/停止模式。
4.PTP功能
PTP(Precision Time Protocol)是一種高精度時間同步協(xié)議,常用于通信網(wǎng)絡(luò)中確保設(shè)備間的時間一致性。CKS32F107xx ETH 模塊的 PTP 功能包含如下特點:
(1)設(shè)置接收和發(fā)送幀的時間戳。
(2)粗調(diào)和細調(diào)的校正方法。
(3)當系統(tǒng)時間比目標時間大時,觸發(fā)中斷。
(4) (通過MCU的復(fù)用功能I/O)輸出秒脈沖。
-
mcu
+關(guān)注
關(guān)注
147文章
18923瀏覽量
397972 -
以太網(wǎng)
+關(guān)注
關(guān)注
41文章
5997瀏覽量
180791 -
網(wǎng)絡(luò)協(xié)議
+關(guān)注
關(guān)注
3文章
276瀏覽量
22733
原文標題:MCU微課堂|CKS32F107XX系列以太網(wǎng)介紹(一)
文章出處:【微信號:中科芯MCU,微信公眾號:中科芯MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
中科芯CKS32F107XX系列MCU的獨立看門狗介紹
中科芯CKS32F107XX系列MCU的窗口看門狗介紹
中科芯CKS32F107XX系列MCU的bxCAN介紹
MCU微課堂|CKS32F4xx系列產(chǎn)品時鐘配置
CKS32F4xx系列芯片以太網(wǎng)模塊主要功能及框圖解析
中科芯CKS32F107XX系列MCU的以太網(wǎng)介紹(二)
STM32F105/107系列以太網(wǎng)PHY設(shè)計
CKS32F107xx系列時鐘系統(tǒng)具體配置方法講解
CKS32F107xx系列MCU中ADC介紹
CKS32F107xx系列MCU的GPIO內(nèi)部硬件結(jié)構(gòu)和工作模式
詳解CKS32F107xx系列的定時器同步功能
中科芯CKS32F107XX系列MCU的以太網(wǎng)介紹(一)
評論