【S32K 進階之旅】 NXP S32K3 以太網 RMII 接口調試(1)

前言

        大聯大世平集團推出了一款基於 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 /李瑞潔

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

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

評論