單片機(jī)紅外遙控系統(tǒng)設(shè)計(jì)資料
單片機(jī)紅外遙控系統(tǒng)設(shè)計(jì)資料,單片機(jī),紅外,遙控,系統(tǒng),設(shè)計(jì),資料
單片機(jī)紅外遙控系統(tǒng)設(shè)計(jì)
摘要:本文設(shè)計(jì)了一種基于AT89S52單片機(jī)的紅外遙控系統(tǒng),可用于控制多種電器的開關(guān),交流電機(jī)的轉(zhuǎn)速及啟停等方面。闡述了發(fā)射部分和接收部分的設(shè)計(jì)原理和工作過程,介紹了一種紅外遙控解碼程序的實(shí)現(xiàn)方法,并用流程圖表示了程序的設(shè)計(jì)過程。
1 引言
紅外線波長(zhǎng)遠(yuǎn)小于無線電波的波長(zhǎng),所以紅外遙控不會(huì)干擾其他無線設(shè)備的工作;其次其無法穿透墻壁,故不同房間的家用電器可使用通用的遙控器而不會(huì)產(chǎn)生相互干擾;再次紅外線電路調(diào)試簡(jiǎn)單,只要按給定電路連接無誤,一般不需任何調(diào)試即可投入工作,并且編解碼容易,可進(jìn)行多路遙控;另外紅外遙控器作為控制系統(tǒng)的輸入設(shè)備,具有成本低、靈活方便的特點(diǎn)。紅外遙控的這些優(yōu)點(diǎn)可為用戶提供方便的操控手段,因此該技術(shù)被廣泛應(yīng)用于各種家電產(chǎn)品、娛樂設(shè)施、現(xiàn)代化儀器儀表和工業(yè)控制中,為現(xiàn)代家居和生產(chǎn)生活增添了一絲亮色。
單片機(jī)集CPU,RAM,ROM,I/O口、中斷和定時(shí)器于一體,具有體積小,重量輕,控制靈活方便,價(jià)格低廉等優(yōu)點(diǎn),廣泛應(yīng)用于工業(yè)自動(dòng)化、儀器儀表、家用電器、信息和通信產(chǎn)品以及軍事裝備等方面。采用單片機(jī)進(jìn)行紅外遙控系統(tǒng)設(shè)計(jì),具有編程靈活多樣,操作碼數(shù)可隨意設(shè)定等優(yōu)點(diǎn)。單片機(jī)經(jīng)過不斷地更新?lián)Q代,其性能也在不斷的提升,其中ATMEL公司生產(chǎn)的閃速存儲(chǔ)器單片機(jī)芯片AT89S52是一種低功耗,高性能的CMOS8位微控制器,本設(shè)計(jì)以AT89S52單片機(jī)為核心,附以相應(yīng)的外圍電路,構(gòu)成基于單片機(jī)控制的紅外遙控系統(tǒng)。
2 系統(tǒng)硬件設(shè)計(jì)
本文所設(shè)計(jì)的紅外遙控系統(tǒng)分為兩個(gè)部分:即遙控發(fā)射部分和接收控制部分(整個(gè)系統(tǒng)原理框圖如圖1,圖2所示)。整個(gè)系統(tǒng)需要解決的關(guān)鍵問題是實(shí)現(xiàn)紅外信號(hào)的有效發(fā)射與接收,本設(shè)計(jì)將采用脈沖個(gè)數(shù)編碼,和單片機(jī)軟件解碼的方式來實(shí)現(xiàn)紅外遙控器對(duì)繼電器的開和關(guān),從而控制電器設(shè)備。
單片機(jī)(1)
AT89S52
矩陣
鍵盤
電路
紅外
發(fā)射
電路
電源電路
圖1: 遙控發(fā)射部分框圖
單片機(jī)(2)
AT89S52
繼電器
控制
電路
紅外接收
電路
電源電路
數(shù)碼顯示
電路
圖2:接收控制部分電路
2.1遙控發(fā)射部分(其電路原理圖如圖3):
主要由AT89S52單片機(jī)、矩陣式操作鍵盤、紅外發(fā)射電路和電源部分組成。實(shí)現(xiàn)一旦有鍵按下,單片機(jī)進(jìn)行鍵盤查詢,并由查詢的鍵號(hào)控制紅外發(fā)射管發(fā)射相應(yīng)的脈沖。
2.1.1AT89S52單片機(jī)
遙控電路的核心控制芯片采用AT89S52單片機(jī),它具備8KB可重編程Flash存儲(chǔ)器,1000次擦寫周期,32個(gè)可編程I/O口線,3個(gè)16位定時(shí)器/計(jì)數(shù)器,8個(gè)中斷源,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。
2.1.2矩陣式鍵盤
矩陣式鍵盤即行列式鍵盤,用I/O線組成行、列結(jié)構(gòu),按鍵設(shè)置在行列的交電上,行列線分別連接到按鍵開關(guān)的兩圖3: 遙控發(fā)射部分的電路原理圖
端,按鍵中有無按鍵按下是由列線送入掃描字,行線讀入行線狀態(tài)來判斷的。本設(shè)計(jì)中的4*4矩陣鍵盤掃描時(shí)先
經(jīng)4位輸出口向4位列線輸出低電平,然后再輸入4位行線的狀態(tài),若行線狀態(tài)皆為高電平則表明無鍵按下,若行線狀態(tài)有低電平則表明有鍵被按下。
2.1.3紅外發(fā)射電路
遙控信息碼由單片機(jī)的定時(shí)器0調(diào)制成38KHZ的紅外線載波信號(hào),由P3.4口輸出,經(jīng)三極管9013放大后由紅外發(fā)射管發(fā)射出去。
2.2接收控制部分(電路原理圖如圖4):
主要由AT89S52單片機(jī)、紅外接收電路、數(shù)碼顯示電路、繼電器控制電路和電源電路組成。遙控器發(fā)射的信號(hào)經(jīng)紅外接收處理傳遞給單片機(jī),單片機(jī)根據(jù)不同的信息碼進(jìn)行相應(yīng)的繼電器的控制,并完成相應(yīng)的現(xiàn)實(shí)功能。
2.2.1AT89S52單片機(jī)
AT89S52(2)單片機(jī)為控制核心,外加12MHZ的晶振。
2.2.2紅外接收電路
紅外光波不可見,峰值波長(zhǎng)940nm左右,屬紅外波段。紅外接收管將接收到的紅外線光波轉(zhuǎn)換成電信號(hào),黑色的樹脂封裝將700nm以下波長(zhǎng)的光線濾除。紅外一體化接收頭是由紅外接收管和放大電路組成的,能夠接收脈沖編碼調(diào)制的紅外光信號(hào),具有體積小,密封性好,靈敏度高,價(jià)格低廉等優(yōu)點(diǎn)。本設(shè)計(jì)采用SM0038一體化接收頭,其解調(diào)頻率為38KHZ,當(dāng)接收到38KHZ的紅外脈沖信號(hào)時(shí)輸出為低電平,反之輸出高電平。經(jīng)其解調(diào)后的信號(hào)輸入單片機(jī)的中斷和串行接收口。通過單片機(jī)的中斷查詢可進(jìn)行下一步操作。
2.2.3數(shù)碼顯示電路
為方便識(shí)別發(fā)射的按鍵號(hào)碼,以及顯示受控制的電路,在接收部分設(shè)置數(shù)碼顯示電路。顯示電路主要由顯示驅(qū)動(dòng)器4511和數(shù)碼管LED組成。CD4511是7段譯碼器,與其它驅(qū)動(dòng)器不同的是,它顯示數(shù)碼‘6’和‘9’時(shí)沒有拖尾現(xiàn)象,它所驅(qū)動(dòng)對(duì)象是共陰極LED數(shù)碼管。CD4511的四個(gè)信號(hào)輸入端用單片機(jī)P1端口中的四位來實(shí)現(xiàn)。
2.2.4繼電器控制電路
繼電器控制電路可由單片機(jī)的P0和P2口輸出,一共可以有16個(gè)支路,即可以控制16個(gè)電器,而這16個(gè)支路的電路形式完全相同,在本次設(shè)計(jì)模型中,可選擇其中的一個(gè)或幾個(gè)支路來演示。以P2.1口為例,將其連接到繼電控制電路中三極管9012的基極,三極管的射極接繼電器 ,使整個(gè)控制部分接到交流電器中。當(dāng)P2.1輸出低電平時(shí),三極管導(dǎo)通,繼電器吸合,對(duì)應(yīng)的電器設(shè)備電源接通,設(shè)備開啟工作;否則P0或P2口相應(yīng)引腳輸出為高電平,三極管截止,繼電器斷開,對(duì)應(yīng)的電器設(shè)備因斷電而不能工作。
圖4: 接收控制部分的電路原理圖
3 系統(tǒng)軟件設(shè)計(jì)
本設(shè)計(jì)的軟件分為發(fā)射部分和接收部分。
發(fā)射部分的工作原理為:系統(tǒng)上電初始化,進(jìn)入主程序循環(huán)狀態(tài)。調(diào)用鍵盤掃描處理子程序,當(dāng)無按鍵按下時(shí),系統(tǒng)處于等待狀態(tài);當(dāng)有按鍵按下時(shí),系統(tǒng)通過按鍵檢查子程序,檢查按鍵號(hào)并轉(zhuǎn)入相應(yīng)的發(fā)射子程序。(鍵掃描程序流程圖如圖5)
在發(fā)射子程序中,利用定時(shí)器0將待發(fā)射信號(hào)調(diào)制成38KHZ的載波信號(hào),經(jīng)三極管放大后驅(qū)動(dòng)紅外發(fā)射管,發(fā)射調(diào)制脈沖信號(hào)。發(fā)射信號(hào)采用脈沖個(gè)數(shù)編碼,不同的脈沖個(gè)數(shù)代表不同的編碼,最小為2個(gè)脈沖,其它信息碼的脈沖個(gè)數(shù)逐個(gè)遞增。為了使接收可靠,第一位碼寬為3ms,其余為1ms,碼間距為1ms,遙控碼數(shù)據(jù)幀間隔大于10ms。遙控器上每一個(gè)按鍵都有唯一的一個(gè)鍵號(hào),CPU通過查詢得到的鍵值發(fā)射事先設(shè)定個(gè)數(shù)的脈沖。(紅外發(fā)射程序流程圖如圖6)
START
有鍵按下嗎?
N
鍵碼計(jì)算
鍵掃描
由鍵號(hào)轉(zhuǎn)至發(fā)射程序
Y
N
START
裝載發(fā)射脈沖個(gè)數(shù)
發(fā)3ms首脈沖
停發(fā)1ms碼間距
發(fā)射脈沖個(gè)數(shù)減1等于0嗎?
發(fā)1ms脈沖
停發(fā)1ms脈沖
鍵掃描
Y
圖5:鍵掃描程序流程圖
圖6:發(fā)射程序流程圖
接收部分工作原理為 :系統(tǒng)上電初始化后,對(duì)單片機(jī)的INT1口進(jìn)行檢測(cè),當(dāng)其為高電平時(shí),系統(tǒng)處于等待狀態(tài);當(dāng)其為低電平時(shí),將啟動(dòng)中斷服務(wù)程序。紅外接收器輸出脈沖幀數(shù)據(jù)時(shí),第一位碼的下降沿觸發(fā)中斷程序,實(shí)時(shí)接收數(shù)據(jù)幀,并對(duì)第一位碼的碼寬進(jìn)行驗(yàn)證。若第一位的低電平碼的脈寬小于2ms,將作為錯(cuò)誤幀處理。當(dāng)間隔位的高電平脈沖寬大于3ms時(shí),結(jié)束接收,然后根據(jù)累加器A中的脈沖數(shù),在單片機(jī)P1.O—P1.3口輸出相應(yīng)的二進(jìn)制數(shù)據(jù),經(jīng)譯碼器的譯碼后驅(qū)動(dòng)數(shù)碼顯示管顯示相應(yīng)按鍵,同時(shí)P0或P2口的某一對(duì)應(yīng)引腳輸出控制信號(hào),使繼電器原有狀態(tài)發(fā)生改變,此時(shí)即完成一次數(shù)據(jù)的接收處理。
4 結(jié)束語(yǔ)
本設(shè)計(jì)采用紅外發(fā)射和接收的方式,保證了信號(hào)傳輸?shù)目煽啃?,并且控制?jiǎn)單、實(shí)施方便,成本低廉。通過接收發(fā)射端的控制信號(hào),在接收部分實(shí)現(xiàn)了相應(yīng)的控制。但是,由于受紅外線定向性和傳輸距離的限制,該系統(tǒng)只適應(yīng)于短距離的遙控控制(10 m以內(nèi)),而且操作時(shí)遙控器要有一定的角度,如果中間有墻、門窗等障礙物時(shí),紅外線將無法穿透。如果采用調(diào)頻或調(diào)幅等發(fā)射接收編碼,可提高遙控距離,并且不受角度的影響。
注釋:
紅外編碼的格式多種多樣,本設(shè)計(jì)只是選取了其中的一種。
參考文獻(xiàn):
(1)李廣弟《單片機(jī)基礎(chǔ)》北京航空航天大學(xué)出版社 2001年第2版,2003年9月第6次印刷, P11-37,P200-203
(2)劉東漢《基于微處理器解碼多功能遙控系統(tǒng)的設(shè)計(jì)》<現(xiàn)代電子技術(shù)>2006年第8期,P27-29
(3)朱光忠《基于單片機(jī)的紅外遙控開關(guān)控制器》<計(jì)算機(jī)工程與設(shè)計(jì)>2006年第11期,P2097-2099
房間電器綜合控制系統(tǒng)
Control system of the electrisic in the room
摘 要
本設(shè)計(jì)的目的是尋找一種方法來實(shí)現(xiàn)房間內(nèi)多種電器的綜合控制,采用了單片機(jī)與紅外遙控相結(jié)合的方式,制作出一種房間電器綜合控制系統(tǒng)。系統(tǒng)的核心由AT89S52單片機(jī)和紅外收發(fā)裝置構(gòu)成,整個(gè)系統(tǒng)包括發(fā)射部分和接收部分。發(fā)射部分以AT89S52單片機(jī)為中心控制芯片,外圍擴(kuò)展了矩陣鍵盤,紅外發(fā)射電路以及電源電路;接收部分則以AT89S52單片機(jī)為核心,外圍擴(kuò)展了紅外接收電路,按鍵顯示電路,電源電路以及與按鍵相應(yīng)的繼電器控制家用電器電路。紅外信號(hào)的發(fā)射采用脈沖個(gè)數(shù)編碼的方式,根據(jù)不同的按鍵設(shè)定不同的編碼,通過軟件實(shí)現(xiàn)解碼,從而控制相應(yīng)電器的開和關(guān)。通過硬件和軟件相結(jié)合的方式,此設(shè)計(jì)實(shí)現(xiàn)了手持遙控器,按下一個(gè)按鍵,相應(yīng)的電器接通電源開始工作,并顯示按鍵號(hào)碼,再按一下,該電器切斷電源停止工作。此設(shè)計(jì)具有操作碼個(gè)數(shù)可隨意設(shè)定,編程靈活多樣等優(yōu)點(diǎn)。
關(guān)鍵詞:?jiǎn)纹瑱C(jī);紅外;編碼解碼
ABSTRACT
The aid of this ariticle is to search a way to
Key Words:MCU;Inframed;
目 錄
1 引言 1
1.1智能家居的發(fā)展 1
1.2微處理器的功能及其應(yīng)用 1
1.3通信技術(shù)的發(fā)展及其前景 1
2 系統(tǒng)原理和部分方案比較 3
2.1系統(tǒng)原理綜述 3
2.2課題總體要求 5
2.3 系統(tǒng)各部分方案比較 6
2.3.1控制方式比較 6
2.3.2 信號(hào)處理方案 7
2.3.3 微處理器的選擇 8
3 系統(tǒng)硬件設(shè)計(jì)方案 9
3.1 系統(tǒng)工作原理流程 9
3.2 系統(tǒng)主控制器選擇 12
3.2.1 單片機(jī)(MCU)概述 12
3.2.2 MCU芯片簡(jiǎn)介及器件選擇 14
3.2.3 AT89S52簡(jiǎn)單介紹說明 15
3.3 信號(hào)的發(fā)射接收電路 9
3.3.1 紅外發(fā)射電路設(shè)計(jì) 9
3.3.2 紅外接收電路設(shè)計(jì) 9
3.4 遙控鍵盤電路 10
3.4.1 按鍵安裝方法 9
3.4.2 矩陣掃描 9
3.4.3 健功能 9
3.5數(shù)碼顯示電路 10
3.5.1 驅(qū)動(dòng)電路 9
3.5.2 數(shù)字顯示電路 9
3.6 繼電器控制家電輸出電路 9
3.6.1 繼電器原理 9
3.6.2 控制電路 9
4 程序控制 11
4.1系統(tǒng)軟件介紹 11
4.2總程序流程 11
4.3程序 11
4.4系統(tǒng)整體電路圖 11
5 開發(fā)環(huán)境及程序下載 3
5.1 開發(fā)環(huán)境 3
5.2 程序下載 5
5.2.1系統(tǒng)下載 6
5.2.2 外加軟件下載 7
6 系統(tǒng)測(cè)試及數(shù)據(jù)記錄 9
6.1 軟件測(cè)試 9
6.1.1 功能仿真 12
6.2.2 14
6.2 硬件測(cè)試及仿真 12
6.3 系統(tǒng)數(shù)據(jù)記錄 12
7 課題相關(guān)技術(shù)發(fā)展前景 3
結(jié) 論 12
參考文獻(xiàn) 13
附錄1: 程序 14
附錄2: 系統(tǒng)電路圖 14
附錄3: 系統(tǒng)PCB圖 14
致 謝 15
1 引言
當(dāng)今社會(huì)是數(shù)字化的社會(huì),也是數(shù)字集成電路廣泛應(yīng)用的社會(huì)。而數(shù)字集成電路本身也在不斷地進(jìn)行更新?lián)Q代,不斷的進(jìn)步創(chuàng)新。它由早期的電子管、晶體管、小中規(guī)模集成電路,發(fā)展到超大規(guī)模集成電路(VLSIC,幾萬門以上)以及具有許多特定功能的專用集成電路(ASIC)。并且在現(xiàn)代高新電子產(chǎn)品的設(shè)計(jì)和生產(chǎn)中,數(shù)字集成電路技術(shù)和現(xiàn)代電子設(shè)計(jì)技術(shù)是相互促進(jìn)、相互推動(dòng)又相互制約的兩個(gè)技術(shù)環(huán)節(jié)。前者的進(jìn)步就表現(xiàn)在大規(guī)模集成電路加工技術(shù),即半導(dǎo)體工藝技術(shù)的發(fā)展上;而后者的核心則是EDA(電子設(shè)計(jì)自動(dòng)化)技術(shù),它使得設(shè)計(jì)者的工作僅限于軟件的方式,即利用硬件描述語(yǔ)言(本文只涉及到VHDL硬件描述語(yǔ)言)和EDA軟件來完成對(duì)系統(tǒng)硬件功能的實(shí)現(xiàn),避免了硬件電路在搭接時(shí)所出現(xiàn)的問題。
1.1 ASIC技術(shù)促使可編程邏輯器件發(fā)展
隨著微電子技術(shù)的發(fā)展,設(shè)計(jì)與制造集成電路的任務(wù)已經(jīng)不再由某個(gè)大規(guī)模的生產(chǎn)廠商來獨(dú)自承擔(dān)了,更甚至于系統(tǒng)設(shè)計(jì)師們都愿意自己設(shè)計(jì)專用集成電路(ASIC)芯片,而且希望ASIC的設(shè)計(jì)周期盡可能短,最好是在實(shí)驗(yàn)室里就能設(shè)計(jì)出合適的ASIC芯片,并且立即投入實(shí)際應(yīng)用之中。也就是這種現(xiàn)場(chǎng)可用的思想促成了現(xiàn)場(chǎng)可編程邏輯器件(FPLD)的出現(xiàn),其中應(yīng)用最廣泛的當(dāng)屬現(xiàn)場(chǎng)可編程門陣列(FPGA)和復(fù)雜可編程邏輯器件(CPLD)了[1]~[2]。
對(duì)于電子系統(tǒng)設(shè)計(jì)來說,在以前的很長(zhǎng)一段時(shí)間里,設(shè)計(jì)某個(gè)電子控制系統(tǒng)大多數(shù)情況下是用指令少、功能單一的單片機(jī),但是用其開發(fā)出來的硬件系統(tǒng)及其電路結(jié)構(gòu)龐大而復(fù)雜、成本高、經(jīng)常容易發(fā)生電路方面的故障,并且由于系統(tǒng)是針對(duì)某一個(gè)特定的功能而設(shè)計(jì)的,對(duì)今后系統(tǒng)的升級(jí)和功能擴(kuò)展都非常困難。顯然這樣的單片機(jī)在某種程度上已經(jīng)不能再滿足設(shè)計(jì)要求了。而CPLD(或FPGA)芯片作為一種新興的設(shè)計(jì)器件,在技術(shù)上與單片機(jī)相比有很多優(yōu)勢(shì),光說其實(shí)現(xiàn)的工藝就有反熔絲技術(shù)、EPROM技術(shù)和EEPROM技術(shù)等。實(shí)現(xiàn)了電可擦除、電可改寫和紫外線擦除,其輸出結(jié)構(gòu)是可編程的邏輯宏單元,因而它的設(shè)計(jì)具有很強(qiáng)的靈活性。這些PLD器件的一個(gè)共同特點(diǎn),就是可以實(shí)現(xiàn)速度特性較好的邏輯功能,可見用這種CPLD芯片進(jìn)行開發(fā)設(shè)計(jì)時(shí),只需要增加少量的外圍電路,并結(jié)合可控制它的豐富的指令集合,就可以獲得功能強(qiáng)大的控制系統(tǒng)。又由于這種芯片內(nèi)含有可下載程序固定接口和EEPROM、Flash。因此,開發(fā)出來的系統(tǒng)具有可升級(jí)性(內(nèi)部程序可擦除,進(jìn)行重新燒寫),用戶可以根據(jù)需要對(duì)其進(jìn)行功能擴(kuò)展,既可以縮短系統(tǒng)開發(fā)周期,又可以減少開資。
利用EDA技術(shù)(CPLD/FPGA)進(jìn)行電子系統(tǒng)設(shè)計(jì)的最終目標(biāo),是完成專用集成電路ASIC的設(shè)計(jì)和實(shí)現(xiàn),而在電子科技高速發(fā)展的當(dāng)今,再加上上述CPLD/FPGA(復(fù)雜可編程邏輯器件/現(xiàn)場(chǎng)可編程門陣列)的各種優(yōu)點(diǎn),它以成為實(shí)現(xiàn)這一途徑的主流器件。其特點(diǎn)是直接面向用戶,具有極大的靈活性和通用性,使用方便,硬件測(cè)試和實(shí)現(xiàn)快捷,開發(fā)效率高,成本低,上市時(shí)間短,技術(shù)維護(hù)簡(jiǎn)單,工作可靠性能好。例如Altera公司最新生產(chǎn)的MAXII系列PLD ,這是一種基于FPGA(LUT)結(jié)構(gòu),集成配置芯片的PLD,在本質(zhì)上它就是一種在內(nèi)部集成了配置芯片的FPGA,但由于配置時(shí)間極短,上電就可以工作,所以對(duì)用戶來說,感覺不到配置過程,可以與傳統(tǒng)的PLD一樣使用,加上容量和傳統(tǒng)PLD類似,所以Altera公司把它歸作PLD。 還有像Lattice公司的XP系列FPGA,也是使用了同樣的原理,將外部配置芯片集成到內(nèi)部,在使用方法上和PLD類似,但是因?yàn)槿萘看?,性能和傳統(tǒng)與FPGA相同,也是LUT架構(gòu),所以Lattice仍把它歸為FPGA之列??傊捎谝陨系母鞣N突出優(yōu)點(diǎn),CPLD或FPGA芯片已成為大多數(shù)電子設(shè)計(jì)工程師進(jìn)行電子設(shè)計(jì)的首選器件。
1.2 CPLD(FPGA)實(shí)現(xiàn)系統(tǒng)控制
把以CPLD(或FPGA)芯片為核心,作為主控制器開發(fā)出來的各種測(cè)量及控制系統(tǒng),作為家用電子產(chǎn)品的一個(gè)組成部分嵌入某個(gè)系統(tǒng)中,使其更具智能化、擁有更多功能,便于人們操作和使用,從而更具時(shí)代感,這也是家用電子產(chǎn)品的發(fā)展方向和趨勢(shì)所在。有的家用電器領(lǐng)域要求增加顯示、報(bào)警和自動(dòng)診斷等功能。這就要求我們生產(chǎn)的產(chǎn)品具有自動(dòng)控制系統(tǒng)。而所謂的自動(dòng)控制功能的實(shí)現(xiàn)主要是由計(jì)算機(jī)來完成的,可用的方法主要有兩種:離線控制和在線控制。離線控制包括利用計(jì)算機(jī)實(shí)現(xiàn)對(duì)控制系統(tǒng)總體的分析、設(shè)計(jì)、仿真及建模等工作;在線控制就是以計(jì)算機(jī)代替常規(guī)的模擬或數(shù)字控制電路,使控制系統(tǒng)“軟化”,讓計(jì)算機(jī)位于其中,并成為控制系統(tǒng)、測(cè)試系統(tǒng)及信號(hào)處理系統(tǒng)的一個(gè)組成部分。這類控制由于需要有像計(jì)算機(jī)一樣的智能控制系統(tǒng)身處其中,因此對(duì)控制系統(tǒng)有體積小、功耗低、價(jià)格低廉以及控制功能強(qiáng)大等要求,而為了滿足這些要求,就應(yīng)當(dāng)使用可編程邏輯器件的具體芯片來實(shí)現(xiàn)。例如:本文所研究的課題就是利用CPLD器件(EP1K100QC208-3)為主控芯片,來實(shí)現(xiàn)系統(tǒng)的整體功能的。
然而,由于CPLD與控制對(duì)象聯(lián)系密切,所以設(shè)計(jì)一個(gè)系統(tǒng),不但對(duì)CPLD芯片的性能要求高,而且對(duì)設(shè)計(jì)者的要求也很高。他們不但要熟練掌握CPLD知識(shí),而且還要了解控制對(duì)象,懂得傳感器技術(shù),具有一定的控制理論知識(shí)等。還拿本文所研究的課題為例,除了利用CPLD具體芯片外,還用到了傳感器,A/D轉(zhuǎn)換器以及放大顯示電路等,才實(shí)現(xiàn)完成了系統(tǒng)總體功能——檢測(cè)室溫顯示,并實(shí)現(xiàn)報(bào)警。
2 系統(tǒng)原理和部分方案比較
一個(gè)完整的系統(tǒng),必須經(jīng)過系統(tǒng)整體原理分析和各部分的方案比較,選擇最佳最優(yōu)的實(shí)現(xiàn)方法,才能完美而立于不敗之地。
2.1 系統(tǒng)原理概述
當(dāng)今社會(huì),隨著現(xiàn)代測(cè)量、控制和自動(dòng)化技術(shù)的發(fā)展,信息采集的方法越來越多,而在所有信息的采集途徑中,用的最普遍、最基礎(chǔ)的,就是傳感器。如果把電子計(jì)算機(jī)比作人的“大腦”,那么傳感器則酷似人的“五官”(視覺、嗅覺、味覺、聽覺和觸覺)了。其重要性則可一目了然,不過對(duì)傳感器的要求可要比人的五官的要求高得多,并且傳感器的種類也在日益增多,涉及到的范圍也日益變廣。如AD公司生產(chǎn)的模擬電壓輸出型的溫度傳感器TMP35/36/37,它主要應(yīng)用于環(huán)境控制系統(tǒng)、過熱保護(hù)、工業(yè)過程控制、火災(zāi)報(bào)警系統(tǒng)、電源系統(tǒng)監(jiān)控以及儀器散熱風(fēng)扇的控制等。還有NATIONAL SEMICONDUCTOR生產(chǎn)的與微處理器相結(jié)合的測(cè)溫及溫度控制、管理的溫度測(cè)量控制器LM80,它主要應(yīng)用于個(gè)人計(jì)算機(jī)及服務(wù)器的硬件及系統(tǒng)的溫度監(jiān)控、辦公室設(shè)備、電子測(cè)試設(shè)備等。以及MAXIN公司生產(chǎn)的主要應(yīng)用于CPU冷卻控制的PWM風(fēng)扇控制器及遙控溫度傳感器MAX1669。因此,測(cè)量外界溫度的方法有很多種,然而,由于熱敏電阻及其放大電路受到環(huán)境的影響,在不同的條件下會(huì)出現(xiàn)不同的測(cè)溫偏差,而TMP35/36/37,LM80,MAX1669這些傳感器的造價(jià)又太高,在相同條件下,由于測(cè)溫精度、處理精度等多方面的因素,不同的通道也會(huì)出現(xiàn)不同的偏差,因此必須采用一種靈活的修正方式,這便用到了電壓型的溫度傳感器LM35D。它的線性好(10mV/℃),寬量程(0--100℃),精度高(+0.4℃ ),低成本,而且采集到的是電壓型信號(hào),易于處理,使得電路簡(jiǎn)單實(shí)用[3]。
如上所述,本課題的設(shè)計(jì)就是利用溫度傳感器LM35D來采集溫度信號(hào)的,隨后將采集到的微弱模擬電壓信號(hào)經(jīng)過放大器OP07放大十倍后送入A/D轉(zhuǎn)換器(ADC0804),將其轉(zhuǎn)換為數(shù)字信號(hào)后,再傳給CPLD芯片(這里用到的型號(hào)是EP1K100QC208-3),即該系統(tǒng)的核心部件,通過硬件描述語(yǔ)言(VHDL)編程進(jìn)行信號(hào)處理,然后經(jīng)過預(yù)先設(shè)置好的端口將數(shù)字信號(hào)傳送給74LS138譯碼器以及驅(qū)動(dòng)器CD4511和報(bào)警器,使LED八段數(shù)碼管動(dòng)態(tài)顯示室溫和實(shí)現(xiàn)報(bào)警。經(jīng)實(shí)驗(yàn)調(diào)試,用該方法對(duì)0℃--100℃范圍的溫度測(cè)量時(shí),測(cè)量誤差為+0.4℃,可靠性好、抗干擾性能強(qiáng)。采用CPLD芯片作為核心監(jiān)控器對(duì)外界溫度進(jìn)行測(cè)量,這樣,既可以降低對(duì)溫度傳感器和放大電路的要求,從而降低成本,又可以針對(duì)不同外部環(huán)境或不同通道對(duì)溫度顯示的顯示監(jiān)控設(shè)定進(jìn)行靈活修改,實(shí)現(xiàn)系統(tǒng)的升級(jí)。
2.2 課題總體要求
(1) 利用電壓型溫度傳感器LM35D作為信息采集器件采集室溫并產(chǎn)生10mv/℃的電壓信號(hào);
(2) 利用OP07放大器將微弱的電壓信號(hào)放大預(yù)先設(shè)置好的倍數(shù),以驅(qū)動(dòng)后面電路;
(3) 利用A/D轉(zhuǎn)換器將放大后的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),供系統(tǒng)處理;
(4) 將數(shù)字信號(hào)送入CPLD芯片進(jìn)行處理;
(5) 時(shí)時(shí)顯示轉(zhuǎn)換后的室溫,進(jìn)行監(jiān)控;
(6) 溫度超過警戒溫度時(shí),進(jìn)行報(bào)警。
2.3 系統(tǒng)各部分方案比較
2.3.1 信號(hào)采集方案比較
在目前,信號(hào)采集有多種方法,而可用于本系統(tǒng)的溫度的信號(hào)采集大致有三種方法,下面分別介紹各種方法的優(yōu)缺點(diǎn),討論它們的可行性。
方案一:采用熱敏電阻采集室內(nèi)溫度信號(hào)。用此方法可滿足40℃--90℃的測(cè)量范圍,但熱敏電阻的精度、重復(fù)性及其可靠性都比較差,并且對(duì)于檢測(cè)小于1℃的溫度信號(hào)時(shí),誤差大、不可靠,所以此方法不可取。
方案二:利用電流型溫度傳感器AD590采集室內(nèi)溫度信號(hào)。AD590具有較高精度和重復(fù)性(重復(fù)性優(yōu)于0.1℃),其良好的非線性可以保證優(yōu)于+0.2℃的測(cè)量精度,利用其重復(fù)性較好的特點(diǎn),通過非線性補(bǔ)償,可以達(dá)到+0.2℃測(cè)量精度。
電流型溫度傳感器AD590是二端器件,它采用了一種獨(dú)特的電路結(jié)構(gòu),利用最新的薄膜激光微調(diào)技術(shù)作最后的定標(biāo),因而具有很高的精度。且其靈敏度為1uA/K,具有很寬的工作電源電壓范圍和很高的輸入阻抗。作為一種高阻電流源,我們不需要考慮其傳輸線上的電壓信號(hào)損失和噪聲干擾的問題,因此特別適合做遠(yuǎn)距離測(cè)量或控制應(yīng)用。出于同樣的道理,AD590也特別適用于多點(diǎn)溫度測(cè)量系統(tǒng),而不必考慮選擇開關(guān)或CMOS多路轉(zhuǎn)換開關(guān)所引入的附加電阻造成的誤差。
但是,由于AD590采集到的信號(hào)是電流信號(hào),所以在將數(shù)據(jù)傳給ADC0804模數(shù)轉(zhuǎn)換器之前,必須先把電流信號(hào)轉(zhuǎn)變成電壓信號(hào),在此期間不但造成了一定的信號(hào)損失,又影響了精度,這就要求我們?cè)贏/D轉(zhuǎn)換器前設(shè)計(jì)一個(gè)信號(hào)保持電路。這樣一來,用AD590來檢測(cè)、采集室溫的電路就顯得很復(fù)雜。而且,在高精度測(cè)溫電路中,還必須考慮AD590的輸出電流不被分流影響,因此也放棄使用本方案。
方案三:采用電壓型溫度傳感器LM35D采集溫度信號(hào)。LM35D是精密集成電路溫度傳感器,它的輸出電壓與攝氏溫度線性成比例,比例關(guān)系是10mV/℃。并且,LM35D無需外部校準(zhǔn)或微調(diào)來提供±0.4℃的常用的室溫精度,就把信號(hào)損失減少到了最小。而又因?yàn)樗木€性性極好,所以編程時(shí)很容易實(shí)現(xiàn)。因此,對(duì)于本課題來說,選用此方案。
2.3.2 模擬信號(hào)數(shù)字化處理方案
由于整個(gè)系統(tǒng)主要是處理數(shù)字信號(hào)而進(jìn)行工作的,所以當(dāng)由傳感器采集到模擬信號(hào)后,必須先進(jìn)行模數(shù)轉(zhuǎn)換才能夠使整個(gè)系統(tǒng)運(yùn)行工作。而對(duì)于模數(shù)轉(zhuǎn)換器件的選擇,本課題用的是ADC0804,即系統(tǒng)采用ADC0804模數(shù)轉(zhuǎn)換器作為模擬信號(hào)數(shù)字化的器件,進(jìn)行數(shù)字化處理,為系統(tǒng)提供數(shù)字信號(hào)量的。
2.3.3 信號(hào)處理方案
本系統(tǒng)利用CPLD芯片進(jìn)行信號(hào)處理。將經(jīng)過A/D轉(zhuǎn)換器轉(zhuǎn)換后的數(shù)字信號(hào)送入CPLD芯片,進(jìn)而根據(jù)已經(jīng)編好的程序(程序見附錄)處理溫度的數(shù)字信息,進(jìn)一步時(shí)時(shí)顯示室內(nèi)溫度和報(bào)警,達(dá)到時(shí)時(shí)監(jiān)控的目的。也就是說采用CPLD芯片作為系統(tǒng)信號(hào)處理主控制器。
2.3.4 顯示部分方案比較
方案一:以前的電子工程師們進(jìn)行電子設(shè)計(jì)時(shí),大部分都使用單片機(jī)通過串口通信線TXD、RXD(P3.0、P3.1),再加移位寄存器74LS164來實(shí)現(xiàn)LED的顯示功能,如圖2-1所示。這樣一來,使得每一個(gè)LED數(shù)碼管都需要一片74LS164,使得電路比較麻煩,并且與單片機(jī)接口的編程程序不易實(shí)現(xiàn),所以本課題放棄使用次方案。
LED
LED
74LS164
74LS164
RXD
TXD
圖2-1 通過串口通信線TXO 、RXD實(shí)現(xiàn)LED顯示功能
方案二:近年來,國(guó)內(nèi)外有許多基于串行總線方式的LED顯示器接口芯片不斷出現(xiàn),這些芯片與另一種功能更強(qiáng)、速度更快的控制芯片連接,可實(shí)現(xiàn)以往單片機(jī)不能實(shí)現(xiàn)的多種功能,并且具有占用I/O口線少,進(jìn)行功能擴(kuò)展方便,使用起來十分容易等特點(diǎn),這就是用EDA技術(shù)來開發(fā)的CPLD芯片,因此本系統(tǒng)選用此方案。
在選用CPLD芯片后,再選用3個(gè)共陰極的8段數(shù)碼顯示管(TOD5201AE)來實(shí)現(xiàn)動(dòng)態(tài)顯示,用CPLD已經(jīng)編好的程序來驅(qū)動(dòng)一片CD4511和一片74LS138就可以控制段碼和位選,以實(shí)現(xiàn)溫度顯示的功能。
2.3.5 系統(tǒng)報(bào)警方案設(shè)計(jì)
在設(shè)計(jì)開始時(shí),想要的系統(tǒng)功能之一,是想讓在室溫達(dá)到并超過警戒溫度時(shí),系統(tǒng)可實(shí)現(xiàn)報(bào)警,給人以提示。在此,可用一個(gè)風(fēng)鳴器和一個(gè)三極管放大電路來實(shí)現(xiàn)報(bào)警功能。具體的電路分析,詳述見下文中。
3 系統(tǒng)整體硬件設(shè)計(jì)方案
3.1 系統(tǒng)工作原理流程
根據(jù)課題設(shè)計(jì)要求可知,該系統(tǒng)需要利用電壓型溫度傳感器采集室內(nèi)溫度,產(chǎn)生10mV/℃的電壓信號(hào),隨后,將該信號(hào)送入放大器進(jìn)行放大,再把此放大后的信號(hào)送給A/D轉(zhuǎn)換器進(jìn)行模數(shù)轉(zhuǎn)換,之后由CPLD芯片編程處理,即通過CPLD芯片編程設(shè)定上下限報(bào)警溫度,并顯示轉(zhuǎn)換后的室溫。具體流程圖如圖3-1所示。
CPU控制電路
A/D轉(zhuǎn)換電路
放大電路
傳感器控制電路
譯碼驅(qū)動(dòng)電路
顯示電路
報(bào)警電路
圖3-1 系統(tǒng)流程圖
在溫度信號(hào)采集電路中采用方案三,使用線性成比例(10mV/℃)的電壓型溫度傳感器采集信號(hào),之后,將微弱電壓信號(hào)經(jīng)過整個(gè)硬件與軟件系統(tǒng)放大100倍后的電壓信號(hào)使其顯示就是室溫。首先,使采集到的電壓信號(hào)經(jīng)過放大電路放大十倍后送入A/D轉(zhuǎn)換器(ADC0804)。在此,將ADC0804的基準(zhǔn)電壓設(shè)為2.5V,由于它為8位轉(zhuǎn)換器,其內(nèi)部轉(zhuǎn)換關(guān)系將輸入信號(hào)擴(kuò)大50倍后,才將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)。之后,將轉(zhuǎn)換后的數(shù)字信號(hào)傳給CPLD芯片(EP1K100QC208-3),通過VHDL編程將擴(kuò)大了500倍的信號(hào)縮小5倍,即可將輸入的微弱電壓信號(hào)最終放大100倍,現(xiàn)在的電壓值便是室溫值。然后經(jīng)過設(shè)置的I/O口將數(shù)字信號(hào)傳送給74LS138譯碼器以及驅(qū)動(dòng)器CD4511和報(bào)警器,使LED八段數(shù)碼管動(dòng)態(tài)顯示室溫和實(shí)現(xiàn)報(bào)警,從而實(shí)現(xiàn)整個(gè)系統(tǒng)的設(shè)計(jì)功能。
3.2 傳感器及放大電路
3.2.1 電壓型溫度傳感器LM35D
如圖3-2所示,是一般傳感器的工作原理方框圖。
敏感元件
轉(zhuǎn)換元件
測(cè)量電路
輔助電源
非電量
電量
圖3-2 傳感器原理框圖
本系統(tǒng)的設(shè)計(jì)所用的傳感器為L(zhǎng)M35D,它是LM35系列的一種,是精密集成電路溫度傳感器,其輸出電壓與攝氏溫度線性成比例(10.0mV/℃),如圖3-3所示其關(guān)系[3]。
U(V)
40
30
20
10
0 1 2 3 4 5 T(℃)
圖3-3 傳感器溫度電壓關(guān)系曲線
因而LM35系列有優(yōu)于用開爾文作為標(biāo)準(zhǔn)的線性溫度傳感器,在額定工作溫度范圍內(nèi)精度為±3/4℃。其密封適合用TO-46晶體管封裝,也適合用塑料TO-92晶體管封裝。其特性如下:
(1) 直接用攝氏溫度校準(zhǔn),線性+10.0mV/℃比例因數(shù);
(2) 在-55~+150℃額定范圍內(nèi)保證0.5℃精度(在+25℃時(shí));
(3) 適用于遙控設(shè)備,因晶體片微調(diào)而低費(fèi)用;
(4) 工作在4~30V,小于60μA漏泄電流,有較低自熱,在靜止空氣中0.08℃;
(5) 只有±1/4℃非線性值,低阻抗輸出,1mA負(fù)載時(shí)0.1Ω。
LM35系列中的LM35D的工作電壓為4V~20V,故可直接用溫控電路的電源,但要加一個(gè)隔離二極管及平滑電容C。LM35D測(cè)溫范圍0℃~100℃,輸出電壓直接與攝氏溫度成比例,靈敏度為10mV/℃。將其輸出電壓接2V直流電壓擋數(shù)字萬用表,可讀出的分辨率為0.1℃的溫度讀數(shù)。例如:室內(nèi)溫度是28.7℃,那么其轉(zhuǎn)換關(guān)系是
28.7℃×10 mV/℃=287mV (3.1)
則表上的讀數(shù)就為287mV,即反映室內(nèi)溫度:28.7℃。
圖3-4 LM35D的引腳及封裝
集成溫度傳感器LM35D是把測(cè)溫傳感器與放大電路做在一個(gè)硅片上,形成一個(gè)集成溫度傳感器,它的外形與封裝如下圖(見圖3-4)。圖3-4
LM35D是一種輸出電壓與攝氏溫度成正比例的溫度傳感器,精度為±1℃。最大線性誤差為±0.5℃,靜態(tài)電流為80uA。該器件如塑封三極管(TO-92)。該溫度傳感器最大的特點(diǎn)是使用時(shí)無需外圍元件,也無需調(diào)試和較正(標(biāo)定)。如下圖所示(圖3-5)是LM35D的典型測(cè)溫電路及其轉(zhuǎn)換電路的接口電路。
圖3-5 LM35D的典型測(cè)溫電路及與轉(zhuǎn)換電路接口
在圖3-5中,經(jīng)LM35D輸出端輸出的信號(hào)經(jīng)過了由75的電阻和1uF的電容構(gòu)成的積分濾波網(wǎng)絡(luò),可濾除其他的雜質(zhì)信號(hào),使采集到的與溫度成比例(10mV/℃)的電壓信號(hào)更加穩(wěn)定,之后再將溫度信號(hào)經(jīng)過放大器送給ADC0804進(jìn)行轉(zhuǎn)換。
3.2.2 放大電路設(shè)計(jì)
圖3-6 系統(tǒng)的放大電路部分
如圖3-6所示,為系統(tǒng)的放大電路部分,電壓型溫度傳感器LM35D采集到的室溫為很微弱的模擬量。例如:若室溫為26℃,那么經(jīng)LM35D采集后得到的電壓信號(hào)為0.26 V,這樣一個(gè)微弱的電壓信號(hào),既不利于處理又容易產(chǎn)生誤差且不穩(wěn)定。所以我們需要將此信號(hào)在整個(gè)硬件系統(tǒng)和軟件系統(tǒng)中放大100倍(如前所述),之后將其送入驅(qū)動(dòng)電路,即可在LED數(shù)碼管上顯示室溫,達(dá)到目的。如圖所示,在放大電路中,取R6為1K是為了好計(jì)算放大倍數(shù),R5用20K的滑動(dòng)變阻器使這個(gè)0.26 V的微弱電壓信號(hào)可以在0--20的放大倍數(shù)范圍內(nèi)可調(diào),在此,將其放大10倍,因此需要將R5調(diào)至10K。這樣經(jīng)放大器OP07放大后從第6腳輸出的電壓信號(hào)就為放大十倍的2.6V。這樣就足以驅(qū)動(dòng)后面的電路進(jìn)行工作,達(dá)到系統(tǒng)設(shè)計(jì)的目的。
3.3 A/D轉(zhuǎn)換電路部分分析
3.3.1 A/D轉(zhuǎn)換器
隨著數(shù)字技術(shù),特別是計(jì)算機(jī)技術(shù)的飛速發(fā)展與普及,在現(xiàn)代控制、通信及檢測(cè)領(lǐng)域中,為提高系統(tǒng)的性能指標(biāo),對(duì)信號(hào)的處理無不廣泛的采用了數(shù)字計(jì)算機(jī)。但由于系統(tǒng)的實(shí)際對(duì)象往往都是一些模擬量(如溫度、壓力、位移、圖象等),所以要使計(jì)算機(jī)或數(shù)字儀表能識(shí)別和處理這些信號(hào),首先就必須將這些模擬信號(hào)轉(zhuǎn)變?yōu)閿?shù)字信號(hào),這樣就需要一種能將模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)的電路——模數(shù)轉(zhuǎn)換器(A/D轉(zhuǎn)換器)。而為了將時(shí)間和幅值都連續(xù)的模擬信號(hào)轉(zhuǎn)化為時(shí)間和幅值都離散的數(shù)字信號(hào),一般要經(jīng)過四個(gè)過程[5],如圖3-7所示。
取 樣
保 持
量 化
編 碼
模擬信號(hào)
數(shù)字信號(hào)
圖3-7 模數(shù)轉(zhuǎn)換流程
而在實(shí)際電路中,上述四個(gè)過程中有的是合并進(jìn)行的。例如,取樣和保持、量化和編碼,往往都是在轉(zhuǎn)化過程中同時(shí)實(shí)現(xiàn)的。具體介紹如下:
(1) 取樣與保持
取樣是將隨時(shí)間連續(xù)變化的模擬量轉(zhuǎn)換為時(shí)間離散的模擬量(這里要注意的是取樣以后信號(hào)依然是模擬量)。取樣的過程示意圖如圖3-8 所示。
Vo(t)
Vi(t)
TG
S(t)
圖3-8 取樣過程
圖中的傳輸門受取樣信號(hào)S(t)的控制,在S(t)的脈寬τ期間,傳輸門導(dǎo)通,輸出信號(hào)Vo(t)為輸入信號(hào)Vi(t),即Vo(t)=Vi(t),而在(Ts-τ)期間,傳輸門關(guān)閉,輸出信號(hào)Vo(t)=0??梢?,取樣就是在一個(gè)固定的時(shí)間點(diǎn)上采集一個(gè)模擬信號(hào)的具體值,而要將取樣得來的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)得經(jīng)過一段時(shí)間,所以有必要將取樣電路每次取得的信號(hào)通過保持電路保持一段時(shí)間,以便給后續(xù)的量化編碼提供一個(gè)穩(wěn)定值,即使用保持電路使整個(gè)系統(tǒng)更加協(xié)調(diào)穩(wěn)定。
(2) 量化與編碼
數(shù)字信號(hào)不僅在時(shí)間上是離散的,而且在幅值上也是不連續(xù)的。任何一個(gè)數(shù)字量的大小只能是某個(gè)規(guī)定的最小數(shù)量單位的整數(shù)倍。為了將模擬信號(hào)轉(zhuǎn)化為數(shù)字量,在A/D轉(zhuǎn)化過程中,還必須將取樣-保持電路的輸出電壓,按某種近似方式歸化到與之相應(yīng)的離散電平上。這一轉(zhuǎn)化過程稱為數(shù)值量化,簡(jiǎn)稱量化。量化后的數(shù)值最后還必須用某一個(gè)代碼表示出來,這個(gè)過程就叫做編碼。經(jīng)編碼得到的代碼就是A/D轉(zhuǎn)換器的最后輸出量,就是表示模擬信號(hào)大小的數(shù)字信號(hào)量。
3.3.2 A/D轉(zhuǎn)換器的選擇
近年來,A/D轉(zhuǎn)換器隨著半導(dǎo)體技術(shù)的不斷發(fā)展而日新月異,各種性能優(yōu)異的A/D轉(zhuǎn)換器層出不窮。早期的A/D轉(zhuǎn)換器與CPU接口一般采用并行總線方式,現(xiàn)在一些采用I2C、SPI 總線的新型A/D轉(zhuǎn)換器相繼被國(guó)外一些公司推出,極大地豐富了A/D轉(zhuǎn)換器的種類。
A/D轉(zhuǎn)換器的位數(shù)與一個(gè)應(yīng)用系統(tǒng)前向通道中被測(cè)量對(duì)象的精度有關(guān)。一般情況下,由于客觀條件的影響,電路設(shè)計(jì)中A/D轉(zhuǎn)換器的分辨率要高于被測(cè)量對(duì)象的信號(hào)最低分辨率。假如,我們要測(cè)量一組電源電壓,其電壓的輸出范圍是0—10V,如要求精確到0.1V,即分辨率為0.1/10=1%,那么在實(shí)際應(yīng)用中我們選擇分辨率為1/256=0.4%的8位A/D轉(zhuǎn)換器便可滿足要求。當(dāng)然,A/D轉(zhuǎn)換器的位數(shù)越多,分辨率也就越高,但是成本也就隨之愈高。因此在實(shí)際電路的設(shè)計(jì)中,選擇A/D轉(zhuǎn)換器也不能一味強(qiáng)調(diào)位數(shù),應(yīng)該在滿足系統(tǒng)性能指標(biāo)的前提下,追求最高的性能價(jià)格比。
目前,被廣泛使用的A/D轉(zhuǎn)換器種類很多,從接口協(xié)議上分為串行和并行兩種方式。串行接口的A/D轉(zhuǎn)換器占用較少的CPU外部I/O資源,主要采用的協(xié)議有SPI和I2C等方式,程序設(shè)計(jì)較并行接口略顯繁瑣,典型的芯片有TI公司的TLC2543\1543等等。并行接口的A/D轉(zhuǎn)換器芯片目前仍占多數(shù),流行的有ADC0804、ADC0809 、AD574等等。而本課題的設(shè)計(jì)使用的是ADC0804來完成模擬信號(hào)向數(shù)字信號(hào)轉(zhuǎn)變的。下面就來介紹A/D 轉(zhuǎn)換芯片的硬件設(shè)計(jì)方法。
3.3.3 A/D轉(zhuǎn)換電路
圖3-9 A/D轉(zhuǎn)換電路
如圖3-9 所示,是A/D轉(zhuǎn)換器ADC0804的硬件設(shè)計(jì)電路,其中ADC0804是逐次逼近型8位8通道A/D模數(shù)轉(zhuǎn)換器。它的主要技術(shù)指標(biāo)是:8位分辨率,±1/2LSB的轉(zhuǎn)換精度,轉(zhuǎn)換時(shí)間典型值為100us(時(shí)鐘頻率為640KHZ時(shí)),電源電壓為單電源5V。其引腳中DB0—DB7為8位數(shù)字信號(hào)輸出端(即轉(zhuǎn)換后的數(shù)字量),VCC為電源端,GND為接地端,VREF為參考電壓輸入端,CLK是時(shí)鐘信號(hào)輸入端,第6腳接的是放大器送出的溫度信號(hào)量。
信號(hào)從ADC0804的第6腳送入,R3與C3通過ADC0804的19腳(CLKR)接地與4腳(CLK)向內(nèi)部電路提供時(shí)鐘信號(hào),以給ADC0804一個(gè)正確的時(shí)序,使其正確工作。
如果從量程為0--100℃LM35D采集到最高溫度100℃,那么由于LM35D靈敏度為10mV/℃以及經(jīng)過放大器OP07后放大十倍,則傳到ADC0804輸入腳VI+的電壓信號(hào)為10V,再經(jīng)過ADC0804內(nèi)部的輸入電壓與基準(zhǔn)電壓的公式(如下)放大50倍(此50倍為數(shù)字量的50倍):
(Ui/VREF*2)*256 (3.2)
其中“*”符號(hào)表示乘的意思,Ui表示為輸入電壓,即VI+,VREF為ADC0804內(nèi)部設(shè)定的基準(zhǔn)電壓(隨時(shí)可以更改)。如下圖(圖3-10)是A/D轉(zhuǎn)換過程:
Ve
Vx
(1000)(0100)(0110)(0111)
t
圖3-10 A/D轉(zhuǎn)換過程原理圖
在硬件設(shè)計(jì)中,我們將基準(zhǔn)電壓(VREF)調(diào)至2.5V,將VI+=10V代入上公式則可得ADC0804的輸出為10V電壓的256/5≈50倍,將其送入電路的信息處理部分—CPLD芯片,再利用軟件的方法將結(jié)果除以5便可達(dá)到最終的放大目的,之后送入驅(qū)動(dòng)電路使其顯示出最大溫度為100℃。由于A/D轉(zhuǎn)換器的分辨率為1/256=0.4%,我們將最高溫度設(shè)為100℃的話,可得它的測(cè)量精度為100/256=0.4℃。那么如果將最高溫度設(shè)為50℃,我們可得它的溫度范圍為0--50℃,測(cè)量精度為50/256=0.2℃。為了提高精度,我們將最高報(bào)警溫度設(shè)為50℃。
還如前面的例子,如果室溫為26℃,那么經(jīng)放大電路放大后傳到ADC0804輸入角VI+的電壓信號(hào)為2.6V,將其代入上公式則可得ADC0804的輸出為2.6V電壓的256/5≈50倍的二進(jìn)制數(shù),將其送入系統(tǒng)的主控制器,我們?cè)倮密浖姆椒▽⒔Y(jié)果除以5便可得送入驅(qū)動(dòng)電路使其顯示出的溫度為26℃。在這個(gè)轉(zhuǎn)換電路中,ADC0804起著兩個(gè)作用,一是將模擬量轉(zhuǎn)換為二進(jìn)制的數(shù)字量,二是將此輸入信號(hào)在放大電路放大10倍后再放大50倍。
ADC0804由CPLD芯片預(yù)設(shè)控制端啟動(dòng),它與CPLD的接口電路工作的流程圖如圖3-11所示。
經(jīng)ADC0804轉(zhuǎn)換后的二進(jìn)制數(shù)字信號(hào)通過DB0---DB7端口傳CPLD芯片的預(yù)設(shè)輸入端,供后面編程控制,使其縮小5倍,然后顯示室溫。CS端為ADC0804的片選信號(hào)端,低電平有效。、分別為寫、讀端,將其與CPLD芯片的寫、讀端相連。INTR端為中斷口,當(dāng)其為高電平時(shí)表示轉(zhuǎn)換完成,之后,送中斷信號(hào)給單片機(jī),等待CPLD芯片發(fā)出信號(hào)接收轉(zhuǎn)換好的數(shù)據(jù)??梢姡谡麄€(gè)系統(tǒng)中,A/D轉(zhuǎn)換電路起著至關(guān)重要的作用。它的設(shè)計(jì)好壞直接影響著整個(gè)系統(tǒng)的工作性能。
通道、數(shù)據(jù)地址初始化
啟動(dòng)ADC0804
CS=0?
數(shù)據(jù)區(qū)地址加一
8個(gè)通道采集結(jié)束
讀A/D轉(zhuǎn)化結(jié)果到數(shù)據(jù)存儲(chǔ)區(qū)
結(jié)束
是
是
否
否
圖3-11 ADC0804工作流程圖
3.4 系統(tǒng)主控制器選擇
3.4.1 CPLD(FPGA)概述
集成電路的發(fā)展大大促進(jìn)了EDA的發(fā)展,從而使電路設(shè)計(jì)從傳統(tǒng)的“自上而下”的設(shè)計(jì)方法轉(zhuǎn)變?yōu)椤白韵露稀钡脑O(shè)計(jì)方法。設(shè)計(jì)師們都希望自己設(shè)計(jì)的芯片能夠反映自己的思想,并且能夠及時(shí)的投入生產(chǎn)使用,這都有益于可編程邏輯器件(PLD)的出現(xiàn)。
現(xiàn)在應(yīng)用最廣泛的PLD主要是現(xiàn)場(chǎng)可編程門陣列(FPGA,F(xiàn)ield programmable Gate Array)和復(fù)雜可編程邏輯器件(CPLD,Complex Programmable Logic Device)[7]~[9]。
可編程邏輯器件(PLD,Programmable Logic Device)是ASIC的一個(gè)重要分支,其發(fā)展歷程大致經(jīng)歷了以下幾個(gè)階段:
(1) 20世紀(jì)70年代,熔絲編程的PROM和PLA器件是最早的可編程邏輯器件。
(2) 20世紀(jì)70年代末,對(duì)PLA進(jìn)行了改進(jìn),AMD公司推出PAL器件。
(3) 20世紀(jì)80年代初,Lattice公司發(fā)明電可擦寫的,比PAL使用更靈活的GAL器件。
(4) 20世紀(jì)80年代中期,Xilinx公司提出現(xiàn)場(chǎng)可編程概念,同時(shí)生產(chǎn)出世界上第一塊
FPGA芯片,并且,Altera公司推出EPLD器件,較之Gal器件具有更高的集成度,可用電或紫外線擦除。
(5) 20世紀(jì)80年代末,Lattice公司又提出系統(tǒng)可編程技術(shù),推出一系列具備系統(tǒng)可編
程能力的CPLD器件,能實(shí)現(xiàn)更復(fù)雜的邏輯功能。
(6) 20世紀(jì)90年代,可編程邏輯集成電路技術(shù)進(jìn)入飛速發(fā)展時(shí)期,器件的可用邏輯門超過百萬門,并出現(xiàn)了內(nèi)嵌發(fā)展功能模塊(如加法器、乘法器、RAM、CPU核、DSP核、PLL等)的SOPC。
總的說來,PLD器件是廠家作為一種通用型器件生產(chǎn)的半定制電路,用戶可通過對(duì)器件編程實(shí)現(xiàn)所需要的邏輯功能。并且它是一種用戶可配置的邏輯器件,其成本比較底,使用靈活,設(shè)計(jì)周期短,而且可靠性高,風(fēng)險(xiǎn)小,因而很快得到普及應(yīng)用,發(fā)展非成迅速。從20世紀(jì)70年代發(fā)展到現(xiàn)在,PLD已經(jīng)在各個(gè)方面的工藝上取得了突破和不斷發(fā)展。經(jīng)歷了從PROM、PLA、PAL、GAL到CPLD(FPGA)、ispLSI等高密度的PLD發(fā)展過程。其中PAL和GAL都所于簡(jiǎn)單的PLD,它們結(jié)構(gòu)簡(jiǎn)單,設(shè)計(jì)靈活,對(duì)開發(fā)軟件的要求低,但是規(guī)模都很小,難以實(shí)現(xiàn)復(fù)雜的邏輯功能,所以隨著技術(shù)的發(fā)展,種種弊端也暴露出來,因此,CPLD等一系列的復(fù)雜PLD迅速的發(fā)展起來,并向著高密度,高速度,低功耗以及結(jié)構(gòu)體系更靈活、通用范圍更廣的方向發(fā)展。
復(fù)雜可編程邏輯器件(CPLD,復(fù)雜PLD。統(tǒng)稱將集成度達(dá)到一定程度的PLD器件叫做CPLD。),是20世紀(jì)80年代末Lattice公司提出的在線可編程(isp,In system programmability)技術(shù)以后,于20世紀(jì)90年代初出現(xiàn)的。它是在EPLD的基礎(chǔ)上,采用E2CMOS工藝制作發(fā)展起來的。與EPLD相比,它增加了內(nèi)部連線,對(duì)邏輯宏單元和I/O口都有重大的改進(jìn)。CPLD至少包括三個(gè)部分:可編程邏輯宏單元,可編程I/O單元和可編程內(nèi)部連線。典型的器件有Altera的MAX7000系列,Xilinx的7000和9500系列,Lattice的PLSI/ispLSI系列和AMD的MACH系列。
隨著數(shù)字邏輯系統(tǒng)功能復(fù)雜化程度的不斷加大,集成芯片正朝著超大規(guī)模、高密度的方向發(fā)展。與此同時(shí),人們發(fā)現(xiàn)一個(gè)超大規(guī)模的數(shù)字時(shí)序系統(tǒng)芯片在工作時(shí)從時(shí)間軸上來看,并不是每一瞬間系統(tǒng)的各個(gè)部分都在工作,而系統(tǒng)是各個(gè)局部模塊功能在時(shí)間鏈上的總成。同時(shí)還發(fā)現(xiàn),基于SRAM編程的CPLD/FPGA可以在外部邏輯的控制下,通過存儲(chǔ)于存儲(chǔ)器中不同的目標(biāo)系統(tǒng)數(shù)據(jù)的重新下載,來實(shí)現(xiàn)芯片邏輯功能的改變。正是基于這個(gè)稱之為靜態(tài)系統(tǒng)重構(gòu)的技術(shù),有人設(shè)想利用芯片的這種分時(shí)復(fù)用特性,用較小規(guī)模的CPLD(或FPGA)芯片來實(shí)現(xiàn)更大規(guī)模的數(shù)字時(shí)序系統(tǒng)。在研究過程中人們卻發(fā)現(xiàn)常規(guī)的SRAM的CPLD只能實(shí)現(xiàn)靜態(tài)系統(tǒng)重構(gòu)。因?yàn)樵撔酒δ艿闹匦屡渲么蠹s需要數(shù)毫秒到數(shù)十毫秒量級(jí)的時(shí)間;而在重新配置數(shù)據(jù)的過程中,舊的邏輯功能失去,新的邏輯功能尚未建立,電路邏輯在時(shí)間軸上斷裂,系統(tǒng)功能無法動(dòng)態(tài)連接。要實(shí)現(xiàn)高速的動(dòng)態(tài)重構(gòu),要求芯片功能的重新配置時(shí)間縮短到納秒量級(jí),這就需要對(duì)CPLD的內(nèi)部組成結(jié)構(gòu)進(jìn)行革新。
在早期的CPLD中,由結(jié)構(gòu)相同的邏輯陣列組成宏單元模塊。對(duì)一個(gè)邏輯陣列單元來說,輸入項(xiàng)由專用的輸入端和I/O端組成,來自I/O端口輸入項(xiàng),可通過I/O結(jié)構(gòu)控制模塊的反饋選擇,也可以由I/O端直接輸入,也可以是本單元輸出的內(nèi)部反饋。所有的輸出項(xiàng)都經(jīng)過緩沖器驅(qū)動(dòng),并輸出其輸入的原碼及補(bǔ)碼??梢钥闯?,早期CPLD中的邏輯陣列結(jié)構(gòu)與PAL、GAL中的結(jié)構(gòu)極為類似,只是用EPROM單元取代了PAL中的熔絲和GAL中的EEPROM單元。和GAL一樣,CPLD可實(shí)現(xiàn)擦除和再編程功能。在基本結(jié)構(gòu)中,每個(gè)或門有8個(gè)固定乘積項(xiàng),也就是說邏輯陣列單元中的或門陣列是固定的、不可編程的,當(dāng)遇到復(fù)雜的組合邏輯時(shí),需要的乘積項(xiàng)可能超過8個(gè),這就要用兩個(gè)或多個(gè)邏輯單元來實(shí)現(xiàn),致使器件的利用率不高。為此,目前的CPLD在邏輯陣列單元結(jié)構(gòu)方面做了很大的改進(jìn),主要表現(xiàn)在以下兩個(gè)方面:
(1) 乘積項(xiàng)數(shù)目不同的邏輯陣列單元
對(duì)于復(fù)雜的邏輯器件來說,邏輯函數(shù)往往需要附加乘積項(xiàng)。以便利用其他宏單元以提供以提供所需的邏輯資源,還可以利用其結(jié)構(gòu)中具有的共享和并聯(lián)擴(kuò)展乘積項(xiàng)。達(dá)到盡可能的少占資源,并且盡可能的加快工作速度的目的。
(2) 具有兩個(gè)或項(xiàng)輸出的邏輯陣列單元
每個(gè)邏輯陣列單元可以共享相鄰單元中的乘積項(xiàng),也可以使本單元中的兩個(gè)或項(xiàng)都可用于相鄰的兩個(gè)單元中,這樣,既提高了器件內(nèi)部各單元的利用率,又可實(shí)現(xiàn)更為復(fù)雜的邏輯功能。
CPLD的I/O口控制模塊,根據(jù)器件的類型和功能的不同,可有各種不同的結(jié)構(gòu)形式,但基本上每個(gè)模塊都由輸出極性轉(zhuǎn)換電路、觸發(fā)器和輸出三態(tài)緩沖器三部分及于它們相關(guān)的選擇電路組成。各個(gè)生產(chǎn)廠家可以根據(jù)不同的用途和使用對(duì)象的不同進(jìn)行選擇生產(chǎn),以求達(dá)到最佳的生產(chǎn)和使用目的。
3.4.2 CPLD芯片簡(jiǎn)介及器件選擇
CPLD(或FPGA)的主要生產(chǎn)廠家是Altera公司、Xilinx、Lattice等,各自都有自己的產(chǎn)品特點(diǎn)。
(1) Altera公司CPLD的系列型號(hào)
Altera公司多年來一直在PLD行業(yè)保持著領(lǐng)先地位,并在我國(guó)有著較多的用戶,該公司的PLD器件具有高性能、高集程度、高性價(jià)比、低功耗等特點(diǎn)。主要型號(hào)有膠合(glue)邏輯類的MAX系列,低價(jià)位的ACEX系列、高速FLEX系列、高密度的APEX系列等。而后來又推出的EPM系列和EPF系列的集程度更是大大提高,性能更加優(yōu)越。
在眾多的產(chǎn)品系列中,Altera公司推出的新型低成本CPLD器件—ACEX系列的主要特點(diǎn)為:密度范圍大,從1萬到10萬門(56,000到257,000系統(tǒng)門);配備鎖相環(huán)(PLL)技術(shù),與64位、66MHZ的PCI兼容;產(chǎn)品系列從原1.8v擴(kuò)展至2.5v;提供系統(tǒng)速度超過115MHZ的高性能功能。所以,ACEX系列是許多設(shè)計(jì)者進(jìn)行設(shè)計(jì)的優(yōu)選器件。
(2) Xilinx公司CPLD的系列型號(hào)
Xilinx公司是在1985年首次推出CPLD器件的,隨后不斷的推出新的集程度更高、速度更快、價(jià)格更低的CPLD器件。其主要的CPLD器件以CoonRunner和XC9500兩大系列為代表。其中XC9500系列被廣泛應(yīng)用于通信、網(wǎng)絡(luò)和計(jì)算機(jī)等產(chǎn)品中。該系列器件采用快閃存技術(shù),比E2CMOS技術(shù)工藝的速度更快,功耗更低。目前,Xilinx公司XC9500系列CPLD的tPD可達(dá)4ns,宏單元數(shù)可達(dá)288個(gè),系統(tǒng)時(shí)鐘可達(dá)200MHZ。XC9500系列器件支持PCI總線規(guī)范和JTAG邊界掃描測(cè)試功能,具有在系統(tǒng)可編程(isp)能力。該系列有XC9500、XC9500XV和XC9500XL三種類型,內(nèi)核電壓分別為5V、2.5V、3.3V,也就如前所說,其功耗很低。
(3) Lattice公司CPLD的系列型號(hào)
Lattice公司是最早推出PLD器件的公司,20世紀(jì)90年代以來,Lattice公司首先發(fā)明了isp技術(shù),并將E2CMOS與isp技術(shù)相結(jié)合,使CPLD的應(yīng)用領(lǐng)域有了巨大的發(fā)展。其產(chǎn)品主要有ispLSI、ispMACH等系列。集程度在1萬門到2.5萬門之間。工作電壓在3.3V,而其I/O口引腳可兼容5V、3.3V和2.5V等接口標(biāo)準(zhǔn)。可用于高位的數(shù)字系統(tǒng)中,準(zhǔn)確率很高。
其中ispLSI系列器件又分為四個(gè)系列:ispLSI1000系列、ispLSI2000系列、ispLSI6000系列和ispLSI8000系列。都可以滿足復(fù)雜程度很高的邏輯功能設(shè)計(jì)。
根據(jù)以上所述,各個(gè)廠家生產(chǎn)的CPLD芯片可謂各有各的優(yōu)點(diǎn),功能都很齊全,而在本系統(tǒng)的設(shè)計(jì)中,對(duì)CPLD芯片的選擇是選用了Altera公司ACEX1K系列的EP1K100QC208-3。因?yàn)楸救嗽谄綍r(shí)的實(shí)踐訓(xùn)練中用的多數(shù)都是此芯片,有較多的關(guān)于EP1K100QC208-3的資料可以查詢,對(duì)EP1K100QC208-3的大多性能都有了一定的了解,用起來可以得心應(yīng)手,并且與其他的CPLD芯片比起來,EP1K100QC208-3這一型號(hào)的優(yōu)點(diǎn)也很多,功能也很強(qiáng)大,故選擇該器件。
3.4.3 EP1K100QC208-3簡(jiǎn)單介紹說明
EP1K100QC208-3(管腳圖見附錄2)是Altera公司生產(chǎn)的ACEX1K系列中的一個(gè)型號(hào)。它一共有208個(gè)管腳,其中I/O口有124個(gè),GNDIN有20個(gè),VCCIN有11個(gè),VCCIO有14個(gè),VCC_CLK和GND_CLK各有一個(gè),另外還有時(shí)鐘、數(shù)據(jù)輸入、專用程序下載口等一共是37個(gè)。在此芯片上有如此多的I/O口,其目的就是為了方便用戶可以任意定義信號(hào)的輸入輸出口,從而實(shí)現(xiàn)復(fù)雜的邏輯功能。這也是CPLD的復(fù)雜功能所在,更是EP1K100QC208-3的用途所在。
3.5 報(bào)警電路
圖3-12 報(bào)警電路
由于由CPLD芯片的預(yù)設(shè)輸出口發(fā)出的電壓信號(hào)非常微弱,因此,需要將其放大,才能帶動(dòng)蜂鳴器使其工作。R8用一個(gè)滑動(dòng)變阻器使這個(gè)電壓信號(hào)的放大倍數(shù)可調(diào),此報(bào)警電路的輸入引腳由CPLD芯片輸出端給,我們?cè)谙到y(tǒng)中設(shè)的下限報(bào)警溫度為10℃,上限報(bào)警溫度為30℃。在軟件設(shè)計(jì)中,當(dāng)由ADC0804采集到的溫度超出10—50℃的范圍,令CPLD芯片的固定輸出口為“1”,則可實(shí)現(xiàn)蜂鳴器報(bào)警,如圖3-12所示。
3.6 譯碼、驅(qū)動(dòng)電路
圖3-13 譯碼、驅(qū)動(dòng)電路
如圖3-13中所示,譯碼器74LS138與共陰極LED數(shù)碼管驅(qū)動(dòng)器CD4511是由CPLD的輸出口控制的,其中,P1、P2、P3與譯碼器的輸入相接,C為高位,A為地位。對(duì)四個(gè)共陰極數(shù)碼管實(shí)現(xiàn)位選。在一個(gè)控制測(cè)試系統(tǒng)中,對(duì)共陰極LED顯示器的控制采用“接地方式”,即通過控制LED的“GND”引腳的電平高低來達(dá)到選通的目的,該引腳即通常所說的位選線。例如:我們想要讓第三位數(shù)碼管工作,那么需要使L3的位選線接低電平來達(dá)到目的,也就是使譯碼器輸出中的Y3為0,其他為1。本系統(tǒng)中,我們采用動(dòng)態(tài)顯示方式,因此,需要不斷的片選,而共陰極LED顯示器的發(fā)光二極管負(fù)極接地,當(dāng)發(fā)光二極管的正極為高電平時(shí),發(fā)光二極管被點(diǎn)亮。這就需要用CD4511來驅(qū)動(dòng),例如:要顯示0字形時(shí),需要LED顯示器的8個(gè)發(fā)光二極管“a,b,c,d,e,f,g”七個(gè)字段中的“a,b,c,d,e,f”亮,那么,就需要使CD4511輸出中的A、B、C、D、E、F為高電平。這是CD4511芯片內(nèi)部已設(shè)定好的,表3-1為CD4511芯片內(nèi)部的二進(jìn)制與輸入與輸出的對(duì)應(yīng)關(guān)系列表。
表3-1 CD4511輸入輸出邏輯對(duì)應(yīng)關(guān)系
D C B A
dp G F E D C B A
0 0 0 0
0 0 1 1 1 1 1 1
0 0 0 1
0 0 0 0 0 1 1 0
0 0 1 0
0 1 0 1 1 0 1 1
0 0 1 1
0 1 0 0 1 1 1 1
0 1 0 0
0 1 1 0 0 1 1 0
0 1 0 1
0 1 1 0 1 1 0 1
0 1 1 0
0 1 1 1 1 1 0 0
0 1 1 1
0 0 0 0 0 1 1 1
1 0 0 0
0 1 1 1 1 1 1 1
1 0 0 1
0 1 1 0 0 1 1 1
3.7 顯示電路(LED)
3.7.1 數(shù)碼管的選擇
在一個(gè)控制應(yīng)用系統(tǒng)中,顯示是人機(jī)通道的重要組成部分。目前廣泛使用的顯示器件主要有LED(二極管顯示器)、LCD(液晶顯示器)和VFD(真空熒光管)等。LED顯示器造價(jià)低廉,與核心控制設(shè)備接口方便靈活,技術(shù)上易于實(shí)現(xiàn),但只能顯示阿拉伯?dāng)?shù)字和少數(shù)字符,通常用于對(duì)顯示要求不高的場(chǎng)合。LCD和VFD顯示器成本較高,但可以顯示包括漢字在內(nèi)的多種字符,甚至是復(fù)雜的圖形和曲線,并且耗電極省,可廣泛用于各種終端設(shè)備,如PDA、手機(jī)、觸摸屏等等。本文主要介紹LED顯示方式,及本系統(tǒng)的選擇顯示方式。
LED顯示器的基本結(jié)構(gòu)和原理:LED顯示器采用發(fā)光二極管顯示字段。一般的控制電路系統(tǒng)中經(jīng)常采用的是八段顯示器,即LED顯示器中有8個(gè)發(fā)光二極管,代表“a,b,c,d,e,f,g”七個(gè)字段和一小數(shù)點(diǎn)“dp ”。再者LED有共陰和共陽(yáng)兩種結(jié)構(gòu)。共陰極LED顯示器的發(fā)光二極管負(fù)極接地,當(dāng)發(fā)光二極管的正極為高電平時(shí),發(fā)光二極管被點(diǎn)亮。而共陽(yáng)極LED顯示器正好相反,發(fā)光二極管正極相連,當(dāng)二極管的負(fù)極為低電平時(shí),發(fā)光二極管被點(diǎn)亮。
在一個(gè)電子控制系統(tǒng)中,對(duì)共陰極LED顯示器的控制采用“接地方式”,即通過控制LED的“GND”引腳的電平高低來達(dá)到選通的目的,該引腳即通常所說的位選線。共陽(yáng)極LED顯示器控制方式則相反。兩種控制方式中,共陰極LED控制方式受系統(tǒng)器件功耗限制,只能用在小尺寸的LED顯示器中。對(duì)于大尺寸LED顯示器的控制(如大屏幕計(jì)時(shí)器)一般使用共陽(yáng)極方式。
LED的顯示和接口方式:LED數(shù)碼管的顯示有靜態(tài)和動(dòng)態(tài)兩種方式。從接口上分又有并行和串行兩種,這要視接口和驅(qū)動(dòng)芯片而定。常用的并行LED接口芯片有8155、8255 以及鍵盤和顯示專用芯片8279等。而與并行方式相比,串行方式僅占用CPU少數(shù)幾根I/O口線便可實(shí)現(xiàn)LED顯示功能。在靜態(tài)顯示方式中,多個(gè)LED顯示器中的每一個(gè)段代碼都與一個(gè)獨(dú)立的8位并行口連接,公共端則根據(jù)LED的種類(共陰或共陽(yáng))連接到“GND”或“VCC ”上。假如有四位靜態(tài)LED顯示電路中,那么每個(gè)LED的段代碼都要有獨(dú)立的并行8位I/O口線控制,可以在同一時(shí)間內(nèi)顯示不同的字符。靜態(tài)LED顯示方式的優(yōu)點(diǎn)是編程容易,但功耗大,占用CPU的I/O口線較多,成本也較高。因此在電子設(shè)計(jì)系統(tǒng)中較多使用的還是動(dòng)態(tài)顯示方式。所謂動(dòng)態(tài)顯示,實(shí)質(zhì)上就是各個(gè)不同的LED顯示器按照一定的順序輪流顯示。它利用了人眼的“視覺暫留現(xiàn)象”,只要多個(gè)LED顯示器的選通掃描速率足夠快,人眼就覺察不到數(shù)碼管的閃爍現(xiàn)象。在動(dòng)態(tài)掃描方式下,所有LED段選線并聯(lián)在一起,只由一個(gè)8位的I/O口控制,而各個(gè)LED的位選線則由另外一組I/O口控制。動(dòng)態(tài)LED顯示方式的優(yōu)點(diǎn)是功耗較低,占用CPU的I/O線少,外圍接口簡(jiǎn)單,所以本系統(tǒng)便是采用了動(dòng)態(tài)LED顯示方式。
3.7.2 顯示電路設(shè)計(jì)
由于測(cè)量室溫的精度為0.2℃,因此,顯示中會(huì)出現(xiàn)小數(shù)點(diǎn),在這里我們選用四個(gè)數(shù)碼管,第一個(gè)備用,因?yàn)楸鞠到y(tǒng)選用的測(cè)溫元件為L(zhǎng)M35D,測(cè)溫范圍為0~100℃,當(dāng)不需要很大精度時(shí),可以通過軟件將顯示范圍調(diào)到0~+100℃,也就是可以將上限報(bào)警溫度設(shè)置為100℃,這樣,顯示最高溫度再加上小數(shù)點(diǎn)后一位,就是四位顯示。為簡(jiǎn)單起見,顯示電路中的第三個(gè)數(shù)碼管中的dp位我們可以將其接個(gè)200 的電阻之后接+5V電壓,這樣,當(dāng)片選L3時(shí),L3中的小數(shù)點(diǎn)便總是亮的。
4 程序控制
對(duì)于一個(gè)電子控制系統(tǒng)來說,程序設(shè)計(jì)及其控制,對(duì)系統(tǒng)性能的優(yōu)劣和功能體現(xiàn)是相當(dāng)重要的。程序開始的初始化,控制信號(hào)的輸入輸出及其時(shí)序的先后,以及系統(tǒng)邏輯功能在程序中體現(xiàn),都必須經(jīng)過非常嚴(yán)密思考,才能在程序上微妙不差的表現(xiàn)出來,下面簡(jiǎn)單介紹一下本課題程序的設(shè)計(jì)思想和功能。
4.1 系統(tǒng)軟件介紹
對(duì)于一個(gè)控制系統(tǒng)來說,軟件部分就是其“思維”過程,就是其工作時(shí)序關(guān)系的體現(xiàn),并且規(guī)定該系統(tǒng)的功能實(shí)現(xiàn),而本設(shè)計(jì)的軟件部分主要用來實(shí)現(xiàn)的功能如下:
(1) 輸出信號(hào)控制ADC0804啟動(dòng);
(2) 將數(shù)字信號(hào)進(jìn)行BCD調(diào)整,輸出代表十進(jìn)制數(shù)的信號(hào);
(3) 設(shè)定測(cè)量溫度的上下限,超過此溫度報(bào)警;
(4) 調(diào)整系統(tǒng)的放大倍數(shù);
(5) 控制譯碼管及驅(qū)動(dòng)器實(shí)現(xiàn)數(shù)碼管動(dòng)態(tài)顯示;
4.2 總程序流程圖
利用程序軟件來完成對(duì)系統(tǒng)放大倍數(shù)的調(diào)整,并轉(zhuǎn)換數(shù)據(jù)值和判斷報(bào)警界限,實(shí)現(xiàn)系統(tǒng)功能。
A/D轉(zhuǎn)換器的始能端、轉(zhuǎn)換標(biāo)志、轉(zhuǎn)換結(jié)束標(biāo)志以及數(shù)據(jù)輸出始能端的信號(hào)(電壓的高低電平)都是由程序控制CPLD芯片給出的,并且經(jīng)程序設(shè)定標(biāo)準(zhǔn)來轉(zhuǎn)換數(shù)據(jù)和實(shí)現(xiàn)高低溫度報(bào)警。整體流程圖如圖4-1所示,
啟動(dòng)ADC0804
采集信號(hào)
收藏
編號(hào):2689707
類型:共享資源
大?。?span id="ievbyqtbdd" class="font-tahoma">1.31MB
格式:ZIP
上傳時(shí)間:2019-11-28
5
積分
- 關(guān) 鍵 詞:
-
單片機(jī)
紅外
遙控
系統(tǒng)
設(shè)計(jì)
資料
- 資源描述:
-
單片機(jī)紅外遙控系統(tǒng)設(shè)計(jì)資料,單片機(jī),紅外,遙控,系統(tǒng),設(shè)計(jì),資料
展開閱讀全文
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學(xué)習(xí)交流,未經(jīng)上傳用戶書面授權(quán),請(qǐng)勿作他用。