MCU微課堂
CKS32F107XX系列以太網(wǎng)介紹(一)
第七十一期 2026.03.03
以太網(wǎng)簡(jiǎn)介
以太網(wǎng)(Ethernet)是一種計(jì)算機(jī)局域網(wǎng)技術(shù)。IEEE 802.3制定了以太網(wǎng)的技術(shù)標(biāo)準(zhǔn),它規(guī)定了包括物理層的連線、電子信號(hào)、介質(zhì)訪問控制的內(nèi)容。
需要說明的是,以太網(wǎng)并不等于互聯(lián)網(wǎng),以太網(wǎng)是遵守 IEEE 802.3 標(biāo)準(zhǔn)組成的局域網(wǎng),是互聯(lián)網(wǎng)技術(shù)的一種; IEEE 還有其它局域網(wǎng)標(biāo)準(zhǔn),比如 IEEE 802.11 是無線局域網(wǎng),俗稱 Wi-Fi, IEEE802.15 是個(gè)人域網(wǎng),即藍(lán)牙技術(shù),其中的 802.15.4 標(biāo)準(zhǔn)則是 ZigBee 技術(shù)。
TCP/IP協(xié)議
Transmission Control Protocol/Internet Protocol傳輸協(xié)議(TCP/IP):即傳輸控制/網(wǎng)絡(luò)協(xié)議,也叫網(wǎng)絡(luò)通訊協(xié)議,TCP/IP傳輸協(xié)議對(duì)互聯(lián)網(wǎng)中各部分進(jìn)行通信的標(biāo)準(zhǔn)和方法進(jìn)行了規(guī)定。
通常說的TCP/IP協(xié)議是一個(gè)龐大的協(xié)議族,它是眾多網(wǎng)絡(luò)協(xié)議的集合,包括:ARP、IP、ICMP、UDP、TCP、DNS、DHCP、HTTP、FTP、MQTT等等。其中 TCP和IP只是其中的兩個(gè)協(xié)議。
LwIP 全名:Light weight IP,顧名思義是一個(gè)輕量化的 TCP/IP 協(xié)議, 是瑞典計(jì)算機(jī)科學(xué)院 (SICS)的 Adam Dunkels 開發(fā)的一個(gè)小型開源的 TCP/IP 協(xié)議棧。設(shè)計(jì) LwIP 的目的:用少量的資源消耗實(shí)現(xiàn)一個(gè)較為完整的 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ù)格式并按照對(duì)應(yīng)的格式解讀數(shù)據(jù),是直接為應(yīng)用進(jìn)程提供服務(wù)的。
2.傳輸層
作為TCP/IP協(xié)議的第二層,傳輸層的主要工作是定義端口,標(biāo)識(shí)應(yīng)用程序身份,實(shí)現(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尋址、對(duì)于不同子網(wǎng)的數(shù)據(jù)包進(jìn)行路由,在TCP/IP協(xié)議中網(wǎng)絡(luò)層可以進(jìn)行網(wǎng)絡(luò)連接的建立和終止以及IP尋址等功能。路由器屬于網(wǎng)絡(luò)層設(shè)備。
IP 地址是 Internet Protocol(互聯(lián)網(wǎng)協(xié)議)中定義的地址,用于在網(wǎng)絡(luò)上唯一標(biāo)識(shí)一個(gè)設(shè)備。IP 地址在網(wǎng)絡(luò)層起作用。以IPv4舉例,IPv4地址由32位組成,通常表示為四組8位的十進(jìn)制數(shù),范圍是0-255,之間用點(diǎn)(".")分隔,如下圖2。

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

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