新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的絕對式編碼器通信接口設計

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

        作者: 時間:2010-04-21 來源:網絡 收藏

          2 接口的實現

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

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

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

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



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东丰县| 修武县| 金湖县| 南雄市| 伊金霍洛旗| 平原县| 湘西| 彰武县| 阳泉市| 鹤庆县| 石泉县| 金寨县| 邓州市| 志丹县| 迭部县| 琼中| 出国| 屏东市| 哈巴河县| 虎林市| 多伦县| 密云县| 弥勒县| 得荣县| 栾川县| 阿荣旗| 阜城县| 昆明市| 永定县| 临泽县| 玉山县| 林口县| 苍溪县| 普陀区| 白玉县| 静海县| 安吉县| 兴安盟| 泰和县| 云浮市| 边坝县|