基于DSP的空間光通信APT運動控制箱設(shè)計
4運動控制箱軟件設(shè)計
4.1系統(tǒng)初始化設(shè)置
DSP上電復(fù)位后要進(jìn)行的初始化設(shè)置主要包括:系統(tǒng)設(shè)置、I/O端口設(shè)置、PWM(脈寬調(diào)制電路)輸出設(shè)置、串口通信設(shè)置以及LCD初始化設(shè)置。其中,液晶初始化需設(shè)置:圖形區(qū)首地址和寬度、文字區(qū)首地址和寬度,光標(biāo)形狀和是否閃爍、光標(biāo)指針、地址指針。為了保證顯示效果,還需執(zhí)行一次清屏操作。由于清屏操作時間較長,將自動觸發(fā)看門狗,導(dǎo)致系統(tǒng)初始化無法繼續(xù)。故編寫復(fù)位和中斷向量文件vectors.asm,使DSP上電后直接進(jìn)入DisableWatchdog()函數(shù)。該函數(shù)的功能為禁止看門狗,并跳轉(zhuǎn)到復(fù)位向量處。下面給出了該函數(shù)的核心代碼:
4.2掃描算法實現(xiàn)
掃描算法的核心是如何在最短時間內(nèi)掃描覆蓋信標(biāo)光的所有可能出現(xiàn)的區(qū)域。常見的掃描算法主要包括矩形掃描、螺旋掃描、矩形螺旋掃描、玫瑰形掃描及李薩如形掃描等。綜合考慮掃描性能與DSP實現(xiàn)難度,確定采用光柵螺旋掃描算法和蜂窩螺旋掃描算法。這兩種算法都能以較小的掃描步數(shù)實現(xiàn)大范圍的掃描策略,掃描重疊區(qū)域小,可在短時間內(nèi)實現(xiàn)高性能掃描,但算法實現(xiàn)相對復(fù)雜。以蜂窩螺旋掃描算法為例,其蜂窩螺旋掃描排列方式如圖4所示。
圖中小圓代表一個掃描子區(qū),以蜂窩狀六邊形方式重疊。每個子區(qū)的直徑為信標(biāo)光發(fā)散角大小,從而得到相鄰兩個子區(qū)圓心間距離,即光柵螺旋掃描算法的掃描步長。根據(jù)該掃描步長分別得到水平和俯仰兩個方向電機執(zhí)行步長,從而通過控制電機運動實現(xiàn)蜂窩螺旋掃描算法,其程序代碼如下:
4.3精確跟蹤實現(xiàn)
評論