002-第一代硬件系统架构确立及产品选型

头图

第一代硬件系统架构确立及产品选型

文章目录

  • 第一代硬件系统架构确立及产品选型
    • 项目介绍
    • 摘要
    • 硬件架构
    • 硬件结构选型及设计
    • 单片机选型
    • 上位机选型
    • 扯点别的

关键字: QtQml信号采集机数据处理上位机

项目介绍

欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。

在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。

在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资源消耗,以确保我们的项目在各种平台和设备上都能够高效运行。

无论您是对 QML 和 C++ 开发感兴趣,还是需要我们为您构建复杂的用户界面和后端逻辑,我们都随时准备为您提供支持。请随时联系我们,让我们一同打造现代化、高性能的 QML & C++ 项目!

重要说明☝

☀该专栏更新到第三代软件开发时将转为收费专栏

摘要

作为一个软件开发人员,仅仅满足需求并实现功能是其中一部分工作,但参与整个项目并从不同的角度思考问题可以为你带来更大的乐趣和成就感。

首先,了解产品的角度能够帮助你更好地理解用户需求和目标。通过深入了解产品的用途、用户群体以及市场竞争情况,我们可以提供更有价值的建议和解决方案。能够把握用户体验、界面设计和功能交互等方面,确保软件能够满足用户期望并具备良好的可用性。

其次,从项目整体的角度思考问题能够帮助你更好地协调团队合作和项目进度。作为一个开发者,我们需要了解整个项目的架构、模块之间的依赖关系以及各个模块的功能。这样你就能够更好地评估新需求对现有系统的影响,避免出现不必要的冲突和重复工作。同时,我们也可以在团队中分享你的见解和经验,促进团队协作和知识共享。

另外,关注软件层面和系统层面的不同解法可以提升你的技术能力和创造性思维。在软件开发过程中,有时候会面临多种方案选择和技术选型的问题。通过探索不同的解决方案,你可以深入理解各种技术的优劣势,并提供更加灵活、高效的解决方案。

总之,参与整个项目并从不同角度思考问题可以让你成为一名全面发展的软件开发人员。这样的经历将使你更具价值,能够做出更好的决策,并为项目的成功作出更大的贡献。

硬件架构

image-20230630223606706

整个系统涉及到三个主要组成部分:刺激信号发出器、刺激信号接收器以及上位机解析。让我对这些组件进行进一步的描述:

刺激信号发出器:该组件负责生成并发送刺激信号,可能通过外部传感器或其他输入设备获取数据,并将其转换为相应的刺激信号。这可以包括数字/模拟转换、信号调理和输出控制等功能。

刺激信号接收器:该组件负责接收从刺激信号发出器发出的信号,并采取适当的措施作出响应。这可能涉及到信号放大、滤波、数据采集和处理等功能,以确保准确地捕捉和解释刺激信号。

上位机解析:该组件负责接收从刺激信号接收器传输的数据,并对其进行解析和处理。上位机可以是一个计算机、服务器或其他设备,它可以通过软件算法对数据进行分析、计算和可视化,以便用户理解和做出决策。

硬件结构选型及设计

对于硬件设计方面的工作,我们有专门的结构设计团队来处理,并且工业设计部分也会交给专业的外部团队。这在许多情况下是一个合理的做法,特别是对于初创公司或那些不专注于工业设计的企业来说。

将工业设计外包给专业团队可以有效地利用外部资源和专业知识,减轻内部团队的负担,让他们能够专注于产品的核心设计和开发。这样一来,我们可以确保最终产品在结构强度和人机工学方面达到要求,同时节省时间和精力。

但是,在选择外部团队时,确保他们具备相关领域的专业知识和经验非常重要。他们应该有良好的工业设计背景和成功的项目案例,以便为我们提供高质量的设计方案。此外,与外部团队建立有效的沟通和合作也是至关重要的,以确保他们能够准确理解你们的需求并按时交付设计成果。

当涉及到结构强度和人机工学时,这些是确保产品质量和用户体验的重要因素。结构强度需要考虑材料选择、模拟仿真和结构设计的合理性,以确保产品在正常使用条件下能够承受所需的力和压力。人机工学包括考虑人体工程学原理,设计符合人体工程学要求的界面、控件和外观。

最终目标是确保产品在可靠性、舒适性和用户友好性方面达到最佳水平。通过将这些方面的工作交给专业团队,我们可以获得专业水平的设计成果,并在核心设计上集中精力,从而更好地满足市场需求并提升竞争力。

单片机选型

当我们明确了单片机系统的功能要求、性能和可靠性等要求,并结合业务需求和行业内解决方案来进行选型时,选择一个在信号采集方面具有强大优势且被广泛使用的芯片是一个明智的决策。相比常见的STM32系列,这个选型可能提供更好的适应性和性能。

从信号采集的角度来看,不同的芯片可能具有不同的性能特点和特殊功能,因此找到一款在信号采集方面有优势的芯片非常重要。这样的芯片可以提供更高的精度、更快的采样率、更低的噪声水平或其他专门设计用于信号采集的功能。

同时,考虑到在行业内该芯片被广泛使用的事实,这也增加了该选型的可靠性和可行性。如果在行业中已经存在广泛采用该芯片的成功案例,那么我们选择该芯片就可以借鉴和受益于相关经验和最佳实践。这意味着开发过程中可能会有更多的资源和支持可用,并且我们可以更容易地找到相关文档、教程和社区支持。

综上所述,选择一个在信号采集方面具有优势且被行业广泛采用的芯片是明智的。这样可以确保我们的单片机系统在信号采集性能上达到要求,并利用行业内的经验和资源来提高开发效率和可靠性。最终,这将有助于满足业务需求并增强产品在市场竞争中的优势。

上位机选型

鉴于项目中存在许多不确定因素,以及成本和原型开发的目的,我们选择了使用Intel的NUC作为上位机,并基于Windows 10进行软件开发。虽然工业计算机可能更适合工业应用,但其成本较高,而且在第一代原型开发阶段,主要目标是验证基本原理,因此采用基于x86架构的Windows平台是一个合理的选择。

使用Intel的NUC作为上位机可以提供相对低廉的成本,并且具有强大的处理能力和广泛的软件支持。Windows 10作为操作系统也具有广泛的应用和开发生态系统,使得软件开发过程更加便捷和灵活。通过这样的选型,我们可以快速搭建起硬件框架,并专注于实现项目的核心功能和验证想法的可行性。

另外,为了完成整个项目的硬件框架搭建,你还需要寻找一个USB转485的辅助设备。这是为了满足项目中与485通信相关的需求。USB转485适配器可以将USB接口转换为485总线通信接口,从而方便连接与485通信相关的设备或传感器。这是一个常见的解决方案,可以帮助你们在硬件层面搭建起完整的系统。

总结而言,选用Intel的NUC作为上位机并基于Windows 10进行软件开发是一个经济高效且合理的选择,特别是在第一代原型开发阶段。使用USB转485辅助设备可以满足与485通信相关的硬件框架需求。这样的选型和配备将有助于实现项目目标,验证核心功能,并为后续开发和迭代奠定基础。

其实在上位机选型的时候,也是考虑了好多因素,供大家参考

  1. 确定系统需求:考虑到目前是原理验证阶段,所以性能上留了大量的冗余,我们选着了11代 的i3 处理器,内存 8GB,硬盘256G固态,现在没有特殊说明,应该都是固态了吧。固态的优势就不用展开讲了。
  2. 分析应用场景:同理,第一代产品,我们在只跑原理的情况下,设备运行环境是理想的室内环境,对于耐高温、防尘、防水啥的暂时都没有需求,这里NUC也满足我们的需求
  3. 硬件平台:根据系统需求,NUC 满足我们原理验证阶段的需求,在后期,我们会根据考虑平台的性能、可扩展新和兼容性等再次评估及重新选型
  4. 处理器和内存:这里选用11 代i3 其实已经留了很大冗余了,后期肯定会降,硬盘盒内存短时间不会有太多的需求,所以基本就是入门配置,8 + 256.没准后期我们会降到 4 + 128
  5. 存储:目前我们没有存储需求,最低即可满足
  6. 外围接口:同理,还是根据基本的硬件架构,确定我们上位机需要的外围接口,我们最终需要的USB接口,485接口。HDMI接口其他可以忽略
  7. 电源需求:我们的设备是有源设备,所以对于功耗目前没有明确限制,满足功能即可
  8. 安全性和可靠性:其实同样的i3 咋淘宝上可以找到一大堆厂家做,最终选用intel 还是考虑了安全性和可靠性,毕竟有的个别商家提供的电源连最基本的3C认证都没有
  9. 散热系统:电子产品就没有不发热的,所以散热系统是一个很重要的考虑因素,但是目前阶段,我们都是直接扔在外面的,所以NUC 自带的风冷系统能够满足当前的需求
  10. 性能测试和验证:这个其实是最难搞的,因为在这个阶段,我们的软件没有开始进行,所以进行性能测试基本就是凭借工程师经验了,这里也就是我们选择i3 的原因,先流出冗余,实现后再根据软件运行资源暂用情况进行更换

以上这些差不多就是我在选型中考虑的一些因素吧,希望可以对你的硬件选型有一定的帮助。

扯点别的

其实现在网上大部分的分享,基本要么是纯软件,要么就是一个简单的单片机项目啥的,但是现实中,一个项目中很能说仅有其中一个设备,尤其是现代工控医疗行业,他们既需要精准的控制,也需要高性能的运行。单片机 和高性能上位机基本在项目中都是一同出现的,他们各自发挥着自己的特长,共同是整个项目为用户提供优质的服务,他们的优缺点简单如下:

单片机的优点:

  1. 低功耗:单片机通常采用低功耗设计,适合在电池供电或需要长时间运行的嵌入式系统中使用。
  2. 高度集成:单片机集成了中央处理器、存储器和外设接口等功能模块,减少了系统的尺寸和复杂性。
  3. 成本效益:由于高度集成,单片机在成本上相对较低,适合大规模生产和成本敏感的应用。
  4. 实时性能:许多单片机具有实时性能,能够在特定时间限制内响应输入并产生输出,适用于需要快速响应和实时控制的应用。

单片机的缺点:

  1. 计算能力受限:由于单片机通常采用较低的处理能力和存储容量,对于复杂的计算任务和大规模数据处理可能表现不佳。
  2. 缺乏操作系统支持:单片机通常没有像传统操作系统那样的丰富支持和开发工具链,软件开发相对复杂。
  3. 缺乏通用性:单片机针对特定应用设计,定制化程度高,不如x86架构上位机灵活和通用。

x86架构上位机的优点:

  1. 强大的计算能力:x86架构基于主流的个人计算机体系结构,具有更高的处理能力和存储容量,适合复杂的计算任务和大规模数据处理。
  2. 丰富的操作系统支持:x86架构广泛支持各种成熟的操作系统,如Windows、Linux和macOS等,提供了丰富的开发工具和软件生态系统。
  3. 灵活性和通用性:x86架构上位机可以运行各种应用程序,从通用办公软件到复杂的图形处理和多媒体应用都可以胜任。

x86架构上位机的缺点:

  1. 高功耗:相比单片机,x86架构上位机通常需要更多的功率来运行,不太适合低功耗和移动设备。
  2. 复杂性和尺寸:x86架构上位机由多个组件构成,包括中央处理器、内存、硬盘、显示器等,通常较大且复杂,不如单片机紧凑。
  3. 成本较高:由于需要更多的硬件资源和操作系统支持,x86架构上位机的成本相对较高。

博客签名2021

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

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

相关文章

从零学习开发一个RISC-V操作系统(一)丨计算机组成原理相关知识与RISC-V指令集简介

本篇文章的内容 一、计算机组成原理的相关知识1.1 计算机的硬件组成1.2 程序的存储与执行1.3 程序语言的设计和进化1.4 存储设备的层次结构1.5 操作系统 二、RISC-V的指令集ISA简介2.1 什么是ISA2.2 复杂指令集(CISC)和精简指令集(RISC&#…

五个很实用的IDEA使用技巧

日常开发中,相信广大 Java 开发者都使用过 IntelliJ IDEA 作为开发工具,IntelliJ IDEA 是一款优秀的 Java 集成开发环境,它提供了许多强大的功能和快捷键,可以帮助开发者提高编码效率和质量。除了一些常见的技巧,如自动…

【vue3页面展示代码】展示代码codemirror插件

技术版本: vue 3.2.40、codemirror 6.0.1、less 4.1.3、vue-codemirror 6.1.1、 codemirror/lang-vue 0.1.2、codemirror/theme-one-dark 6.1.2 效果图: 1.安装插件 yarn add codemirror vue-codemirror codemirror/lang-vue codemirror/theme-one-dar…

神经网络 03(参数初始化)

一、参数初始化 对于某一个神经元来说,需要初始化的参数有两类:一类是权重W,还有一类是偏置b,偏置b初始化为0即可。而权重W的初始化比较重要,我们着重来介绍常见的初始化方式。 (1)随机初始化 …

《PostgreSQL与NoSQL:合作与竞争的关系》

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🐅🐾猫头虎建议程序员必备技术栈一览表📖: 🛠️ 全栈技术 Full Stack: &#x1f4da…

山西电力市场日前价格预测【2023-09-21】

日前价格预测 预测说明: 如上图所示,预测明日(2023-09-21)山西电力市场全天平均日前电价为345.38元/MWh。其中,最高日前电价为408.38元/MWh,预计出现在19: 00。最低日前电价为246.41元/MWh,预计…

ew三层代理使用方法

1.获得目标网络内两台主机 A、B 的权限,情况描述如下: A 主机: 目标网络的边界主机,无公网 IP,无法访问特定资源。 B 主机: 目标网络内部主机,可访问特定资源,却无…

查看docker镜像是由哪些指令创建来的

–no-trunc 是不要省略。 docker history --no-trunc kevinchina/deeplearning:sd_base_cuda116clip7 > history.txtcp -aL ~/.cache/huggingface/hub/models–Salesforce–blip-image-captioning-large/snapshots/e33defe055114d86bec9c0705b71e590cfc0694c/* ~/.cache/hu…

k8s手动下载镜像、通过容器创建镜像方法

手动下载镜像 1、首先pull镜像到本地 docker pull <镜像名称>:<标签>2、转储镜像 docker save -o /path/to/save/image.tar 3、解压 tar -xvf /path/to/save/image.tar补充 1、如果要将tar还原成镜像 docker load -i /path/to/save/image.tar或者用输入重定向…

lazada跨境电商商品数据采集

Lazada跨境电商商品数据采集可以使用以下两种方法&#xff1a; 手动采集&#xff1a;可以在Lazada网站上手动搜索商品信息&#xff0c;然后复制粘贴到Excel表格中。这种方法比较麻烦&#xff0c;需要逐个搜索和记录商品信息&#xff0c;适合采集数量较少的商品数据。使用采集软…

技术对比:Flutter vs. 传统桌面应用开发框架

在移动应用开发领域&#xff0c;Flutter已经赢得了广泛的认可和采用&#xff0c;成为了跨平台移动应用开发的瑞士军刀。然而&#xff0c;Flutter的魅力并不仅限于移动平台&#xff0c;它还可以用于开发桌面应用程序&#xff0c;为开发人员提供了一种全新的选择。本文将深入探讨…

springboot+jxls复杂excel模板导出

JXLS 是基于 Jakarta POI API 的 Excel 报表生成工具&#xff0c;可以生成精美的 Excel 格式报表。它采用标签的方式&#xff0c;类似 JSP 标签&#xff0c;写一个 Excel 模板&#xff0c;然后生成报表&#xff0c;非常灵活&#xff0c;简单&#xff01; Java 有一些用于创建 …

5G定位技术原理与应用场景

5G高精度定位服务不仅适用于应急&#xff0c;还可以支持大量的个人业务&#xff0c;包括室外和室内场景&#xff0c;可以在交通道路、隧道、地下停车场或室内环境中支持高精度定位服务。在这些区域中&#xff0c;由于卫星信号的覆盖范围较小&#xff0c;基于5G网络的高精度定位…

[NLP] LLM---<训练中文LLama2(一)>训练一个中文LLama2的步骤

一 数据集 【Awesome-Chinese-LLM中文数据集】 【awesome-instruction-dataset】【awesome-instruction-datasets】【LLaMA-Efficient-Tuning-数据集】Wiki中文百科&#xff08;25w词条&#xff09;wikipedia-cn-20230720-filteredBaiduBaiKe&#xff08;563w词条&#xff09; …

java-- 字符串+拼接详解, 性能调优 (底层原理实现)

目录 简单了解一下字符串 String类里面是如何存放字符串的? String的不可变性 字符串拼接的方法 1.使用拼接字符串 2. 使用concat 3. 使用StringBuilder 4.StringBuffer 使用字符串拼接的原理 使用concat StringBuilder 效率比较 简单了解一下字符串 字符串在java…

win10 win11 停止系统自动更新方法

目录 方法一&#xff1a;使用注册表更改 1. 进入注册表 2. 进入如下目录 3. 新建 DWOED(32-位)值 4. 双击 FlightSettingsMaxPauseDays&#xff0c;选择十进制&#xff0c;左侧输入9999 5. 开头的天数已经变为9999天 方法二&#xff1a;停止自动更新的服务 1. 查询服务…

所有人别错过!云计算真的不错,前景钱途并存!

近年来&#xff0c;中国云计算产业发展迅猛&#xff0c;保持30%以上的年均增长率&#xff0c;成为全球增速最快的市场之一&#xff0c;云计算应用领域正向制造、政务、金融、医疗、教育等企业级市场延伸拓展。目前&#xff0c;云计算应用的普及促使开源技术广受关注&#xff0c…

安装chromadb遇到的问题与python3升级

环境&#xff1a; python 3.10 &#xff0c; centos 7.x 使用 pip3 install chromadb 时&#xff0c;遇到以下问题。 问题1: gcc note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for chroma-hnswlib F…

MYSQL不常用但好用写法

ORDER BY FIELD() 自定义排序逻辑 MySql 中的排序 ORDER BY 除了可以用 ASC 和 DESC&#xff0c;还可以通过 「ORDER BY FIELD(str,str1,…)」 自定义字符串/数字来实现排序。这里用 order_diy 表举例&#xff0c;结构以及表数据展示&#xff1a; ORDER BY FIELD(str,str1,…) …

Python API教程:API入门(上)

什么是API&#xff1f; 一个API&#xff0c;或被称为应用程序接口&#xff0c;是一个服务器为你提供一个接收或发送数据的代码。API通常用来接收数据。 本文就集中焦点在此话题中。 当我们想从一个API中接收数据&#xff0c;我们需要开始请求。请求可以包含整个Web。例如&#…