電力電子與電力傳動專業(yè)碩士研究生,一個從事了20多年的功率控制的工程小兵,有多年的電機(jī)驅(qū)動和電源控制經(jīng)驗(yàn),專注電力電子控制方向。
SEI 串行編碼器接口
是HPM單片機(jī)獨(dú)創(chuàng)的通信接口外設(shè),可以在同一個硬件接口上實(shí)現(xiàn)不同類型的串行通信協(xié)議的數(shù)據(jù)收發(fā)。
是5300精確位置系統(tǒng)的一部分,可以與系統(tǒng)中的其它外設(shè)協(xié)同工作。
主要應(yīng)用場景:
作為主機(jī),從外部的串行編碼器讀取電機(jī)運(yùn)動信息(絕對位置、速度、圈數(shù)、故障…等),交由 MMC單元 或 主控軟件 進(jìn)行電機(jī)驅(qū)動控制。
作為從機(jī),QEIv2或RDC模塊將從傳感器(光、霍爾、旋變)獲取的位置數(shù)據(jù),經(jīng)SEI轉(zhuǎn)換成不同的協(xié)議后發(fā)送給外部的電機(jī)驅(qū)動器(PLC、運(yùn)動控制卡、伺服驅(qū)動……)。
定制通訊,可以在多種不同的串行協(xié)議間進(jìn)行轉(zhuǎn)換;也可以根據(jù)自己的需要定制協(xié)議,并可實(shí)現(xiàn)硬件自主通訊。
(圖示:5300精確位置系統(tǒng))
02.串行編碼器接口SEI 的主要特性
●2 個 SEI 控制器
●9 個數(shù)據(jù)寄存器組
● 最高支持 64 條指令
● 支持同步通信 和 異步通信
● 支持主機(jī)模式和從機(jī)模式(作為編碼器)
● 每個 SEI 控制器支持共 3 種觸發(fā)方式
外部觸發(fā),包括觸發(fā)輸入及觸發(fā)輸出各 8 路
周期性觸發(fā)
軟件觸發(fā)
● 支持精確控制 SAMPLE 或 UPDATE 位置信息與時間戳的時機(jī)
● 支持命令匹配及指令跳轉(zhuǎn)
● 支持自動 CRC 校驗(yàn)
● 支持自動奇偶校驗(yàn)
● 支持 WatchDog
● 支持超時 TIMEOUT 及收發(fā) CDM/CDS
●靈活實(shí)現(xiàn)多種編碼器協(xié)議:Tamagawa、HIPERFACE、Nikon 、SSI、BiSS-C、EnDat2.1/2.2
03.HPM5300 串行編碼器接口SEI 的組成結(jié)構(gòu)
SEI模塊的寄存器組成
●引擎寄存器
負(fù)責(zé)模塊使能控制、超時處理、看門狗配置,和反饋執(zhí)行狀態(tài)、指令指針等
●收發(fā)控制
負(fù)責(zé)收發(fā)配置,數(shù)據(jù)傳輸長度、波特率、空閑狀態(tài)、同步或異步控制模式等收發(fā)控制
●觸發(fā)
負(fù)責(zé)外部輸入觸發(fā)、周期觸發(fā)、軟件觸發(fā)模式配置
負(fù)責(zé)輸出觸發(fā),可以配置外部觸發(fā)命令
●命令
包含8個命令表及其相關(guān)的比較位和最大、最小值范圍
負(fù)責(zé)命令數(shù)據(jù)的長度、校驗(yàn)、大小端格式等
●鎖存器
負(fù)責(zé)4個鎖存器的跳轉(zhuǎn)配置、輸出延遲和輸出選擇
●位置寄存器
包含sample和update對應(yīng)的位置寄存器組
負(fù)責(zé)觸發(fā)sample和update的配置
●中斷寄存器
負(fù)責(zé)中斷使能配置、狀態(tài)記錄、中斷指令和中斷指令匹配的配置
●指令內(nèi)存
存放64條可配置的指令,SEI0 與 SEI1共用
●數(shù)據(jù)寄存器組
存放9組數(shù)據(jù)寄存器, SEI0 與 SEI1共用
04.串行編碼器接口SEI的工作原理:通訊指令
Tamagawa、BiSS-C和SSI,這三種不同協(xié)議的編碼器為例,通信協(xié)議之前存在較大的差異:異步vs同步、校驗(yàn)方式、大小端、數(shù)據(jù)長度、返回信息延遲、通訊結(jié)束標(biāo)志、觸發(fā)采樣和更新位置時刻等。
SEI 的大致方法是把通訊協(xié)議分解成多個典型節(jié)點(diǎn),每個節(jié)點(diǎn)對應(yīng)一條指令,通過不同指令組合實(shí)現(xiàn)通訊完成。
Tamagawa
BiSS-C
SSI
05.SEI示例
多摩川編碼器主查詢協(xié)議為例,調(diào)用指令設(shè)置函數(shù)sei_set_instr():
0階段: 發(fā)送控制字,sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_SEND, 0, SEI_DAT_0, SEI_DAT_2, 8);
參數(shù)設(shè)置:指定SEI0/1;指定指令指針,OP:3無時限內(nèi)發(fā)送 ;CK:異步傳輸統(tǒng)一為0;CRC:CRC放入無效數(shù)據(jù)寄存器DAT_0表示當(dāng)前數(shù)據(jù)不計(jì)算CRC;傳輸數(shù)據(jù):放入DAT2;數(shù)據(jù)長度:8bit。
1階段: 接收控制字,sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_RECV_WDG, 0, SEI_DAT_9, SEI_DAT_3, 8);
參數(shù)定義:指定SEI0/1,指定指令指針,OP:6時限內(nèi)接收 ,CK:異步傳輸統(tǒng)一為0, CRC:校驗(yàn)值放入數(shù)據(jù)寄存器DAT_9,傳輸數(shù)據(jù)放入DAT_3,數(shù)據(jù)長度為8bit。
2階段: 接收傳感器狀態(tài)信息,sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_RECV_WDG, 0, SEI_DAT_9, SEI_DAT_4, 8);
參數(shù)定義:其他信息同上,傳輸數(shù)據(jù)放入DAT_4。
3階段: 接收位置信息,sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_RECV_WDG, 0, SEI_DAT_9, SEI_DAT_5, 24);
參數(shù)定義:其他信息同上,傳輸數(shù)據(jù)放入DAT_5,數(shù)據(jù)長度為24bit。
4階段: 接收ENID,sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_RECV_WDG, 0, SEI_DAT_9, SEI_DAT_6, 8);
參數(shù)定義:其他信息同上,傳輸數(shù)據(jù)放入DAT_6,數(shù)據(jù)長度為8bit。
5階段: 接收圈數(shù)信息,sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_RECV_WDG, 0, SEI_DAT_9, SEI_DAT_7, 24);
參數(shù)定義:其他信息同上,傳輸數(shù)據(jù)放入DAT_7,數(shù)據(jù)長度為24bit。
6階段: 接收報警信息,sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_RECV_WDG, 0, SEI_DAT_9, SEI_DAT_8, 8);
參數(shù)定義:其他信息同上,傳輸數(shù)據(jù)放入DAT_8,數(shù)據(jù)長度為8bit。
7階段: 接收CRC,sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_RECV_WDG, 0, SEI_DAT_0, SEI_DAT_9, 8);
參數(shù)定義:其他參數(shù)同上, CRC:數(shù)據(jù)放入無效數(shù)據(jù)寄存器DAT_0表示該指令中接收到的數(shù)據(jù)不計(jì)算CRC;如果DAT_9配置為CRC模式,前期接收數(shù)據(jù)計(jì)算后的CRC校驗(yàn)值會與DAT_9接收值做對比,數(shù)據(jù)長度為8bit。
8階段: 停止指令sei_set_instr(BOARD_SEI, instr_idx++, SEI_INSTR_OP_HALT, 0, SEI_DAT_0, SEI_DAT_0, 0)
參數(shù)定義:OP:0 停頓,其他參數(shù)均設(shè)為0。
通訊結(jié)束。
06.SEI 引擎寄存器
寄存器組成
●引擎控制
負(fù)責(zé)模塊使能控制、狀態(tài)回倒、狀態(tài)異常處理、觸發(fā)使能控制、看門狗使能
●指針地址配置
配置異常和初始執(zhí)行指令地址指針,當(dāng)執(zhí)行不同數(shù)據(jù)通訊時可以修改初始執(zhí)行指令地址指針實(shí)現(xiàn)調(diào)用不同的收發(fā)指令
●看門狗配置、程序執(zhí)行指針、當(dāng)前指令、看門狗狀態(tài)
負(fù)責(zé)監(jiān)控當(dāng)前工作狀態(tài)
●SEI中有兩組,分別應(yīng)用于SEI0和SEI1
未完待續(xù)
審核編輯:湯梓紅
-
單片機(jī)
+關(guān)注
關(guān)注
6039文章
44575瀏覽量
636386 -
控制器
+關(guān)注
關(guān)注
112文章
16396瀏覽量
178512 -
編碼器
+關(guān)注
關(guān)注
45文章
3648瀏覽量
134744 -
寄存器
+關(guān)注
關(guān)注
31文章
5357瀏覽量
120632 -
接口
+關(guān)注
關(guān)注
33文章
8639瀏覽量
151385
原文標(biāo)題:經(jīng)驗(yàn)分享 | HPM5300系列SEI串行編碼器接口:如何設(shè)置通訊協(xié)議(上)
文章出處:【微信號:HPMicro,微信公眾號:先楫半導(dǎo)體HPMicro】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論