自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(127)
  • 资源 (7)
  • 收藏
  • 关注

原创 EMC相关

目录1、EMC分类2、EMC三要素3、EMC处理的三大手法4、辐射发射5、传导发射1、EMC分类EMC(电磁兼容性(Electro Magnetic Compatibility))分为EMI(电磁干扰(Electro-Magnetic Interference))和EMS(Electro-magnetic Susceptibility(EMS)电磁敏感性)EMI分为CE(传导发射Conducted Emission)和RE(辐射发射radiated emission)EM

2021-02-17 22:45:28 28

原创 高速信号基础知识

1、板材1.1、损耗在传输线系统中损耗的主要来源是导体损耗、介质损耗(还有辐射损耗)。普通FR4板材在低频下信号损耗主要为导体损耗,高频则以介质损耗为主。对于高速板材则可以大大减小介质损耗,使得板材的介质损耗在很高的一个频段内低于导体损耗。介质损耗指的是指介质材料在电场作用下,由于介质电导和介质极化的滞后效应,在其内部引起的能量损耗,这主要与PCB介质的损耗因子有关。导体损耗是指导体不理想,存在直流电阻,在电流通过时发热而引起的损耗,这主要与PCB导体的趋肤效应、粗糙度和导电率(电阻率)有关系。

2021-02-17 18:19:49 16

原创 常用电磁仿真软件的特点

Siwave用来做电源完整性和提取S参数很方便;HFSS用来做3D仿真,提取复杂结构的S参数,是3D电磁仿真软件;ADS:系统级仿真工具,后处理数据做的比较好,看眼图方便,这几年的版本加入了3D电磁仿真,试过了,要切板,仿真速度较慢;1、CST是基于FDTD(时域有限差分法)电磁 场求解算法的仿真器,适合仿真宽带频谱结果,因为只需要输入一个时域脉冲就可以覆盖宽频带。2、HFSS(High Frequency Structure Simulator)是基于FEM(有限元法)电磁场求解算法的仿真器

2021-02-13 18:05:52 42

原创 直流有刷电机驱动器

1、编码器是将信号或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。2、编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺。3、编码器的分辨率如何理解,常见的编码器类型有绝对式编码器和增量式编码器,绝对和增量的概念大家应该清楚,最大的区别就是绝对位置是带有记忆的,编码器旋转的每个刻度都带有标记,断电重新上电后是可以记住位置的,而增量式的就是一个技术,旋转多少计多少数,断电后不记住位置。编码器配合电机可应用于角度、长度测量、转速测量、定位等场合。4、常见的编码器输出信号有

2021-02-13 17:15:20 19

原创 Linux应用程序——用户层检测按键输入状态

stm32mp157 盘古开发板 Linux内核版本4.191、背景在我的博客《Linux驱动分析——input输入子系统》中已经大概了解了按键输入的来龙去脉,博客链接:https://blog.csdn.net/fang_yang_wa/article/details/1132543962、测试情况:应用层测试用代码:#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>..

2021-02-05 19:48:56 16

原创 linux ps命令,查看某进程cpu和内存占用率情况, linux ps命令,查看进程cpu和内存占用率排序。 不指定

背景:有时需要单看某个进程的CPU及占用情况,有时需要看整体进程的一个占用情况。目录一、 linux ps命令,查看某进程cpu和内存占用率情况二、linux ps命令,查看进程cpu和内存占用率排序一、 linux ps命令,查看某进程cpu和内存占用率情况[root@test vhost]# ps auxUSER PID%CPU%MEMVSZ RSS TTYSTATSTART TIME COMMAND解释:linux ...

2021-02-05 10:08:53 22

原创 Linux应用程序——用户层操作GPIO

stm32mp157 盘古开发板 Linux内核版本4.19目录1、拜兔核i2SOM的wiki上关于gpio应用的说明2、gpio操作相关的数据结构3、测试代码:4、参考链接1、拜兔核i2SOM的wiki上关于gpio应用的说明链接:http://wiki.i2som.com/pages/viewpage.action?pageId=22479311以下是链接中的复制内容:GPIO操作在Linux系统上是常用功能,STM32MP1芯片平台也同样支持。从Linu...

2021-02-02 19:55:55 25

原创 射频天线知识(一)——基础知识

1、对于倒L天线,在天线的输入端电压最小,电流最大,阻抗最小;在天线的开路端,电压最大,电流最小,阻抗最大。2、50欧姆阻抗的由来:原来的同轴电缆在30欧姆时能够承载的功率最大,在70欧姆时传输效率最大(损耗最小),折中后规定的50欧姆阻抗。3、4、5、6、7、8、9、10、11、12、13、...

2021-02-01 17:31:15 46

原创 Linux驱动分析——块设备驱动

stm32mp157 盘古开发板 Linux内核版本4.19因为目前没有用到这一块,所以这里只是简单了解并记录一下,待后面用到了再来完善。目录1、朱有鹏老师视频课程笔记和示例代码1、朱有鹏老师视频课程笔记和示例代码第一部分、章节目录5.10.1.正确理解块设备驱动的概念5.10.2.块设备驱动框架简介5.10.3.块设备驱动案例分析15.10.4.块设备驱动案例分析25.10.5.块设备驱动案例分析3第二部分、章节介绍5.10.1.正确理解块设备驱动的概念 本...

2021-01-30 17:59:53 13

原创 Linux驱动分析——网卡驱动

stm32mp157 盘古开发板 Linux内核版本4.19目录1、朱有鹏老师视频课程笔记和源码2、找到我系统上面网卡驱动的位置3、dwmac-stm32.c文件中DW是什么意思1、朱有鹏老师视频课程笔记和源码第一部分、章节目录5.11.1.网络设备驱动概述5.11.2.虚拟网卡驱动分析15.11.3.虚拟网卡驱动分析25.11.4.DM9000驱动源码分析15.11.5.DM9000驱动源码分析第二部分、章节介绍5.11.1.网络设备驱动概述 本节对网络...

2021-01-30 17:43:06 20

原创 Linux驱动分析——I2C子系统

stm32mp157 盘古开发板 Linux内核版本4.19目录1、朱有鹏老师视频笔记2、I2C子系统的4个关键结构体3、关键文件4、i2c-core.c初步分析​4.1、smbus代码略过4.2、模块加载和卸载:bus_register(&i2c_bus_type); 在i2c-core-base.c中4.3、I2C总线的匹配机制​4.3.1、match函数4.3.2、probe函数4.4、核心层开放给其他部分的注册接口5、adapter模...

2021-01-28 20:58:13 23

原创 Linux驱动分析——input输入子系统

1、朱有鹏老师的视频课程笔记和应用测试代码:***********《朱有鹏老师嵌入式linux核心课程》 ***********《5.linux驱动开发-第5部分-5.8.input子系统基础之按键》--------------------------------------------------------本课程由朱老师物联网大讲堂推出并提供技术支持,课件可打包下载网盘地址:http://yunpan.cn/cjVy3RAgfDufK 访问密码 4ad7技术交流QQ群:朱老师物联网讲堂

2021-01-27 18:09:34 39

转载 学习笔记(1):framebuffer驱动详解-linux驱动开发第7部分-5.7.1.framebuffer介绍

本课程是linux驱动开发的第7个课程,主要内容是linux的framebuffer驱动详解,本课程带大家分析fb驱动的框架、构成以及一些代码细节,目标是让大家彻底掌握fb驱动在内核中的配置和移植方法、掌握显示设备驱动的关键点。...

2021-01-23 16:35:18

原创 Linux驱动分析——pwm-leds

stm32mp157 盘古开发板 Linux内核版本4.19pwm-leds就是用pwm来控制LED亮度1、内核相关文档linux-st\Documentation\devicetree\bindings\leds\leds-pwm.txtLED connected to PWMRequired properties:- compatible : should be "pwm-leds".Each LED is represented as a sub-node of the..

2021-01-20 21:09:45 27

原创 Linux驱动分析——定时器子系统

stm32mp157 盘古开发板 Linux内核版本4.19这个定时器字系统,严格的来说应该是stm32-timer-trigger1、内核相关文档设备树配置文档linux-st\Documentation\devicetree\bindings\iio\timer\stm32-timer-trigger.txtSTMicroelectronics STM32 Timers IIO timer bindingsMust be a sub-node of an STM32 Timer..

2021-01-20 15:19:53 17

原创 Linux驱动分析——PWM子系统

stm32mp157 盘古开发板 Linux内核版本4.191、首先了解在Linux系统上面怎么使用PWM,比如设置某个引脚输出某个PWM脉冲内核文档linux-st\Documentation\ABI\testing\sysfs-class-pwm描述:What: /sys/class/pwm/Date: May 2013KernelVersion: 3.11Contact: H Hartley Sweeten <hsweeten@visionengravers.com&..

2021-01-19 15:57:04 28

转载 Linux设备模型(9)——device resource management

转载:http://www.wowotech.net/device_model/device_resource_management.html1. 前言蜗蜗建议,每一个Linux驱动工程师,都能瞄一眼本文。之所以用“瞄”,因此它很简单,几乎不需要花费心思就能理解。之所有这建议,是因为它非常实用,可以解答一些困惑,可以使我们的代码变得简单、简洁。先看一个例子: 1: /* drivers/media/platform/soc_camera/mx1_camera.c, line 695

2021-01-14 19:20:47 63 1

转载 Linux设备模型(8)——platform设备

转载:http://www.wowotech.net/device_model/platform_device.htm1. 前言在Linux设备模型的抽象中,存在着一类称作“Platform Device”的设备,内核是这样描述它们的(Documentation/driver-model/platform.txt):Platform devices are devices that typically appear as autonomous entities in the system. T

2021-01-14 16:45:27 11

转载 Linux设备模型(7)——Class

转载:http://www.wowotech.net/device_model/class.htm1. 概述在设备模型中,Bus、Device、Device driver等等,都比较好理解,因为它们对应了实实在在的东西,所有的逻辑都是围绕着这些实体展开的。而本文所要描述的Class就有些不同了,因为它是虚拟出来的,只是为了抽象设备的共性。举个例子,一些年龄相仿、需要获取的知识相似的人,聚在一起学习,就构成了一个班级(Class)。这个班级可以有自己的名称(如295),但如果离开构成它的学生(de

2021-01-14 16:29:42 5

转载 Linux设备模型(6)——Bus

转载:http://www.wowotech.net/device_model/bus.html1. 概述在Linux设备模型中,Bus(总线)是一类特殊的设备,它是连接处理器和其它设备之间的通道(channel)。为了方便设备模型的实现,内核规定,系统中的每个设备都要连接在一个Bus上,这个Bus可以是一个内部Bus、虚拟Bus或者Platform Bus。内核通过struct bus_type结构,抽象Bus,它是在include/linux/device.h中定义的。本文会围绕该结构,描述

2021-01-14 15:40:53 13

转载 Linux设备模型(5)——device和device driver

转载:http://www.wowotech.net/device_model/device_and_driver.html1. 前言device和device driver是Linux驱动开发的基本概念。Linux kernel的思路很简单:驱动开发,就是要开发指定的软件(driver)以驱动指定的设备,所以kernel就为设备和驱动它的driver定义了两个数据结构,分别是device和device_driver。因此本文将会围绕这两个数据结构,介绍Linux设备模型的核心逻辑,包括:设备及

2021-01-14 15:17:21 15

转载 Linux设备模型(4)——sysfs

转载:http://www.wowotech.net/device_model/dm_sysfs.html1. 前言sysfs是一个基于RAM的文件系统,它和Kobject一起,可以将Kernel的数据结构导出到用户空间,以文件目录结构的形式,提供对这些数据结构(以及数据结构的属性)的访问支持。sysfs具备文件系统的所有属性,而本文主要侧重其设备模型的特性,因此不会涉及过多的文件系统实现细节,而只介绍sysfs在Linux设备模型中的作用和使用方法。具体包括:sysfs和Kobject的关

2021-01-13 17:55:41 5

转载 Linux设备模型(3)——Uevent

转载:http://www.wowotech.net/device_model/uevent.html1. Uevent的功能Uevent是Kobject的一部分,用于在Kobject状态发生改变时,例如增加、移除等,通知用户空间程序。用户空间程序收到这样的事件后,会做相应的处理。该机制通常是用来支持热拔插设备的,例如U盘插入后,USB相关的驱动软件会动态创建用于表示该U盘的device结构(相应的也包括其中的kobject),并告知用户空间程序,为该U盘动态的创建/dev/目录下的设备节点,更

2021-01-13 17:39:17 12

转载 Linux设备模型(2)——Kobject

转载:http://www.wowotech.net/device_model/kobject.html1. 前言Kobject是Linux设备模型的基础,也是设备模型中最难理解的一部分(可参考Documentation/kobject.txt的表述)。因此有必要先把它分析清楚。2. 基本概念由“Linux设备模型(1)_基本概念”可知,Linux设备模型的核心是使用Bus、Class、Device、Driver四个核心数据结构,将大量的、不同功能的硬件设备(以及驱动该硬件设备的方法),以树

2021-01-13 17:30:29 8

转载 Linux设备模型(1)——基本概念

转载:http://www.wowotech.net/device_model/13.html1. 前言在“Linux内核的整体架构”中,蜗蜗有提到,由于Linux支持世界上几乎所有的、不同功能的硬件设备(这是Linux的优点),导致Linux内核中有一半的代码是设备驱动,而且随着硬件的快速升级换代,设备驱动的代码量也在快速增长。个人意见,这种现象打破了“简洁就是美”的理念,是丑陋的。它导致Linux内核看上去非常臃肿、杂乱、不易维护。但蜗蜗也知道,这不是Linux的错,Linux是一个宏内核,它必

2021-01-13 17:03:02 14

转载 Linux驱动分析——gpiolib子系统

stm32mp157 盘古开发板 Linux内核版本4.191、简述(摘自https://blog.csdn.net/zhoutaopower/article/details/98082006)GPIO 资源是相对来说较为简单,而且比较通用(比如 LED 灯),而 Linux 的 GPIO 驱动属于 Linux Driver 中较为容易上手的部分,但是简单归简单,在 Linux 系统中,要使用 GPIO 资源,还是需要了解一些内容。Linux Kernel 中对 GPIO 资源进行了抽象,抽..

2021-01-12 18:17:23 18

原创 Linux驱动分析——pinctrl子系统

stm32mp157 盘古开发板 Linux内核版本4.191.Linux Pinctrl子系统简介在许多soc内部都包含有pin控制器,通过pin控制器的寄存器,我们可以配置一个或者一组引脚的功能和特性。在软件方面,Linux内核提供了pinctrl子系统,目的是为了统一各soc厂商的pin脚管理。2.Linux Pinctrl子系统提供的功能 (1)管理系统中所有的可以控制的pin,在系统初始化的时候,枚举所有可以控制的pin,并标识这些pin。 (2)管理这些p...

2021-01-12 10:35:10 73

原创 关于Linux内核中的机器匹配

在盘古开发板的内核设备树文件的根节点里面有一个机器名字,这个名字是怎么匹配到内核里面的查找发现在内核里面有一个board-dt.c文件:这个board-dt.c文件里面:

2021-01-08 16:26:00 3 1

原创 Linux驱动分析——LED子系统+驱动框架简介

1、驱动是谁写的:(1)驱动开发工程师(2)内核维护者2、驱动编程写作要求:(1)接口标准化(2)尽量降低驱动开发者难度3、到底什么是驱动框架:(1)内核中驱动部分维护者针对每个种类的驱动设计一套成熟的、标准的、典型的驱动实现,然后把不同厂家的同类硬件驱动中相同的部分抽出来自己实现好,再把不同部分留出接口给具体的驱动开发工程师来实现,这就叫驱动框架。(2)内核维护者在内核中设计了一些统一管控系统资源的体系,这些体系让内核能够对资源在各个驱动之间的使用统一协调和分配,保证整个内

2021-01-08 16:18:22 18

原创 M645开发一个类似路由器配置IP的web应用

即,在M645上面做一个功能,电脑网线连接上M645以后在浏览器里面输入M645的ip地址就可以打开一个配置页面,在这个页面里面可以配置和修改M645的IP地址、网关等参数。首先,HTML文件是有了,这里要明白一个事情:HTML文件是在浏览器里面被解释和运行的,也就是HTML代码会被发送到浏览器,然后浏览器解析这个HTML代码然后将其以页面的形式呈现出来。然后,那么这个HTML里面的数据怎么传给我的Linux系统呢?只能以接口的形式来传输了,也就是传统的前端和后端了,HTML相当于前端,需要有一个后

2020-12-26 10:21:41 83 2

原创 M645(STM32MP157A)配置应用程序开机自启

需要在STM32MP157A板子上配置应用程序开机自启。1、网上查询得出,Linux下应用程序开机自启有两种方式:开机要启动的脚本qidong.sh[root@c69-01 scripts]# vim /server/scripts/qidong.sh[root@c69-01 scripts]# cat /server/scripts/qidong.sh#!/bin/bash/bin/echo $(/bin/date +%F_%T) >> /tmp/qidong.log

2020-12-18 17:24:20 50 1

原创 M645基站配置过程

1、通过SD卡烧录TF-A、U-Boot和Linux Kernel;2、设置静态IP,参考博客《嵌入式Linux平台上安装NTP服务并同步网络时间》

2020-12-18 10:52:05 13

原创 Linux内核配置文件生成详解

今天想把Linux内核裁剪一下,即关掉一些用不到的功能。正常来说应该是命令:make menuconfig,弹出图形化配置界面,配置完成后的配置信息保存在内核源代码的根目录下的.config文件中。但是,盘古开发板的wiki上面给出的内核编译命令是:问题来了,它这里怎么不是makeconfig,而是makei2som_panguboard_defconfig,为什么会是make这个文件呢?百度发现,i2som_panguboard_defconfig这个配置文件位于内核源代码根目录...

2020-11-23 17:05:23 103

原创 嵌入式Linux内核目录讲解

2020-11-23 14:16:37 25

原创 设备树详解

一、简介在传统Linux内核中,ARM架构的板级硬件细节过多地被编码在arch/arm/plat-xxx和arch/arm/mach-xxx,比如板上的paltform设备、resource、i2c_board_info、spi_board_info以及各种硬件的platform_data,这些板级细节代码对内核来讲只不过是垃圾代码。导致ARM的merge工作量较大。之后经过一些讨论,对ARM平台的相关code作出如下相关规范调整,这个也是引入DTS的原因。1、ARM的核心代码仍然保留在arch

2020-11-20 17:40:09 24

原创 嵌入式Linux平台上安装NTP服务并同步网络时间

NTP 时间同步客户端到网站下载源码http://www.ntp.org/downloads.html$ tar -xvf ntp-4.2.6p5.tar.gz$ cd ntp-4.2.6p5/$ ./configure --host=arm-linux$ make把ntpdate/ntpdate可执行文件拷贝到板子的/usr/bin/下面,做为客户端,只要这个,其他的都非必须板子上运行# ntpdate 192.168.0.88这样运行就会进行时间同步PS:NTP时间同步使用的

2020-11-03 11:27:50 106 1

原创 Git基本使用

偶尔会使用一下Git,但是没吃使用都要重新百度一通,这次简单记录一下:1、Git菜鸟教程网址:https://www.runoob.com/git/git-basic-operations.html2、创建一个Git仓库以后会出现如下页面:该页面指导你怎么在本地创建仓库,以及将其托管到github,详细操作链接:https://blog.csdn.net/daydayjump/article/details/80850390Git账号密码认证链接:https://blog.csdn.ne

2020-08-31 14:36:14 71

原创 捷多邦6层板阻抗及压合设计

在捷多邦做过一次6层板,是我规定的层叠结构:最终捷多邦给我的确认稿里面的阻抗及压合设计如下:81016GS76阻抗及压合设计阻抗板设计压合结构如下: 板材FR-4,外层使用1080的PP,内层使用两张2116的PP加0.33mm的光板,(光板为0.4mm1/1OZ蚀刻所得),芯板0.13MM H/H不含铜,(芯板为0.2mm 1/1OZ减铜所得)阻抗计算如下:L3/L4原线宽0.145MM,调整到0.165,补偿0.02mm,蚀刻后成品线宽控制在:0.145-0...

2020-08-20 11:39:12 150

原创 PCB设计及仿真相关名字和概念

1、PI:powerintegrity电源完整性,是确认电源来源及目的端的电压及电流是否符合要求。2、PDN:powerdeliverynetwork电源分配(配送)网络。3、电磁算法里面较常用的有3种:(1)CST使用的时域有限差分法;(2)ADS使用的取样算法;(3)HFSS使用的3DFEM,即有限源算法,其优点是准确,缺点是算的慢。...

2020-08-11 19:51:21 58

原创 PCB制板注意事项

1、一般工厂的厚径比为8:1,即如果孔径为0.15mm(6mil)那么板厚应该是1.2mm,但是如果0.15mm的孔径对应的板厚是1.6mm,那么就会增加生产的难度和成本。(咨询来自捷多邦)2、1oz的铜厚能做到的走线最小宽度是4mil,如果走线最小宽度小于4mil那么就需要使用0.5oz的铜厚。(咨询来自捷多邦)3、电路板各层的铜厚最好一致,即全部使用1oz或者全部使用0.5oz,如果有的层使用1oz有的层使用0.5oz也会增加生产复杂度,这种称之为阴阳铜。(咨询来自捷多邦)4、有GBA封装的

2020-08-11 11:14:57 131

课程考试辅助系统

课程考试辅助系统,基于java的web开发,内嵌有数据库,仅供学习使用。

2014-01-09

图书管理信息系统

图书管理信息系统,基于java平台的开发,内嵌数据库,仅供学习使用。

2014-01-09

人事管理信息系统

人事管理信息系统,基于java平台的开发,内嵌有数据库,仅供学习使用。

2014-01-09

小型超市管理信息系统

小型超市销售管理信息系统,基于VS2010平台的开发,内嵌有数据库,仅供学习使用。

2014-01-09

教务管理信息系统

教务管理信息系统,基于VS2010版本开发,内嵌有数据库,仅供学习使用!

2014-01-09

仓库管理信息系统

仓库管理信息系统,基于VS2010版本开发,内嵌有数据库,仅供学习使用!

2014-01-09

人事管理系统

本资源为用C#语言开发的基于VS2010版本的人事管理信息系统,内嵌有数据库。郑重声明:本资源仅供学习使用,严禁用于商业。

2014-01-09

空空如也

空空如也

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

TA关注的人 TA的粉丝

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