單片機的可靠性與抗干擾論文_第1頁
單片機的可靠性與抗干擾論文_第2頁
單片機的可靠性與抗干擾論文_第3頁
單片機的可靠性與抗干擾論文_第4頁
單片機的可靠性與抗干擾論文_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第一章 緒論單片機也叫做嵌入式微控制器,是指在一塊芯片上集成了微處理器(CPU)、存儲器、并串行輸入/輸出接口、定時器/計數器和中斷控制器等部件。新型的單片機功能越來越多,速度越來越快,如內部集成了A/D轉換器、脈寬調制器、CAN總路線、倍頻及低功耗設計等電路。目前,單片機的品種繁多,由于MCS-51單片機具有結構體系完整、指令系統功能完善和內部寄存器的規(guī)范化等特色,另外與其配套的種類開發(fā)系統和種類軟件也不例外比較完善,因此在中國的單片機市場上一直是主流芯片。單片機應用系統的可靠性取決于應用系統的抗干擾性能,而整個系統的抗干擾性能取決于抗干擾的設計方法。單片機應用系統的硬件抗干擾設計是整個抗干

2、擾設計的主要部分,也是抗干擾設計的基礎。它必須為軟件抗干擾設計提供良好的條件,因為再好的軟件抗干擾技術也是由硬件的正常工作來保證的。本論文講解單片機應用系統設計的可靠性設計與抗干擾問題的解決方法。如:系統的可靠性的設計方法。單片機應用系統軟件抗干擾的設計方法。單片機應用系統硬件抗干擾的設計方法。在單片機應用系統中,硬件抗干擾是在單片機的外部采取的抗干擾措施,其方根措施有濾波、屏隔去耦接地自動復位與電源的監(jiān)測電路等。與其他電子電路不同的是,單片機在內部也可以采取一些抗干擾措施,這些措施有數字濾波、軟件冗余、軟件陷阱和軟件看門狗等。在單片機應用系統的設計中,既可以采取軟件抗干擾措施,也可以采取硬件

3、抗干擾措施,有時也把兩者結合起來用。具體采取哪種抗干擾措施,還應根據干擾源的具體情況而定。第二章 單片機的可靠性設計21 可靠性可靠性設計是電子系統設計中的一項很重要指標。同樣可靠性設計也是單片機應用系統的一項重要性能指標??煽啃杂啥喾N因素決定,其中干擾信號是影響可靠性的方根因素。干擾是指迭加在電源電壓或正常工作信號電壓上無用的電信號。干擾有多種來源:電網、空間電磁場、輸入/輸出通道等。干擾會影響傳送信息的正確性,擾亂程序的正常運行,甚至可能損壞系統的硬件。實時測控單片機應用系統的運行是在與外部環(huán)境的動態(tài)交換中進行的,內部的故障、外界的干擾都會導致系統的不穩(wěn)定。因此,系統的可靠性關系到設計的成

4、敗問題。1可靠度可靠度是在規(guī)定的環(huán)境條件下和規(guī)定的時間內完成規(guī)定功能的概率,是系統可靠性的量度。單片機應用系統的可靠度為指數型:失效率是單位時間內出現的失效次數,是系統試驗研究的統計數據。常用元器件的失效率可參見器件手冊。失效特性曲線如圖1-1所示。曲線分為三段。(1) 早期失效。(2) 使用壽命期。(3) 損耗失效期。Yt規(guī)定的失效率有效壽命損耗期圖2-1 失效特性曲線22 提高可靠性的措施用單片機構成實時控制系統和數據采集系統時,最重要的一個基本要求是有很高的可靠性。因為一量系統出故障,出現數據采集錯誤,將造成生產過程的混亂,從而導致嚴重后果。因此,在系統設計過程中,對可靠性的設計應貫穿于

5、每一個環(huán)節(jié)為了提高單片機應用系統的可靠性,可以采取以下幾個措施。工藝設計其中包括選用高質量的元器件、電路設計、PCB板設計、接地與電磁兼容設計。元器件參數設計上留有余地,工藝嚴格把關,產品要進行例行試驗。2. 3硬件改進措施在設計上,用增加硬件來提高系統的可靠性,可采用以下兩種措施。(1) 掉電保護。由于單片機應用系統所用的工業(yè)電網不穩(wěn)定,會出現突然掉電現象。此時必須保存好現場的數據,待電壓恢復正常,系統便能從掉電處繼續(xù)執(zhí)行程序。掉電保護是許多測量儀器、控制和通信設備必備的功能,有得提高系統的可靠性。進行掉電保護有幾種方法:一是通過電源監(jiān)測電路,在電源電壓跌到某一數值之前,啟動備用電源,把要保

6、護的數據轉移到非易失性存儲器;二是把系統中的數據存在有備用電源供電的RAM中;三是直接把數據存在FLASH結構的聲易失存儲器中。(2)硬件故障自檢功能。利用單片機應用系統自身具備的條件,可設計硬件故障自檢功能。單片機應用系統一般應具有如下自檢功能:上電復位后,首先進行硬件自檢,以聲、光信號顯示硬件工作是否正常;利用擴展的鍵盤來檢查每一模塊的功能:在程序運行中,可在程序的某些點上插入自檢,并顯示故障部分。2 .4 抗干擾的設計原則干擾是造成單片機應用系統故障的主要原因之一。因此抗干擾的設計也是單片機應用系統設計的首要問題。要進行抗干擾的設計,首先要了解干擾源。由于工業(yè)應用環(huán)境紛雜,要抑制、清除干

7、擾必須白領形成干擾的三要素:干擾源、耦合通道長期存在接收設備,采用相應的抗干擾設計原則解決問題。干擾的來源單片機應用系統的干擾主要來自以下幾個方面:(1) 外部干擾:主要是來自電源的干擾。切斷感性負載產生的瞬變電壓脈沖、可控硅通斷造成的浪涌等,工業(yè)電網瞬變干擾、電氣設備的電弧和火花放電形成的高頻電磁波干擾、空間中的各種各樣的電磁波等。(2) 耦合通道的干擾:主要有輸入/輸出通道、電源和地的干擾。其中耦合干擾方式有共阻耦合、靜電耦合、互感耦合、磁輻射耦合等。(3) 內部干擾:主要是接地電位差揚形成的地環(huán)流、PCB板設計的不合理,模擬與數字電路未隔離、電路的虛焊和接觸不良等??垢蓴_的設計原則抗干擾

8、的設計,就是針對干擾的性質、產生條件、傳播途徑、被干擾的對象,采取有效的措施,白領干擾源、切斷干擾的傳輸通道、減弱電路對哭聲干擾的第三性等幾方面進行綜合治理。對于大型的電子設備一般采用以下設計原則。(1) 消除干擾源:在電源線上,通常采用壓敏電阻和RC電路吸收浪涌電壓、消除電弧和火花放電干擾。如在繼電器、接觸器觸點兩端并接RC吸收電路,消除火花放電。(2) 切斷干擾的耦合通道:切斷傳導耦合、共阻抗耦合、感應耦合與輻射大師傅的干擾。采用隔離變壓器、光電耦合器、濾波器等方法切斷干擾的耦合通道。(3) 減弱電路對哭聲干擾的敏感性:在電路設計上采用對稱結構。電橋和差分放大器,可使干擾在電路中自行抵消;

9、降低電路輸入阻抗,可減弱哭聲的影響;使用共模干擾;使用負反饋電路,對抑制內部哭聲十分有效。(4) 在電路板上使用抗干擾設計:使用表面貼裝(SMT)技術,增大元件與線路的接觸面;采用多層板設計,使信號層和電源層隔離;電路中電流一路保持最?。辉O計上使模擬電路和數字電路分離,模擬地與數字地一點共地;改善接地方式,盡量減小接地阻抗,必要時可使用浮置地等方法來掏干擾。25 硬件抗干擾 軟件抗干擾的優(yōu)點是成本低,但其效率較低,也存在著一定的局限性。在很多場合還需要加入硬件抗干擾,才能夠滿足需要。人們經過長期的研究與實踐,積累了豐富的經綸,有了許多硬件抗干擾措施。由于硬件抗干擾的效率較高,所以在許多電子設備

10、中都能夠看到硬件抗干擾的設計。硬件抗干擾的設計有濾波技術。屏蔽技術、隔離技術、去耦技術、接地技術及電源的監(jiān)測和保護技術等。251 濾波 濾波是壓縮信號回路干擾頻譜的一種方法。當干擾頻譜萬分不同于有用信號的頻帶時,可以用濾波器將無用的干擾濾除。有源濾波器有源濾波器可分為低通濾波器、高通濾波器、帶阻濾波器和帶通濾波器等多種。這些知識應該在模擬電路中講過,這里就不一一敘述了。信號濾波器信號濾波器是用在各種信號線上的低通濾波器,其作用是消除導線上的各種高頻干擾。信號濾波器可分為線路板安裝濾波器、饋通濾波器和濾波器連接器等到三種。電源濾波器目前,許多廠家已生產出用于電源輸入端的濾波器件。這種濾波器能夠防

11、止射頻的干擾,可用于各種電子設備的輸入端。屏蔽技術屏蔽技術是采用各種屏蔽的方法抑制沿空間傳播的電磁干擾,即阻斷輻射干擾的傳播路徑。常用的屏蔽方法有機箱屏蔽、采用高層磁材料制造屏蔽體或地線、在工藝設計上保證屏蔽機箱的完整性和電纜線的屏蔽。252隔離 在單片機應用系統中,為了防止電氣干擾信號從前向和后向通道進入系統,通常在輸入/輸出通道上設置光電耦合器,這種方法有效地改善了單片機應用系統的工作環(huán)境,使其工作可靠性大大提高。1光電耦合器的的種類常用的光電耦合的作用有兩種:一是輸入信號隔離,用于單片機應用系統的前身通道,可防止由輸入信號帶來的干擾;二是控制隔離,用于系統的兵役通道,可以防止來自繩開關上

12、的干擾。光電耦合器種類繁多,常用的有發(fā)光二極管/光晶體管、發(fā)光二極管/復合晶體管、發(fā)光二極管/光電阻器、發(fā)光二極管/光觸發(fā)可控硅和高速光電耦合器等幾種,其中用于輸入信號隔離的光電耦合器電路如圖2-2所示。這三種光電耦合器都是以發(fā)光二極管為輸入端,一般用于100kHz以下的頻率信號,在輸出端,如果基級有引出線,則可滿足溫度補償、檢測和調制的要求。調整光電大師傅器的內部電路如圖2-2(C)所示,它以發(fā)光二極管為輸入端,以PN型光敏二極管和調整開關管組成復合式的輸出端,具有較高的響應速度。(a) 發(fā)光二極管/光晶體管 (b) 發(fā)光二極管/光電阻器 (c) 高速光電耦合器 圖2-2 用于輸入信號隔離的

13、光電耦合器用于輸出控制隔離的光電耦合器電路。用于輸出控制隔離的光電耦合器也是發(fā)光二極管為輸入法端,但輸出端有可控硅和達林頓管等兩種。具有達林頓輸出的光電耦合器可用于驅動低頻率的負載,并用于遠距離的光電傳輸。具有可控硅輸出的光電耦合器可用于交流大功率隔離驅動。2. 光電耦合器的應用常用的光電耦合器應用電路如圖2-3所示。一般光電耦合器由光源(如發(fā)光二極管)和光傳感器(如光敏三極管)組成,當輸入端Vi為高電平(+12)時,發(fā)光二極管因導通而發(fā)光,光敏三極管的基極因光電流的作用而導通,所以輸出端Vo可輸出高電平;當輸入端Vi為低電平(0V)時,發(fā)光二極管截止,光敏三極管也截止,輸出端Vo為低電平。V

14、oVi圖2-3 光電耦合器的應用電路26 接地 接地的設計是電子設備中的一項重要設計。如果地線設計的不好,系統的抗干擾能力就差,那么電子設備就不能正常運行。在單片機控制系統中,有以下幾種地線:模擬地、數字地、信號地、系統地、交流地和保護地。模擬地作為傳感器、放大器、A/D和D/A轉換器中模擬電路的零電位;數字地作為計算機各種數字電路的零電位,應該與模擬地分開,避免模擬信號受到數字信號的干擾;系統地是上述幾種地的最終回流點,直接與大地相連作為基準零電位;交流地是計算機交流供電電源地,即動力線地,它的地電位節(jié)不穩(wěn)定,因此,交流地不允許上述幾種地相邊,而且是交流電源變壓器的絕緣性能要好,絕對避免漏電

15、現象;保護地也叫安全地,目的是使設備機殼與大地等電位,以避免機殼帶電,影響人身臉設備安全。一. 接地的設計方法單片機應用系統中接地技術的設計方法如下:(1) 單點接地就是把需要接地的電路、單元臉屏蔽體都接到設備接地面的同一個接地點上。單點接地方式適用于低頻電路。(2) 多點接地就是把需要接地的電路、單元臉屏蔽體用多條通路和設備接地面相連,多點接地降低了接地線的阻抗。多點接地方式試用于高頻電路。(3) 懸浮接地就是把控制系統的地線與外殼或大地浮軒,提高對電源、外殼引進干擾的抑制。二. 接地的設計原則1出現地線一路問題時,應采用浮地隔離技術。2接地線應盡量的短,并具有良好的導電性。3對于那些出現較

16、大突變電流的電路,要采用單獨接地的系統,以減小其他電路的瞬態(tài)耦合。4低電平接地線要和其他接地線隔離。5系統中數字地、模擬地應一點相連。6信號線電源線交叉的地方要使導線相互垂直。、7采用平衡差分電路,以晝盡量減小接地電路的干擾。、8低電平傳輸時要使用多層屏蔽。27 動復位與監(jiān)測技術 單片機的自動復位是單項獎片機抗干擾技術的一個重要方法。當單片機受到干擾后,可以按下人工復位按鈕,強制系統復位。如果操作者不能一直監(jiān)視著系統,不能進行人工復位時,系統就冰能正常運行。單片機的自動復位電路就可以解決上述問題。下面介紹幾種常用的自動復位電路。1 4060構成的自動復位電路4060是14級分頻計數器,構成的自

17、動復位電路如圖2-4所示。4060計數頻率由R和C決定。單片機的復位頻率由4060的計數頻率分頻(Q4Q14)而來,大小由此及彼由用戶自行設定。設Q4Q14輸出的信號周期為T0,單片機的P1.3定期輸出一個使4060復位的信號T1(使4060發(fā)不出掃描信號)。系統正常工作時,T0>T1;如果系統受到干擾,程序跑飛,單片機就不能正常發(fā)出T1信號從而使T1>T0,那么計數器的輸出信號使單片機自動復位。圖2-4 4060硬件看門狗電路2 采用MAX813L構成的自動復位與電源監(jiān)測電路MAX813L是MAX公司生產的uP監(jiān)控芯片。當單片機由干擾引起的系統失控時,為單片機提供可靠的上、掉電復

18、位、電源監(jiān)測、“看門狗”臉電源管理功能。采用MAX813L構成的自動復位電路如圖2-5所示。電路有兩種復位方式,即手動復位和“看門狗”自動復位,手動復位是通過復位鍵使系統復位的;使用“看門狗”自動復位電路時,程序在正常時,從0000H開始執(zhí)行,即在80C51系列單片機的RESET端加上一個持續(xù)兩個機器周期以上高電平信號使系統復位。每隔一段時間單片機就通過I/O口P1.0向MAX813L輸出一個脈沖,當單片機由于干擾等原因不能正常向MAX813L輸出復位脈沖時,MAX813L內部有一個定時器,定時時間到時MAX813L的/ RESET端將輸出一個脈沖給單片機的RESET端,使單片機各單位。當電源

19、電壓下降到界限值(4.4V)以下時,MAX813L的內部電源監(jiān)測電路將使/TESET端輸出一個低電平,使單片機復位。當電源電壓恢復到界限值(4.4V)以上時,單片機仍維持一段低電平,從而保證單片機能夠可靠地復位。圖2-5 MAX813L構成的自動復位電路第三章 單片機測控系統的設計要求31程序設計要求軟件的可靠性問題常常容易被人們忽視,但隨著單片機測控系統越來越復雜,工作環(huán)境干擾越來越嚴重,軟件可靠性問題逐漸為人們所重視。軟件的可靠性問題雖然和硬件的可靠性問題不盡相同,在基于單片機的測控系統中,軟件的重要性與硬件是處于同等重要的地位。單片機測控系統本身對程序設計的要求除了可靠、易理解、易維護、

20、準確和測試以外,還提出以下要求:(1)容錯性。在工業(yè)控制中,由于單片機測控系統所處的環(huán)境比較惡劣,常存在干擾源,如環(huán)境溫度、電場、磁場等,使數據采集不可靠、控制失靈或程序運行失常。當發(fā)生這些錯誤或故障時,測控軟件要能夠不受影響,從錯誤或故障中恢復,保證系統的正常進行。(2)實時性。實時性是測控系統的普通要求,即要求系統及時響應外部事件的發(fā)生,并及時給出處理結果。隨著電子技術的飛速發(fā)展,硬件的集成度與速度都在不斷提高,因此,這就要編寫相應的測控軟件來滿足實時性要求。在工程應用程序設計中,采用匯編語言要比高級語言更具有實時性。(3)足夠的時序裕度。時序是程序設計中必須考慮的問題。系統在中心控制器的

21、控制下,實現分時操作,在非握手控制方式下,程序運行完成依靠時序調度、切換控制,這就要求在編寫程序時,不僅要時序正確,而且要有足夠的時序裕度。32軟件抗干擾的特點由于軟件抗干擾的特殊性,單片機測控系統的軟件抗干擾技術與硬件抗干擾技術有著很大的不同,其主要表現在以下幾個方面。(1)軟件抗干擾的兩個作用。在兩種情況下需要應用軟件抗干擾:一種情況是為了提高系統的效能、節(jié)省硬件,用軟件的功能去代替硬件;另一種情況是用軟件去解決硬件解決不了的問題。大量的干擾源雖然不能造成硬件的破壞,但卻使系統工作不穩(wěn)定,數據不可靠,運行失常,程序“跑飛”,嚴重時可造成單片機系統失靈,發(fā)生嚴重的故障。一些不穩(wěn)定的因素產生于

22、生產的全過程中,實時控制系統往往是24個小時連續(xù)工作的,不允許斷電檢測。這些令工業(yè)控制系統大受困擾的問題不是硬件都能解決的,因為這些干擾信號大多數是瞬時存在,時間間隔不確定,傳播途徑不清楚,而單片機軟件卻能處理這些具有隨時性、瞬時性的干擾,例如在單片機電源電壓上,由于開關、繼電器和雷電的影響而形成的浪涌電壓,電源出現的瞬時欠壓、過壓、掉電,各內外因素產生的瞬間干擾脈沖都屬于這類干擾。(2)軟件抗干擾是一種價廉、靈活、方便的抗干擾方法。純軟件抗干擾不需要硬件資源,不改變硬件的環(huán)境,不需要對干擾源精確定位,不需要定量分析,因此使用起來靈活、方便。用于工業(yè)過程控制可很好地保證控制的可靠性。(3)用軟

23、件方法處理故障,實質上是采用冗余技術對故障進行屏蔽,對干擾響應進行掩蓋,在干擾過后對干擾進行多層次、多角度的預防、屏蔽和監(jiān)控。(4)應用軟件抗干擾,需要首先搞清楚干擾的種類、性質于影響的部位。然后對癥下藥,確定軟件抗干擾的方法,同時,要注意其具體實現的時間開銷等問題。例如用備份的方法來抗干擾,實際上是用軟件完成判別和轉換,付出的是備份的硬件設施,等于用增加空間來換取工作的可靠性;用軟件數字濾波代替硬件濾波,用重復取數、比較來判斷輸入、輸出數據的正確性,這種對付干擾的做法實質上是用時間抗干擾。對于付出的時間或空間,必須考慮系統能否承受的問題。(5)應用軟件抗干擾技術的前提是干擾尚未引起硬件的破壞

24、,RAM中的程序與數據未丟失。(6)高可靠、不停頓連續(xù)運行的容錯抗干擾工業(yè)控制單片機系統發(fā)展的必然產物,也是單片機系統發(fā)展的必經階段。33 軟件抗干擾的條件軟件抗干擾是屬于測試系統的自身防御行為。采用軟件抗干擾設計的最根本的前提條件是:系統中抗干擾軟件不會因干擾而損壞。在單片機應用系統中,由于程序及一些重要常數都放置在ROM中,著就為軟件抗干擾創(chuàng)造了良好的前提條件。因此,軟件抗干擾的設置前提條件概括為以下三個方面:(1)在干擾作用下,微機系統硬件部分不會受到任何損壞,或易損壞部分設置有檢測狀態(tài)可供查詢。(2)程序區(qū)不會受干擾侵害。系統的程序及重要常數不會因干擾侵入而變化。對于單機系統,程序及表

25、格、常數均固化在ROM中,著一條件自然滿足,而對于以下在ROM中允許用戶應用程序的微機系統,無法滿足這一條件。但這種系統因干擾造成運行失常時,只能在干擾過后,重新向ROM區(qū)調入應用程序。(3)ROM區(qū)中的重要數據不被破壞,或雖被破壞但可以重新建立。通過重新建立的數據,系統的重新運行不會出現不可允許的狀態(tài),例如,在一些控制系統中,ROM中的大部分內容時為了進行分析、比較而臨時寄存的,即使用一些不允許丟失的數據也只占極少部分,這些數據被破壞后,往往只引起控制系統一個短期波動,在閉環(huán)環(huán)節(jié)的糾正下,控制系統能很快恢復正常,這種系統都能采用軟件恢復。34 軟件技術存在于測控系統內部的干擾,具有隨機性,采

26、用硬件抗干擾措施,只能抑制某些干擾,但仍有一些干擾會侵入系統而引起系統不時地出現一些功能性故障,如:程序運行溢出形成死機,控制開機不起作用,產生誤動作或不按程序設定的邏輯順序動作,測試結果不能正常輸出,數據存儲區(qū)內個別或全部數據發(fā)生錯誤等。由于故障的特點是暫時、間歇和隨機的,用硬件解決比較困難。因此,對于單片機測控系統來說,除了采取硬件抗干擾方法外,還要采取必要的軟件干擾措施。常用到的軟件抗干擾技術有:(1)利用軟件陷阱技術防止干擾造成的亂序寬展下去。(2)利用時間冗余技術,屏蔽干擾信號。該技術包含多次采樣輸入、判斷,以提高輸入的可靠性;利用多次重復輸出判斷,提高輸出信息的可靠性;重新初始化,

27、強行恢復正常工作,以免影響輸入與輸出;查詢中斷源狀態(tài),防止干擾造成誤中斷;在不需要的大部分時間里對中斷進行屏蔽,從而大大減少因干擾引起的誤中斷。(3)容錯技術。采用一些特定的編碼,對經過存放的數據進行檢查,判斷是否是因為存放干擾,然后從邏輯上對錯誤進行糾正。(4)指令冗余技術。對重要的指令重復寫上多個,即使某一個被干擾,程序仍可執(zhí)行。(5)空間冗余技術。整機、電源、接口、數據區(qū)均可設置備份,軟件用于判別干擾和轉換設備。(6)設立標志技術。設置特征標志、識別標志,常在內部數據區(qū)的保護中使用。(7)數字濾波技術。該技術既可稱為硬件仿真(代替濾波器的功能)技術,又可屬于時間冗余技術。它不需要硬件,靠

28、單片機特殊設計的計算程序,高速、多次運算達到對采樣數據序列進行平滑的目的,以提高其有用信號在采樣值中所占的比例,減少乃至消除各種干擾和噪聲,以保證測控系統工作的可靠性。軟件抗干擾技術是當系統受干擾后使系統恢復正常運行或輸入信號受干擾后偽求真的一種輔助方法。因此,軟件抗干擾是被動措施,而硬件抗干擾是主動措施。但由于程序設計靈活,節(jié)省硬件資源,所以軟件抗干擾設計越來越引起人們的重視。在微機測控系統中,只要認真分析系統所處環(huán)境的干擾設計來源以及傳播途徑,采用硬件、軟件相結合的抗干擾措施,就能保證長期穩(wěn)定可靠的運行。第四章 可靠的程序本質可靠性程序設計是指程序可以不依靠附加部分就可以完成規(guī)定的功能。要

29、做到程序設計的本質可靠性,必須從以下幾方面著手。41 確保程序正確程序在編制和調試時對系統將來所處的環(huán)境不可能做到完全的模擬,因此,看似正確的程序,實際上還是存在一定的缺陷。這些缺陷,有的是顯性的,可以通過進一步的調試與仿真加以改進,還有是隱性的,如因為信號的延誤而造成程序的判斷錯誤。這就需我們在編制程序時,需作綜合、全面、動態(tài)的考慮,并讓程序有一定的容錯及限時退出能力。42 復位時序在系統中,通常需要復位的不僅僅是MCU,一些帶有工作寄存器的外圍器件也要復位。實際中經常出現的情況是各個器件共享同一根復位信號線,造成當單片機已經復位完畢并開始向其他器件寫控制字時,其他器件因為尚未完全復位,狀態(tài)

30、字也就未實際寫入,造成后續(xù)程序的運得、行錯誤。解決此種問題的方法是在主程序向外圍器件寫控制字前加入一小段延時程序,或者,在硬件上保證外圍器件先復位,MCU最后、復位,在整個系統完全復位后再寫入控制字。43 工作過程 器件工作時序是器件應用程序設計的基礎。程序中必須保證時序工作的正確性,而且,要有足夠的時序裕度。例如,語音芯片ISD4004在向其發(fā)出上電命令字后,必順延時20ms,才能發(fā)和續(xù)指令,這是由器件的工作特性決定的。在考慮器件運行時序時,MCU的操作必須保證時序信號的銜接控制和時序信號的時序裕度。1狀態(tài)轉換時序 在MCU應用系統的實際運行中,存在許多的狀態(tài)轉換過程,如低功耗運行方式的轉換

31、、電源系統的切換管理、外圍器件的關斷激勵與響應等。這些狀態(tài)轉換中有一個過濾過程,應用程序設計時,必須保證有足夠的時序空裕度。(1)應用系統中的狀態(tài)轉換時序。應用系統中的狀態(tài)轉換有MCU運行狀態(tài)轉換、外圍器件運行狀態(tài)轉換和電源系統的供電狀態(tài)轉換等。這些轉換時序有如下特點:自動保證時序空裕度的狀態(tài)轉換。這一類狀態(tài)轉換過程較短、或由器件邏輯控制電路來保證過渡過程的時序的時序裕度。例如一些帶關斷控制的AD轉換器,關斷后再次啟動時,內部邏輯電路可保證在電源或時鐘穩(wěn)定后才開始AD轉換。在許多MCU的狀態(tài)轉換中,MCU內部都會有相應的監(jiān)視管理操作。過渡參數可查的狀態(tài)轉換。這些器件其狀態(tài)轉換過程都有過渡參數說

32、明。例如,在許多帶關斷控制的DCDC器件中,都給出了輸出ONOFF控制的過渡時間參數。具有握手標志的狀態(tài)轉換。這些器件或電路的狀態(tài)轉換帶有一些臨測的電路,它可以輸出狀態(tài)轉換結束標志。具有握手標志的狀態(tài)轉換。這些器件或電路的狀態(tài)轉換帶有一些監(jiān)測的電路,它可輸出狀態(tài)轉換結束標志。(2)狀態(tài)轉換的程序設計處理在程序設計中,必須考慮狀態(tài)轉換時,過渡時期間對程序運行的影響。例如,采用可關斷DCDC供電的串行通信接口,在串行通信時,對DCDC供電操作后立即進入通程序,可能由于串行通信接口尚示進入穩(wěn)定狀態(tài),導致通信失敗。在狀態(tài)轉換的程序設計中,應根據狀態(tài)轉換的時序特點,進行精心的時序控制設計。通常,MCU本

33、身的狀態(tài)轉換,如復位、ID、PD方式的進入或退出,片內外圍集成電路單元的關斷與運行,都有自動監(jiān)視、自動運行管理功能。程序設計中只需按MCU數據手冊及指令系統的操作要求進行程序設計即可。對于有較長過渡時間的外圍狀態(tài)轉換過程,可采取足夠的延時時間等待或設置提前轉換狀態(tài)的辦法。在單片機應用系統中,有并行總線與串行總線,串行總線中又有通信總線與擴展總線。這些總線在規(guī)范化操作時,其時序由數據通信協議保證。在非規(guī)范運行,例如在虛擬總線方式下,其虛擬總線運行的可靠性在于時序的準確模擬。在并行總線中要保證讀寫操作指令運行下的讀寫時序;同步串行總線要保證時鐘線控制下的同步運行時序;串行異步時序則要考慮數據傳輸率

34、對數據傳送的影響。第五章 軟件抗干擾 在單片機測控系統中,過程控制需要頻繁地讀入數據或狀態(tài),而且還要不斷地發(fā)出各種控制命令或輸出數據到執(zhí)行機構,如繼電器、數控電機等。為了提高輸入輸出的可靠性,在軟件上要采用相應的措施。5.1 軟件陷阱采用指令冗余技術,可以使”跑飛”的程序恢復正常工作,但是這是有條件的,首先”跑飛”的程序必須落在程序區(qū),其次冗余指令必須得到執(zhí)行.如果”跑飛”的程序進入非程序區(qū),或在執(zhí)行指令前就已經形成一個死循環(huán),則采用指令冗余技術不能使”跑飛”的程序恢復正常,此時可以設定軟件陷阱.歲外軟件陷阱,其本質使一段攔截程序,當失控的程序運行至此后,可以將其迅速引向一個指定位置,在那里有

35、專門的錯誤處理代碼,使程序回到正確的程序段.5.2 軟件陷阱的形式軟件陷阱的最終目的使將失控的程序引至復位入口地址0000H或處理錯誤的程序入口地址ERR,在此處將程序轉向專門對程序出錯進行處理的程序,使程序納入正軌.軟件陷阱可以采用3種形式:形式一為:LJMP 0000P形式二為:LJMP 0202H形式三為:LJMP ERR根據亂飛程序落人陷阱區(qū)的位置不同,可選擇執(zhí)行轉到0000H、轉到0202H單元或轉到處理錯誤的程序入口地址ERR三種形式的其中之一,使程序納入正軌,指定運行到預定位置。程序形式軟件陷阱形式對應入口形式形式之一NOPNOP LJMP 0000H0000H:LJMP MAI

36、N;運行程序形式之二LJMP 0202HLJMP 0000H0000H:LJMP MAIN;運行主程序0202H:LJMP 0000H形式之三LJMP ERRERR 錯誤處理程序表一 程序形式5.3 軟件陷阱的防治措施 (1)在未使用的中斷向量區(qū)MSC-51單片機的中斷向量區(qū)為0003H002FH,如果系統程序未使用完全部中斷向量區(qū),則可以在剩余的中斷向量區(qū)安排軟件陷阱,以便埔捉到錯誤的中斷.具體做法是,開始此中斷,在中斷服務程序中設置軟件陷阱,就可以實現在對錯誤中斷的截獲.中斷服務程序須以RETI或LJMP返回。如某系統使用了兩個外部中斷INT0、INT1和一個定時溢出中斷T0,它們的中斷服

37、務子程序入口地址分別為FUINT0、FUINT1和FUT0,即可按下面的方式來設置中斷向量區(qū). ORG 0000H0000H START: LJMP MAIN LJMP FINT0 NOP NOP LJMP ERR LJMP FUT0 NOP NOP LJMPERR LJMP ERR NOP NO LJMP ERR LJMP ERR NOP NOP0030H MAIN: (2) 未使用的大片EPROM空間的處理 程序一般都不會占用EPROM芯片的全部空間,對于未使用完的芯片空間,一般都維持原狀,即使內容為0FFH,0FFH對于MSC-51單片機指令系統來說是一條單字節(jié)指令.如果程序”跑飛”到這

38、一區(qū)域,則將順利向下執(zhí)行,不再跳躍,因此在這段空間內每隔一段設置一個陷阱,就一定能捕捉到”跑飛”的程序。(3)表格 單片機程序設計中一般會遇到兩種表格:一類是數據表格,供“MOV A,A+PC” 指令或“MOVC A,+DPTR” 指令使用,其內容是一系列的3字節(jié)的指令LJMP或2字節(jié)的指令AJMP。由于表格的內容與檢驗索值是一一對應的關系,在表格中安排陷阱會破壞表格的連續(xù)性和對應關系,因此只能在表格的最后安排陷阱。如果表格區(qū)較長,則安排的陷阱不能保證一定能夠捕捉到“跑飛”的程序,這時只能借助于別的軟件陷阱或冗余指令來使程序恢復正常。(4)運行程序區(qū)程序區(qū)是由一系列的指令構成,不能在這些指令中

39、間任意的安排軟件陷阱,否則會破壞正常的程序流程。但是,對于一些指令中間常常有些斷點,正常的程序執(zhí)行到斷點處就不再往下執(zhí)行了,而此時PC的值應該發(fā)生正常跳變,如果在這些地方設置陷阱就有可能捕捉到“跑飛”的程序。例如,對一個累加器A的內容的正、負和零的情況進行三分支的程序,軟件陷阱安排如下: JNZ XYZ AJMP ABC NOP NOP LJMP ERRXYZ:JB ACC.7,UVW AJMP ABC NOPNOPLJMP ERRUVW: ABC: MOV A,R2RET NOPNOPLJMP ERR 如果程序采用模塊化設計的程序,可以主程序的各模塊之間設置指令冗余或將軟件陷阱放置在用戶程序

40、模塊之間空余單元里。程序正常時不會進入陷阱,而當出現異常而進入陷阱時是,有可以快速的跳轉到正確的位置。(5)RAM數據保護的條件陷阱單片機受到干擾嚴重的干擾時,可能不能正確地讀寫外部的RAM區(qū)。為解決這個問題,可以在進行RAM的數據讀寫之前,測試RAM讀寫通道的暢通性,這可以通過編寫陷阱實現,當讀寫正常時,不會進入陷阱,若不正常,則會進入陷阱,且形成死循環(huán)。實現程序為:CS:MOV A,#XXHMOV DPTR,#XXXXHXJ: MOV 6EH,#55HMOV 6FH,#0AAHNOPNOPCJNE 6EH,#55H,XJCJNE 6FH,#0AAH,XJMOVX DPTR,ANOPNOPM

41、OV 7EH,#00HMOV 6FH,0RET5.4 陷阱標志技術陷阱標志技術是對軟件陷阱技術的一種改進。上述在程序中設置軟件陷阱的方法可以在一般情況下提高系統的抗干擾性能,仁是在實時控制系統中卻無法勝任,原因在天系統對實時信號的處理推動了依據,同時不能自我修復,在無人值守的情況下,自動返回到因干擾而跨出的程序模塊更為困難。軟件陷阱標志技術與軟件陷阱技術最大的不同點在于:程序中設置了多個標志。執(zhí)行的不是一條轉移指令,而是根據標志情況轉移到某個地址的散轉到處理程序。軟件陷阱標志技術具有一定的自我挽救能力,它的安排和使用方法與軟件陷阱技術基本類似。第六章 實例設計6.1 硬件介紹在工業(yè)環(huán)境中,單片

42、機會因為干擾的存在引起PC錯誤,導致程序的跑飛,或陷入死循環(huán),此時,指令冗余技術、軟件陷阱技術和軟件陷阱標志技術都無能為力了,這時可以采用程序監(jiān)視定時器(WATCHDAG,WDT),俗稱“看門狗”措施。WDT通過不斷監(jiān)視程序每周期的運行事件是否超過正常狀態(tài)下所需的時間,從而判斷程序是否進入了“死循環(huán)”,并對系統進行復位。WDT可以由硬件實現,也可以由軟件實現,也可以將兩者結合起來。這時我以硬件形式介紹。MAX813L 是一款帶有WDT和電壓監(jiān)控功能可以保證當電源電壓低于1.25V時,產生掉電輸出。此外MAX813L還具有上電時自動產生200MS寬的復位脈沖、人工復位功能,是一款對CPU提供良好

43、保護的芯片。MAX813L芯片的各引腳功能描述如表二所示。通過設計,MAX813L可以實現“看門狗”功能以及對工業(yè)現場數據的保護。、引腳功能MR手動復位端。當該端有140MS低電平輸入時,MAX813L有200ms寬的復位輸出VCC工作電源,接+5VGND工作地端PFI電壓監(jiān)控端。當該端電壓輸入低于1.25V時,MAX813L的PFO端產生由高到低的變化PFO電源故障輸入端。正常時保持高電平;電源電壓變低時,輸出由高變低WDI喂狗信號。每1.6s之內要向該端輸送變化的信號;超過1。6S該端不變化,就有RETLW輸出RST復位信號輸出端。上電時產生200MS的復位脈沖;搬運復位端輸入低電平時,該

44、端也有復位信號輸出WDO看門狗信號輸出端。正常時保持高電平;看門狗輸出時,該輸出由高變低表二 MAX813L芯片引腳的功能該項電路實現程序監(jiān)控的原理是:通過把WO與WR直接相連,一量程序跑飛,WO 變?yōu)榈碗娖?,并保?40MS 以上。該項信號將MAX813L復位,同時看門狗定時器被清零、RST引腳輸出高電平,將單項獎片機復位。200MS結束后,單片機脫離復位狀態(tài),重新恢復正常的程序運行。該電路還具有上電使單片機自動復位功能,之后便自動監(jiān)視電源故障。若電阻R1的一端接的是未經穩(wěn)壓直流電源,PI接的是由R1、R2的壓值,當電源正常時,PI輸入大于1.26V,故障時,該值降低,電源故障輸出端PO的輸

45、出將由高電平變?yōu)榈碗娖?,引起單片機INT0中斷,CPU響應中斷,執(zhí)行中斷服務程序,實現數據保護、斷開外部用電電路等。在設計中斷服務程序時,由于INT0的中斷適量是以0003H,它有8個單元。若程序短,可把程序放在此處;若中斷服務程序長,可在此處入一條轉移指令,轉到處理程序。處理程序要先保存重要的數據到RAM(掉電時由備用電池供電),如指令“MOV DIRECT,DPTR”,發(fā)出控制信號斷開外部設備,最后把電源控制寄存器PCON的PD位置1,激活掉電工作方式,中斷返回。6.2 “看門狗”實例各種硬件形式的“看門狗”技術在實際應用中是被證明切實有效的。但有時,干擾會破環(huán)中斷方式控制字,導致中斷的關

46、閉,與之對應的中斷服務程序也就得不到執(zhí)行,硬件“看門狗”將失去作用。這時,可采用軟件“看門狗”鄧以配合。軟件“看門狗”的設計過程分為以下3部分:計數器0監(jiān)視主程序的運行時間。在主程序中設置一個標志變量,開始時,將該標志變量清零,在主程序的結束處,將標志變量賦給個非零值R 。主程序在開始處啟動計數器0,計數器件開始計數,每中斷一次,就將設在中斷服務程序中的記錄中斷發(fā)生次數的整型變量M加1。設主程序正常結束時,M的值勤為P(P值由調試程序使確定,并留有一定的裕度)。在中斷服務程序中,當M已等于P時,讀取標志變量,若其等于R,可確定程序正常,若不等于,則可斷定主程序已“跑飛”,中斷服務須修改返回地址

47、至主程序入口處。計數器1 監(jiān)視計數器0的運行,原理與(1)相同,通過在計數器0設置標志變量,每中斷一次,該變量要加1。計數器1 在中斷服務程序中查看該值是否是前一次的值加上一個常量或近似常量,并以此確定計數器0是否在正常計數。若發(fā)現不正常,則可斷定主程序已“跑飛”,中斷服務須修改返回地址至主程序入口處。主程序監(jiān)視計數器1。主程序在各功能模塊的開始處儲存計數器具的當前計數值于某一變量L,在功能模塊的結束處,若程序正常,則計數器1的計數值會改變?yōu)镻。通過前后L與P的比較,若值不同,則可確定計數器1正常;若L等于P,則計數器具 出現錯誤,主程序要返回0000H,進行出工錯處理。在實際應用中,可以將硬

48、件“看門狗”與軟件“看門狗”同時使用。實踐證明,將兩者結合起來后,程序的可靠會大大提高。軟件WDT和硬件WDT的組合設計硬件“看門狗”可以很好地解決主程序陷入死循環(huán)的故障,但若程序中中斷控制寄存器的內容被更改,導致中斷關閉,硬件“看門狗”則無法探測到這種故障;軟件“看門狗”的相互監(jiān)督機制可以保證對中斷關閉故障的發(fā)現和處理,但若單片機的死循環(huán)發(fā)生在某個高優(yōu)先級的中斷服務程序中,則顯得無能為力。利用軟硬件結合的“看門狗”組合可以克服單一“看門狗”功能的缺陷,實現對故障的全方位監(jiān)控。軟硬件結合的看門狗設計包括硬件和軟件兩部分,其硬件電路可以與圖中相同,也可以選擇其他的芯片或皎潔,這在設計上沒有特定的

49、要求。需要注意的是在其程序設計中,要通過編程以實現軟件“看門狗”的功能。這主要由下述的方式實現。T0、T1計數器工作在自動裝填的計數器狀態(tài),在主程序中設置變t0,t1,T0發(fā)生一次中斷,將t0加1,T1發(fā)生一次中斷,將t1加1。在主程序的功能模塊開始處記錄下t0,t1的當前值,設置計數器的計數周期,使之小于功能模塊的執(zhí)行時間,這種,在功能模塊的執(zhí)行周期內,計數器肯定會發(fā)生中斷,通過在功能模塊的出口處檢測這種變化來確定是否發(fā)生了中斷關閉的情況,并進行故障的處理。在實際中,有可能出現在功能模塊的執(zhí)行時間很短,其前后t0和t1未發(fā)生改變,為了把這種正常的工作狀態(tài)和故障區(qū)分開來,可以通過多次檢測的方法

50、或者有針對性的檢查定時器是否繼續(xù)計數,以避免出現錯誤的程序跳轉。“看門狗”設計中的注意事項(1)“喂狗”的時機 “喂狗”是指復位看門狗,使看門狗電路繼續(xù)起作用。喂狗不要加在MCU定時器中斷服務程序中,高度的時候可以這么做,但若系統已經高度完畢,就可將“別致狗”安排在:等待查詢的循環(huán)體內部耗時很大的函數體內部主程序任務隊列中。 死機多發(fā)生在程序的指令和數據錯位、PC跑飛等場合。因為處理器速度很快,如果跑飛的程序一被死循環(huán)套住,那么很容易自動重新復位的,但是很多情況下偏偏會被死循環(huán)套牢,那么就必須將依舊正常喂狗,這們看門狗依舊無法復位。(2)“硬狗”與“軟狗”的區(qū)別與作用“硬狗”實現冷啟動,“軟狗

51、”實現抽刀斷水啟動,從可靠消息來說,“硬狗”的可靠消息和作用都要比“軟狗”強。但“軟狗”也有它獨特的優(yōu)點,一般“軟狗”都使用定時器中斷,如果程序發(fā)生跑飛,在干擾不是特別嚴重的時候,也就是沒有破壞控制字時,“軟狗”溢出可將跑飛的程序截回,然后轉而執(zhí)行相錯程序,數據備份修復等相應的程序,之后在進入主程序,如果數據得到了很好修復就可以接著跑飛時處理的事件繼續(xù)運行,這樣一亂扣帽子情況下從外部看起來運行并沒有被打斷,這一點是“硬狗”做不到的,“硬狗”一量動作就必須從頭再來。但如果干擾太大,而“軟狗”不一定要加。但加了“軟狗”的程序肯定比不加要好,軟硬兼施肯定要強于只用“硬狗”或“軟狗”,這一點無可爭辯。

52、程序運行中的數據保護程序的正確運行離不開正確的數據,單片機內部寄存器、外部數據存儲 都會因干擾的存在或電壓的突然降低而被更改,因此,從提高軟件可靠性的角度來說,對單片機內部的寄存器尤其是中斷和外部數據存儲器進行保護,也是一項在設計中必須考慮的事項。6.3 中斷設計對單片機的中斷保護主要是針對某些高優(yōu)先級的中斷對低優(yōu)先級中斷數據的破壞,幾種常用的中斷保護措施有:利用堆棧保護中斷現場在中斷服務程序中,為保護主程序不被破壞,均要在服務程序的開始處將主程序需要使用的資源彈入堆棧,使用POP、PUSH指令可以方便地做到這一點。對堆棧的使用需要預防堆棧的溢出。MCS-51單片機的堆棧指示器復位值為SP=0

53、7H實際上將SP設置的這么低會給編程造成困難,可以用指令對SP重新賦值,例如MOV SP,#4FH,這時可利用的堆??臻g為50H70H。需要注意的是,單片機的堆棧資源非常有限,所以在編程中要晝避免多重調用子程序、程序的嵌套和遞歸。工作中的寄存器保護 MCS-51單片機有寄存器組,每個寄存器組有寄存器R0R7,被稱為工作寄存器。 他們都可以做通用寄存器使用,且建起方式多樣。程序使用哪一個寄存器組是由PSW的D3、D4位確定。為避免主程序和中斷服務程序對各自工作寄存器的相互干擾,編程時,可以讓主程序使用寄存器組0,低優(yōu)先級國斷服務使用寄存器組成部分,高儔級中斷使用寄存器組2。在中斷服務的開始處就須

54、將PSW彈入堆棧,并重新設置PSW的D3、D4指定中斷服務使用的寄存器組,在退出中斷服務時相應的要將PSW彈出堆棧,并恢復中斷現場。公用數據區(qū)的保護公用數據也即程序均可訪問的數據。使用公用數據的缺點是存在對公用數據有期望的修改這個隱患,而且,這種情況的發(fā)生很不容易被發(fā)現和調試。參考下面的C示例程序: int var void main() ;var=10;sub1();SUB2(VAR,);void sub1();for(var=15;var>0;var-);在上面的示例中,var 是全局變量,在主程序中稱被除數賦值,子函數sub1中需要利用var 的值實現循環(huán),但在執(zhí)行循環(huán)體的過程中,

55、var的值被更改,于是傳遞到sub2中的vat值已經不是期望的輸入,程序的輸出也就晃正確了。為預防一些子函數對全局變量值的更改,可以在子函數的內部設置一變量,并將全局變量的值賦給該變量,于是子函數中涉及到對全局變量的操作全部改為對子函數中局部變量的操作,這樣可保證全局變量的值不被更改。對上面的示例程序,可對sub1作如下修改:Void sub1() int temp;Temp=var;;For (temp=15;temp>0;temp-);對作片選功能的I/O線必須保護在設計中,某些I/O口用作片選,用以在不同的狀態(tài)下選擇不同的芯片,例如某I/O口低電平時選中液晶控制器,高電平時選中譯碼

56、器。在程序中,會出現這樣的情況:在主程序正處于對液晶的操作過程中發(fā)生中斷,程序轉入中斷服務中去;在中斷服務程序中,需要選中譯碼器,于是作片選的端口值被改變以選中譯碼器。在中斷服務結束后,主程序繼續(xù)對液晶進行操作,但由于中斷已經更改了端口值,液晶此時此刻是處于非選中狀態(tài),因此,主程序就會得到錯誤的結果。對此類隱藏故障的解決,首先在硬件設計上晝避免中斷服務和主程序共享硬件端口,其次,在程序設計尤其是中斷服務退出前,要注意對硬件端口的恢復,保持中斷前后主程序狀態(tài)的穩(wěn)定。充分使用芯片的節(jié)電功能或掉電模式某些外圍芯片具有掉電模式,使用掉電模式可以保護芯片的內部寄存器不被更改。因此,對于此類外圍芯片,應該在確實要對其操作時才讓其進入供電模式,在不對其操作時使其進入節(jié)電模式。6.4 上電方式上電方式辨別即根據某些信息來確定是以體積方式進入0000H單元的,是以上電復位還是故障復位。通常可以采用軟件設置上電標志的方式來判斷。軟件設置上電標志是利用單片機上電復位后某些寄存器的值或在RAM 中預先廟宇的標志位作為上電標志,對于軟件復位的情況,這些位在設置后即使復位了也不會改變,因此在程序開始處檢測這些標志位,若改變了即可認為是上電復位;若未改變則認為是軟件復位。可以利用PSW、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論