日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]1. 引言隨著計(jì)算機(jī)的不斷發(fā)展,越來(lái)越多的,優(yōu)秀的編程思想被提出來(lái),并付諸實(shí)踐。在某些方面已出現(xiàn)了根本性的變革。另一方面,單片機(jī)自從80年代誕生以來(lái),便以飛快的速度發(fā)展起來(lái),但由于其物理?xiàng)l件的限制,單片機(jī)

1. 引言

隨著計(jì)算機(jī)的不斷發(fā)展,越來(lái)越多的,優(yōu)秀的編程思想被提出來(lái),并付諸實(shí)踐。在某些方面已出現(xiàn)了根本性的變革。另一方面,單片機(jī)自從80年代誕生以來(lái),便以飛快的速度發(fā)展起來(lái),但由于其物理?xiàng)l件的限制,單片機(jī)控制系統(tǒng)的編程仍然局限于經(jīng)驗(yàn)的模式,很少應(yīng)用那些新提出的高級(jí)語(yǔ)言的編程思想。如果將不斷發(fā)展的編程思想與廣泛應(yīng)用的單片機(jī)控制系統(tǒng)結(jié)合起來(lái),一定會(huì)大大促進(jìn)單片機(jī)控制系統(tǒng)的進(jìn)一步發(fā)展。使其更廣泛的應(yīng)用于各個(gè)方面。

在下面這個(gè)具體項(xiàng)目中,實(shí)際情況對(duì)系統(tǒng)有一些比較苛刻的要求。按照一般的單線(xiàn)程的控制方法已經(jīng)無(wú)法滿(mǎn)足實(shí)際需求。具體情況如表1(表1所示為生化分析儀的設(shè)計(jì)中對(duì)單片機(jī)系統(tǒng)的要求的一部分)


表1

表1所示只占了整個(gè)系統(tǒng)要求的1/6。下面對(duì)表1中的幾項(xiàng)內(nèi)容加以說(shuō)明。

對(duì)象M1開(kāi)始動(dòng)作17操作,即首先步進(jìn)電機(jī)M1(正向)轉(zhuǎn)動(dòng)查找光電開(kāi)關(guān)信號(hào)PS1;查到后執(zhí)行兩次‘過(guò)程1‘。過(guò)程1:向電機(jī)打出30拍。由表1可知該動(dòng)作從C  段執(zhí)行到  K段停止;

對(duì)象M2即步進(jìn)電機(jī)M2等對(duì)象M1執(zhí)行完動(dòng)作17后執(zhí)行動(dòng)作23等。對(duì)象M3和對(duì)象M4 則在開(kāi)始時(shí)同時(shí)啟動(dòng),分別執(zhí)行各自的動(dòng)作。各個(gè)對(duì)象之間有的獨(dú)立,有的相互關(guān)聯(lián)。

整個(gè)項(xiàng)目需要控制16臺(tái)步進(jìn)電機(jī),21個(gè)電磁閥,3個(gè)泵,1個(gè)直流電機(jī),系統(tǒng)要求全部執(zhí)行時(shí)間為6秒鐘,系統(tǒng)要求步進(jìn)電機(jī)以其最快的速度 -----40us—60us打拍。如果以單線(xiàn)程的方式編程讓一臺(tái)電機(jī)轉(zhuǎn)到位之后,再轉(zhuǎn)其他電機(jī)。這樣16臺(tái)電機(jī)打一拍就需要640us---960us 已經(jīng)無(wú)法滿(mǎn)足系統(tǒng)要求。這就需要使單片機(jī)并行控制多臺(tái)電機(jī)運(yùn)轉(zhuǎn)。這種以并行的方式驅(qū)動(dòng)各個(gè)電機(jī)同時(shí)啟動(dòng)可以在最短的時(shí)間將各個(gè)電機(jī)同時(shí)到位。在轉(zhuǎn)動(dòng)電機(jī)的同時(shí)還需要檢測(cè)一些開(kāi)關(guān)量已確定電機(jī)的位置。為了實(shí)現(xiàn)這個(gè)目的。下面提供第一種解決方案(此方案是常用的方案之一,但作者并不推薦這個(gè)方案。因?yàn)檫@個(gè)方案成本太高。)。

方案一:  硬件實(shí)現(xiàn)。

我們可以用多個(gè)CPU,將各個(gè)電機(jī)的控制分到不同的CPU中執(zhí)行,并可將不互相沖突的電機(jī)控制過(guò)程放到一個(gè)CPU中,其結(jié)構(gòu)如圖1


圖1多cpu實(shí)現(xiàn)方案結(jié)構(gòu)圖

如圖所示系統(tǒng)中設(shè)定一個(gè)主CPU,其功能為與計(jì)算機(jī)通訊,并將計(jì)算機(jī)下達(dá)的指令分發(fā)給相應(yīng)的從CPU,更主要的是主CPU將監(jiān)控整個(gè)并行控制的運(yùn)作。因?yàn)楦鱾€(gè)控制過(guò)程之間有的彼此關(guān)聯(lián),所以主CPU不僅要控制各個(gè)線(xiàn)程的執(zhí)行,還要兼顧線(xiàn)程之間的通訊。以表1為例,具體作法如下:

[!--empirenews.page--]

1.開(kāi)始后,主CPU發(fā)給從CPU1一個(gè)信號(hào),從CPU啟動(dòng)對(duì)象M1進(jìn)行動(dòng)作17,并由從CPU向主CPU返回一個(gè)信號(hào)。主CPU收到信號(hào)后,置起標(biāo)志1。當(dāng)對(duì)象M1進(jìn)行完動(dòng)作17后,從CPU向主CPU發(fā)出信號(hào),CPU將標(biāo)志1清掉。

2.開(kāi)始后,主CPU發(fā)給從M2一個(gè)信號(hào),從CPU啟動(dòng)對(duì)象M2。從CPU向主CPU不斷查詢(xún)標(biāo)志1。當(dāng)標(biāo)志1被清掉后,從//控制對(duì)象2執(zhí)行動(dòng)作23。

3.開(kāi)始后,主CPU發(fā)給從CPU一個(gè)信號(hào),從CPU啟動(dòng)對(duì)象M3和對(duì)象M4。執(zhí)行動(dòng)作25,然后開(kāi)電磁閥6,然后延時(shí)1秒,關(guān)電磁閥6,執(zhí)行動(dòng)作24,然后執(zhí)行動(dòng)作26,等////1的動(dòng)作17完成后,啟動(dòng)步進(jìn)電機(jī)20,執(zhí)行動(dòng)作25,等等。

如上所說(shuō), 主CPU設(shè)置了多個(gè)標(biāo)志位用以跟蹤各個(gè)線(xiàn)程的運(yùn)行情況。并用這些標(biāo)志位承擔(dān)了各個(gè)相關(guān)線(xiàn)程之間的通訊。凡是線(xiàn)程運(yùn)行到與其他線(xiàn)程相關(guān)的地方都會(huì)在主CPU 內(nèi)設(shè)置一個(gè)標(biāo)志位以供其它相關(guān)線(xiàn)程查詢(xún)。而那些不相關(guān)的線(xiàn)程可以完全獨(dú)立運(yùn)行。相關(guān)線(xiàn)程除了需檢測(cè)標(biāo)志的部分,其他部分也可獨(dú)立運(yùn)行。

這種多CPU控制的作法實(shí)現(xiàn)了單片機(jī)的并行運(yùn)作方式。但多CPU的控制方案成本幾乎是成倍提高,而且在硬件的基礎(chǔ)上實(shí)現(xiàn)的多CPU之間的通訊花費(fèi)時(shí)間稍長(zhǎng)。并且容易有干擾。

方案二(作者推薦): 另一種實(shí)現(xiàn)的方法是在軟件的層面上模擬多cpu的運(yùn)作。從而實(shí)現(xiàn)單片機(jī)的偽并行處理.這種實(shí)現(xiàn)方法借鑒了計(jì)算機(jī)實(shí)現(xiàn)多線(xiàn)程的編程方法。

多線(xiàn)程編程編程思想,即:同時(shí)給CPU分配了幾個(gè)任務(wù)或線(xiàn)程。當(dāng)然計(jì)算機(jī) CPU實(shí)際上不可能同一時(shí)間做幾件事,而是把時(shí)間分到不同的線(xiàn)程,使每個(gè)線(xiàn)程都有點(diǎn)進(jìn)展。如果一個(gè)線(xiàn)程無(wú)法進(jìn)行,比如線(xiàn)程要求的鍵盤(pán)輸入尚未取得,則轉(zhuǎn)入另一個(gè)線(xiàn)程的工作。通常,CPU在線(xiàn)程間的切換非常迅速,使人們感覺(jué)好象所有的線(xiàn)程是同時(shí)進(jìn)行的。

多線(xiàn)程編程中有一個(gè)很重要的環(huán)節(jié):各個(gè)線(xiàn)程之間的通訊與控制問(wèn)題

在多線(xiàn)程編程中,每個(gè)線(xiàn)程都用編碼提供線(xiàn)程的行為,用數(shù)據(jù)供給編碼操作。多個(gè)線(xiàn)程同時(shí)處理同一編碼和數(shù)據(jù),不同線(xiàn)程可能各有不同的編碼和數(shù)據(jù)。事實(shí)上,編碼和數(shù)據(jù)部分是相當(dāng)獨(dú)立的,需要時(shí)即可向線(xiàn)程提供。因此經(jīng)常是幾個(gè)線(xiàn)程使用同一段編碼和數(shù)據(jù)這就會(huì)出現(xiàn)下面的情況

當(dāng)一個(gè)線(xiàn)程在調(diào)用數(shù)據(jù)時(shí),另一個(gè)線(xiàn)程可能正在修改這些數(shù)據(jù)。則前一個(gè)線(xiàn)程所調(diào)用的數(shù)據(jù)出現(xiàn)了不確定性。這會(huì)影響整個(gè)運(yùn)行結(jié)果。為了避免這個(gè)問(wèn)題,多線(xiàn)程編程中,各個(gè)線(xiàn)程之間通訊和控制尤為重要。在將多線(xiàn)程的思想向單片機(jī)控制系統(tǒng)移植時(shí),這點(diǎn)要非常注意。因?yàn)橄到y(tǒng)多線(xiàn)程運(yùn)作的實(shí)現(xiàn)從其最基本的層面看仍然是單線(xiàn)程的操作;他的實(shí)現(xiàn)歸根結(jié)底是利用了計(jì)算機(jī)的高速度。它將系統(tǒng)運(yùn)行的基準(zhǔn)時(shí)間分成了許多時(shí)間片,將各個(gè)時(shí)間片分給不同的線(xiàn)程,如此一來(lái)在一個(gè)基準(zhǔn)時(shí)間內(nèi)各個(gè)線(xiàn)程全都向前行進(jìn)了一步,然后運(yùn)行下一個(gè)基準(zhǔn)時(shí)間,周而復(fù)始。這樣在用戶(hù)層的角度看來(lái),各個(gè)線(xiàn)程是同步進(jìn)行的。只要速度夠塊,時(shí)間片的劃分不會(huì)影響用戶(hù)層面上的應(yīng)用,這樣就可以實(shí)現(xiàn)多線(xiàn)程的操作。近年來(lái)單片機(jī)速度的大幅度提升,這就使多線(xiàn)程思想向單片機(jī)控制系統(tǒng)的移植成為可能。

在整個(gè)項(xiàng)目中全部的輸入信號(hào)共39個(gè);同時(shí)并行查詢(xún)的對(duì)象最多時(shí)有61個(gè)系統(tǒng)要求以步進(jìn)電機(jī)最快的速度打拍。時(shí)間約40us---60us,為了保證步進(jìn)電機(jī)打拍的穩(wěn)定性和靈活性。我選用了DSP內(nèi)部的一個(gè)定時(shí)器,定時(shí)時(shí)間為打拍時(shí)間的1/3—1/5。設(shè)定為10us中斷。這個(gè)時(shí)間為整個(gè)系統(tǒng)運(yùn)行的基準(zhǔn)時(shí)間。在這段時(shí)間內(nèi),系統(tǒng)要查詢(xún)一遍所有對(duì)象并向相應(yīng)的步進(jìn)電機(jī)打拍。在一些線(xiàn)程中還需要采樣多次。換句話(huà)說(shuō),在這個(gè)系統(tǒng)時(shí)間內(nèi)。所有線(xiàn)程都要向前行進(jìn)一步。

就像計(jì)算機(jī)一樣,將這個(gè)基準(zhǔn)時(shí)間分為多個(gè)時(shí)間片。將各個(gè)時(shí)間片分給不同的線(xiàn)程,在這種情況下,各個(gè)線(xiàn)程的執(zhí)行是間斷的。這與用硬件模擬多線(xiàn)程有本質(zhì)的不同。像這樣既要應(yīng)用各線(xiàn)程執(zhí)行的間斷性,又要保證各線(xiàn)程運(yùn)行的連續(xù)性。這對(duì)軟件的設(shè)計(jì)有了很高的要求,這同時(shí)也是單片機(jī)控制系統(tǒng)用軟件模擬多線(xiàn)程方法中的難點(diǎn)之一,為了解決這個(gè)問(wèn)題,可在個(gè)線(xiàn)程自帶線(xiàn)程進(jìn)度指示器用來(lái)標(biāo)志線(xiàn)程的運(yùn)行進(jìn)度,即用一個(gè)變量記載線(xiàn)程的每一步;如圖2


圖2

系統(tǒng)設(shè)定線(xiàn)程進(jìn)度指示器用來(lái)指引線(xiàn)程的連續(xù)運(yùn)行,同時(shí)在一個(gè)中斷中輪詢(xún)所有對(duì)象。其編程結(jié)構(gòu)大致如下:

時(shí)鐘中斷:
    線(xiàn)程1:
         線(xiàn)程進(jìn)度標(biāo)志:
           1:    ;
           2:    ;
           3 ;
       
        線(xiàn)程2:
   線(xiàn)程進(jìn)度標(biāo)志:
         1:    ;
         2:    ;
        。。。。。。。。

用軟件模擬多線(xiàn)程還有很多要注意的地方。

[!--empirenews.page--]

如果選用20兆的DSP來(lái)實(shí)現(xiàn)控制功能,步進(jìn)電機(jī)最快的打拍速度為40us---60us,則有下面的計(jì)算結(jié)果,,取1/4,即10us產(chǎn)生一中斷,在中斷里查詢(xún)61個(gè)對(duì)象。20兆DSP單條指令的執(zhí)行時(shí)間大約為50ns在一次中斷內(nèi)可執(zhí)行的語(yǔ)句數(shù)=10us/50ns=200條,如果在分給61個(gè)對(duì)象,每個(gè)對(duì)象所分得的指令數(shù)僅為3條,已經(jīng)不夠用了,即使選擇60兆的DSP,說(shuō)分指令也只是9條,若以犧牲打拍的靈活性為代價(jià),以60us為已中斷。則每個(gè)對(duì)象所分得的指令數(shù)僅為36條勉強(qiáng)夠用,如果所控制的對(duì)象再多的話(huà),軟件編程的靈活性將進(jìn)一步被壓縮,

下面提出了一種擴(kuò)展的多線(xiàn)程模擬方法,如圖3


圖3   

s1,s2為系統(tǒng)運(yùn)行的基準(zhǔn)時(shí)間,M1.1 為第一對(duì)象組中第一對(duì)象。M1.2 為第一對(duì)象組中第二對(duì)象。

這種擴(kuò)展的多線(xiàn)程模擬方法仍將系統(tǒng)時(shí)間化成多個(gè)時(shí)間片,與上面不同的是有幾個(gè)線(xiàn)程(對(duì)象)組成一個(gè)線(xiàn)程組,共享同一個(gè)時(shí)間片,例如:當(dāng)系統(tǒng)運(yùn)行到第一次基準(zhǔn)時(shí)間的第一個(gè)時(shí)間片時(shí),由共享時(shí)間片的第一個(gè)線(xiàn)程占用,當(dāng)系統(tǒng)運(yùn)行到第2次基準(zhǔn)時(shí)間的第1個(gè)時(shí)間片時(shí),由共享時(shí)間片的第2個(gè)線(xiàn)程占用,如此類(lèi)推,這種擴(kuò)展模式可以靈活的掌控線(xiàn)程與所用時(shí)間的比例,但是這是以犧牲運(yùn)行時(shí)間為代價(jià)的。

結(jié)論:本文對(duì)單片機(jī)控制系統(tǒng)的編程思想作出了擴(kuò)展,將本屬于計(jì)算機(jī)高級(jí)語(yǔ)言編程思想的多線(xiàn)程編程移植到單片機(jī)控制系統(tǒng)中。這種方法使單片機(jī)控制系統(tǒng)可工作于對(duì)系統(tǒng)運(yùn)行速度要求很高的系統(tǒng)中,并且對(duì)其他的高級(jí)語(yǔ)言編程思想,如對(duì)事件句柄的處理等向單片機(jī)控制系統(tǒng)移植起了示范作用。

參考文獻(xiàn)
  [1]柳永新主編。Windows c 程序設(shè)計(jì)入門(mén)與提高。清華大學(xué)出版社,1999,6。
  [2]李朝青主編。單片機(jī)原理及接口技術(shù),1994。

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

武漢2025年9月9日 /美通社/ -- 7月24日,2025慧聰跨業(yè)品牌巡展——湖北?武漢站在武漢中南花園酒店隆重舉辦!本次巡展由慧聰安防網(wǎng)、慧聰物聯(lián)網(wǎng)、慧聰音響燈光網(wǎng)、慧聰LED屏網(wǎng)、慧聰教育網(wǎng)聯(lián)合主辦,吸引了安防、...

關(guān)鍵字: AI 希捷 BSP 平板

上海2025年9月9日 /美通社/ -- 9月8日,移遠(yuǎn)通信宣布,其自研藍(lán)牙協(xié)議棧DynaBlue率先通過(guò)藍(lán)牙技術(shù)聯(lián)盟(SIG)BQB 6.1標(biāo)準(zhǔn)認(rèn)證。作為移遠(yuǎn)深耕短距離通信...

關(guān)鍵字: 藍(lán)牙協(xié)議棧 移遠(yuǎn)通信 COM BSP

上海2025年9月9日 /美通社/ -- 為全面落實(shí)黨中央、國(guó)務(wù)院和上海市委、市政府關(guān)于加快發(fā)展人力資源服務(wù)業(yè)的決策部署,更好發(fā)揮人力資源服務(wù)業(yè)賦能百業(yè)作用,8月29日,以"AI智領(lǐng) HR智鏈 靜候你來(lái)&quo...

關(guān)鍵字: 智能體 AI BSP 人工智能

北京2025年9月8日 /美通社/ -- 近日,易生支付與一汽出行達(dá)成合作,為其自主研發(fā)的"旗馭車(chē)管"車(chē)輛運(yùn)營(yíng)管理平臺(tái)提供全流程支付通道及技術(shù)支持。此次合作不僅提升了平臺(tái)對(duì)百余家企業(yè)客戶(hù)的運(yùn)營(yíng)管理效率...

關(guān)鍵字: 一汽 智能化 BSP SAAS

深圳2025年9月8日 /美通社/ -- 晶泰科技(2228.HK)今日宣布,由其助力智擎生技制藥(PharmaEngine, Inc.)發(fā)現(xiàn)的新一代PRMT5抑制劑PEP0...

關(guān)鍵字: 泰科 AI MT BSP

上海2025年9月5日 /美通社/ -- 由上海市經(jīng)濟(jì)和信息化委員會(huì)、上海市發(fā)展和改革委員會(huì)、上海市商務(wù)委員會(huì)、上海市教育委員會(huì)、上海市科學(xué)技術(shù)委員會(huì)指導(dǎo),東浩蘭生(集團(tuán))有限公司主辦,東浩蘭生會(huì)展集團(tuán)上海工業(yè)商務(wù)展覽有...

關(guān)鍵字: 電子 BSP 芯片 自動(dòng)駕駛

推進(jìn)卓越制造,擴(kuò)大產(chǎn)能并優(yōu)化布局 蘇州2025年9月5日 /美通社/ --?耐世特汽車(chē)系統(tǒng)與蘇州工業(yè)園區(qū)管委會(huì)正式簽署備忘錄,以設(shè)立耐世特亞太總部蘇州智能制造項(xiàng)目。...

關(guān)鍵字: 智能制造 BSP 汽車(chē)系統(tǒng) 線(xiàn)控

慕尼黑和北京2025年9月4日 /美通社/ -- 寶馬集團(tuán)宣布,新世代首款量產(chǎn)車(chē)型BMW iX3將于9月5日全球首發(fā),9月8日震撼亮相慕尼黑車(chē)展。中國(guó)專(zhuān)屬版車(chē)型也將在年內(nèi)與大家見(jiàn)面,2026年在國(guó)內(nèi)投產(chǎn)。 寶馬集團(tuán)董事...

關(guān)鍵字: 寶馬 慕尼黑 BSP 數(shù)字化

北京2025年9月4日 /美通社/ --?在全球新一輪科技革命與產(chǎn)業(yè)變革的澎湃浪潮中,人工智能作為引領(lǐng)創(chuàng)新的核心驅(qū)動(dòng)力,正以前所未有的深度與廣度重塑各行業(yè)發(fā)展格局。體育領(lǐng)域深度融入科技變革浪潮,駛?cè)霐?shù)字化、智能化轉(zhuǎn)型快車(chē)...

關(guān)鍵字: 人工智能 智能體 AI BSP

上海2025年9月2日 /美通社/ -- 近日,由 ABB、Moxa(摩莎科技)等八家企業(yè)在上海聯(lián)合發(fā)起并成功舉辦"2025 Ethernet-APL 技術(shù)應(yīng)用發(fā)展大會(huì)"。會(huì)議以"破界?融合...

關(guān)鍵字: ETHERNET 智能未來(lái) BSP 工業(yè)通信
關(guān)閉