利用多線程思想實現(xiàn)單片機系統(tǒng)的偽并行處理
如果選用20兆的DSP來實現(xiàn)控制功能,步進(jìn)電機最快的打拍速度為40us---60us,則有下面的計算結(jié)果,,取1/4,即10us產(chǎn)生一中斷,在中斷里查詢61個對象。20兆DSP單條指令的執(zhí)行時間大約為50ns在一次中斷內(nèi)可執(zhí)行的語句數(shù)=10us/50ns=200條,如果在分給61個對象,每個對象所分得的指令數(shù)僅為3條,已經(jīng)不夠用了,即使選擇60兆的DSP,說分指令也只是9條,若以犧牲打拍的靈活性為代價,以60us為已中斷。則每個對象所分得的指令數(shù)僅為36條勉強夠用,如果所控制的對象再多的話,軟件編程的靈活性將進(jìn)一步被壓縮,
下面提出了一種擴展的多線程模擬方法,如圖3
圖3
s1,s2為系統(tǒng)運行的基準(zhǔn)時間,M1.1 為第一對象組中第一對象。M1.2 為第一對象組中第二對象。
這種擴展的多線程模擬方法仍將系統(tǒng)時間化成多個時間片,與上面不同的是有幾個線程(對象)組成一個線程組,共享同一個時間片,例如:當(dāng)系統(tǒng)運行到第一次基準(zhǔn)時間的第一個時間片時,由共享時間片的第一個線程占用,當(dāng)系統(tǒng)運行到第2次基準(zhǔn)時間的第1個時間片時,由共享時間片的第2個線程占用,如此類推,這種擴展模式可以靈活的掌控線程與所用時間的比例,但是這是以犧牲運行時間為代價的。
結(jié)論:本文對單片機控制系統(tǒng)的編程思想作出了擴展,將本屬于計算機高級語言編程思想的多線程編程移植到單片機控制系統(tǒng)中。這種方法使單片機控制系統(tǒng)可工作于對系統(tǒng)運行速度要求很高的系統(tǒng)中,并且對其他的高級語言編程思想,如對事件句柄的處理等向單片機控制系統(tǒng)移植起了示范作用。
參考文獻(xiàn)
[1]柳永新主編。Windows c 程序設(shè)計入門與提高。清華大學(xué)出版社,1999,6。
[2]李朝青主編。單片機原理及接口技術(shù),1994。
評論