摘要
本篇筆記主要記錄在調(diào)試Allegro microsystem 公司生產(chǎn)的A1333 高速,低延遲,帶有診斷和ASIL D 認(rèn)證的無(wú)接觸式的0~360°的角度位置傳感器IC時(shí)遇到的一些問(wèn)題。
A1333簡(jiǎn)介
A1333可以無(wú)接觸測(cè)量0~360°角度,符合ISO262的功能安全認(rèn)證ASIL D等級(jí)。 帶有自診斷功能,是一種霍爾效應(yīng)的SoC,包含三部分,CVH(Circular Vertical Hall) 前端,數(shù)字信號(hào)處理部分,和電機(jī)換向和編碼器輸出,而且片上還有EEPROM,可以用來(lái)存儲(chǔ)參數(shù),因?yàn)榉螦SIL D等級(jí)認(rèn)證,所以是汽車應(yīng)用的理想選擇,廣泛用于,電動(dòng)轉(zhuǎn)向,油門控制等系統(tǒng),有24腳eTSSOP 封裝的和14腳封裝的, 24腳的是雙軌的,14腳封裝的是單軌的。

系統(tǒng)框圖

從系統(tǒng)框圖也可以看出,總體包含我們前面說(shuō)的由三部分組成,CVH前端,數(shù)字信號(hào)處理和電機(jī)換向輸出UVW,/編碼器輸出。
典型應(yīng)用框圖
一般我們都是用一個(gè)單片機(jī)來(lái)配合控制A1333, A1333有SPI 接口和ABI接口,這次我們以SPI接口為例子。

理論上任何一款帶SPI的單片機(jī)都可以完成和A1333的通信,但如果是汽車應(yīng)用,要選用帶有ASIL 認(rèn)證的單片機(jī)。 我們以MPC5744p 這款帶有ASIL D認(rèn)證的單片機(jī)為例子。 采用4線SPI 接口和 A1333通信,使用SPI 的模式3 CPHA, CPOL 為1,1 配置。
引腳介紹


因?yàn)槲覀冞@次是以SPI通信來(lái)和A1333交換數(shù)據(jù),所以SPI 通信的一些參數(shù)要注意下。

輸入輸出時(shí)序圖

SPI通信幀格式
A1333有三種SPI通信格式,有三種分別是16位,17位,和20位。

其實(shí)我們的驅(qū)動(dòng)軟件就是要支持幾種格式,完成通信,而讀寫邏輯也在書冊(cè)中給出了。
寫邏輯
總結(jié)起來(lái)就是,寫的時(shí)候包含一位低,一位讀寫控制位,寫為高,讀 為低,6位寄存器地址位,8位數(shù)據(jù),如果是16位幀格式就完了, 如果是20位幀格式,末尾還需加上4位CRC校驗(yàn)。 要實(shí)現(xiàn)一個(gè)16位數(shù)據(jù)的寫操作,需要發(fā)送兩次寫邏輯來(lái)完成。

至于代碼的實(shí)現(xiàn),可以采用SPI查詢模式,也可以采用中斷或者DMA方式,這個(gè)都可以,一定要注意寫一個(gè)16位的數(shù)據(jù)要通過(guò)兩次寫操作才能完成。
讀邏輯
讀操作總結(jié)起來(lái)就是一句話,按照格式同樣的內(nèi)容發(fā)兩遍這樣第二遍才能獲取結(jié)果。

代碼實(shí)現(xiàn)上也是這樣操作,包含一位低,一位讀寫控制位,寫為高,讀 為低,6位寄存器地址位,8位數(shù)據(jù)。 按照書冊(cè)要求,結(jié)合SDK可以很容易的完成驅(qū)動(dòng)的開(kāi)發(fā)和使用,重點(diǎn)在調(diào)試。
驅(qū)動(dòng)開(kāi)發(fā)
本次我們使用SDK,結(jié)合上位機(jī)初始化配置工具完成驅(qū)動(dòng)的生成。 其中SPI的配置如下。

在根據(jù)自己的實(shí)際應(yīng)用硬件配置相應(yīng)管腳就可以生成代碼了,生成的工程是空的,我們需要調(diào)用生成的驅(qū)動(dòng)函數(shù)來(lái)完成對(duì)A1333的驅(qū)動(dòng),其實(shí)就是完成讀寫函數(shù),然后在主程序中通過(guò)狀態(tài)機(jī)去調(diào)用實(shí)現(xiàn)不同地址,不同寄存器的操作,包含角度的讀取,零點(diǎn)的校準(zhǔn),等操作。
測(cè)試
按照手冊(cè)要求完成了驅(qū)動(dòng)開(kāi)發(fā),可是通訊的時(shí)候,A1333沒(méi)有反應(yīng),用示波器測(cè)到的波形如下。

發(fā)送的數(shù)據(jù)和時(shí)鐘波形都是正確的,可是A1333從機(jī)沒(méi)有反應(yīng),讀取到的值全是0, 是有問(wèn)題的,應(yīng)檢查軟件代碼和硬件排查問(wèn)題。
軟件上首先排查驅(qū)動(dòng)有沒(méi)有問(wèn)題,經(jīng)過(guò)多次手冊(cè)閱讀和軟件排查發(fā)現(xiàn)配置和驅(qū)動(dòng)都沒(méi)有問(wèn)題,最后就排查硬件,因?yàn)槭菑挠布?a target="_blank">工程師手里拿到的板子,一開(kāi)始沒(méi)有排查硬件,后來(lái)和硬件工程師一塊排查,發(fā)現(xiàn)TEST腳沒(méi)有接地,而是被拉到了電源柜VCC上,這樣導(dǎo)致A1333工作不正常,TEST腳是廠家測(cè)試用的,一般正式用要拉地。 后將TEST腳拉地,A1333有了數(shù)據(jù)回應(yīng)。

經(jīng)過(guò)排查是因?yàn)門est 管腳沒(méi)有接地,直接接到了Vcc上, Test 應(yīng)該接地按照手冊(cè)要求,經(jīng)硬件工程師更改電路,將Test飛線接地,工作正常。



EEPROM解鎖
A1333含有EEPROM可以用來(lái)存儲(chǔ)參數(shù),但是在操作前需要解鎖,而解鎖是需要特殊密碼指令的。

就是連續(xù)發(fā)送這5條寫指令,然后讀取0x3C寄存器,按照解鎖指令和時(shí)序發(fā)送完指令后,可以讀取0x3C地址,如果 寄存器的最低位 bit0 如果返回為1,表明解鎖成功。 驅(qū)動(dòng)測(cè)試波形如下。

解鎖成功后,就可以進(jìn)行EEPROM的操作,更改參數(shù),例如零點(diǎn)的校準(zhǔn)角度,等等,這里就不在贅述。
-
傳感器
+關(guān)注
關(guān)注
2576文章
55083瀏覽量
791624 -
接口
+關(guān)注
關(guān)注
33文章
9528瀏覽量
157105 -
調(diào)試
+關(guān)注
關(guān)注
7文章
647瀏覽量
35694 -
SPI
+關(guān)注
關(guān)注
17文章
1885瀏覽量
101320 -
allegro
+關(guān)注
關(guān)注
42文章
767瀏覽量
150187
發(fā)布評(píng)論請(qǐng)先 登錄
stm32單片機(jī)控制直流電機(jī)
調(diào)試角度位置傳感器IC時(shí)遇到的一些問(wèn)題
Allegro推出的360°無(wú)死角A1330角度傳感器有什么優(yōu)點(diǎn)?
Allegro兩款360角度傳感器IC介紹
調(diào)試又踩了個(gè)坑,SPI從機(jī)沒(méi)反應(yīng)
RVIT15-60角度傳感器實(shí)際應(yīng)用
RVIT TYPE4150角度傳感器實(shí)踐應(yīng)用
多維科技推出TMR3016和TMR3017角度傳感器芯片
多維科技推出TMR3016和TMR3017角度傳感器芯片
Texas Instruments TMAG6181-Q1角度傳感器數(shù)據(jù)手冊(cè)
A1333角度位置傳感器的SPI接口調(diào)試
評(píng)論