1. 概述
1.1 功能描述
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
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 種資料
code 編碼 : 可針對 Message Type 進一步說明
checksum 檢查碼 : 供驗證使用,確認資料無誤
Message description : 描述 data 的訊息,範例使用 Ping 功能,即會描述當前 ping 幾次序號
Message Data : 傳送資料
4.2.2 傳送封包
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 外部接線圖
評論