- 博客(133)
- 资源 (3)
- 收藏
- 关注
原创 什么是 GPIO 开漏输出
另一个例子是如果你需要一种简单的方法来接口使用低于MCU电源VDD电压的逻辑输入。如果你使用推挽输出,可能会在高电平状态下提供过高的电压。这种方法虽然慢,因为只有一个电阻上拉,但如果你只想要一两个1.8V输出,而其他输出为3.3V,这种方法很简单。推挽输出时,上图中的 P-MOS 和 N-MOS 配合形成高低电平,不赘述。答案是外接上拉电阻。粗看起来开漏输出好像没什么用,只能输出低电平,不能输出高电平。像I2C这样的总线需要开放漏极输出,任何设备都可以将总线拉低。开漏输出时,上图中的 P-MOS 会关闭。
2024-11-20 10:21:35
232
原创 MCU 编译结果中的 text, data, bss, dec 是什么意思?
留言:优快云 嵌入式入群,加入嵌入式技术交流群。加作者微信:jiyuyun18, 交流电子技术。
2024-11-18 10:18:57
987
原创 ZYNQ中 PL 使用 PS 端晶振实现流水灯
上图中 MIO 的序号是 [15:0] [53:16], 也就是一共有 54 个 IO。存储容量:128M*16=2048M bit = 2Gbit = 256M byte。其中的 FCLK_CLK0 是默认的 PS 给到 PL 的时钟。把自己的模块转换成 Block Design中的模块。型号是: EM6GD16EWKG-12H.可以看到默认是50M, 我们就不改了.然后一路 Next 就可以了。把自己的模块打包成 IP 核。1 设置 DDR3 的型号。其余的采用默认设置即可.
2024-09-29 10:17:59
505
原创 ST188单光束反射式红外光电传感器心率测量原理
由于脉搏跳动时,血液的体积和压力会发生变化,导致血液的透光性也随之变化。传感器中的光敏元件(如光敏三极管)会接收到反射回来的红外光,并将其转换为电信号。由于脉搏跳动引起的血液透光性变化,导致光敏元件接收到的红外光量也发生周期性变化,从而产生微弱的电脉冲信号,即脉搏信号。单片机通过检测这个信号的频率或周期,就可以计算出每分钟脉搏跳动的次数,即心率。ST188传感器测量脉搏的原理是基于红外光的反射与血液透光性的变化,通过检测反射红外光量的周期性变化来间接测量脉搏跳动,从而实现心率的实时监测。
2024-09-27 21:06:11
926
原创 碳性电池和碱性电池的区别
当电池工作时,正极的二氧化锰与负极的锌发生化学反应,产生电流。碱性电池:其工作原理与碳性电池类似,但使用了不同的电解质和反应物。碱性电池具有较低的内阻,可以提供较大的电流输出,适用于高耗电的设备。此外,它们具有更长的保质期,而且相比碳性电池来说,它们在存放期间的 漏液风险较小。碳性电池的内阻较高,因此其输出电流较小,适合用于低耗电的设备中。同样使用二氧化锰作为正极材料,但负极材料为金属锌,并且电解质是碱性的KOH溶液。碳性电池和碱性电池是两种常见的电池类型,它们在多个方面存在显著的差异。
2024-09-27 21:04:16
937
原创 【无标题】
Amaranth 是一种现代的、基于 Python 的硬件描述语言(HDL),旨在让描述和构建数字逻辑电路更加简单直观。:Amaranth 使用 Python 作为宿主语言,这意味着在设计硬件的同时可以充分利用 Python 的强大功能。:Amaranth 拥有一个不断增长的开发者社区,这些开发者贡献于其发展并提供论坛和支持文档等资源。:Amaranth 支持 FPGA 的综合,允许您设计可以在实际硬件上运行的复杂系统。如果您对使用 Amaranth 感兴趣,您可以开始安装必要的包并探索一些基本的例子。
2024-08-24 09:25:26
190
原创 Quartus 编译错误 Can‘t place multiple pins assigned to pin location
Quartus 编译错误 Can‘t place multiple pins assigned to pin location
2024-06-25 09:53:08
535
原创 简化的人体检测:一个DIY雷达控制的灯光项目
基于红外传感器(PIR)的存在检测系统虽然流行,但无法检测静止物体。本文介绍了一种DIY雷达控制的照明项目,该项目使用HLK-LD2410雷达模块,解决了PIR传感器存在的问题
2024-06-20 07:45:28
404
原创 RISC-V MCU IDE MRS(MounRiver Studio)开发 编译后打印FLASH及RAM使用占比信息
留言:优快云 嵌入式入群,加入嵌入式技术交流群。加作者微信:jiyuyun18, 交流电子技术。
2024-06-10 18:25:40
664
3
原创 VSCode iverilog GTKwave 仿真
执行:iverilog tb_full_adder.v 生成 a.out。执行:vvp a.out 生成:wave.vcd。执行:gtkwave wave.vcd 查看波形。
2024-05-20 18:56:02
353
原创 ModuleSim 仿真找不到模块 module is not defined
关闭 ModelSim , 在 Quartus 中把未定义的模块设置为顶层文件,重新编译, 重新运行仿真。
2024-05-10 14:36:06
1029
1
原创 STM32 定时器最佳分频
例如,如果时钟频率为72 MHz,您想要一个250 Hz的方波输出(50% 占空比),那么时钟周期中的总输出波形周期(周期周期)将是 72 MHz / 250 Hz = 288000 个周期。计时器的溢出值通常最多为16位(0xFFFF,即65535),预分频器必须满足预分频器 * 溢出值 >= 周期周期,而 288000.0 / 0xFFFF => 4.39459...,因此预分频器应为5。计算 PWM 的预分频器和 溢出值 的一个好方法是选择最小可能的预分频器,然后将溢出值调整到所需的总频率。
2024-05-09 14:17:02
1045
原创 固态浸压计
固态浸入式仪表比其栅极浸入式仪表对应器更通用且更易于使用。此外,固态浸入式仪表可以在更宽的频率范围内工作。- 调整天线: 通过测量天线的谐振频率,浸入式仪表可用于确保天线已调谐到所需的工作频率。- 查找短路和断路: 浸入式仪表可通过测量电路谐振频率的变化来定位电路中的短路和断路。- 匹配电路: 浸入式仪表可用于匹配天线或其他设备的阻抗与传输线的阻抗。- 识别元件: 通过测量未知元件的谐振频率,浸入式仪表可帮助识别元件的值。1. 浸入式仪表包含一个内部振荡器,可以调谐到宽范围的频率。
2024-03-20 19:21:56
240
原创 FPGA FIFO 读取模式
在这里,“rdreq” 信号充当一个确认信号,表明数据已经被读取。当 “rdreq” 变为非活动状态时,数据输出提供 FIFO 中的第一个数据。总之,show-ahead 模式预期下一次读取,并提前提供第二个数据,这在某些情况下非常有用。在正常模式下,“rdreq” 信号用作读取请求或读取使能。基本上,在正常模式下,数据在有效的 “rdreq” 信号之后的时钟上升沿处可用。虽然 show-ahead 模式提供了即时读取的特性,但它也存在一个缺点:与正常模式相比,它可能会稍微降低性能。
2024-03-08 17:14:52
786
原创 I2C 调试心得
主控发送了一个字节8位(8个 SCL 时钟)的数据后,在第9个时钟周期,释放 SDA 控制权(IO 引脚输出改为输入),读取 SDA 状态,读到低电平表示通信成功,为高通信失败。
2024-02-02 10:46:42
171
原创 VSCode 设置代理
Open Visual Studio Code, click the settings icon in the lower left corner, and click Settings.
2024-02-01 10:08:19
2876
原创 ARM .list 和 .map 文件
arm .map file 是 ARM 架构的编译器生成的链接器映射文件,它包含了编译后的目标文件的地址、大小、符号表等信息。它通常用于调试和优化程序,帮助开发人员了解程序的内存布局、函数调用关系等信息。arm .list file 是Arm汇编语言的源代码文件。它包含了用于Arm架构处理器的汇编指令和数据定义。这些文件通常用于嵌入式系统和嵌入式软件开发中。Arm .list文件可以使用文本编辑器打开和编辑,常见的文件扩展名包括 .s 和 .asm。加作者微信: jiyuyun18 交流电子技术。
2024-01-27 10:46:03
289
原创 arm-none-eabi 全局初始化的变量出现了不正确的值。
主芯片:F1C100s交叉编译器:arm-none-eabi操作系统:Windows。
2024-01-27 10:37:48
157
原创 全志 F1C100s、V3s 对比
连接性:V3s拥有多种连接选项,如LCD,HDMI,CVBS,CSI,MIPI,I2S,PCM,SPDIF,SD/MMC,USB OTG,以太网和WiFi,而F1C100s的选项较少,如LCD,CVBS,DAC,SD/MMC和USB OTG。- VPU:V3s拥有一个视频处理单元(VPU),支持H.264编码和解码,最高可达1080p@60fps,而F1C100s拥有一个未知的VPU,可能只支持一些基本的视频格式。V3s是一款比F1C100s更强大和功能丰富的SoC,但它也更贵,而且开源支持较少。
2024-01-26 14:22:24
6028
原创 PCB布局布线小建议(1)
另外采样线也应该远离high di/dt dv/dt的loop,举个例子如图7所示,左边为较为合适的布局,远离电感,并且R1和R2的位置是反馈点,要注意的是,先从输出端拉出反馈线,在离输入端比较近的位置在去放置反馈电阻。通常来说分为以上3种类型,不同类型需要不同的GND回路,通常在连接器处共地,以保证信号线不被相互干扰,要知道GND并非理想,地上面通常包含阻抗和电感,当接地器件电流快速变化时候,GND上面可能会产生压降,从而导致器件损毁,在不那么恶劣的情况下,GND只是电阻可能会引起模拟信号的精度下降。
2024-01-25 21:35:51
973
原创 Github 不能访问,提示:port 22: Connection timed out
有时防火墙会完全拒绝允许SSH连接。如果不能使用带有凭据缓存的HTTPS克隆,你可以尝试使用在HTTPS端口上进行的SSH连接来进行克隆。大多数防火墙规则应该允许这样做,但代理服务器可能会干扰。C:\Users\用户名\.ssh 目录下新建 config 文件,用户名替换为你的用户名。添加和Windows 同样的内容。
2024-01-24 14:17:24
464
原创 Windows 下使用 SSH 登录 Linux
我使用的Linux 是 Mint20, Ubuntu 应该是一样的。Linux 设置静态IP, 比如:192.168.1.14。
2024-01-23 16:29:44
303
原创 VSCode 更换默认的 terminal(终端)
Win10 中 VSCode 默认的 terminal 为 PowerShell, 想要更换为 Git bash。1. 按快捷键:Ctrl + Shift +P。3. 你会看到可选的终端列表,然后选择。
2024-01-20 14:34:26
6254
原创 全志魔术头
全志芯片的魔术头是一段特殊的二进制数据,它放在启动代码的开头,用于告诉芯片如何加载和执行代码。魔术头的格式由全志的内部固化程序(BROM)定义,不同的芯片型号可能有不同的魔术头格式。魔术头的作用是让芯片能够从不同的存储设备(如SPI Flash,SD卡,USB等)启动,而不需要修改启动代码本身。校验和(Checksum):一个32位的值,用于校验魔术头和启动代码的完整性。魔术字(Magic Word):一个固定的值,用于标识魔术头的存在,例如。长度(Length):一个32位的值,用于指定启动代码的长度。
2024-01-17 15:41:44
140
原创 全志 F1C100s F1C200s 启动过程
启动系统可以从SPI NOR Flash,SPI NAND Flash,SD卡和USB启动,以适应不同的应用。一个外部的启动选择引脚用于决定是否跳转到USB启动。上电后,启动系统检测这个引脚的状态。对于SPI Flash而言其实和SD(TF)卡而言差不多,最关键的就是将 u-boot-sunxi-with-spl.bin 文件放在头部,即从0位置开始写入;上电后,芯片会先执行内部固化的程序(BROM),该程序会依次检查外部存储器是否可用,如果可用再从中加载第二阶段程序(SPL)并执行。
2024-01-17 15:32:40
936
原创 Windows 下 使用 VSCode 和 arm-none-eabi 编译Linux代码时 mkdir 命令出错
编译环境:交叉编译器:arm-none-eabimake 命令:Mingw-w64 GCC for Windows 64源代码管理:git交叉编译器版本和安装目录: E:\work_soft\gcc-arm-none-eabi-10.3-2021.10Mingw 版本和目录:E:\work_soft\x86_64-13.2.0-release-posix-seh-ucrt-rt_v11-rev1。
2024-01-16 11:48:47
840
原创 MinGW-w64 安装
MinGW 是 Minimalist GNU for Windows 的缩写,它是一个免费的 Windows 下的 C/C++ 编译器,可以让你在 Windows 平台上生成本地的 Windows 程序,而不需要第三方的 C 运行时库。MinGW 可以支持多种编程语言,如 C,C++,Fortran,Objective-C 等。MinGW 也可以和其他的开源软件,如 SDL,Vim 等配合使用,为跨平台的程序开发提供了便利。安装MinGW 后可以在 Windows 操作系统上运行 make 命令。
2024-01-15 16:25:39
497
1
原创 全志图形引擎 以 F1C200s 为例介绍
全志图形引擎的思路在很多自家芯片上是大差不差的。这些芯片包括但不限于:F1C100s、F1C200s、V3S、A64、T113、H8、H3、A83。F1C200s 和 F1C100s 相差极小,仅集成内存大小有所差别。下面以 F1C200s 为例讲解全志图形引擎。F1C200s的显示系统由以下四部分组成:时序控制器 (TCON)显示引擎前端(Display Engine Front-End)显示引擎后端 (Display Engine Back-End)
2024-01-13 15:16:43
848
原创 Linux 文件(夹)权限查看
命令 : ls -alls -al 是一个用于列出指定目录下所有文件和子目录的命令,包括隐藏文件和详细信息。其中,-a 选项表示显示所有文件,包括以 . 开头的隐藏文件,-l 选项表示以列表的形式显示文件的详细信息。本例中:drwxrwxr-x 为权限细节。
2024-01-10 08:39:09
414
原创 Linux 查询软件版本、安装指定的版本
例子:sudo apt-cache madison netbeans。加作者微信:jiyuyun18, 交流嵌入式软硬件技术。Linux 查询软件版本、安装指定的版本。
2024-01-08 09:06:26
706
LM2577开关稳压器中文数据手册
2021-11-19
LT1073 中文数据手册
2021-11-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人