基于FPGA設(shè)計(jì)EnDat編碼器數(shù)據(jù)采集后續(xù)電路
1.3 時(shí)序和OEM數(shù)據(jù)存儲
在每一幀同步數(shù)據(jù)傳輸時(shí)一個(gè)數(shù)據(jù)包被發(fā)送,傳輸循環(huán)從時(shí)鐘的第一個(gè)下降沿開始測量值被保存,計(jì)算位置值。在兩個(gè)時(shí)鐘脈沖(2T)后,后續(xù)電子設(shè)備發(fā)送模式指令“編碼器傳輸位置值”(帶或不帶附加信息)。在計(jì)算出了絕對位置值后(見圖2),從起始位開始編碼器向后續(xù)電子設(shè)備傳輸數(shù)據(jù),后續(xù)的錯(cuò)誤位F1和F2(只存在于EnDa2.2指令中)是為所有的監(jiān)控功能和故障監(jiān)控服務(wù)的群組信號,他們的生成相互獨(dú)立,用來表示可能導(dǎo)致不正確位置信息的編碼器故障。導(dǎo)致故障的確切原因保存在“運(yùn)行狀態(tài)”存儲區(qū),可以被后續(xù)電子設(shè)備查詢。
從最低位開始,絕對位置值被傳輸,數(shù)據(jù)的長度由使用的編碼器類型決定。傳輸位置值所需的時(shí)鐘脈沖數(shù)保存在編碼器制造商的參數(shù)中。位置值數(shù)據(jù)的傳輸以循環(huán)冗余檢測碼結(jié)束。
位置值如果帶附加信息,緊接在位置值后的是附加信息1和2,他們也各以一個(gè)CRC結(jié)束(見圖3)。附加信息的內(nèi)容由存儲區(qū)的選擇地址決定,然后在后面的采樣周期里被傳輸。在后續(xù)的傳輸中一直傳輸該信息,直到新的存儲區(qū)被選擇。在數(shù)據(jù)字的結(jié)尾,時(shí)鐘信號必須置高電平。10~30μs或1.25~3.75μs(EnDat可編程的恢復(fù)時(shí)間tm)后,數(shù)據(jù)線回到低電平,然后,新的數(shù)據(jù)傳輸可在新的時(shí)鐘信號下開始。
同時(shí),編碼器為參數(shù)提供了不同的存儲區(qū),它們可以被后續(xù)電子設(shè)備讀取,這些區(qū)域可以被編碼器制造商、OEM廠商甚至最終用戶寫入。一些特定的區(qū)域是可以被寫保護(hù)的。不同系列的編碼器支持不同的OEM存儲區(qū)和不同的地址范圍。因此,每一個(gè)編碼器必須讀取OEM存儲區(qū)的分配信息?;诖嗽?,后續(xù)電子電路應(yīng)基于相對地址編程,而不能使用絕對地址。
2 EnDat接口后續(xù)電子設(shè)備的電路設(shè)計(jì)方案
全數(shù)字化交流伺服系統(tǒng)中采用TMS320F2812作為控制器,用以實(shí)現(xiàn)位置環(huán)、速度環(huán)和電流環(huán)以及SVPWM、電壓和電流采樣等功能。此外,采用Altera公司的型號為EPlC6Q240C8的Cyclone系列FPGA實(shí)現(xiàn)與編碼器接口、譯碼邏輯等功能。同時(shí),在FPGA內(nèi)部實(shí)現(xiàn)了128B的雙口RAM,通過總線實(shí)現(xiàn)與DSP之間的數(shù)據(jù)傳輸,功能框圖如圖4所示。
評論