User Tools

Site Tools

blog:2024-01-24_share_a1333_調試又踩了個坑_spi從機沒反應



2024-01-24 Share: A1333 調試又踩了個坑,SPI從機沒反應

  • This article describes the A1333 test experience

Local Backup

摘要

  • 本筆記主要記錄在調試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腳封裝的是單軌的。

系統框圖

  • 從系統框圖也可以看出,總體包含我們前面說的由三個部分組成,CVH前端,數位訊號處理和馬達換向輸出UVW,/編碼器輸出。

典型應用框圖

  • 一般我們都是用一個單晶片來配合控制A1333, A1333有SPI 接口和ABI接口,這次我們以SPI接口為例子。
  • 理論上任何一款帶SPI的單晶片都可以完成和A1333的通信,但如果是汽車應用,要選用具有ASIL 認證的單晶片。我們以MPC5744p 這款具有ASIL D認證的單晶片為範例。採用4線SPI 介面和A1333通信,使用SPI 的模式3 CPHA, CPOL 為1,1 配置。

引腳介紹

  • 因為我們這次是以SPI通訊來和A1333交換數據,所以SPI 通訊的一些參數要注意下

輸入輸出時序圖

SPI通訊訊框格式

  • A1333有三種SPI通訊格式,有三種分別是16位,17位,和20位,
  • 其實我們的驅動軟體就是要支援幾種格式,完成通信,而讀寫邏輯也在書冊中給出了。

寫邏輯

  • 總結起來就是,寫的時候包含一位低,一位讀寫控制位,寫為高,讀為低,6位寄存器地址位,8位數據,如果是16位幀格式就完了, 如果是20位幀格式,末尾還需加上4位元CRC校驗。要實現一個16位元資料的寫入操作,需要發送兩次寫邏輯來完成。
  • 至於程式碼的實現,可以採用SPI查詢模式,也可以採用中斷或DMA方式,這個都可以,一定要注意寫一個16位元的資料要透過兩次寫入操作才能完成,

讀邏輯

  • 讀取操作總結起來就是一句話,按照格式同樣的內容發兩遍這樣第二遍才能獲得結果。
  • 程式碼實作上也是這樣操作,包含一位低,一位讀寫控制位,寫為高,讀為低,6位元暫存器位址位,8位元資料。按照書冊要求,結合SDK可以很容易的完成驅動的開發和使用,重點在於調試。

驅動開發

  • 本次我們使用SDK,結合上位機初始化配置工具完成驅動的產生。其中SPI的配置如下
  • 在根據自己的實際應用硬體配置對應腳位就可以產生程式碼了,產生的工程是空的,我們需要呼叫產生的驅動函數來完成對A1333的驅動,其實就是完成讀寫函數,然後在主程式中透過狀態機去呼叫實現不同位址,不同暫存器的操作,包含角度的讀取,零點的校準,等操作。

測試

  • 依照手冊要求完成了驅動開發,可是通訊的時候,A1333沒有反應,用示波器測到的波形如下
  • 發送的資料和時鐘波形都是正確的,可是A1333從機沒有反應,讀取到的值全是0, 是有問題的,應檢查軟體程式碼和硬體排查問題。
  • 軟體上首先排查驅動有沒有問題,經過多次手冊閱讀和軟體排查發現配置和驅動都沒有問題,最後就排查驅動有沒有問題,經過多次手冊閱讀和軟體排查發現配置和驅動都沒有問題,最後就排查硬件,因為是從硬件工程師手裡拿到的板子,一開始沒有排查硬件,後來和硬體工程師一塊排查,發現TEST腳沒有接地,而是被拉到了電源櫃VCC上,這樣導致A1333工作不正常,TEST腳是廠家測試用的,一般正式用要拉地。後將TEST腳拉地,A1333有了數據回應。
  • 經過排查是因為Test 腳位沒有接地,直接接到了Vcc上, Test 應該接地按照手冊要求,經硬體工程師更改電路,將Test飛線接地,工作正常

EEPROM解鎖

  • A1333含有EEPROM可以用來儲存參數,但是在操作前需要解鎖,而解鎖是需要特殊密碼指令的,
  • 就是連續發送這5條寫指令,然後讀取0x3C暫存器,依照解鎖指令和時序發送完指令後,可以讀取0x3C位址,如果暫存器的最低位元bit0 如果回傳為1,表示解鎖成功。驅動測試波形如下
  • 解鎖成功後,就可以進行EEPROM的操作,更改參數,例如零點的校準角度,等等,這裡就不在贅述。

TAGS

  • 30 person(s) visited this page until now.

Permalink blog/2024-01-24_share_a1333_調試又踩了個坑_spi從機沒反應.txt · Last modified: 2024/01/24 13:34 by jethro

oeffentlich