AG32 MCU+FPGA 使用感受

前言:

        笔者35+了,10多年前开始玩单片机/FPGA啥的,从现在回想过去,眼下真的是我们国家微电子发展的好时候。各种各样的国产单片机,FPGA啥的,想想本科的时候用的Freescale,后来用的STM32,真的感叹国家发展的很快,虽然差距还存在。

        在找国产FPGA玩的过程中发现了AGM AG32系列的RISCV + FPGA的配合,断断续续把玩了两个星期,下面是使用感受和一些个人的看法。

AG32简单介绍

        AG系列这个是RISCV+FPGA(2K LE,只能做简单点的逻辑)的配合方式,价格还算便宜(淘宝48PIN 7.5的样子),和某些FPGA里面内带硬核M3(高云)和或者M33(智多晶)实际上是比较像的。官方说CPU可以跑到200M。

        这种架构与市场上的单片机+FPGA分立集成的开发板比起来,最大的优势是逻辑部分可以直接连单片机的总线,AG的是AHB总线,可以通过DMA搬运数据,甚至自己就可以做DMA主机。

        芯片的RAM 128K,默认是MCU独占,但是可以划分一部分让逻辑部分通过AHB使用;FLASH的话100Pin以上1M,其他256K,但是后100K是用来配置LOGIC的,这样看来256K还是够呛,但是实际上用到了FPGA,基本都会上100PIN吧?

        芯片只有一个PLL,这个PLL是LOGIC和MCU共用的,这样会有一个问题,这个MCU的时钟是无法动态配置的,基本就是锁定了的,功耗控制可能会是一个问题。

开发环境:

硬件方面:

        产品与GD32/STM32的PIN脚完全一致,笔者就是直接把旧的开发板换芯:

        

        买家还会推荐你买他们的下载器,基本上就是一个CMSIS-DAP + altera usb blaster + USB串口的大杂烩,如果没有其他下载器可以买一个,实际上JLINK啥的也能用,没啥必要,最主要这块下载器板子设计的比较丑,还没有外壳。AG32系列可以用JTAG或者SW下载。

开发环境方面:

        软件是厂商自己魔改的vscode + platfromIO + sdk的方式。需要特别说明,用了他的SDK破坏platfromIO原来的工作环境,无法新建其他工程了,需要对c:\user\用户名\.platfromio 文件夹先进行备份,然后来还切换文件夹适应不同的使用环境,这个相当麻烦(毕竟没人只用你家单片机啊!),希望后续厂家改改。

        Arduino:不支持

        Micropython : 不支持。

FPGA开发:

        实际上FPGA开发,是“借用”了Altrea quartus的开发环境。先在vscode里面新建工程,配置工程里面VE文件的FPGA、MCU、芯片PIN脚之间的连接信号,然后prepare logic ,就会生成一个quartus 工程,里面已经把所有的ve文件里面的信号,以及AHB总线信号给配置好了,然后就是自己写逻辑,然后编译生成。

        之后在用厂家自己的supra软件,将东西转换一下,成为一个bin文件。

        然后用烧录器吧这个bin文件烧录到FLASH的后100K。

        “借用”这个事情不好评价啊,毕竟起步阶段,但是用下来还是熟手的。

MCU开发:

        用的是官方自己写的SDK,和STM32和GD32差不多。不过与GD32基本照抄STM32的标准外设库的行为比起来,AG家的库写的还是挺不错的,看得出在让用户简洁编程上面下了不少的功夫,基本所有外设、Freertos、usb啥都写了库。另外还有非常有参考性的MCU+FPGA联合开发的库,里面通过AHB总线直接访问、或者是转APB之后访问低速外设。

        总的来说,我觉得软件开发环境除了独占PlatfromIO之外,其他都还是不错的。

优缺点

        这款芯片的价位和功能让我非常容易想起GD32/ESP32单片机。

 STM/GD32ESP32AG32
成本4(C6t6)6.5(C3-FH4)
10(S3+8MFlash)
7.5 (48pin)
13.9(100pin)
硬件集成便捷性差(指定IO/有限REMAP)好(IO交换矩阵)好 (FPGA交换PIN)
开发环境一般(独占platfromIO)
开发难度低(micropython有手就行)高(得配置的东西很多)
支持力度高(随便百度一大堆回答)中(arduino优秀,mp一般,idf地狱)低(只能问原厂,问多几句就会问你是哪个公司的,要用多少pcs,啥时候量产...)

总结和建议:

1、东西还是不错的,不过比上手一般的单片机要难不少。

2、只用单片机,它的性价比比ESP32低,建议需要使用到FPGA等场合才使用。笔者读书时的一个项目就是用CIS扫描后做数字识别,为了满足CIS的严格时序用到了STM32 + CPLD的架构,现在可以芯片搞定。

3、如果能决定入手,因为原厂的资料比较散乱,请把原厂给你的文档全部看一遍再进行上机

4、SDK我发现还是有一些BUG的,需要有一定的动手能力才能解决,如果是初学者,劝退。

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

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

相关文章

UI 自动化中的分层设计

以前的设计 在过去 UI 自动化测试领域有一个规范的设计模式是 page object 模式。 意思是测试用例不会直接定位页面元素, 而是把每一个页面封装成一个类。 在这个类中封装页面元素。 然后测试用例调用 page 类来操作页面元素完成测试用例。如下图: 以前…

【工具变量】巡回法庭DID数据(2000-2022)(附部分stata代码)

数据来源: 时间跨度:2000-2022 数据范围:全国 数据指标: 参考刘中华和黄斯琪等学者的做法,将当年企业总部所在省份被巡回法庭覆盖赋值为1,否则为0。数据提供两个版本excel版本和dta版本,还附…

【Emgu CV教程】10.14、ConnectedComponents()函数计算连通区域

文章目录 一、概念1.什么叫图像的连通区域2.提取连通区域的函数 二、简单应用1.原始素材2.代码3.运行结果4.连通区域上色 一、概念 1.什么叫图像的连通区域 图像的连通域是指图像中具有相同像素值并且位置相邻的像素组成的区域,连通域分析是指在图像中寻找出彼此互…

云工场上市在即:资产负债比率飙升,巨额分红3000万远超净利润

《港湾商业观察》施子夫 今年5月底,冲刺港交所上市的云工场科技控股有限公司(以下简称,云工场)通过聆讯。 6月5日,云工场宣布将于2024年6月5日至6月11日进行招股,预计在6月14日上市。公司计划发售1.15亿股…

【UE5.1 角色练习】11-坐骑——Part1(控制大象移动)

前言 在上一篇(【UE5.1 角色练习】10-物体抬升、抛出技能 - part2)基础上创建一个新的大象坐骑角色,并实现控制该角色行走的功能。 效果 步骤 1. 在商城中下载“African Animal Pack”资产和“ANIMAL VARIETY PACK”资产导入工程中 2. 复…

【deepin 邀您体验】玲珑 10 分钟快速构建指南!

玲珑 作为一种新型的独立包管理工具集,玲珑主要提供分层与隔离的运行环境,解决传统包管理系统强依赖导致的兼容性问题,以及权限松散导致的安全问题。当前,玲珑已支持 4 个发行版,包括 deepin、统信 UOS 以及 Debian 和…

golang 中的复合类型

前言 所有的api文档都可以使用bash命令 go doc 查看文档的帮助信息 从 Go 1.13 开始,godoc 不再随 Go 发行版一起安装,你需要单独安装它。 需要单独安装 1. go install golang.org/x/tools/cmd/godoclatest 2执行命令 godoc -http:1111 打开浏览器 http:…

java之基础2笔记

1 类型转换 1.1 自动类型转换(隐式类型转换) 从小的数据类型到大的数据类型的转换(如 int 到 long)。 从低精度的数据类型到高精度的数据类型的转换(如 float 到 double)。 1.2 强制类型转换&#xff0…

儿童护眼灯哪个好?带你了解适合儿童的护眼灯款式分享

儿童护眼灯哪个好?作为我们日常生活中极为实用的小家电,为了确保使用台灯时的舒适性并且保护视力,选择一款专业的护眼台灯成为了一个明智的决定。这样的台灯能够提供更舒适、均匀的照明环境,那么到底儿童护眼灯哪个好你&#xff1…

实现手机空号过滤或手机号码有效性验证

手机空号过滤或手机号码有效性验证通常涉及使用专门的API接口来查询手机号码的状态。这些API接口通常由第三方服务提供商提供,它们会与电信运营商合作或利用自己的数据库来验证手机号码是否真实存在、是否已被分配、是否处于空号状态等。 以下是一些步骤和考虑因素…

爬虫——有道云翻译

废话不多说直接上代码 固定文本内容 import timefrom selenium import webdriver from selenium.common.exceptions import NoSuchElementException, TimeoutException from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWai…

Day 41 NGINX详解

Nginx详解 一、HTTP协议 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 1、HTTP 工作原理 HTTP协议通信流程 WEB Server&…

超维小课堂 | 6、MAVROS与机载电脑Jetson nano通信

MAVROS与机载电脑Jetson nano通信 ROS系统镜像——Jetson nano b01 4G 链接: 百度云镜像链接 链接:https://pan.baidu.com/s/1NoIEvVdsiYLPvVOWM98hjQ 提取码:cwkj 简介:MAVROS和Jetson nano通信,设置飞控参数和MAVROS文件&am…

程序猿大战Python——了解Python

了解Python 编程语言的发展 目标:了解编程语言。 我们知道,咱们的日常沟通交流使用的语言:普通话。 那什么是编程语言呢? 【官方解释】编程语言是用来定义程序的语言形式,也就是说,我们可以通过编程语言…

root账号,cmd命令行能用ssh连上服务器,但是vscode连接报错Permission denied,please try again

☆ 问题描述 但是cmd能连接上 ★ 解决方案 点击 然后add到自己的配置文件下 重新选择 这个时候就会出现刚刚添加的,点击选择 输入密码 然后就ok了 ✅ 总结 只能说:玄学!

剪画小程序:自媒体必备神器:【视频翻译】自动识别语言、翻译、配音,让外语视频秒变母语!

Hello,大家好呀!我是不会画画的小画~ 今天给大家带来一款敲实用的视频翻译工具一一 小程序【剪画】 我们有很小伙伴在学习他国语言时,最大的障碍就是语言的问题了,想要 理解其中的内容,在这之前要下很大的功夫去掌握…

创业新风口:智能售货机的崛起

随着科技的飞速发展,智能售货机已经不再是简单的自动贩卖机,它们变得更加智能、灵活,能够适应各种场景需求,从传统的饮料、零食到新鲜水果、便当、甚至是电子产品,无所不包。这种24小时无人值守的商业模式,…

居民社区团购小程序源码系统 拼团管理+团长管理功能 带完整的安装代拿代码包以及搭建教程

系统概述 居民社区团购小程序源码系统是一款专为社区团购打造的一站式解决方案。它整合了拼团管理和团长管理等核心功能,能够帮助企业和创业者快速搭建自己的社区团购平台,实现高效运营和便捷管理。 代码示例 系统特色功能 1.拼团管理:支持…

工业互联网基本概念及关键技术(295页PPT)

资料介绍: 工业互联网的核心是通过工业互联网平台把设备、生产线、工厂、供应商、产品和客户紧密地连接融合起来。这种连接能够形成跨设备、跨系统、跨厂区、跨地区的互联互通,从而提高效率,推动整个制造服务体系智能化。同时,工…

Java环境配置(超详细)

Java环境配置(超详细) 引言1、安装 JDK1.1、下载安装JDK1.2、配置环境变量:JAVA_HOME1.3、将JAVA_HOME添加到Path中 2、安装 Maven2.1、下载安装Maven2.2、配置maven的环境变量: M2_HOME2.3、将Maven变量添加到Path中 引言 Java开发环境的配…