0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

A1333角度位置传感器的SPI接口调试

CHANBAEK 来源:嵌入式程序猿 作者:小猿 嵌 2023-04-20 14:13 次阅读

摘要

本篇笔记主要记录在调试Allegro microsystem 公司生产的A1333 高速,低延迟,带有诊断和ASIL D 认证的无接触式的0~360°的角度位置传感器IC时遇到的一些问题。

A1333简介

A1333可以无接触测量0~360°角度,符合ISO262的功能安全认证ASIL D等级。 带有自诊断功能,是一种霍尔效应的SoC,包含三部分,CVH(Circular Vertical Hall) 前端,数字信号处理部分,和电机换向和编码器输出,而且片上还有EEPROM,可以用来存储参数,因为符合ASIL D等级认证,所以是汽车应用的理想选择,广泛用于,电动转向,油门控制等系统,有24脚eTSSOP 封装的和14脚封装的, 24脚的是双轨的,14脚封装的是单轨的。

poYBAGGqPf2AEw1IAABsPyQZPeg566.png

系统框图

pYYBAGGqPf6ATlrZAAHoeD4cbYM933.png

从系统框图也可以看出,总体包含我们前面说的由三部分组成,CVH前端,数字信号处理和电机换向输出UVW,/编码器输出。

典型应用框图

一般我们都是用一个单片机来配合控制A1333, A1333有SPI 接口和ABI接口,这次我们以SPI接口为例子。

pYYBAGGqPgCALS5xAACVWsMckvc942.png

理论上任何一款带SPI的单片机都可以完成和A1333的通信,但如果是汽车应用,要选用带有ASIL 认证的单片机。 我们以MPC5744p 这款带有ASIL D认证的单片机为例子。 采用4线SPI 接口和 A1333通信,使用SPI 的模式3 CPHA, CPOL 为1,1 配置。

引脚介绍

poYBAGGqPgGANTxzAABU_AqiKeI959.png

pYYBAGGqPgOAeeNRAAB4tlyRXVA184.png

因为我们这次是以SPI通信来和A1333交换数据,所以SPI 通信的一些参数要注意下。

poYBAGGqPgSAIeinAAA0Y9Sot6E701.png

输入输出时序图

poYBAGGqPgWAcMKYAABivEquwXE849.png

SPI通信帧格式

A1333有三种SPI通信格式,有三种分别是16位,17位,和20位。

pYYBAGGqPgeAYUQlAABXdaV5wns311.png

其实我们的驱动软件就是要支持几种格式,完成通信,而读写逻辑也在书册中给出了。

写逻辑

总结起来就是,写的时候包含一位低,一位读写控制位,写为高,读 为低,6位寄存器地址位,8位数据,如果是16位帧格式就完了, 如果是20位帧格式,末尾还需加上4位CRC校验。 要实现一个16位数据的写操作,需要发送两次写逻辑来完成。

pYYBAGGqPgiAAxFvAABa6S2Nz9c776.png

至于代码的实现,可以采用SPI查询模式,也可以采用中断或者DMA方式,这个都可以,一定要注意写一个16位的数据要通过两次写操作才能完成。

读逻辑

读操作总结起来就是一句话,按照格式同样的内容发两遍这样第二遍才能获取结果。

poYBAGGqPgqAPX7gAAC0c3U-QAo454.png

代码实现上也是这样操作,包含一位低,一位读写控制位,写为高,读 为低,6位寄存器地址位,8位数据。 按照书册要求,结合SDK可以很容易的完成驱动的开发和使用,重点在调试。

驱动开发

本次我们使用SDK,结合上位机初始化配置工具完成驱动的生成。 其中SPI的配置如下。

poYBAGGqPguAZGlaAAAWj1w8Mr8270.png

在根据自己的实际应用硬件配置相应管脚就可以生成代码了,生成的工程是空的,我们需要调用生成的驱动函数来完成对A1333的驱动,其实就是完成读写函数,然后在主程序中通过状态机去调用实现不同地址,不同寄存器的操作,包含角度的读取,零点的校准,等操作。

测试

按照手册要求完成了驱动开发,可是通讯的时候,A1333没有反应,用示波器测到的波形如下。

pYYBAGGqPg2ALT73AABgAqt5Drg151.png

发送的数据和时钟波形都是正确的,可是A1333从机没有反应,读取到的值全是0, 是有问题的,应检查软件代码和硬件排查问题。

软件上首先排查驱动有没有问题,经过多次手册阅读和软件排查发现配置和驱动都没有问题,最后就排查硬件,因为是从硬件工程师手里拿到的板子,一开始没有排查硬件,后来和硬件工程师一块排查,发现TEST脚没有接地,而是被拉到了电源柜VCC上,这样导致A1333工作不正常,TEST脚是厂家测试用的,一般正式用要拉地。 后将TEST脚拉地,A1333有了数据回应。

pYYBAGGqPg6AC6btAAB3kH1fq-I963.png

经过排查是因为Test 管脚没有接地,直接接到了Vcc上, Test 应该接地按照手册要求,经硬件工程师更改电路,将Test飞线接地,工作正常。

poYBAGGqPhCAI7hrAABoQTz_OAU122.png

pYYBAGGqPhGAeJ6PAABp3zTMHsQ806.png

poYBAGGqPhKAe4E5AABtFB5R9MM586.png

EEPROM解锁

A1333含有EEPROM可以用来存储参数,但是在操作前需要解锁,而解锁是需要特殊密码指令的。

poYBAGGqPhSAdkeTAACpvHq-xrA874.png

就是连续发送这5条写指令,然后读取0x3C寄存器,按照解锁指令和时序发送完指令后,可以读取0x3C地址,如果 寄存器的最低位 bit0 如果返回为1,表明解锁成功。 驱动测试波形如下。

pYYBAGGqPhWAVOPeAABnLxXHQJQ000.png

解锁成功后,就可以进行EEPROM的操作,更改参数,例如零点的校准角度,等等,这里就不在赘述。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48110

    浏览量

    740122
  • 接口
    +关注

    关注

    33

    文章

    7640

    浏览量

    148509
  • 调试
    +关注

    关注

    7

    文章

    527

    浏览量

    33625
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1615

    浏览量

    89620
  • allegro
    +关注

    关注

    42

    文章

    626

    浏览量

    144039
收藏 人收藏

    评论

    相关推荐

    角度传感器

    ADXL345角度,加速度传感器,很好地角度传感器,资料分享给大家
    发表于 08-06 19:50

    有sca60角度传感器的资料没

    有sca60角度传感器的资料没
    发表于 07-31 11:38

    最全芯片资料ADXL315角度传感器

    最全芯片资料ADXL315角度传感器最全芯片资料ADXL315角度传感器
    发表于 08-05 13:16

    ADXL345角度传感器资料分享

    师兄给了几点建议,供参考~IIC模式下,/CS 引脚要上拉。这个CS是给SPI接口模式用的,下拉作为SPI从设备,不是芯片的片选,手册上说明得不清楚。如果有人问“能否测量0到45的倾
    发表于 07-31 12:00

    基于MLX90316的磁性角度传感器设计方案

    的MLX90316芯片。它属于CMOS霍尔传感器,可以输出与芯片表面平行的磁场相对应的角度位置信息,并以SPI的串行通信方式输出数字信号,省去了A
    发表于 11-06 15:18

    基于磁敏角度技术的拉线式位移传感器设计与应用

    传感器得到的二路正交的模拟信号经过放大处理后,经过14位微分型A/D转换进入芯片微处理(DSP),再经过16位DSP处理之后的数字信号分3路输出。MLX90316输出具有12位
    发表于 11-14 14:48

    角度传感器在低速风洞中的校准测量技术

    在飞行左侧(或右側)和正上方处,且在机身或弹身前部平直段,不要安装在曲率变化大的头部锥段。  (5)传感器校准直线的截距是由传感器机械零位决定的。如果把飞行初始
    发表于 12-04 15:56

    3线SPI角度传感器TLE 5012怎么使用?

    大家好,我现在正在一个接口SPI 3线工作,用来从infineon传送dspic33fj256mc710a角度传感器TLE 5012B。我
    发表于 09-06 09:24

    stm32单片机控制直流电机

    stm32单片机控制直流电机,目录A1333角度传感器硬件安装通信接口寄存STM32控制部分电路原理图程序
    发表于 07-21 09:32

    TAD2141角度传感器具有哪些特性参数?

    TAD2141角度传感器具有哪些特性参数?
    发表于 02-15 06:31

    调试角度位置传感器IC时遇到的一些问题

    摘要本篇笔记主要记录在调试Allegro microsystem 公司生产的A1333 高速,低延迟,带有诊断和ASIL D 认证的无接触式的0~360°的角度位置传感器IC时遇到的一些问...
    发表于 02-17 06:20

    ofweek mall德国ZF位置传感器AN9性能怎么样

    一、ofweek mall德国ZF 角度位置传感器AN9产品描述:角度位置传感器AN9是非接触式固有线性接触角度位置传感器,具有两个独立的输出。该传感器利用霍尔效应技术及永久磁铁产生的
    发表于 05-16 11:44 315次阅读

    Allegro两款360角度传感器IC介绍

    今天为大家介绍Allegro两款0~360°角度传感器IC A1333和A1339,这两款产品都具有15µs的超快响应时间,支持10MHz SPI、实时ABI和UVW输出,可提供基于环
    的头像 发表于 03-19 09:45 3418次阅读
    Allegro两款360<b class='flag-5'>角度</b><b class='flag-5'>传感器</b>IC介绍

    调试又踩了个坑,SPI从机没反应

    摘要本篇笔记主要记录在调试Allegro microsystem 公司生产的A1333 高速,低延迟,带有诊断和ASIL D 认证的无接触式的0~360°的角度位置传感器IC时遇到的一些问...
    发表于 12-22 19:04 8次下载
    <b class='flag-5'>调试</b>又踩了个坑,<b class='flag-5'>SPI</b>从机没反应

    智能阀门专用位置传感器该如何选择?

    智能阀门专用位置传感器该如何选择?MIRAN米朗科技推出整合工业等级的智能阀门专用(角度/直线)位置传感器
    的头像 发表于 04-14 15:39 553次阅读
    智能阀门专用<b class='flag-5'>位置</b><b class='flag-5'>传感器</b>该如何选择?