跳转到主要内容

技术

STM32单片机DfuSeCommand的使用

<strong>前言</strong>

STM32 提供了灵活的固件加载模式,其中大部分型号支持 DFU 加载。并且在电脑端,提供了配套的演示软件 DfuSe。

包含可视化版 DfuSeDemo.exe 和命令版 DfuSeCommand.exe。本文主要介绍 DfuSeCommand.exe 的使用。

<strong>前期步骤</strong>

1. 在电脑上安装 DfuSe(可通过“相关工具 & 链接”小节中,提供的链接获取安装包)。

STM32单片机硬件关键基础及注意事项

STM32简单介绍

一、背景

如果你正为项目的处理器而进行艰难的选择:一方面抱怨16位单片机有限的指令和性能,另一方面又抱怨32位处理器的高成本和高功耗,那么,基于 ARM Cortex-M3内核的STM32系列处理器也许能帮你解决这个问题。使你不必在性能、成本、功耗等因素之间做出取舍和折衷。即使你还没有看完STM32的产品手册,但对于这样一款融合ARM和ST技术的“新生儿”相信你和我一样不会担心这款针对16位MCU应用领域 的32位处理器的性能,但是从工程的角度来讲,除了芯片本身的性能和成本之外,你或许还会考虑到开发工具的成本和广泛度;存储器的种类、规模、性能和容 量;以及各种软件获得的难易,我相信你看完本专题会得到一个满意的答案。

物联网应用中的电池寿命计算

<font color="#FD8900">作者:e络盟大中华区销售总监朱伟弟</font>

从公共汽车站的标牌到联网的复杂工业系统,大部分电子系统的设计方式因互联网而发生了极大的改变。其中,最大的变化或许是引入了收集数据并将信息传递至云端的传感器系统。

这些小型“器件”通常无法连接主电源,这意味着它们必须通过电池或能量采集装置进行供电。

对于许多应用而言,能量采集装置是最可行的解决方案。如果设备设计成较低功耗,而能量采集装置可获取较多能量,则设备有可能实现无限期运行。

然而,由于有限的能源获取或过大的系统能源需求,许多应用不适用该方法。在这种情况下,需要通过电池来为系统供电。

STM32 定时器实现红外遥控数据接收

<strong>一、原理</strong>

<strong>1、红外发射协议</strong>

红外通信的协议有很多种。这个实验使用的是NEC协议。这个协议采用PWM的方法进行调制,利用脉冲宽度来表示 0 和 1 。

NEC 遥控指令的数据格式为:同步码头、地址码、地址反码、控制码、控制反码。同步码由一个 9ms 的低电平和一个 4.5ms 的高电平组成,地址码、地址反码、控制码、控制反码均是 8 位数据格式。按照低位在前,高位在后的顺序发送。采用反码是为了增加传输的可靠性。因此,每帧的数据为 32 位,包括地址码,地址反码,控制码,控制反码。反码可用于解码时进行校验比对。

基于ARM和FPGA的多路电机控制方案

介绍了一种基于fpga的多轴控制器,控制器主要由arm7(LPC2214)和fpga(EP2C5T144C8)及其外围电路组成,用于同时控制多路电机的运动。利用Verilog HDL硬件描述语言在fpga中实现了电机控制逻辑,主要包括脉冲控制信号产生、加减速控制、编码器反馈信号的辨向和细分、绝对位移记录、限位信号保护逻辑等。论文中给出了fpga内部一些核心逻辑单元的实现,并利用QuartusⅡ、Modelsim SE软件对关键逻辑及时序进行了仿真。实际使用表明该控制器可以很好控制多轴电机的运动,并且能够实现高精度地位置控制。

低温下部分产品RTC不工作的问题探析

<strong>前言</strong>

客户反馈在批量生产阶段,发现部分产品的MCU的RTC在低温(0℃)下工作不正常,但是在常温下又是正常的,且其他正常的MCU的RTC在常温与低温下都是正常的。

<strong>问题跟进</strong>

通过与客户邮件沟通,了解到客户使用的MCU型号是STM32F030C6T6TR。在产品的主从结构中主要用作电源管理和时钟管理。通过客户的描述,似乎相同型号不同片子都存在较大的差异。

STM32F4 新建标准库函数工程

<strong>前言</strong>

在 STM32 开发中,库函数开发相比寄存器方式具有开发周期短、代码可读性好、便于移植等优点,而使用 Keil 环境的第一步就是新建工程。本文以 STM32F401CE 芯片为例,介绍使用标准库函数新建工程的步骤。

<strong>材料准备</strong>

• STM32F4xx 固件库:STM32F4xx_DSP_StdPeriph_Lib_V1.4.0.rar
• Keil-MDK
• 一点耐心

<strong>新建库函数工程注意事项</strong>

不同芯片在新建工程时的配置略有区别,主要体现在以下几点:

如何以全模拟控制的降压和升压转换器实现输出稳压

可使用同一款单片机实现纯模拟控制的同步降压型电源和升压型电源,从而实现输出稳压。两种方案拥有一个共同的优点,即不占用任何处理器资源,这样内核就可以全力满足更为复杂的固件的需求。同时,模拟回路能够更快速地响应负载阶跃和输入电压变化,这对于不少应用而言是非常有用的。

本文讨论的单片机为 Microchip 旗下的 PIC16F753。无论是降压还是升压转换器其所需的外设集是相同的:互补输出发生器、比较器、运算放大器、9 位模数转换器、固定参考电压、斜率补偿模块,以及捕捉和比较 PWM 模块。上述外设应通过固件实现内部连接,以减少所需的外部引脚数。

<strong>电路图</strong>

基于PIC单片机的CAN总线扩展技术

本文详细介绍了基于PIC单片机的CAN总线扩展技术,给出了CAN网关的硬件设计原理及软件设计框图,通过CAN网关增加了CAN总线的容量、提高了CAN总线的通信速率、扩展了CAN总线的传输距离。

基于 QDR-IV SRAM 实现网络流量管理统计计数器 IP设计

<font color="#FD8900">作者: Avi Avanindra,Devardhi Mandya,Cypress</font>

网络路由器带有用于性能监控、流量管理、网络追踪和网络安全的统计计数器。计数器用来记录数据包到达和离开的次数以及特定事件的次数,比如当网络出现坏包时。数据包的到达会使多个不同的统计计数器发生更新;但一台网络设备中的统计计数器的数量及其更新速度常常受到存储技术的限制。

图文教你理解单片机STM32时钟

众所周知STM32有5个时钟源HSI、HSE、LSI、LSE、PLL,其实他只有四个,因为从上图中可以看到PLL都是由HSI或HSE提供的。

<center><img width="600" src="http://mcu.eetrend.com/files/2017-09/wen_zhang_/100007845-25791-100.jpg…; alt="图文教你理解单片机STM32时钟"></center>

解读STM32单片机:代码实现PCROP清除

前言

STM32 PCROP专有代码读出保护,将某个区域设置为仅允许执行,可防止代码被非法读出与修改。ST网站提供了免费的PCROP参考代码,但是例程中仅仅提供了用代码设置PCROP。为方便利用PCROP进行知识产权保护的开发和部署,这篇文章提供了方法,可在RDP级别设置为1或者0时,使用代码清除PCROP。

ST网站上的PCROP参考代码

学习使用PCROP,可从ST网站下载文档以及参考代码。文档里有一步一步的详细说明。参考代码则实现了,如何设置编译开发环境去掉文字库(Literal pool),以避免受保护区域需要被读访问;参考代码也实现了如何利用代码使能PCROP保护以及如何导出接口符号供二次开发使用。

一种实用的单片机矩阵键盘设计

矩阵键盘是单片机是外部设备中所使用的排布类似于矩阵的键盘组。矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。矩阵键盘的优点是节约单片机IO口,例如普通键盘8个IO口只能用作8个按键,而矩阵键盘能作16个按键。

本文以51单片机为载体介绍一种4*4矩阵键盘实现16个按键操作的原理、电路和软件设计要点。

基于FPGA的数字分频器设计

作者:赵厉,张志国,唐芳福

<strong>1. 概述</strong>

随着集成电路技术的快速发展,半导体存储、微处理器等相关技术的发展得到了飞速发展。FPGA以其可靠性强、运行快、并行性等特点在电子设计中具有广泛的意义。作为一种可编程逻辑器件,FPGA在短短二十年中从电子设计的外围器件逐渐演变为数字系统的核心。伴随着半导体工艺技术的进步,FPGA器件的设计技术取得了飞跃发展及突破。

分频器通常用来对某个给定的时钟频率进行分频,以得到所需的时钟频率。在设计数字电路中会经常用到多种不同频率的时钟脉冲,一般采用由一个固定的晶振时钟频率来产生所需要的不同频率的时钟脉冲的方法进行时钟分频。

如何在IAR中配置CRC参数

前言

STM32全系列产品都具有CRC外设,对CRC的计算提供硬件支持,为应用程序节省了代码空间。CRC校验值可以用于数据传输中的数据正确性的验证,也可用于数据存储时的完整性检查。在IEC60335中,也接受通过CRC校验对FLASH的完整性进行检查。在对FLASH完整性检查的应用中,需要事先计算出整个FLASH的CRC校验值(不包括最后保存CRC值的字节),放在FLASH的末尾。在程序启动或者运行的过程中重新用同样的方法计算整个FLASH的CRC校验值,然后与保存在FLASH末尾的CRC值进行比较。

基于DDS技术和单片机设计的射频信号干扰器

文中介绍的干扰器能够产生3种干扰信号:随机干扰、点频干扰和扫频干扰,其中点频干扰和扫频干扰是基于单片机对DDS芯片AD9852的控制产生,整个系统的控制灵活、高效。测试结果表明,系统能够准确产生所需要的干扰信号,满足抗干扰性能测试的需要。虽然本设计产生的干扰信号位于406 MHz频段,但这样的电路结构也可用于其它频段(需修改VCO、PLL等电路),例如手机通信频段,因此本电路结构对其它频段的应用同样具有借鉴意义。

随着电子设备的使用越来越普遍,电子设备之间的干扰问题也越来越突出,特别是通信设备的干扰问题,这使得电路工程师在电子产品的设计过程中不得不考虑设备的抗干扰问题,并且有必要对通信设备的抗干扰能力进行测试。文中介绍的射频信号干扰器可用于测试通信设备的抗干扰能力,能够产生如下3种干扰:

基于MP430控制的正弦波信号源的设计与制作

本系统以MSP430为控制核心设计并制作一个正弦波和脉冲波信号源。本 实验分为四大模块,分别是键盘扫描模块,正弦波产生模块,脉冲波产生模块和液晶显示模块。正弦产生部分采用DDS芯片AD9851产生频率可控的正弦波,在实践测试中得之从AD9851输出的正弦波幅值会随频率变化,最后通过软件编程明显减少了幅值误差。脉冲产生部分采用Verilog编程在FPGA内部产生占空比可调的脉冲波,解决了由将正弦波变成方波再送FPGA产生脉冲波的不稳定性。本系统工作可靠稳定,较好地完成了基本部分和发挥部分的要求。

<font size="3"><strong>一. 总体方案</strong></font>

CAN总线中特殊波特率如何计算?

CAN总线采用的是异步串行通信,也就是没有单独的时钟线来保证各个收发器之间时钟的一致,每个收发器是按事先设置的波特率来对总线上的电平进行分位。因此波特率设置准确对CAN总线的稳定通信来说非常重要。

CAN总线里我们可以通过对CAN 节点里的位定时寄存器的控制来实现不同波特率的通信。CAN协议里将一个位时间分为同步段、传播段、相位缓冲段1和相位缓冲段2。每个段的时间长度都可以用一个整数的基本时间单位表示,该基本时间单位由系统的时钟振荡器分频得到。

DDR布线举足轻重,一文看懂背后的大学问

DDR布线在PCB设计中占有举足轻重的地位,设计成功的关键就是要保证系统有充足的时序裕量。要保证系统的时序,线长匹配又是一个重要的环节。我们来回顾一下,DDR布线,线长匹配的基本原则是:地址,控制/命令信号与时钟做等长。数据信号与DQS做等长。为啥要做等长?大家会说是要让同组信号同时到达接收端,好让接收芯片能够同时处理这些信号。那么,时钟信号和地址同时到达接收端,波形的对应关系是什么样的呢?我们通过仿真来看一下具体波形。

【干货】以0 MIPS运行你的嵌入式系统

作者:Øivind Loe,Silicon Labs微控制器产品高级营销经理

即使是在诸如物联网应用的无线连接这种主导功耗的事件中,让尽可能多的进程自主运行,也可大大提高电池寿命。降低功耗一直是微控器(MCU)市场的一个主要关注点。超低功耗MCU现在可以大大降低工作模式和深度睡眠模式下的功耗。这种变化的效果是显而易见的,它大大提高了我们日常嵌入式应用中的电池寿命,并且提供了在未来使用能量收集的可能性。

然而,要基于新型MCU降低功耗,开发人员必须考虑到许多因素,对此Silicon Labs特别撰写一篇技术文章:“以0 MIPS运行你的嵌入式系统”,帮助开发人员了解如何利用新型MCU中外设的自主运行,通过更接近以“0”MIPS运行,来实现数据手册中所承诺的低功耗。