judy的博客

电容充放电时间常数RC计算方法

judy的头像

进入正题前,我们先来回顾下电容的充放电时间计算公式,假设有电源Vu通过电阻R给电容C充电,V0为电容上的初始电压值,Vu为电容充满电后的电压值,Vt为任意时刻t时电容上的电压值,那么便可以得到如下的计算公式:

Vt = V0 + (Vu – V0) * [1 – exp( -t/RC)]

如果电容上的初始电压为0,则公式可以简化为:

Vt = Vu * [1 – exp( -t/RC)] (充电公式)

由上述公式可知,因为指数值只可能无限接近于0,但永远不会等于0,所以电容电量要完全充满,需要无穷大的时间。

当t = RC时,Vt = 0.63Vu;
当t = 2RC时,Vt = 0.86Vu;
当t = 3RC时,Vt = 0.95Vu;
当t = 4RC时,Vt = 0.98Vu;
当t = 5RC时,Vt = 0.99Vu;

可见,经过3~5个RC后,充电过程基本结束。

当电容充满电后,将电源Vu短路,电容C会通过R放电,则任意时刻t,电容上的电压为:

Vt = Vu * exp( -t/RC) (放电公式)

51单片机定时计数器溢出率计算和串口的波特率之间的关系

judy的头像

51 芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON 寄存器。它的各个位的具体定义如下:

SM0 SM1 SM2 REN TB8 RB8 TI RI

SM0、SM1 为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。串行口工作模式设置。

波特率在使用串口做通讯时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。波特率是指串行端口每秒内可以传输的波特位数。这里所指的波特率,如标准9600 不是每秒种可以传送9600个字节,而是指每秒可以传送9600 个二进位,而一个字节要8 个二进位,如用串口模式1 来传输那么加上起始位和停止位,每个数据字节就要占用10 个二进位,9600 波特率用模式1 传输时,每秒传输的字节数是9600÷10=960 字节。

51芯片的串口工作模式0的波特率是固定的,为fosc/12,以一个12M 的晶振来计算,那么它的波特率可以达到1M。

模式2的波特率是固定在fosc/64 或fosc/32,具体用那一种就取决于PCON 寄存器中的SMOD位,如SMOD 为0,波特率为focs/64,SMOD 为1,波特率为focs/32。

DRAM、SRAM、SDRAM六问六答

judy的头像

问题1:什么是DRAM、SRAM、SDRAM?

答:名词解释如下
DRAM--------动态随即存取器,需要不断的刷新,才能保存数据,而且是行列地址复用的,许多都有页模式
SRAM--------静态的随机存储器,加电情况下,不需要刷新,数据不会丢失,而且一般不是行列地址复用的
SDRAM-------同步的DRAM,即数据的读写需要时钟来同步

问题2:为什么DRAM要刷新,SRAM则不需要?

答:这是由RAM的设计类型决定的,DRAM用了一个T和一个RC电路,导致电容会漏电和缓慢放电,所以需要经常刷新来保存数据

问题3:我们通常所说的内存用的是什么呢?这三个产品跟我们实际使用有什么关系?

答:内存(即随机存贮器RAM)可分为静态随机存储器SRAM,和动态随机存储器DRAM两种。我们经常说的“内存”是指DRAM。而SRAM大家却接触的很少。

问题4:为什么使用DRAM比较多、而使用SRAM却很少?

SPI接口功能描述

judy的头像

SPI接口的全称是"Serial Peripheral Interface",意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM、FLASH、实时时钟、AD转换器,还有数字信号处理器和数字信号解码器之间。

SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。

对单片机堆栈的理解

judy的头像

看关于单片机方面的书籍的时候,总是能看到别人说的一些堆栈啊什么的操作,之前看到这个术语就直接跳过,没想到去探究单片机内部的原理。但是最近课程学习微机原理这门课,需要我们写汇编程序,汇编里面经常遇到堆栈这个东西,所以就找了个时间把堆栈给彻底的搞一下。

如果了解一点汇编编程话,就可以知道,堆栈是内存中一段连续的存储区域,用来保存一些临时数据。通常用来保存CALL指令调用子程序时的返回地址,RET指令从堆栈中获取返回地址。中断指令INT调用中断程序时,将标志寄存器值、代码段寄存器CS值、指令指针寄存器IP值保存在堆栈中。

堆栈也可以用来保存其他数据。

堆栈操作由PUSH,POP两条指令来完成;

堆栈操作的操作数均为子类型(两个字节)进行操作。

程序内存可以分为几个区,栈区(stack),堆区(Heap),全局区(static),文字常亮区,程序代码区。

程序编译之后,全局变量,静态变量已经分配好内存空间,在函数运行时,程序需要为局部变量分配栈空间,当中断来时,也需要将函数指针入栈,保护现场,以便于中断处理完之后再回到之前执行的函数。
栈是从高到低分配,堆是从低到高分配。

什么是拉电流 、灌电流、吸收电流 ?

judy的头像

拉电流和灌电流是衡量电路输出驱动能力(注意:拉、灌都是对输出端而言的,所以是驱动能力)的参数,这种说法一般用在数字电路中。
这里首先要说明,芯片手册中的拉、灌电流是一个参数值,是芯片在实际电路中允许输出端拉、灌电流的上限值(允许最大值)。而下面要讲的这个概念是电路中的实际值。

由于数字电路的输出只有高、低(0,1)两种电平值,高电平输出时,一般是输出端对负载提供电流,其提供电流的数值叫“拉电流”;低电平输出时,一般是输出端要吸收负载的电流,其吸收电流的数值叫“灌(入)电流”。

对于输入电流的器件而言:

灌入电流和吸收电流都是输入的,

灌入电流是被动的,

吸收电流是主动的。

如果外部电流通过芯片引脚向芯片内‘流入’称为灌电流(被灌入);

反之如果内部电流通过芯片引脚从芯片内‘流出’称为拉电流(被拉出)

2、为什么能够衡量输出驱动能力

当逻辑门输出端是低电平时,灌入逻辑门的电流称为灌电流,灌电流越大,输出端的低电平就越高。由三极管输出特性曲线也可以看出,灌电流越大,饱和压降越大,低电平越大。

电源连接器使用四大注意要点

judy的头像

电源连接器一般由插头和插座组成,其中插头也称自由端连接器,插座也称固定连接器。通过插头、插座和插合和分离来实现电路的连接和断开,因此就产生了插头和插座的各种连接方式。这个是很多操作员都了解的,下面主要针对在使用的注意情况作解析:

1、 端接

1)电源连接器端接时,应严格按照相应的端接规范或要求进行端接和检查,并按对应的接点序号进行端接。选用的电缆、导线间的最大绝缘层厚度应与接触件间的距离匹配,电缆线芯与接触件接线端匹配,当在接触件间跨、并线时,应考虑多股线芯绞合的直径,且禁止在接触件压接孔间进行跨、并线处理;

2)焊接时,应根据裸线直径选择相应功率的电烙铁,每个接触件的焊接时间一般不超过5s,应注意不能让焊剂渗入绝缘体,以免造成产品绝缘电阻下降;

3)清洗电源连接器时(包括接触件的清洗),可使用蘸着无水乙醇的绸布进行,晾干后使用。不允许使用对电源连接器产生有害影响的丙酮等化学溶剂;

4)电源连接器处于非插合状态时,必须分别加盖配套的防护盖或采取其它防尘措施。

2、 插接前检查

1)电源连接器的型号、代号、编号、插接位置与方向应符合设计、工艺文件要求;

2)尾罩无松动、绑口无脱落;

单片机SPI功能应用笔记

judy的头像

一些单片机内置硬件
PI功能,如STC15F2K60S2和昇泉MPC82G516,本文以后者为例,记述了用SPI硬件向4位数码显示模块发送串行数据的应用过程。

一、 SPI协议简介

SPI是英语Serial Peripheral interface的缩写,中文是串行外围设备接口。主要应用在MPU与 EEPROM、FLASH、实时时钟、AD转换器等外设之间传输串行数据。

SPI总线占用四根线,分别是时钟线SPICLK、数据线MISO和MOSI、以及从机选择线/SS,如下图。主机是发起传输的设备,也即产生时钟脉冲的设备,从机在脉冲的作用下被动的接收或发送数据。SPI是双向传输协议,主机和从机在脉冲同步下是互为收发数据的。如果数据仅从主机向从机单向传送,则可省略MISO线。

单片机SPI功能应用笔记

总线上至少配置一主一从,也可以挂接多个主机或从机。主机多由MPU担任。总线可配置为:

1. 一主一从:可直接将从机SS端接低电平,可节省MPU一个IO口。

新能源汽车三大核心技术:VCU、MCU、BMS

judy的头像

在新能源汽车的整个平台架构中,VCU (Vehicle Control Unit 整车控制器)、MCU (Moter Control Unit 电机控制器)和 BMS (BATTERY MANAGEMENT SYSTEM 电池管理系统)是最重要的核心技术,对整车的动力性、经济性、可靠性和安全性等有着重要影响。

VCU:

  •   VCU是实现整车控制决策的核心电子控制单元,一般仅新能源汽车配备、传统燃油车无需该装置。

  •   VCU通过采集油门踏板、挡位、刹车踏板等信号来判断驾驶员的驾驶意图;

  •   通过监测车辆状态(车速、温度等)信息,由VCU判断处理后,向动力系统、动力电池系统发送车辆的运行状态控制指令,

  •   控制车载附件电力系统的工作模式;

  •   VCU具有整车系统故障诊断保护与存储功能

  •   下图为VCU的结构组成,共包括外壳、硬件电路、底层软件和应用层软件,硬件电路、底层软件和应用层软件是VCU的关键核心技术

uC/OS-II系统开发的6条重要总结

judy的头像

1. uC/OS-II的任务框架

void task_xxx(void *pArg)
{

/* 该任务的初始化工作 */

……

/* 进入该任务的死循环 */

while(1)

{
……
}

}

每个用户的任务都必须符合事件驱动的编程模型,即uC/OS-II的应用程序都必须是“事件驱动的编程模型”。一个任务首先等待一个事件的发生,事件可以是系统中断发出的,也可以是其它任务发出的,又可以是任务自身等待的时间片。当一个事件发生了,任务再作相应处理,处理结束后又开始等待下一个事件的发生。如此周而复始的任务处理模型就是“事件驱动的编程模型”。事件驱动模型也涵盖了中断驱动模型,uC/OS-II事件归根结底来自三个方面:

(1)中断服务函数发送的事件

(2)系统延时时间到所引起的

(3)其它任务发送的事件。

页面

订阅 RSS - judy的博客