集成电路竞赛——Robei 杯之上位机

2023-12-31 15:40

本文主要是介绍集成电路竞赛——Robei 杯之上位机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#今天也是咸鱼的一天~

上一回在写UART的时候,就感觉到了一个问题,单纯的Robei EDA的仿真其实没有什么实际的应用价值,最多就是给刚刚入门 EDA的人熟悉一下这个设计和仿真流程。等到熟练运用了,设计其实可以照搬实际代码的。
另一个很头疼的问题就是,在实际的比赛过程中,保证Robei EDA 设计仿真 ——生成模块文件——导入FPGA开发环境——实现功能,这么一个流程估计是不大可能的,比较真实的过程大概是,先把代码写出来,并且实现了实物作品的功能,再把软件套在Robei 上面交作业。这个EDA 软件虽然好用是真的好用,但是在运用自如和设计习惯上,的确不太一时半会可以接受。

所以这次先放弃一下关于 EDA模块的更新,来讲一个和比赛息息相关但是和FPGA并没有什么太大问题的东西——上位机(Upper Computer)

先来说说“上位机”的定义,从概念上来说,发送命令和提供服务功能的是上位机,而接收命令个服从控制的是下位机。这里,上位机的概念很明确,高位的,掌握控制权的就是上位机。在大部分情况,上位机是PC或者主控,在上位机的界面上,能够显示各种各样的信息,来自下位机的数据信息,或者要向下位机的控制选项,以及一些数据处理的界面。

有了上位机,再来说说下位机。与上位机相对的就是下位机,接收上位机的命令,做出运行状态的改变,然后将采集到的数据返回给上位机进行处理。这里的下位机,可以是传感器,也可以是硬件单片机,也有可能是下位的电脑。上位机和下位机只是一个控制关系的约束,并不是确定的硬件名称。一个单片机可以是另一个单片机的上位机,也可以是电脑的下位机,这个关系是相对的。

在Robei 杯的比赛中,上位机很大可能就是 电脑 or 手机,因为这个非常符合 机器人 的赛题方向,机器人是一个硬件工具,在控制这个机器人的过程中,除了直接在机器人上面的控制(比如显示屏),更多是是利用无线来做一个远程的操控,比如通过 蓝牙、WIFI、ZigBee、串口 、4G、5G模组进行通信。

为什么一定会用上位机呢? 因为这样带来的可操作空间更大。假设一个机器人 or 一个数据收集仪器(以气象采集器为例),我将它放置在一个地方或者多个地方,当某些环境状况出现改变时,不可能人为的去把仪器一一进行改动,为了最大化节省人力,肯定希望从终端进行直接控制,这就是上位机出现的意义。

了解了上位机,那么接下来就简单介绍一下,各种上位机会用到的语言/软件/资料~

先来说我比较熟悉的,电脑端的上位机。

C#

这个是我2020年寒假的时候,为了准备北斗杯竞赛学习的,用C#来写窗体应用程序,和单片机利用UART来进行数据收发。(用了无线的串口收发模块)
在这里插入图片描述
C#的优点是:

  1. 有直接的串口类可以去引用,整体的设计也较容易上手。
  2. 支持各种数据库,包括Oracle,SQL Server,MySQL,Access。资料也很全
  3. 拥有众多的API可以调用,不用自己从0开始写轮子,在大部分情况下,直接调用现成的就可以完成大部分任务了。
  4. 有C语言基础的入门起来很方便,大致看一下视频教程就能依葫芦画瓢了。
    学习可以参考这个视频:杜洋工作室 上位机

应用设计环境是 :visual studio 201x

Qt

Qt 是基于C++来编程的,对于有C语言经验的人来说,上手也是非常的容易。这货还是诺基亚开发的呢,它家的手机可以拿来砸核桃。

Qt 是一个1991年由Qt Company开发的跨平台C++图形用户界面应用程序开发框架。它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器。

如何配置环境可以看这一个文章:Qt5 安装

做串口上位机可以参考这个大佬的博客:用qt编写上位机与stm32通信

学习资料可以看这个:

链接:https://pan.baidu.com/s/1pg8hv33mMnMaNJ2R1wLZUQ 
提取码:mzdg 

LabView

这也是一个很常用的上位机,但是这个稍微有点老,好的资料我一时找不到,改天在说(又乖又怂)

然后就是手机端的上位机,手机的上位机当然是一个手机的应用啦。(废话︿( ̄︶ ̄)︿)
在电脑端的上位机,所有的语言基本是编写电脑软件的,C#和Qt就是这样,手机的话,肯定就是编写手机的语言啦~
比如JavaScript~手机的上位机,大部分时候使用的是蓝牙,WIFI这样的通信协议,不过其实不用怎么担心,网上都有很全的轮子可以调用,很多卖无线模块的商家,都会配一个可以在网页上开发的控制界面,或者SDK,来方便硬件工程师开发。

这里是贴吧的一个人写的apk资料:

链接:https://pan.baidu.com/s/1UZnX46jIU1A6-0nZuCFJPg 
提取码:bypl 

这是一个蓝牙开发的app:

https://blog.csdn.net/weixin_42119432/article/details/98881378

App Inventor

我用过的唯一一个安卓app的开发软件,叫做 App Inventor,是MIT的一个非盈利性的免费的开源的安卓开发环境,但是要注意的是,这个开发环境是 图形化界面,就是你会收获一个,像三四年级小学生学编程一样的界面,不过这个也确实好用,简单快捷,蓝牙也支持。

app.gzjkw.net/login/

要在谷歌浏览器上才能正常使用,因为好像这个服务器是挂在谷歌上的。没有谷歌用360浏览器也可以。
界面比较沙雕,请做好准备~
在这里插入图片描述

Android Studio

这个才是正经的安卓开发教程。不过,其实不必执着于技术,做项目和比赛还是要看需求的,总不可能把arm当开关才叫牛逼,黑猫白猫能抓老鼠就够了。

如何安装 Android studio:
参考这篇大佬的文章:

https://www.runoob.com/android/android-studio-install.html

或者这篇,这个感觉更详细:

https://blog.csdn.net/qq_41976613/article/details/91432304

安卓入门推荐B站这个教程:

38409964

安卓蓝牙的开发学习:

https://www.bilibili.com/video/BV1MW411v7E7

eclipse

安装见这篇博客:

https://www.cnblogs.com/caijiaming/p/10837083.html

or 这篇博客

https://blog.csdn.net/qq_36554582/article/details/81835097

入门视频推荐这个:

https://www.bilibili.com/video/BV1dp411R76c

—————————————————要结束的分割线————————————————————

我自己本身只学过电脑端上位机的开发,并且也不是非常精通。这次Robei 杯的比赛,做上位机的是我的队友,我本身是负责写硬件代码的,对安卓这方面的上位机并不是非常的熟悉。

不过还是决定写一个关于上位机的啦,毕竟数据显示界面对于硬件来说还是非常重要的。
在此声明,本人菜鸡一只,所讲述的内容不保证完全正确,不要因为博客中的错误来拿刀子找我(怂炸),欢迎各位大佬的建议和指正,感激不尽啊~ 喵~ 喵呜~

——————————————————一条活蹦乱跳的分割线————————————————

关于上位机的问题,我和我的老师,和我的学姐,还有一个计软院的学姐讨论了一下。

得到了一些比较独特的感悟,对于电子类专业的学生来说,如果不是以后打算吃上位机这口饭的,就不要太深入的去研究上位机这个东西,尤其是UI界面,这个是计算机吃饭的家伙。在我写上位机出现问题的时候,去找计软院的人问,他们对于这个语言和应用程序的掌握,远远比我们这些半吊子好的不是一星半点(废话︿( ̄︶ ̄)︿),很多问题可以非常灵活的解决,而我只能在一旁干着急。

同样,市场上的上位机远比我们想象的成熟,买一个20的模块,都能给你配一个完整的上位机,自己写的,未必有多好。(老师原话)

在大多数情况下,上位机是一个调试工具,也是一个信息显示界面,我们通过上位机来检查数据的收发和处理数据,而重点不在与如何把这个数据界面显示的花里胡哨,又是图像又是地图又是什么大数据分析处理。如果专注于硬件,上位机就是一个界面,这也是为什么很多时候买模块,商家配套的上位机简直土气的要死,又难看又老气,因为对于工程师来说实用是第一位的,不是拿来大众化的控制系统,再好看也没有(有时还耗内存)。除非是,一些涉及硬件接口协议的上位机,或者这个上位机和硬件底层息息相关,不然化太多时间注重如何把上位机做的高级。

但是,话说回来,显示也是很重要的,尤其是在比赛上,对于某些作品有时候显示的重要性可能会>实物,这个是建立在数据采集相对简单,但是数据处理相对复杂的情况,这个时候对显示的界面要求高。比如天气数据(虽然气象数据采集也很复杂),假设你参加一个比赛,采集气象数据,然后做综合气象数据的处理显示,硬件用的都是模块化的电路,那么数据采集就变得相对容易,但是数据的综合处理就很复杂,要进行滤波、误差化、平滑处理、再过各种各样的算法,最后还要画图像来得到 结果。这就是一个显示重过实物硬件的例子。
不过,在一般情况下,上位机的重要性都是 <= 实物硬件的。

这篇关于集成电路竞赛——Robei 杯之上位机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/556475

相关文章

每日一题|牛客竞赛|四舍五入|字符串+贪心+模拟

每日一题|四舍五入 四舍五入 心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C++学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。 四舍五入 题目: 牛牛发明了一种新的四舍五入应用于整数,对个位四舍五入,规则如下 12345->12350 12399->12400 输入描述: 输入一个整数n(0<=n<=109 ) 输出描述: 输出一个整数

2024年AMC10美国数学竞赛倒计时两个月:吃透1250道真题和知识点(持续)

根据通知,2024年AMC10美国数学竞赛的报名还有两周,正式比赛还有两个月就要开始了。计划参赛的孩子们要记好时间,认真备考,最后冲刺再提高成绩。 那么如何备考2024年AMC10美国数学竞赛呢?做真题,吃透真题和背后的知识点是备考AMC8、AMC10有效的方法之一。通过做真题,可以帮助孩子找到真实竞赛的感觉,而且更加贴近比赛的内容,可以通过真题查漏补缺,更有针对性的补齐知识的短板。

2024 年高教社杯全国大学生数学建模竞赛题目——2024 年高教社杯全国大学生数学建模竞赛题目的求解

2024 年高教社杯全国大学生数学建模竞赛题目 (请先阅读“ 全国大学生数学建模竞赛论文格式规范 ”) 2024 年高教社杯全国大学生数学建模竞赛题目 随着城市化进程的加快、机动车的快速普及, 以及人们活动范围的不断扩大,城市道 路交通拥堵问题日渐严重,即使在一些非中心城市,道路交通拥堵问题也成为影响地方经 济发展和百姓幸福感的一个“痛点”,是相关部门的棘手难题之一。 考虑一个拥有知名景区

2024 年高教社杯全国大学生数学建模竞赛 C 题 农作物的种植策略 参考论文 无水印

持续更新中,2024年数学建模比赛思路代码论文都会发布到专栏内,只需订阅一次!  完整论文+代码+数据结果链接在文末!  订阅后可查看参考论文文件 第一问 1.1 问题重述 这个问题围绕的是华北山区的某乡村,在有限的耕地条件下,如何制定最优的农作物种植策略。乡村有 34 块露天耕地和 20 个大棚,种植条件包括粮食作物、蔬菜、水稻和食用菌。除了要考虑地块的面积、种植季节等,还要确保

kaggle竞赛宝典 | Mamba模型综述!

本文来源公众号“kaggle竞赛宝典”,仅用于学术分享,侵权删,干货满满。 原文链接:Mamba模型综述! 型语言模型(LLMs),成为深度学习的基石。尽管取得了令人瞩目的成就,Transformers仍面临固有的局限性,尤其是在推理时,由于注意力计算的平方复杂度,导致推理过程耗时较长。 最近,一种名为Mamba的新型架构应运而生,其灵感源自经典的状态空间模型,成为构建基础模型的有力替代方案

上海市计算机学会竞赛平台2024年7月月赛丙组求和问题

题目描述 给定 nn 个整数 a1,a2,…,ana1​,a2​,…,an​,请问这个序列最长有多少长的前缀,满足元素的和大于或等于 00?如果任何长度大于 00 的前缀之和都为负数,则输出 00 输入格式 第一行:单个整数表示 nn第二行:nn 个整数表示 a1,a2,…,ana1​,a2​,…,an​ 输出格式 单个整数:表示最长的前缀长度,使得前缀的和大于等于 00 数据范围

2024 年高教社杯全国大学生数学建模竞赛题目【A/B/C/D/E题】完整论文+代码+结果

编辑 2024国赛A题参考论文https://download.csdn.net/download/qq_52590045/897183672024国赛D题参考论文https://download.csdn.net/download/qq_52590045/897158482024国赛E题参考论文https://download.c

上海市计算机学会竞赛平台2024年8月月赛丙组等差数列的素性

题目描述 给定三个整数 nn,aa 与 dd,表示一个项数为 nn 的等差数列,首项为 aa,公差为 dd。 请统计,从这个等差数列中有多少数字是素数 输入格式 三个整数: nn,aa 与 dd 输出格式 单个整数:表示素数数量 数据范围 50%50% 的数据,1≤n≤10001≤n≤1000100%100% 的数据,1≤n≤100001≤n≤100001≤d≤10001≤d≤10

2024高教社杯全国大学生数学建模竞赛B题原创python代码

以下均为python代码。先给大家看看之前文章的部分思路: 接下来我们将按照题目总体分析-背景分析-各小问分析的形式来 1 总体分析 题目提供了一个电子产品生产的案例,要求参赛者建立数学模型解决企业在生产过程中的一系列决策问题。以下是对题目的总体分析: 问题一需要企业需要从供应商购买零配件,并且需要设计一个抽样检测方案,来决定是否接受供应商提供的零配件。题目要求设计一个能够尽可能减少检测次

2024 年高教社杯全国大学生数学建模竞赛题目【A/B/C/D/E题】完整论文+代码结果

2024国赛C题参考论文https://download.csdn.net/download/qq_52590045/89718370网盘链接形式,在里更新 2024国赛A题参考论文https://download.csdn.net/download/qq_52590045/89718367      网盘链接形式,在里更新