前言
大聯大世平集團推出了一款基於 NXP 車規級 MCU S32K344 的開發板——花名“Cavalry”,它使用 BGA257 封裝的 32 位 Arm®Cortex®-M7 S32K344 作為主控晶片,在69.6*130mm 的小體積開發板上搭載了 SBC 電源管理晶片、CAN 收發器、LIN 收發器、FLASH 存儲晶片、RMII 以太網接口等多種功能拓展,是一款適用於通用工業和汽車應用的評估板/開發板。S32K3xx 系列大部分都支持 TSN/AVB 以太網模塊,具體型號可查詢 S32K3 數據手冊,支持 MII/RMII 以太網接口,通信速度 10/100 Mbps,200Mbps(MAC 到 MAC)。
本文使用“Cavalry”開發板作為 MAC,連接到景略的車載以太網模塊 JL3101 來搭建以太網開發環境,當然,也可以使用市面上常見的工業以太網模塊(如:DP83848)。下面解析 S32K3 以太網 RMII 接口的調試過程,希望能幫助到相關的朋友,如有錯誤之處,歡迎各路大神指正。
圖 1 S32K3 MAC + JL3101/DP83848 PHY
RMII 接口定義
S32K344 開發板通過 J33 接口與 JL3101 以太網模塊對插:
圖 2 MAC to PHY 接線方式
- VDD_HV_B:以太網模塊的供電電源為 3V,連接到 S32K344 的 VDD_HV_B 電源域
- SMI:串行管理接口(Serial Management Interface),包括 MDC 和 MDIO 兩條信號線。
- MDIO:是一個半雙工雙向的串行 PHY 管理接口,用來讀寫寄存器,達到控制 PHY 行為和監控 PHY 狀態的目的。
- MDC:它為 MDIO 提供時鐘,可以實現同步/異步收發時鐘。
當 MAC 作為主機,PHY 為從機時,一個 MAC 最多連接 32 個 PHY。在寫 PHY 寄存器時,由 MAC 驅動 MDIO 向 PHY 寫入數據;當讀 PHY 寄存器時,前半段由 MAC 驅動發送寄存器地址,後半段由 PHY 驅動回復寄存器數據。
- TX_EN:發送使能信號。
- TXD[1:0]:數據發送信號,該信號是 2-bit 位寬的數據信號。
- RXD[1:0] :數據接收信號,該信號是 2-bit 位寬的數據信號。RMII 接口通過 TXD[1:0] 和 RXD[1:0] 進行數據交換,發送和接收信號與 REF_CLK(shared reference clock)同步。
- RX_ER:接收錯誤信號。該信號必須保持一個或多個周期(RX_CLK),從而向 MAC 子層指示在幀的某處檢測到錯誤。
- RX_DV:接收數據有效信號。該信號表示 PHY 當前針對 RMII 接收已恢復並解碼的半字節。
- TX_CLK:連續時鐘信號,該信號提供進行 TX 數據傳輸時的參考時序。標稱頻率為:速率 10Mbit/s 時為 5MHz;速率為 100 Mbit/s 時為 50MHz。目前 S32K344 板上由外部晶振提供 50MHz 時鐘源,實現百兆通信。
圖 3 S32K3 RMII接口線序
開發環境搭建
1. 開發工具
- Federation of Flyers
- JL3101 車載以太網模塊
- NXP S32K344 開發板——Cavalry
- 調試以太網程序,驅動以太網模塊,需要接 12V 電源和 USB 串口線
- PE-Micro 調試器
- 燒錄程序並調試,也可使用支持 S32K3 的任意調試器,如 J-link
- 100/1000BASE-T1 信號轉接器
- 千兆車載以太網 T1 轉工業網口 RJ45 連接到 PC 端,需要外接 12V 電源
圖 4 開發工具連接圖
2. 軟體開發資源列表
- 3.4_b201217_win32.x86_64.exe
- NXP S32 系列的集成開發環境 4 版本
- 4.3_D2205.zip
- 適用於 S32DS 的 S32K3 RTD 基礎開發包
- 4_2.0.0_DS_updatesite_D2204.zip
- 適用於S32DS 的 S32K3 RTD V2.0.0 標準插件包,使用 CT 配置
- zip
- FreeRTOS 實時操作系統插件包,TCP/IP 堆棧依賴於 FreeRTOS
- zip
- Lwip_S32K344 例程擴展包,附帶 TCP/IP 堆棧
3. 例程建立
網上應該有很多關於如何搭建 S32K3 開發環境的教程,沒有接觸過的小夥伴也可以參考我這篇博文“【S32K 進階之旅】S32K3 RTD MCAL 開發環境搭建(詳細教程)”的第 2.3 和3.3 小節安裝軟體包。開發環境搭建完成之後,可以在 S32DS 的“File -> New -> S32DS Project from Example”中找到 lwip_s32k344 例程,如下圖所示
圖 5 S32DS 例程路徑
圖 6 例程界面
打開例程,進入外設配置頁面,可以看到 RTD 模塊組件,如下圖所示,RTD 模塊的序號與上文“軟體開發資源列表”序號對應:
圖 7 lwip_S32K344 例程的 RTD 組件
4. Notes
- 上述插件包都是基於 S32K3 RTD 2.0.0 版本,通過插件包的 Release Notes 可以查詢各版本對應關係
- 請按照列表編號依次安裝,否則可能會找不到 lwip_s32k344 例程
- 如果安裝了多個版本的 RTD 包,為了避免版本衝突,在“C:\NXP\S32DS.3.4\eclipse\mcu_data\configuration”路徑中刪除“xml”文件
- S32K3xx 微控制器的以太網 MAC 模塊的所有信號都來自 VDD_HV_B 電源域。由於板上 VDD_HV_B 接到 3V,所以以太網物理層或 MAC 接口不需要再額外做電平轉換。
小結
文中使用的開發板“Cavalry”現已上架大大購,鏈接如下:DVK2305- CAVALRY S32K344產品詳情_大大購 (wpgdadago.com)
到這一步 S32K3 車載以太網開發環境已經搭建完成,下節開始講解軟體調試步驟,敬請關注本章更新。獲取更多資訊,或進一步交流關於 S32K3 的技術問題,歡迎聯繫世平集團上海應用技術處ATU <atu.sh@wpi-group.com>。
參考文檔
[1] Automotive TCP/IP Stack User Manual. Rev. 33.0
[2] lwip_s32k344 demo guide.
歡迎在博文下方留言評論,我們會及時回復您的問題。如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com
作者:Jadyn Li /李瑞潔
評論