性猛交XXXX乱大交派对,四虎影视WWW在线观看免费 ,137最大但人文艺术摄影,联系附近成熟妇女

產(chǎn)品推薦:氣相|液相|光譜|質(zhì)譜|電化學(xué)|元素分析|水分測(cè)定儀|樣品前處理|試驗(yàn)機(jī)|培養(yǎng)箱


化工儀器網(wǎng)>技術(shù)中心>專業(yè)論文>正文

歡迎聯(lián)系我

有什么可以幫您? 在線咨詢

靜電放電固件和軟件設(shè)計(jì)原則

來(lái)源:深圳市華瑞高電子技術(shù)有限公司   2010年06月22日 00:15  

靜電放電固件和軟件設(shè)計(jì)原則

看到這個(gè)題目后,許多讀者會(huì)吃驚,在對(duì)付靜電放電方面,除了*的硬件方法以外,固件和軟件也起著重要的作用。
  雖然固件設(shè)計(jì)不能防止系統(tǒng)中器件的損壞,,但是能夠有效地避免一些非*性的損壞。通過(guò)適當(dāng)寫入的固件,不可恢復(fù)的設(shè)備故障(死鎖)通常可以避免,可恢復(fù)的故障也可以減少10倍。
  如同硬件上的靜電放電措施一樣,抗靜電放電的固件也是有代價(jià)的。通常,程序會(huì)更大一些,這意味著需要更長(zhǎng)的編程時(shí)間和存儲(chǔ)單元。權(quán)衡得失時(shí),要將這種代價(jià)與單純依靠硬件解決靜電放電問(wèn)題時(shí)的成本做對(duì)比。在許多微處理器的應(yīng)用中,固件措施的成本要比硬件低。
  在編寫靜電放電抗擾性強(qiáng)的固件時(shí)一定要樹立的的一個(gè)觀念是“不確定性”。也就是,一定不能認(rèn)為端口、寄存器等的狀態(tài)是一定的。例如,當(dāng)使用一個(gè)索引寄存器時(shí),應(yīng)該問(wèn)一下,如果這個(gè)索引發(fā)生錯(cuò)誤時(shí),會(huì)發(fā)生什么問(wèn)題。如果僅是僅發(fā)生一些暫時(shí)的或無(wú)關(guān)緊要的問(wèn)題,如發(fā)光二極管閃爍,則不需要什么特殊的處理。如果會(huì)發(fā)生很嚴(yán)重的問(wèn)題,例如系統(tǒng)發(fā)生死鎖,則必須采取措施來(lái)避免問(wèn)題的發(fā)生。
  固件(軟件)靜電放電措施可以分為兩類:
    * 刷新
    * 檢驗(yàn)和重新寫入
  下面從概念上討論每種措施,并給出一些例子。由于不可能預(yù)見(jiàn)到所有的特殊情況,要使固件能夠抵抗靜電放電,設(shè)計(jì)人員必須對(duì)整個(gè)系統(tǒng)有一個(gè)全面的了解。雖然下面的討論主要針對(duì)固件,但是其中的許多概念對(duì)于軟件設(shè)計(jì)也是適用的。
  刷新:
  進(jìn)行刷新時(shí),程序員不關(guān)心過(guò)去的情況,而僅是用確定的數(shù)據(jù)來(lái)保證今后的狀態(tài)。例如,在從8409的端口讀取數(shù)據(jù)時(shí),一定要先向端口寫入數(shù)據(jù)。即使這個(gè)端口從上次更新以后一直沒(méi)有改寫,也要進(jìn)行這個(gè)步驟。絕不要認(rèn)為端口上還保留著上次寫入的數(shù)據(jù)。刷新時(shí)需要考慮的其它因素包括:
  A) 按照一定的時(shí)間間隔打開中斷使能端(在8049中是RETR,在8051中是RETI)
  B) 當(dāng)端口用于串行數(shù)據(jù)輸出時(shí),刷新停止位的電平。
  C) 刷新鎖存器和端口輸出狀態(tài)。
  D) 定期讀取控制和選擇輸入,保證系統(tǒng)工作在適當(dāng)狀態(tài)。
  E) 對(duì)于8049和8051處理器,每個(gè)程序環(huán)路中至少有一條寄存器選擇指令。

  在進(jìn)行刷新時(shí),另一個(gè)需要考慮的因素是刷新的順序。有時(shí),刷新的順序十分重要。例如,在同步輸入/輸出中,數(shù)據(jù)線一定要在時(shí)鐘線之前刷新。否則,經(jīng)過(guò)刷新的時(shí)鐘會(huì)使數(shù)據(jù)位丟失。如前所述,一定要考慮在錯(cuò)誤條件下每條指令的順序。
  檢驗(yàn)和復(fù)位:
  有時(shí),單純刷新還是不夠的。在有些情況下,刷新甚至?xí)谏w一些嚴(yán)重的問(wèn)題。在這些情況下,寄存器、端口等需要通過(guò)檢驗(yàn)來(lái)確認(rèn)其狀態(tài)。如果狀態(tài)不對(duì),程序應(yīng)該試圖對(duì)其進(jìn)行更正。
  進(jìn)行復(fù)位(或初始化)時(shí)一定要非常謹(jǐn)慎。雖然系統(tǒng)的狀態(tài)可能有疑問(wèn),但是將系統(tǒng)*初始化并不是一個(gè)好方法。這會(huì)丟失所有過(guò)去的數(shù)據(jù)。應(yīng)該遵守的原則是,使系統(tǒng)處于zui可能的狀態(tài),而這個(gè)狀態(tài)應(yīng)該使問(wèn)題的危害zui小。如果有些關(guān)鍵的項(xiàng)目沒(méi)有zui可能的狀態(tài),則應(yīng)該將其狀態(tài)保留起來(lái)。這便于以后采用投票的方式來(lái)確定當(dāng)前狀態(tài)。通常,“3取2”的投票方式就可以了。
  檢驗(yàn)函數(shù)通??梢苑譃?類。特別要做以下檢驗(yàn),如果發(fā)現(xiàn)錯(cuò)誤,需要初始化。
  A) 檢驗(yàn)程序流是否正確:
   1) 在主程序中,在子程序返回前,要定期檢驗(yàn)子程序堆棧指針,以確認(rèn)子程序在預(yù)定的范圍內(nèi)運(yùn)行。
   2)如果不檢查堆棧指針(或在檢查堆棧指針的基礎(chǔ)上),可以使用“標(biāo)牌”來(lái)幫助發(fā)現(xiàn)程序運(yùn)行中的問(wèn)題。當(dāng)進(jìn)入一個(gè)子程序時(shí),保存標(biāo)牌,當(dāng)離開子程序時(shí),檢查這個(gè)標(biāo)牌。
   3)在禁用區(qū)域中安排“陷阱”碼,例如編碼表或無(wú)用的中斷矢量。當(dāng)程序要執(zhí)行這些碼時(shí),就被抓?。ɡ缭谖词褂玫谋砀裰邪才欧祷刂噶睿?br />為了檢查程序流是否正常,在程序中還應(yīng)該包含以下兩個(gè)子程序:
   4) 為了確認(rèn)主程序運(yùn)行正常,應(yīng)該有一個(gè)永遠(yuǎn)不會(huì)停止和失效的計(jì)時(shí)程序。
   5)主程序應(yīng)定時(shí)檢查上面的定時(shí)程序,確認(rèn)其是否運(yùn)行正常(如果微處理器沒(méi)有內(nèi)置的計(jì)時(shí)器,可以使用外置的硬件“看門狗”電路。當(dāng)處理器沒(méi)有按時(shí)將計(jì)時(shí)器復(fù)位時(shí),外置電路會(huì)將處理器復(fù)位)。

  B) 檢驗(yàn)存儲(chǔ)的數(shù)據(jù)和信息是否正確
   1)定期對(duì)保留的項(xiàng)目進(jìn)行表決,如果沒(méi)有一致性,進(jìn)行初始化。特別,狀態(tài)標(biāo)志(特別是使能標(biāo)志)要保留有備份。除了備份以外,還可以使用糾錯(cuò)碼。
   2) 對(duì)于索引和其它一些十分重要的寄存器,在使用其所存儲(chǔ)的數(shù)據(jù)之前,要對(duì)其數(shù)值或范圍*行檢查。
   3) 如果關(guān)鍵數(shù)據(jù)很多而不適合備份,或者無(wú)法檢驗(yàn)所有信息時(shí),可以用檢驗(yàn)和或周期性冗余檢驗(yàn)(CRC)來(lái)對(duì)數(shù)據(jù)塊檢驗(yàn)。

  C) 對(duì)輸入和輸出進(jìn)行檢驗(yàn)
   1) 利用各種方法,如奇偶校驗(yàn)、檢驗(yàn)和等,對(duì)輸入進(jìn)行檢驗(yàn)
   2) 確認(rèn)輸入數(shù)據(jù)的合理性,有些數(shù)據(jù)可能有明顯的錯(cuò)誤。 
   3) 對(duì)所有輸入級(jí)電平至少取樣兩次以實(shí)現(xiàn)對(duì)噪聲的“軟件濾波”
   4) 通過(guò)使接收機(jī)響應(yīng)輸出級(jí)來(lái)進(jìn)行校驗(yàn)輸出端
   5) 接收裝置應(yīng)能識(shí)別所有有效的輸入信號(hào),如果接收裝置不能識(shí)別,那么發(fā)送裝置應(yīng)具有再傳輸能力。
  如果以上措施均不能正確檢查,則要求能自動(dòng)恢復(fù)。當(dāng)然,這種恢復(fù)能力通常不能與加電(或硬件)復(fù)位過(guò)程中的初始化程序不同,RAM不應(yīng)清除掉。實(shí)際上,由于靜電放電(ESD)而使錯(cuò)誤程序反向復(fù)位時(shí),執(zhí)行硬件初始化程序不應(yīng)妨礙處理器的工作。這通??梢酝ㄟ^(guò)檢查執(zhí)行硬件復(fù)位程序的標(biāo)志寄存器的優(yōu)先級(jí)來(lái)完成。如果已經(jīng)設(shè)定標(biāo)志,則應(yīng)避免*復(fù)位。當(dāng)主程序執(zhí)行時(shí),此標(biāo)將被重新設(shè)定,一般僅被處理器的實(shí)際硬件復(fù)位所清除。特別地,通常應(yīng)按以下步驟來(lái)完成復(fù)位:
  1、復(fù)位子程序堆棧指針。
  2、復(fù)位FIFO指針。
  3、復(fù)位計(jì)數(shù)器。
  4、阻止可疑碼的傳輸。
  5、在復(fù)位完成時(shí)才允許中斷,然后再重新啟動(dòng)計(jì)數(shù)器。
  6、復(fù)位中斷不確定的標(biāo)志
  7、刷新輸出。
  8、如果主機(jī)系統(tǒng)接受復(fù)位,使其發(fā)磅一代碼以通知復(fù)位已完成。那么,主機(jī)就可以采取措施來(lái)確保系統(tǒng)的
        所有部分都諧調(diào)一致地工作。
  9、當(dāng)然,復(fù)位程序必須清除引起復(fù)位動(dòng)作的具體問(wèn)題。
    
  上述大部分討論假定系統(tǒng)正處于執(zhí)行程序的狀態(tài)中(盡管不一定正確),`如果程序包括表格,處理器可能會(huì)盡力去執(zhí)行這些單元值并將其作為指令。從理論上講,內(nèi)存單元值可能會(huì)引起看門狗計(jì)數(shù)器停止計(jì)數(shù),從而使處理器進(jìn)入死循環(huán)。對(duì)于這種情況,可將邏輯分析儀接到地址總線,這樣有可能找到問(wèn)題的癥結(jié)所在。循環(huán)期間的一個(gè)內(nèi)存單元值應(yīng)由一個(gè)返回指令來(lái)代替。這一般會(huì)使處理器跳出循環(huán),于是程序可能會(huì)發(fā)生變化,因此,被替換的單元值便經(jīng)過(guò)特殊方式進(jìn)行了處理。(如果有可能的話,空閑的內(nèi)存單元地址應(yīng)用于控制這個(gè)返回操作碼。實(shí)際上,如前處述,將返回碼填滿所有空閑地址是極有可能的。)當(dāng)然,這個(gè)邏輯分析儀也能夠發(fā)現(xiàn)程序其他部分的死循環(huán)。然而,如利用帶有偽程序的單片微處理器來(lái)進(jìn)行設(shè)計(jì),那么地址總線將變得無(wú)效。這種情況下,在調(diào)試后,程序可以在仿真系統(tǒng)中具有“靜電放電加固”的性質(zhì)。一旦程序被調(diào)試好且運(yùn)行正常的話,它就可隨意改變寄存器的值以模擬靜電放電效果。
  程序計(jì)數(shù)器是很關(guān)鍵的,應(yīng)被設(shè)置成隨意值。而且,子程序堆棧指針應(yīng)設(shè)置成變量值。通過(guò)在仿真過(guò)程中作這些變化且不影響結(jié)果,許多潛在的問(wèn)題都可以得以發(fā)現(xiàn)。這種方法并不總是有效的,但帶有特殊問(wèn)題的系統(tǒng)是不允許的。應(yīng)用這些原理,與固件相關(guān)的靜電放電問(wèn)題相對(duì)來(lái)說(shuō)會(huì)很少的。

 

免責(zé)聲明

  • 凡本網(wǎng)注明“來(lái)源:化工儀器網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-化工儀器網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使用,并注明“來(lái)源:化工儀器網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責(zé)任。
  • 本網(wǎng)轉(zhuǎn)載并注明自其他來(lái)源(非化工儀器網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品第一來(lái)源,并自負(fù)版權(quán)等法律責(zé)任。
  • 如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
企業(yè)未開通此功能
詳詢客服 : 0571-87858618
理塘县| 铅山县| 北碚区| 彝良县| 鹤峰县| 乾安县| 巴林左旗| 江孜县| 南平市| 时尚| 龙南县| 龙泉市| 中方县| 通渭县| 永安市| 临桂县| 昆明市| 印江| 尚义县| 泉州市| 叙永县| 鹤山市| 宁明县| 北碚区| 宣恩县| 方正县| 卓资县| 阿巴嘎旗| 台东市| 黄陵县| 浦北县| 巴林左旗| 康定县| 克东县| 海南省| 台北市| 威远县| 浑源县| 灵山县| 察雅县| 金平|