嵌入式相关的一些关键词

MCU

STM32

PIN脚

pin是针的意思,指引脚

gpio

GPIO(英语:General-purpose input/output),通用型之输入输出的简称

既然一个引脚可以用于输入、输出或其他特殊功能,那么一定有寄存器用来选择这些功能。对于输入,一定可以通过读取某个寄存器来确定引脚电位的高低;对于输出,一定可以通过写入某个寄存器来让这个引脚输出高电位或者低电位;对于其他特殊功能,则有另外的寄存器来控制它们。

GPIO的优点(端口扩展器)

低功耗:GPIO具有更低的功率损耗(大约1μA,μC的工作电流则为100μA)。

集成IIC从机接口:GPIO内置IIC从机接口,即使在待机模式下也能够全速工作。

小封装:GPIO器件提供最小的封装尺寸 ― 3mm x 3mm QFN!

低成本:您不用为没有使用的功能买单。

快速上市:不需要编写额外的代码、文档,不需要任何维护工作。

灵活的灯光控制:内置多路高分辨率的PWM输出。

可预先确定响应时间:缩短或确定外部事件与中断之间的响应时间。

更好的灯光效果:匹配的电流输出确保均匀的显示亮度。

布线简单:仅需使用2条就可以组成IIC总线或3条组成SPI总线。

 

串口(COM)

同步串行接口(英文:Synchronous Serial Interface,SSI)是一种常用的工业用通信接口

异步串行是指UART(Universal Asynchronous Receiver/Transmitter),通用异步接收/发送。UART是一个并行输入成为串行输出的芯片,通常集成在主板上。UART包含TTL电平的串口RS232电平的串口。 TTL电平是3.3V的,而RS232是负逻辑电平,它定义+5~+12V为低电平,而-12~-5V为高电平,MDS2710、MDS SD4、EL805等是RS232接口,EL806有TTL接口

 

TTL

TTL电平信号规定,+5V等价于逻辑“1”,0V等价于逻辑“0”(采用二进制来表示数据时)。这样的数据通信及电平规定方式,被称做TTL(晶体管晶体管逻辑电平信号系统。这是计算机处理器控制的设备内部各部分之间通信的标准技术。

TTL电路是电流控制器件,而CMOS电路是电压控制器件。

UART与USART都是单片机上的串口通信

其实USART是UART的增强型,只是比UART多了个同步功能,拥有独立的时钟驱动器,可以实现无延迟的数据传输。

543c2d0f3f7e4b48b9981bae68c2208a.png

tips

1、单工:数据传输是单向的。

2、半双工:可以在一个信号载体的两个方向上传输,但是不能同时传输。

3、全双工:可以同时在信号载体的两个方向传输。

UART

universal asynchronous receiver and transmitter 通用异步收/发器

usart (uart) 工作原理图

ebad3135734d49feb481964263307abb.png

USART

USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)

通用同步/异步串行接收/发送器

USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备。

特点:

1. 全双工操作(相互独立的接收数据和发送数据);

2. 同步操作时,可主机时钟同步,也可从机时钟同步;

3. 独立的高精度波特率发生器,不占用定时/计数器;

4. 支持5、6、7、8和9位数据位,1或2位停止位的串行数据帧结构;

5. 由硬件支持的奇偶校验位发生和检验;

6. 数据溢出检测;

7. 帧错误检测;

8. 包括错误起始位的检测噪声滤波器和数字低通滤波器;

9. 三个完全独立的中断,TX发送完成、TX发送数据寄存器空、RX接收完成;

10.支持多机通信模式;

11.支持倍速异步通信模式。

结构组成

USART收发模块一般分为三大部分:时钟发生器、数据发送器和接收器。控制寄存器为所有的模块共享。

时钟发生器由同步逻辑电路(在同步从模式下由外部时钟输入驱动)和波特率发生器组成。发送时钟引脚XCK仅用于同步发送模式下,

发送器部分由一个单独的写入缓冲器(发送UDR)、一个串行移位寄存器、校验位发生器和用于处理不同帧结构的控制逻辑电路构成。使用写入缓冲器,实现了连续发送多帧数据无延时的通信。

接收器是USART模块最复杂的部分,最主要的是时钟和数据接收单元。数据接收单元用作异步数据的接收。除了接收单元,接收器还包括校验位校验器、控制逻辑、移位寄存器和两级接收缓冲器(接收UDR)。接收器支持与发送器相同的帧结构,同时支持帧错误、数据溢出和校验错误的检测。

 

Philips(for IIC)和Motorola(for SPI) 出于不同背景和市场需求制定了这两种标准通信协议。

spi协议层面简单,IIC有数据传输方向换向过程,容易出事

IIC 开发于1982年,当时是为了给电视机内的CPU和外围芯片提供更简易的互联方式。电视机是最早的嵌入式系统之一,而最初的嵌入系统是使用内存映射(memory-mapped I/O)的方式来互联微控制器和外围设备的。要实现内存映射,设备必须并联入微控制器的数据线和地址线,这种方式在连接多个外设时需大量线路和额外地址解码芯片,很不方便并且成本高。

在数字通信协议簇中,IIC和SPI常称为“小”协议,相对Ethernet, USB, SATA, PCI-Express等传输速度达数百上千兆字节每秒的总线。但是,我们不能忘记的是各种总线的用途是什么。“大”协议是用于系统外的整个系统之间通信的,“小”协议是用于系统内各芯片间的通信,没有迹象表明“大”协议有必要取代“小”协议。IIC和SPI的存在和流行体现了“够用就好”的哲学。回应文首,IIC和SPI如此的流行,它是任何一位嵌入式工程师必备的工具。

LLC(l2c) (Inter-Integrated Circuit) 

I2C能够1对多,UART只能1对1。因此I2C又叫I2C总线。

I2C接口能够用软件模拟来扩充接口,UART则不行。

I2C接口带有同步时钟,对时钟稳定性要求远没有UART那么高。

由此可见,I2C存在的最大原因在于简单且灵活性高。

I2C只能由CPU(主机)去找外设(从机)索取数据,外设不能主动发送数据给CPU。

但是CPU不能定期去问外设“你有没有数据要发给我?”,这样耗CPU的计算资源,也耗电,且无法进入睡眠状态。

因此需要外设有办法通知CPU,“我有数据要发了”。I2C配合的中断信号就是这个作用。外设有数据要发了,先发个中断给CPU,CPU再来通过I2C读取外设想要发过来的数据。

对于低功耗应用的场景、能够触发的外设场景,都需要这么来设计。例如电容触摸屏,平时CPU是休眠的,点击一下就唤醒系统。再例如G-Sensor运动传感器,一旦被晃动了就唤醒CPU。

 

 

 

SPI  (Serial Peripheral Interface)

 

 

ab相

abz三相含义

编码器输出信号有abz三相,其中AB相是脉冲输出信号,Z相是圈数,AB两相相差90°,根据A超前于B还是滞后于B来判断旋转方向

A、B两个通道的信号一般是正交(即互差90°)脉冲信号;而Z相是零脉冲信号。

详细来说,就是一般编码器输出信号除A、B两相(A、B两通道的信号序列相位差为90度)外,每转一圈还输出一个零位脉冲Z。

motor

定时器

TIM定时器时钟

 

pwm

随着电子技术的发展,出现了多种脉冲宽度调制(Pulse width modulation,PWM)技术,其中包括:相电压控制PWM、脉宽PWM法、随机PWM、SPWM法、线电压控制PWM等,而在镍氢电池智能充电器中采用的脉宽PWM法,它是把每一脉冲宽度均相等的脉冲列作为PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。可以通过调整PWM的周期、PWM的占空比而达到控制充电电流的目的。

执行PWM操作之前,这种微处理器要求在软件中完成以下工作:

1、设置提供调制方波的片上定时器/计数器的周期

2、 在PWM控制寄存器中设置接通时间

3、设置PWM输出的方向,这个输出是一个通用I/O管脚

4、启动定时器

5、使能PWM控制器

 

模式

占空比

ARR,CCRx,CNT

元器件

舵机

电机

伺服电机

步进电机

C程序编码

 

如何调试

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HELLO XF

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值