- 博客(36)
- 收藏
- 关注
原创 【通信协议】CAN总线通信协议
CAN总线中文全称是控制器局部网络总线(Controller Area Net)。该协议是一种多主机串行异步通信总线,允许网络中的各个节点(设备)进行无中心控制的通信。所谓无中心控制的通信,即在CAN总线网络中,没有一个中央控制器来管理所有节点的通信。相反,每个节点都是平等的,无需等待中央控制器的指令。任何节点在需要时都可以发送报文。并且进行非破坏性总线访问技术的传输管理。所谓非破坏性总线访问技术,即当多个节点同时尝试发送数据时,CAN总线使用仲裁机制决定哪个节点的报文优先发送。
2024-08-08 10:45:10
852
原创 【AD21】文件的整理
将装配图文件剪切移动到SMT文件夹下,将坐标文件从Project Outputs for XXXXXX文件夹复制一份到SMT文件夹下,因为Gerber文件夹中也要存放坐标文件。将Project Outputs for XXXXXX文件夹下的所有剩余文件都移动到Gerber文件夹下。将工程文件、原理图PCB源文件、原理图库PCB封装库文件和原理图PDF文件剪切移动到PRJ文件夹下。在项目工程文件夹下新建名称为BOM、SMT、PRJ、Gerber和DOC的文件夹。
2024-05-27 14:35:02
509
原创 【AD21】坐标文件的输出
坐标文件通常发给贴片厂,该文件提供了每个元件、每个测试点等在PCB上的精确位置,可以用于指导和优化PCB制造和组装过程中元件和孔位的精确定位。打开文件夹Project Outputs for XXXXXX即可看到Pick Place for XXXXX文件。在PCB源文件页面,菜单栏中点击文件->装配输出->Generates pick and place files。在新弹出的页面取消勾选Description,单位选择英制,格式选择CSV(excel文件),点击确定即可。
2024-05-27 13:32:28
1257
原创 【AD21】原理图PDF文件的输出
在弹出的界面点击Next,勾选当前项目,修改文件名,避免与制造装备图PDF文件重名将其覆盖,点击Next。在弹出的界面取消勾选到处原材料BOM表,BOM表要单独导出,点击Next。原理图PDF文件可以共享给团队成员,用于设计审核、讨论和协同工作。在出现的新界面全部取消勾选,点击完成即可输出原理图PDF文件。只输出原理图PDF文件,所以只勾选原理图文件,点击Next。弹出的新界面默认即可,不需要操作,直接点击Next。以下界面取消勾选使用物理结构,点击Next。菜单栏中点击文件->智能PDF。
2024-05-27 13:32:01
1310
原创 【AD21】钻孔文件的输出
钻孔文件包含了所有需要在PCB上钻孔的位置、孔径和类型(如通孔、盲孔、埋孔)的详细信息。板厂可以使用这个文件来控制钻孔机进行精确钻孔。在弹出的新界面,单位选择英寸,格式选择2:4。(2:4指作为mil单位,精度为小数点后一位)。之后全点击确定即可。在PCB源文件页面,菜单栏中点击文件->制造输出->NC Drill Files。
2024-05-27 13:12:23
730
原创 【AD21】Gerber文件的输出
Gerber文件是对接生产的文件,虽然可以将PCB发给板厂去打板,但是对于公司而言,直接发PCB会有泄密风险,Gerber文件会相对安全些。层设置中,绘制层->选择使用的,镜像层->全部去掉,取消勾选顶底焊盘层、禁止布线层和除机械一层以外的机械层。只需要保留线路层、丝印层、钢网层、阻焊层和板框层。光圈设置默认即可,高级设置中,胶片规则尺寸都扩大10倍,保证内容全部包含进去。通用设置中,单位选择英寸,格式选择2:4。在PCB源文件页面,菜单栏中点击文件->制造输出->Gerber Files。
2024-05-27 10:51:08
936
原创 【AD21】制造装备图PDF文件的输出
装配图文件通常发给贴片厂,该文件可以用于元器件的焊接时对照使用,从输出的文件图上可以知道什么位置放置什么元器件。在弹出的界面点击Next,勾选当前项目,修改文件名,避免与原理图PDF重名将其覆盖,点击Next。对于装配图,只需要输出顶层和底层的丝印层,板框层和阻焊层即可。只需要打印PCB文件,所以选中PCB文件,点击Next。可以对底层进行一个镜像选中,选择整张打印,点击Next。取消勾选导出BOM表,点击Next。在新页面选择单色输出,点击Next。进入打印页面,进行如下操作。
2024-05-24 16:52:36
693
原创 【AD21】BOM表文件的输出
在以下界面,点击Columns,对输出的BOM表中一些说明进行不显示,可以不显示Description和LibRef。值,位号,封装和个数等信息一定要进行输出。最后点击Export即可。再点回General,可以选择模板和文件格式,一般默认Excel表格,没有模板即可。最后点击Export输出BOM表即可。打开存放工程文档的文件夹即可看到有一个新文件夹。打开文件夹即可看到BOM表文件。BOM表文件通常发给采购,采购可以购买BOM表中所需的元器件。在菜单栏中点击报告->Bill of Materials。
2024-05-24 15:44:08
583
原创 【AD21】PCB板尺寸与层名称标注
PCB绘制完成后,需要给上级或生产制造商发送输出文件,输出文件中包含板尺寸标识和层标识可以方便工作的交接。
2024-05-24 13:56:57
1101
原创 【AD21】推荐快捷键
绘制原理图过程中,经常会用到将器件上下左右对齐或水平垂直等分对齐,如果每次用到都去菜单栏点这些命令,那么设计效率会很慢,如果设置了快捷键,就会大大加快设计的效率。以下是我在原理图绘制中个人习惯的快捷键设置。上下左右对齐分别为4567,水平垂直等分对齐分别为89。在原理图界面点击A,会出现以下界面。红框中所示为对应的对齐操作。以向上对齐为例,首先在原理图界面点击A,然后按住Ctrl点击顶对齐。出现以下界面。将可选的,改为4,再点击确定即可。
2024-05-24 10:46:35
491
原创 【AD21】基于板框进行全覆盖铺铜
在机械1层双击铺铜区域,网路选择GND,层叠选择GND层,再选择Hatched,Hatched界面下要设置为如下参数,最后点击重新铺铜。点击工具->转换->从选择的元素创建铺铜,即可在机械1层创建一个基于边框的全覆盖铺铜。可以看到在GND层网络为GND的铜已经覆盖整个边框。点击紫色的边框线,再按下【Tab】对边框进行全选。
2024-05-17 12:20:51
836
原创 【AD21】PCB规则设置
在绘制PCB之前,要进行规则的创建,因为在绘制PCB的过程中,难免会出现很多错误,所以需要先对绘制PCB创建规则,即所有的打孔,走线,铺铜都要基于电气性能规则去设计,等到后期,检查PCB时,可以基于事先创建的规则,利用机器去检查存在的错误。而不是用肉眼去检查错误。但是不是所有规则都需要设置,只是将需要用到的规则设置即可。至此,所有规则已设置完成。最后点击应用,再点击确定即可。点击Design->Rules开始规则的创建。下图所示为PCB设计中的所有规则。
2024-05-15 13:03:12
614
原创 【AD21】软件的基本设置
软件安装好以后,需要对软件进行一些基本设置,以方便原理图绘制和pcb设计时的操作,提高效率。打开后包含以下设置,但是不是所有都需要设置,只是将需要用到的功能设置即可。点击右上角的设置按钮。
2024-05-13 15:49:54
484
原创 【信号与系统】2、线性时不变系统的描述与响应
说明:仅差分方程不能反映出LTI离散时间系统的因果性,因此在给出差分方程的同时,通常需要说明系统的因果性,若无特别说明,则默认系统是因果系统。
2023-07-01 00:46:26
2138
原创 【信号与系统】1、初步认识信号与系统
因果信号一定是右边信号,但右边信号不一定是因果信号首先可以根据图像判断:①信号在时间轴两端必须是无限的 ②信号的形状上的每一点都务必周期性的重现连续信号周期非周期判断:对于单个正弦信号,只要周期T=2π/w存在即为周期信号,否则为非周期信号。对于两个正弦序列相加,需要T1/T2为有理数才为周期信号,其中周期T为T1和T2的最小公倍数,否则为非周期信号。离散信号周期非周期判断:对于单个正弦序列,只要N=2π/Ω为有理数时即为周期信号,否则为非周期信号,其中周期N必须要为整数。
2023-06-24 15:30:28
6036
2
原创 【编程与算法基础】算法——PID算法
数值太小,Sk就大,则输出就大,即该数值越小,会增强输出信号。由于P算法体现的是传感器当前值与目标值相差的值,有差值则输出,无差值则不工作,D算法体现的是最近有无偏差变化,有变化则开始控制,无变化则不控制,因此P算法和D算法配合起来,总有一个时间点,对输出的控制做用是相同的,该时间点即当前传感器采集的值确实未到达目标值,即P输出,同时发现控制对象的值的偏差值在向增大的趋势发展,即D输出,即DOUT帮助POUT修正输出,因此与比例积分(PI)控制算法相似,将二者共同作用的时间称为微分时间常数。
2023-05-12 18:08:24
978
3
原创 【硬件设计】基于INA282芯片的电流采集电路
电流采集电路是一种用于检测电路中电流的电路。它通常由电流传感器、信号调理电路和模数转换器(ADC)组成。其主要功能是将输入电流转换为电压信号,并对信号进行放大、滤波和线性化处理,最终输出数字化的电流值。电流传感器是电流采集电路的核心部件,用于将电路中的电流转换为电压信号。根据不同的应用场景和电流范围,电流传感器可以采用不同的工作原理和结构,例如霍尔效应传感器、电阻式传感器、互感式传感器等。信号调理电路主要负责将电流传感器输出的低电平电压信号转换为适合ADC转换的电压范围。
2023-05-09 20:06:50
13928
6
原创 【硬件设计】基于K78系列芯片的电源板电路
电源板是一种将电网或电池等电源转换为目标设备所需电源的电子设备。其作用是将输入的电源信号进行处理和转换,输出符合目标设备要求的电源信号。电源板可以应用于各种电子设备,例如电脑、手机、电视、音响、LED灯等等。电源转换:电源板将输入的电源信号进行处理和转换,以输出符合目标设备要求的电源信号。例如将高电压交流电转换为低电压直流电。稳压:电源板可以通过稳压芯片等器件对输出电压进行调整,以保持输出电压的稳定性,防止电压波动对目标设备的损害。
2023-05-08 22:58:56
844
原创 【硬件设计】AC-DC整流桥电路
当我们需要使用交流电源来驱动电子设备时,通常需要使用AC-DC整流桥电路将交流电转换为直流电。AC-DC整流桥电路可以将交流电的正负两个半周都转换为直流电,并在输出端产生一个带有直流电平的电压波形。AC-DC整流桥电路通常由四个二极管和一些滤波元件组成。其中两个二极管是正向接通的,另外两个二极管是反向接通的。正向接通的二极管在交流电的正半周期内将电流传导到负极,反向接通的二极管在交流电的负半周期内将电流传导到正极。这样就可以将交流电转换为直流电。
2023-05-04 16:25:54
7790
1
原创 【硬件设计】开关电路
继电器是一种电气控制元件,它通过控制较小的电流或电压信号,来控制较大电流或电压的开关行为。它的工作原理是通过电磁铁的磁场来实现开关的动作。继电器通常包含一个电磁铁线圈和至少一个开关触点,当电磁铁线圈被激活时,触点就会打开或关闭。继电器广泛应用于各种电气控制和自动化系统中,例如家电、工业设备、机器人等。不同类型的继电器有不同的特性,包括负载容量、触点类型、接线方式、工作电压等。光耦(Optocoupler)也称为光电耦合器,是一种电-光-电转换器件。
2023-05-03 17:30:18
3480
原创 【硬件设计】DC-DC之降压(BUCK)电路
IR2109是一款高和低侧驱动器芯片,可以驱动高侧和低侧开关管,被广泛应用于各种电源电路中。在BUCK电路中,IR2109通常用作驱动N沟MOSFET开关管,控制开关管的导通和断开,实现电源电压的降压转换。IR2109的主要作用是将微控制器输出的PWM控制信号转换为高电压、高电流的开关管驱动信号,确保开关管的准确导通和断开。它还具有短路保护、过温保护、欠压保护等多种保护功能,可以有效保护电路免受故障和异常情况的影响。
2023-05-02 16:49:18
17253
4
原创 STM32CubeMX驱动MPU6050模块
MPU6050模块是一款由InvenSense公司生产的数字运动处理器,它集成了三轴陀螺仪和三轴加速度计,采用MEMS技术,可以通过I2C接口与其他微控制器进行通信。MPU6050模块中的加速度计和陀螺仪分别测量物体在三个轴上的加速度和角速度。加速度计的输出被称为加速度,而陀螺仪的输出被称为角速度。经过一些复杂的数学运算和算法,可以将这些数据转换为物体的姿态、位置和移动方向等信息。除了加速度计和陀螺仪之外,MPU6050还具有许多其他功能。例如,它内置了一个温度传感器,可以测量环境温度并输出一个温度值。
2023-05-01 18:14:35
3786
36
原创 STM32CubeMX驱动4x4键盘模块
4x4键盘模块是一种常用的电子组件,它由16个按钮或开关以矩阵方式排列而成,可以与微控制器或其他数字电路设备一起使用。该模块通常用于数据输入、操作界面等各种应用场合。如果你的单片机已经有足够的GPIO引脚可供使用,可以把4x4键盘模块中的16个按键分别连接到8个GPIO引脚上,并通过软件编程实现对按键的控制和读取。在这种情况下,不需要为4x4键盘模块提供额外的电源。需要注意的是,在将4x4键盘模块与单片机相连时,要根据模块中按键的排列顺序和引脚定义表格来正确地接线。
2023-04-22 14:59:10
1919
5
原创 STM32CubeMX驱动ADS1118模块
本篇中ADS1118模块的驱动是代码实现的SPI时序驱动,不是使用STM32单片机内部集成的SPI外设驱动。换句话说,使用时只需将驱动源码添加到HAL库或标准库工程中,就可以像使用库函数中的函数一样使用这个源码中的函数。本篇使用STM32CubeMX实现。ADS1118模块是一款基于德州仪器(Texas Instruments)ADS1118芯片的高精度、超小型、低功耗模拟/数字转换器模块。该模块具有四个单端或两个差分输入通道,可通过SPI接口进行配置和控制。
2023-04-20 20:22:01
1829
原创 STM32CubeMX驱动OLED屏模块_IIC
IIC-OLED模块是一种高品质、高性能的显示屏,采用了有机发光二极管(OLED)技术,通过四个针脚控制电源和信号来实现对显示内容的控制。高分辨率和色彩深度:该OLED模块具有高达128x32像素的分辨率和16位色彩深度,可以呈现出细腻、清晰的画面效果。显示角度广泛:该模块具有178度的广角度,可以在各种角度下提供清晰的图像显示,同时也适用于不同的应用场景。低功耗:OLED技术具有自发光特性,因此相比其他类型的显示屏,该模块具有更低的功耗,延长了电池寿命。
2023-04-17 21:29:00
5490
14
原创 ST-link驱动下载、安装、配置和升级
ST-Link是STMicroelectronics (ST)推出的一款用于STM32微控制器的调试和编程工具。它主要包含两个部分:硬件部分和软件部分。硬件部分:ST-Link硬件主要由两部分组成:ST-Link接口板和连接线。ST-Link接口板上面有一个USB接口,一个20针JTAG/SWD连接口和一些LED指示灯,通过连接线将它与目标设备(如开发板)连接起来。在ST-Link中,JTAG/SWD接口用于与目标设备进行调试和编程。
2023-04-15 15:46:04
10768
8
原创 【STM32库函数】GPIO详解
GPIO是通用输入输出引脚,它是STM32芯片上的数字接口,可以被软件配置为输入或输出,在连接外部设备时发挥重要作用。它们可以使用寄存器级操作进行配置和控制,因此具有灵活性和可编程性。
2023-04-14 16:06:07
1833
2
原创 【编程与算法基础】C语言——预处理指令详解
预定义符号都是语言内置的。//进行编译的源文件路径,数据类型为字符串 printf("%d\n" , __LINE__);//文件当前的行号,数据类型为整型 printf("%s\n" , __DATE__);//文件被编译的日期,数据类型为字符串 printf("%s\n" , __TIME__);//文件被编译的时间,数据类型为字符串 printf("%s\n" , __FUNCTION__);//代码所在的函数 }语法规则:#define 标识符名 内容(标识符名通常为大写)
2023-04-10 17:21:46
211
原创 【STM32FreeRTOS】【内部机制】二、FreeRTOS中的链表机制
FreeRTOS 都会将标准的 C 数据类型用 typedef 重新取一个类型名。这些经过重定义的数据类型放在 portmacro.h(portmacro.h 第一次使用需要在 include 文件夹下面新建然后添加到工程 freertos/source 这个组文件)这个头文件。
2023-04-05 17:34:13
542
原创 【STM32FreeRTOS】【内部机制】一、新建一个FreeRTOS工程
在开始新建工程之前,我们先在本地电脑端新建一个文件夹用于存放工程。文件夹名字取为“Test”(名字可以随意取) ,然后再在该文件夹下面新建各个文件夹和文件。
2023-04-03 22:14:41
338
原创 【编程与算法基础】数据结构——线性表之队列
线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列等。线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。队列是一种特殊的线性表,既可以以数组形式存储也可以以链式结构的形式存储。以数组形式存储称为数组队列(特殊的线性表),以链式结构的形式存储称为链式队列(特殊的链表)。
2023-04-03 19:32:24
245
原创 【编程与算法基础】数据结构——线性表之栈
线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列等。线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。栈是一种特殊的线性表,既可以以数组形式存储也可以以链式结构的形式存储。以数组形式存储称为数组栈(特殊的线性表),以链式结构的形式存储称为链式栈(特殊的链表)。
2023-04-02 22:49:06
160
原创 【编程与算法基础】数据结构——线性表之双链表
线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列等。线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。链表是典型的线性表之一,以链式结构的形式存储。链表又被分为单链表和双链表。本片仅对双链表详细说明。
2023-04-01 21:49:05
235
原创 【编程与算法基础】数据结构——线性表之单链表
线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列等。线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。链表是典型的线性表之一,以链式结构的形式存储。链表又被分为单链表和双链表。本片仅对单链表详细说明。
2023-03-31 22:03:55
248
原创 【编程与算法基础】数据结构——线性表之顺序表
线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列等。线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表是典型的线性表之一,以数组的形式存储。
2023-03-30 15:14:05
271
原创 【编程与算法基础】数据结构——时间复杂度与空间复杂度
算法就是用来操作数据、解决程序问题的一组方法。对于同一个问题,我们去使用不同的算法,结果或许会一样,但不同的地方就在于你所用算法所耗费的资源和时间,这决定着算法的质量如何。算法效率分为两种:第一种是时间效率,第二种是空间效率。时间效率和空间效率对应的参数即为时间复杂度和空间复杂度。时间效率主要衡量的是一个算法的运行速度。空间效率主要衡量的是一个算法所需要的额外空间。在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。
2023-03-28 14:40:26
241
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人