0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RZ T2H PCIe裸机程序开发和Linux下的配置介绍

瑞萨嵌入式小百科 来源: 瑞萨MCU小百科 2024-12-18 11:14 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

瑞萨电子最新推出RZ/T2H工业专用MPU,单芯片提供强大应用处理性能,多协议工业网络及高达9轴高精度实时控制,支持LinuxRTOS及baremetal操作。除了强大CPU性能和9轴控制外设外,还提供2个PCIe Gen3通道等高速外设。本文主要介绍PCIe外设的功能、裸机下EP模式的程序开发、以及在Linux下,如何编译网卡的流程。

RZ/T2H产品简介

框图

1380a0ec-bc2c-11ef-8732-92fbcf53809c.png

特性

CPU:Arm Quad Cortex-A55,最高工作频率1200MHz

CPU:Arm Dual Cortex-R52,最高工作频率1000MHz

内存:每个R52内核拥有576KB紧耦合内存(带 ECC),内置2MB RAM(带ECC)

LPDDR4 SDRAM内存接口

三角函数加速器

3端口千兆以太网交换机搭载TSN和3个以太网 GMAC

工业以太网:EtherCAT、PROFINET RT/IRT、EtherNet/IP等。

编码器接口:16ch(支持A-format、EnDat、BiSS、HIPERFACE DSL、FA-CODER)

多达9轴的电机控制

Octa/Quad SPI支持

ADC:12位4ch x 2个单元+6ch x 1个单元

ΔΣ I/F: 30ch

封装:729引脚FCBGA

电压:0.8V内核;1.1V DDR;1.8V PLL、OSC、USB I/O;3.3V GPIO、xSPI、RMII、MII

PCIe外设介绍及开发

1. PCIe外设的功能

RZ T2H的PCIe支持PCIe 3.0接口。如下图所示,在RZ/T2H的开发板中,预留了PCIe X4和X1接口

13aaf69e-bc2c-11ef-8732-92fbcf53809c.png

其中有两条lane,通过拨码盘的设置,可以让T2H扮演RC,也可以扮演EP,也可以同时扮演RC和EP模式:

13c93bea-bc2c-11ef-8732-92fbcf53809c.png

用户可以根据使用场景,通过拨码盘来配置EP和RC。

2. 作为EP的实际用例和代码实现

某A客户将RZ T2H作为EP,接入Windows。由于RZ T2H有强大的性能,例如4个A55的核和2个R52的核,有3个GMAC等强大的外设功能。所以客户将主控制程序放在Windows端,通过PCIe与RZ T2H通信,RZ T2H作为EtherCAT主站来组建工业网络。

13e29180-bc2c-11ef-8732-92fbcf53809c.png

客户的主要业务逻辑在Windows工控机端,希望通过PCIe设备快速的组建工业以太网络,并希望RZ T2H不跑任何操作系统。根据RZ T2H的用户数据手册,我们根据以下流程编写了无操作系统的PCIe EP程序。再加上瑞萨强大的FSP配置软件,用户可以快速的实现自己的业务逻辑。

以下是RZ T2H的EP初始化流程。

1)设置EP模式和Channel

13f3778e-bc2c-11ef-8732-92fbcf53809c.png

1413d394-bc2c-11ef-8732-92fbcf53809c.png

因为T2H有两个channel,每个channel可以单独配置成EP或RC,所以根据用户手册可以去配置PCIE_MODE。

而对于linkmode,T2H有2lanes X 1channel或1lane X 2 channels的选项。对于multi-link,选择1 lane X 2channels。Channel 0/1是相互独立的。

14317840-bc2c-11ef-8732-92fbcf53809c.png

2)发出reset(ARESETn)

144d7d1a-bc2c-11ef-8732-92fbcf53809c.png

3)释放模块停止状态

1464008a-bc2c-11ef-8732-92fbcf53809c.png

4)释放从停止功能

146ef134-bc2c-11ef-8732-92fbcf53809c.png

5)释放reset(RST_LOAD_B,RST_CFG_B)

148d01e2-bc2c-11ef-8732-92fbcf53809c.png

6)设置PHY的参数,这里用固定值

14ab0a2a-bc2c-11ef-8732-92fbcf53809c.png

7)设置硬件寄存器

硬件寄存器组包括PCIe的Device ID,Vendor ID,Revision ID,Class Code等。相当于配置PCIe Type 0的64字节header。

14bfc384-bc2c-11ef-8732-92fbcf53809c.png

14dd462a-bc2c-11ef-8732-92fbcf53809c.png

8)允许ASPM L1的状态转换

14f43326-bc2c-11ef-8732-92fbcf53809c.png

9)中断设置。以下均为常规中断设置,直接引用即可。

150bddbe-bc2c-11ef-8732-92fbcf53809c.png

10)释放reset(RST_PS_B,RST_GP_B,RST_B,RST_OUT_B),等500us,再释放RST_RSM_B。

151d6476-bc2c-11ef-8732-92fbcf53809c.png

对于EP的初始化流程,在以下链接中有更详细的介绍。

当以上流程完成后,再根据AXI总线配置AWBase,ADest,将PCIe的BAR基地址映射到SRAM地址。

瑞萨电子同时也基于Windows Drive Framework,开发出了T2H的Windows端驱动。当该烧录了如上固件的T2H插入PC,并装入Windows驱动后,会看到:

1546c884-bc2c-11ef-8732-92fbcf53809c.png

除了基于WDF的驱动程序外,瑞萨电子还在Windows的驱动层作了效率分析。由于Windows是非实时操作系统,对于应用层调用驱动层的读取/写入函数,延时不可预测。所以在Windows的驱动层做了数据的收发测试,可以达到PCIe3.0的效率。

下图是T2H与台式机的PCIe X1接口的连接:

15612cd8-bc2c-11ef-8732-92fbcf53809c.png

同时,瑞萨还提供了T2H作为RC的裸机代码。下图是一台T2H作为RC,另一台T2H作为EP的连接和通信(注意PCIe连接线的RX与TX需要交换方向)。

159489f2-bc2c-11ef-8732-92fbcf53809c.png

3. 在Linux下使用BCM5751 PCIe网卡的流程

本文以此PCIe网卡为例,实现T2H在Linux下使能该网卡。

T2H采用YOCTO构建嵌入式Linux系统,对于BCM5751,需要将Tigon3模块编译进image。

1)通过menuconfig来built in Broadcom Tigon3 support。

其具体路径是:

Linux Kernel Configuration

└─>Device Drivers

└─>Network device support

└─>Ethernet driver support

└─>Broadcom Tigon3 HWMON support

15b859a4-bc2c-11ef-8732-92fbcf53809c.png

注意:通过MACHINE=rzt2h-dev bitbake virtual/kernel -c menuconfig打开menuconfig

2)编译完BSP并烧录镜像文件后,插入PCIe网卡并重启T2H开发板

15d4a5f0-bc2c-11ef-8732-92fbcf53809c.png

15e4ddf8-bc2c-11ef-8732-92fbcf53809c.png

15fd1b02-bc2c-11ef-8732-92fbcf53809c.png

可以看到,该PCIe设备已经生成了网络设备。并且外设PC已可以与enp1s0进行ping了。

161d67ae-bc2c-11ef-8732-92fbcf53809c.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217989
  • MPU
    MPU
    +关注

    关注

    0

    文章

    442

    浏览量

    51045
  • PCIe
    +关注

    关注

    16

    文章

    1422

    浏览量

    87551
  • 瑞萨电子
    +关注

    关注

    38

    文章

    2949

    浏览量

    74097
  • 裸机程序
    +关注

    关注

    0

    文章

    5

    浏览量

    7141
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    瑞萨RZ T2H更换DDR流程和工具介绍

    瑞萨RZ T2H是由2个R52核和4个A55核构成。支持LPDDR4,其传输可以达到3.2Gbps(1600 MHZ),总线宽度为32位,两个rank,最大支持64Gb容量。
    的头像 发表于 06-27 14:54 2026次阅读
    瑞萨<b class='flag-5'>RZ</b> <b class='flag-5'>T2H</b>更换DDR流程和工具<b class='flag-5'>介绍</b>

    瑞萨RZ/T2H PCIe通信的调试方法

    本文阐述了RZ/T2HPCIe外设作为EP,在Windows上做驱动开发、速率测试时,可能会遇到无法被Windows识别的问题。本文总结了一些调试方法和技巧,来排查问题原因和解决方法
    的头像 发表于 11-20 16:53 4711次阅读
    瑞萨<b class='flag-5'>RZ</b>/<b class='flag-5'>T2H</b> <b class='flag-5'>PCIe</b>通信的调试方法

    什么是裸机开发linux嵌入式开发

    裸机开发linux嵌入式开发1.裸机开发2.linux
    发表于 11-08 06:47

    ARM裸机程序Linux平台上的开发步骤

    ARM裸机程序Linux平台上的开发步骤1、编辑源文件(Source Insight、Notepade++)2、交叉编译(arm-
    发表于 12-16 08:05

    LinuxC应用程序开发

    本文介绍了在 Linux能用于 C 应用程序开发和调试的工具. 本文的主旨是介绍如何在
    发表于 05-14 10:16 4849次阅读

    Linux的平台下Mini210S裸机程序开发指南

    Linux的平台下Mini210S裸机程序开发指南
    发表于 10-29 10:52 59次下载
    <b class='flag-5'>Linux</b>的平台下Mini210S<b class='flag-5'>裸机</b><b class='flag-5'>程序</b><b class='flag-5'>开发</b>指南

    如何编写基于ARM的裸机程序和基于Linux的驱动程序

    在嵌入式开发中,ADC应用比较频繁,本文主要讲解ADC的基本原理以及如何编写基于ARM的裸机程序和基于Linux的驱动程序
    的头像 发表于 09-13 09:25 3900次阅读
    如何编写基于ARM的<b class='flag-5'>裸机</b><b class='flag-5'>程序</b>和基于<b class='flag-5'>Linux</b>的驱动<b class='flag-5'>程序</b>

    如何配置和操作Linux驱动程序开发

    本文档概述了利用Linux开发板为 Linux 内核开发驱动程序的基础知识,并简单介绍了如何
    的头像 发表于 02-15 13:36 3860次阅读
    如何<b class='flag-5'>配置</b>和操作<b class='flag-5'>Linux</b>驱动<b class='flag-5'>程序</b><b class='flag-5'>开发</b>板

    瑞萨RZ/T2H新产品量产上市

    先进高端工业专用MPU RZ/T2H于2024年11月上市,集成了强大的应用处理功能和高精度实时控制性能,高达9轴电机控制。这款产品是在现有RZ/N2L,
    的头像 发表于 12-04 15:39 1833次阅读
    瑞萨<b class='flag-5'>RZ</b>/<b class='flag-5'>T2H</b>新产品量产上市

    工业MPU新标杆,多协议工业以太网+运动控制 - 瑞萨RZ/T2H 新产品

    先进高端工业专用MPU RZ/T2H于2024年11月上市,集成了强大的应用处理功能和高精度实时控制性能,高达9轴电机控制。这款产品是在现有RZ/N2L,
    的头像 发表于 12-06 16:57 1238次阅读
    工业MPU新标杆,多协议工业以太网+运动控制 - 瑞萨<b class='flag-5'>RZ</b>/<b class='flag-5'>T2H</b> 新产品

    瑞萨电子量产高性能工业设备MPU RZ/T2H

    的使用体验。 据瑞萨电子介绍RZ/T2H在CPU软件处理性能上实现了显著提升,相比以往产品提高了20~30%。这一提升将使得RZ/T2H
    的头像 发表于 12-27 11:23 1234次阅读

    瑞萨交流日进行中,米尔演讲-RZ/T2H高性能模组赋能工业产品创新

    。米尔电子作为瑞萨的IDH生态合作伙伴发表演讲,并展出RZ/T2H的核心板开发板、技术方案等。米尔活动现场会上,米尔电子产品经理张先生发表了题为"米尔RZ/
    的头像 发表于 03-13 08:05 795次阅读
    瑞萨交流日进行中,米尔演讲-<b class='flag-5'>RZ</b>/<b class='flag-5'>T2H</b>高性能模组赋能工业产品创新

    集成应用处理功能和高精度实时控制性能的高端 MPU RZ/T2H数据手册

    RZ/T2H 是一款先进的高端微处理器 (MPU),单芯片兼具强大应用处理性能和高精度实时控制, 支持 Linux 操作。此款处理器具有工业机器人、运动控制器和可编程逻辑控制器 (PLC) 等控制器
    的头像 发表于 03-14 14:44 882次阅读
    集成应用处理功能和高精度实时控制性能的高端 MPU <b class='flag-5'>RZ</b>/<b class='flag-5'>T2H</b>数据手册

    RZ/T2H MPU数据手册和产品介绍#集成了强大的应用处理能力和精确的实时控制功能

    控制和工业以太网协议管理等复杂应用提供高级处理能力。它支持高速LPDDR4存储器,与Linux、RTOS或BareMetal软件灵活兼容,可实现多用途应用开发RZ/T2H还设
    的头像 发表于 05-21 10:24 876次阅读
    <b class='flag-5'>RZ</b>/<b class='flag-5'>T2H</b> MPU数据手册和产品<b class='flag-5'>介绍</b>#集成了强大的应用处理能力和精确的实时控制功能

    使用RZ/T2H MPU提高工业机器人性能并显著减少组件数量和开发工时的方法

    本文是瑞萨电子公司发布的白皮书,主要介绍RZ/T2H MPU在工业机器人中的应用,阐述其如何实现高性能应用处理、多轴电机控制和工业以太网功能,以提升工业机器人性能并减少组件数量和开发
    的头像 发表于 05-22 10:22 1061次阅读
    使用<b class='flag-5'>RZ</b>/<b class='flag-5'>T2H</b> MPU提高工业机器人性能并显著减少组件数量和<b class='flag-5'>开发</b>工时的方法