【 ATU NXP-MPC系列 】Ethernet ping request & Ping reply 說明文件

1.    概述

1.1 功能描述

本文章教學如何建立一般以太網路,並根據乙太網路通訊規範撰寫程式,使用電腦來 ping MPC5777C EVB 板,並獲得 ping reply ,再使用 MPC5777C EVB 板發出ping request 由電腦端回覆 ping reply ,藉由相互 ping 來確認通訊格式正確,與回
覆時間資訊。

1.2 硬體開發工具

  • MPC5777C  EVB 板
  • PEmicro 燒錄器
  • PC 一台

1.3 軟體開發工具

  • S32 Design Studio IDE for Power Architecture , 版本 2017.R1 , Build id: 171018
  • S32 SDK PA , BETA 2.9.0

1.4 參考相關程式

Example codes / MPC5777C_ethernet_ping

2.    Ethernet 通訊原理

2.1    MAC address

MAC address 為網路設備所需要的 address ,ethernet 通訊時可以明確知道資料是要送往哪個 ethernet device , MAC address 總共有 6 個 8位元來組成,假設 MAC address為 11:22:33:44:55:66 ,前面三組 11:22:33 設定值由企業向 IEEE 進行申請,每個公司行號皆有固定的前三組 MAC address ,而後三組設定值 44:55:66 則根據公司生產 的 device來設定,每個 device MAC address 皆不相同,當公司生產大量 ethernet device 有可能重複,重複時在同區網可能會發生問題,此時在修改即可。
 

2.2    IP

網路 IP 全名為 Internet Protocol Address 中文為網際協定位置,當網路裝置連上網路時,便會分配到 IP ,而 IP 就像是身分證字號,確保傳送給誰與接收到誰的資料,目前大都使用 Ivp4 的格式,如下圖所示

 

Ivp4 目前為 32 bit 格式,可以服務 43 億的裝置,IP 分類採用分級管理,可以從 IP 推斷大概發送裝置位址,為了未來網路裝置的上升,Ivp6 採用 128 bit 格式,可服務更多的網路裝置。

 

3.    程式碼功能描述 – Ping Request

3.1 功能概述

使用 MPC5777C EVM 普通乙太網路接口,連接電腦端,由 EVB 傳送 Ping Request 指令給電腦,再由電腦回傳回覆訊號。

 4.2 Ping Request 格式

4.2.1 ICMP 封包

ICMP 封包包含下列 5 種資料

Message Type 訊息型態 : 這裡可表達訊息型態為 Request or reply
code 編碼 : 可針對 Message Type 進一步說明
checksum 檢查碼 : 供驗證使用,確認資料無誤
Message description : 描述 data 的訊息,範例使用 Ping 功能,即會描述當前 ping 幾次序號
Message Data : 傳送資料

4.2.2 傳送封包

將 MAC address 、 IP 封包與 ICMP 封包組合後即可產生 Ping request 封包
下列為範例 Ping request 封包 ,提供參考

 

 

4.    程式碼功能描述 – Ping Reply

 

uint8_t eth_data_tx[74] = { 0x0C,0x9d,0x92,0x34,0x5d,0x19,0x00,0x11,0x22,0x33,0x44,0x55,0x08,0x00,0x45,

0x00,0x00,0x3C,0x19,0xf6,0x00,0x00,0x80,0x01,0x9d,0x5d,0xc0,0xa8,0x01,0x13,0xc0,
0xa8,0x01,0x0a,0x08,0x00,0x4d,0x1a,0x00,0x01,0x00,0x41,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0x75,0x76,
0x77,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69};
 
/* 192.168.1.19 IP of board */
/* 192.168.1.10 IP of PC */

4.1 功能概述

使用 MPC5777C EVM 普通乙太網路接口,連接電腦端,由電腦端 Ping MPC5777C EVM 讀取到 Ping 的指令後,回覆自身與來源的 MAC address 與 data ,回傳給電腦端,電腦端可收到 Ping 回覆內容

 

4.2 Ping reply 格式

首先確認讀取到 ICMP 封包格式為 ping request ,ICMP 封包內的 Message Type = 8

即是 ping request ,回覆時請修改為 Message Type = 0 ,即是 ping reply ,接下來將

MAC address 與 ip 互換,也就是接收與發送端位址互換,然後將 ping request data 不變傳送回去,最後加入 check sum 即可,完成 ping reply 。

 

5.    程式流程圖

 

 

5.    硬體接線圖

5.1   MPC5777C EVB 發展板內部接線圖

 

 

5.2   外部接線圖

 

 

 

6. 網路 Ping 實際操作說明
如需剩餘章節與程式碼,請在大大通留言
聯絡信箱 Michael.Gao@wpi-group.com
Thank you.

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論