上位机图像处理和嵌入式模块部署(f407 mcu vs h750)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        在目前工业控制上面,f103和f407是用的最多的两种stm32 mcu。前者频率低一点,功能少一点,一般用在低端的嵌入式设备上面;后者频率高一点,自带的ip多一点,一般用在工控、运控上面多一点。当然,现在随着技术的发展和需求的变化,h750系列的mcu用的也越来越多。在stm32的产品光谱里面,有f7和h7两种,通常后者更加旗舰一点,频率高一点。差不多,h7的频率会达到f7的两倍,达到480m。今天,我们就讨论下f407和h750的一些差异和共同点。

1、怎么看出来h750频率提高了

        有一个不是很准备,但是可以说明问题的代码。之前我们编写代码,实现led闪烁效果的时候,如果当时使用的delay数值是3000000,现在可能需要10000000,才能实现相同的效果。

while(1)
{
	delay(10000000);
	LED1_TOGGLE;
	delay(10000000);
	LED1_TOGGLE;
}

2、h750用的最多的三个领域

        一般来说,频率高就意味着可以做的事情比以前多了。那么,有哪些领域比较适合h750呢。其实主要就是三个领域,一个是屏幕的显示和处理,一个就是图像的处理,还有一个就是电机控制。

        处理屏幕的话,一般会多一个lcd接口,而处理图像的话,会多一个camera接口。电机的话,通常就是编码器、pwm,算法层面做的事情会多一点,硬件接口部分没有变化。

3、h750一般需要自带一个sdram

        以h750vbt6为例,它的频率是480m,flash有1m,但是ram只有128k。128k的ram空间里面,除了初始化的全局变量、未初始化的全局变量、heap、stack之外,还要留出一大部分来处理图像数据。要是图像的分辨率高一点,这个时候ram空间就不一定够了。所以,如果是使用h750来处理图像的话,一般需要额外搭一个sdram。

4、上位机配置从软件到网页

        本身f407已经可以支持udp、tcp数据处理了。和f407相比较,h750的flash更大,可以运行的代码更多,加上频率上面有了增加,所以只要有需求,完全可以在h750上面开发一个小的http server。传统的上位机配置方式,要么是串口,要么是usb,其实和它们相比较,网页配置的方式更为方便。因为在这种情况下,根本不需要编写上位机,一个web page就可以搞定。

5、高端电机控制

        传统电机的控制一般都是ti的dsp芯片来完成的。这部分随着arm高端mcu的引入,其实现在用arm mcu对电机进行控制也越来越常见了。本身h750频率高,也支持硬件浮点运算,这些都是电机控制非常看重的。

6、烧录方式

        在烧录方式上面,个人比较推荐st-link v2和j-link,前者比较便宜,后者适用范围广一点。毕竟,很多国产mcu,都是无脑支持j-link烧录的。

7、软件开发方式

        stm32h750既然是意法半导体出品的mcu,那么它和103、407的开发方式其实是差不多的。这意味着,只要我们比较了解前两者的代码逻辑,开发750基本没有什么难度。只不过,现在随着mcu的品牌越来越多,用hal开发的方式越来越得到了大家的认同。相比较之前的寄存器开发、函数库开发,大家不再需要对底层有过多深入的了解了。

8、成本方面

        目前f407和h750的价格是差不多的,只不过h750在ram上面损失一点,在flash上面多一点,另外就是频率高一点。所以如果在意产品的整体性能,用不到那么高频率的mcu,可以选择407;反之算法部分多一点,对性能有点小要求,可以考虑下h750。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

搞懂银行的各类号码 — Account Number, Routing Number 和 Swift Code

1. 前言2. 名词解释 2.1. Debit Card Number 储蓄卡卡号2.2. Account Number 账户号码2.3. Routing Number 路由号码2.4. SWIFT Code SWIFT 号码3. 查找信息 3.1. 支票3.2. 网上银行3.3. 手机银行4. SWFIT Code 4.1. 看懂 SWIFT Code4.2. 询问银行4.3. Google 大神4.4. 部分常用…

GitLab代码导出 gitlab4j-api 实现

目录 GitLab简介 GitLab 的主要特点包括: GitLab代码导出 gitlab4j-api 添加 gitlab4j-api 依赖 使用 gitlab4j-api 获取特定命名空间下的所有项目 说明 注意事项 GitLab简介 GitLab 是一个开源的代码仓库和协作平台,主要用于版本控制和源代码管理…

堆和栈(heap and stack)

1、堆:一块内存空间,可以从中分配一个小buffer,用完后再把它放回去。 2、栈:也是一块内存空间,cpu的sp寄存器指向它,它可以用于函数调用、局部变量、多任务系统里保存现场。 PUSH [r3-r6,lr]; #将r3到r6寄…

未来几年,同样的性能,推理功耗降低为现在的几万分之一,有可能吗

未来几年,同样的性能,推理功耗降低为现在的几万分之一,有可能吗 一.数据二.抓取LLM排行榜,相同的MMLU精度,模型参数量缩减倍数三.其它 有人说未来几年,推理功耗能降低为现在的几万分之一,好奇怎么能做到呢 一.数据 二.抓取LLM排行榜,相同的MMLU精度,模型参数量缩减倍数 import…

Docker Swarm集群部署管理

Docker Swarm集群管理 文章目录 Docker Swarm集群管理资源列表基础环境一、安装Docker二、部署Docker Swarm集群2.1、创建Docker Swarm集群2.2、添加Worker节点到Swarm集群2.3、查看Swarm集群中Node节点的详细状态信息 三、Docker Swarm管理3.1、案例概述3.2、Docker Swarm中的…

1035 插入与归并(测试点6)

solution 类型判断:插入排序中已排序的部分有序,未排序的和原数组元素相同;否则为归并排序测试点6:对于归并排序的子序列长度,不能简单视为前k个有序则子序列长度就是k 例如该测试用例的归并排序的子序列长度应该为2&…

C# BindingSource 未完

数据绑定导航事件数据验证自定义示例示例总结 在 C#中, BindingSource 是一个非常有用的控件,它提供了数据绑定的基础设施。 BindingSource 允许开发者将数据源(如数据库、集合、对象等)与用户界面控件(如文本框、下…

测试基础12:测试用例设计方法-边界值分析

课程大纲 1、定义 经验发现,较多的错误往往发生在输入或输出范围的边界上,因为边界值是代码判断语句的点,一般容易出问题(数值写错、多加或丢失等号、写错不等号方向…)。所以增加对取值范围的边界数据的测试&#xff…

Vue3父组件如何访问子组件属性和方法

本篇内容主要是父组件如何访问子组件的属性和方法 文章目录 子组件 //son.vue代码const list (info) >{console.log(info) }const name ref("XXXX")//子组件向父组件暴露了一个方法,然后父组件就可以去使用子组件里面的一些属性和方法了 //子组件向…

车载电子电气架构 - 智能座舱技术及功能应用

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

【Vue】请求动态渲染数据

目标 请求获取数据存入 vuex, 映射渲染 安装 axios yarn add axios准备actions 和 mutations App.vue页面中调用 action, 获取数据 验证数据是否存储成功 动态渲染 cart-item.vue

第2回 从0x7c00到0x90000

将数据段寄存器ds的值变成了0x07c0,方便了之后访问内存时利用这个段基址进行寻址,接下来,我们带着这两行代码继续往下看6行: 此时ds寄存器的值已经是0x07c0了,然后用同样的方式将es寄存器的值变成0x9000,接着又把cs寄存器的值变成256。 好的,此时ds,es,cx寄存器的值,都…

Vue学习|Vue快速入门、常用指令、生命周期、Ajax、Axios

什么是Vue? Vue 是一套前端框架,免除原生JavaScript中的DOM操作,简化书写 基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。官网:https://v2.cn.vuejs.org/ Vue快速入门 打开页面&#xff0…

vue-cli是什么?和 webpack是什么关系?

前言 Vue CLI是Vue.js项目的官方脚手架,基于Node.js与Webpack构建。安装Vue CLI前需确保Node.js已安装,随后通过npm全局安装。Vue CLI能迅速创建和管理Vue.js项目,提升开发效率。而Webpack则负责资源打包,通过配置文件管理依赖、插…

【LeetCode算法】第112题:路径总和

目录 一、题目描述 二、初次解答 三、官方解法 四、总结 一、题目描述 二、初次解答 1. 思路:二叉树先序遍历。首先访问根节点,若根节点是叶子节点并且值等于目标值,则返回true,否则递归访问左子树和右子树,只要左…

归并排序的递归与非递归实现

递归实现 归并排序有点类似于二叉树的后序遍历,是一种基于分治思想的排序算法。具体过程如下: 但要注意,在归并时要额外开辟一个与原数组同等大小的空间用来存储每次归并排序后的值,然后再拷贝到原数组中。 代码实现&#xff1a…

Java学习-JDBC(四)

连接池 现有问题 每次操作数据库都需要重新获取新连接,使用完毕后需close释放,频繁的创建和销毁造成资源浪费连接的数量无法把控,对服务器造成巨大压力 连接池 连接池是数据库连接对象的缓冲区,通过配置,由连接池负…

[word] word悬挂缩进怎么设置? #经验分享#职场发展#经验分享

word悬挂缩进怎么设置? 在编辑Word的时候上方会有个Word标尺,相信很多伙伴都没使用过。其实它隐藏着很多好用的功能,今天就给大家分享下利用这个word标尺的悬挂缩进怎么设置,一起来看看吧! 1、悬挂缩进 选中全文&…

C语言详解(文件操作)1

Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~ 💥💥个人主页:奋斗的小羊 💥💥所属专栏:C语言 🚀本系列文章为个人学习…

C++:SLT容器-->deque

C:SLT容器-->deque 1. 构造函数2. deque 赋值操作3. deque 大小操作4. deque 插入和删除5. deque 容器数据存取6. deque 排序操作 双端数组&#xff0c;可以对头部和尾部进行插入删除操作 需要导入头文件#include <deque> 1. 构造函数 deque deqT; // 默认构造函数 de…