- 博客(47)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 ADS软件(PathWave 先进设计系统软件)分享与安装
ADS软件(Advanced Design System)主要用于射频(RF)、微波(Microwave)和毫米波(Millimeter-wave)电路的设计、仿真和分析。它提供了一套强大的工具和功能,以帮助工程师进行高频电路设计,并评估其性能。ADS软件还提供了强大的电磁场仿真功能,可以对微带线、天线、射频卡口等进行精确的电磁场模拟和分析。这对于高频电路设计中的信号耦合、传输线特性和辐射效应等问题非常重要。
2024-05-05 20:02:36
7591
6
原创 从零开始摄像头驱动设计(一)_I2C框架及设备树插件应用
像我这样很多学习驱动的同学都会想一个问题:学了这个能干嘛?学了那个能干嘛?姑且找找网络上开源的项目,找找,看看,还是一脸懵。因为开源只提供源码和大致介绍下做什么和有什么。而面对于基础开发者的博客还是很少的。甚至有的博主只是放一些定义,丢几个结构体的注释就完结。我曾经就是通过查缺补漏才形成了一个完整的项目框架。借此,我打算撰写一套驱动的开发流程,从硬件调试到驱动框架搭建,到系统调用验证。因为AI的盛行,自动驾驶,人脸识别等应用都成了市场的领航者。
2024-03-31 09:52:27
2034
2
原创 高速电路设计、完整性设计推荐书籍
SI信号完整性相关书籍国内作者出的比较少,国内大多是翻译国外著作或者是直接抄袭,像于博士这本《于博士SI设计手记》在网上的口碑还是不错的,虽然其核心技术理论依然还是来至国外大牛们的著作或者论文,但于博士通过自己的实际演算,深入浅出的将各种理论概念解释的很清楚很透彻,中间还穿插着于博士自己在实际项目中对SI信号完整性实际应用的理解。信号传输如今是越来越高速,伴随着的将是更多的信号完整性的问题。这是最新的一版,技术书籍就需要看最新的,因为会有很多的技术更新和增加,时间越近的版本技术更准确,也更全面。
2024-03-28 08:48:11
2830
原创 Allegro之轻松绕等长
高速PCB设计避免不了的要绕等长,然而有时候一个单板需要绕等长的总线很多,一个一个的绕下去,除了浪费时间,还最多的是消耗自己。
2024-03-26 11:45:43
2204
原创 allegro之坚固的半孔制作
随着芯片不断的更新迭代,一浪拍死一浪。做硬件的特别头疼,核心电路或者可复用电路因为某一个板卡需要重新设计整板。很多都是做的无用功,为了更加高效的完成工作,然后摸鱼。硬件界的人才们,找到了很多方法。最多的就是应用在核心板上,比如板对板连接器、金手指等等,而还有一种也是用的最多的方式–半孔。半孔因为其成本低、不需要另选元器件以及占用空间小等优势,被设计小模块的工程师所青睐。小编近期也关注到了这一块,因为某国的各种限制,导致了主平台的不在生产,由于之前的产品都是嵌入式设计方式,几十种量产产品只能重新布板设计。
2024-03-12 09:50:05
3187
原创 ALLegro之单独设置PIN脚与覆铜连接方式
设计PCB时,有很多时候在总电源输入处需要将一部分pin脚设置为全连接,给大电流拓宽通道。然而如果往常针对同一覆铜下的同属性pin脚只能全部设置为全连接或者其他。所以,在初学者手上也出现了“投机份子”,先给全部覆铜改成统一的常规模式,比如十字连接,然后转换成静态铜皮,再将需要全连接的pin区域的覆铜挖空,再填补铜皮设置全连接后,转换为静态铜皮,然后和之前的覆铜融合一体。很是繁杂,而且后期改版很难维护。
2024-03-08 11:34:27
2383
原创 设备树插件_configfs学习笔记
在kernel目录下的Documentation/filesystems/configfs有官方说明文档configfs.txt。configfs是与sysfs功能相反的基于ram的文件系统。sysfs是基于文件系统查看内核对象,configfs是基于文件系统管理内核对象或配置项对于sysfs,一个对象是在内核中创建和删除的。内核控制着sysfs表示的生命周期,和sysfs只是一个窗口而已。而configfs配置项表示的生命周期完全由用户空间驱动,内核模块支持这样项目的必须作出响应。
2023-11-07 15:39:17
1339
原创 华秋DFM从2.1.6升级到3.x版本出现的问题
以前一直使用CAM350检查最终的gerber,后来无意中接触到了华秋DFM,使用起来简单许多,将可制造性排查的相当完整。但是前不久因为一块板卡刚出炉,需要检查DFM,于是开启了华秋,刚打开,说可以更新,还有许多新增功能,那当然是妥妥的更新了。想着应该是板卡太大原因,就等。更新后,满怀期待的打开,像往常一样的导入gerber,然后点上“一键DFM分析”按钮。根据弹窗选择IPC文件,点击“分析”,结果。于是乎,就将软件关了重来,这里还必须杀掉进程,点暂停按钮会一直卡在那。也就是必须要保存为dfm文件先。
2023-09-28 15:58:31
1243
原创 三十而立学FPGA之按键消抖
按键为何消抖,原因是当按键按下和松开时,由于弹片回弹抖动,而导致按键对应管脚误判为多次按下和松开。从以下动图对比可以看出按键消抖.avi。
2022-07-23 04:39:31
348
原创 三十而立学FPGA之数码管
数码管,一种把多个发光二极管通过简单阵列的方式组合而成的显示器件。多个二极管阴极连在一起,通过控制阳极的高低电平来控制数码管相应LED亮灭的叫做共阴,反之共阳。每个发光二极管称之为数码管的段,连在一起的阴极或阳极称之为位。十进制输入十进制转BCD模块译码模块数码管扫描模块数码管模块实现1. 十进制转BCD模块十进制(二进制)转BCD通常使用方式是移位加三的算法。具体方式如下表示(以123即8‘b01111011为例):2. 译码模块以下代码以共阳极数码管为例3. 数码管扫描模块扫描计时扫描
2022-06-12 17:29:03
252
1
原创 三十而立学FPGA之UART
三十而立学FPGA之UARTUART介绍简介 通用异步收发器(Universal Asynchronous Receiver/Transmitter),既UART时序[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-evCiHWp6-1653002427921)(uart.png)]根据时序图可以了解到:1. uart在空闲的时候是高电平2. 当突变为低电平或者有一个下降沿,则是告知接收方uart要传数据了3. 这里实现为8bit数据传输,当数据传输完成,在1
2022-05-20 07:24:01
431
原创 FPGA之ROM编程,testbench仿真后出现输出没有值的情况
在做ROM初次编程时,使用IP核,编辑了testbench后,仿真出现Q没有值得情况。最终查找发现情况。在创建IP核的时候,在最后一项中勾选了Allow In-System Memory Content…………并且设置了ID。这一项,只有在逻辑分析仪的时候,必须要勾选,否则,在In-System Memory Content Editor中无法对找到ROM,导致无法更改ROM值。...
2021-04-26 00:55:00
1497
原创 Allegro做中文丝印竟如此简单
所需软件AutoCAD(或者其他CAD软件)AbleSoftwareR2VAllegroword操作步骤新建一个Word,输入自己想做的中文丝印(字体和其大小请参照下图提供的,这是我研究了之后得出的最好的)截图,另存为bmp图片格式用AbleSoftwareR2V软件打开保存的图片矢量化图片(一定要在文字上先用鼠标拖拽一个选区)得出下图所示为了保证丝印的完整和...
2019-10-28 10:28:58
6214
原创 1. ESP开发之实体按键(KEYPAD&BUTTON)控制LVGL控件
经过以上编程后,其实LV_INDEV_TYPE_ENCODER也是很容易实现的,只要将左右旋转和按下动作对应LV_KEY_LEFT/RIGHT以及LV_KEY_ENTER,剩下的代码基本都差不多了。
2025-07-30 20:45:44
681
原创 14. ESP32开发之ST7789显示
当进入嵌入式行业开始,SPI总线是最需要且基础的知识了,它是高速全双工串行总线,可做到同时收发数据。时序和控制根据各家的芯片或者屏幕等设备的数据手册进行阅读和进行编程,比如总线模式就有四种,通过寄存器CPOL和CPHA配置模式CPOLCPHA数据采样时刻适用场景000SCK下降沿,第1个跳变沿采样多数传感器(如BME280)101SCK下降沿,第2个跳变沿采样部分ADC芯片210SCK上升沿,第1个跳变沿采样特殊存储器311SCK上升沿,第2个跳变沿采样某些RF模块。
2025-06-29 19:07:13
1631
原创 13. ESP32开发之定时器中断
ESP32有一组外设–定时器组。它可以选择不同的时钟源和分配系数。该定时器应用灵活,超时报警可以自动更新计数值。一定要注意,在回调函数中不能使用ESP_LOGI或printf等打印函数,否则系统会崩溃。
2025-06-17 16:28:31
370
原创 ESP32开发之GPIO中断
在中断服务函数中不要使用ESP_LOGI或者printf等打印函数,将报错不能直接使用gpio_isr_register()函数,会报段错误,因为在注册之前需要清除中断寄存器等操作。可以通过分析gpio_install_isr_service()函数原型了解其中缘由。GPIO中断服务函数前一定要添加IRAM_ATTR关键字,表示将此函数放在内部RAM中,未添加则将放在flash中,中断触发后会反应很慢。
2025-06-12 09:57:12
541
原创 ESP32开发之WS2812B控制
仔细阅读数据手册,知道硬件电路的搭建,看懂控制外设的协议(就是时序图),匹配主控芯片可用的外设控制器,阅读官方指导文档,查看当前需要的API函数一步步填充API函数及相关结构体这样一个简单的控制程序就完成了。当然最后的结果就跟我粘贴的代码一样,都放在了main函数里了,业界称为屎山。这个时候就需要通过面向对象的编程思想以及设计模式等知识,将代码规范化、增强其可移植性等。要记住的是,只有理解了其基本的原理,才能万变不离其中。
2025-06-09 22:23:19
1505
原创 ESP32开发之LED闪烁和呼吸的实现
电路图如下:只要有硬件基础的应该都知道上图中,当GPIO4的输出电平为高时,LED灯亮,反之则熄灭。如果每间隔一段时间进行一次电平的反转,则将使LED产生闪烁的效果。从以上案例可以看出,对于通用GPIO的控制要么是高电平,要么是低电平。所以只能控制LED的闪烁现象。而对于ESP32-S3却有专用控制LED的控制器,称之LED PWM。它有8路低速通道。专用于控制LED。当然也可以产生PWM控制电机等。ESP32有两组LED PWM控制器,一组为8路高速通道,另一组为8路低速通道。
2025-06-03 22:03:00
1599
原创 ESP32开发之freeRTOS的任务通知
任务通知是直接给任务发送通知,不同于信号量、队列以及事件组,需要借助一个结构体句柄作为传输信息的桥梁。所以任务通知相对而言也更加高效。简化版任务通知,属于轻量级的二值信号量和计数型信号量,但相比二值信号量和计数型信号量更高效使用专业版任务通知实现的轻量级事件组,不好做到只接受一部分事件,有一定的局限性,虽然高效。
2025-05-16 17:16:10
739
原创 ESP32开发之freeRTOS的事件组
概念:事件组就是一个整数,高8位给内核使用,其他位用来表示事件。在ESP32的IDF freeRTOS中,这个整数是32位的,低24位用来供事件组使用。举一个生活中的例子Bit0:淘宝快递到了Bit1:京东快递到了Bit2:拼多多快递到了你告诉前台:“等这三个快递都到了再通知我。”(这就像任务阻塞,等待所有 bit 都被置位)前台每收到一个快递,就设置相应的标志位。当三个快递都到了,所有位都被设置,你就被“唤醒”了。也可以换种情况,比如你说:“只要任意一个快递到了就通知我。
2025-05-12 16:00:38
437
原创 ESP32开发之freeRTOS的互斥量
在freeRTOS中,多个任务访问一块共享资源,会产生竞争现象。比如马路上只有一个很早以前的电话亭,A、B都想要打电话,然后他们就开始打架了。但是如果A先进去了然后把门锁了,B想进去打电话的话只能在外面等,必须等到A把门锁打开。为了避免死锁,在中断中不要使用互斥量如果有嵌套使用互斥量,请使用递归锁,递归的层数由queueQUEUE_TYPE_RECURSIVE_MUTEX决定虽然freeRTOS没有实现谁锁谁开,但是开发过程中还是默认这么操作了。
2025-05-08 20:53:42
489
原创 ESP32开发之freeRTOS的信号量
简而言之,就是发出通知,接收通知的任务获得通知后去干啥啥。通知有多有少。自定义通知数量的,叫计数型信号量;只有有无(即“0”,“1”)通知的,叫二进制信号量。二进制信号量可以说是计数型信号量的特殊用法。信号量相对于消息队列要简单很多,区分好应用场景。信号量只传通知,消息队列是要传整个消息结构体的。如果看源码的话,信号量的API背后用的也是队列的API。二进制信号量对后面学习互斥量给予了启发,一个任务如果take了此信号量不give,另一个任务想take会是什么结果呢?等待下一期哦。
2025-04-30 16:44:11
534
原创 ESP32开发之freeRTOS的消息队列
消息队列的使用还是相对简单的。在创建队列的时候一定要注意元素所占字节数,一般使用sizeof函数。指针变量一定要初始化,在esp32的freeRTOS系统中可以使用pvPortMalloc函数。
2025-04-29 09:04:10
538
原创 安装了windows Teminal软件,右键菜单没有选项
但是很多时候安装了并不会在右键菜单中显示此项,这样就无法随时随地打开终端工具,比较麻烦。windows Teminal,一个windows上比较好用的终端工具。可以关闭软件窗口了,然后在桌面或文件夹试试右键菜单吧。找到安装的终端软件并打开。其实,解决方式很简单。
2025-04-24 11:10:15
706
原创 ESP32开发之freeRTOS中的任务创建
任务的创建是freertos里最简单也是最基础的操作,是必要掌握的内容。从以上案例,我们也体会到了多任务好处和必要。
2025-04-20 22:07:23
1019
原创 ESP32开发之ubuntu环境搭建
这样就可以建立远程连接了,代码就可以在vscode进行查看和更改,但是我们会发现每次都需要输入密码,我们通过如下方式解决。键盘同时按下ctl+shift+p,在弹出的对话框输入如下,这样我们就可以任意查看和跳转代码位置了。按照上图依次安装如下插件。
2025-04-12 12:10:41
1386
原创 解决使用VsCode远程ssh连接虚拟机ubuntu需要重复输入密码
【代码】解决使用VsCode远程ssh连接虚拟机ubuntu需要重复输入密码。
2025-04-12 11:56:31
630
原创 爆火的DeepSeek,这些资料肯定用的上
资源链接:https://pan.quark.cn/s/ed14ab9a46e1。3个DeepSeek隐藏玩法,99%的人都不知道!【104页超详细】DeepSeek从入门到精通.pdf。DeepSeek15天指导手册一从入门到精通.pdf。DeepSeek-R1使用指南(简版).pdf。11个免费的DeepSeek网站.docx。deepseek20个提示词-1.pdf。deepseek20个提示词-2.pdf。
2025-02-11 11:27:16
271
原创 在 C 或 C++ 中遇到 `“initializer element is not constant“` 错误
对于结构体中的成员,初始化值必须是常量表达式。你可以使用const常量,或者在 C++ 中使用构造函数初始化列表来避免错误。使用宏常量也是一种解决方法。希望这些解释能帮助你解决问题!如果有其他问题,请随时问我。
2025-01-22 15:54:22
1211
原创 好书推荐-《Cadence高速电路设计:Allegro Sigrity SI-PI-EMI设计指南》高清标签
高速电路设计已是这个时代的现状。信号完整性,电源完整性以及电磁兼容将是layout工程师的必备知识。而Cadence的组件Allegro Sigrity将是layout工程师最大的助力之一
2024-03-21 08:59:35
1619
原创 I2C简单实验之LT6911UXC读取ChipID
i2c的读写最关键的就是设备地址了,驱动的框架是固定的。学习就应该在怀疑中调试,在调试中比较,在比较中得到答案。我们都是站在巨人的肩膀上的,当自己出现问题时,最好是看看巨人都是怎么做的。原文链接。
2024-03-18 10:34:07
2186
2
原创 20230412-使用STM32实现内部flash模拟U盘
工程师干了几年后,基本会有小外包的生活,算是赚外快吧,搞小钱改善伙食,嘻嘻。。。。 最近有个客户找到我,说是否通过ST的单片机搞个U盘功能,有些文件通过U盘拖拽放入的方式比较方便。当时就有点懵了,这从来没这么用过,后来查查资料,还真网上有这么玩的,所以就记录下自己的实现过程 既然要搞,一般过程都是网上找个demo,看懂了然后自己改改,我也是这么干的。。。。
2023-04-13 11:39:22
3866
5
原创 使用Model integrity 选择一个IOCell查看view curve报错
原因分析:此IBIS模型所在目录路径有中文文件名,导致错误,路径必须都是英文并且不能有空格。
2021-04-21 14:25:00
399
原创 FPGA学习之串口发送程序设计(来自小梅哥的教程学习者)
1. UART说明可参考维基百科的文档:https://zh.wikipedia.org/wiki/UART2. 实现逻辑图示3. 程序实现module UART_TX(rst_n,clk,send_en,baud_set,data_in,data_tx,flag,state); input rst_n; input clk; input send_en; inp...
2021-04-20 17:26:00
984
原创 高速PCB布线
信号线布线基本准则合理选择层数减少高速元器件引脚间引线的弯折缩短高频电路元器件引脚间的引线减少引线层间交替对重要信号和局部单元实施包地措施所有信号布线不能形成环路,也不能形成电流环路每个集成块附近设置一个高频去耦电容底线设计单点接地和多点接地的选择数模分开尽量加粗地线接地线构成闭环布线后信号完整性仿真意义一般根据规则很难保住信号完整性。 元器件模型和PCB制造参数的精确性是决定仿真结果的主要因素...
2019-10-15 12:44:00
137
电子电路分析与设计 数字电子技术 ((美)尼曼(Donald A. Neamen), 尼曼 (Neaman, Donald A.))
2025-01-08
v4l2学习资料整理合集
2023-02-01
hyperlynx仿真书籍 kindle
2018-11-21
嵌入式系统可靠性设计技术及案例解析
2018-01-24
Cadence印刷电路板设计 Allegro PCB Editor设计指南 (2)
2018-01-24
allegro解决大鼠标拖影问题
2018-11-13
RS485无法达到负逻辑,有谁遇到过
2019-05-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅