spi

TL437x-EVM基于TI Sitara系列 ARM Cortex-A9的开发板

本秂侑毒 提交于 2021-01-08 20:12:35
创龙TL437x-EVM是一款基于TI Sitara系列AM4376/AM4379 ARM Cortex-A9高性能低功耗处理器设计的评估板,由核心板与底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。 评估板接口资源丰富,引出双路千兆网口、双路CAMERA、双路CAN、HDMI、GPMC等接口,支持电容触摸屏与电阻触摸屏,方便用户快速进行产品方案评估与技术预研。 ​ 图 1 评估板正面图 软硬件参数 硬件 框图 ​ 图 2评估板硬件框图 ​ 图 3 评估板硬件资源图解1 ​ 图 4 评估板硬件资源图解2 硬件参数 表 1 CPU CPU:TI Sitara AM4376/AM4379 ARM Cortex-A9,主频1GHz 2x PRU-ICSS,每个PRU-ICSS子系统含2个PRU(Programmable Real-time Unit)核心,共4个PRU核心,支持EtherCAT等协议(仅限AM4379) 1x SGX530 3D图形加速器(仅限AM4379) ROM 512M/1GByte NAND FLASH 4Kbit FM24CL04B-GTR FRAM RAM 512M/1GByte DDR3 B2B Connector 2x 60pin公座B2B连接器,2x 60pin母座B2B连接器,共240pin,间距0

如何设计分层架构和交互接口 API ?

为君一笑 提交于 2021-01-07 07:30:38
架构设计流程 在「 如何建立架构师的立体化思维? 」这篇文章中, 老兵哥 跟大家一起聊到架构设计涉及业务、技术、系统和时间等几个维度,也知道从技术维度可以将应用分成七层,那具体怎么做呢?今天我们继续来聊聊分层架构的设计流程,以及接口设计方法等内容。通常,我们可以将分层架构的设计流程分解为下列 4 个步骤: 第一步,结合现实情况,将系统划分成多个层次。 第二步,确定层与层之间的关系,梳理出层与层之间的交互接口。 第三步,将功能相近的接口划归到一个模块,确保模块高内聚,对外低耦合。 第四步,在此基础上进一步明晰接口的参数列表。 仅仅四个步骤就完成了架构设计吗?这会不会太简单空洞了呢?各位看官,不要着急,请听蔡老师慢慢道来,每个步骤都有极具可操作性的方法及工具。 图 5 架构设计流程 层次的切分方法 面对一个庞然大物,你该如何下手呢?不用担心,这已经给你准备了庖丁解牛的方法,轻轻松松把一个复杂的大系统变得可以掌控了。 第一刀: 按照这套方法论来进行架构设计,最理想的情况是将 X 轴切分成七层。而第一刀应该先切在业务和领域之间,即通过 API 把两边解耦。交互和业务跟用户关联度高,经常随需求变化而改动,而领域和资源相对比较稳定。 第二刀: 考虑到要完成某些业务功能,系统可能需要调用外部系统协同完成,为了保证领域层相对稳定,我们需要隔离外部系统或数据持久层变化带来的影响

用于汽车事件数据记录器中的Cypress非易失性FRAM

浪子不回头ぞ 提交于 2021-01-05 16:45:29
CYPRESS 串行非易失性存储器为关键任务数据捕获提供卓越的性能和可靠性。Excelon铁电存储器FRAM系列提供高速非易失性数据记录功能,即使在极端温度下在恶劣的汽车和工业操作环境中也可防止数据丢失。Excelon Auto系列提供2Mb至4Mb的汽车级密度,而Excelon Ultra系列则提供4Mb至8Mb的工业级密度。这两款产品均提供低引脚数的小封装选项,使其非常适合广泛的高级汽车和工业应用。 Excelon Auto系列提供AEC-Q100扩展温度选项且符合功能安全。Excelon Ultra系列提供108MHz四通道串行外围设备接口(SPI)性能,性能优于传统存储器。Excelon系列固有的NoDelay TM即时写入功能,同时还消除了传统技术中由于易失数据缓冲器而导致的停电“高风险数据”,并采用了减少引脚数的QFN封装。该系列具有1.71V至3.6V的宽电压工作电压,并采用符合RoHS的行业标准封装,与EEPROM和其他非易失性存储器芯片引脚兼容。所有 Cypress FRAM 均提供100万亿(10 14)在85°C下具有10年数据保留或65°C下151年数据保留的读/写循环寿命。 能够在汽车数据记录器中即时捕获最后事件数据的能力改变了碰撞取证的规则,尤其是随着半自动和全自动汽车的部署不断增加。赛普拉斯分部。“此外,工业4.0部署还需要高速和高可靠性的数据记录

Nerves Project Circuits SPI Clock not initialised

我与影子孤独终老i 提交于 2021-01-05 07:23:07
问题 I cannot get the SPI to work. I am trying to interface an IC mcp2515. It is an SPI to CAN interface. I probed the CE pins (GPIO 8 and GPIO 7) and SCLK (GPIO 11) with the oscilloscope but got nothing. these are deps defp deps do [ {:nerves, "~> 1.6.3", runtime: false}, {:shoehorn, "~> 0.6.0"}, {:ring_logger, "~> 0.8.1"}, {:toolshed, "~> 0.2.13"}, {:vintage_net_wizard, "~> 0.4.0"}, {:circuits_uart, "~> 1.4"}, {:circuits_gpio, "~> 0.4.6"}, {:nerves_leds, "~> 0.8.1"}, {:circuits_spi, "~> 0.1.5"},

Nerves Project Circuits SPI Clock not initialised

笑着哭i 提交于 2021-01-05 07:23:04
问题 I cannot get the SPI to work. I am trying to interface an IC mcp2515. It is an SPI to CAN interface. I probed the CE pins (GPIO 8 and GPIO 7) and SCLK (GPIO 11) with the oscilloscope but got nothing. these are deps defp deps do [ {:nerves, "~> 1.6.3", runtime: false}, {:shoehorn, "~> 0.6.0"}, {:ring_logger, "~> 0.8.1"}, {:toolshed, "~> 0.2.13"}, {:vintage_net_wizard, "~> 0.4.0"}, {:circuits_uart, "~> 1.4"}, {:circuits_gpio, "~> 0.4.6"}, {:nerves_leds, "~> 0.8.1"}, {:circuits_spi, "~> 0.1.5"},

嵌入式单片机之STM32F103C8T6最小系统板电路设计参考

会有一股神秘感。 提交于 2021-01-05 06:04:17
STM32F103C8T6最小系统板电路设计      一。电源部分   设计了一个XH插座,以便使用3.7V锂电池供电,接入电压不允许超过6V。      二。指示灯部分      电源指示灯可以通过一个短路帽控制亮灭,以达到节电的目的。   三。复位电路      四。按键电路      KEY_1为用户自己定义   RST复位按键   WKUP为唤醒按键。   RST按键的作用:   程序下载的方式是SWD模式,BOOT0和BOOT1都接地,单片机一上电就会执行用户程序,所以不支持串口下载。      五。OLED电路      支持IIC和SPI两种通信模式   六。扩展口         七。电源部分      TIM1的CH1和CH2输出PWM控制一个轮子的转速。   TIM1的CH3和CH4控制一个轮子的转速。   TIM4的CH1和CH2控制一个轮子的转速。   TIM4的CH3和CH4控制一个轮子的转速。   每一个轮子都可以独立的控制正转,反转和速度。   避障模块用3个引脚   寻迹模块用3个引脚   测速模块用4个引脚(定时器的捕获功能)用于检测每个轮子的转速   PB10到PB15用于2.4G的无线通信模块   32.768K晶振,它的负载电容不能用12.5pF,推荐负载电容为6pF的晶振。 还是分享些相应的资料便于学习参考 (零基础电子产品设计)

Dubbo面试题(2020最新版)

不问归期 提交于 2021-01-05 01:42:02
基础知识 为什么要用 Dubbo? 随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架。就这样为分布式系统的服务治理框架就出现了,Dubbo 也就这样产生了。 Dubbo 是什么? Dubbo 是一款高性能、轻量级的开源 RPC 框架,提供服务自动注册、自动发现等高效服务治理方案, 可以和 Spring 框架无缝集成。 Dubbo 的使用场景有哪些? 透明化的远程方法调用:就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。 软负载均衡及容错机制:可在内网替代 F5 等硬件负载均衡器,降低成本,减少单点。 服务自动注册与发现:不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。 Dubbo 核心功能有哪些? Remoting:网络通信框架,提供对多种NIO框架抽象封装,包括“同步转异步”和“请求-响应”模式的信息交换方式。 Cluster:服务框架,提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。 Registry:服务注册,基于注册中心目录服务

NRF24L01 Protocol decoder:nrf24l01

ぃ、小莉子 提交于 2021-01-04 08:54:00
https://sigrok.org/wiki/Protocol_decoder:Nrf24l01 Protocol decoder:nrf24l01 nrf24l01 Name nRF24L01(+) Description 2.4GHz transceiver chip Status supported License GPLv2+ Source code decoders/nrf24l01 Input spi Output nrf24l01 Probes — Optional probes — Options chip The nrf24l01 protocol decoder supports the protocol spoken by the Nordic Semiconductor nRF24L01 and nRF24L01+ 2.4GHz transceiver chips. Contents [ hide ] 1 Hardware 2 Protocol 3 Variants and clones of the chip 4 Decoder 5 Resources Hardware Modules with these chips can be purchased fairly inexpensive from various online marketplaces

java_SPI机制

荒凉一梦 提交于 2021-01-04 04:02:47
简介 SPI(Service Provider Interface)服务提供接口,是指的一种服务发现机制,为某个特定的接口寻找服务的实现。在大规模的软件开发中经常采用这样的机制,实现模块之间基于接口编程,隐藏其实现细节,不同的服务提供商进行扩展实现,最终实现无需修改代码即可调用,实现完全无代码入侵。 使用 创建一个接口: public interface TestSpiService { void doSomething(); } 创建两个实现类: public class TestSpiServiceImpl1 implements TestSpiService { @Override public void doSomething() { System.out.println("TestSpiServiceImpl1"); } } public class TestSpiServiceImpl2 implements TestSpiService { @Override public void doSomething() { System.out.println("TestSpiServiceImpl2"); } } 然后在src/main/resources/目录下创建子目录META-INF/services.创建一个以接口全限定名com.xll.spi

C语言,环形队列

不羁的心 提交于 2021-01-03 16:34:10
什么是环形队列? 环形缓冲区是一个非常典型的数据结构,这种数据结构符合生产者,消费者模型,可以理解它是一个水坑,生产者不断的往里面灌水,消费者就不断的从里面取出水。 那就可能会有人问,既然需要灌水,又需要取出水,为什么还需要开辟一个缓冲区内存空间呢? 直接把生产者水管的尾部接到消费者水管的头部不就好了,这样可以省空间啊。 答案是不行的, 生产者生产水的速度是不知道的,消费者消费水的速度也是不知道的,如果你强制接在一起,因为生产和消费的速度不同,就非常可能存在水管爆炸的情况,你说这样危险不危险? 在音频系统框架下,alsa就是使用环形队列的,在生产者和消费者速度不匹配的时候,就会出现xrun的问题。 环形队列的特点 1、数组构造环形缓冲区 假设我们用数组来构造一个环形缓存区,如下图 我们需要几个东西来形容这个环形缓冲区,一个的读位置,一个是写位置,一个是环形缓冲区的长度 从图片看,我们知道,这个环形缓冲区的读写位置是指向数组的首地址的,环形缓冲区的长度是 5 。 那如何判断环形缓冲区为空呢? 如果 R == W 就是读写位置相同,则这个环形缓冲区为空 那如何判断环形缓冲区满了呢? 如果 (W - R )= Len ,则这个环形缓冲区已经满了。 2、向环形缓冲区写入 3个数据 写入 3 个数据后,W 的值等于 3 了,R 还是等于 0。 3个企鹅已经排列 3、从环形缓冲区读取2个数据