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