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