• 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
返回

电子发烧友 电子发烧友

  • 全文搜索
    • 全文搜索
    • 标题搜索
  • 全部时间
    • 全部时间
    • 1小时内
    • 1天内
    • 1周内
    • 1个月内
  • 默认排序
    • 默认排序
    • 按时间排序
大家还在搜
  • 异步信号的处理真的有那么神秘

    说到异步时钟域的信号处理,想必是一个FPGA设计中很关键的技术,也是令很多工程师对FPGA望 而却步的原因。但是异步信号的处理真的有那么神秘吗?那么就让特权同学和你一起慢慢解开这些所谓的难点

    2021-11-04 08:03

  • 使用siri和小爱同学控制ESP8266引脚电平的过程

    整个教程的目录:一.概述(本章)二.固件下载三.ESP8266模块配置四.Siri控制一个灯五.小爱同学控制一个灯实现的功能:1.可以用苹果手机的语音助手siri控制ESP8266的引脚高低电平(有

    2022-02-14 07:48

  • 揭开深记忆示波器的神秘面纱

    揭开深记忆示波器的神秘面纱

    2019-09-23 07:56

  • 利用ESP-01S实现Siri远程控制灯开关和获取温湿度数据

    摘要上次利用STM32单片机实现连接OneNET并支持Siri语音助手控制的功能,这次利用ESP-01S实现Siri远程控制灯开关和获取温湿度数据。代码支持ESP-01模块

    2021-12-13 06:29

  • 传说中的 background noise噪声

    什么是噪声?所谓噪声,就是会混在我们有用信号中的杂讯,或者是会减弱我们信号的一些相关信号。在这里讨论的是与PCB layout相关的噪声处理,具体处理噪声的相关技术我们不做讨论。我们通常把噪声分为两种:background noise 和intrinsic component noise.1、background noise所谓background noise,我们举最简单的一个例子。你在马路边打电话,小汽车滴滴滴的开过,而你说的话全湮没在这些声音中了。。。这就是background noise了。当然,蛮早前就有手机商家说他们的手机用了某某新技术,可以在嘈杂的声音环境中辨别通话者声音。不过,这个和layout没关系的。。。所谓的background noise,就是指这些产品的工作环境带来的噪声了。此外,由手机话筒灵敏度带来的声音失真,这也是噪声,这是选材决定的,也不关PCB鸟事。2、intrinsic component noise所谓的intrinsic component noise,数数那就多了,什么thermal noise, shot noise, contact noise, 还有popcorn noise。。。巴拉巴拉巴拉。thermal noise,又叫Johnson noise,也就是热噪声,因为温度的改变会导致导体的导电性以及一些junction的性能变化,也就将干扰带入了信号。热噪声属于白噪声,即与频率无关。shot noise,散射噪声。追其根源,我们测得的电压电流等值和收集到的带电粒子数有关,而事实上,导体中的粒子总有些先到有些后到,于是,我们监测到的能量可能大于、小于或等于平均值。但是这个数量总是符合泊松分布的,大量粒子的时候,泊松分布趋向于正态分布。一搬多在小电流情况下会考虑到shot noise。这shot noise也属于白噪声。contact noise,又叫excess noise,也就是过量噪声。该噪声多是在不连续的介质中较大。所以,选质量好点的接头,焊接点要焊好,剩余的就自求多福吧。过量噪声属于pink noise,因其特性(能量一般与1/f成正比)是介于white noise(1/f0)和red noise(1/f2)之间而得名。Flicker noise通常也是指过量噪声。popcorn noise。。。它居然有so many names。。。比如,popcorn noise, impulse noise, bi-stable noise, 还有random telegraph signal (RTS) noise。一般它的大小和频率的平方分之一(1/f2)成正比,而且,在高阻抗的电路中,情况往往更糟糕一些。突发噪声主要来源于半导体器件的缺陷。。。。

    2015-01-21 15:10

  • Analog/.Discharge的神秘工作原理

    The Keysight 3070 series has quite a few built in features to make developing board tests easier, while protecting the operator, the board under test, and the 3070 itself from harm.

    2019-05-13 12:13

  • 带你走进嵌入式ARM MMU神秘的内部世界

    ARM MMU页表框架 先上一张arm mmu的页表结构的通用框图(以下的论述都由该图来逐渐展开): 以上是arm的页表框图的典型结构:即是二级页表结构:其中第一级页表(L1)是由虚拟地址的高12bit(bits[31:20])组成,所以第一级页表有4096个item,每个item占4个字节,所以一级页表的大小为16KB,而在第一级页表中的每个entry的最低2bit可以用来区分具体是什么种类的页表项,2bit可以区分4种页表项,具体每种页表项的结构如下: 简而言之L1页表的页表项主要有两大类:第一大类是指向第二级页表(L2页表)的基地址; 第二类直接指向1MB的物理内存。在L1页表中每个表项可以覆盖1MB的内存,由于有4096K个选项(item),所以总计可以覆盖4096K*1MB=4GB的内存空间。具体对应到Linux,由于linux的软件架构是支持3级页表结构,而arm架构实际只有2级的页表结构,所以linux代码中的中间级页表的实现是空的。在linux代码中,第一级的页表的页目录表项用pgd表示,中间级的页表的页目录表项用pud表示(arm架构其实不需要),第三级的页表的页目录表项用pmd表示(由于中间pud是空的,所以pgd=pmd),另外目前arm体系的移动设备中RAM的page大小一般都是4KB/page,所以L1页表中的页表项都是指向fine page table的信盈达嵌入式企鹅要妖气呜呜吧就零久要。但在linux内核启动的初始化阶段,临时建立页表(initial page tables)以供linux内核初始化提供执行环境,这时L1的页表项使用的就是第二种页表项(section enty),他直接映射的是1M的内存空间。具体的可以参考arch/arm/kernel/head.S中的__create_page_tables函数,限于篇幅,这里就不展开说了。针对这种section page translation,mmu硬件执行虚拟地址转物理地址的过程如下: 以上在初始化过程使用的临时页表(initial page tables),在内核启动的后期会被覆盖掉,即在paging_init--->map_lowmem函数中会重新建立页表,该函数为物理内存从0地址到低端内存(lowmem_limit)建立一个一一映射的映射表。所谓的一一映射就是物理地址和虚拟地址就差一个固定的偏移量,该偏移量一般就是0xc0000000(呵呵,为什么是0xc0000000?)说到这里引入一个重要的概念,就是与低端内存相对的高端内存,什么是高端内存?为什么需要高端内存?为了解析这个问题,我们假设我们使用的物理内存有2GB大小,另外由于我们内核空间的地址范围是从3G-4G的空间,并且前面也说到了,linux内核的低端内存空间都是一一映射的,如果不引入高端内存这个概念,全部都使用一一映射的方式,那内核只能访问到1GB的物理内存,但实际上,我们是需要内核在内核空间能够访问所有的4GB的内存大小的,那怎么做到呢?方法就是我们不让3G-4G的空间都使用一一映射,而是将物理地址的[0x00,fix_addr](fix_addr

    2017-08-22 11:22

  • 一文揭开AI芯片的神秘面纱 精选资料分享

    今天一朋友咨询我AI芯片怎么样?我是搞软件的,历来计算机系专业学生里搞软件的不懂硬件,但是要聊到AI芯片,它真的很简单,哈哈。1、什么是人工智能(AI)芯片?广义上讲,能...

    2021-07-26 08:01

  • 一个神秘现象引发对beego框架的思考

    1、beego框架的分析  小强最近在项目中遇到了一个很奇怪的问题:在整改日志规范时,为了避免影响现有的代码结构以及改动尽可能小的前提下,在调用记日志的SDK处将某一个字段值首字母改为大写,代码示例如下:  fmt.Println(“--------SayHello begin------------”)  //项目中这里的a实际是作为参数传入,只是可能为空串,不为空串,这样写肯定没问题  a := “”  b := strings.ToUpper(a[:1]) + a[1:]  fmt.Println(“b is ”, b)  fmt.Println(“--------SayHello end------------”)  this.Ctx.Output.Body(this.Ctx.Input.RequestBody)  项目中这里的a变量其实是作为参数传入,只是可能为空串。a变量不为空串时,这样写肯定没问题。但是当为空串时,即“”时,就会出问题,在java中,运行的时候肯定会报一个“数组下表越界”的异常。小强将工程编译后生成二进制文件,放到服务器上跑,测试修改后的日志是否符合规范,验了一遍,没有问题,然后就将代码提交了。原作者:小碗汤

    2022-10-18 14:38

  • 揭开RCRC和RC探针的神秘面纱应用笔记

    An ideal probe would provide an exact replica of a signal being probed. However, the probe becomes a part of the circuit under test, because the probe introduces probe loading to the circuit.

    2018-10-16 10:22