Erickson_qq_
码龄9年
关注
提问 私信
  • 博客:106,751
    106,751
    总访问量
  • 77
    原创
  • 169,261
    排名
  • 210
    粉丝
  • 3
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2015-10-09
博客简介:

qq_31885403的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    3
    当前总分
    254
    当月
    11
个人成就
  • 获得94次点赞
  • 内容获得7次评论
  • 获得354次收藏
创作历程
  • 8篇
    2024年
  • 41篇
    2023年
  • 18篇
    2022年
  • 10篇
    2021年
成就勋章
TA的专栏
  • STM32
    付费
    41篇
  • 硬件杂项知识
    付费
    7篇
  • USB
    付费
    22篇
  • 海思
    付费
    6篇
  • buildroot
    付费
    1篇
  • 软件杂项知识
    4篇
  • Linux
    3篇
  • 屏
兴趣领域 设置
  • 人工智能
    机器学习
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

STM32。影子寄存器是什么,及其作用。

免责声明:本文内容仅代表作者个人观点和知识水平,不构成任何推荐或建议。因参考本文而造成任何直接或间接损失后果的,作者不承担任何责任。本文中的信息仅为作者个人学习研究成果的分享,不作为专业意见或建议。文章中如有错误,请斧正。因应用本文内容导致的风险或损失,作者不承担任何法律责任。以下是正文内容。
原创
发布博客 2024.04.06 ·
855 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

STM32。系统计时、延时功能,是怎么实现的?

免责声明:本文内容仅代表作者个人观点和知识水平,不构成任何推荐或建议。因参考本文而造成任何直接或间接损失后果的,作者不承担任何责任。本文中的信息仅为作者个人学习研究成果的分享,不作为专业意见或建议。文章中如有错误,请斧正。因应用本文内容导致的风险或损失,作者不承担任何法律责任。以下是正文内容。
原创
发布博客 2024.04.06 ·
101 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

STM32。如何降低功耗?

通过减缓GPIO口的切换速度,可以有效减少不必要的能量消耗。在不使用诸如UART、PWM、ADC等外设时,及时关闭其相关时钟,待需要时再重新开启,以减少这些外围设备在空闲状态下对电源的消耗。:对于长期不用的GPIO组,通过API如LL_IOP_GRP1_DisableClock()禁用其时钟,避免无谓的电源浪费。:在满足性能需求的前提下,根据任务负载动态调整处理器的时钟频率和工作电压,实现功耗与性能的平衡。:未使用的GPIO引脚设置为模拟输入模式,可以减少不必要的电流消耗。这样就降低了时钟频率。
原创
发布博客 2024.04.06 ·
319 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

为什么要上电复位电路?

首先,从硬件层面来看,当电源开始供电时,由于电源滤波、稳压元件以及PCB板分布电容等因素,电压上升到稳定工作值的过程并非瞬时完成,通常需要几毫秒至十几毫秒的时间。在此过程中,若芯片内部逻辑受到不稳定的电源电压影响而提前启动,可能导致寄存器设置混乱、运算结果错误等一系列问题,严重影响系统的稳定性与可靠性。总结来说,上电复位电路是保障嵌入式系统正确启动和运行的关键机制,它通过监控电源电压变化并适时发出复位信号,确保了数字集成电路在复杂的上电过程中的初始化有序进行,从而提高了整个系统的稳定性和鲁棒性。
原创
发布博客 2024.01.01 ·
537 阅读 ·
6 点赞 ·
0 评论 ·
6 收藏

电源线太细会导致电压下降。

具体来说,导线越长或者截面积越小(即线径越细),其单位长度的电阻值就越大,因此在相同电流负载下,产生的电压降也更为显著。综上所述,在设计嵌入式系统的电源布线方案时,选择合适线径的电源线至关重要。应充分考虑到电路的最大预期电流、电源线长度、导线材质以及系统对电源噪声的敏感程度等因素,合理选择截面积较大的电源线以减小压降,确保各部件获得稳定的电源供应。较细的电源线往往具有较高的感抗和容抗,这会在电流快速变化时加剧电压跌落或尖峰,对系统稳定性构成威胁,尤其是在高频开关电源或动态负载变化频繁的应用场景中。
原创
发布博客 2024.01.01 ·
1460 阅读 ·
9 点赞 ·
0 评论 ·
6 收藏

如果某个模块或者芯片无法使用,要检查什么?

其次,对于含有晶振或者时钟信号输入的芯片,验证其时钟源是否正确且稳定运行至关重要。在一些复杂系统中,还需关注时钟同步机制是否有效执行,以避免因时钟信号异常导致的芯片无法初始化或工作异常。确认芯片的供电线路是否畅通无阻,电压值是否符合芯片数据手册中规定的范围,以及是否存在瞬态尖峰、噪声干扰等异常现象。同时,观察电源稳压器的工作状态,看是否有过热、输出不稳等可能导致电源失效的问题。例如,对于外设接口芯片,要确认相关寄存器配置是否合理,I/O引脚设置是否适配当前电路环境,以及总线通信协议参数是否准确无误。
原创
发布博客 2024.01.01 ·
501 阅读 ·
6 点赞 ·
0 评论 ·
9 收藏

所有器件和引脚都要共地,才具有可量性。

总的来说,所有器件和引脚的共地设计,是在嵌入式系统开发中遵循的基本原则,它确保了系统的电磁兼容性,提高了信号质量,保证了测量精度,并为复杂的多模块协同工作提供了坚实的基础。无论是对电源电压的监测,还是对数据信号的采样分析,都需要有一个统一、稳定的参考基准。通过将所有器件和引脚共地,我们能够确保测量设备读取的是基于同一参考点的真实电压值,从而保证了测量结果的准确性与一致性。所有器件和引脚的共地,是指将各个电路模块的地线,连接到一个公共的地平面或地线上,确保整个系统内的信号基准一致,从而具备理想的可量测性。
原创
发布博客 2024.01.01 ·
598 阅读 ·
8 点赞 ·
0 评论 ·
10 收藏

芯片手册中Register banks的意思。

register banks的意思可以翻译为组寄存器、寄存器组、寄存器堆,芯片中可能有多个寄存器组(bank0、bank1、bank2等等),每组中寄存器的名字都是相同的,但是内容可以保存不同组的内容。如在某芯片中,寄存器A是bank寄存器,在bank1中有A,在bank2中也有A,当用BANK1的A时,可以读写相应内容,但是不影响bank2的。一般通过写入某个寄存器的值,来切换不同的bank。
原创
发布博客 2024.01.01 ·
582 阅读 ·
7 点赞 ·
0 评论 ·
8 收藏

使用互斥量保证线程安全

每个线程在打印之前获取这个互斥量,获取到了才能打印,打印结束后再释放互斥量。这样就实现了线程排队打印的效果,一个线程打印结束后才能由下一个线程打印,防止内容混在一起。如果没有缓冲区,直接使用printf格式化然后打印的话,获取互斥量的时间会很长,降低效率。在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。想象如果两个线程同时调用printf打印数据,两个线程发出的打印内容就有可能混在一起,造成混乱。
原创
发布博客 2023.11.06 ·
77 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

条件编译#ifdef和#if defined使用哪个比较好。

if defined避免了#ifdef可能产生的错误警告。一些编译器在#ifdef检查一个未定义的宏时会报警,而#if defined不会。#if defined可以检查一个宏是否被定义为任意值,而#ifdef要求宏必须定义为1。#if defined更符合语义,明确指出这是一个已定义的宏。#ifdef更常用于检查是否有定义某个变量,不太适合用于宏的检查。使用#ifdef时需要确保宏只被定义一次,否则可能导致意外结果。#if defined表达更明确,对其他开发者更友好。对于条件编译,建议使用。
原创
发布博客 2023.11.02 ·
126 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

PCM和PDM的区别。

举例:若音频信号在一个采样周期内的强度值是50%,则PDM编码可能是:010001111010110100其中0和1的数量比例接近50%,表示50%的强度。将每次采样的模拟分量幅度表示为N位的数字分量(N = 量化深度)(例如8bit PCM一共可以表示256个量化等级,范围是0到255。PDM编码后的信号不能直接表示音频,需要通过低通滤波器等对比例进行解码,恢复音频信号。4.信号强度由0和1的比例表示在一个采样周期内,0和1的数量比例表示信号的强度,比例越高表示强度越大。PCM音质更好,PDM成本更低。
原创
发布博客 2023.11.02 ·
1462 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

PWM调光的频率要求。

本文主要从PWM调光频率对人眼感知和摄像头采集的PWM调光频率的两个主要影响,以及不同应用场景的频率选择要点等方面进行了概述。如果PWM调光频率设置在100Hz-2kHz范围内,人眼会微妙地感觉到闪烁,长期下来会引起视觉疲劳。较高的PWM频率超过了人眼和镜头的感知门限,调光变化不会被捕捉到。但是对于监控摄像头的照明,由于需要长时间工作,仍建议使用无闪烁的模拟调光方式,而非PWM数字调光。对于摄像头照明,关闭PWM调光直接使用无闪烁的模拟调光,能获得最好的效果。但PWM调光的频率会对使用体验和影像产生影响。
原创
发布博客 2023.10.29 ·
1905 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

USB电源,供电最大限制。

但是USB供电并非没有限制,设备在使用USB电源时,其功耗必须严格控制在规定范围内,否则会带来供电不足或过载等问题。高功耗USB设备在未配置前只能获得100mA的启动电流,待主机完成枚举和配置后,才能获得高达500mA的正常工作电流。对于需要比500mA更大电流的USB设备,比如外置光驱、大容量移动硬盘等,它们不能完全依赖USB接口的供电,而需要额外自带独立电源适配器。在使用USB设备时,也需要注意确认其功耗类型,避免向USB接口请求超过规定的电流,否则可能导致端口过载。
原创
发布博客 2023.10.29 ·
263 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

USB各个速度的模式的最大数据传输速度。

但这些模式的总线理论速率与实际获得的有效数据速率存在一定差距。USB定义了低速、全速和高速三种工作模式,它们的总线理论速率分别为1.5Mbps、12Mbps和480Mbps。其总线速率为1.5Mbps,经过各种传输开销考虑,实际获得的最大有效数据速率大约在800Bps左右。其总线速率高达480Mbps,最大有效数据速率可达到53MB/s量级。全速模式广泛应用于手机、音频设备等。其总线速率为12Mbps,最大有效数据速率可达到1.2MB/s。1. 总线时间分配开销,如SOF和其他UDP报文传输消耗的带宽;
原创
发布博客 2023.10.29 ·
260 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

USB的D+D-的各种信号的概念。

为进行高效可靠的通信,USB规范定义了多种特殊的信号状态,以表示事务的开始或结束、实现设备同步等重要控制作用。接着解析数据包的开始状态SOP和结束状态EOP的生成规则,以及复位状态RESET的具体电平时序要求。在全速设备上,闲置状态是指 D+为高电平、D-为低电平。当 D+线为低电平、D-线为高电平时,该状态为差分 0。:除了差分信号外,USB 规范还定义了其他两个差分状态:J 状态和 K 状态。在低速设备上,该情况则相反。:当 D+和 D-线从闲置状态转换到 K 状态时,将在开始低速或全速数据包前发生。
原创
发布博客 2023.10.29 ·
2406 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

USB。帧产生(SOF)。

SOF包拥有USB传输的最高优先级,它可以中断任何正在进行的数据事务。为确保SOF能够可靠发送,USB集线器含有babble circuit,在帧结束时它会强制清空总线,确保SOF能够按时发送。设备端通过连续接收SOF,并解析其中的帧号信息,可以实现与主机的时间同步,进而按固定周期进行数据收发。USB作为主从架构的互联系统,需要在主机和设备间建立精确的时间同步,以实现可靠的异步数据传输。本文拟通过概述USB的帧同步机制,解析SOF产生与传输的协议要求,以及在设备设计中如何利用SOF实现精确时序控制。
原创
发布博客 2023.10.29 ·
868 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

USB。USB设备收到标准请求后的处理。

对于需要数据传输的标准请求,设备在收到请求后需要在500ms内返回第一个数据包。设备端对标准请求的及时响应,直接影响了USB系统的初始化速度及稳定性。另外,整个需要数据传输的标准请求,从开始到结束状态切换,总时间不得超过5秒。USB协议定义了两类标准请求:不传输数据的请求和需要数据传输的请求。除上述通用时序要求外,对于特定的USB类相关请求,如果类文档有更严格的时序要求,设备也必须遵守。对于不传数据的标准请求,设备端需要在接收请求后50ms内完成请求处理和状态切换。
原创
发布博客 2023.10.29 ·
73 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

USB。HOST设置USB地址后,usb设备的处理。

在恢复时间结束后,设备必须能够在新地址响应主机的事务,不能再响应老地址。在完成地址设置后,设备需要在50ms内回复主机一个长度为0的状态包,或主机成功收到设备的状态包ACK,以确认地址设置成功。USB接口作为主机和多设备的通信架构,需要对设备进行寻址以实现数据的正确交互。在USB总线复位或恢复后,主机会向默认地址0的设备发送设置地址的请求。本文概述USB设备在接收到设置地址请求时的处理机制、时序约束,以及在新旧地址间切换的注意事项。正确解析地址设置阶段的时序与电路设计要点,是开发高可靠USB设备的基础。
原创
发布博客 2023.10.29 ·
136 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

USB。USB的电源管理。

如何在有限电源条件下,保证所有USB设备的正常工作,是所有USB系统设计人员必然要面对的问题。对于功率需求过大的设备,主机可能直接拒绝枚举,或者只枚举默认配置DESC中声明功率最小的一种工作模式。对于嵌入式工程师来说,合理设置USB设备的电源描述符,遵守协议中的功率切换规则,同时控制自身负载,都对实现一个稳定的USB供电系统非常重要。合理的USB电源管理,直接影响到系统的稳定性及设备的使用性能。总之,USB通过智能的电源管理机制,在有限电源条件下,试图最大程度满足所有设备的供电需求。
原创
发布博客 2023.10.29 ·
222 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

USB。错误检测机制。

USB的包标识符PID采用4bit数据+4bit校验码的结构,校验码为数据位的反码。接收端可以通过PID内建的冗余校验,来检测PID传输是否出现差错。除PID外,USB数据包中还含有CRC校验码。这可能是由于发送端填充错误,信号失真,或者接收端同步时钟问题导致。因此USB强制要求,如果出现6个连续0,必须在第6位后插入一个填充0。为实现高品质的数据传输,USB协议采用了多种检错机制来保证接口稳定可靠。本文拟通过概述USB中的PID校验、CRC和位填充检错方式,解析USB如何实现高可靠性串行通信。
原创
发布博客 2023.10.29 ·
287 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏
加载更多