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