單片機系統設計_第1頁
單片機系統設計_第2頁
單片機系統設計_第3頁
單片機系統設計_第4頁
單片機系統設計_第5頁
已閱讀5頁,還剩159頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第11章

應用系統設計

技術與實例

設計自己的單片機系統

第11章應用系統設計技術與實例

?11.1單片機應用系統開發流程)

,11.2抗干擾設計|

*11.3應用舉例|

概述

本章從單片機應用開發的一般步驟入手,著重介紹

總體設計、硬件設計、軟件設計、開發裝置的使用

與系統調試、編程器的使用與程序固化、產品驗收

信鑫曹躺副支鎏蕭方需蒙胃酸靠菖鬻磕

開發實例以便模仿。

。內容上貼近實際,注意對自上而下的任務逐級分解

過程的介紹,力圖按工程的要求,使開發進程有條

不紊,有理有據,文檔齊全。由于篇幅限制,許多

地方只能簡略介紹。

11.1單片機應用系統開發流程

單片機應用系統設計的一般步驟可以分為以下幾個

階段:

?1.總體設計;

2,硬件設計;

3.軟件設計;

4.可靠性設計;

。5.保密性設計;

6.軟硬件調試;

?:*7.文檔編制等。

11.1.1總體設計

1.用戶需求分析

對用戶提出的功能需求、技術指標等,進行必要的可行性論

證。明確設計任務,并以書面形式確定以下幾方面的內容,

經用戶認可,形成設計任務書。

(1)產品名稱;

(2)設計目的;

(3,系統功能要求

(4)系統性能指標

(5,總體要求;

(6)設計周期;

(7)設計費用;

(8)其他。

2.構建系統總體架構1

根據設計任務書的要求,在滿足功能、性能等用戶

需求的基礎上,初步提出可選技術路線,并對各方

案進行必要的分析,充分聽取方方面面的意見,選

擇一種實施方案。

。實施方案中的系統總體架構應以用戶需求為出發點。

主要包括:選擇機型;根據需要確定擴展;確定主

要的軟硬件功能;明確用戶界面(鍵盤、顯示、打印

等)的形式;確定系統的結構(或建議,經用戶確認);

單片機內部資源分配及任務分解。

2.構建系統總體架構2

。在總體設計階段應形成總體報告(實施方案)

和設計任務書。報告形成后,就可分成兩組

進行同步設計了。第一組負責硬件,第二組

負責軟件,兩個組由項目負責人協調。有的

時候項目較小或者其它原因,只有一個人,就要

先設計硬件部分,然后交給線路板廠制版,在此

期間開始軟件設計。

2.構建系統總體架構3

硬件設計除了主要完成PCB線路板設計外,還應考

慮可靠性和保密性,最終形成PCB圖、元器件清單、

網絡表、端口地址表等技術文檔;軟件設計主要完

成軟件功能模塊劃分、出口/入口參數定義、最終

形成程序(子程序)框圖、源程序清單等技術文檔。

。軟硬件調試必須由軟硬件設計人員共同參與,形成

調試報告。最后向用戶提交產品、產品說明書等。

焊接,

元件“

圖11-2新的產品開發流程圖

現在有了proteus軟件,不等做出電路板就可以

提前進行功能測試,大大節省了時間和金錢成本,

其流程可以修改成如上。

11.1.2硬件設計和制作

。硬件設計是從總體報告和設計任務書出發,設計任

務依次為:硬件原理圖繪制、PCB板圖繪制、印制板

測試與焊接三大塊。

硬件設計的任務是將在總體設計時明確的要求用具

體電路實現,其中包括:系統擴展、元件選擇(必要

時還要進行局部電路的驗證實驗)、設計原理圖、印

制板制作等。

硬件設計(包括硬件原理圖和PCB圖)目前基本上采用

計算機輔助設計(CAD,ComputerAidedDesign)o

常用的電子線路CAD軟件有Protel、Oread等,現在

有了proteus,單片機系統的設計就更加方便了。

11.1.2硬件設計和制作

。硬件原理設計是系統設計開始后最重要的第一步。

硬件原理設計中存在的缺陷將對整個設計產生影響,

所以原理設計要特別細心周到。

。原理設計完成后,將產生硬件原理圖、網絡表、元

件清單等重要文檔,這些文檔是后續工作的基礎。

在硬件原理圖基礎上,可以采用CAD自動布局、自

動布線來自動地完成印制板繪制。通過印制板和原

理圖各自生成的網絡表,可以驗證所繪制的線路板

與原理圖是否一致。網絡表還用于檢查生產出來的

印制板上線路的通斷。

11.1.2硬件設計和制作

。此外,硬件原理圖還是硬件調試(甚至軟硬件

聯調)時查錯、糾錯、分析故障點的必不可少

的圖紙。正確的原理設計幾乎是硬件設計成

功的標志。

。本節從技術角度出發,將其細分為在設計中

應重點考慮的六個方面的問題。

1硬件原理設計1

。硬件原理設計的任務是設計并繪制硬件原理圖,主

要應從以下幾個方面考慮。

。(1).最小應用系統設計

?包括微處理器的選擇、程序存儲器的選擇、晶振的

選擇、總線是否驅動、復位電路的設計、內部資源

(如定時、計數、中斷)的使用等。

。(2).I/O通道設計

。包括開關量I/O通道,接口電路、端口地址等問題,

模擬量I/O通道中A/D、D/A轉換芯片的選擇等。

(3).人機界面設計

。人機界面設計包括鍵盤、顯示和打印電路及其接口

設計。

1硬件原理設計2

(4).其他系統擴展設計

。根據系統需要擴展外部RAM、ROM、定時/計數、

中斷管理、串行口擴展等。

。(5),電源設計

。根據系統的供電要求和使用環境,確定供電方案。

比如手持式設備往往需要電池供電;有的設備需要

備用電源等。交流供電也要設計變換電路,可以選

擇模擬穩壓電源或開關穩壓電源等。

(6).接插件定義

。確定線路板之間的數據通信形式,包括接插件的類

型,接插件管腳定義等。

2資源分配

。完成了原理設計之后,硬件資源就基本確定了,適

時地進行資源分配,對后續工作能起到很好的限定

作用。止匕外,在資源分配時能及時發現資源的利用

情況,一方面減少資源浪費,另一方面發現資源不

足,及時修正原理設計中的潛在問題。

?資源分配的主要任務是對單片機內部RAM、2(或

個定時/計數器、5(或6)個中斷源、1個全雙工異爰

串行口、4個并行I/O口哮單片機內部資源及擴展資

源逐個分析其用途、工作方式、工作起止時間和限

定條件,分配端口地址等。

3線路板圖繪制

。原理圖最終還要通過CAD軟件繪制出線路板

圖才能交付生產,這個工作要在仿真實驗完

成之后進行,否則可能會白白浪費時間和金

錢。在繪制線路板時一定要注意以下幾個問

題。

(1).器件的布局原則

。器件布局是指在線路板上布置元器件的位置。在電

路板設計時應合理地分區,如強、弱信號,數字、

模擬信號,輸入、輸出通道等安排在不同區域,盡

可能使干擾源(如電機、繼電器)與敏感元件(如單片

機)遠離,應考慮走線的密度均衡、發熱均衡等因素。

除了按用戶要求的鍵盤、顯示等器件的位置已確定

外,其他器件最好是環繞CPU或在CPU引出的總線

兩側。

(2).布線原則1

①布線時應注意大電流線路的線徑應確保可以通過

該電流,并有一定余量,在可能的情況下盡量加大

線徑。

②走線要合理,地線構成閉環多數情況下能明顯地

提高抗干擾能力。

③三總線分開,減少互感振蕩。.一■

。④模擬地與數字地分開走線,最后在一點處匯合(一

點接地)。

(2).布線原則2

?:?⑤單片機和大功率器件的地線要單獨接地,

以減少相互干擾。大功率器件盡可能放在電

路板邊緣。

。⑥有條件應盡量采用四層以上印制板,中間

兩層為電源及地。

(2).布線原則3

。⑦當大電流線寬到一定程度時,由于占用線路板資

源太多,一般采用粗導線“跨接”的方法,這樣不

僅節省了線路板資源,而且避免了由于大電流導致

線路板被“加熱”。

。⑧走線應避免出現直角或銳角,以減少高頻噪聲發

射。

。⑨注意晶振布線,晶振與單片機引腳盡量靠近,用

地線把時鐘區隔離起來,晶振外殼接地并固定。

(3).電路可靠性措施

。①減少多余的過孔,減少線路板不可靠因素。

。②在允許的范圍內盡量加大線和線、線和盤(焊盤)、

孔(過孔)和盤的距離。

◎防止叁路板制作時的毛刺及阻焊材料不良造成的

諳接問施或隱患。

。④盡量采用獨立系統結構,減少接插件與連線,提

高可靠性,減少故障率。

⑤集成塊最好直接焊在印制板上,防止器件接觸不

良故障。必須用插座的集成塊與插座接觸要可靠,

如采用雙簧插座。

。⑥對于單片機閑置的口,不要懸空,根據要求上

拉至高電平或下拉至I低/O電平,有囪可以直接接地或

接電源,其他I/O的閑置端在不改變系統邏輯的情況

下也要如此處理。

4.可靠性設計

單片機應用系統的可靠性是指在指定的應用環境和

條件下,系統穩定工作的能力。

單片機應用系統由于具有很高的性能價格比,已逐

步深入到各個領域,對單片機系統工作的可靠性也

就提出了越來越高的要求。因為系統一旦出現問題,

將帶來一系列損失,產生嚴重的后果。

提高系統的可靠性可以從兩方面入手,一方面從硬

件設計角度提高系統抗干擾能力,另一方面從軟件

角度提高系統的可靠性。具體措施在下一節詳述。

5保密性設計

:單片機應用產品多數采用雙面板,線路板上走線一

目了然,很容易將線路板測繪出來。保密設計多采

用以下兩種方法:

。(1).程序加密:將程序固化在單片機內部的方法。選

用內含程序存儲器帶“加密”位的單片機,這樣做

的結果是使得解密變得麻煩,提高解密成本。

(2),可編程邏輯陣列加密:PAL、GAL等小規模可編

程邏輯陣列在單片機應用系統中很實用,可以直接

取代TTL組合邏輯,且多數PAL、GAL器件可以設

置加密(不可讀),使“仿制”者不能輕易得手。

6硬件線路板的焊接與測試

。⑴.線路測試

?:*PCB板生產出來后,首先要目測,觀察線路

板有無斷線、毛刺、焊盤/過孔偏心、線路

搭接等問題(一般的線路板生產廠在出廠前均

作過檢查);其次根據打印出的網絡表逐個檢

查每個網絡是否導通。

Q提示:由于一般情況下都不會有問題,很多

開發者都不愿做上述煩瑣的工作。但是將元

件焊上后,一旦發現問題再查線路時,由于

在板元件的影響,檢查難度很大。

6硬件線路板的焊接與測試

.:.(2),元件焊接

?:?對于產品開發,IC多采用焊IC座的方法,便于線路

修改。如果是批量生產的產品,除了易損壞的IC之

外,為了確保硬件線路的可靠性,應把IC直接焊在

線路板上。在元件焊接時,要注意避免漏焊、錯焊

禾口及旱

。思善:。手工焊接水平的提高需要很好的訓練。

.:?(3).局部線路測試

*局部線路測試是通過編寫測試程序,檢查局部硬件

線路能否正常工作。如果不能正常工作需查找問題

笄解決。

11.1.3軟件設計

?:?軟件設計是對我們耐心和毅力的考驗,許多

細節問題是比較繁瑣的。首先要進行軟件任

務劃分,數據類型規劃,資源使用約定,模

塊功能定義以及模塊接口定義等軟件總體設

計工作。軟件的開發過程可以套用軟件工程

的要求。除此之外,還有一些單片機系統開

發的特殊性。

1軟件設計的前期準備

?(1).模塊功能定義

主要是根據項目的功能要求來確定整個程序的功能,

并將這些功能分解成若干子功能,確定完成這些功

能的程序模塊,還要確定各個模塊之間的關系和數

據傳遞方式等,使其成為一人有機的整體。模塊功

能定義包括:單片機的初始化模塊、主控程序模塊、

程序中使用的一些模塊/子程序/中斷月修子程序

母。規定其執行(觸發)條件、入口/出口頭數、子

程序完成的具體功能等。這些計劃在具體編程的過

程中還有可能進行局部修改。

1軟件設計的前期準備

*(2).規劃數據類型并形成數據類型字典

?規劃數據類型是為了保證數據類型的一致性。數據類型可以

分為邏輯型和數值型,邏輯型數據通常歸入軟件標志,數值

類型可分為定點數和浮點數。使用定點數的優點是直觀、編

程簡單,缺點是數值范圍小。浮點數則相反。還要進一步規

定數據是二進制還是BCD碼或壓縮BCD碼。如果是定點數還

要指明是定點整數還是定點小數。參數的數據類型確定了以

后,需形成數據類型字典,供編程時查閱。制定規劃還要留

有一定的余地,以便編程過程中根據需要來增減。

1軟件設計的前期準備

*(3).內存資源分配的確認

?:?硬件設計中已經將單片機的資源基本分配完畢,軟件設計中

的資源分配主要是將還未具體分配的各RAM單元進行合理分

配,尤其是片內RAM。例如,規定工作寄存器的使用。規定

需要使用哪些標志,占用從20H開始的幾個字節用來存放這

些標志位。其余RAM單元可以存放字節信息(包括20H到2FH

單元未被用于標志的單元),這些單元的使用還要扣除堆棧

區。單片機內部其他RAM單元對多數開發應用來說是夠用的。

51子系列內部RAM單元不夠用可以用52子系列,應確保單

片機內部RAM均被用于存放最常用的變量。

1軟件設計的前期準備

。RAM資源初步劃定后,工作進程中可能發現

某些資源分配不盡合理,需要局部改動或增

減。RAM資源的管理最好通過偽指令定位的

方法,避免使用直接地址,這樣,可以很方

便地進行修改。

?:?程序規模的估計,因為單片機的存儲器數量

有限,再好的程序沒有地方存放也是不行的。

2系統監控程序設計

.:.監控程序其實就是主程序,監控的任務簡單地說主要

是調度:根據當前單片機內、外部的狀態或發生的

“事件”,適時決策,執行相應的模塊,完成指定

的作業。

。監控程序的結構一般有作業順序調度、鍵盤驅動調

度等方法。前者適用于順序控制類應用場合,后者

適用于鍵盤指令型開發場合。

監控程序的設計方法常見的有狀態分析法、狀態轉

移法和事件驅動法等。

3中斷與子程序設計

(1).中斷

。在軟件總體設計時,合理分配任務,確定哪

些任務在主程序中實現,哪些任務在中斷服

務程序中實現,依據已定義的功能完成中斷

服務程序的編寫。在中斷程序中設置一些處

理標志,主程序根據標志進行處理,防止中

斷服務未結束之前,下一中斷請求又到來,

同級中斷得不到及時響應。

。中斷服務程序設計時應注意以下三個問題。

3中斷與子程序設計

1(1).中斷

。①現場保護

。由于中斷服務程序執行時刻的不確定性,如

果不保護現場就可能出現中斷返回后其他程

序的執行受到“莫名其妙”的影響。設計時

可以先不考慮現場保護,待中斷服務程序編

寫完成后,列出所有目的操作數,將其中全

局變量扣除,其余均需保護和恢復。特殊的

工作寄存器要注意“換區”的操作,避免

R0?R7的沖突。

3中斷與子程序設計

(1).中斷

。②及時返回,釋放資源

中斷服務子程序有時不可能“一步到位”,

以免長時間資源獨占。中斷的目的之一就是

提高響應的實時性。很多工作可以在主程序

中排隊處理,中斷服務程序只需要設置一個

任務標志,并將該任務列入主程序任務處理

隊列,及時釋放中斷資源。這種方式可以理

解為事件驅動程序流程。

3中斷與子程序設計

(1).中斷

?:?③避免中斷重入

。在MCS-51系統中,處理器完全依據IEO、TFO、舊、

TFI、RI和TI這些標志位是否為1,觸發中斷響應。

如果用戶在中斷返回前不清除中斷標志,就會造成

中斷重入,即一次中斷請求造成多次、甚至是無休

止的中斷服務,使中斷服務子程序反復執行而導致

錯誤的結果,另一方面也使其他正常的程序執行

“舉步維艱”(每執行一條指令后就要被中斷一次)。

?:.避免中斷重入的具體方法可見第五章。

(2).子程序設計與子程序調用

子程序是在功能模塊劃分完成后,進一步細化分解

出來,完成某些功能的程序塊。子程序不是在軟件

總體設計時能夠確定下來的。各個軟件設計組采用

結構化程序設計方法時,可以形成各自軟件框圖,

將重疊部分以子程序的形式提取出來,共同約定其

入口、出口參數,這是一種方法。另一種方法是全

部程序編制完成后,在優化程序時,將所有可能合

并的程序段或子程序合并成一個子程序。

(2).子程序設計與子程序調用

由于子程序可能在不同的場合被不同的程序段調用,

所以子程序的編寫要規范,程序結構合理、易讀,

不能有漏洞(例如某些場合正常,而另一些場合卻出

錯),盡可能少地占用資源。尤其避免制造垃圾,中

間變量(用于暫存的寄存器)盡量使用工作寄存器,

避免占用直接地址單元。

提示:子程序采用何種方式傳遞參數很重要,需要認

真考慮確定。

4軟件抗干擾措施

。與硬件的抗干擾措施一樣,軟件的抗干擾措

施也非常重要,主要包括:軟件陷阱、數字

濾波等,軟件陷阱在下一節說明。

5程序調試

。程序編寫完成后,在軟硬件調試之前,應首先進行

程序測試,確保程序正常運行。在軟硬件聯調時,

減少故障點的檢出時間,提高聯調效率。

。程序設計的全過程分為分析問題、畫流程圖、編輯

程序、程序測試四個步驟。前三步只占總工作量的

40%左右,60%以上工作量在調試上,所以一定要

有充分的思想準備。

。程序測試的方法與軟件工程中所述方法是一致的,

可以采用白盒測試法、黑盒測試法。

5程序調試

單片機的程序調試工具,主要是使用軟件仿真器。

在軟件仿真器上調試通過之后,再進行與硬件聯合

調試。

。程序調試的有力工具可以說就是PROTEUS。有很

多問題可以在PROTEUS仿真下得以發現和解決。

提示:由于程序調試的復雜性,在多數情況下,A

們往往滿足于能用即可,滿足于一時能正常運行,

對偶爾的不正常往往不深追細究,這樣的產品經不

起時間和條件的考驗,因而是不可取的。

11.1.4系統調試

。系統調試一般是指,在軟件和硬件調試完成

之后,把二者組合在一起,對整個單片機系

統進行調試。

。這個過程就是我們的單片機系統設計制作的

最后一步。最終提供給用戶的產品就是在系

統調試之后定型的。

1一般調試方法

?:?開發單片機產品,往往要使用仿真器,也有的稱為

技客機或開卷系統。仿真器通過仿真線,連在用戶

板的CPU插座上,可以通俗地理解為仿真器將其

CPU、程序存儲器等資源全部“租借”給了用戶系

統。用戶可以在PC機上編寫源程序,通過匯編或編

譯程序將源程序翻譯成機器碼,通過PC機接口將機

番碼佳真錯質用戶仍皿以指定程序運行到哪

里,并通過PC機的顯示器觀察單片機內部資源的變

化情況(外部情況通過用戶板上的數碼管、LED可以

觀察到)。

1一般調試方法

。仿真器也可以不連用戶板,僅進行軟件運行

測試。通過設置斷點運行、單步運行等方式,

可以“跟蹤”程序的執行。仿真器將執行結

果通過串行口回送PC機,在顯示器上,用戶

可以很明了地看到程序運行的結果(甚至每一

步執行的結果),大大地方便了程序的查錯、

糾錯。圖11?3是一種典型的仿真器與用戶系

統連接示意圖。

圖11-3單片機開發系統與用戶系統連接方法

單片機開發系統用戶系統

仿

顯示器8w

真o

0x

芯電纜插

340d

頭u

____L_RS2321

—T-I接口

CPU

W

到PC機器

O插座

H

鍵盤d

B

單片機開發系統與用戶系統連接方法

2系統聯調

?:?雖然軟硬件均已經獨自完成了各自的測試,

系統聯調問題相對少得多,但仍不能以為萬

事大吉,調試的任務仍很艱巨。

。一般是在仿真器的控制下運行用戶程序,測

試用戶系統的各項功能。系統聯調的常見方

法有如下兩種。

2系統聯調

?(1).由頂向下的系統聯調

。該方法是進行整個系統的全速仿真運行,未

出現問題,完成任務;出現問題時,分析問

題可能出現在哪里。分析問題主要側重于軟

硬件配合時可能引起的問題,如硬件中斷等。

根據分析,提出解決方案,著手解決問題。

2系統聯調

。(2).自底向上的系統聯調

。該方法是分模塊進行局部的仿真運行,排除

了局部故障點后,再進行系統全速仿真運行,

直到符合要求為止。

提示:系統調試是研制工作的最后關口,必須保

證所有功能都正確可靠.

11.1.5程序固化

。在仿真完成后,需要將程序固化在單片機片

外或片內。這時候就需要使用編程器了,它的

型號很多,檔次差別也很大,具體用法請查閱編

程器附帶的使用說明書.

1、程序固化在片外

。如果采用EPR0MQ7系列)芯片,一般需要使

用EPROM擦除器將原來的內容擦除掉,然后

用編程器對EPROM編程。一般EPROM芯片

的擦除次數在10次左右。

?:?現在有很多EEPROM芯片可以選用,使用方

便,可擦寫次數大多在1000次以上。

2、程序固化在片內

。如果單片機是EPROM類型的,同樣需要進行

前述的“擦除”。

《?FLASH型器件擦除就簡單得多了,可以直接

在編程器上“擦除”,這也是FLASH型器件

被廣泛應用的原因之一。

2、程序固化在片內

由上可知27系列EPROM使用極不方便且無法加密,

壽命又短,所以應用越來越少,而片內具有Flash存

儲器的單片機得到越來越廣泛的使用,本書經常使

用的AT89c51就是這種。

。最近幾年新推出的AT89s51還可以在系統編程,使

用非常簡單的下載線就可以完成擦除、寫入等工作。

。順便提一下,最近幾年還有的單片機帶有JTAG接

口,不但可以在系統編程,還可以在系統調試。

11.1.6產品驗收與交付使用

。固化好的程序在集成電路芯片里,將電路插

到用戶板,通電運行,如果沒有問題,就大

功告成;如果有問題,可能就是大問題,必須

要找到原因徹底解決,直到沒有問題為止。

。到現場實際使用,沒有問題,就可以交付用

戶了。需要提起注意的一個問題是:有許多

行業的儀器設備是有標準的,包括行業標準、

國家標準、國際標準等。

11.1.6產品驗收與交付使用

盡管并非所有的項目均要技術鑒定(取決于合同約定

等因素),但產品驗收是必要的,驗收表明了用戶對

開發方產品的認可。如果說合同簽訂是任務的開始,

產品驗收則標志著任務的結束。在產品驗收時,應

依據合同規定,逐條落實,并最終向用戶交付產品

及產品使用說明書等有關文檔。

、忠告:產品開發初期的合同與交付使用時的驗收報

告,是供需雙方簽訂的非常重要的文件,對于解決

未來雙方可能產生的糾紛能起到很好的幫助作用。

11.2抗干擾設計

單片機應用系統的可靠性是指在指定的應用環境和

條件下,系統穩定工作的能力。

單片機應用系統由于具有很高的性能價格比,已逐

步深入到各個領域,對單片機系統工作的可靠性也

就提出了越來越高的要求。因為系統一旦出現問題,

將帶來一系列損失,產生嚴重的后果。

單片機應用系統的工作環境(如溫度、濕度、電壓擾

動、電磁干擾、機械振動等)往往是很惡劣的,在系

統開發中,應確保不受環境條件的影響。

形成干擾的基本要素有三個:

.干擾源:指產生干擾的元件、設備或信號,如雷

電、繼電器、可控硅、電機、高頻時鐘等都可能成

為干擾源。

。2.傳播路徑:指干擾從干擾源傳播到敏感器件的通

路或媒介。典型的干擾傳播路徑是通過空間的輻射、

導線的傳導和過程通道。

?:*3,敏感器件:指容易被干擾的對象,如A/D轉換器、

D/A轉換器、單片機、數字1C、弱信號放大器等。

11.2.1硬件抗干擾

。在硬件設計中,提高系統可靠性的主要措施

有:采用抗干擾措施,提高系統的環境適應

能力;把好元件質量關,元器件經篩選、老

化后使用;印制板設計應充分考慮可靠性等。

。抑制干擾主要還是要從現場的環境實際出發,

認真分析可能的干擾,一定要深入現場考察

與分析,避免閉門造車,具體情況還要具體分

析。

1.供電系統■穩壓電源

。在供電系統設計中,一般的應用場合可以采

取同時使用工頻變壓器、全橋、三端穩壓的

方法,電路如圖11—4所示。三端穩壓器件由

3個引腳組成,分別為:電源輸入、穩壓電源

輸出和地。三端穩壓器件通常要求輸入電壓

要比穩壓輸出電壓高2?3V以上,才能確保

輸出電壓穩定。

圖11—4變壓、整流、穩壓電路

MC7805T

-220V+5V

T.T

1.供電系統■穩壓電路

。一般在三端穩壓器件輸入、輸出端都要使用一個

0.01/pF的高頻瓷片電容和一個幾百微法或幾千

微法的電解電容,使用電解電容時,應注意選擇的

電容的耐壓值應有1倍以上的富余量。

。采用上述方法電路簡單、實用,輸出紋波小,但電

源效率比較低,對浪涌、過壓、欠壓等抑制效果比

較差。目前較廣泛地采用開關電源或電源模塊,如

AC-DC模塊、DC-DC模塊等方法。提醒一句,開關

電源的紋波系數比較大,特別精密的場合要注意。

?當系統有多塊線路板組成時,盡量采用每塊線路板

獨自穩壓的方法。避免線路板電源間的相互干擾,

多板結構獨自穩壓原理如圖11—5所示。

圖11—5多板結構獨自穩壓原理

DC12V

1.供電系統■過壓欠壓保護

。供電系統過壓、欠壓的抑制方法可以采用穩

壓器、電源調節器。對停電可以采用UPS(不

間斷電源)或用靜態RAM輔以可充電電池備份

重要運行參數,也有些系統采用E2PR0M保

存參數。

2.過程通道抗干擾■概述

。由于過程I/O通道是單片機與控制對象聯系的

紐帶,所以避免現場強信號對單片機系統弱

信號的干擾是成功開發單片機應用系統的關

鍵。

。從干擾的分類來說,無外乎串模和共模干擾

兩種,解決過程I/O通道干擾可以從以下幾個

方面著手。

2.過程通道抗干擾■方法

?1.隔昌:

。目前很多的應用場合均采用光耦實現電氣隔離。

2.屏蔽

。采用屏蔽的方法可以避免空間電磁干擾,注意屏蔽

縣應接鈿。

。3.“地”的正確處理?

單片機應用系統的“地線”有很多,應仔細區分,

恰當處理。

2.過程通道抗干擾■地線

?(1)數字地:也稱為邏輯地,為邏輯芯片如8031、8155等芯

片提供工作電源的零電位。

?(2)模擬地:A/D、D/A轉換模擬部分的地,如參考電壓、模

擬輸入等的零電位。

(3)功率地:大功率器件的零電位,如大繼電器(電流較大時)、

接觸器等的零電位。

?(4)信號地:一般常指傳感器的地。

(5)交流地:50Hz交流電源的地線(對于三相交流電源來說就

是中線)。

(6?并敝地:屏敝層的接地端。

2.過程通道抗干擾■接地

。正確的接地能有效地保證少受干擾。例如,

數字地和模擬地應分開走線,可以不共地,

共地時,應保證兩地線僅在一點處匯合(一點

接地),不能形成環路。交流地和信號地不能

共用。機殼可接地但不能形成地線環路。特

別注意,不良的接地方法可能使系統僅能在

實驗室試驗運行,一到現場就無法工作。

2.過程通道抗干擾■信號傳輸

。在長距離信號傳送時,采用雙絞線方式傳送,或者

轉換成。?20mA電流傳輸方式,還可以使用屏蔽導

線,也可以改變信號的傳輸方式以避開強干擾信號

源等等。具體情況比較復雜,要根據情況分別對待,

或者采用采用幾種方法的綜合措施,最終必須達到

使用要求。

提示:這一方面的進展很快,新技術、新方法、新

器件不斷出現,我們要及時跟蹤最新進展,采用先

進技術,使得我們的單片機系統性能更好,性價比

更高。

3.硬件抗干擾幾種常用手段(1)pP監控

。常用TL7705電源監視芯片來監測電壓。

爭TL7705電源監視如圖11—6所示,其中SENSE為

電源監視端,當SENSE上的電壓小于4.5V時,

心釘輸出低電平(產生下降沿),向單片機申請中

斷,在中斷服務程序中進行一些保護重要數據的工

作送后使單片機進入休眠或掉電狀態。

?RESET:復位輸出,低電平有效,0C開路,需上

拉電阻。|

?RESIN:復位輸入端,輸入低電平時,強制復位輸}

出端。!

3.硬件抗干擾幾種常用手段(1)kiP監控

圖11—6TL7705電源監視

3.硬件抗干擾幾種常用手段(1)pP監控

。隨著芯片集成度不斷提高,工程技術人員往

往熱衷于既能提供IJP監控,又能提供其他功

能的芯片。如MAXIM公司的MAX807,它將

電源監視與看門狗集成到一起,提供定時、

電源切換等多種功能。現在還有的芯片把監

控和EEPROM集成在一起,性價比更高。比

如X2504系列芯片。

3.硬件抗干擾幾種常用手段(2)硬件看門狗

。使用硬件看門狗的主要目的是防止程序執行受到干

擾,不能按正常的流程執行的一種監視芯片。所謂

“看門狗”,就是一個定時器,定時時間到,它就

輸出一個信號,使單片機復位。

。所謂“喂狗”,就是把定時器的計數值清除。只要

按時喂狗,定時器就不會到達定時時間,單片機就

不會復位。如果程序“跑飛”,或者進入死循環,

不能按時喂狗,就會復位。使單片機重新開始正常

工作。

3.硬件抗干擾幾種常用手段(2)硬件看門狗

例如,XICOR公司的X25043/45就是將看門狗電

路與復位電路(含手動/上電復位)以及4KB的串行

EEPROM集成在一起的芯片。X25045典型應用如

圖11-7所不。

?:.美國DALLAS公司生產的“看門狗(WATCHDOG)”

集成電路DS1232具有性能可靠、使用簡單、價格

低廉的特點,應用在單片機產品中能夠很好的提高

硬件的抗干擾能力,采用8腳DIP封裝。

3.硬件抗干擾幾種常用手段(2)硬件看門狗

%c

swJO-■RESET>

復位,X25045

按鍵

19SO■IPl.3>

-RESET

SIYPl.lI

10kI

SCK<Pl.2】

IVcc

―?CS<PIO

CWP

圖11—7X25045典型應用

3.硬件抗干擾幾種常用手段(3)退(去)耦電容

。每個芯片電源進線處盡可能接一個

104(0.1")或103(0.01")的退耦電容(可

以用陶瓷電容,目前使用較多的是獨石電容)。

每隔5個左右芯片安置一個1一10/pF的膽

(電解)電容,因為這種電容的高頻阻抗很小,

對噪聲抑制效果很好。

3.硬件抗干擾幾種常用手段(4),續流二極管

。在繼電器線圈兩端增加續流二極管,消除線

圈斷開時產生的反電動勢干擾。僅加續流二

極管會使繼電器的斷開時間滯后,若再增加

穩壓二極管,則可改善響應速度,消除滯后

性。在繼電器觸點兩端應并接火花抑制電路,

減小電火花影響。

3.硬件抗干擾幾種常用手段

(5).瞬態電壓抑制器TVS

瞬態電壓抑制器(TransientVoltage

Suppressor,簡稱TVS),使用TVS二極管進

行浪涌保護比使用壓敏電阻優越得多,具有

響應時間快,瞬態功率大,漏電流低,擊穿

電壓偏差小,箝位電壓易于控制,有效地保

護電子線路中的精密元器件,免受各種浪涌

脈沖對元器件造成的損壞。

11.2.2軟件抗干擾措施

。與硬件的抗干擾措施一樣,軟件的抗干擾措

施也非常重要,軟件設計中,可以通過增加

系統的自檢,重要參數備份,設置軟件陷阱,

模擬量輸入采用軟件濾波等手段提高系統的

可靠性。這里只對一些常用的方法加以討論。

1.軟件自檢■開機自檢

。軟件抗干擾還可以在上電復位后,調用自檢子程序,

檢測單片機內部資源和外部擴展電路能否正常工作,

自檢正常后才進一步執行其他程序,否則提示故障

點。這是檢查硬件的情況,需要硬件的配合,在硬

件設計的時候就要考慮到自檢的需要,以確保電路

能正常工作。這一部分比較麻煩,請自行參考有關

硬件資料,此不多述。

1.軟件自檢■數據備份

。由于單片機內部RAM單元存放著重要的標志和數據,

一旦受擾引起標志數據的改變,勢必造成系統運行

異常。防止標志位受擾可以采用定期檢查標志合法

性的方法,發現干擾及時處理,例如發現不可能出

現的標志組合及時處理。也可以采用標志冗余的方

法,借助冗余標志,進行標志位異常判定和糾錯。

防止數據受擾可以采用熱備份的方法,適時比照、

判定并包錯。

。在保護單片機內部RAM時經常使用雙重備份、表決

糾錯的方法,將單片機內部RAM單元數據作兩個熱

備份,一旦發現三個數不相同就采取表決的方式確

定正確的數據。

2.軟件陷阱

?電磁干擾除了會對測量物理量的結果產生影響之外,

還能直接影響程序的正常運行。正常執行程序時,

CPU按照PC中的數值(地址)到ROM甲..去..取..指..令。

受到干擾時,一般可能使程序計數器PC的數值改變,

或者其輸出的地址信號受到干擾而改變,到不該去

的地址取指令(稱為“跑飛”)o為了防止造成災

難性的后果,在進行系統設計時,可以在硬件和軟

件方面分別加以考慮。硬件方面前已述及,現在介

紹一些軟件方面的方法。

。對于MCS-51系列單片機,其程序存儲器的地址空

間為64K,通常只使用了部分地址空間存放程序代

碼利數據,可以把64K的地址空間分為“空閑”和

“非空閑”ROMo

2.軟件陷阱⑴.空閑的ROM空間

。對于空閑的ROM空間,正常操作時是不會使用的。

但是在強干擾的情況下也可能到空閑的ROM空間去

取指令,即“跑飛”。故此應該在空閑的ROM空間

存入適當指令,在程序跑飛到那里時能夠回到正常

區域或者進入錯誤處理程序,這種方法稱為軟件陷

阱。可以填入的指令代碼有以下幾種形式:

①.填入000000000000.......

。這是空操作指令,進入此區域時不進行任何操作,

逐步執行到FFFFH后,就會回到0000H,這是復位

入口地址,重新開始正常程序。

2.軟件陷阱⑴.空閑的ROM空間

.:.②.填入020000020000020000..............

。這是無條件長轉移指令,會直接轉移到0000H,立

即進入復位狀態。

③.填入020202020202020202..............

。這是無條件長轉移指令,當從此區域取指令時,直

接轉移到0202H。在0202H單元,我們應該編寫

“跑飛”處理程序,或者在此處放置一條轉移指令,

轉移到跑飛處理程序。如果正常程序用到0202H單

元,必須在0202H單元之前編寫轉移指令,越過

0202H即其以后的若干單元,留出作為“非常處理”

的程序入口。

2.軟件陷阱⑴.空閑的ROM空間

。如果程序“跑飛”到沒有安裝ROM芯片的地

址單元,取到的代碼將是FFH,這是指令

MOVR7,A繼續執行的結果是,一段時

間后,回到0000H,進入復位程序。

2.軟件陷阱(2).非空閑的ROM單元

。對于非空閑ROM單元,一般已經存放了程序

代碼和數據,處理起來比較困難。可以在關

鍵程序段中加入一些校驗的程序段,檢查當

前的外部環境狀態,如果不是屬于本段程序

處理的范圍,就可能是程序跑飛到這里,應

該轉移到處理跑飛的程序段。

2.軟件陷阱(2).非空閑的ROM單元

*另外,由于有些指令是2?3個字節,當PC內數值跑

飛時,也有可能把這種指令的一部分當作完整的指

令來執行,同理也有可能把數據部分當作指令代碼

來執行,這樣執行起來,程序就面目全非了。當我

們在任意地址對機器代碼進行反匯編時,經常可以

看到這種不可理解的現象。為了盡量減少這種現象

的發生,可以在指令中間加入一些NOP指令使CPU

取幾條指令以后,一般可以納入正軌,按照原來的

指令位置取指令。

3、重復輸出指令

一般單片機的掃描周期為幾個毫秒,萬一某個輸出

指令受到干擾出現錯誤動作,重復的輸出指令會在

短時間內糾正這個錯誤,一般的外設動作速度比較

慢,可能是錯誤的動作還沒有執行就被糾正了。這

種方法對于電磁類執行機構效果很好。

注意:使用任何一種抗干擾措施,都要與當時的客

觀環境相適應,才會取得理想的結果,不可生搬硬

套。往往需要幾種方法綜合應用會取得互補的作用。

11.3應用舉例

。本節以自動打鈴器為例,講解MCS—51系列單片機

的一個應用項目的設計過程。這只是一個非常小的

應用項目,電路比較簡單,功能比較簡單,程序規

模也不大,要求也不是很嚴格,工作環境也比較好,

所以設計起來也容易。但是,只要你能夠完成這個

簡單的項目,就算是入門了,也就可以完成更復雜

的項目。這里給出的只是一個示例,并不一定是最

好的方案,更不是唯一的方案。

11.3.1用戶需求分析和總體設計

。大多單位都有比較固定的作息時間,尤其是學校,

要按時打鈴,以指揮師生員工上課、下課等統一行

動。現在我們可以利用單片機設計自動打鈴器,在

預定侑時間打鈴。

。這項該計涉及到單片機的定時器、中斷、鍵盤蒯入、

LCD藪碼和字符顯示、12c總線、單總線、開夾量

輸出等內容。

考慮實訓時間和篇幅限制,這里只要求自動打鈴。|

如果覺得內容不夠,還可以增加環境溫度的測量、

顯示以及語音報時等等。

1、根據用戶要求確定設計任務書

根據實際情況,(經過用戶認可)我們確定的設計

任務書如下:

?:?產品名稱:自動打鈴器

產品功能:

每天一次循環,按照作息時間表自動打鈴;

2、每次打鈴電鈴響十秒(最好可以修改);

?:.3、每天打鈴次數在32次以內;

?:*4、作息時間輸入修改要方便;

1、根據用戶要求確定設計任務書1

5、實時鐘對表和快慢調整;

6、實時顯示時分秒;

7、平時使用220V交流電,停電時要有備用電池保持時間和

作息時間表;

。8、輸出繼電器控制,最大控制電流5安培(220V交流);

9、臨時打鈴(手動)。

設計周期:2周

+設計費用:

?其它:

2、總體設計

。總體設計,其中最主要的就是原理設計。根

據設計任務書的要求和現有的技術條件,在

滿足功能、性能等用戶需求的基礎上,初步

提出可選技術路線,并對各方案進行必要的

分析,充分聽取方方面面的意見,選擇一種

實施方案。,

本項目的實施方案如下:

2、總體設計1

?:?選用機型:AT89C51(可以使用簡化版

AT89C2051)。這是美國ATMEL公司生產的與

INTEL公司的MCS—51系列全兼容的單片機產品,

指令兼容,引腳兼容,可以直接代換。其優點是片

內程序存儲器是電擦寫的,使用方便,耗電少,價

格低。

時間顯示:16位X2行的液晶顯示模塊1602,顯示

內容比較多。并行口連接。

鍵盤輸入:4個獨立式按鍵,分別是對表、定時、

臨時打鈴和上、下、左、右調整鍵

2、總體設計2

。打鈴輸出:經二級晶體管放大驅動12V直流

繼電器,控制220V電源通、斷電鈴。

。系統擴展:不需要擴展RAM、ROM、和其它

I/O接口,只需要通過12c總線擴展一片

24LC16B,用于保存打鈴時間,以保證掉電

不丟失,免得重新設置之麻煩。

2、總體設計3

電源部分:220V交流電經降壓、整流、濾波、穩壓,

提供+12V和+5V兩種直流電源,再加可充電電池

作備用電源,停電時保持時鐘和作息時間表。交流

供電時給電池充電。

。笳在,專用的日歷時鐘芯片很多,性能也很好,尤

其是精度可以很高,省電,使用方便。如果采用這

類芯片,程序會減少很多。但是考慮為了更好的熟

悉定時器的使用,我們還是利用單片機本身的定時

器來產生時間。

。本設計的仿真文件:自動打鈴器.DSN

本設計的簡要功能說明:

開機后自動進入走時狀態,打鈴時間到自動接

通電鈴電路10秒。

2、按K0鍵進入對表狀態,設置方法:

按向左或向右移動光標

?按增加或減少修改光標處數值

。星期的數值1-7,7代表星期日

星期的英文字符不用修改

5秒鐘不操作自動保存修改并返回

本設計的簡要功能說明1:

。3、按K1鍵進入定時打鈴時間設定狀態:

001表示第一個設定打鈴時間,最多可以設置127個

時間。方面的星小時、分和啟用標志z啟用標志設

為1裝不時向有效,到時疔鈴,啟用標志設為。蓑不

到達這個時間也不打鈴。每次時間到打鈴10秒,同

時蜂鳴器響。

。打鈴時間設置方法:

?:?按向左或向右移動光標,按增加或減少修改光標處

數值,啟用標志的值大于1也算啟用,5秒鐘不操作

自動保存修改并返回

11.3.2硬件設計

1、原理圖設計

。根據設計任務書和整體設計方案,經過比較

和計算,設計原理圖如圖11—8直到圖11-11

所示。

?:?單片機選用AT89c51,DIP40封裝,內部有

128字節的隨機存儲器,有4K字節的電擦寫

的程序存儲器,可以反復擦寫1000次。

圖11—8自動打鈴器硬件原理圖(主機板)

LCD1FM1602

VCC

C1||10PF

U1AT89C51

X11939pQOajnu]--------------------------------------

I---1->XTAL1P0.0/AD038bgfS0UJC/)>OLCXJCO寸ID9Z

-?—6MHzP0.1/AD13(bg??>trorujOOOQOQO0

C2||10PF18P0.2/AD23b

XTAL2P0.3/AD3亞bod

P0.4/AD434加5

P0.5/AD5八

0.6kR1

9P0.6/AD632b"

八RSTP0.7/AD7

21p20R10

P2.0/A822■K11

問憶I_H

旦0產P2.1/A923022?

29P2.2/A1024謎3.

K4斫PSENP2.3/A1125謎4.

------OO—kALEP2.4/A12絲笆5?I—

EAP2.5/A13iffllbI—<>

BUZ12(慳6?

P2.6/A1428邊■

P2.7/A15<10k

1p-T10p3010k

FTI7p-T.OJP3.0/RXD

pTP3.1/IXD

BUZZER-2八

p-TP3.2/USUQU2

p-TP3.3/INT13

p-T.34P3.4/T0-7

vccpT1P3.5ZI1

p-QLJ3①

16P3.6/WRGND?

J1八7P3.7/RDSCK

01SDADS18B20

0WP

0

0

4一724LC16B

SIL-100-04

—阿T00UF

GND

圖11-9打鈴器按鍵

A????

gZLZ)

ODD

ddd

R410kJ=L_?K3向左移動

OO~~

R5l0kK2向右移動臨時打鈴

OOi>

-I=L-?K1向下減少定時設定

OO"n

RLlOk-l==L?KO向上增加對表

OO""H

圖11-10打鈴器電源(通用電源模塊)

圖打鈴器繼電器輸出

RL3

OMI-SH-212D

1k

2、原理圖設計說明

(1)電源:(如圖11-10)

。這是一個通用電源模塊,以前用在其它單片機測控

系統中,用在自動打鈴器也很合適。自動打鈴器消

耗電流最大的時候是打鈴時恂到,12V直流繼電器接

通同時打鈴指示LED亮和訊響器響,電流在100毫

安以下(約80毫安),不打鈴的時候消耗電流只有

十幾個毫安,給蓄電池充電的電流控制在50毫安以

下,選擇220V5W電源變壓器容量足夠,輸入220V

交流電,輸出12V交流。如果數碼顯示用LED數碼

管,則電源變壓器容量應該選10W左右。

2、原理圖設計說明

(1)電源:(如圖

。整流濾波之后輸出電壓在13V左右,供給繼電器使-

用,木需要穩壓。

。后備電源使用6V免維護鉛酸蓄電池,價格便宜容量

大,可以支持較長的停電時間,只是重量大些。

。為了保護蓄電池,不使其過充和過放,分別加了保

護電監,當電池電壓高于7V時停止充電,當電池電

壓低于5V時停止放電。

。蓄電池的輸出直流電源(5-7V)經三端穩壓電路

7805后輸出5V經二極管降壓后變成4.3V供給單片機,

AT89S51的工作電壓在4V-5.5V之間。

2、原理圖設計說明

(2)輸出(如圖11-11)

。打鈴器的輸出由12V直流繼電器控制。繼電器既起

到功率放大的作用也起到強弱電隔離作用。與繼電

器線圈并聯的紅色LED起到打鈴指示作用,與線圈

反并聯的二極管是起續流作用。P1.1的輸出是低電

平有效,可以防止單片機復位時的高電平自動響鈴。

P1.1的輸出經2級晶體管放大驅動直流繼電器工作。

?:?訊響器的工作電壓在3—5V,電流10mA左右,通電

就響。AT89c51的并行口可以直接驅動,低電平有

效。它的作用也是打鈴指示,同時它可以在停電的

時候也工作,提醒時間到。這就使得這個自動打鈴

器在不接電鈴的時候成為鬧鐘。

2、原理圖設計說明

(3)按鈕(如圖11-9)

。從圖上看總共有5個按鈕,一個是復位按鈕,

手動復位用;其余4個各占用一位I/O口線,

屬于獨立式鍵盤,按下是低電平,接在P

溫馨提示

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

評論

0/150

提交評論