999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

多路PWM信號產(chǎn)生方案設(shè)計

2011-10-20 07:21:28江蘇信息職業(yè)技術(shù)學(xué)院
河南科技 2011年22期
關(guān)鍵詞:單片機信號

江蘇信息職業(yè)技術(shù)學(xué)院 周 蕓

多路PWM信號產(chǎn)生方案設(shè)計

江蘇信息職業(yè)技術(shù)學(xué)院 周 蕓

在裝載機控制系統(tǒng)的設(shè)計中,必須對裝載機動臂、鏟斗的運動進(jìn)行控制,包括動臂的上升、下降和鏟斗的裝載、卸載。在單片機控制下的裝載機利用電液比例控制來實現(xiàn)對動臂、鏟斗的運動控制,系統(tǒng)最終的被控對象是比例電磁閥(共4個)。因此,裝載機控制系統(tǒng)需要產(chǎn)生4路PWM(脈沖寬度調(diào)制)信號,用來驅(qū)動各對應(yīng)比例電磁閥,分別實現(xiàn)對動臂上升、下降和鏟斗裝載、卸載的控制。通過調(diào)節(jié)PWM輸出波形的占空比還可以改變動臂和鏟斗的運動速度。

一、 基于HSO的PWM信號產(chǎn)生方案

1.80C196KB單片機內(nèi)部HSO簡介。某裝載機控制系統(tǒng)的設(shè)計基于80C196KB單片機,其內(nèi)部的高速輸出器(HSO)功能強大,可以為系統(tǒng)產(chǎn)生多路PWM信號。通過軟件編程控制HSO通道的輸出,就可以得到所需要的PWM波形。

HSO可以按程序設(shè)定的時間觸發(fā)某一事件,CPU的使用開銷很小,故速度很高。允許被觸發(fā)的事件包括啟動A/D轉(zhuǎn)換,復(fù)位定時器2,設(shè)置4個軟件定時器標(biāo)志和接通多達(dá)6根輸出線(HSO.0~HSO.5)等。其中,HSO CAM陣列是HSO的核心部分,它由8個23位的寄存器組成,每個寄存器的7位用于存放事件輸出命令,其余16位用于存放事件觸發(fā)的時間。在程序中把命令和預(yù)定觸發(fā)時間寫入CAM陣列,就相當(dāng)于設(shè)定了某一事件。每一個狀態(tài)周期,來自定時器(作為HSO的時間基準(zhǔn))的時間與CAM中一個預(yù)定的時間進(jìn)行比較。比較結(jié)果相符,說明觸發(fā)某一事件的時間已到,就讀出CAM中的這一項內(nèi)容,并產(chǎn)生該事件的觸發(fā)信號,同時清除該項數(shù)據(jù)內(nèi)容。

2.利用HSO中斷來產(chǎn)生連續(xù)的PWM信號。HSO同一時刻最多可以掛號8個事件,且當(dāng)事件被觸發(fā)時允許發(fā)生中斷。HSO可以產(chǎn)生2種中斷,分別對應(yīng)不同的中斷向量:HSO執(zhí)行中斷(2006H),產(chǎn)生于執(zhí)行HSO命令而使HSO的6個輸出腳(HSO.0~HSO.5)中任何一個工作時;軟件定時器中斷(200AH),產(chǎn)生于執(zhí)行其他HSO命令時,包括4個軟件定時器命令、T2復(fù)位命令和A/D轉(zhuǎn)換啟動命令。

對HSO編程可以按預(yù)定的時間產(chǎn)生中斷,即所謂的軟件定時器。HSO允許有4個軟件定時器同時工作,預(yù)定時間一到,HSO就對軟件定時器標(biāo)志置1,使軟件定時器中斷。因此,在同一時間窗口(8個狀態(tài)周期)內(nèi)發(fā)生多重軟件定時器中斷是可能的。

每產(chǎn)生一路PWM信號需要在CAM中設(shè)置3個事件,一個正跳變、一個負(fù)跳變和一個脈沖周期正跳變。前兩個事件只負(fù)責(zé)HSO某個輸出腳輸出高、低電平的狀態(tài),不需要產(chǎn)生中斷;但CAM陣列中的所有事件一經(jīng)觸發(fā)就立即清除,所以要連續(xù)產(chǎn)生PWM波形必須在第三個周期事件發(fā)生后重新設(shè)置上述3個事件,因此第3個事件的觸發(fā)應(yīng)允許中斷,并在其中斷服務(wù)子程序中完成重置任務(wù)。只要在設(shè)置完第3個周期事件后開中斷,通過周期性的中斷就可以在HSO輸出腳產(chǎn)生一系列連續(xù)的PWM波形。此外,還可以利用軟件定時器中斷,軟件定時器的定時時間值即為PWM信號的周期。在軟件定時器中斷服務(wù)子程序中設(shè)置兩個事件——一個正跳變和一個負(fù)跳變,也可以達(dá)到相同的輸出效果。

采用上述方法產(chǎn)生PWM信號時,選定時器1作為HSO的時間基準(zhǔn)。在12 MHz晶振下,定時器1的每一個計數(shù)值代表1.33 μs,最大計數(shù)數(shù)值為216-1=65 535,相當(dāng)于87 ms,所以能夠產(chǎn)生PWM波形的頻率范圍為11~375 kHz。實際需要的PWM頻率為幾百赫茲,在這個范圍內(nèi)是可實現(xiàn)的。

該裝載機控制系統(tǒng)共要求產(chǎn)生4路PWM信號,需占用4個HSO通道,每個通道都用上面的方法產(chǎn)生相互獨立的PWM信號。這對CPU而言相當(dāng)于增加了4個中斷源,并且執(zhí)行每一路PWM波形輸出時會產(chǎn)生頻繁的中斷,這在很大程度上會降低CPU的工作效率,甚至影響到CPU執(zhí)行其他監(jiān)控子程序和其他一些操作;另外,前面提及的HSO同一時刻最多可以掛號8個事件,而實現(xiàn)1路PWM信號輸出就需要3個事件,顯然不可能實現(xiàn)4路PWM信號的同時輸出。雖然在實際應(yīng)用中4路同時輸出的情況不會出現(xiàn),但不得不考慮4路PWM信號交替產(chǎn)生過程中可能存在的CAM寄存器組不夠用的情況,這就影響到正常的PWM信號輸出,降低了系統(tǒng)控制的可靠性。

為此,可以利用80C196KB單片機的新增功能——CAM鎖定:即在HSO命令寄存器中增加CAM鎖定(LOCK)位D7,當(dāng)把一條命令寫入HSO CAM中時,若同時設(shè)置CAM鎖定位為1,可以使該命令保持在CAM中,否則產(chǎn)生一次HSO觸發(fā)的事件就會把CAM中相應(yīng)命令清除掉。

利用CAM鎖定功能可以周期性地產(chǎn)生PWM波形,而不需要頻繁的HSO中斷,大大減小了CPU的使用開銷,減輕了CPU的負(fù)擔(dān)。

CAM鎖定功能必須靠設(shè)置IOC2.6=1來選通。為了從CAM中清除被鎖定的事件,可以向CAM清除位IOC2.7寫入1,這將清除CAM寄存器組的全部內(nèi)容。這里沒有辦法單獨清除1項被鎖定的命令。

3.基于CAM鎖定功能的多路PWM產(chǎn)生方案。利用HSO復(fù)位定時器2(T2)的命令,用T2作為HSO的時間基準(zhǔn),T2CLK為T2的時鐘源,可以產(chǎn)生周期性的事件,事件發(fā)生周期由用戶選定。程序中設(shè)置好T2的復(fù)位時間,并安排PWM波形正跳變這一事件發(fā)生于T2復(fù)位的時刻,而負(fù)跳變這一事件發(fā)生于T2復(fù)位前的某個時刻(該事件決定了PWM的占空比),將這兩個事件和T2復(fù)位事件都鎖定在CAM中,則一路PWM信號將周期性地產(chǎn)生,其重復(fù)周期就是T2的復(fù)位周期。

由于要以T2為HSO的時間基準(zhǔn),但HSO的時間分辨率為8個狀態(tài)周期[12 MHz晶振時為(1/6 MHz)×8=1.33 μs],所以限制了T2的最高時鐘頻率也必須為每8個狀態(tài)周期一次,即T2的時鐘源輸入至少為CLKOUT的8分頻輸出。此外,T2實質(zhì)是一個采用外部時鐘的16位計數(shù)器,由于外部時鐘的正跳沿和負(fù)跳沿處T2都會計數(shù),所以要想每8個狀態(tài)周期T2計數(shù)值增1,時鐘輸入周期必須為16個狀態(tài)周期(即至少為16分頻)。

PWM信號的周期TPWM=T2計數(shù)值(M)×8個狀態(tài)周期(1.33μs)。其中 T2的計數(shù)值M決定了PWM波形的分辨位數(shù)A(M=2A-1)。當(dāng)要求產(chǎn)生的PWM信號的周期為2 ms時,M=1 508,A=10。這一點說明該方案完全可以產(chǎn)生所要求的PWM信號。

4.如果懶得抄原題,也可以根據(jù)需要將原題裁剪下來粘貼到錯題本上,但不宜太多,以免日積月累錯題本顯得太厚重;

實際要求的4路PWM信號是相互獨立,互不影響的,所以當(dāng)請求產(chǎn)生某一路PWM信號時,必須向CAM寫入3個事件的鎖定命令;當(dāng)請求產(chǎn)生多路PWM信號時,考慮到4路PWM信號的頻率相同,所以那幾路可以共用一個T2復(fù)位事件,隨后請求的幾路PWM只要再各自追加2個事件就可以了。事實上,實際運行時最多有2路PWM會同時輸出:一路控制動臂的運動,另一路控制鏟斗的裝載或卸載,故同一時刻關(guān)于PWM的鎖定命令最多占用5個CAM寄存器。這一點說明本方案實現(xiàn)多路PWM信號輸出也是可行的。

但這種方案也存在問題——無法單獨清除1項被鎖定的命令。例如當(dāng)要停止某一路PWM輸出時,應(yīng)該清除對應(yīng)的CAM中被鎖定的項,這時必須通過設(shè)置IOC2.7=1來實現(xiàn),同時也把整個CAM內(nèi)容全部清除掉了,因此所有要繼續(xù)執(zhí)行的命令必須重新設(shè)置,包括那些未鎖定的命令。

4.方案缺點。對于上面討論的CAM清除問題,顯然在沖洗和重新裝入CAM命令的過程中,可能會漏掉執(zhí)行某些命令,所以必須考慮已裝載的CAM命令的備份、記憶問題,因此沒有足夠的軟件開銷是很難解決這些問題的。同時也使得改變PWM信號輸出這一軟件控制過程變得復(fù)雜化且易出錯。

從單片機資源的占用來看,基于HSO的多路PWM信號產(chǎn)生方案使用4個獨立的HSO通道,執(zhí)行PWM信號輸出功能,僅實現(xiàn)單一地對動臂、鏟斗的控制。這部分功能其實只是整個控制系統(tǒng)的一小部分,但其在軟、硬件方面都占用較多的資源。此外,這種方案很大程度上限制了HSO在其他功能上的應(yīng)用,沒有充分發(fā)揮HSO獨特而強大的功能,更不利于進(jìn)一步擴(kuò)展系統(tǒng)的監(jiān)控任務(wù)。因此,可以考慮用硬件來實現(xiàn)多路PWM信號輸出的設(shè)計方案。

二、 基于發(fā)生器M66240的4路PWM信號的產(chǎn)生方案

1. M66240簡介。M66240是一種可編程的PWM發(fā)生器,它內(nèi)部包含有一個16位的預(yù)分頻器和一個PWM計數(shù)器,可以實現(xiàn)4通道PWM信號產(chǎn)生的獨立控制。

M66240有3種PWM輸出模式,其中模式0和2通過對M66240編程實現(xiàn)周期性PWM信號,而模式1下必須依據(jù)外部觸發(fā)信號來產(chǎn)生非周期性PWM信號。所以只有模式0和2滿足要求。下面介紹這2種模式。

模式0:PWM計數(shù)器既可以用作16位,也可用作8位,區(qū)別僅在于PWM波形的分辨精度不同。該模式下一個PWM波形固定包含(2A-1)(A=8,16)個計數(shù)脈沖,設(shè)置PWM波形高電平持續(xù)時間的計數(shù)值M,就可以得到周期性輸出的設(shè)定占空比的PWM波形。

模式2:PWM波形的產(chǎn)生原理同模式0,不過需要同時設(shè)置高電平持續(xù)時間的計數(shù)值 M和低電平持續(xù)時間的計數(shù)值N,才可以得到周期性輸出的PWM波形。

可以看到在這種模式下,允許產(chǎn)生周期較大的PWM波形,并且PWM的周期和占空比調(diào)節(jié)更加自由,可以靈活產(chǎn)生各種PWM波形。

2.方案實現(xiàn)。采用M66240產(chǎn)生PWM信號時,把單片機時鐘輸出CLKOUT引腳的2分頻時鐘信號作為它的外部時鐘源。例如單片機系統(tǒng)使用12 MHz晶振,則M66240的基準(zhǔn)工作頻率f(XIN)= 6 MHz。在該基準(zhǔn)工作頻率下,計算2種模式下PWM的周期,計算結(jié)果見表1。

表 1 2種模式下PWM的周期

這里要求的PWM周期是“ms”級的,一般取為1~2 ms,所以模式0(A=8)或模式2都可以。

模式0時,設(shè)置PWM計數(shù)器為8位,由T(μs)= [(L+1)/ f(XIN)] ×(28-1)可得T=2 ms時,預(yù)分頻器計數(shù)值L=46;雖然每個PWM包含了12 000個外部時鐘脈沖,但PWM的分辨率也只有8位。

模式2時,為提高PWM的分辨率,取定L=0,由T(μs)=[(L+1)/f(XIN)]×(M+N)可得T=2 ms時,M+N=12 000,這時PWM的分辨位數(shù)可以達(dá)到13位。再根據(jù)PWM的占空比可以分別確定M,N的值。一旦要改變PWM占空比,需要同時修改M,N兩個計數(shù)值。

3. M66240與單片機的接口設(shè)計。將M66240當(dāng)做單片機系統(tǒng)的一個外部I/O設(shè)備來用,CPU只作為它的一個軟件伺服系統(tǒng),通過軟件指令獨立設(shè)置各個通道的PWM信號周期、占空比,該芯片就會自動產(chǎn)生PWM信號,而不再受CPU控制(除非要改變PWM波形的特性)。M66240與單片機的接口電路如圖1所示。

硬件電路設(shè)計中,3-8譯碼器74LS138的輸出Y3作為M66240的片選信號;單片機的寫信號WR控制其寫控制端,實現(xiàn)單片機對M66240的寫入操作;同時設(shè)置P1.4這路I/O口線作為它的命令/數(shù)據(jù)選通信號;它的8位數(shù)據(jù)口則直接與單片機的數(shù)據(jù)總線接口;由單片機系統(tǒng)向M66240提供時鐘信號,即將時鐘輸出信號CLKOUT用作其外部時鐘源,作為系統(tǒng)的時鐘基準(zhǔn);4路PWM輸出就是對動臂、鏟斗的控制信號。

4.軟件設(shè)計。主要是對M66240的編程。要控制M66240的不同通道產(chǎn)生PWM波形,只要設(shè)置各通道對應(yīng)的預(yù)分頻器計數(shù)值和PWM計數(shù)器的計數(shù)值即可,可通過向M66240寫入不同的命令或數(shù)據(jù)來實現(xiàn)。單片機控制M66240輸出的軟件流程如圖2所示。

對M66240的編程一共要用到3種操作命令:Command1,設(shè)定PWM輸出模式和各路的外部觸發(fā)輸入,同時設(shè)置高電平寬度的輸出極性。Command2,在一個字節(jié)的基礎(chǔ)上,向各通道的預(yù)分頻器和PWM計數(shù)器中指定的16位寄存器寫數(shù)據(jù)。從第二字節(jié)開始的后續(xù)字節(jié)作為數(shù)據(jù)值被寫入預(yù)分頻器和PWM計數(shù)器。Command3,用于啟動和中止PWM計數(shù)器的工作。

三、方案比較

從對上述幾種方案的分析可以看到,HSO中斷的最大缺點是頻繁的中斷導(dǎo)致CPU執(zhí)行效率降低;CAM鎖定的最大缺點是軟件編程復(fù)雜,需要較多的軟件資源;采用專用PWM發(fā)生器芯片的缺點則是耗用一定的硬件資源,成本較高。

事實上,這幾種方案在不同的場合需求下也是各有長處的:HSO中斷適用于產(chǎn)生單路PWM信號,且要求PWM信號的頻率在輸出允許范圍內(nèi);CAM鎖定適用于在單片機控制功能單一,而要求產(chǎn)生多路同周期PWM信號的場合,且這多路PWM信號的輸出有一定規(guī)律(如要求2~3路同時輸出等),從而可盡量減少軟件編程的復(fù)雜度;專用PWM發(fā)生器適用于單片機控制功能復(fù)雜,而又要求產(chǎn)生多路PWM信號的場合,直接利用硬件電路來產(chǎn)生PWM信號,不僅實時性好、輸出可靠、準(zhǔn)確,而且占用CPU資源少,提高了CPU的執(zhí)行效率。

猜你喜歡
單片機信號
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
孩子停止長個的信號
小議PLC與單片機之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
基于單片機的平衡控制系統(tǒng)設(shè)計
電子制作(2017年19期)2017-02-02 07:08:27
基于LabVIEW的力加載信號采集與PID控制
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: 亚洲人成网站观看在线观看| 亚洲中文字幕无码爆乳| 国产白浆一区二区三区视频在线| 日韩精品免费在线视频| 成人a免费α片在线视频网站| 天堂网亚洲系列亚洲系列| AV老司机AV天堂| 伊人五月丁香综合AⅤ| 精品久久国产综合精麻豆| 欧美a在线| 亚洲天堂网在线播放| 国产精品99一区不卡| 97se亚洲综合| 日本高清免费不卡视频| 中文字幕不卡免费高清视频| 亚洲欧美日韩精品专区| 国产91在线免费视频| 精品国产免费观看一区| 国产三级精品三级在线观看| 在线欧美a| 白浆免费视频国产精品视频| 久久亚洲黄色视频| 精品欧美日韩国产日漫一区不卡| 亚洲国产av无码综合原创国产| 高清亚洲欧美在线看| 国内精品免费| 九九香蕉视频| 亚洲综合九九| 毛片久久久| 久操线在视频在线观看| 欧美三级视频在线播放| 国产日韩欧美在线播放| 国产成人精品高清不卡在线| 国产精品九九视频| 久久国产毛片| 午夜啪啪福利| 尤物精品国产福利网站| 久久免费看片| 孕妇高潮太爽了在线观看免费| 亚洲无码视频一区二区三区| 美女被狂躁www在线观看| 免费高清a毛片| 亚洲综合第一页| 精品一区二区三区无码视频无码| 久久综合亚洲鲁鲁九月天| 日韩精品免费一线在线观看| 婷婷色丁香综合激情| 天堂网国产| 中文字幕亚洲无线码一区女同| 精品国产免费第一区二区三区日韩| 波多野结衣中文字幕一区| 99re精彩视频| 欧美色亚洲| 91国内在线视频| 久草中文网| 欧美日韩国产系列在线观看| 色呦呦手机在线精品| 亚洲αv毛片| 最新精品国偷自产在线| 亚洲欧美一级一级a| 久久久精品久久久久三级| 色成人综合| 四虎成人精品| 日本高清在线看免费观看| 久久精品国产999大香线焦| 日韩欧美国产中文| 毛片免费在线视频| 人妻免费无码不卡视频| 国产一区二区三区精品久久呦| 五月婷婷伊人网| 不卡视频国产| 婷五月综合| 免费无码又爽又刺激高| 亚洲国产系列| 亚洲Av综合日韩精品久久久| 日本在线欧美在线| 亚洲成人精品在线| 亚洲精品波多野结衣| 91精品国产麻豆国产自产在线| 国产在线自揄拍揄视频网站| 国产网站一区二区三区| 国产激情第一页|