瑞薩電子最新推出RZ/T2H工業(yè)專(zhuān)用MPU,單芯片提供強(qiáng)大應(yīng)用處理性能,多協(xié)議工業(yè)網(wǎng)絡(luò)及高達(dá)9軸高精度實(shí)時(shí)控制,支持Linux,RTOS及baremetal操作。除了強(qiáng)大CPU性能和9軸控制外設(shè)外,還提供2個(gè)PCIe Gen3通道等高速外設(shè)。本文主要介紹PCIe外設(shè)的功能、裸機(jī)下EP模式的程序開(kāi)發(fā)、以及在Linux下,如何編譯網(wǎng)卡的流程。
RZ/T2H產(chǎn)品簡(jiǎn)介
框圖
特性
CPU:Arm Quad Cortex-A55,最高工作頻率1200MHz
CPU:Arm Dual Cortex-R52,最高工作頻率1000MHz
內(nèi)存:每個(gè)R52內(nèi)核擁有576KB緊耦合內(nèi)存(帶 ECC),內(nèi)置2MB RAM(帶ECC)
三角函數(shù)加速器
3端口千兆以太網(wǎng)交換機(jī)搭載TSN和3個(gè)以太網(wǎng) GMAC
工業(yè)以太網(wǎng):EtherCAT、PROFINET RT/IRT、EtherNet/IP等。
編碼器接口:16ch(支持A-format、EnDat、BiSS、HIPERFACE DSL、FA-CODER)
多達(dá)9軸的電機(jī)控制
Octa/Quad SPI支持
ADC:12位4ch x 2個(gè)單元+6ch x 1個(gè)單元
ΔΣ I/F: 30ch
封裝:729引腳FCBGA
電壓:0.8V內(nèi)核;1.1V DDR;1.8V PLL、OSC、USB I/O;3.3V GPIO、xSPI、RMII、MII
PCIe外設(shè)介紹及開(kāi)發(fā)
1. PCIe外設(shè)的功能
RZ T2H的PCIe支持PCIe 3.0接口。如下圖所示,在RZ/T2H的開(kāi)發(fā)板中,預(yù)留了PCIe X4和X1接口
其中有兩條lane,通過(guò)撥碼盤(pán)的設(shè)置,可以讓T2H扮演RC,也可以扮演EP,也可以同時(shí)扮演RC和EP模式:
用戶可以根據(jù)使用場(chǎng)景,通過(guò)撥碼盤(pán)來(lái)配置EP和RC。
2. 作為EP的實(shí)際用例和代碼實(shí)現(xiàn)
某A客戶將RZ T2H作為EP,接入Windows。由于RZ T2H有強(qiáng)大的性能,例如4個(gè)A55的核和2個(gè)R52的核,有3個(gè)GMAC等強(qiáng)大的外設(shè)功能。所以客戶將主控制程序放在Windows端,通過(guò)PCIe與RZ T2H通信,RZ T2H作為EtherCAT主站來(lái)組建工業(yè)網(wǎng)絡(luò)。
客戶的主要業(yè)務(wù)邏輯在Windows工控機(jī)端,希望通過(guò)PCIe設(shè)備快速的組建工業(yè)以太網(wǎng)絡(luò),并希望RZ T2H不跑任何操作系統(tǒng)。根據(jù)RZ T2H的用戶數(shù)據(jù)手冊(cè),我們根據(jù)以下流程編寫(xiě)了無(wú)操作系統(tǒng)的PCIe EP程序。再加上瑞薩強(qiáng)大的FSP配置軟件,用戶可以快速的實(shí)現(xiàn)自己的業(yè)務(wù)邏輯。
以下是RZ T2H的EP初始化流程。
1)設(shè)置EP模式和Channel
因?yàn)門(mén)2H有兩個(gè)channel,每個(gè)channel可以單獨(dú)配置成EP或RC,所以根據(jù)用戶手冊(cè)可以去配置PCIE_MODE。
而對(duì)于linkmode,T2H有2lanes X 1channel或1lane X 2 channels的選項(xiàng)。對(duì)于multi-link,選擇1 lane X 2channels。Channel 0/1是相互獨(dú)立的。
2)發(fā)出reset(ARESETn)
3)釋放模塊停止?fàn)顟B(tài)
4)釋放從停止功能
5)釋放reset(RST_LOAD_B,RST_CFG_B)
6)設(shè)置PHY的參數(shù),這里用固定值
7)設(shè)置硬件寄存器組
硬件寄存器組包括PCIe的Device ID,Vendor ID,Revision ID,Class Code等。相當(dāng)于配置PCIe Type 0的64字節(jié)header。
8)允許ASPM L1的狀態(tài)轉(zhuǎn)換
9)中斷設(shè)置。以下均為常規(guī)中斷設(shè)置,直接引用即可。
10)釋放reset(RST_PS_B,RST_GP_B,RST_B,RST_OUT_B),等500us,再釋放RST_RSM_B。
對(duì)于EP的初始化流程,在以下鏈接中有更詳細(xì)的介紹。
當(dāng)以上流程完成后,再根據(jù)AXI總線配置AWBase,ADest,將PCIe的BAR基地址映射到SRAM地址。
瑞薩電子同時(shí)也基于Windows Drive Framework,開(kāi)發(fā)出了T2H的Windows端驅(qū)動(dòng)。當(dāng)該燒錄了如上固件的T2H插入PC,并裝入Windows驅(qū)動(dòng)后,會(huì)看到:
除了基于WDF的驅(qū)動(dòng)程序外,瑞薩電子還在Windows的驅(qū)動(dòng)層作了效率分析。由于Windows是非實(shí)時(shí)操作系統(tǒng),對(duì)于應(yīng)用層調(diào)用驅(qū)動(dòng)層的讀取/寫(xiě)入函數(shù),延時(shí)不可預(yù)測(cè)。所以在Windows的驅(qū)動(dòng)層做了數(shù)據(jù)的收發(fā)測(cè)試,可以達(dá)到PCIe3.0的效率。
下圖是T2H與臺(tái)式機(jī)的PCIe X1接口的連接:
同時(shí),瑞薩還提供了T2H作為RC的裸機(jī)代碼。下圖是一臺(tái)T2H作為RC,另一臺(tái)T2H作為EP的連接和通信(注意PCIe連接線的RX與TX需要交換方向)。
3. 在Linux下使用BCM5751 PCIe網(wǎng)卡的流程
本文以此PCIe網(wǎng)卡為例,實(shí)現(xiàn)T2H在Linux下使能該網(wǎng)卡。
T2H采用YOCTO構(gòu)建嵌入式Linux系統(tǒng),對(duì)于BCM5751,需要將Tigon3模塊編譯進(jìn)image。
1)通過(guò)menuconfig來(lái)built in Broadcom Tigon3 support。
其具體路徑是:
Linux Kernel Configuration
└─>Device Drivers
└─>Network device support
└─>Ethernet driver support
└─>Broadcom Tigon3 HWMON support
注意:通過(guò)MACHINE=rzt2h-dev bitbake virtual/kernel -c menuconfig打開(kāi)menuconfig
2)編譯完BSP并燒錄鏡像文件后,插入PCIe網(wǎng)卡并重啟T2H開(kāi)發(fā)板
可以看到,該P(yáng)CIe設(shè)備已經(jīng)生成了網(wǎng)絡(luò)設(shè)備。并且外設(shè)PC已可以與enp1s0進(jìn)行ping了。
-
Linux
+關(guān)注
關(guān)注
87文章
11304瀏覽量
209474 -
MPU
+關(guān)注
關(guān)注
0文章
359瀏覽量
48794 -
PCIe
+關(guān)注
關(guān)注
15文章
1239瀏覽量
82647 -
瑞薩電子
+關(guān)注
關(guān)注
37文章
2866瀏覽量
72207 -
裸機(jī)程序
+關(guān)注
關(guān)注
0文章
5瀏覽量
6989
原文標(biāo)題:RZ T2H PCIe裸機(jī)程序開(kāi)發(fā)和Linux下的配置介紹
文章出處:【微信號(hào):瑞薩MCU小百科,微信公眾號(hào):瑞薩MCU小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論