spi

2020年Dubbo30道高频面试题!还在为面试烦恼赶快来看看!

爱⌒轻易说出口 提交于 2020-08-05 16:48:01
前言 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方式在dubbo上注册)。 很多时候,其实我们使用这个技术的时候,可能都是因为项目需要,所以,我们就用了,但是,至于为什么我们需要用到这个技术,可能自身并不是很了解的,但是,其实了解技术的来由及背景知识,对于理解一项技术还是有帮助的。 关于Dubbo的知识总结了个思维导图 Dubbo 面试题 1、为什么要用 Dubbo? 2、Dubbo 的整体架构设计有哪些分层? 3、默认使用的是什么通信框架,还有别的选择吗? 4、服务调用是阻塞的吗? 5、一般使用什么注册中心?还有别的选择吗? 6、默认使用什么序列化框架,你知道的还有哪些? 7、服务提供者能实现失效踢出是什么原理? 8、服务上线怎么不影响旧版本? 9、如何解决服务调用链过长的问题? 10、说说核心的配置有哪些? 11、Dubbo 推荐用什么协议? 12、同一个服务多个注册的情况下可以直连某一个服务吗? 13、画一画服务注册与发现的流程图? 14、Dubbo

单片机外围电路设计攻略(终结版)! 不看哭一年!

强颜欢笑 提交于 2020-08-05 11:39:00
技巧一:采用齐纳二极管的低成本供电系统 这里详细说明了一个采用齐纳二极管的低成本稳压器方案。 可以用齐纳二极管和电阻做成简单的低成本 3.3V稳压器,如图 2-1 所示。在很多应用中,该电路可以替代 LDO 稳压器并具成本效益。但是,这种稳压器对负载敏感的程度要高于 LDO 稳压器。另外,它的能效较低,因为 R1 和 D1 始终有功耗。R1 限制流入D1 和 PICmicro® MCU的电流,从而使VDD 保持在允许范围内。由于流经齐纳二极管的电流变化时,二极管的反向电压也将发生改变,所以需要仔细考虑 R1 的值。 R1 的选择依据是:在最大负载时——通常是在PICmicro MCU 运行且驱动其输出为高电平时——R1上的电压降要足够低从而使PICmicro MCU有足以维持工作所需的电压。同时,在最小负载时——通常是 PICmicro MCU 复位时——VDD 不超过齐纳二极管的额定功率,也不超过 PICmicro MCU的最大 VDD。 技巧二:使用LDO稳压器,从5V电源向3.3V系统供电 标准三端线性稳压器的压差通常是 2.0-3.0V。要把 5V 可靠地转换为 3.3V,就不能使用它们。压差为几百个毫伏的低压降 (Low Dropout, LDO)稳压器,是此类应用的理想选择。图 1-1 是基本LDO 系统的框图,标注了相应的电流。从图中可以看出, LDO

STM32之SD卡【写的太好了 转载 】

耗尽温柔 提交于 2020-08-05 04:57:17
https://www.cnblogs.com/amanlikethis/p/3757876.html#lab11 目录 一、SD卡概述    1、定义    2、容量等级    3、SD卡框图    4、SD卡与TF卡的区别 二、 SD卡内部结构    1、 SD卡内部结构简图    2、 存储阵列结构图    3、Buffer    4、“存储阵列Block”--最小的存储单元    5、SD卡的特殊功能寄存器 三、SDIO接口 四、SD卡协议的核心--数据读、写、擦除    1、SD卡写数据块    2、SD卡读数据块    3、擦除SD卡 五、SD卡物理层协议    1、接口    2、命令格式    3、响应格式    4、SD卡的工作状态    5、SD卡的两种状态信息 六、STM32与SD卡相配的外设--SDIO适配器    1、SDIO adapter 结构图    2、命令状态机(CPSM)    3、数据通道状态机(DPSM)    4、SDIO的FIFO    5、SDIO的特殊功能寄存器 七、SD卡编程    1、SD卡编程的内容    2、SD卡初始化    3、读SD卡的一个块    4、写SD卡的一个块 八、SD卡疑惑    1、SD卡擦除后,其中的内容是0,还是1 ?    2、在SDIO_DCTRL中设置传输Block的要求   3

AG9310MFQ规格书|AG9310MFQ应用|内置SPI USB TYPE-C转HDMI方案讲解

孤街醉人 提交于 2020-07-29 07:58:45
一、AG9310-MFQ功能概述 ALGOLTEK(安格) AG9310MFQ是一款实现USB Type-C 转HDMI数据转换器。支持USB Type-C 显示端口替代模式,AG9310MFQ可以将视频和音频流从USB Type-C 接口传输到HDMI端口。在AG9310MFQ中,支持1路、2路@1.62Gbps、2.7Gbps和5.4Gbps频率输入的不同配置,HDMI支持4K2K@30Hz输出。产品制造商可以使用AG9310MFQ应用程序轻松实现Type-C 转HDMI数据转换器转接,且AG9310MFQ无需外挂SPI,在设计过程中,节省板子空间以及方案成本更低,性价比较其他方案更好一些,更具有优势。 二、 AG9310-MFQ特性 嵌入式16位MCU AG9310支持EDID和MCC直通 支持热插拔检测 AG9310内置SPI闪存,可提供在线升级 支持嵌入式HDCP 1.4 1.2V核心电源和3.3V I/O电源 嵌入式5V/1.2V高效稳压器 同时显示通过HDMI输出 2KV ESD性能 支持下行扩频时钟(SSC) 三、AG9310-MFQ设备信息 四、 AG9310-MFQ应用场景 USB Type-C 转换器 USB Type-C扩展坞 电视/投影仪Type-C接口连接 图1 Type-C 转HDMI转换器的应用 五、 AG9310-MFQ系统框图 六、 AG9310

基于Zynq的数据采集系统设计与调试(三) —— FIFO的使用

喜夏-厌秋 提交于 2020-07-29 03:21:04
前言: FIFO是数据采集系统中必不可少的环节,AD采回来的数据要送至ARM/DSP处理,或将采回来的数据写到本地,都需要解决读写速度匹配问题,解决这类问题,首选FIFO。 在我们的设计当中,使用的是ADI公司的AD7989,18bit,100KSPS,采用三线SPI数据传输模式。采用两级FIFO,第一级FIFO用于缓存AD采样点数据,第二级FIFO用于DMA数据传输。 一. FIFO的使用 在本设计中,将数据这样打包:一个package包含1024个字(4096Byte)其中1020个AD采样数据点(AD采样数据扩展成32bit),4个字的数据包信息:通道号(有两个通道)、块号(package编号)、触发信号位置、CRC校验码。 第一级FIFO(FIFO1)缓存AD采样点,时钟与AD时钟相同,都是50MHz,第二级FIFO(FIFO2)从第一级FIFO取数据,当取到1020个数据时,就往FIFO2中写4个字的数据包信息,第二级FIFO用于DMA将数据流送至内存DDR3的数据缓存。FIFO2采用异步时钟,因为触发信号(Trig)是一个脉冲,触发信号模块使用的时钟也是50MHz,因此写时钟仍然是50MHz,读时钟采用DMA时钟(200MHz)。FIFO都是Xilinx Vivado下自带的IP core。 FIFO1的写使能信号是ad模块的ad_data_rdy

可编程逻辑控制器专用MRAM—MR0A16A

谁都会走 提交于 2020-07-28 18:29:16
Everspin的1Mb x16并行接口MRAM现在被设计用于Koyo Electronics Industries的新型Direct Logic 205(DL205)系列可编程逻辑控制器(PLC)。Koyo的DL205 PLC是该公司产品组合中最可配置和最通用的解决方案,它支持多达五种不同的CPU类型,多达16,384个I/O点,多种通讯选项,人机界面(HMI)和多达16种的PID控制器内置循环。与其他标准主流存储器不同,Everspin的MRAM可在恶劣环境下实现数据完整性和可靠性,并在断电且无需电池的情况下即时保存事件。 除了满足对无电池PLC系统的需求之外,Everspin MRAM还使DL205系列PLC具有高度可靠和强大的内存,从而使汽车和工业客户受益。此外,该系统扩展到人机界面(HMI)产品,以满足日益增长的客户对系统可靠性,降低拥有成本和环保管理的期望。 Koyo Electronics的DL205系列PLC和扩展模块使用Everspin的1兆并行接口(MR0A16A)MRAM。Everspin MRAM是市场上最快的真正的非易失性存储器,具有极高的数据保留能力和耐用性,并提供多种封装,接口(SPI,QSPI,x8和x16并行)和密度。 MR0A16A是一个1,048,576位磁阻随机存取存储器(MRAM)器件,由65,536个16位字组成。

RT-Thread Studio 使用笔记(二):如何使用SPI设备

只愿长相守 提交于 2020-07-28 13:09:15
写在最前 使用RT-Thread Studio开发环境开发STM32单片机程序,与MDK使用env有一定的差别,对于刚开始使用的程序员来说,主要是找不到配置选项在哪里,上一篇介绍了TIM设备的使用方法,这篇介绍SPI的使用方法,流程与TIM类似。 大致总结为以下几个步骤: 在RT-thread settings中使能对应的驱动框架 在stm32f4xx_hal_conf.h中使能对应的模块(HAL_XX_MODULE_ENABLED) 在board.h中启用外设类型对应的宏定义板级支持,通道号以及IO口等参数(BSP_USING_XX) 使用STM32CubMx生成对应的初始化代码,并考入board.c中(HAL_XX_MspInit) 进行应用层设备初始化,使用设备 使用SPI设备示例 在RT-thread settings中使能对应的驱动框架,使能SPI。 在stm32f4xx_hal_conf.h中使能对应的模块(HAL_XX_MODULE_ENABLED) 在board.h中启用外设类型对应的宏定义板级支持,通道号以及IO口等参数(BSP_USING_XX) 使用STM32CubMx生成对应的初始化代码,并考入board.c中(HAL_XX_MspInit) 进行应用层设备初始化,使用设备(W5100S为例) /*******************************

软件项目管理 第3版 第15章习题答案 参考答案

空扰寡人 提交于 2020-07-28 07:46:11
[填空][软件开发] 1、 软件项目中的()成本是总成本的主要部分。 [填空][进度落后] 2、 当SV=BCWP-BSWS<0时,表示项目()。 [填空][质量控制] 3、 代码评审由一组人对程序进行阅读、讨论和争议,它是()过程。 [填空][已获取价值分析] 4、 挣值分析法也称为(),是对项目的实施进度、成本状态进行绩效评估的有效方法。 [填空][11] 5、 一项任务正常进度是10周,成本是10万元,可以压缩到8周,成本变为12万元,那么压缩到9周时的成本是()。 [填空][可以接受的过程的偏差范围] 6、 从质量控制图的控制上限和控制下线,可以知道()。 [填空][变更] 7、 范围控制的重点是避免需求的()。 [填空][75%] 8、 一个任务原计划3个人全职工作2周完成,而实际上只有2个人参与这个任务,到第二周末完成了任务的50%,则CPI=()。 [是非][A] 1、 记录反映当前项目状态的项目性能数据时控制项目的基础。() [A]正确 [B]错误 [是非][A] 2、 项目进度成本控制的基本目标是在给定的限制条件下,用最短时间、最小成本、以最小风险完成项目工作。() [A]正确 [B]错误 [是非][A] 3、 代码走查是在代码编写阶段,开发人员自己检查自己的代码。() [A]正确 [B]错误 [是非][B] 4、 在使用应急法压缩进度时

创龙基于TI AM5728浮点双DSP C66x +双ARM Cortex-A15视频输入拓展口(V-PORT)

假装没事ソ 提交于 2020-07-27 12:21:12
处理器 基于TI A M5728浮点 双 DSP C66 x +双ARM Cor t ex-A15 工业 控制及高性能 音 视频处理器 。 拥有多种工业接口资源,下图 为 A M5728 CPU资源框图: 视频输入 拓展 口(V-POR T ) 底板CON22 口为视频输入拓展 口 , 以48 pin的 欧式端子公 座 连接器 引出了 CPU 视频 输入 通道的VIN4 和 SPI2 、 I2C4 。 可以配套 广州 创龙 视频 输入拓展 模块 使用 , 如:TVP5158 四 路D1视频采集模块, GV 7601 HD- SD I视频采集模块 等 。 来源: oschina 链接: https://my.oschina.net/u/4169033/blog/4282641

一点一点实现一个RPC框架二 -- 学习java spi

♀尐吖头ヾ 提交于 2020-07-27 09:47:21
前言 深入dubbo源码前最好先了解下java spi(service provider interface)机制, 简单来说, spi可以帮我们加载指定文件中描述的接口实现类. 嗯...就这? 是不是太简单了, 虽然我是个菜瓜, 那我也知道Class.forName呀~ 那我们来研究下~ java spi demo 尽管千篇一律, 还是给出一个可运行demo // 首先你需要一个对外接口 public interface GreetOrBye { String say(String name); } // 以及两个实现类 public class Bye implements GreetOrBye { @Override public String say(String name) { return "bye " + name; } } public class Greet implements GreetOrBye { @Override public String say(String name) { return "hi " + name; } } //然后是执行类 public class Launcher { public static void say(String name) { ServiceLoader<GreetOrBye>