spi

STM32固件库详解

女生的网名这么多〃 提交于 2020-11-06 05:55:27
emouse原创文章,转载请注明出处 http://www.cnblogs.com/emouse/ 应部分网友要求,最新加入固件库以及开发环境使用入门视频教程,同时提供例程模板,个人录制,欢迎指正。下载地址: http://dl.dbank.com/c0w0ehqynd 2013.3补充在线视频教程 最近考试较多,教材编写暂停了一下,之前写了很多,只是每一章都感觉不是特别完整,最近把其中的部分内容贴出来一下,欢迎指正。本文内容基于我对固件库的理解,按照便于理解的顺序进行整理介绍,部分参考了固件库的说明,但是也基本上重新表述并按照我理解的顺序进行重新编写。我的目的很简单,很多人写教程只是告诉你怎么做,不会告诉你为什么这么做,我就尽量吧前因后果都说清楚,这是我的出发点,水平所限,难免有很大的局限性,具体不足欢迎指正。 1.1 基于标准外设库的软件开发 1.1.1 STM32标准外设库概述 STM32标准外设库之前的版本也称固件函数库或简称固件库,是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。该函数库还包括每一个外设的驱动描述和应用实例,为开发者访问底层硬件提供了一个中间API,通过使用固件函数库,无需深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。因此,使用固态函数库可以大大减少用户的程序编写时间,进而降低开发成本。每个外设驱动都由一组函数组成

为什么芯片都离不开ARM?

被刻印的时光 ゝ 提交于 2020-11-03 07:55:03
说起高通的骁龙芯片,听说的大有人在,但是说起ARM,听过的人可能比较少。 ARM,即使一家公司,也是一种技术,还是一种构架。 目前移动处理器、单片机等的内核95%都是基于ARM。 高通的芯片自然也离不开ARM构架。 什么是ARM ARM公司来源于英国,是IP(半导体知识产权)提供商,自己不设计芯片、不生产芯片,只设计指令集、IP内核等,然后把这些内容授权给其他的半导体公司,如高通、恩智浦、意法半导体、TI、苹果等,由他们来设计芯片、生产芯片,于是世界上多数的移动处理器和单片机等虽然是各个不同的半导体厂商提供的,但都流淌着ARM的血液,这是一条非常成功的商业模式。 ARM如何授权 ARM将技术授权给半导体厂商,从中收取授权费用,其授权模式具有三种,分别为: 1) 使用层级授权 ; 2) 内核层级授权 ; 3) 架构/指令集层级授权 等。这三种授权模式的权限依次上升。 使用层级的授权是最低权限的 ,只能使用已经封装好的ARM核心,不能更改内核的设计,也不能基于内核拓展新的封装产品。 内核层级的授权 ,是指以所授权的内核为核心,在其基础上增加自己的需求,如增加GPIO、SPI通信、IIC通信、UART通信等片上资源,我们所使用的单片机多是这种模式,如STM32系列的单片机等。 构架/指令集授权 ,这个是最高权限的授权,用户被授权后可以对指令集进行修改、对内核再封装,形成自己的CPU

Cortex-A9/A8 ARM工业核心板

纵饮孤独 提交于 2020-11-03 03:10:47
SOM-TL335x核心板 创龙SOM-TL335x是一款基于TI Sitara系列AM3352/AM3354/AM3359 ARM Cortex-A8高性能低功耗处理器设计的低成本工业级核心板,通过工业级B2B连接器引出千兆网口、HDMI、GPMC等接口。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。 用户使用核心板进行二次开发时,仅需专注上层运用,降低了开发难度和时间成本,可快速进行产品方案评估与技术预研。 图 1 核心板正面图 图 2 核心板背面图 SOM-TL437x 创龙SOM-TL437x是一款基于TI Sitara系列AM4376/AM4379 ARM Cortex-A9高性能低功耗处理器设计的工业级核心板,通过工业级B2B连接器引出千兆网口、HDMI、CAMERA、GPMC、CAN等接口。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。 用户使用核心板进行二次开发时,仅需专注上层运用,降低了开发难度和时间成本,可快速进行产品方案评估与技术预研。 图 3核心板正面图 图 4 核心板背面图 参数对比 关键参数 核心板型号 SOM-TL437x SOM-TL335x CPU TI AM4376/79 TI AM3352/54 架构 ARM Cortex-A9 ARM Cortex-A8 主频

Everspin MRAM MR2xH40xDF可替换CY15B104QN

旧街凉风 提交于 2020-11-02 15:24:07
Everspin器件是一个40MHz/50MHz MRAM,工作于2.7V-3.6V,标称Vdd=3.3V,而SPI FRAM具有更宽的工作电压范围(1.8V至3.6V)。在使用SPI-MRAM替换SPI-FRAM之前,有几个参数需要进行一些系统级分析,包括输出负载,启动时间以及加电和断电斜坡。Everspin代理宇芯电子为广大用户提供关于产品技术支持及解决方案等。 比较的可靠性考虑 CY15B104QN FRAM架构采用铁电材料作为存储设备。这些材料的固有电偶极子在外部电场的作用下转换为相反的极性。 FRAM 中的读取操作具有破坏性,因为它需要切换极化状态才能感知其状态。在初始读取之后,读取操作必须将极化恢复到其原始状态,这会增加读取操作的周期时间。FRAM的读和写周期需要一个初始的“预充电”时间,这可能会增加初始访问时间。超过85°C的环境工作温度会加速FRAM的磨损,因为会积聚自由电荷,从而导致烙印。 Everspin MRAM 将提供最具成本效益的非易失性RAM解决方案。MR2xH40xDF MRAM使用更简单的1晶体管1磁性隧道结单元构建。简单的Everspin MRAM单元可提高制造效率并提高可靠性。MRAM使用磁性隧道结技术进行非易失性存储。在高温下,数据不会泄漏出去,并且没有磨损机制可以限制该技术中的读取,写入或电源循环次数

STM32(五)- NVIC与EXTI

旧街凉风 提交于 2020-10-31 06:40:11
一、NVIC 中断结构框图 向量表 中断类型: (1)系统异常,体现在内核水平 (2)外部中断,体现在外设水平 NVIC:嵌套向量中断控制器,控制整个芯片中断相关的功能,跟内核紧密耦合管理包括内核和片上所有外设的中断相关功能。内核外设。各芯片厂商在设计芯片是会对Cortex-M3内核里面的NVIC进行裁剪,去掉不需要部分,STM32的NVIC是Contex-M3d NVIC的一个子集。 两个重要库文件:core_cm3.h(内核外设的寄存器定义)和misc.h 1 typedef struct 2 { 3 __IO uint32_t ISER[ 8 ]; /* !< Offset: 0x000 Interrupt Set Enable Register/中断使能寄存器 */ 4 uint32_t RESERVED0[ 24 ]; 5 __IO uint32_t ICER[ 8 ]; /* !< Offset: 0x080 Interrupt Clear Enable Register/中断清除寄存器 */ 6 uint32_t RSERVED1[ 24 ]; 7 __IO uint32_t ISPR[ 8 ]; /* !< Offset: 0x100 Interrupt Set Pending Register/中断使能悬起寄存器 */ 8 uint32_t RESERVED2[

FPGA学习之路—接口(3)—SPI详解及Verilog源码分析

霸气de小男生 提交于 2020-10-30 04:43:19
本文以SPI Master控制器为例来对Verilog源码进行分析,参考资料为《VERILOG HDL应用程序设计实例精讲》,仅供学习参考,项目在文章末尾给出下载链接。 FPGA学习之路——SPI详解及Verilog源码分析 概述 SPI = Serial Peripheral Interface,是串行外围设备接口,是一种高速,全双工,同步的通信总线。 优点 支持全双工 支持高速 协议支持字长不限于8bit,可以根据应用灵活选择消息字长。 硬件连接简单 缺点 相比I2C多两条线 没有寻址机制,只能靠片选选择不同的设备 没有回应ACK机制,主设备不知道消息发送是否成功 典型应用仅支持单主控 硬件结构 信号定义 SCK:Serial Clock,时钟信号,由主设备产生。 MOSI:Master Output,Slave Input 主发从收信号。在片选信号有效时,数据由高位到低位,在时钟的上升沿依次发送给从设备。 MISO:Master Input,Slave Output 主收从发信号,在片选信号有效时,数据由高位到低位,在时钟的上升沿依次发送给主设备。 SS/CS:Slave Select 片选信号,低有效,由主设备控制。即只有片选信号为预先规定的使能信号时,对应的芯片操作才有效,这使得在同一总线上连接多个SPI设备成为可能。 电路连接 单个主设备和单个从设备:

汽车应用中具有耐久性的赛普拉斯NOR闪存Semper系列

╄→гoц情女王★ 提交于 2020-10-28 06:38:12
赛普拉斯 NOR闪存首款经过架构设计并满足汽车行业用于构建故障安全嵌入式汽车系统的ISO26262功能安全标准的存储器。在汽车应用中常见的极端温度下具有出色的耐久性和数据保留能力。 汽车的安全标准是构建新的 NOR闪存 架构的关键驱动力。赛普拉斯能够凭借其MCU和SOC专业知识与众不同。即时能力至关重要,因为现在每辆汽车都至少具有用于ADAS的后视摄像头-组合仪表的快速启动要求一直是赛普拉斯Hyperbus技术的关键市场。 不仅需要NOR闪光灯的组合仪表和照相机。赛普拉斯还将动力总成,发动机控制装置和底盘控制装置视为一个巨大的市场,并且由于高温,可靠性至关重要,因此NOR闪存成为首选技术。Semper的与众不同之处在于其架构,这是赛普拉斯开始使用汽车NOR闪存做更多事情的起点,与Lego相比,Lego可以轻松添加IP模块以实现更多功能。 Semper 闪存产品系列包括了 AEC-Q100 汽车认证产品,支持 -40°C 至 + 125°C 的扩展温度范围、1.8V 和 3.0V 工作电压范围、512Mb至4Gb 的存储密度。该产品提供了 Quad SPI、Octal SPI 以及 HyperBus™ 接口的不同选择。其中Octal 和 HyperBus 接口的产品作为高性能 x8 NOR 闪存符合 JEDEC xSPI 标准,并提供 400 MBps 的读取带宽。

FPGA 学习之路(九)SPI协议通信

℡╲_俬逩灬. 提交于 2020-10-28 00:01:48
SPI通信协议 SPI是同步串行通信接口。 SPI是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI是一种高速的、全双工、同步通信总线,标准的SPI也仅仅使用4个引脚,常用于单片机和EEPROM、FLASH、实时时钟、数字信号处理器等器件的通信。SPI通信原理比I2C要简单,它主要是主从方式通信,这种模式通常只有一个主机和一个或者多个从机,标准的SPI是4根线,分别是SSEL(片选,也写作SCS)、SCLK(时钟,也写作SCK)、MOSI(主机输出从机输入Master Output/Slave Input)和MISO(主机输入从机输出Master Input/Slave Output)。 SSEL:从设备片选使能信号。如果从设备是低电平使能的话,当拉低这个引脚后,从设备就会被选中,主机和这个被选中的从机进行通信。 SCLK:时钟信号,由主机产生,和I2C通信的SCL有点类似。 MOSI:主机给从机发送指令或者数据的通道。 MISO:主机读取从机的状态或者数据的通道。 在某些情况下,我们也可以用3根线的SPI或者2根线的SPI进行通信。比如主机只给从机发送命令,从机不需要回复数据的时候,那MISO就可以不要;而在主机只读取从机的数据,不需要给从机发送指令的时候,那MOSI可以不要;当一个主机一个从机的时候

Java工程师成神之路 | 2020正式版

﹥>﹥吖頭↗ 提交于 2020-10-27 10:02:06
Java工程师成神之路 | 2020正式版 △Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 262 篇原创分享 作者 l Hollis 来源 l Hollis(ID:hollischuang) 主要版本 更新时间 更新内容 v3.0 2020-04-13 知识体系完善,在v2.0的基础上,新增20%左右的知识点; 调整部分知识的顺序及结构,方便阅读和理解; 通过GitHub Page搭建,便于阅读 v2.0 2019-02-19 结构调整,更适合从入门到精通; 进一步完善知识体系; 新技术补充; v1.1 2018-03-12 增加新技术知识、完善知识体系 v1.0 2015-08-01 首次发布; 基础篇 面向对象 什么是面向对象 面向对象与面向过程 面向对象的三大基本特征 面向对象的五大基本原则 封装、继承、多态 什么是多态 方法重写与重载 Java的继承与实现 Java的继承与组合 构造函数与默认构造函数 类变量、成员变量和局部变量 成员变量和方法作用域 平台无关性 Java如何实现的平台无关性的 JVM还支持哪些语言 值传递 值传递、引用传递 为什么说Java中只有值传递 Java基础知识 基本数据类型 8种基本数据类型 整型中byte、short、int、long的取值范围 什么是浮点型? 什么是单精度和双精度? 为什么不能用浮点型表示金额?

比赛

血红的双手。 提交于 2020-10-27 02:27:57
我的历程 大一时参加协会,学习C语言和51单片机. 大一暑假留校开始学习STM32和参加比赛,大二一整年忙于各种比赛。 大三上学期脱离老学长的庇护,开始带学弟比赛,由于疫情原因,所有比赛推迟。 大三下学期开始学习RT-Thread物联网操作系统和嵌入式Linux驱动开发。 比赛需要的技能 编程语言: C/Python 单片机操作: 输入/输出/外部中断/串口/定时器中断/PWM/输入捕获/ADC/DMA/IIC/SPI。 这些基本操作一定要熟悉掌握,了解相对应的库函数的含义和用法,完全可以适应所有比赛。 比赛常用器件: 数字舵机,串口舵机,编码电机,步进电机(不经常用)。 灰度传感器,姿态传感器,激光测距,0.96OLED。 麦克纳姆轮或者全向轮运动分解。(重点学习,车类竞赛经常使用)。 OpenMV(处理视觉)。 其他技能 三维建模软件(SolidWorks),二维建模软件(AudoCAD),3D打印机使用。 PCB绘制(推荐使用立创EDA),贴片焊接。 PID算法,反馈调节。 日常用到的工具: 逻辑分析仪(目前来说20元的就行) 万用表(30元左右的就行) 焊台,风枪(贴片焊接使用) 以后的发展方向: 1.实时操作系统。RT-Thread/uCOS/FreeRTOS/RTX5 2.FPGA。现场可编程门阵列。 3.嵌入式Linux驱动开发。推荐韦东山老师的Linux视频。 4