spi

MPU6050工作原理及STM32控制MPU6050

天涯浪子 提交于 2020-12-08 07:25:56
一·简介: 1.要想知道MPU6050工作原理,得先了解下面俩个传感器: ①陀螺仪传感器:   陀螺仪的原理就是,一个旋转物体的旋转轴所指的方向在不受外力影响时,是不会改变的。人们根据这个道理,用它来保持方向。然后用多种方法读取轴所指示的方向,并自动将数据信号传给控制系统。我们骑自行车其实也是利用了这个原理。轮子转得越快越不容易倒,因为车轴有一股保持水平的力量。现代陀螺仪可以精确地确定运动物体的方位的仪器,它在现代航空,航海,航天和国防工业中广泛使用的一种惯性导航仪器。传统的惯性陀螺仪主要部分有机械式的陀螺仪,而机械式的陀螺仪对工艺结构的要求很高。70年代提出了现代光纤陀螺仪的基本设想,到八十年代以后,光纤陀螺仪就得到了非常迅速的发展,激光谐振陀螺仪也有了很大的发展。光纤陀螺仪具有结构紧凑,灵敏度高,工作可靠。光纤陀螺仪在很多的领域已经完全取代了机械式的传统的陀螺仪,成为现代导航仪器中的关键部件。光纤陀螺仪同时发展的除了环式激光陀螺仪外。 ②加速度传感器: 加速度传感器是一种能够测量加速度的传感器。通常由质量块、阻尼器、弹性元件、敏感元件和适调电路等部分组成。传感器在加速过程中,通过对质量块所受惯性力的测量,利用牛顿第二定律获得加速度值。根据传感器敏感元件的不同,常见的加速度传感器包括电容式、电感式、应变式、压阻式、压电式等。 其实说简单点

一个基于STM32实现的多组分气体分析仪项目

大憨熊 提交于 2020-12-07 08:10:02
本篇将简要的总结一下一个基于STM32F412ZG实现的多组分气体分析仪的项目。简要描述该项目的软硬件设计及其验证。 一、项目概述 多组分气体分析仪是我公司近期研发的三个主要产品之一。采用模块化设计,可增减配置,可分析混合气体中的氧气、氢气、甲烷、丙烷等气体的组分。氧气可以采用顺磁氧传感器、电化学氧传感器两种;氢气传感器可采用热式氢气传感器;炭氢传感器采用远红外气体传感,可探测甲烷和丙烷。气体组分的分析要求能够快速反应,运行稳定,对硬件的要求比较高。 二、硬件设计 在硬件方面充分考虑系统应用的需求,AD采集、DA输出、DI输入、DO输出以及通讯等。 通讯部分主要包括串口通讯与以太网通讯。以太网的通讯采用W5500以太网控制器与MCU通过SPI总线通讯,在本项目中使用SPI2来实现通讯,以太网通讯部分的硬件设计如下: 串口通讯主要对象有两个,远红外炭氢传感器和显示屏。远红外炭氢传感器采用单总线串行通讯,TTL电平。两路接口,通常一用一备,在需要时也可接两台传感器,如一台甲烷一台丙烷。硬件接口的设计如下: 对于显示屏其通讯接口采用RS485或者RS232。主要是因为面向不同的应用场合,在需要大显示屏的时候选择的是RS485接口,在普通小显示屏是使用的是RS232接口。但这两个屏不会同时使用所以采用一个USART口,实际使用的USART2通讯口

用Java开发的【智能语音开发板MEGA ESP32AI】

半腔热情 提交于 2020-12-07 01:41:09
有点激动 ~ ~ ~ 新鲜出炉,用视频看看效果哦 我们新研发出世的语音开发板 MEGA ESP32AI ,来看看吧,有点腻害哦!!!先演示下功能语音控制开关等、播报天气 戳下面链接看视频哦? MEGA ESP32AI(智能语音开发板)功能演示视频 这些都是怎么用Java开发的呢?接下来看看开发的视频? MEGA ESP32(智能语音开发板)开发演示视频 想试试吗?来看看MEGA ESP32入门手册吧 本帖内容目录 一、MEGA ESP32硬件及说明 二、安装SDK及新建工程 三、运行UartDemo 一、MEGA ESP32硬件及说明1、MEGA ESP32是JOSH基于ESP32模组开发的一款开发板。开发板硬件资源图如下所示 硬件资源说明 这里我们详细介绍MEGA ESP32的各个部分(图的标注部分)的硬件资源,我们将按逆时针的顺序依次介绍 ESP32模组 开发板核心模块,选用的是ESP32-WROVER-B通用型模组,功能强大,用途广泛,可用于低功耗传感器网络和要求极高的任务,如语音编解码等。支持wifi、BT/BLE,模组自带板载天线。CPU 时钟频率的调节范围为 80 MHz 到 240 MHz。用户可以关闭 CPU 的电源,利用低功耗协处理器监测外设的状态变化或某些模拟量是否超出阈值。ESP32 还集成了丰富的外设,包括电容式触摸传感器、SD 卡接口、以太网接口、高速

ESP32 开发笔记(三)源码示例 3_LEDC_PWM 使用LEDC实现LED呼吸灯

南笙酒味 提交于 2020-12-05 19:52:16
开发板购买链接 https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111deb2Ij1As&ft=t&id=626366733674 开发板简介 开发环境搭建 windows 源码示例: 0_Hello Bug (ESP_LOGX与printf) 工程模板/打印调试输出 1_LED LED亮灭控制 2_LED_Task 使用任务方式控制LED 3_LEDC_PWM 使用LEDC来控制LED实现呼吸灯效果 4_ADC_LightR 使用ADC读取光敏电阻实现光照传感 5_KEY_Short_Long 按钮长按短按实现 6_TouchPad_Interrupt 电容触摸中断实现 7_WS2812_RMT RGB_LED彩虹变色示例 8_DHT11_RMT 使用RMT实现读取DHT11温湿度传感器 9_SPI_SDCard 使用SPI总线实现TF卡文件系统示例 10_IIC_ADXL345 使用IIC总线实现读取ADXL345角度加速度传感器 11_IIC_AT24C02 使用IIC总线实现小容量数据储存测试 12_IR_Rev_RMT 使用RMT实现红外遥控接收扫码(NEC) 13_IR_Send_RMT 使用RMT实现红外数据发送(NEC) 14_WIFI_Scan 附近WIFI信号扫描示例 15_WIFI_AP

小心!基于UEFI引导的病毒,重装系统也清除不了

孤者浪人 提交于 2020-12-05 11:08:13
TrickBot是世界上最臭名昭著且适应性最强的恶意软件,它正在扩展其工具集,以将目光投向固件漏洞,以潜在地部署Bootkit并完全控制受感染的系统。 它利用易于使用的工具来检查设备是否存在众所周知的漏洞,这些漏洞可能使攻击者将恶意代码注入设备的UEFI / BIOS固件中,攻击者持久存储恶意软件的有效机制,从而重装系统也清除不了。 国际知名白帽黑客、东方联盟创始人郭盛华透露:“这标志着TrickBot的发展迈出了重要的一步,因为UEFI级植入物是最深,最强大,最隐蔽的形式。通过增加针对特定UEFI / BIOS固件漏洞的受害设备的功能,TrickBot恶意软件能够以固件级别的持久性来针对特定的受害者,这种持久性可以在重装系统,甚至设备绑定功能中幸存。” UEFI是固件接口,是BIOS的替代品,可提高安全性,确保没有恶意软件破坏启动过程。因为UEFI有助于加载操作系统本身,所以这种感染可以抵抗OS重新安装或更换硬盘驱动器。 TrickBot于2016年以银行木马的身份出现,但后来演变为一种多功能的恶意软件即服务(MaaS),该恶意软件利用其他旨在窃取凭据,电子邮件,财务数据和传播文件加密勒索软件的恶意负载感染系统例如Conti和Ryuk。 郭盛华透露:“他们最常见的攻击链主要是从垃圾邮件活动开始的,然后再加载TrickBot和/或其他加载程序,然后转移到诸如PowerShell

方案解读:为什么要选择LPC55系列做电竞鼠标键盘

大憨熊 提交于 2020-12-05 10:51:49
电竞 一词越来越热,农药、LOL、吃鸡不但在手游端大热无比,PC端也是热的发紫,电竞奥运会也指日可待。 随之而来的是电竞类的键盘、鼠标以及耳麦的热销。玩家拼手速的时代要求着键盘鼠标USB Report Rate的提高,不然王者般的手速到了USB发送报告给PC或者手机的时候由于带宽不够,物理上形成了中年人手速的结果,可就不好了。 客户有刚需,我们就有解决方案,NXP的代理商就推出了电竞键盘鼠标耳麦三合一的方案。本文就来说说LPC5500系列为啥适合此类应用。 电竞设备对MCU的要求 分析下电竞类的应用对MCU的要求: 第一要求对按键的响应要快速,支持光学传感器的高采样率 第二对USB Report Rate要极高 第三MCU要有低功耗的概念 第四是能够支持各种灯效,满足光污染和性能提升的要求 第五针对耳机应用,最好能支持多声道的I2S 第六是最关键的,能过通过各种USB兼容性的测试。 LPC5500系列特色 LPC5500系列产品针对以上需求,形成了自己家族化的产品,从低端的LPC551x系列,到中端需求的LPC552x系列,再到高端的LPC556x系列。来满足此类应用的高中低端的需求,形成一套软件架构打天下。 LPC5500家族功能表: 特色功能分析: LPC5500引入了高速USB的接口,可以让产品轻松打到2k Report Rate的速率,满足年轻人电竞手速的要求。

Dubbo系列-扬帆起航

好久不见. 提交于 2020-12-04 20:44:55
前言 接下来一段时间敖丙将带大家开启紧张刺激的 Dubbo 之旅!是的要开始写 Dubbo 系列的文章了,之前我已经写过一篇架构演进的文章,也说明了微服务的普及化以及重要性,服务化场景下随之而来的就是服务之间的通信问题,那服务间的通信脑海中想到的就是 RPC,说到 RPC 就离不开咱们的 Dubbo。 这篇文章敖丙先带着大家来 总览全局 ,一般而言熟悉一个框架你要先知道这玩意是做什么的,能解决什么痛点,核心的模块是什么,大致运转流程是怎样的。 你要一来就扎入细节之中无法自拔,一波 DFS 直接被劝退的可能性高达99.99%,所以本暖男敖丙将带大家先过一遍 Dubbo 的简介、总体分层、核心组件以及大致调用流程 。 不仅如此我还会带着大家过一遍如果要让你 设计一个 RPC 框架你看看都需要什么功能 ?这波操作之后你会发现嘿嘿 Dubbo 怎么设计的和我想的一样呢?真是英雄所见略同啊! 而且我还会写一个简单版 RPC 框架实现,让大家明白 RPC 到底是如何工作的。 如果看了这篇文章你要还是不知道 Dubbo 是啥,我可以要劝退了。 我们先来谈一谈什么叫 RPC ,我发现有很多同学不太了解这个概念,还有人把 RPC 和 HTTP 来进行对比。所以咱们先来说说什么是 RPC。 什么是 RPC RPC,Remote Procedure Call 即远程过程调用

Sentinel 集群限流设计原理

狂风中的少年 提交于 2020-12-03 07:42:51
做积极的人,越努力越幸运! 1、集群限流使用场景 首先一个服务有三个服务提供者,但这三台集群的硬件配置不一样,如图所示: 在这里插入图片描述 为了充分利用硬件的资源,诸如 Dubbo 都提供了基于权重的负载均衡机制,例如可以将8C16G的机器设置的权重是4C8G的两倍,这样充分利用硬件资源,假如现在需要引入 Sentinel 的限流机制,例如为一个 Dubbo 服务设置限流规则,这样由于三台集群分担的流量不均匀,会导致无法重复利用高配机器的资源。 假设经过压测,机器配置为C48G最高能承受的TPS为 1500,而机器配置为8C16G能承受的TPS为2800,那如果采取单机限流,其阔值只能设置为1500,因为如果超过1500,会将4C8G的机器压垮。 解决这种办法的方式就是针对整个集群进行限流,即为整个集群设置一个阔值,例如设置限流TPS为6000。 2、集群限流与单机限流的异同思考 限流的一个基本作用就是按照限流规则生成访问许可(Token),然后根据当前实时的调用信息进行判断是否可以获得许可而决定是否放行。 集群与单机限流在实时调用信息收集方面应该差别不大,都可以基于滑动窗口进行统计信息的收集。 集群与单机限流的最主要区别在与许可的生成,单机模式的许可直接在本地生成,但集群限流必须有一个统一的 Token 发放机制,以此来协调当前集群内多机调用,从而基于当前“调用总数”进行限流。

电机控制专用国产32位单片机MM32SPIN360C

此生再无相见时 提交于 2020-11-30 16:28:49
灵动微电子是本土领先的通用32位MCU产品及解决方案供应商,提供MM32 MCU基于Arm Cortex-M系列内核200多个型号,MM32 MCU被广泛应用于工业、电机、家电、消费玩具、手机平板配件、医疗、交通出行、显示及交互等领域。 灵动 可以为客户提供从优异芯片产品到核心算法和从完备参考设计方案到整机开发的全方位支持。 国产32位单片机MM32SPIN360C拥有M0内核的高性能32位微控制器,5V输出的LDO稳压器、三组具备有自举二极管的N通道半桥栅极驱动器。MCU最高工作频率可达96MHz,并内置SRAM高速存储器,增强丰富型I/O端口和外设连接到外部总线。采用QFN48封装形式。本产品包含2个12位的ADC、3个比较器、3个运算放大器、1个16位通用定时器、1个32位通用定时器、3个16位基本定时器、2个16位高级定时器。还包含标准的通信接口:1个I2C接口、1个SPI接口和2个UART接口。 国产32位MCU MM32SPIN360丰富的外设配置适合于三相永磁无刷电机和电动工具等应用场合。 MM32SPIN360C引脚封装 MM32SPIN360C特征 •内核与系统 –32位ARMCortex-M0处理器内核 –最高工作频率可达96MHz –单指令周期32位硬件乘法器 –硬件除法器(32Bit) –硬件开方(32bit) •存储器 –高达128K字节的闪存程序存储器

嵌入式学习笔记(综合提高篇 第一章) -- 利用串口点亮/关闭LED灯

对着背影说爱祢 提交于 2020-11-29 19:54:48
1 前言       从踏入嵌入式行业到现在已经过去了4年多,参与开发过的产品不少,有交换机、光端机以及光纤收发器,停车场出入缴费系统,二维码扫码枪,智能指纹锁以及数字IC芯片开发等; 涉及产品中中既有STM和Nuvoton这类通用芯片,也有Nordic-52832,Nordic-52810,易兆微这种专用的蓝牙芯片,还包含用于WIFI设备的ESP32芯片,以及专业的指纹/二维码安全芯片,当然也参与过基于ARM9内核的Linux的嵌入式服务器开发和维护,更详细的参与了异步双核MCU的验证工作和库开发,虽然它们内核和性能参数各异,甚至开发工具也大不相同,但是经过工作积累,就会发现这些MCU的开发都有比较清晰的流程,难度往往并不在本身的驱动调试开发部分。协议/安全/稳定性,图像/GUI/视频处理,性能/电源管理/低功耗,行业相关需求,这些知识在产品开发中才是最重要的。   在有了C语言基础,熟悉常见的开发工具如keil,Iar或者arm-gcc,了解芯片的基本I/O和寄存器配置后,底层模块的驱动在整个产品开发流程中其实是占比最少的一部分,而RTOS选用/移植,任务管理/通讯,复杂协议如(TCP/IP, USB, BLE)等的移植运用,功能逻辑实现,软/硬件功能调试,以及后期功能测试才是项目的主要部分,而这些往往是初期很难了解,也不知道如何去掌握的知识