基于MPSOC器件实现WiFi6模组通讯

FPGA开发圈 2022-03-17 08:20
功能模块简介

MPSOC作为ZYNQ 7000的升级版,在接口方面其性能也大大增强;在一些高速数据采集的场合PS-GTR的PCIE Root Complex功能可以方便地外接WiFi模组、NVME等外设,进行数据的传输和保存。例如使用WiFi6和MPSOC EV器件的VCU配合做无线4K编解码应用,可以做到更大的通讯容量和更低的延迟。


MPSOC全系列自带4路6 Gbps的PS-GTR,支持PCIE,SATA,USB3.0和DisplayPort四种协议,可以方便地连接各种高速外设,PS-GTR的结构如下:


PS-GTR的结构相比PL的Transceiver在PCS和PMA的基础上多了PCIE,SATA,USB3.0和DisplayPort协议的控制器,以及ICM功能,不同的协议通过ICM切换,其复用关系如下:


其中PS-PCIE可以支持Root Complex模式和End Point模式,在Lane速率上支持且支持1-4Lane的Gen1(2.5Gbps)或者Gen2(5Gbps),这里以手头的一个型号为Intel AX200的WIFI6模组为例,介绍Root Complex模式软硬件设计流程。


     

硬件模块搭建和要求

 硬件结构如下,Si5338可编程时钟作为时钟源,为PS-GTR和AX200提供100M参考时钟,Si5338的频率通过I2C配置进去,AX200通过PCIE x1连接到MPSOC的XCZU4EV器件。


关于时钟需要注意的有下面两点:


1、时钟拓扑结构

     上图比较推荐的时钟架构,Tx和Rx共用一个同源的参考时钟,即使Refclk有一定的抖动,由于时钟收发同源,Rx的CDR依然可以正常锁定。有的设计因为EMI的原因需要使用带有SSC功能的参考时钟,这种时钟架构可以满足要求。



     有的设计为了使PCIE通讯更稳定,在主板和PCIE卡上分别用了独立时钟,如上图的时钟架构,这样的设计对参考时钟的要求比较高,通常晶振或者时钟芯片会受温度、型号、批次、误差等因素的影响,如果两个参考时钟频偏过大,会造成PCIE无法锁定,两个时钟的的成本也比较高,因此不推荐这种时钟架构。这种时钟架构下,SSC功能必须关闭。


2、时钟电平


     时钟信号的电平是容易被忽略的一点,对于PS-GTR来说,只要Vpp大于250mV就可以正常工作,常见的LVDS和LVPECL电平在交流耦合的情况下都可以满足要求,但对于PCIE 卡来说要求时钟电平必须是HCSL电平,关于HCSL电平的细节,PCI Express Card ElectromechanicalSpecification上有讲,需要注意的是,HCSL必须是直流耦合,且在P和N上分别接50Ω的下拉电阻,如下图所示:


    

Vivado里面设置PS PCIe参数

1、PCIE的复位信号只能用MIO,这里用MIO31,Lane数量选x1。

   

    2、参考时钟按照硬件连接设置为RefClk0,100MHz。


   3、勾选Switch To Advanced Mode,可以看到PCIe Configuration选项,Device Port Type设置为Root Port,其他参数默认即可。


    4、再根据需要添加串口、SD卡、I2C等外设后,生成bit流,导出xsa文件。



时钟芯片Si5338配置方式

借助Clock Builder Pro工具可以快速配置Si5338的寄存器,给MGTREFCLK0的时钟配置为LVDS电平,给PCIe Slot的时钟配置为HCSL电平,时钟源都用PLL,并且关闭SSC功能,最后生成Si5338-RevB-Registers.h寄存器配置文件后寄存器信息保存在Reg_Data数组下。


    参考时钟要在系统一起来就送出,因此这里通过FSBL来初始化Si5338。在Vitis下导入Vivado下生成的xsa,创建硬件Platform工程,在FSBL文件夹里找到xfsbl_initialization.c,在这里要实现以下几个函数:

       Intiic_master_init(void) //初始化PS IIC外设

       voidsi5338_map(uint8 reg, uint8 val, uint8 num) //解析Reg_Data,写入对应寄存器

       voidclk_init(void) //初始化Si8338


    调试验证时钟正常后,在Vitis里Commet并Push,创建Patch,方便在Petalinux下调用。也可以直接在Petalinux下直接修改FSBL的源码。


      Vitis下还可以对PCIe链路状况做初步判断,在BSP里导入psu_pcie例程运行,正常情况下会提示“Link is UP”,如果提示“PHY never cames up”,需要检查MPSOC的100M参考时钟。如果PHY工作正常,提示“Link is DOWN”,则要检查链路是否有问题,PS-GTR里也集成了EyeScan功能,在Vivado里可以做误码率等测试。


Petalinux配置流程

1、配置kernel


接下来在Petalinux里创建工程,并导入xsa文件

petalinux-create --type project --templatezynqMP --name pcie_host –force

cd pcie_host/

petalinux-config --get-hw-description ../

WiFi模组正常工作需要通过PCIE加载固件,需要把固件存放在EXT4文件系统下,因此修改Root filessystem类型和挂载点。

petalinux-config

Image PackagingConfiguration

Root filesystem type (EXT4 (SD/eMMC/SATA/USB))

(/dev/mmcblk1p2) Device node of SD device

增加802.11的API和协议栈

petalinux-config -c kernel

Networkingsupport

Wireless

cfg80211 - wireless configuration API

Generic IEEE 802.11 Networking Stack(mac80211)

接下来修改kernel配置,添加iwlwifi驱动

petalinux-config -c kernel

       DeviceDrivers

Network device support

Wireless LAN

     Intel WirelessWiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)

       Intel WirelessWiFi MVM Firmware support

设置WiFi固件的加载路径

petalinux-config -c kernel

Device Drivers

Generic Driver Options

Firmware loader

(iwlwifi-cc-a0-46.ucode) Build named firmware blobs into the kernelbinary

(/lib/firmware) Firmware blobs root directory

AX200的WiFi驱动有bug,需要对源码做修改,因此修改Build tool为devtool

petalinux-config

Yocto settings

Build tool (devtool)

把kernel和fsbl源码下载到工程目录

petalinux-build -c kernel -x modify

petalinux-build -c fsbl -x modify

执行完成后pcie_host/components/yocto/workspace/sources目录下可以看到kernel源码,注释掉pcie_host/components/yocto/workspace/sources/linux-xlnx/drivers/net/wireless/intel/iwlwifi/mvm/fw.c文件这一部分:

       /*Init RSS configuration */

//    if(mvm->trans->trans_cfg->device_family >= IWL_DEVICE_FAMILY_22000) {

//           ret= iwl_configure_rxq(mvm);

//           if (ret) {

//                  IWL_ERR(mvm, "Failed toconfigure RX queues: %d\n",

//                         ret);

//                  goto error;

//           }

//    }


  

   2、修改FSBL

     在pcie_host/components/yocto/workspace/sources/fsbl/lib/sw_apps/

zynqmp_fsbl/srcxfsbl_initialization.c中加入验证好的Si5338初始化代码。

    

    3、配置Rootfs

       配置rootfs,加入pciutilsiperf3和wpa-supplicant工具,方便检查PCIE连接、配置WiFi以及测速。

      打开pcie_host/project-spec/meta-user/conf/user-rootfsconfig,在文件末尾加上

CONFIG_iperf3

petalinux-config -c rootfs

FilesystemPackages

Console

Utils

[*]Pciutils

              Network

                     wpa-supplicant

                            [*]wpa-supplicant

User Packages

[*] iperf3

   

  4、部署到SD卡

       

     执行build命令,等待编译完成。

    petalinux-build

    编译完成后执行以下命令打包

  petalinux-package --boot --format BIN--fsbl images/linux/zynqmp_fsbl.elf --u-boot images/linux/u-boot.elf --pmufwimages/linux/pmufw.elf --fpga images/linux/*.bit --force

    将image.ub boot.scr BOOT.BIN复制到SD卡分区的FAT32分区,执行以下命令 将rootfs解压到EXT4分区。

    sudo tar xvf rootfs.tar.gz  -C /media/User/fs/

   

下载Wifi模组固件以及测试结果

1、下载WiFi模组的固件

https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git


解压后把iwlwifi-cc-a0开头的文件都复制到SD卡EXT4分区的/lib/firmware下,系统启动后会在这里找到对应的固件,并加载到WiFi模组里。


开发板设置SD卡启动,启动信息里可以看到模组已经正常工作。

[   5.257568] iwlwifi 0000:01:00.0: enabling device (0000 -> 0002)

[   5.343040] iwlwifi 0000:01:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version:58.3.35.22

[   5.350406] iwlwifi 0000:01:00.0: Found debug destination: EXTERNAL_DRAM

[   5.357153] iwlwifi 0000:01:00.0: Found debug configuration: 0

[   5.385724] iwlwifi 0000:01:00.0: loaded firmware version 50.3e391d3e.0op_mode iwlmvm

[   5.438124] iwlwifi 0000:01:00.0: Detected Intel(R) Wi-Fi 6 AX200 160MHz,REV=0x340

[   5.460292] iwlwifi 0000:01:00.0: Applying debug destination EXTERNAL_DRAM

[   5.469082] iwlwifi 0000:01:00.0: Allocated 0x00400000 bytes for firmwaremonitor.


   2、执行以下命令,配置WiFi账号密码

vi /etc/wpa_supplicant.conf


WiFi配置信息如下:

ctrl_interface=/var/run/wpa_supplicant

ctrl_interface_group=0

update_config=1


network={

       ssid="TP-LINK_5G_DF52"

       psk="1234567890"

}


   3、执行以下命令打开WiFi,稍后即可连到路由器

Ifup wlan0

在局域网内一台电脑上运行.\iperf3.exe –s命令,作为测速服务器,在板上运行iperf3.exe -c 192.168.123.124,可以得到测速结果:

Connecting to host 192.168.123.124, port5201

[  4]local 192.168.123.166 port 52777 connected to 192.168.123.124 port 5201

[ ID] Interval           Transfer     Bandwidth

[ 4]   0.00-1.00   sec 55.8 MBytes   467 Mbits/sec

[ 4]   1.00-2.00   sec 54.1 MBytes   455 Mbits/sec

[ 4]   2.00-3.00   sec 52.4 MBytes   439 Mbits/sec

[ 4]   3.00-4.00   sec 53.2 MBytes   447 Mbits/sec

[ 4]   4.00-5.00   sec 48.5 MBytes   407 Mbits/sec

[ 4]   5.00-6.00   sec 53.9 MBytes   452 Mbits/sec

[ 4]   6.00-7.00   sec 52.9 MBytes   443 Mbits/sec

[ 4]   7.00-8.00   sec 50.6 MBytes   425 Mbits/sec

[ 4]   8.00-9.00   sec 50.1 MBytes   420 Mbits/sec

[ 4]   9.00-10.00  sec 52.1 MBytes   437 Mbits/sec

- - - - - - - - - - - - - - - - - - - - - -- - -

[ ID] Interval           Transfer     Bandwidth

[ 4]   0.00-10.00  sec  524 MBytes   439 Mbits/sec                  sender

[  4]   0.00-10.00 sec   524 MBytes   439 Mbits/sec                  receiver


从测试结果来看满足我们最初的想法和要求。


 如果您在对此实现方案有所疑问,欢迎联系我们来做进一步沟通和讨论:

simonyang@comtech.com.cn
charlesxu@comtech.com.cn


关注我们

FPGA开发圈 这里介绍、交流、有关FPGA开发资料(文档下载,技术解答等),提升FPGA应用能力。
评论 (0)
  • 今年全国两会期间,“体重管理”和“育儿”整体配套政策引发了持久广泛关注。从“吃”到“养”,都围绕着国人最为关心的话题:健康。大家常说“病从口入”,在吃这件事上,过去大家可能更多是为了填饱肚子,如今,消费者从挑选食材到厨电都贯彻着健康的宗旨,吃得少了更要吃得好了。这也意味着在新消费趋势下,谁能抓住众人的心头好,就能带起众人的购买欲望,才能在新一轮竞争中脱颖而出。作为家电行业的风向标,在2025年中国家电及消费电子博览会(AWE)上,这两个话题也被媒体和公众频繁提及。深耕中国厨房三十余年的苏泊尔再次
    华尔街科技眼 2025-03-22 11:42 49浏览
  • 在智慧城市领域中,当一个智慧路灯项目因信号盲区而被迫增设数百个网关时,当一个传感器网络因入网设备数量爆增而导致系统通信失效时,当一个智慧交通系统因基站故障而导致交通瘫痪时,星型网络拓扑与蜂窝网络拓扑在构建广覆盖与高节点数物联网网络时的局限性便愈发凸显,行业内亟需一种更高效、可靠与稳定的组网技术以满足构建智慧城市海量IoT网络节点的需求。星型网络的无线信号覆盖范围高度依赖网关的部署密度,同时单一网关的承载设备数量有限,难以支撑海量IoT网络节点的城市物联系统;而蜂窝网络的无线信号覆盖范围同样高度依
    华普微HOPERF 2025-03-24 17:00 101浏览
  •       知识产权保护对工程师的双向影响      正向的激励,保护了工程师的创新成果与权益,给企业带来了知识产权方面的收益,企业的创新和发明大都是工程师的劳动成果,他们的职务发明应当受到奖励和保护,是企业发展的重要源泉。专利同时也成了工程师职称评定的指标之一,专利体现了工程师的创新能力,在求职、竞聘技术岗位或参与重大项目时,专利证书能显著增强个人竞争力。专利将工程师的创意转化为受法律保护的“无形资产”,避免技术成果被他人抄袭或无偿使
    广州铁金刚 2025-03-25 11:48 33浏览
  • 人形机器人产业节奏预估:2024年原型机元年,2025年小规模量产元年。当宇树科技H1人形机器人以灵动的手部动作在春晚舞台上演创意融合舞蹈《秧Bot》,舞出"中国智造"时,电视机前十几亿观众第一次深刻意识到:那个需要仰望波士顿动力的时代正在落幕。*图源:宇树科技短短数周后,宇树G1机器人又用一段丝滑的街舞在网络收割亿级播放量,钢铁之躯跳出赛博朋克的浪漫。2月11日,宇树科技在其京东官方旗舰店上架了两款人形机器人产品,型号分别为Unitree H1和G1。2月12日,9.9万元的G1人形机器人首批
    艾迈斯欧司朗 2025-03-22 21:05 108浏览
  • 文/郭楚妤编辑/cc孙聪颖‍在人工智能与实体经济深度融合的时代浪潮中,究竟何种 AI 产品,方能切实契合用户对美好未来的向往与期待?3 月 20 日,备受全球瞩目的中国家电及消费电子博览会(AWE2025)于上海新国际博览中心盛大开幕。展会首日,长虹重磅推出首款治愈系 AI TV、客餐厅 PRO 共享空调,以及面向低空经济领域的通信模组等一系列创新产品。这一举动充分展现了长虹在家电领域全面推进 AI 化的坚定决心,以及为低空经济等新兴产业提供有力科技支撑的硬核实力 。“首发” 新品,领航用户价值
    华尔街科技眼 2025-03-21 21:13 49浏览
  • 精益管理的理念和思维是源于日本的丰田模式,虽然精益管理有很多有效而丰有智慧的思想和方法,但在欧美企业要应用精益也并不容易,始终东西方的文化、人民习性都会存在着一点差异。不过,客观来说,精益管理是其优缺点的,以下,优思学院[1]综合吉朱·安东尼(Jiju Antony)教授《中小企业精益六西格玛》一书中的研究略作说明。精益的优点以下是精益生产系统的一些优点(Schonberger,2008):1)积极的劳动力效应。精益战略往往基于员工的主动性,那些从事实际工作的员工才是改善工作的最具创造力的人员。
    优思学院 2025-03-21 15:09 28浏览
  • 文/Leon编辑/cc孙聪颖‍去年,百度公关部副总裁璩静的争议言论闹得沸沸扬扬,最终以道歉离职收场。时隔一年,百度的高管又出事了。近日,“百度副总裁谢广军女儿开盒孕妇”事件登上热搜,持续发酵,引起网友对百度数据安全性的怀疑。3月19日晚间,百度正式发布声明,表示坚决谴责窃取和公开他人隐私的网络暴力行为,同时强调,百度内部实施匿名化、假名化处理,经查验,泄露数据并非来自百度,而是海外的社工库,“当事人承认家长给她数据库”为不实信息,针对相关谣言百度已经向公安机关报案。然而,并非所有网友都对这份声明
    华尔街科技眼 2025-03-21 21:21 84浏览
  • 无论你是刚步入职场的新人,还是已经有几年经验的职场老手,培养领导力都是职业发展中一个至关重要的环节。拥有良好的领导能力不仅能让你从人群中脱颖而出,也能让你在团队中成为一个值得信赖、富有影响力的核心成员。什么是领导力?领导力并不仅仅意味着“当老板”或者“发号施令”。它更多地是一种能够影响他人、激发团队潜能,并带领大家实现目标的能力。一位优秀的领导者需要具备清晰的沟通能力、解决问题的能力,以及对人心的深刻理解。他们知道如何激励人心,如何在压力下保持冷静,并能在关键时刻做出正确的决策。如何培养领导力?
    优思学院 2025-03-23 12:24 69浏览
  • 核心板简介创龙科技 SOM-TL3562 是一款基于瑞芯微 RK3562J/RK3562 处理器设计的四核 ARM C ortex-A53 + 单核 ARM Cortex-M0 全国产工业核心板,主频高达 2.0GHz。核心板 CPU、R OM、RAM、电源、晶振等所有元器件均采用国产工业级方案,国产化率 100%。核心板通过 LCC 邮票孔 + LGA 封装连接方式引出 MAC、GMAC、PCIe 2.1、USB3.0、 CAN、UART、SPI、MIPI CSI、MIPI
    Tronlong 2025-03-24 09:59 118浏览
  • 近年来,随着半导体产业的快速发展和技术的不断迭代,物联网设备种类繁多(如智能家居、工业传感器),对算力、功耗、实时性要求差异大,单一架构无法满足所有需求。因此米尔推出MYD-YT113i开发板(基于全志T113-i)来应对这一市场需求。米尔基于全志T113-i核心板及开发板part 01  T113-i芯片及OpenAMP简介T113-i芯片简介T113-i由两颗ARM A7 、一颗C906(RISC-V)和一颗DSP(HIFI 4)组成。C906(RISC-V核)特性:主频
    米尔电子嵌入式 2025-03-21 16:28 30浏览
  • 在人工智能与物联网技术蓬勃发展的今天,语音交互已成为智能设备的重要功能。广州唯创电子推出的WT3000T8语音合成芯片凭借其高性能、低功耗和灵活的控制方式,广泛应用于智能家居、工业设备、公共服务终端等领域。本文将从功能特点、调用方法及实际应用场景入手,深入解析这款芯片的核心技术。一、WT3000T8芯片的核心功能WT3000T8是一款基于UART通信的语音合成芯片,支持中文、英文及多语种混合文本的实时合成。其核心优势包括:高兼容性:支持GB2312/GBK/BIG5/UNICODE编码,适应不同
    广州唯创电子 2025-03-24 08:42 111浏览
  • 文/Leon编辑/cc孙聪颖‍“无AI,不家电”的浪潮,正在席卷整个家电行业。中国家电及消费电子博览会(AWE2025)期间,几乎所有的企业,都展出了搭载最新AI大模型的产品,从电视、洗衣机、冰箱等黑白电,到扫地机器人、双足机器人,AI渗透率之高令人惊喜。此番景象,不仅让人思考:AI对于家电的真正意义是什么,具体体现在哪些方面?作为全球家电巨头,海信给出了颇有大智慧的答案:AI化繁为简,将复杂留给技术、把简单还给生活,是海信对于AI 家电的终极答案。在AWE上,海信发布了一系列世俱杯新品,发力家
    华尔街科技眼 2025-03-23 20:46 71浏览
  • 在智能终端设备快速普及的当下,语音交互已成为提升用户体验的关键功能。广州唯创电子推出的WT3000T8语音合成芯片,凭借其卓越的语音处理能力、灵活的控制模式及超低功耗设计,成为工业控制、商业终端、公共服务等领域的理想选择。本文将从技术特性、场景适配及成本优势三方面,解析其如何助力行业智能化转型。一、核心技术优势:精准、稳定、易集成1. 高品质语音输出,适配复杂环境音频性能:支持8kbps~320kbps宽范围比特率,兼容MP3/WAV格式,音质清晰自然,无机械感。大容量存储:内置Flash最大支
    广州唯创电子 2025-03-24 09:08 118浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦