亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇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è)計中,必須對裝載機動臂、鏟斗的運動進行控制,包括動臂的上升、下降和鏟斗的裝載、卸載。在單片機控制下的裝載機利用電液比例控制來實現(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個軟件定時器標志和接通多達6根輸出線(HSO.0~HSO.5)等。其中,HSO CAM陣列是HSO的核心部分,它由8個23位的寄存器組成,每個寄存器的7位用于存放事件輸出命令,其余16位用于存放事件觸發(fā)的時間。在程序中把命令和預(yù)定觸發(fā)時間寫入CAM陣列,就相當于設(shè)定了某一事件。每一個狀態(tài)周期,來自定時器(作為HSO的時間基準)的時間與CAM中一個預(yù)定的時間進行比較。比較結(jié)果相符,說明觸發(fā)某一事件的時間已到,就讀出CAM中的這一項內(nèi)容,并產(chǎn)生該事件的觸發(fā)信號,同時清除該項數(shù)據(jù)內(nèi)容。

        2.利用HSO中斷來產(chǎn)生連續(xù)的PWM信號。HSO同一時刻最多可以掛號8個事件,且當事件被觸發(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就對軟件定時器標志置1,使軟件定時器中斷。因此,在同一時間窗口(8個狀態(tài)周期)內(nèi)發(fā)生多重軟件定時器中斷是可能的。

        每產(chǎn)生一路PWM信號需要在CAM中設(shè)置3個事件,一個正跳變、一個負跳變和一個脈沖周期正跳變。前兩個事件只負責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è)置兩個事件——一個正跳變和一個負跳變,也可以達到相同的輸出效果。

        采用上述方法產(chǎn)生PWM信號時,選定時器1作為HSO的時間基準。在12 MHz晶振下,定時器1的每一個計數(shù)值代表1.33 μs,最大計數(shù)數(shù)值為216-1=65 535,相當于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而言相當于增加了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,當把一條命令寫入HSO CAM中時,若同時設(shè)置CAM鎖定位為1,可以使該命令保持在CAM中,否則產(chǎn)生一次HSO觸發(fā)的事件就會把CAM中相應(yīng)命令清除掉。

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

        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的時間基準,T2CLK為T2的時鐘源,可以產(chǎn)生周期性的事件,事件發(fā)生周期由用戶選定。程序中設(shè)置好T2的復(fù)位時間,并安排PWM波形正跳變這一事件發(fā)生于T2復(fù)位的時刻,而負跳變這一事件發(fā)生于T2復(fù)位前的某個時刻(該事件決定了PWM的占空比),將這兩個事件和T2復(fù)位事件都鎖定在CAM中,則一路PWM信號將周期性地產(chǎn)生,其重復(fù)周期就是T2的復(fù)位周期。

        由于要以T2為HSO的時間基準,但HSO的時間分辨率為8個狀態(tài)周期[12 MHz晶振時為(1/6 MHz)×8=1.33 μs],所以限制了T2的最高時鐘頻率也必須為每8個狀態(tài)周期一次,即T2的時鐘源輸入至少為CLKOUT的8分頻輸出。此外,T2實質(zhì)是一個采用外部時鐘的16位計數(shù)器,由于外部時鐘的正跳沿和負跳沿處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)。當要求產(chǎn)生的PWM信號的周期為2 ms時,M=1 508,A=10。這一點說明該方案完全可以產(chǎn)生所要求的PWM信號。

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

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

        但這種方案也存在問題——無法單獨清除1項被鎖定的命令。例如當要停止某一路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獨特而強大的功能,更不利于進一步擴展系統(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的基準工作頻率f(XIN)= 6 MHz。在該基準工作頻率下,計算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ù)可以達到13位。再根據(jù)PWM的占空比可以分別確定M,N的值。一旦要改變PWM占空比,需要同時修改M,N兩個計數(shù)值。

        3. M66240與單片機的接口設(shè)計。將M66240當做單片機系統(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)的時鐘基準;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信號,不僅實時性好、輸出可靠、準確,而且占用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控制
        一種基于極大似然估計的信號盲抽取算法
        内射人妻视频国内| 日本一道本加勒比东京热| 午夜精品免费视频一区二区三区| 男女性爽大片视频| 色偷偷av亚洲男人的天堂| 日本高清色惰www在线视频| 清纯唯美亚洲经典中文字幕| 亚洲最大成人网站| 青青草原精品99久久精品66 | 中文字幕久久久精品无码| 国产人妖一区二区在线| 亚洲av成熟国产一区二区 | 日本乱人伦在线观看| 久久久一本精品99久久| 亚洲天堂一区二区三区| 暖暖 免费 高清 日本 在线| 欧美人与动人物牲交免费观看| 色yeye在线观看| 国产亚洲一二三区精品| 欧美变态另类刺激| 国产精品一区二区暴白浆| 国产传媒剧情久久久av| 精品国产三级a在线观看不卡| 中文字幕无码毛片免费看| 日韩第四页| 一级二级三一片内射视频| 亚洲男女内射在线播放| 性色av 一区二区三区| 校花高潮一区日韩| 免费观看人妻av网站| 精品亚洲成a人片在线观看| 巨爆乳中文字幕爆乳区| 最好的99精品色视频大全在线| 国产精品186在线观看在线播放 | 国产三级一区二区三区在线观看| 国产无套乱子伦精彩是白视频| 毛片在线播放a| 国产精品女同久久久久久| 美女主播福利一区二区| 日日澡夜夜澡人人高潮| www.日本一区|