新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于FPGA的絕對式編碼器通信接口設(shè)計

基于FPGA的絕對式編碼器通信接口設(shè)計

作者: 時間:2010-04-21 來源:網(wǎng)絡(luò) 收藏

  2 接口的實現(xiàn)

  全數(shù)字化交流伺服系統(tǒng)中采用TMS320X2812作為控制器,用以實現(xiàn)位置環(huán)、速度環(huán)和電流環(huán)以及SVPWM、電壓和電流采樣等功能。此外,采用Altera公司的型號為FP1C6的~Cyclone系列,用以實現(xiàn)與絕對式碼盤接口、譯碼邏輯等功能。同時,在內(nèi)部實現(xiàn)了256字節(jié)的雙口RAM,用來與DSP之間通過總線實現(xiàn)數(shù)據(jù)傳輸。部分的功能框圖如圖2P所示。

  碼盤接口部分分為發(fā)送模塊、接收模塊、雙口RAM模塊、主程序模塊四部分。由于每次通信時間是嚴(yán)格固定的,設(shè)系統(tǒng)時鐘為2MHz。FPGA為主叫,向編碼器發(fā)送"請求數(shù)據(jù)"控制字共6位,需時3 μs,編碼器向FPGA共發(fā)送1個起始位、兩個"錯誤位"、26位位置值和5位CRC校驗位,共34位的數(shù)據(jù)共需時17 μs,所以每次通信需要20 μs的時間,并且每個時刻具體需要傳遞哪一位數(shù)據(jù)也是嚴(yán)格確定的。因此采用基于時基的設(shè)計方法。

  FPGA內(nèi)部設(shè)計了一個時基為20ns的計數(shù)器,每20ns加1,作為整個電路的時基,根據(jù)這個時基來確定每一時刻收到的數(shù)據(jù)具體屬于哪個位。在FPGA 內(nèi)部實現(xiàn)了256bytes的雙口RAM空問,A口具有8位數(shù)據(jù)線,8位地址線,用于與編碼器通信,B口具有16位數(shù)據(jù)線,8位地址線,用于與DSP通信,因為TMS320X2812為16位DSP,所以與FPGA中RAM的數(shù)據(jù)傳遞極為方便。

  DSP在每個電流環(huán)周期發(fā)送一個有效的"begin"信號,20μs之后,碼盤信號接收模塊將接收到的數(shù)據(jù)存入FPGA內(nèi)部雙口RAM的A口中,并按順序排列成16位數(shù)據(jù)的形式,然后向DSP發(fā)送end信號,表示一次通信結(jié)束,DSP接收到中斷之后從FPGA的雙口RAM的B口中讀取數(shù)據(jù),完成一次通信, DSP的連接如圖3所示。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉