技术
位数指CPU处理的数据的宽度,参与运算的寄存器的数据长度。
如果总线宽度与CPU一次处理的数据宽度相同,则这个宽度就是所说的单片机位数。
如果总线宽度与CPU一次处理的数据宽度不同:
(1)总线宽度小于CPU一次处理的数据宽度,则以CPU的数据宽度定义单片机的位数,但称为准多少位。比如著名的Intel 8088,CPU是16位但总线是8位,所以它是准16位。
(2)总线宽度小于CPU一次处理的数据宽度,则以CPU的数据宽度定义单片机的位数。
少位宽不是指总线宽度,也不是存储器的宽度,像51单片机的地址总线是16位的,但是它是8位机。像ARM的存储器也有八位的,但是它是32位机。而是指CPU处理的数据的宽度,也就是CPU一次数据的吞吐量。比如同一条指令:MOV R0 R2
呼吸灯,就是指电子产品上的LED灯的亮度随着时间由暗到亮逐渐增强,再由亮到暗逐渐衰减,有节奏感地一起一伏,就像是在呼吸一样,因而被广泛应用于手机、电脑等电子设备的指示灯中。在使用MCU开发相关的应用产品中也可以加入呼吸灯功能,增强用户的体验感,在本实验中将介绍如何使用MM32L0系列产品芯片做呼吸灯功能。
在平时应用中可以知道,MCU的GPIO输出高低电平变化可以实现LED灯的亮、灭两个过程,如果GPIO的电平一直维持高电平或者低电平,LED灯就处于长亮或长灭的状态,呼吸灯就是通过较高频率的电平变化来实现亮灭的切换,由于人的视觉暂留效应,肉眼无法迅速捕捉快速亮灭变化的过程,所以在视觉中一直出现一直亮或者灭的状态,通过调整占空比可以控制LED灯的亮度,给人视觉上一种灯光由暗到亮逐渐增强,然后又由亮到暗逐渐衰减。
CAN总线的应用在现在看来越来越广泛,我厂设备从最初的ARM9与ARM7平台、期间升级过度到CortexA8与Cortex M3平台,再到现在的Cortex M4平台,围绕CAN进行了一系列产品的开发,CAN总线的稳定性是毋庸置疑的。
<font size="4"><strong>CAN总线物理结构与特性</strong></font>
<strong>CAN总线网络</strong>
ucos ii是由Labrosse先生编写的一个开放式内核,最主要的特点就是源码公开。这一点对于用户来说可谓利弊各半,好处在于,一方面它是免费的,另一方面用户可以根据自己的需要对它进行修改。缺点在于它缺乏必要的支持,没有功能强大的软件包,用户通常需要自己编写驱动程序,特别是如果用户使用的是不太常用的单片机,还必须自己编写移植程序。
随着指纹识别在智能手机上面的普及,指纹识别技术在越来越多的场合中得到应用。除了手机应用之外,在移动支付、门禁系统、智能家庭等嵌入式场景中也逐渐普及开来。在系统实现上面,智能手机本身拥有强大的计算能力和丰富的内存资源,实现指纹识别并不困难,但在嵌入式系统中特别是基于MCU的应用场合,其运算能力、内存资源等都受到限制,本文介绍了一种基于单片机系统的指纹识别方案和设计要点。
在高速PCB设计流程里,叠层设计和阻抗计算是登顶的第一梯。阻抗计算方法很成熟,不同软件的计算差别不大,相对而言比较繁琐,阻抗计算和工艺制程之间的一些"权衡的艺术",主要是为了达到我们阻抗管控目的的同时,也能保证工艺加工的方便,以及尽量降低加工成本。
下面我们总结了一些设计叠层算阻抗是的注意事项,帮助大家提高计算效率。
<strong>1,线宽宁愿宽,不要细。</strong>
因为制程里存在细的极限,宽是没有极限的,所以如果后期为了调阻抗把线宽调细而碰到极限时那就麻烦了,要么增加成本,要么放松阻抗管控。所以在计算时相对宽就意味着目标阻抗稍微偏低,比如单线阻抗50ohm,我们算到49ohm就可以了,尽量不要算到51ohm。
支持了位带操作后,可以使用普通的加载/存储指令来对单一的比特进行读写。在 CM3 中,有两个区中实现了位带。其中一个是 SRAM 区的最低 1MB 范围,第二个则是片内外设区的最低 1MB范围。这两个区中的地址除了可以像普通的 RAM 一样使用外,它们还都有自己的“位带别名区”,位带别名区把每个比特膨胀成一个 32 位的字。当你通过位带别名区访问这些字时,就可以达到访问原始比特的目的。
位带操作的概念其实 30 年前就有了,那还是8051 单片机开创的先河,如今,CM3 将此能力进化,这里的位带操作是 8051 位寻址区的威力大幅加强版。
CM3 使用如下术语来表示位带存储的相关地址:
位带区:支持位带操作的地址区
位带别名:对别名地址的访问最终作用到位带区的访问上(这中途有一个地址映射过程)
我们选择无极性电容式,不知道大家是否有注意到电容的X5R,X7R,Y5V,COG等等看上去很奇怪的参数,有些摸不着头脑,本人特意为此查阅了相关的文献,现在翻译出来奉献给大家。
这类参数描述了电容采用的电介质材料类别,温度特性以及误差等参数,不同的值也对应着一定的电容容量的范围。具体来说,就是:
X7R常用于容量为3300pF~0.33uF的电容,这类电容适用于滤波,耦合等场合,电介质常数比较大,当温度从0°C变化为70°C时,电容容量的变化为±15%;
Y5P与Y5V常用于容量为150pF~2nF的电容,温度范围比较宽,随着温度变化,电容容量变化范围为±10%或者+22%/-82%。
PCB Layout是开关电源研发过程中的极为重要的步骤和环节,关系到开关电源能否正常工作,生产是否顺利进行,使用是否安全等问题。
开关电源PCB Layout比起其它产品PCB Layout来说都要复杂和困难,要考虑的问题要多得多,归纳起来主要有以下几个方面的要求:
<strong>一、电路要求</strong>
1PCB 中的元器件必须与BOM一致。
2线条走线必须符合原理图,利用网络联机可以轻做到这一点。
3线条宽度必须满足最大电流要求,不得小于1mm/1A,以保证线条温升不超过70℃.为了减少电压降有时还必须加宽宽度。
4为了减小电压降和损耗,视需要在线条上镀锡。
<strong>二、安规要求</strong>
1、CPU(Central Processing Unit),是一台计算机的运算核心和控制核心。
CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。 CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,并执行指令。所谓的计算机的可编程性主要是指对CPU的编程。
2、MPU (Micro Processor Unit),叫微处理器(不是微控制器),通常代表一个功能强大的CPU(暂且理解为增强版的CPU吧),但不是为任何已有的特定计算目的而设计的芯片。
<font size="4" color="blue">独立看门狗(iwdg)</font>
<strong>一、简介:</strong>
其用于检测和解决由软件错误导致的故障,当计数器达到设定的超时时间值时会产生系统复位。其特点为:1、其运用的时钟是由独立的RC振荡器产生的,因此可以在待机和停止模式下运行。2、在看门狗激活后,如果递减计数器的值达到0X000时会产生系统复位。
<strong>二、功能简述:</strong>
<strong>1 、存储器系统的层次架构</strong>
计算机系统的存储器被组织城一个 金字塔的层次结构。自上而下为:CPU 内部寄存器、芯片内部高速缓存(cache)、芯片外部高速缓存(SRAM、SDRAM、DRAM) 、主存储器(FLASH、EEPROM)、外部存储器(磁盘、光盘、CF 卡、SD 卡)和远程二级存储器(分布式文件系统 、WEB 服务器),6个层次的结构。上述设备从上而下,依次速度更慢、容量更大、访问频率更小,造价更便宜。
<strong>2、高速缓存 (cache)</strong>
串口通信是非常重要的,首先了解下基础
<font size="3"><strong>计算机串口通信基础</strong></font>
• 随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功能越越显得重要。计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。
• 通信有并行通信和串行通信两种方式。在多微机系统以及现代化测控系统中信息的交换多采用串行通信方式。
• 计算机通信是将计算机技术和通信技术的相结合,完成计算机与外部设备或计算机与计算机之间的信息交换。可以分为两大类:并行通信与串行通信。
降功耗对于一款使用电池供电的产品来说是至关重要的。当然这项工作不只是软件开发人员的责任,还需要硬件工程师合理的电路设计,器件选型,最终共同努力将功耗控制到可接受的范围。MCU降功耗可以从以下几个方面着手:
<font color="blue"><strong>1.器件选型</strong></font>
STM32F4系列定时器输出PWM频率计算
第一步,了解定时器的时钟多少:
<center><img width="600" src="http://mcu.eetrend.com/files/2018-01/wen_zhang_/100009890-33752-22.png&…; alt="STM32定时器输出PWM频率和步进电机控制速度计算"></center>
我们知道AHP总线是168Mhz的频率,而APB1和APB2都是挂在AHP总线上的。
ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。
RAM有两大类:
一种称为静态RAM(Static RAM/SRAM),SRAM速度非常快,是目前读写最快的存储设备了,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲,二级缓冲。
另一种称为动态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很 多,计算机内存就是DRAM的。
ISP:In System Programing,在系统编程
IAP:In applicating Programing,在应用编程
ICP:In Circuit Programing,在电路编程
ISP是指可以在板级上进行编程,也就是不用拆芯片下来,写的是整个程序,一般是通过ISP接口线来写。
IAP虽然同样也是在板级上进行编程,但是是自已对自已进行编程,在应用中进行编程,也即可以只是更改某一部分而不影响系统的其它部分,另外接口程序是自已写的,这样可以进行远程升级而不影响应用。
打个比喻吧:
1、ISP是把房子拆了再重造一间,那么在造好之前当然是不能住人的啦!
2、IAP是在造好的房子里边进行一些装修,当然人可以继续住啦!
<strong>时钟周期</strong>
时钟周期也称为振荡周期,定义为时钟脉冲的倒数(时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时钟周期就是1/12us),是计算机中的最基本的、最小的时间单位。
在一个时钟周期内,CPU仅完成一个最基本的动作。时钟脉冲是计算机的基本工作脉冲,控制着计算机的工作节奏。时钟频率越高,工作速度就越快。
8051单片机把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。
<strong>机器周期</strong>
由于涉及编程,学习ARM单片机系统对于从事电子电路的设计者来说是有些困难的,学习知识不难,难的是理清其中的开发思路,找到一个好的起点。本文就将从这一步入手,为大家介绍初次接触ARM开发应该从哪几方面来理清开发思路。
做个最小系统板:如果从没有做过ARM的开发,建议一开始不要贪大求全,把所有的应用都做好,因为ARM的启动方式和dsp或单片机有所不同,往往会遇到各种问题,所以建议先布一个仅有Flash、SRAM或SDRAM、CPU、JTAG、和复位信号的小系统板,留出扩展接口。使最小系统能够正常运行,任务就完成了一半,好在ARM的外围接口基本都是标准接口,如果已有这些硬件的布线经验那就更好了。
<strong>写启动代码</strong>