judy的博客

八张图带你快速认识MOS管

judy的头像

三极管是流控型器件,MOS管是压控型器件,两者存在相似之处。三极管机可能经常用,但MOS管你用的可能较少。对于MOS管先抛出几个问题:

如何区分P-MOS和N-MOS;
如何区分MOS的G、D、S管脚;
MOS管的寄生二极管方向如何;
MOS管如何导通;
带着这几个问题,再看下面的内容,你会理解的更快、更多。

SPI、I2C、UART、I2S、GPIO、SDIO、CAN,你能分清楚吗

judy的头像

总线,总线,总要陷进里面。这世界上的信号都一样,但是总线却成千上万,让人头疼。

总的来说,总线有三种:内部总线、系统总线和外部总线。内部总线是微机内部各外围芯片与处理器之间的总线,用于芯片一级的互连;而系统总线是微机中各插件板与系统板之间的总线,用于插件板一级的互连;外部总线则是微机和外部设备之间的总线,微机作为一种设备,通过该总线和其他设备进行信息与数据交换,它用于设备一级的互连。

除了总线外,还有一些接口,它们是多种总线的集合体,或者说来者不拒。

SPI (Serial Peripheral Interface):MOTOROLA公司提出的同步串行总线方式。高速同步串行口。3~4线接口,收发独立、可同步进行。

单片机应用系统软件设计应该考虑哪些事情?

judy的头像

1.总体规划:

软件所要完成的任务已在总体设计时规定,在具体软件设计时,要结合硬件结构,进一步明确软件所承担的一个个任务细节,确定具体实施的方法,合理分配资源。

2.程序设计技术:

合理的软件结构是设计一个性能优良的单片机应用系统软件的基础。在程序设计中,应培养结构化程序设计风格,各功能程序实行模块化、子程序化。一般有以下两种设计方法:
  
(a)模块程序设计:模块程序设计是单片机应用中常用的一种程序设计技术。它是把一个较长的程序分解为若干个功能相对独立的较小的程序模块,各个程序模块分别设计、编程和调试,最后由各个调试好的模块组成一个大的程序。其优点是单个功能明确的程序模块的设计和调试比较方便,容易完成,一个模块可以为多个程序所共享。其缺点是各个模块的连接有时有一定难度。
  
(b)自顶向下的程序设计:自顶向下程序设计时,先从主程序开始设计,从属程序或子程序用符号来代替。主程序编好后再编制各从属程序和子程序,最后完成整个系统软件的设计。其优点是比较符合于人们的日常思维,设计、调试和连接同时按一个线索进行,程序错误可以较早的发现。缺点是上一级的程序错误将对整个程序产生影响,一处修改可能引起对整个程序的全面修改。

浅谈单片机下载程序电路原理

judy的头像

目前为止,接触单片机已有不少,从选择元器件、原理图、PCB、电路硬件调试、软件开发也算小有心得。

单片机软件开发里面第一步当属下载程序了,如果这一步都有问题,那么后面的一切便无从谈起,记得当初刚接触单片机时,对于下载电路方法及原理也是一头雾水。好在随着经验的积累以及自己的努力探求,现在对此问题算是有了点点自己的经验理解。故今天在此针对常用51单片机下载程序问题做下详解,以求新手们少走弯路。

原理:单片机的TXD、RXD是TTL电平,所以你得万变不离其宗的将其它信号转成TTL电平,只有这样给单片机下载程序才有可能成功!其中CH340、PL2303等芯片是直接将USB信号转换为TTL电平,而MAX232等芯片是将TTL转换为RS232信号或者将RS232信号转换为TTL.下面请看利用这种原理的两种常用方法:

方法一:

基于STM32的红外遥控重点解析

judy的头像

本文有两个内容:

一、红外遥控协议的的讲解;
二、解码程序解析(参考正点原子的代码)

红外的介绍、优点、缺点就不给大家说了,进入正题

一、红外遥控协议的的讲解

红外遥控的编码目前广泛使用的是:NEC Protocol的PWM(脉冲宽度调制)和Philips RC-5 Protocol的PPM(脉冲位置调制)

本文将以NEC协议实现红外遥控。

NEC协议的特征:

1、8位地址和8位指令长度;
2、地址和命令两次传输;(确保可靠性)
3、PWM脉冲宽度调制,以发射红外载波的占空比代表“0”和“1”;
4、载波频率为38KHz
5、位时间为1.125ms和2.25ms

NEC码位的定义:一个脉冲对应560us的连续载波,一个逻辑1传输需要2.25ms(560us脉冲+1680us低电平),一个逻辑0的传输需要1.125ms(560us脉冲+560us低电平)。而遥控接收头在收到脉冲时为低电平,在没有收到脉冲时为高电平,因此,我们在接收头端收到的信号为:逻辑1应该是560us低+1680us高,逻辑0应该是560us低+560us高。如下图:

STM32 CAN总线标识符过滤器难点解析

judy的头像

CAN总线是目前应用非常多的一种总线,在汽车电子,航空航天中应用广泛,博主用的是战舰的STM32开发板。CAN的介绍和功能特点就不讲了,书本上网上都有,请大家在阅读本文前了解CAN总线协议的特点和功能。今天博主将和大家共同学习CAN总线标识符过滤器的使用(非常重要!)

请认真读这段话(来自STM32中文参考手册):在CAN协议里,报文的标识符不代表节点的地址,而是跟报文的内容相关的。因此,发送者以广播的形式把报文发送给所有的接受者。节点在接收报文时,根据标识符的值,决定软件是否需要该报文;如果需要,就拷贝到SRAM里;如果不需要,报文就丢弃,且无需软件的干预。在,STM32F103ZET6这款芯片中,bxCAN控制器为应用程序提供了14个位宽可变的,可配置的过滤器组(13~0),以便只接受那些软件需要的报文。硬件过滤的做法节省了CPU的开销,否则就必须由软件过滤从而占用一定的CPU开销。每个过滤器组x由2个32位寄存器,CAN_FxR0和CAN_FxR1组成。

有些读者看了之后觉得,报文,标识符,过滤器,他们是什么?他们有什么联系?有这些问题说明你就要懂了。。别急,听我慢慢道来~~~

stm32 窗口看门狗学习(一)

judy的头像

什么是窗口看门狗?

1)独立看门狗
限制喂狗时间在0-x内,x由相关寄存器决定。喂狗的时间不能过晚。

2)窗口看门狗
之所以称为窗口就是因为其喂狗时间是一个“窗口”,不能过早也不能过晚。

STM32F10x 的窗口看门狗中有一个7位的递减计数器,出现下述2种情况之一时产生看门狗复位:
 
1)当计数器的数值从0x40减到0x3F时 ,这里的0x3F可以看成是窗口的下限;  
2)喂狗的时候,如果计数器的值大于某一设定数值(这个数值是窗口的上限),此数值在WWDG_CFR寄存器中配置。

对于一般的看门狗,程序可以在它产生复位前的任意时刻刷新看门狗。但这有一个隐患,有可能程序跑乱了又跑回到正常的地方,或者说跑乱的程序正好执行了刷新看门狗操作,这样的情况一般的看门狗不好检测;

如果使用窗口看门狗,程序员可以根据程序正常执行的时间设置一个时间窗口,保证不会提前刷新看门狗也不会滞后刷新看门狗,这样可以检测出程序没有按照正常的路径运行的情况。

如果非要说窗口看门狗的具体应用,我一时也说不上来,因为没有用过。但是这不妨碍我们做实验学习窗口看门狗。

先看一幅图,直观地认识窗口看门狗。

5个设计智能看门狗的小技巧

judy的头像

从系统或软件故障中恢复是一件不容易的任务;要让该故障不复存在更是困难,即使故障已可被辨识和修复。不过,外部看门狗(Watchdog)可帮助系统针对故障迅速做出反应。

外部看门狗是嵌入式系统工程师工具箱里重要且关键的工具,然而为了捕捉到故障,且预防故障的发生,看们狗必须设计得当。因此设计一个看门狗系统时应考虑以下5个秘诀。

技巧1—监测心跳

一个外部看门狗须具备的最简单功能是监测由主应用处理器产生的一个定期「心跳(Heartbeat)」信号,以及在心跳异常时发出一个错误信号。心跳监测可做为两种不同的用途:首先,在经过已在软件执行的功能检查之后,微控制器(MCU)应该只是生成心跳,以确保软件的正常工作。第二,如果系统的实时响应已受到损害,心跳应该要能显示出来。

为软件功能和实时响应监测心跳,可通过一个使用简单,「哑巴(Dumb)」的外部看门狗。外部看门狗应该有沿着一个心跳必须出现的窗口的能力调派一个心跳周期,心跳窗口的作用是当系统的实时响应受到损害时,允许看门狗进行检测。而在该功能或实时检查失败的情况下,看门狗会试图通过应用处理器的重置来恢复系统。

技巧2—采用一个低效能MCU

单片机应用系统硬件设计应该考虑哪些问题?

judy的头像

(1)存储器扩展:容量需求,在选择时就考虑到单片机的内部存储器资源,如能满足要求就不需要进行扩展,在必须扩展时注意存储器的类型、容量和接口,一般尽量留有余地,并且尽可能减少芯片的数量。选择合适的方法、ROM和RAM的形式,RAM是否要进行掉电保护等。

(2)I/O接口的扩展:单片机应用系统在扩展I/O接口时应从体积、价格、负载能力、功能等几个方面考虑。应根据外部需要扩展电路的数量和所选单片机的内部资源(空闲地址线的数量)选择合适的地址译码方法。

(3)输入通道的设计:输入通道设计包括开关量和模拟输入通道的设计。开关量要考虑接口形式、电压等级、隔离方式、扩展接口等。模拟量通道的设计要与信号检测环节(传感器、信号处理电路等)结合起来,应根据系统对速度、精度和价格等要求来选择,同时还需要和传感器等设备的性能相匹配,要考虑传感器类型、传输信号的形式(电流还是电压)、线性化、补偿、光电隔离、信号处理方式等,还应考虑A/D转换器的选择(转换精度、转换速度、结构、功耗等)及相关电路、扩展接口,有时还涉及软件的设计。高精度的模数转换器价格十分昂贵,因而应尽量降低对A/D转换器的要求,能用软件实现的功能尽量用软件来实现。

STM32外设有哪些?

judy的头像

STM32系列是ST公司基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核的32位单片机。按内核架构分为不同产品:

STM32外设有哪些?

其中STM32F系列有:STM32F103“增强型”系列、STM32F101“基本型”系列、STM32F105、STM32F107“互联型”系列。

增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是32位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,相当于0.5mA/MHz。

页面

订阅 RSS - judy的博客