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