复旦微ZYNQ7020全国产替代方案设计

news2025/1/19 23:28:30

现在国产化进度赶人,进口的芯片只做了个功能验证,马上就要换上国产的。国内现在已经做出来zynq的只有复旦微一家,已经在研制的有上海安路,还有成都华微(不排除深圳国威也在做,毕竟这个市场潜力很大)。

使用场景在哪里
首先明确一点,Zynq这类ARM+FPGA的异构SOC芯片绝不适用于低成本方案 ,为什么?

使用这类芯片几乎都需要配套DDR3,一片DDR3的价格大概在一百元,这还是进口的价格,国产的更贵;
只要使用DDR,就至少需要八层电路板,投一次板多少钱?2千元以上;
如果使用复旦微家的FMQL,就会捆绑销售他家的nor flash,因为别家的和他不兼容。而且这个nor flash还是军温级的,一片1千元以上(进口的仅需三十元)。
那么使用这种芯片优势在哪呢? 

ARM编译很快,FPGA编译很慢,前期一些指标急于验证的话可以使用ARM来快速验证;
ARM适合做协议层和业务层数据解析和一些逻辑控制,因为这些东西通常需要反复修改,使用ARM非常方便。可移植性也很好,意味着可以直接从旧项目上copy代码;
FPGA适合做算法和对时序有严格要求的控制,或者数据采集这种高吞吐率的工作。这种程序后期基本不需要大动;
由于是芯片级别的结合,因此ARM和FPGA之间的通信变得非常简单,直接用AXI总线就可以了,相比传统方案的电路板上走线简直是多快好省。
芯片架构有区别
不同于Xilinx的双核Cortex-A9 +  FPGA,复旦微家的设计是四核CortexA7 + FPGA。FPGA方面的架构和资源是一样的,几乎可以平行替代;ARM方面,两者都属于Armv7架构,两匹骡和四头驴的区别吧,都不算太强悍。Zynq推出的时间毕竟比较长了,在当时A9算是比较新的架构,可是复旦微的FMQL后来居上,不但未出其右,甚至还差了那么一点意思(成都华威的据说是四核A53,性能更强悍,比较期待)。

ARM体系架构图

 

至于为什么不采用和Xilinx家双核A9的架构,我猜测可能是知识产权的问题,毕竟当时Zynq是 Xilinx 和 ARM 两家共同研发的,复旦微要加ARM核必然需要ARM公司的授权,这个坎是绕不过的。

 

  Zynq 芯片架构图

ARM这块采用的架构不同,这也就带来了软件移植上的问题,Zynq使用定制的eclipse(叫做SDK)开发Arm软件,和vivado配合整个生态链比较闭环,开发人员也不需要关注太多底层的东西,例如bsp文件是如何生成的,内存是如何分配的等等。但是FMQL没有开发自家的IDE,因此使用的是IAR这个开发环境,再配合上低配版vivado软件——Procise。
 

XM_FDW_ZYNQ7020是一款基于FMQL20S400 的全国产化核心 模 块 。 该核心 模 块 将FMQL20S400 (兼容FMQL10S400)的最小系统集成在了一个 50*70mm 的核心板上,可以作为一个核心模块,进行功能性扩展,特别是用在控制领域,可以发挥其独特的优势。该款核心板的主芯片兼容XC7Z020或XC7Z010 系列 FPGA。核心板上布了 DDR3 SDRAM、EMMC、SPI FLASH、以太网 PHY 芯片等。通过两个板对板连接器实现 PL 端IO 的扩展。
FMQL20S400 是全可编程融合芯片,在单芯片内集成了具有丰富特点的四核处理器(PS)和可编程逻辑(PL),基于先进的 28nm 工艺,配合相应的开发软件,实现一体化软硬件平台,方便开发,节约生产成本。该核心模块主要用于工控信号处理、工控图像处理等场景。

原理框图

在这里插入图片描述
实物图

 在这里插入图片描述


技术指标
板载 FPGA 实时处理器:
 FPGA 型号:FMQL20S400;
 处理系统(PS):四核处理器、最高主频 1GHz;
 逻辑资源:28K,块 RAM 2.1Mb,DSP 单元 80;
 封装尺寸:FCBGA400,17*17mm,完全兼容 ZYNQ7010;

动态缓存指标:
 缓存数量:2 片 DDR3 SDRAM 颗粒;
 芯片型号:SCB13H4G160AF;
 缓存带宽:32 位数据总线,工作时钟不低于 500MHz;
 缓存容量:≥2GByte;

非易失性存储:
 QSPI FLASH:JFM25Q256,容量 256Mbit;
 EMMC: FEMDRW008G,容量 8GByte;

以太网接口:
 芯片型号:YT8531H;;
 支持 10M/100M/1000M 自适应以太网;

其他接口性能:
 晶振:PL 端支持 1 路 50MHz 时钟,PS 端支持 1 路 33.33Mhz时钟;
 板对板连接器:2 个 120Pin 位于 Bottom 层;

物理与电气特征
 板卡尺寸:50 x 70mm
 板卡供电:1A max@+12V(±5%)
 散热方式:自然风冷散热或金属导冷散热

环境特征
 工作温度:-40°~﹢85°C;
 存储温度:-55°~﹢125°C;
 工作湿度:5%~95%,非凝结

软件支持
 板级软件开发包(BSP):
 支持裸跑和 Linux 操作系统;
 支持底层接口驱动;支持外围接口扩展;
 可根据需求提供定制化算法与系统集成

信迈提供国产ZYNQ的定制化解决方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/427829.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

尚硅谷大数据技术Hadoop教程-笔记03【Hadoop-HDFS】

视频地址:尚硅谷大数据Hadoop教程(Hadoop 3.x安装搭建到集群调优) 尚硅谷大数据技术Hadoop教程-笔记01【大数据概论】尚硅谷大数据技术Hadoop教程-笔记02【Hadoop-入门】尚硅谷大数据技术Hadoop教程-笔记03【Hadoop-HDFS】尚硅谷大数据技术Ha…

代码优雅化进阶学习(三)

代码优雅化进阶学习(三) 文章目录代码优雅化进阶学习(三)需求详情难点最佳实现效果实现优点需求详情 如下图: 实现类似结构,首先按照 status 状态的值,分为全部 已实现 和 未实现;再…

Spring Cloud之一:注册与发现-Eureka工程的创建

系列目录(持续更新。。。) Spring Cloud:什么是微服务 Spring Cloud之一:注册与发现-Eureka工程的创建 Spring Cloud之二:服务提供者注册到Eureka Server Spring Cloud之三:Eureka Server添加认证 Spr…

FPGA采集AD7606数据UDP网络传输 提供工程源码和技术支持 附带上位机接收软件

目录1、前言2、我这里已有的UDP方案3、AD7606采集详解4、UDP设计方案5、AD7606 UDP传输详细设计方案UDP应用的设计思路获取FPGA网卡信息获取数据UDP发送数据组包UDP发送流程6、vivado工程详解7、上板调试验证并演示8、福利:工程代码的获取1、前言 目前网上的fpga实…

如何将音频文件转换为MP3格式?

音频文件有很多种格式,如 WAV、FLAC、AAC 等,其中 MP3 是最为常见的一种格式,因为它具有压缩比高、音质损失少、兼容性强等优点,适合在各种设备上播放。如果你想将一个音频文件转换为 MP3 格式,可以采用以下几种方法&a…

实现mini智能助理—模型训练

背景 距离上篇打带你实现自己迷你chatgpt文章,到现在已经过去快两个月。自制mini chatgpt文章一直没有更新,原因有二:1.一直在找合适体量表现不错模型 2.公司内部太卷了,没太多时间好好梳理文章。这篇文章会给大家介绍一些大模型…

踩坑:IDEA中Junit、Test模块无法使用Scanner

今天在做作业,在一个测试功能需要输入数据,于是想起了Scanner,运行之后发现控制台无法输入。 然后打开我心爱的浏览器,开始搜索,网上很多关于“IDEA中Test模块无法使用Scanner”的解决方法,基本上都是修改I…

Pandas入门实践2 -数据处理

为了准备数据进行分析,我们需要执行数据处理。在本节中,我们将学习如何清理和重新格式化数据(例如,重命名列和修复数据类型不匹配)、对其进行重构/整形,以及对其进行丰富(例如,离散化…

rebar3安装-windows篇

rebar3是erlang的包管理工具,虽然不是官方出品,但它已经成为事实上的官方包管理工具了,github地址如下: https://github.com/erlang/rebar3 已经不难看出它的地位了。 rebar官网地址是http://rebar3.org/,上面有安装…

使用Socks5代理加强爬虫的网络安全

网络爬虫是获取互联网上数据的重要手段,但也会因为访问频率过高或其他不当行为,导致被网站封禁或IP被屏蔽。此时,使用代理服务器是解决这一问题的常用方法。本文介绍了Socks5代理的使用方式,以及如何将其应用到爬虫中,…

记录:解决with invalid types() or values()...问题【亲测有效】

👨‍🎓作者:bug菌✏️博客:CSDN、掘金、infoQ、51CTO等🎉简介:CSDN博客专家,C站历届博客之星Top50,掘金/InfoQ/51CTO等社区优质创作者,全网粉丝合计10w,对一切…

红黑树(C++实现)

文章目录红黑树的概念红黑树的性质红黑树结点的定义红黑树的插入红黑树的查找红黑树的验证检测是否满足二叉搜索树检测是否满足红黑树的性质红黑树与AVL树的比较包含上述功能的红黑树代码红黑树的概念 红黑树,是一棵二叉搜索树,但在每一个结点上增加一个存储位表示结点的颜色,可…

《Netty》从零开始学netty源码(三十五)之DefaultChannelPromise

DefaultChannelPromise 在分析Unsafe或者ChannelPipeline的方法时经常出现Promise类,它用来保存channel的状态值,默认使用的是DefaultChannelPromise,接下来分析这个类。 类结构图 属性值 DefaultChannelPromise中有一个属性result&#xf…

Python之测试框架搭建【一】(毛坯框架)

前言一、框架基础(从最小步骤入手_毛坯框架) 1)首先我们自己建立一个项目,这个项目里面有testcases文件夹,testdatas文件夹2)在testdatas里面放测试数据3)建立一个main文件4)输出测试…

ASP.NET 记录 HttpRequest HttpResponse HttpServerUtility

纯属个人记录,会有错误 HttpRequest Browser是获取客户端浏览器的信息 Cookies是获取客户端的Cookies QueryString是获取客户端提交的数据 ServerVariables是获取服务器端或客户端的环境变量信息 Browser 语法格式: Request.Browser[“浏览器特性名”] 常见的特性名 名称说…

【grafana】使用多级变量解决Granfana模板变量中的大小限制

前言 最近对公司的Kafka 集群集成了 exporter prometheus granfana 服务,我们将 topic 变量抽象成模板变量,此时发现 granfana 变量有 10k 的个数限制。导致我们显示 topic 名称不全。 效果如下:全选后只有 10k 个变量。 解决 一番百度…

【Python】【进阶篇】二十二、Python爬虫的BS4解析库

目录二十二、Python爬虫的BS4解析库22.1 BS4下载安装22.2 BS4解析对象22.3 BS4常用语法1) Tag节点22.4 遍历节点22.5 find_all()与find()1) find_all()2) find()22.6 CSS选择器二十二、Python爬虫的BS4解析库 Beautiful Soup 简称 BS4(其中 4 表示版本号&#xff0…

C语言函数大全-- k 开头的函数

C语言函数大全 本篇介绍 C语言函数大全-- k 开头的函数 1. kcalloc 1.1 函数说明 函数声明函数功能void *kcalloc(size_t n, size_t size, gfp_t flags);它是 Linux 内核中的一个函数,用于在内核空间分配一块连续的指定大小的内存,它与标准库函数 ca…

RK3568平台开发系列讲解(设备驱动篇)内核空间与用户空间数据交互实验

🚀返回专栏总目录 文章目录 一、内核空间与用户空间二、用户空间和内核空间数据交换三、实验程序沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍对内核空间与用户空间的数据交换功能。 一、内核空间与用户空间 Linux 系统将可访问的内存空间分为了两个部…

指针的运算

在C语言中,指针是一个非常重要的概念。指针可以用来访问和修改内存中的数据,也可以用来进行指针的运算。在本篇博客中,我们将探讨指针的解引用、指针与整数的加减运算、同类型指针间的减法运算和指针的关系运算。 指针的解引用 在C语言中&a…