看门狗概念:
在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界磁场的干扰,造成各种寄存器和内存的数据混乱,会导致程序指针错误,不在程序区,取出错误的程序指令等,都会陷入死循环。程序的正常运行被打断,由单片机控制的系统无法继续正常工作,会造成整个系统陷入停滞状态,发生不可预料的后果。看门狗就是定期的查看芯片内部的情况,一旦发生错误就向芯片发出重启的电路。看门狗命令在程序的中断中拥有最高的优先级。
IWDG简介:
官方说法:
STM32F10xxx内置两个看门狗,提供了更高的安全性、时间的精确性和使用的灵活性。两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障;当计数器达到给定的超时值时,触发一个中断(仅适用于窗口型看门狗)或产生系统复位。 独立看门狗(IWDG)由专用的低速时钟(LSI)驱动,即使主时钟发生故障它也仍然有效。窗口看门狗由从APB1时钟分频后得到的时钟驱动,通过可配置的时间窗口来检测应用程序非正常的过迟或过早的操作。 IWDG最适合应用于那些需要看门狗作为一个在主程序之外,能够完全独立工作,并且对时间精度要求较低的场合。WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序。
通俗说法:
独立看门狗号称宠物狗,窗口看门狗号称警犬。独立看门狗用通俗一点的话来解释就是一个 12 位的递减计数器,当计数器的值从某个值一直减到 0 的时候,系统就会产生一个复位信号,即 IWDG_RESET。如果在计数没减到 0 之前,刷新了计数器的值的话,那么就不会产生复位信号,这个动作就是我们经常说的喂狗。看门狗功能由 VDD 电压域供电,在停止模式和待机模式下仍能工作。
独立看门狗一般用来检测和解决由程序引起的故障,比如一个程序正常运行的时间是50ms,在运行完这个段程序之后紧接着进行喂狗,我们设置独立看门狗的定时溢出时间为60ms,比我们需要监控的程序 50ms 多一点,如果超过 60ms 还没有喂狗,那就说明我们监控的程序出故障了,跑飞了,那么就会产生系统复位,让程序重新运行。
IWDG主要特性:
自由运行递减计数器。
时钟由独立RC振荡器提供(可在待机和停止模式下运行)。
当递减计数器值达到0x000时产生复位(如果看门狗已激活)。
IWDG功能描述:
在键寄存器(IWDG_KR)中写入0xCCCC,开始启用独立看门狗;此时计数器开始从其复位值0xFFF递减计数。当计数器计数到末尾0x000时,会产生一个复位信号(IWDG_RESET)。 无论何时,只要在键寄存器IWDG_KR中写入0xAAAA, IWDG_RLR中的值就会被重新加载到计数器,从而避免产生看门狗复位 。
独立看门狗框图:
①独立看门狗时钟
独立看门狗的时钟由独立的 RC振荡器 LSI提供,即使主时钟发生故障它仍然有效,非常独立。LSI的频率一般在 30~60KHZ之间,根据温度和工作场合会有一定的漂移,我们一般取 40KHZ,所以独立看门狗的定时时间并一定非常精确,只适用于对时间精度要求比较低的场合。
②计数器时钟
递减计数器的时钟由 LSI经过一个 8位的预分频器得到,我们可以操作预分频器寄存器 IWDG_PR 来设置分频因子,分频因子可以是:[4,8,16,32,64,128,256,256],计数器时钟CK_CNT= 40/ 4*2^PRV,一个计数器时钟计数器就减一。
③计数器
独立看门狗的计数器是一个 12 位的递减计数器,最大值为 0XFFF,当计数器减到 0时,会产生一个复位信号:IWDG_RESET,让程序重新启动运行,如果在计数器减到 0 之前刷新了计数器的值的话,就不会产生复位信号,重新刷新计数器值的这个动作我们俗称喂狗。
④重装载寄存器
重装载寄存器是一个 12 位的寄存器,里面装着要刷新到计数器的值,这个值的大小决定着独立看门狗的溢出时间。超时时间 Tout = (4*2^prv) / 40 * rlv (s) ,prv是预分频器寄存器的值,rlv是重装载寄存器的值。
⑤键值寄存器
键值寄存器 IWDG_KR 可以说是独立看门狗的一个控制寄存器,主要有三种控制方式,往这个寄存器写入下面三个不同的值有不同的效果。
通过写往键寄存器写 0XCCC 来启动看门狗是属于软件启动的方式,一旦独立看门狗启动,它就关不掉,只有复位才能关掉。
⑥状态寄存器
状态寄存器 SR只有位 0:PVU和位 1:RVU有效,这两位只能由硬件操作,软件操作不了。RVU:看门狗计数器重装载值更新,硬件置 1 表示重装载值的更新正在进行中,更新完毕之后由硬件清 0。PVU: 看门狗预分频值更新,硬件置’1’指示预分频值的更新正在进行中,当更新完成后,由硬件清 0。所以只有当 RVU/PVU等于 0 的时候才可以更新重装载寄存器/预分频寄存器。
IWDG库函数:
独立看门狗的配置使用:
/* 独立看门狗使用LSI作为时钟。
* LSI 的频率一般在 30~60KHZ 之间,根据温度和工作场合会有一定的漂移,我
* 们一般取 40KHZ,所以独立看门狗的定时时间并一定非常精确,只适用于对时间精度
* 要求比较低的场合。
*
* rlv:重装载寄存器的值,取值范围为:0-0XFFF
* 函数调用举例:
* IWDG_Config(IWDG_Prescaler_64 ,625); // IWDG 1s 超时溢出
* (64/40)*625 = 1s
*/
void IWDG_Config(uint8_t prv ,uint16_t rlv)
{
IWDG_WriteAccessCmd( IWDG_WriteAccess_Enable );// 使能 预分频寄存器PR和重装载寄存器RLR可写
IWDG_SetPrescaler( prv );// 设置预分频器值
IWDG_SetReload( rlv ); // 设置重装载寄存器值
IWDG_ReloadCounter();// 把重装载寄存器的值放到计数器中
IWDG_Enable(); // 使能 IWDG
}
void IWDG_Feed(void)
{
// 把重装载寄存器的值放到计数器中,喂狗,防止IWDG复位
// 当计数器的值减到0的时候会产生系统复位
IWDG_ReloadCounter();
}
主要完成任务:
1、对霍尔元件的原理进行了解
2、对其初始化配置、TIM时钟配置进行了解
上一篇:【STM32电机矢量控制】记录13——EXTI外部中断
下一篇:【STM32电机矢量控制】记录11——DMA传输
推荐阅读
史海拾趣
成立与发展: Asahi Kasei Microsystems(AKM)成立于1983年,是日本旭化成集团旗下的一家子公司,总部位于东京。该公司主要致力于集成电路和半导体解决方案的研发和生产。AKM的创始目标是为市场提供高质量、高性能的模拟芯片和数字芯片,以满足消费电子、通信、汽车和工业等行业的需求。
产品创新: AKM在模拟和数字领域取得了一系列创新成果。其中,其声音处理技术尤为突出,涵盖了高保真音频、语音识别和声音传感器等领域。AKM的音频解决方案在高端音响、耳机、智能手机和汽车音响系统中得到广泛应用,为用户带来出色的听觉体验。
市场扩展: 随着技术的不断创新和产品线的拓展,AKM逐渐在全球范围内建立了广泛的客户群体。除了日本市场外,其产品远销亚洲、欧洲和美洲等地区。AKM的产品在全球范围内备受认可,并赢得了众多合作伙伴的信任与支持。
技术合作: 为了保持在市场上的竞争优势,AKM积极寻求与其他公司和机构的技术合作。通过与声学专家、电子设备制造商和汽车制造商等行业领先企业的合作,AKM不断吸收和借鉴先进的技术理念,推动产品创新和技术进步。
未来展望: 面对日益激烈的市场竞争和技术变革,AKM将继续加强研发投入,不断提升产品质量和技术水平。同时,AKM将积极应对全球经济形势和市场需求的变化,拓展新的业务领域,为客户提供更加全面和专业的解决方案。
机顶盒,全称为数字视频变换盒,是现代家庭娱乐中不可或缺的重要设备。从广义上讲,凡是与电视机连接的网络终端设备均可视为机顶盒,其功能已远不止于简单的信号转换。机顶盒不仅能够接收来自有线电缆、卫星天线、宽带网络及地面广播的数字电视信号,并将其转换为适合电视机播放的格式,还集成了众多增值服务,如电子节目指南、因特网网页浏览等。
在数字电视时代,机顶盒扮演了至关重要的角色。它不仅让用户能够在模拟电视上观看高清乃至4K的超高清电视节目,享受更为细腻的画面和震撼的音效,还赋予了电视机网络交互的能力。通过机顶盒,用户可以轻松接入互联网,进行在线购物、观看网络视频、玩游戏等多元化活动,使电视机从单向接收信息的设备转变为与用户互动的智能终端。
随着技术的不断进步,机顶盒的功能也在不断扩展。智能化技术的应用,如语音助手、智能推荐等,进一步提升了用户体验。同时,高清、超高清技术的普及,以及云计算、边缘计算等技术的结合,为机顶盒提供了更为高效的内容分发和管理能力。未来,随着5G、虚拟现实和增强现实等新技术的融入,机顶盒的娱乐、教育等应用将更加广泛,为用户带来更为沉浸式和互动式的观影体验。
综上所述,机顶盒作为连接电视与外部信号源及互联网的桥梁,正以其丰富的功能和不断升级的技术,为现代家庭娱乐生活带来前所未有的便捷与享受。
友盟(AP)公司在电子行业的崛起,始于其坚持不懈的技术创新。在创立初期,友盟就敏锐地捕捉到了移动互联网快速发展的趋势,投入大量资源进行技术研发。公司团队深入研究用户行为分析、大数据分析等前沿技术,不断推出具有创新性的产品和服务。通过精准的数据分析和个性化推荐,友盟成功帮助众多合作伙伴提升了用户体验和业务效率,逐渐在行业内树立起了良好的口碑。
G24i的成立可以追溯到2006年,它自称是世界上首家生产商业化应用等级DSSC的公司。公司的技术根基源自瑞士洛桑联邦理工学院的M. Gratzel团队,该团队是DSSC技术的先驱。G24i由美国Kanorka Technologies公司投资,而Kanorka则得到了美国军方的资助。这一强大的技术背景为G24i的商业化之路奠定了坚实的基础。公司成立后不久,便致力于将实验室级别的DSSC技术推向市场,开启了其商业化探索的征程。
随着企业规模的不断扩大和影响力的提升,Astro Tool Corp公司逐渐认识到企业社会责任的重要性。公司积极参与社会公益事业,为当地社区和弱势群体提供帮助和支持。同时,公司还注重环境保护和可持续发展,通过引进环保技术和设备,降低生产过程中的能耗和排放,实现绿色生产。这些举措不仅提升了公司的社会形象,也为公司的长远发展奠定了坚实基础。
请注意,这些故事是虚构的,旨在展示一个电子行业企业可能经历的一些典型发展阶段和策略,并不代表任何真实公司的具体情况。如果需要更贴近真实情况的故事,建议进一步调研和了解Astro Tool Corp公司的实际发展历程。
作为一家具有社会责任感的企业,Aptiv始终关注社会公益事业。公司积极参与各项社会活动和慈善捐赠,为改善社会环境和提升公众生活质量做出了积极贡献。同时,Aptiv还注重在运营所在城市推动社区发展,通过创造就业岗位、支持教育事业等方式,为当地社会经济的繁荣做出了贡献。
请教一个非常奇怪的问题:程序中定义了一个数组mempool,指向该数组的指针MpIsrOut和结构体MInfo及指向该结构体的指针MpIsrInfo,这个结构体和数字都在xdata空间。程序在一个函数中是以该数组指针和结构体指针来访问这两个实体的,在这个函数里,出 ...… 查看全部问答∨ |
|
我用的是C#写的,写在paint事件中,运行不到那里 我就改到构造函数中去绘制同样也没有显示出来 public ucDrawLine() { InitializeComponent(); &nb ...… 查看全部问答∨ |
|
驱动的makefile、sourse还有ini文件该怎么写? 请问一下,文件系统过滤驱动程序编译需要的makefile和source文件怎么来写,我编写时是使用的ifs kit中sfilter过滤驱动中的原文件修改。但编译后nms翻译提示没有时间戳和可能过期,还有安装后重起进不了系统。请高手 ...… 查看全部问答∨ |
|
刚装了Evc4+sp3+sdk4.2+ppc2003sdk,编译的时候报“The emulator coul not be found in the speci 模拟器已经装了阿,可以看到的,为什么编译出问题呢?模拟器的安装路径不能变吗?哪位能告诉我evc4怎么配置阿,有哪本书讲啊?… 查看全部问答∨ |
|