2024年第一篇博客

       这是2024年的第一篇博客,2023年笔者经历了一连串的生活、工作、学习上的转折和调整,跌跌撞撞时光飞逝,转眼间就踏着元旦的钟声步入了2024年,前思后想、辗转反侧、犹豫再三不知道从哪里开始博客新的篇章,这个问题坦诚说笔者从元旦一直想到今天,脑子里也时不时地像放电影一样的思考了好多个博客更新方向。

       不知道从哪里开始那就从老地方出发,还是围绕着这块豌豆开发板继续更新,这块板子凝聚了笔者很多心血,所以心里还是想把它做得更完整更实用,让这块开发板更贴近于实际项目,早上打开CSDN的手机APP,欣慰地发现“FPGA基础知识”专栏接近200人的关注,而“FPGA 20个例程”专栏也有接近300人的关注,在这里也谢谢大家的点赞关注。

       其实就单纯的FPGA开发而言,主流三个方向:1. 视频采集处理;2. 数字信号计算;3. 高速接口设计,笔者打算先更新前两个方向,所以也买了两个高端的摄像头模组和一个AD9220 ADC采集模块,后续笔者也会动手绘制一块AD9220外扩板,而高速接口设计这个方向需要留出一些时间,因为工作项目中并没有涉及所以总体来说接触比较少,想着以后多花点时间去沉淀下整理好再动笔毕竟不想水博客写些没有价值的内容。

       同时通过博客很多的私信,笔者也了解到也有很多在校本科生和研究生同学在看博客,还是就业为王的思想,如果在学校学习FPGA设计同时学有余力,个人建议可以学一些MCU和DSP开发的知识,工作几年后不难发现真实的项目往往还是MCU+FPGA,DSP+FPGA的组合形式居多,那么这时候如果能掌握一些MCU和DSP开发则对于就业来说,显然选择余地就更大了。

       MCU包括主流的ST和GD,DSP包括经典的TI C2000系列笔者会好好更新,再做几款精致的SOC外扩板插到豌豆开发板的CMOS摄像头连接器处,打造专业的MCU+FPGA和DSP+FPGA实战硬件平台,当然这里也会涉及到很多知识,而其中最主要的便是整个嵌入式软件架构可靠性的问题,笔者会围绕不同的硬件平台和实际需求,结合多年工作积累,做出一些源于真实项目的嵌入式软件架构体系。

        比如前端是一颗GD32F103带有OLED显示按键、编码器控制的显示板;一颗STM32F407带有USBTMC、CAN、RS485、LAN等多种接口的通信板;一颗TMS320F2806系列的多路ADC采集板等,那么通信接口CAN、UART、SPI、FMC、EMIF如何定义报文的收发和确认方式、系统里MCU、DSP和FPGA分别承担什么任务,怎么做好嵌入式软件规划才能让一个系统里的SOC芯片都稳定可靠地运行。

        目前打算博客主要先更新两个方向:一个是基于ADI公司的12位并行ADC的AD9220,配合豌豆开发板自带两个DAC:TLC5615、AD9708做一些数据信号处理实验,归纳总结FPGA中常用的FIR、IIR、CIC滤波器在Vivado环境下的使用细节以及一些数字通信解调技术实现方法,另一个是基于国产兆易GD32F103的开发,因为目前国产化MCU的呼声越来越大且GD32相比STM32的生态更窄、资料更少,所以在这里会做成一个GD32专栏,把通用的ADC采集、DAC输出、PWM采集输出、定时器配置、USB配置、CAN和UART配置、EEPROM存储、OLED刷屏等总结归纳起来。

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

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

相关文章

【Spark系列3】RDD源码解析实战

本文主要讲 1、什么是RDD 2、RDD是如何从数据中构建 一、什么是RDD? RDD:弹性分布式数据集,Resillient Distributed Dataset的缩写。 个人理解:RDD是一个容错的、并行的数据结构,可以让用户显式的将数据存储到磁盘…

嵌入式Linux系统引导过程中的设备驱动加载

大家好,今天给大家介绍**嵌入式Linux系统引导过程中的设备驱动加载,**文章末尾附有分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!可进群免费领取。 **在嵌入式Linux系统的引导过程中&#xff0c…

杨占华主任:冠心病,中医好还是西医好

冠心病是一种慢性疾病,治疗时间相对较长,恢复缓慢。一般来说,冠心病患者也面临着巨大的心理压力。选择中药治疗好还是西药治疗好? 冠心病的西医治疗主要包括药物治疗、冠状动脉支架植入和冠状动脉搭桥术。 中医治疗冠心病的主要方…

Open CASCADE学习|读取STEP文件并显示

STEP文件是基于ISO 10303标准创建的三维模型数据交换文件,也称为产品模型数据交换标准(Standard Exchange of Product data model)。这种文件格式旨在提供一个不依赖具体系统的中性机制,实现产品数据的交换和共享。 STEP文件是一…

OJ_键盘输入问题

题干 c语言实现 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<vector> #include<map> using namespace std;int main() {//记录每个字母需要花费多少时间map<char, int> inputTime {{a,1},{b,2},{c,3},{d,1},{e,2},{f,3},{g,1},{h,2…

RK3568平台开发系列讲解(Linux系统篇)中断线程化

🚀返回专栏总目录 文章目录 一、什么是中断线程化二、中断线程化接口函数三、使用案例沉淀、分享、成长,让自己和他人都能有所收获!😄 一、什么是中断线程化 在Linux中,中断线程化(Interrupt Thread)是一种处理中断的方式,它允许将中断处理程序执行的部分移动到一个单…

C51 单片机学习(二):定时器与中断系统

参考 51单片机入门教程 1. 定时器 1.1 定时器定义 51 单片机的定时器属于单片机的内部资源&#xff0c;其电路的连接和运转均在单片机内部完成 C51 单片机学习&#xff08;一&#xff09;&#xff1a;基础外设 讲的都是单片机的 IO 口控制的外设 1.2 定时器作用 用于计时系…

Java算法---递归算法基础介绍

目录 一、递归算法 二、递归算法的典型例子 &#xff08;1&#xff09;阶乘 &#xff08;2&#xff09;二分查找 &#xff08;3&#xff09;冒泡排序 &#xff08;4&#xff09;插入排序 一、递归算法 计算机科学中&#xff0c;递归是一种解决计算问题的方法。其中解决方案…

yum指令——Linux的软件包管理器

. 个人主页&#xff1a;晓风飞 专栏&#xff1a;数据结构|Linux|C语言 路漫漫其修远兮&#xff0c;吾将上下而求索 文章目录 什么是软件包yum指令1.yum 是什么&#xff1f;2.Linux系统&#xff08;Centos&#xff09;的生态 3.yum的相关操作安装卸载yum的相关操作小结 软件源安…

Python判断语句——布尔类型和比较运算符

一、引言 在Python编程语言中&#xff0c;布尔类型和比较运算符是基础而又至关重要的概念。它们是构建逻辑和决策的核心要素&#xff0c;让程序能够理解“真”与“假”、以及各种数量和值之间的关系。理解并掌握这些概念&#xff0c;对于编写高效、准确的代码至关重要。在本文…

OpenHarmony—仅允许在表达式中使用typeof运算符

规则&#xff1a;arkts-no-type-query 级别&#xff1a;错误 ArkTS仅支持在表达式中使用typeof运算符&#xff0c;不允许使用typeof作为类型。 TypeScript let n1 42; let s1 foo; console.log(typeof n1); // number console.log(typeof s1); // string let n2: typeof …

【极数系列】Flink集成DataSource读取集合数据(07)

文章目录 01 引言02 简介概述03 基于集合读取数据3.1 集合创建数据流3.2 迭代器创建数据流3.3 给定对象创建数据流3.4 迭代并行器创建数据流3.5 基于时间间隔创建数据流3.6 自定义数据流 04 源码实战demo4.1 pom.xml依赖4.2 创建集合数据流作业4.3 运行结果日志 01 引言 源码地…

基于Python 爬虫的房地产数据可视化分析与实现

摘要&#xff1a; 过去&#xff0c;不管是翻阅书籍&#xff0c;还是通过手机&#xff0c;电脑等从互联网上手动点击搜索信息&#xff0c;视野受限&#xff0c;信息面太过于狭窄&#xff0c;且数据量大而杂乱&#xff0c;爆炸式信息的更新速度是快速且不定时的。要想手动获取到海…

OpenAI、斯坦福大学提出Meta-Prompting,有效提升语言模型的性能

为了研究如何提高语言模型的性能&#xff0c;使其更充分有效地输出对于提问的回答&#xff0c;来自斯坦福和 OpenAI 的学者强强联手&#xff0c;通过提出一种名为元提示&#xff08;meta-prompting&#xff09;的方法来深入探索。元提示通过让单个语言模型&#xff08;如 GPT-4…

【JavaScript基础入门】04 JavaScript基础语法(二)

JavaScript基础语法&#xff08;二&#xff09; 目录 JavaScript基础语法&#xff08;二&#xff09;变量变量是什么声明变量变量类型动态类型注释 数字与运算符数字类型算术运算符操作运算符比较运算符逻辑运算符运算符的优先级 变量 变量是什么 在计算机中&#xff0c;数据…

练习12.6_横向射击_Python编程:从入门到实践(第3版)

编写一个游戏&#xff0c;将一艘飞船放在屏幕左侧&#xff0c;并允许玩家上下移动飞船。在玩家按空格键时&#xff0c; 让飞船发射一颗在屏幕中向右飞行的子弹&#xff0c;并在子弹从屏幕中消失后将其删除。 ship_shooting.py import pygame import sys from leftship impor…

RabbitMQ基础编程模型及详细使用

目录 RabbitMQ基础编程模型 引入依赖 创建连接&#xff0c;获取Channel 声明Exchange-可选 声明queue 声明Exchange与Queue的绑定关系-可选 Producer根据应用场景发送消息到queue Consumer消费消息 Consumer主要有两种消费方式 1、被动消费模式 2、主动消费模式 完成…

sqli-labs闯关

目录 1.安装靶场2.了解几个sql常用知识2.1联合查询union用法2.2MySQL中的通配符&#xff1a;2.3常用函数2.4数据分组 3.mysql中重要的数据库和表4.开始闯关4.1 Less-14.1.1 首先进行一次常规的注入4.1.2 深入解析 1.安装靶场 1.首先推荐使用github下载靶场源码 https://githu…

内网安全:PTH PTK PTT

目录 实验所用网络拓朴图 网络环境说明​​​​​​​ LM认证 NTLM认证 NTLM Hash Kerberos认证 TGT票据 服务票据 Windows系统密码存储 域控制器 - 用户登录 域用户 本地用户 域用户和本地管理员 用户登录 Mimikatz抓取密码来源 域内一台主机上可以得到非本地用…

js实现贪吃蛇

文章目录 实现方法_11实现效果2 实现步骤2.1 移动场地2.2 游戏难度2.3 造蛇和食物2.4 蛇的移动2.5 产生食物的随机位置 3 全部代码 实现方法_21 实现效果2实现想法2.1 蛇的存储 实现方法_1 1实现效果 2 实现步骤 html部分忽略&#xff0c;布局写的太辣眼了 2.1 移动场地 用的表…