基于CPLD與絕對式編碼器的高精度高速伺服單元
軟件設計
軟件是指CPLD的VHDL程序,其主要由分頻器、接收DSP控制命令、CPLD邏輯控制、波特率發生器、接收及發送數據和串并轉換及發送數據六個軟件子模塊組成(圖4)。
- 分頻器模塊
分頻器模塊主要是把20M赫茲的輸入時鐘頻率分頻為10M赫茲和2.5M赫茲的時鐘頻率,其中10M赫茲時鐘主要是供給CPLD邏輯控制模塊工作,2.5M赫茲時鐘主要是供給波特率發生器模塊工作。
- 接收DSP控制命令模塊
接收DSP控制命令模塊實際上是實時的采集DSP發來的控制信號并及時的將控制信號進行譯碼,譯碼完成后立即轉送給CPLD邏輯控制模塊。
- CPLD邏輯控制模塊
CPLD邏輯控制模塊是整個CPLD軟件的核心,其接收到譯碼數據后,立即作出邏輯控制運算,并快速的控制接收及發送數據模塊和控制串行轉換及發送數據模塊。
- 波特率發生器模塊
波特率發生器模塊主要是為接收及發送數據模塊提供2.5Mb/s波特率。
- 接收及發送數據模塊
接收及發送數據模塊是整個CPLD軟件的重要組成部分,其主要負責與絕對式編碼器高速通信,由于其通信方式是異步串行通信方式,因此其波特率、通信的數據格式及RS-485通信協議都要與絕對式編碼器相同。
- 串并轉換及發送數據模塊
串并轉換及發送數據模塊主要是將接收到的編碼器串行數據轉換成并行數據,并將數據鎖存在CPLD鎖存器內,當CPLD邏輯控制模塊控制其發送數據時,就將鎖存在CPLD鎖存器內的數據以并行的方式放送給DSP,供DSP進行運算控制用。
結語
本設計已經完成了硬件及軟件的全部設計,讀取帶有絕對式編碼器的電動機轉子的任何一個位置數據只需31μs,通信速率可達2.5Mb/s,將本設計集成在伺服驅動單元中,驅動和控制電動機轉數可達6000轉/分,控制電動機轉子的位置精度可達μM級。
伺服電機相關文章:伺服電機工作原理
分頻器相關文章:分頻器原理 上拉電阻相關文章:上拉電阻原理
評論