[学习笔记]

国产MCU专栏 第45期: “芯”发现!AutoChips AC7811 学习、开发经验笔记分享

[复制链接]
4528|1
手机看帖
扫描二维码
随时随地手机跟帖
21ic小能手|  楼主 | 2023-3-16 15:37 | 显示全部楼层 |阅读模式
AC, Chip, MCU, ip, ps

*阅读说明:以下仅做简要总结展示,详细过程、源码、资料等请戳原链接查看。


引言:
之前整理过一期大神的AC7801 原创案例笔记,代码全公开!今天继续汇总一些AC7811的学习笔记,供大家学习参考。、


笔记一:
计划做个开源项目,放在gitee上。目标结构如图,需要11芯片实现SPI转CAN和LIN的功能。
1.jpg


笔记二:
做电机控制的工程师都知道,电机驱动的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中显式使用到的变量地址进行初始化。


使用特权

评论回复

相关帖子

cooldog123pp| | 2023-5-27 10:23 | 显示全部楼层
楼主讲的很详细,非常感谢楼主的讲解,mark一下,收藏学习,受教受教。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

136

主题

665

帖子

23

粉丝