*阅读说明:以下仅做简要总结展示,详细过程、源码、资料等请戳原链接查看。
引言:
笔记一:计划做个开源项目,放在gitee上。目标结构如图,需要11芯片实现SPI转CAN和LIN的功能。
笔记二:做电机控制的工程师都知道,电机驱动的PWM极性根据硬件会有不同,有些选择预驱芯片,有些选择自己搭建驱动电路,但总共有4种模式: 1、上桥高有效,下桥高有效 2、上桥低有效,下桥低有效 3、上桥高有效,下桥低有效 4、上桥低有效,下桥高有效 根据硬件的设计,必须配置相应的PWM极性,确保不会导致MOS管上下桥直通。 这里使用AC7811配置PWM,生成用于FOC控制算法的中央对齐的6路PWM,且PWM的初始时刻触发ADC电流采样。
关于电机驱动的极性,之前介绍了电控的4种极性所需的PWM配置。近期发现一点问题,在PWM模块初始化期间会将输出端口的电平拉低,在不同极性下存在烧坏功率器件的风险,比如上桥低有效,下桥低有效。
PWM模块功能很强大,在很多应用场景中非常常见。AC7811的PWM支持输入捕获、输出比较、PWM信号生成。每种功能都有例程帮助学习,但例程是使用接口函数实现的,这里介绍一下操作寄存器实现各个功能。
最近发现AC7811的例程中缺少ACMP模块的例程及应用笔记。这里提供代码和应用笔记给大家参考。
1、首先看一下手册说明 2、外部时钟配置 3、内部时钟配置
笔记三:前段时间有客户提到AC7811怎么实现栈溢出检测,便想到使用MPU模块在栈顶设置一段禁用区,以在栈使用溢出时访问到禁用区,产生memorymanage fault,从而进行下一步的处理。再便想到可以通过该功能来实现带操作系统的用户栈溢出检测功能。
有时候因为一些异常操作导致芯片进入了读写保护,一般我们可以通过进入ISP模式,使用ISP工具将整颗芯片擦除来恢复,这里介绍另外一种方法。
最近看到有很多人提到huawei 的liteos,便花了点时间尝试移植了一下内核部分,简单运行了一下,大体能正常运行,便拿出来分享一下。
分享个动态加载flash驱动的工程。附件里面有两个工程,一个用于生成flash驱动,一个用于测试,因为没有实现通信,所以生成的flash驱动文件,我用bin2c把它转换成了数据放在flash.h中,然后导入到测试工程。
1、环境准备 2、工程配置
大家经常会遇到AC78xx芯片在进行烧写的时候提示各种错误,这里给大家提供一个keil下的简易排查思路。 1、确认芯片是否识别 2、检查读写保护
之前在eclipse环境下,因为不能支持ATC-LINK仿真,大家需要使用JLINK,非常麻烦,现在,推出了自己的ATC-LINK Tool,不光可以通过上位机进行烧录操作,还支持在eclipse下进行仿真。
autosar的网络管理流程相比OSEK要简单很多,实现起来也不复杂。文档的话参考autosar 标准里面网络管理说明的流程就行,代码在实际应用上简化了很多。
实际应用过程中,大家经常需要使用一些休眠唤醒,复位不会被清除或者说改变的变量,用于保存一些关键信息。实际上,ac781x/ac780x的SRAM在复位或者休眠唤醒的时候都不会发生改变,但复位重新启动的时候,启动代码会会对SRAM中显式使用到的变量地址进行初始化。
|