自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 资源 (5)
  • 收藏
  • 关注

原创 FreeModbus学习——eMBPoll轮询

接收状态机为空闲态时(每次定时器溢出中断会将接收机状态置为空闲态),接收到一个字符,会进入串口接收中断,串口接收中断中会将接收到的字符保存作为帧首,并且把接收状态机变为STATE_RX_RCV。直到一帧结束,也就是距离下个字符超过定时器溢出时间,进入定时器中断,此时接收状态机还为STATE_RX_RCV,这就意味着接受完成了一帧。协议栈使能后,会将接收状态机赋值为初始化态,且定时器也使能,定时器进入溢出中断,会将接收状态机由初始化态变为空闲态,并且发布一个EV_READY事件。

2024-07-23 19:23:54 650

原创 FreeModbus学习——eMBEnable协议栈使能

先进行协议栈状态判断,若eMBState == STATE_DISABLED即初始化完成了,就激活协议栈。串口接收使能,发送禁止。在定时器第一次溢出后会将接收状态机的状态由STATE_RX_INIT变为STATE_RX_IDLE。Modbus初始化后,协议栈状态由eMBState由未初始化变成了STATE_DISABLED。先将接收状态机赋值为初始化状态 eRcvState = STATE_RX_INIT;eMBRcvState有四个状态:初始化,空闲态,接收中,帧无效(错误)

2024-07-23 17:41:03 117

原创 FreeModbus学习——eMBInit初始化

在调用xMBPortSerialInit进行串口初始化,这个函数在portserial.c文件中,这个函数是留给用户自己实现的,就是初始化函数,实际上串口初始化放在外面自己初始化也可以,反正只要初始化了就行。所以设置Prescaler = 11999;,这样一个时基就是12000/240000000 = 1/20000 = 1/20ms = 1000/20 us = 50us。在mb.c文件中还定义了几个回调函数指针,这里只用到了前三个,分别是字节接收,发送空,定时器溢出回调函数。

2024-07-23 16:05:26 424

原创 FreeModbus学习——portevent事件

如果队列中有事件,则就将队列中的事件eQueuedEvent赋值给eEvent ,事件被取走了,那么队列里就没有事件了,所以xEventInQueue = FALSE;eEvent 为要发布的事件,将xEventInQueue 置为TRUE,即队列中有事件了,然后将eEvent赋值给eQueuedEvent ,即队列中的事件为eEvent。在mbport.h文件中有事件类型的定义eMBEventType,有事件状态有四种,或者说有四种事件:就绪,帧接收完成,处理,帧发送完成。首先定义了两个静态变量。

2024-07-23 14:46:41 96

原创 STM32H7串口中断服务函数会禁止中断

同时也会禁止发送完成中断,调用UART_EndTransmit_IT来进行操作。在中断服务函数HAL_UART_IRQHandler中,会禁止接收中断。

2024-07-23 14:13:00 46

原创 rtt设备驱动框架学习——内核对象基类object

这个基类是内核所有对象的基类在rt-thread/include/rtdef.h文件里有对内核对象基类object的定义object属性有 内核对象名字 , 内核对象类型 , 内核对象标志,还有一个链表节点。

2024-07-06 00:10:43 576

原创 rtt设备驱动框架学习——链表

这个宏的作用是通过结构体成员的指针 ptr 和成员名 member,计算出包含该成员的结构体的起始地址,并将其转换为 type 类型的指针。_inline函数也称为内联函数或内嵌函数,_inline定义的类的内联函数,函数代码被放入符号调用表,使用时直接展开,不需要调用,即在编译期间将所调用的函数的代码直接嵌入到主调函数中,是一种。(type *)((char *)(ptr) - (unsigned long)(&((type *)0)->member)):将计算结果转换回 type 类型的指针。

2024-06-30 17:50:25 1021

原创 嵌入式系统面向对象的程序设计原则

简单地说,就是尽可能让一个子系统(或一个结构体)的功能比较单一,减少对其他子系统(或其他结构体)的依赖。低耦合:一个子系统(或者一个结构体)的实现,尽可能少地调用到另一个子系统 (或另一个结构体)的功能。6.接口函数在C文件中实现,内部函数定义为static函数,内部变量定义为static。高内聚:一个子系统(或者一个结构体),尽可能只完成一个功能,即最大限度地耦合。4.删除一个模块,应当只影响有依赖关系的其他模块,而不应该影响其他无关部分。2.模块只对外暴露最小限度的接口,形成最低的依赖关系。

2024-06-29 17:04:37 173

原创 STM32驱动AD5676R

数据首先装入MSB (DB23),前四位是命令位,C3到C0,其次是4位DAC地址位,A3到A0,最后是16位数据字。这些数据位被传输到SCLK的24个下降沿上的输入寄存器,并在SYNC的上升沿上更新。当 RESET 被激活时,输入寄存器和 DAC 寄存器将更新为零刻度或中刻度,取决于 RSTSEL 引脚的状态。将该引脚脉冲拉低允许任何或全部的DAC寄存器被更新,如果输入寄存器有新数据,这允许同时地更新所有 DAC 输出。寻址输入寄存器和DAC寄存器都在同步的上升沿上更新,输出开始改变。

2024-05-30 00:09:07 793 3

原创 Clion开发STM32——添加自己文件

发现新加入的文件后CmakeList.txt会自动添加LINKER_SCRIPT。报错clion No such file or directory。修改CMakeLists_template.txt即可。期间还有一个坑,编译进度已经到最后了,但是还是报了错。这样可以是可以,但是每次重新生成代码,会被重新覆盖。有网上有教程,让修改CMakeLists.txt。把下面这行后面的文件删掉即可。

2024-04-14 17:38:14 225

原创 Clion开发STM32——点一个LED

使用Clion电亮STM32的一颗LED

2024-04-14 15:23:37 909 3

原创 过孔是否电镀的区别

没电镀:只打孔,每层之间是无连接的。电镀:每层之间有连接。

2023-11-29 19:07:35 74

原创 PADS LOGIC原理图从库中更新失败

PADS logic 原理图从库中更新失败。页面连接符从库中更新失败。

2023-11-25 17:33:34 114

原创 8_正确认识回流路径(参考平面)

(a)直流电路信号回流路径(b)高速信号回流路径对于高速信号当信号源输出一个高频信号(实际上就是信号的沿)时,从信号传输的角度讲,它并不是一下子就能达到信号的接收端。信号的上升沿要逐一通过每一个微小(Δx长度)的等效电路,并且在这个微小的等效电路上建立起稳定的电磁场结构,然后才能继续将这个电磁场能力传递到下一个等效电路上。

2023-08-24 15:00:26 1331

原创 7_电磁兼容性EMC和电磁干扰EMI

电磁兼容性设计的目的是使电子设备既能抑制各种外来的干扰,同时又能减少电子设备本身对其他电子设备的电磁干扰。

2023-08-23 23:26:26 124

原创 6_电源完整性分析

任何一个电子系统,其供电系统都在一定范围内波动,并且,随着驱动、负载特性的不同,电源系统的波动特性也随之变化。

2023-08-23 20:37:18 98

原创 5_串扰的产生与预防

当高速信号沿着某一根导线传播时,其电场和磁场将会通过某种方式耦合(影响)到其他导体线路内。当这种耦合的电磁场强度达到一定量时,就会使邻近线路产生无法预期的信号,这样就导致了串扰串扰是由于变化的电磁场通过耦合的方式引起的分为:感性串扰,容性串扰在实际电路中,容性串扰和感性串扰是同时发生作用的感性串扰的强度随着串扰耦合长度的增加而增加,当然也随着L1上的信号强度增加而增加,在时间上,随着上升沿的消失而消失,极性和入侵者L1上的原始信号极性相反。

2023-08-22 16:04:28 188

原创 4_反射的产生与预防

在涉及信号完整性问题时,有90%以上的问题来源于单个网络。

2023-08-22 13:15:06 123 1

原创 3_信号完整性问题分类

所谓信号完整性,是指在不影响系统中其他信号质量的前提下,位于此信号传输路径上的各个负载能够尽最大可能地复原(接收到)驱动端所发出的原始信号的状态”所有的信号完整性以系统正常、稳定工作为目的,而不是以单个信号的“完美波形”为目的。按照Eric博士的观点,所有的信号完整性问题可以分为如下四类:●● Crosstalk——相邻传输线之间的信号串扰问题;● PI Related——与电源和地分布相关的信号及电源完整性问题;

2023-08-22 10:54:39 138 1

原创 2_高速电路中的阻抗理论基础

在高速系统中,所有的现象都可以用如下的阻抗特性来解释:● 由于传输线的阻抗不连续,引起信号的反射,从而引起信号本身的畸变;● 由于传输线的耦合(耦合是阻抗构成的一部分),引起信号间的串扰,造成临近区域信号的畸变;● 由于电源系统的某个区域分布阻抗过大,使得该区电源系统的供电不足、谐振,从而造成相关器件的性能损失,甚至混乱;● 由以上各种阻抗特性的不可控而带来的高速信号畸变或者电源系统混乱,最后都会影响到系统的EMI(电磁干扰)对于高速信号系统的设计最后都会归结为对信号传输阻抗的设计。

2023-08-21 22:42:08 200 1

原创 1_电磁波与高速系统理论基础

微波:频率在300MHz至300GHz的电磁波毫米波:频率在30GHz至300GHz的电磁波亚毫米波:频率在300GHz至3000GHz的电磁波相应的电磁波频段称做微波、毫米波频段。根据电磁波频率、波长与速度的关系f×λ=3×10^8m/s可知,微波的波长范围在1m至0.1mm之间一个理想的周期方波信号从频域上看,是由倍频信号组成的。各倍频信号的能量也不尽相同,倍频信号的频率越高,其能量越小截取到5倍频信号能量就包含了原信号中大约90%的能量。

2023-08-21 22:32:36 165 1

原创 15_基于信号完整性的高速系统设计

电源会带来低频噪声(小于1kHz),在电源上增加10μF以上的电容就能很好地消除这种低频噪声,同时还可以为电路的开关电流提供路径。========= = =PCB的叠层设计= = ================== = =地弹效应处理= = ================== = =PCB的布局= = ================== = =PCB的布线= = ================== = =反射处理= = ================== = =电源滤波= = =========

2023-08-18 21:12:52 53 1

原创 14_高速PCB设计流程

(7)利用HyperLynx BoardSim进行布线后仿真:BoardSim接受PCB设计文件,对PCB进行整板快速扫描,发现过冲、延迟、串扰及EMI辐射超出设计要求的网络,并给出详细的结果报告;(4)规则设置:对于高速电路设计,必须设置很多设计规则来规范布局和布线,以保证电磁兼容性和信号完整性的要求。(2)用HyperLynx LineSim进行布线前的信号完整性分析。(6)布线:常用步骤为手工布线——自动布线—手工布线。基于信号完整性分析的PCB设计流程如下图所示。(3)网表输入,导入PCB。

2023-08-18 20:49:04 85 1

原创 13_高速PCB布线策略和技巧

寄生电容过孔本身存在着对地或电源的寄生电容D2为过孔在内层上的隔离孔直径;D1为过孔焊盘的直径;T为PCB的厚度;ε为板基材的相对介电常数过孔的寄生电容延长了电路中信号的上升时间,降低了电路的速度。寄生电感(危害更大)过孔还具有与其高度和直径直接相关的串联寄生电感。h是过孔的高度;d是中心钻孔的直径过孔的寄生串联电感会削弱旁路电容在电源或地平面滤除噪声的作用,减弱整个电源系统的滤波效用。因此旁路和去耦电容的过孔应该尽可能短,以使其电感值最小。

2023-08-18 20:31:31 84 1

原创 12_高速电路PCB布线拓扑和端接

布局原则:①使布局适合于信号流通,并使信号尽量保持方向一致②以每个功能电路的核心元件为中心,围绕这个中心来进行布局③应尽可能使元器件平行排列④元器件离电路板边缘一般不小于2mm⑤尽可能缩短高频元器件之间的连线⑥某些元器件之间可能有较高的电位差,应加大它们之间的距离。

2023-08-17 23:30:00 155 1

原创 PADS四层高速HDMI设计实战

跟随志博教育的视频学习着做的,仅用于记录学习,侵删志博教育PADS教程视频。

2023-08-17 21:30:55 848 3

原创 11_高速PCB的分区

不同的逻辑器件所产生的RF能量的频谱都不同,信号的频率越高,与数字信号跳变相关的操作所产生的RF能量的频带也越宽,要防止工作频带不同的器件间的相互干扰,尤其是高带宽器件对其他设备的干扰。解决上述问题的办法是采用功能分割,即将不同功能的子系统在PCB上实行物理分割。目的:把与特定子区域相关的电磁场限制在需要这部分能量的区域。功能分割需要注意两个方面:处理传导和辐射的RF能量传导的RF能量会通过信号线在功能子区域和电源分配系统之间进行传输辐射的RF能量通过自由空间耦合。

2023-08-17 00:23:07 86 1

原创 10_高速PCB的叠层设计

常用多层PCB叠层设计配置:P表示参考平面层;S表示信号层;T表示顶层;B表示底层。

2023-08-16 21:25:29 148 1

原创 9_高速电路返回路径

趋肤效应:频率越高,电流越趋于在导体的表面流动对于微带线,返回电流就在参考平面上靠近走线的表层流动,而且频率越高,越向走线附近聚集。

2023-08-16 21:07:09 106 1

原创 8_高速电路走线

PCB上的走线就可以大致分为两类:微带线和带状线典型6层板的结构示意图如下。

2023-08-16 20:03:27 82 1

原创 7_去耦和旁路

原文见《高速电路PCB设计与EMC技术分析》

2023-08-15 22:28:05 119

原创 6_高速电路电源完整性

同步开关噪声:高速电路中,内部门电路输出0和1之间的转换,门电路中的晶体管不停地导通和截至,这时会有电流从电源流入门电路,或从门电路流入地线,使电源线或地线上的电流不平衡,产生瞬间变化的ΔI,流经电感形成交流电压降,进而引起噪声。如果同时发生状态转换的输出缓冲器较多时,这个压降足够大,从而导致电源完整性问题,将这种噪声称为同步开关噪声,或者ΔI噪声。

2023-08-14 00:07:49 112

原创 5_信号完整性测量

原文见《高速电路PCB设计与EMC技术分析》

2023-08-06 23:02:04 129

原创 4_高速电路信号完整性

信号完整性是指信号在信号线上的质量,即信号在电子线路中以正确的时序和电压作出响应的能力。

2023-08-03 22:00:14 387

原创 3_PCB上的电磁干扰

主要是在电源线和地线上。

2023-08-03 00:19:22 244

原创 2_电磁兼容基础

①设备要有一定的抗电磁干扰能力(阈值),使其在电磁环境中能够正常工作;②设备工作中自身产生的电磁骚扰应在一定水平(限值)下,不能对同处于一个电磁环境中的任何事物构成不能承受的电磁骚扰。

2023-08-02 14:55:12 159

原创 1_高速电路设计概述

高速PCB面临问题:电磁兼容,信号完整性,电源完整性。

2023-08-01 22:45:07 277 1

2012年辽宁省大学生电子设计竞赛试题(A).doc

2012年辽宁省大学生电子设计竞赛试题(A).doc

2021-03-06

使用AD时的一些布线技巧.pdf

AD一些布线技巧

2021-03-06

PCB设计时去耦电容的该怎么摆放.pdf

AD

2021-03-06

AD使用时常用快捷键.pdf

AD快捷键

2021-03-06

PWM.uvprojx

直接编译可用

2021-03-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除