DZ239大功率激光二極管的精密恒溫制冷系統(tǒng)
DZ239大功率激光二極管的精密恒溫制冷系統(tǒng),dz239,大功率,激光二極管,精密,恒溫,制冷系統(tǒng)
1摘要這篇論文主要介紹了一種大功率激光二極管的精密恒溫制冷系統(tǒng),利用半導(dǎo)體制冷器對大功率激光二極管進(jìn)行制冷和精密溫控,構(gòu)成全固態(tài)制冷系統(tǒng)。本系統(tǒng)使用 MCU 機(jī)作為控制平臺,采用自整定 PID 算法,采用 A/D 轉(zhuǎn)換器對環(huán)境溫度進(jìn)行采樣,數(shù)據(jù)處理后由 LED 顯示,人機(jī)界面友好,控制精度高,溫度精度可達(dá)±0.1℃,激光二極管輸出光功率波動峰峰值小于 1.5‰。本論文詳細(xì)分析闡述了元件的選擇,電路的設(shè)計(jì)及相關(guān)軟件的設(shè)計(jì)。并給出了各設(shè)計(jì)模塊的程序流程圖,實(shí)際電路圖等。關(guān)鍵詞: 模數(shù)轉(zhuǎn)換,數(shù)模轉(zhuǎn)換,單片機(jī),半導(dǎo)體制冷器,自整定 PID 算法。2AbstractThis system uses MPU machine as the control platform, adopting the A/D converter to sample environmental temperature, displaying the data processed through LED. So the man-machine interface is friendly. The error of the temperature controlled which can reach ±0.1℃ is high and the fluctuation of laser diode output is less than 1.5‰. This thesis analyses in detail the choice of the components and parts, the design of the circuit and the relevant software by giving the procedure flow charts of each module and actual circuit diagrams.Keywords: A/D, D/A, MCU, TEC, PID.3目錄前言…………………………………………………………………………………………5第一章 恒溫控制器的性能指標(biāo)及方案論證…………………………………………6第一節(jié) 系統(tǒng)的性能指標(biāo)………………………………………………………6第二節(jié) 方案論證………………………………………………………………6第三節(jié) 控制算法的確定………………………………………………………7第二章 硬件系統(tǒng)的設(shè)計(jì)與芯片的選擇………………………………………………11第一節(jié) 硬件系統(tǒng)的設(shè)計(jì)原則和采用方法…………………………………11第二節(jié) 單片機(jī)的選擇………………………………………………………12第三節(jié) 存儲器的選擇………………………………………………………20第四節(jié) 熱敏電阻的介紹……………………………………………………23第五節(jié) A/D 及 D/A 轉(zhuǎn)換器的選用與設(shè)計(jì)……………………………………25第三章 恒溫控制系統(tǒng)的設(shè)計(jì)…………………………………………………………29第一節(jié) 恒溫控制系統(tǒng)及其特點(diǎn)……………………………………………29第二節(jié) 恒溫控制系統(tǒng)的設(shè)計(jì)…………………………………………………29第三節(jié) 半導(dǎo)體制冷器和驅(qū)動電路……………………………………………35第四節(jié) 系統(tǒng)的數(shù)學(xué)模型………………………………………………………39第五節(jié) 實(shí)驗(yàn)方法和結(jié)果分析…………………………………………………40第四章 軟件部分設(shè)計(jì)…………………………………………………………………43第一節(jié) 軟件的分析設(shè)計(jì)及流程圖…………………………………………43第二節(jié) 程序的具體編制……………………………………………………44結(jié)束語……………………………………………………………………………………46附錄 AT89C51 部分程序清單……………………………………………………………47參考書目…………………………………………………………………………………50致謝 ………………………………………………………………………………………514前言光纖通信技術(shù)發(fā)展迅速,目前廣泛應(yīng)用于光纖通信系統(tǒng)的光源器件是采用Ⅲ-Ⅴ族化合物半導(dǎo)體材料 InCaAsP/InP 制作的激光二極管。InCaAsP/InP 材料體系的發(fā)光波長正好滿足了石英光纖的需要。但是,由于材料本身的特性的限制,該激光器表西那出一個明顯的缺點(diǎn),就是對溫度特別敏感,在室溫下工作得很好的器件,溫度較高時激光射出會明顯減少,甚至不能正常工作。為此,人們在使用激光器時一般要給它加上半導(dǎo)體熱電制冷器,使其恒溫工作。在激光二極管泵浦固體激光器(DPL)中,為實(shí)現(xiàn)對激光晶體的譜線耦合,必須調(diào)整激光二極管的輸出波長使其與激光晶體的吸收峰值匹配。激光二極管的輸出波長主要由其摻雜濃度、工作電流和工作溫度決定,一般通過改變激光二極管的工作溫度來微調(diào)其輸出光的波長,其變化規(guī)律大致為 0.2~0.3nm/℃。另外,大功率激光二極管正常工作時熱耗很大,約占總功耗的 50%~75%,若不能及時散熱,就會使芯片溫度急劇升高,輸出功率嚴(yán)重下降,并影響使用壽命。所以工作溫度對于激光二極管十分重要,必須給激光二級管提供恒定而且能夠精密調(diào)整的工作溫度,才能保證激光二極管泵浦固體激光器具有最大的輸出功率和最小的功率波動。以前對大功率激光二極管往往采用冰水循環(huán)方式制冷,通過調(diào)節(jié)熱沉中循環(huán)管道內(nèi)冰水的流量來達(dá)到溫控的目的。這種控制方法精度不高,使用也不方便。本文采用半導(dǎo)體制冷器對大功率激光二極管進(jìn)行制冷和溫控,并構(gòu)成全固態(tài)制冷系統(tǒng)??刂坪诵牟捎?PC 機(jī),人機(jī)界面友好,控制精度高,用于實(shí)驗(yàn)室的大型激光系統(tǒng)效果很好。若采用單片機(jī)作為控制系統(tǒng)的核心部件,即可構(gòu)成小型激光器的實(shí)用化系統(tǒng)。5第一章 恒溫控制器的性能指標(biāo)及方案論證第一節(jié) 系統(tǒng)的性能指標(biāo)本系統(tǒng)使用 MCU 機(jī)作為控制平臺,采用自整定 PID 算法,采用 A/D 轉(zhuǎn)換器對環(huán)境溫度進(jìn)行采樣,數(shù)據(jù)處理后有 LED 顯示,人機(jī)界面好,控制精度高。系統(tǒng)要求的主要技術(shù)參數(shù)有:溫度控制范圍:-15℃——+80℃溫度控制精度:0.1℃短期穩(wěn)定度:0.02℃長期穩(wěn)定度:0.05℃TEC 雙向電流輸出:±2.5A最大恒流輸出電壓范圍:±8V最大輸出功率:20W限制電流范圍:0——2500mA增益可調(diào):0——50積分時間:1S熱敏電阻類型:NTC第二節(jié) 方案的確立本儀器要求在激光二極管正常工作時,能持續(xù)保持恒定的出射波長,而波長又受到溫度的影響,因此,在激光二極管正常工作時,要加在此儀器上一個恒溫控制器,實(shí)現(xiàn)激光二極管的自動恒溫控制。本論文所設(shè)計(jì)的恒溫控制器能很好的滿足0.1℃的精度?,F(xiàn)在有兩種實(shí)現(xiàn)方案:1. F 變換器 LM331:其功能是把熱敏電阻的電壓降變換成單片機(jī)的輸入頻率信號。在理論上,量程為 100KHZ 可以實(shí)現(xiàn)溫度的反饋?zhàn)饔?,但是由于LM331 的頻率信號受熱敏傳感器實(shí)時電阻的影響,且外接電阻、電容在工作時其值也會有響應(yīng)的變化,因此穩(wěn)定性較差,不能滿足 0.1℃以內(nèi)的溫度穩(wěn)定性的要求,因此這種方案不可取。2. 利用 A/D 變換:其原理是把熱敏傳感器上的壓降通過 A/D 轉(zhuǎn)換器轉(zhuǎn)換成相應(yīng)的數(shù)字信號,由于環(huán)境溫度值的連續(xù)變化性質(zhì),使 A/D 的電壓輸入值不會有太大的跳變。所以只要 A/D 轉(zhuǎn)換器的參考電壓非常穩(wěn)定,則單6片機(jī)就能實(shí)時監(jiān)測環(huán)境的溫度。此種方案比較好。為了達(dá)到 0.1℃以內(nèi)的精度我們選用串行 A/D TLC2543.本文所設(shè)計(jì)的大功率激光二極管精密恒溫制冷系統(tǒng)由溫度采集器、PC 機(jī)(內(nèi)插12 位 A/D 轉(zhuǎn)換卡)、大功率程控恒流源、半導(dǎo)體制冷器(TEC)及強(qiáng)制風(fēng)冷熱沉組成,構(gòu)成閉環(huán)控制回路??刂瞥绦虿捎米哉?PID 算法控制 TEC 的電流,從而控制TEC 的制冷量,實(shí)現(xiàn)大功率激光二極管的恒溫制冷控制。用此激光二極管作為激光晶體的泵浦源時,其峰值波長必須調(diào)整為 807.5nm,在額定電流工作下的最佳工作溫度為 24.6℃,由本文所設(shè)計(jì)的精密恒溫制冷系統(tǒng)進(jìn)行控制,溫控精度可達(dá)±0.1℃。系統(tǒng)框圖如圖 1.1 所示?,F(xiàn)在分別介紹各部分的功能和作用:半導(dǎo)體激光器的恒溫制冷系統(tǒng)組成框圖 1.1第三節(jié) 控制算法的確定1.3.1 控制算法的選擇PID 算法的優(yōu)點(diǎn):PID 調(diào)節(jié)之所以不變,而且在數(shù)字化的計(jì)算機(jī)時代仍能得到廣泛應(yīng)用,主要有下面優(yōu)點(diǎn).? 技術(shù)成就PID 調(diào)節(jié)是連續(xù)系統(tǒng)中技術(shù)最成就,且應(yīng)用最廣泛的一種控制方法.它的結(jié)構(gòu)靈活,不單可以用常規(guī)的 PID 調(diào)節(jié),而且可以根據(jù)系統(tǒng)的要求,采用各種 PID 的變種,如PI, PD 控制,不完全微分控制 ,積分分離式 PID 控制,變速積分 PID 控制,比例 PID 控制等.在 PID 控制系統(tǒng)中,系統(tǒng)參數(shù)整定方便,而且在大多數(shù)工業(yè)生產(chǎn)過程種效果比較好.? 易被人們熟悉它,并在實(shí)踐中積累了豐富的經(jīng)驗(yàn),特別是一些工作時間比較長工作技術(shù)人員更是如此.? 不需要求出數(shù)學(xué)模型.7到目前為止,仍有許多工業(yè)對象得不到或很難得到精確的數(shù)學(xué)模型,應(yīng)用直接數(shù)字控制方法比較困難,甚至根本不可能,所以必須應(yīng)用 PID 算法.? 控制效果好雖然計(jì)算機(jī)控制是離散的,但對于時間常數(shù)比較大的系統(tǒng)來說,近似于連續(xù)變化,因此,用數(shù)字 PID 完全可以替代模擬調(diào)節(jié)器.所以,數(shù)字方式模擬 PID 調(diào)節(jié)器仍為目前應(yīng)用比較廣泛的方法之一.電爐控制是一個反饋調(diào)節(jié)過程:比較實(shí)際爐溫和需要爐溫得到偏差,通過對偏差的處理得到控制信號,在去調(diào)節(jié)爐子的加熱功率,從而實(shí)現(xiàn)對爐子的控制,本設(shè)計(jì)采用的是 PID 控制形式,在模擬控制系統(tǒng)中被測參數(shù)由傳感器變換成統(tǒng)一的標(biāo)準(zhǔn)信號后輸入調(diào)節(jié)器。在調(diào)節(jié)器中與給定值進(jìn)行比較,再把比較的差值給 PID 運(yùn)算后送到執(zhí)行機(jī)構(gòu),改變輸入量,以達(dá)到自動調(diào)節(jié)的目的。在數(shù)字控制系統(tǒng)中,則是用數(shù)字調(diào)節(jié)器來代替模擬調(diào)節(jié)器。其調(diào)節(jié)過程是首先采集過程參數(shù)信號,并通過模擬量輸入通道將模擬量變成數(shù)字量,這些數(shù)字量通過計(jì)算機(jī)控制算法進(jìn)行運(yùn)算處理,運(yùn)算結(jié)果經(jīng) D/A 轉(zhuǎn)換成模擬量后由輸出通道輸出,并通過執(zhí)行機(jī)構(gòu)去控制輸入量,以達(dá)到給定值。PID 調(diào)節(jié)器是按偏差的比例,積分和微分進(jìn)行控制的調(diào)節(jié)器,是連續(xù)系統(tǒng)中技術(shù)成熟應(yīng)用最為廣泛的一種調(diào)節(jié)器。它的結(jié)構(gòu)簡單,參數(shù)易于調(diào)整,在長期應(yīng)用中已積累了豐富的經(jīng)驗(yàn)。凡是需要考慮采用串級調(diào)節(jié)的場合,工藝上對調(diào)節(jié)品質(zhì)的要求總是很高,不允許被調(diào)量有殘余偏差。所以在本設(shè)計(jì)系統(tǒng)中,采用 PID 調(diào)節(jié)器。1.3.2 PID 調(diào)節(jié)的原理PID 調(diào)節(jié)器是一種線性調(diào)節(jié)器,其框圖如下圖所示。PID 控制器把設(shè)定值 W 與實(shí)際輸出值 Y 相減,得到控制偏差 e,偏差 e 經(jīng)比例調(diào)節(jié)器 P,積分調(diào)節(jié)器 I,微分調(diào)節(jié)器 D 作用后通過線性組合構(gòu)成控制 U,然后用 U 對對象進(jìn)行控制。PID 控制器1.3.3 PID 控制算法的數(shù)字實(shí)現(xiàn)采用單片機(jī)作為控制器核心的自動控制系統(tǒng)簡化框圖如圖 4-2 所示,8031 單片機(jī)系統(tǒng)通過 A/D 電路檢測過程變量 Y,并計(jì)算誤差 e 和控制變量 U,通過 D/A 變換8后輸出到執(zhí)行機(jī)構(gòu),使過程變量 Y 穩(wěn)定在設(shè)定的值上。計(jì)算機(jī)控制根據(jù)采樣時刻誤差值計(jì)算控制變量 U,在采樣時刻 t=i×T(T 為采樣周期,i 為正整數(shù)) ,PID 調(diào)節(jié)規(guī)律可以通過數(shù)值公式近似計(jì)算。Ui=Kp(ei+ + (ei-ei-1))+U0,式(3-1),由于 PID 計(jì)算機(jī)控制是一種Ti??ije0d采樣控制,因此模擬 PID 控制算法公式中的積分項(xiàng)和微分項(xiàng)不能直接準(zhǔn)確計(jì)算,只能用數(shù)值計(jì)算的方法逼近。如果采樣周期取得足夠小,這種逼近可相當(dāng)準(zhǔn)確,被檢過程與連續(xù)過程十分接近。上式稱為位置式算法。當(dāng)執(zhí)行機(jī)構(gòu)需要的不是控制量的絕對數(shù)值,而是其增量(例如驅(qū)動步進(jìn)電機(jī))時,由式(3-1)可寫出增量式 PID 算法,這時只要將式Ui=Kp(ei+ + (ei-ei-1))+U0,式(3-2),及 Ue-1=Kp[ei+ + (ei-Ti??ije0d Ti???10ijed1-ei-2)]+U0],式(3-3)相減就可以導(dǎo)出下面的公式:△Ui=Ui-Ui-1=Kp[ei-ei-1+ ei+ (ei-2ei-1+ei-2)] 式(3-4)稱為增量式TidPID 控制算法,式(3-1)稱為位置式算法。式(3-4)也可以進(jìn)一步寫為:△Ui-d0ei+diei-1+d2ei-2( 式 3-5) d0=Kp(1+ + ),d1=-Kp(1+ ),d2=Kp ;iTdTd2可是增量式 PID 算法只需保持現(xiàn)時以前的三個時刻的誤差(e i,ei-1,3i-2)即可,增量式 PID 算法與位置式 PID 相比,有下列優(yōu)點(diǎn):1.位置式 PID 算法每次輸出與整個過去狀態(tài)有關(guān),計(jì)算式中要用到過去誤差的累加值∑ej 容易產(chǎn)生較大的累積計(jì)算誤差。而增量式 PID 只需計(jì)算增量,計(jì)算誤差或精度不足時對控制量的影響較小。2.控制從手動切換到自動時,位置式 PID 算法必須首先將計(jì)算機(jī)的輸出值置為原始閥門開度 U0,才能保證無沖擊切換,如果采用增量式算法,則由于公式中不出現(xiàn) U0 次,易于實(shí)現(xiàn)手動到自動的無沖擊切換。在本單片機(jī)應(yīng)用系統(tǒng)中,執(zhí)行機(jī)構(gòu)需要的是控制度量的絕對值而不是其增量,但可用增量式計(jì)算。輸出則采用位置式的輸出形式,變換式(3-4)得:Ui=Ui-1+△Ui=Ui-1+Kp[△ei+I×ei+D×△ 2ei] (3-6)把△ei=ei-ei-1,△ 2ei=△ei-△ei-1 代入上式,得:Ui=Ui-1+Kp×[(ei-ei-1)+I×ei+D(ei-2+ei-1+ei-2)]式中,ei=W-yi,W 為設(shè)定值,Yi 為第 i 次實(shí)際輸出值,Kp 為比例系數(shù),積分系9數(shù) I= ,微分系數(shù) D= ,T 為采樣周期。Tid按偏差的比例、積分和微分進(jìn)行控制的調(diào)節(jié)方法,是技術(shù)成熟應(yīng)用最為廣泛的一種調(diào)節(jié)方法。它計(jì)算簡單,參數(shù)易于調(diào)整,在長期的應(yīng)用中已積累了豐富的經(jīng)驗(yàn)。在工業(yè)過程中,由于控制對象的精確數(shù)學(xué)模型難以建立,系統(tǒng)的參數(shù)又經(jīng)常發(fā)生變化,往往不能得到預(yù)期的效果,所以人們常采用 PID 調(diào)節(jié)器,并根據(jù)經(jīng)驗(yàn)進(jìn)行在線整定。由于單片機(jī)軟件系統(tǒng)的靈活性,PID 算法可以得到修正而更加完善。數(shù)字 PID的基本公式:其中:T:采樣周期;K:比例系數(shù);T i:積分時間;Td微分時間;e i:i 時刻的誤差值(i=n,n-1,n-2)湊試法是通過模擬或閉環(huán)運(yùn)行觀察系統(tǒng)的相應(yīng)曲線,然后根據(jù)各調(diào)節(jié)參數(shù)對系統(tǒng)響應(yīng)的大致影響,反復(fù)湊試參數(shù),以達(dá)到滿意的影響,從而確定 PID 的調(diào)節(jié)參數(shù)。A. 增大比例系數(shù) K 將加快響應(yīng),有利于減小靜差,但大的比例系數(shù)會使系統(tǒng)有較大的超調(diào)并產(chǎn)生震蕩使穩(wěn)定性變壞。B. 增大積分時間 Ti有利于減小超調(diào),減小震蕩使系統(tǒng)更加穩(wěn)定。但靜差消除隨之減慢。C. 增大微分時間 Td亦有利于加快系統(tǒng)響應(yīng),減小超調(diào)量,穩(wěn)定性增加,但對擾動有敏感響應(yīng)。在湊試時刻參考以上參數(shù)對控制過程的影響趨勢對參數(shù)實(shí)行下述先比例,后積分,再微分的整定步驟。10第二章 硬件系統(tǒng)的設(shè)計(jì)與芯片的選擇第一節(jié) 硬件系統(tǒng)的設(shè)計(jì)原則和采用方法一個單片機(jī)應(yīng)用系統(tǒng)的硬件電路設(shè)計(jì)包括兩部分的內(nèi)容:一是系統(tǒng)的擴(kuò)展,即單片機(jī)內(nèi)部的功能單元,如 ROM、RAM、I/O 口,定時計(jì)數(shù)器能不能滿足要求,不能滿足要求的時,必須在片外擴(kuò)展。選擇 適當(dāng)?shù)男酒O(shè)計(jì)相應(yīng)的電路。二是系統(tǒng)配置。即按系統(tǒng)功能要求配置外用設(shè)備,如鍵盤,顯示器 D/A 轉(zhuǎn)換器等,要求設(shè)計(jì)合適的借口電路。針對本設(shè)計(jì)系統(tǒng),選用 AT89C51 單片機(jī),它有 128*8 位內(nèi)部 RAM,所以需要擴(kuò)展一 EPROM 容量 8K,即 2732 一片 8K 內(nèi)存的 RAM,和低八位地址鎖存器,外用設(shè)備根據(jù)控制需要配置了顯示器,A/D 轉(zhuǎn)換器 TLC2543 和 D/A 轉(zhuǎn)換器 AD7521。在單片機(jī)內(nèi)部雖然設(shè)置了一定容量的存儲器,但這種存儲器一般容量較小,遠(yuǎn)遠(yuǎn)滿足不了實(shí)際的需要,因此需要從外部進(jìn)行擴(kuò)展,配置外部存儲器,包括程序存儲器和數(shù)據(jù)存儲器。系統(tǒng)擴(kuò)展應(yīng)遵循以下原則:? 盡可能選擇典型電路,并符合單片機(jī)的常規(guī)方法,為硬件系統(tǒng)的標(biāo)準(zhǔn)化,模塊化打下基礎(chǔ)。? 系統(tǒng)擴(kuò)展與外圍設(shè)備水平應(yīng)當(dāng) 入侵滿足應(yīng)用系統(tǒng) 的功能要求,并留有適量余地,以便進(jìn)行再次開發(fā).? 硬件結(jié)構(gòu)應(yīng)結(jié)合應(yīng)用軟件方案一并考慮,硬件結(jié)構(gòu)與軟件方案會相互影響.考慮的原則是:軟件能實(shí)現(xiàn)的功能盡可能采用軟件來執(zhí)行,以簡化硬件結(jié)構(gòu),但必須注意,由軟件實(shí)現(xiàn)的硬件功能,其響應(yīng)時間比直接用硬件實(shí)現(xiàn)來的長,而且占 CPU 時間,因此選擇方案要考慮這些因素.? 整個系統(tǒng)中相關(guān)的器件要盡可能做到性能匹配.例如:選用晶振頻率較高時,存儲器的存儲時間有限,應(yīng)該選用允許存取速度高的芯片,選擇 CPU 芯片單片機(jī)構(gòu)成低功耗系統(tǒng)時,系統(tǒng)中的所有芯片都應(yīng)該選用低功耗的產(chǎn)品.? 可靠性及干擾設(shè)計(jì)是硬件系統(tǒng)設(shè)計(jì)不可缺少的一部分,它包括芯片,器件選擇光偶濾波,印刷電路板布線,通道隔離等.? 單片機(jī)外接電路較多時,必須考慮其驅(qū)動能力,驅(qū)動能力不足時,必須考慮系統(tǒng)的工件不可靠,解決的方法是增加驅(qū)動能力,增加驅(qū)動器或減少芯片功耗,11降低總線負(fù)載.硬件設(shè)計(jì)就是根據(jù)總體的系統(tǒng)結(jié)構(gòu)框圖,設(shè)計(jì)每一個功能模塊。在本設(shè)計(jì)中,我們把硬件電路分成若干功能模塊,先設(shè)計(jì)單元電路,最后將進(jìn)行系統(tǒng)合成,把各單元電路組合起來,構(gòu)成完整的硬件系統(tǒng)。第二節(jié) 微處理器的選擇2.2.1.單片機(jī)簡介單片機(jī)是一種集成電路芯片,采用超大規(guī)模技術(shù)把具有數(shù)據(jù)處理能力(如算術(shù)運(yùn)算,邏輯運(yùn)算、數(shù)據(jù)傳送、中斷處理)的微處理器(CPU),隨機(jī)存取數(shù)據(jù)存儲器(RAM),只讀程序存儲器(ROM),輸入輸出電路 (I/O 口),可能還包括定時計(jì)數(shù)器,串行通信口(SCI),顯示驅(qū)動電路(LCD 或 LED 驅(qū)動電路),脈寬調(diào)制電路(PWM),模擬多路轉(zhuǎn)換器及 A/D 轉(zhuǎn)換器等電路集成到一塊單塊芯片上,構(gòu)成一個最小但很完善的計(jì)算機(jī)系統(tǒng)。這些電路能在軟件的控制下準(zhǔn)確、迅速、高效地完成程序設(shè)計(jì)者事先規(guī)定的任務(wù)。由此來看,單片機(jī)有著微處理器所不具備的功能,它可單獨(dú)地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能,這是單片機(jī)最大的特征。然而單片機(jī)又不同于單板機(jī),芯片在沒有開發(fā)前,它只是具備功能極強(qiáng)的超大規(guī)模集成電路,如果賦予它特定的程序,它便是一個最小的、完整的微型計(jì)算機(jī)控制系統(tǒng),它與單板機(jī)或個人電腦(PC 機(jī))有著本質(zhì)的區(qū)別,單片機(jī)的應(yīng)用屬于芯片級應(yīng)用,需要用戶了解單片機(jī)芯片的結(jié)構(gòu)和指令系統(tǒng)以及其它集成電路應(yīng)用技術(shù)和系統(tǒng)設(shè)計(jì)所需要的理論和技術(shù),用這樣特定的芯片設(shè)計(jì)應(yīng)用程序,從而使該芯片具備特定的功能。不同的單片機(jī)有著不同的硬件特征和軟件特征,即它們的技術(shù)特征均不盡相同,硬件特征取決于單片機(jī)芯片的內(nèi)部結(jié)構(gòu),用戶要使用某種單片機(jī),必須了解該型產(chǎn)品是否滿足需要的功能和應(yīng)用系統(tǒng)所要求的特性指標(biāo)。這里的技術(shù)特征包括功能特性、控制特性和電氣特性等等,這些信息需要從生產(chǎn)廠商的技術(shù)手冊中得到。軟件特征是指指令系統(tǒng)特性和開發(fā)支持環(huán)境,指令特性即我們熟悉的單片機(jī)的尋址方式,數(shù)據(jù)處理和邏輯處理方式,輸入輸出特性及對電源的要求等等。開發(fā)支持的環(huán)境包括指令的兼容及可移植性,支持軟件(包含可支持開發(fā)應(yīng)用程序的軟件資源)及硬件資源。要利用某型號單片機(jī)開發(fā)自己的應(yīng)用系統(tǒng),掌握其結(jié)構(gòu)特征和技術(shù)特征是必須的。單片機(jī)控制系統(tǒng)能夠取代以前利用復(fù)雜電子線路或數(shù)字電路構(gòu)成的控制系統(tǒng),可以軟件控制來實(shí)現(xiàn),并能夠?qū)崿F(xiàn)智能化,現(xiàn)在單片機(jī)控制范疇無所不在,例如通信產(chǎn)品、家用電器、智能儀器儀表、過程控制和專用控制裝置等等,單片機(jī)的應(yīng)用領(lǐng)域越來越廣泛。12誠然,單片機(jī)的應(yīng)用意義遠(yuǎn)不限于它的應(yīng)用范疇或由此帶來的經(jīng)濟(jì)效益,更重要的是它已從根本上改變了傳統(tǒng)的控制方法和設(shè)計(jì)思想。是控制技術(shù)的一次革命,是一座重要的里程碑。2.2.2.如何選擇單片機(jī)由于單片機(jī)需要控制編碼輸入,顯示電路,串行 A/D,并行 D/A 和外界存儲器的輸入輸出,需要的引線較多,而且,程序較大,因此考慮選用 ATMEL 公司生產(chǎn)的89C51 單片機(jī)(該機(jī)的詳細(xì)資料見軟件部分 )。AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能 CMOS8 位微處理器。該器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51 指令集和輸出管腳相兼容。它有128*8 位內(nèi)部 RAM,32 根可編程 I/O 引線,兩個 16 位定時器/計(jì)數(shù)器,5 個中斷源,而且是 40 管腳塑料雙列直插 DIP 封裝??傊?AT89C51 的選用不僅減少成本,而且還減少所占的體積便于儀器的小型化,更重要的是它的低功耗,這對于溫控器是非常重要的。2.2.3.AT89C51 簡介At89c51 是美國 ATMEL 公司生產(chǎn)的低電壓,高性能 CMOS 8 位單片機(jī),片內(nèi)含 4k bytes 的反復(fù)擦寫的只讀程序存儲器(PEROM)和 128 bytes 的隨機(jī)存取數(shù)據(jù)存儲器(RAM) ,器件采用 ATMEL 公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn) MCS-51 指令系統(tǒng),片內(nèi)置通用 8 位中央處理器(CPU)和 Flash 存儲單元,功能強(qiáng)大 AT89C51 單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域?!ぶ饕阅軈?shù):·與 MCS-51 產(chǎn)品指令系統(tǒng)完全兼容·4k 字節(jié)可重擦寫 Flash 閃速存儲器·1000 次擦寫周期·全靜態(tài)操作:0Hz-24MHz·三級加密程序儲存器·128*8 字節(jié)內(nèi)部 RAM·32 個可編程 I/O 口線·2 個 16 位定時/計(jì)數(shù)器·6 個中斷源·可編程串行 UART 通道·低功耗空閑和掉電模式·片內(nèi)震蕩器和時鐘電路·引腳功能說明:13Vcc:電源電壓。GND:接地。P0 口:P0 口是一組 8 位漏極開路型雙向 I/O 口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能吸收電流的方式驅(qū)動 8 個 TTL 邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低 8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。P1 口:P1 是一個帶內(nèi)部上拉電阻的 8 位雙向 I/O 口,P1 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個 TTL 邏輯沒電路。對端口寫“1” ,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(I) 。P2 口:P2 是一個帶有內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 的輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個 TTL 邏輯門電路。對端口寫“1” ,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(I) 。在訪問外部程序存儲器或 16 位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR 指令)時,P2 口送出高 8 位地址數(shù)據(jù)。在訪問 8 位地址的外部數(shù)據(jù)存儲器(如執(zhí)行 MOVX@RI 指令)時,P2 口線上的內(nèi)容(也即特殊功能寄存器(SFR)區(qū)中 R2 寄存器的內(nèi)容) ,在整個訪問期間不改變。Flash 變成或校驗(yàn)時,P2 亦接受高位地址和其它控制信號。P3 口:P3 口是一組帶有內(nèi)部上拉電阻的 8 位雙向 I/O 口。P3 口輸出緩沖級可驅(qū)動(吸收或輸出電流)4 個 TTL 邏輯門電路。對 P3 口寫入“1”時,14它們被內(nèi)部上拉電阻拉高并可作為輸入端口。做輸入端時,被外部拉低的 P3 口將用上拉電阻輸出電流(I) 。 P3 口除了作為一般的 I/O 口線外,更重要的用途是它的第二個功能,如下表所示:P3 口還接收一些用于 Flash 閃速存儲器變成和程序校驗(yàn)的控制信號。RST:復(fù)位輸入。當(dāng)震蕩器工作時,RST 引腳出現(xiàn)兩個機(jī)器周期以上高電平將使單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低 8 位字節(jié)。即使不訪問外部存儲器,ALE 仍以時鐘震蕩頻率的 1/6 輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個 ALE 脈沖。對 Flash 存儲器編程期間,該引腳還用于輸入編程脈沖(PROG) 。如有必要,可通過對特殊功能寄存器(SFR) 區(qū)中的 8EH 單元的 D0 位置位,可禁止 ALE 操作。該位置位后,只有一條 MOVX 和 MOVC 指令 ALE 才會被激活。此外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時,應(yīng)設(shè)置 ALE 無效。PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng) AT89C51由外部程序存儲器取指令(或數(shù)據(jù))時,每個機(jī)器周期兩次 PSEN 有效,即輸出兩個脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,這兩次有效的 PSEN信號不出現(xiàn)。EA/VPP:外部訪問允許。欲使 CPU 僅訪問外部程序存儲器(地址為 0000H--FFFFH) ,EA 端必須保持低電平(接地) 。需注意的是:如果加密位 LB1 被編程,復(fù)位時內(nèi)部會鎖存 EA 端狀態(tài)。如 EA 端為高電平(接 Vcc 端) ,CPU 則執(zhí)行內(nèi)部程序存儲器中的指令。Flash 存儲器編程時,該引腳加上+12V 的編程允許電源 Vpp,當(dāng)然這必須是該器件是使用 12V 編程電壓 Vpp。15XTAL1:遮擋器反向放大器的及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2:震蕩器反向放大器的輸出端?!r鐘震蕩器:AT89C51 中有一個用于構(gòu)成內(nèi)部震蕩器的高增益反向放大器,引腳 XTAL1 和XTAL2 分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧震蕩器一起構(gòu)成自激震蕩器,震蕩電路參見下圖。外接石英晶體(或陶瓷諧振器)及電容 C1、C2 接在放大器的反饋回路中構(gòu)成并聯(lián)震蕩電路。對外接電容 C1、C2 雖然有十分嚴(yán)格的要求,但電容容量的大小會輕微影響震蕩頻率的高低、震蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用 30Pf±10pF,而如使用陶瓷諧振器建議選擇40pF±10。用戶也可以采用外部時鐘。采用外部時鐘的電路如圖 5 右圖所示。這種情況下,外部時鐘脈沖接到 XTAL1 端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2 則懸空。由于外部時鐘信號是通過一個 2 分頻觸發(fā)器后作為內(nèi)部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應(yīng)符合產(chǎn)品技術(shù)條件的要求?!た臻e節(jié)電模式:AT89C51 有良種可用軟件變成的省電模式,它們是空閑模式和掉電工作模式。這兩種方式是控制專用寄存器 PCON(即電源控制寄存器)中的 PD(PCON.1 )和IDL(PCON.0)位來實(shí)現(xiàn)的。PD 是掉電模式,當(dāng) PD=1 時,激活掉電工作模式,單片機(jī)進(jìn)入掉電工作狀態(tài)。IDL 是空閑等待方式,當(dāng) IDL=1,激活空閑工作模式,單片機(jī)進(jìn)入睡眠狀態(tài)。如需同時進(jìn)入兩種工作模式,即 PD 和 IDL 同時為 1,則先激活掉電模式。在空閑工作模式狀態(tài),CPU 保持睡眠狀態(tài)而所有片內(nèi)的外設(shè)仍保持激活狀態(tài),16這種方式由軟件產(chǎn)生。此時,片內(nèi) RAM 和所有特殊功能寄存器的內(nèi)容保持不變??臻e模式可由任何允許的中斷請求或硬件復(fù)位終止。終止空閑工作模式的方法有兩種,其一是任何一條被允許中斷的事件被激活,IDL(PCON.0)被硬件清除,即刻終止空閑工作模式。程序會首先響應(yīng)中斷,進(jìn)入中斷服務(wù)程序,執(zhí)行完中斷服務(wù)程序并緊隨 RETI(中斷返回)指令后,下一條要執(zhí)行的指令就是使單片機(jī)進(jìn)入空閑模式那條指令后面的一條指令。其二是通過硬件復(fù)位也可將空閑工作模式終止。需要注意的是,當(dāng)由硬件復(fù)位來終止空閑工作模式時,CPU 通常是從激活空閑模式那條指令的下一條指令開始繼續(xù)執(zhí)行程序的,要完成內(nèi)部復(fù)位操作,硬件復(fù)位脈沖要保持兩個機(jī)器周期(24 個始終周期)有效,在這種情況下,內(nèi)部禁止 CPU 訪問片內(nèi) RAM,而允許訪問其他端口。為了避免可能對端口產(chǎn)生以外寫入,激活空閑模式的那條指令后一條指令不應(yīng)是一條對端口或外部存儲器的寫入指令。·掉電模式:在掉電模式下,震蕩器停止工作,進(jìn)入掉電模式的指令是最后一條被執(zhí)行的指令,片內(nèi) RAM 和特殊功能積存器的內(nèi)容在終止掉電模式前被凍結(jié)。退出掉電模式的唯一方法是硬件復(fù)位,復(fù)位后將重新定義全部特殊功能積存器但不改變 RAM 中的內(nèi)容,在 Vcc 恢復(fù)到正常工作電平前。撫慰應(yīng)無效,且必須保持一定時間以使震蕩器重啟動并穩(wěn)定工作?!こ绦虼鎯ζ鞯募用埽篈T89C51 可使用對芯片上的 3 個加密位 LB1、LB2、LB3 進(jìn)行編程(P )或不編程(U)來得到如下表所示的功能:17當(dāng)加密位 LB1 被編程時,在復(fù)位期間,EA 端的邏輯電平被采樣并鎖存,如果單片機(jī)上電后一直沒有復(fù)位,則鎖存起的初始值是一個隨即數(shù),且這個隨即數(shù)會一直保存到真正復(fù)位為止。為使單片機(jī)能正常工作,被鎖存的 EA 電平值必須與該引腳當(dāng)前的邏輯電平一致。此外,加密位只能通過整片擦除的方法清除?!lash 閃速存儲器的編程:AT89C51 單片機(jī)內(nèi)部有 4k 字節(jié)的 Flash PEROM,這個 Flash 存儲陣列出廠時已處于擦除狀態(tài)(即所有存儲單元的內(nèi)容均為 FFH) ,用戶隨時可對其進(jìn)行編程。編程接口可接收高電壓(+12V )或低電壓(Vcc)的允許編程信號。低電壓編程模式適合于用戶在線編程系統(tǒng),而高電壓編程模式可與通用 EPROM 編程器兼容。AT89C51 單片機(jī)中,有些屬于低電壓編程方式,而有些則是高電壓變成方式,用戶可從芯片上的型號和讀取芯片內(nèi)的簽名字節(jié)獲得該信息,見下表。AT89C51 的程序存儲器陣列是采用字節(jié)寫入方式編程的,每次寫入一個字節(jié),要對整個芯片內(nèi)的 PEROM 程序存儲器寫入一個非空字節(jié),必須使用片擦除的方式將整個存儲器的內(nèi)容清除。·編程方法:編程前,須按表 6 和圖 6 所示設(shè)置好地址、數(shù)據(jù)及控制信號,編程單元的地址加在 P1 口和 P2 口的 P2.0—P2.3(11 位地址范圍為 0000H—0FFFH) ,數(shù)據(jù)從 P0 口輸入,引腳 P2.6、P2.7 和 P3.6、P3.7 的電平設(shè)置見秒 6,PSEN 為低電平,RET 保持高電平,EA/Vpp 引腳是編程電源的輸入端,按要求加上編程電壓, ALE/PROG引腳輸入編程脈沖(負(fù)脈沖) 。編程時,可采用 4—20MHz 的時鐘震蕩器,AT89C51編程方法如下:1. 在地址線上加上要編程單元的地址信號。2. 在數(shù)據(jù)線上加上要寫入的數(shù)據(jù)字節(jié)。3. 激活相應(yīng)的控制信號。4. 在高電壓編程方式時,將 EA/Vpp 端加上+12V 編程電壓。5. 每對 Flash 存儲陣列寫入一個字節(jié)或每寫入一個程序加密位,加上一個18ALE/PROG 編程脈沖。改變編程單元的地址和寫入的數(shù)據(jù),重復(fù) 1-5 步驟,知道全部文件變成結(jié)束。每個字節(jié)寫入周期是自身定時的,通常約為 1.5ms?!?shù)據(jù)查詢:AT89C51 單片機(jī)用數(shù)據(jù)查詢方式來檢測一個寫周期是否結(jié)束,在一個寫周期中,如需讀取最后寫入的那個字節(jié),則讀出的數(shù)據(jù)的最高位(P0.7)是原來寫入字節(jié)最高位的反碼。寫周期完成后,有效的數(shù)據(jù)就會出現(xiàn)在所有輸出端上,此時,可進(jìn)入下一個字節(jié)的寫周期,寫周期開始后,可在任意時刻進(jìn)行數(shù)據(jù)查詢。19第三節(jié) 存儲器的選擇為了反映實(shí)際溫度,根據(jù)熱敏電阻傳感器的 R-T 曲線可以求出環(huán)境的實(shí)際溫度。有兩種實(shí)現(xiàn)的方法:公式法和查表法。由于 T-R 曲線不是一個正規(guī)的函數(shù)曲線,即我們不能給出準(zhǔn)確的計(jì)算公式,因此公式法不可取。廠家給我們提供了 R-T 的一組對應(yīng)數(shù)據(jù),為我們應(yīng)用查表法提供了方便,對于兩給定點(diǎn)之間的數(shù)據(jù)可以近似用線性差值的方法求出。鑒于本實(shí)驗(yàn)數(shù)據(jù)太多可以連接一個外部存儲器 24C02。這樣既節(jié)省了內(nèi)部空間又可以方便數(shù)據(jù)的修正。24C02 是可擦除可存儲 256 字節(jié)數(shù)據(jù)的 EEPROM 外部存儲器。利用 I2C 總線的虛擬技術(shù)可以實(shí)現(xiàn) EEPROM 與單片機(jī)的串行數(shù)據(jù)傳送。對于本實(shí)驗(yàn) I2C 總線系統(tǒng)工作在單主方式下,單片機(jī)為主節(jié)點(diǎn),24C02 為從節(jié)點(diǎn)。不存在總線競爭。24C02 可以解決單片機(jī)片內(nèi) EEPROM 不足的問題,用以保存諸如用戶設(shè)置參數(shù)、采集到的數(shù)據(jù)等。由于部分單片機(jī)不具備 I2C 總線接口,在應(yīng)用時必須用軟件法加以解決。在軟件編制時應(yīng)當(dāng)嚴(yán)格遵循 I2C 總線規(guī)則,并注意 24C02 的片內(nèi)讀寫周期時間,調(diào)整好程序流程,以避免寫不進(jìn)、讀不出的問題2.3.1 硬件電路(如下圖所示) 。使用微處理的任意兩個通用 I/O 端口(圖中用 CE0、CE1、CE2)作為與 24C02的連接,其中一個作為時鐘 SCL 線,另外一個作為數(shù)據(jù) SAD 線。2.3.2 軟件設(shè)計(jì)20首先簡要介紹一下用 EEPROM 的 I2C 總線的規(guī)則。初始狀態(tài)時,SCL、SDA 兩線都為高。當(dāng) SCL 為高電平時,如果 SDA 線跌落,認(rèn)為是“起始位” 。當(dāng) SCL 為高電平時,如果 SDA 線上升,認(rèn)為是“停止位” 。除此之外,在發(fā)送數(shù)據(jù)的過程中當(dāng) SCL 為高電平時,SDA 應(yīng)保持穩(wěn)定。ACK 應(yīng)答位指在此時鐘周期內(nèi)由從器件(EEPROM)把 SDA 拉低,表示回應(yīng)。這時主器件(PLC16 微處理器)的 SDA 口的屬性應(yīng)該變?yōu)檩斎胍员銠z測。1.在寫數(shù)據(jù)周期應(yīng)該依次執(zhí)行以下過程:1/發(fā)“起始位” 。2/發(fā)“寫入代碼” (8bit) ,1010(A1A2A3)0,其中的A1、A2、A3 三位是片地址,由 24C02 的硬件決定,文中采用 000。3/收“ACK”應(yīng)答(1bit) 。4/發(fā) EEPROM 片內(nèi)地址(即要寫入 EEPROM 的什么位置) (8bit) 。從 00 到FF 中的任意一個,對應(yīng) EEPROM 中的相應(yīng)位。5/收“ACK” 應(yīng)答(1bit) 。6/發(fā)要發(fā)送的數(shù)據(jù)(8bit) ,即要存儲到 EEPROM 中的數(shù)據(jù)。7/發(fā) “停止位” 。接下來,如圖2所示,進(jìn)入輪詢程序以便檢驗(yàn) 24C02 片內(nèi)寫周期是否完成。如果已經(jīng)完成則進(jìn)入下一個字節(jié)的寫操作過程。如果沒有完成則繼續(xù)等待,直到完成。2.在讀數(shù)據(jù)周期,依次執(zhí)行以下過程:1/發(fā)“起始位” 。2/發(fā)“寫入代碼” (8bit) ,1010(A1A2A3)0,其中A1、A2、A3 三位是片地址,由 24C02 的硬件決定,文中采用 000。3/收“ACK”應(yīng)答(1bit) 。4/發(fā) EEPROM 片內(nèi)地址(即要讀出 EEPROM 的位置) (8bit) 。從 00 到 FF 中的任意一個,對應(yīng) EEPROM 中的相應(yīng)位。5/收“ACK”應(yīng)答( 1bit) 。6/發(fā)“起始位”(81bit) 。7/發(fā)“讀出代碼” (8bit) ,1010(A1A2A3) 1,其中 A1、A2、A3 三位是片地址,由 24C02 的硬件接線決定,文中采用 000。8/ 接收。9/發(fā) ACK 應(yīng)答。10/發(fā)“停止位” 。要特別注意的兩個問題是:1/24C02 有一個約 10ms的片內(nèi)寫周期。在這個周期內(nèi),24C02 是不對外界的操作作出反應(yīng)的。2/在發(fā)送數(shù)據(jù)的過程中,要確保當(dāng) SCL為高電平時,SDA 保持穩(wěn)定。解決第一個問題的常見方法有兩個,其一為采用延時等待,確保在寫過程中,在一個字節(jié)完成發(fā)送了停止位之后,微處理器等待足夠的時間,通常應(yīng)該超過10ms,再送下一個字節(jié),這段時間用來等待 EEPROM 完成片內(nèi)寫周期。另一個是采用輪詢的方式,判斷 EEPROM 是否完成了片內(nèi)寫周期。這種方式的主導(dǎo)思想是,當(dāng)向EEPROM 發(fā)送寫標(biāo)志后,正常情況下,EEPROM 應(yīng)該有 ACK 應(yīng)答。但是當(dāng) EEPROM 在進(jìn)行片內(nèi)寫周期的時候,則不會產(chǎn)生這樣的應(yīng)答。程序據(jù)此判斷,EEPROM 是否完成了片內(nèi)的寫周期程序。如果完成,則可以繼續(xù)寫入下一個要寫的內(nèi)容,否則繼續(xù)等待。21第一種方法編程較為簡單,但是會浪費(fèi)大量的機(jī)器時間,并且程序的延時時間不好確定。第二種方法的優(yōu)點(diǎn)在于,雖然編程較為復(fù)雜,但是較為快速,對其余的程序模塊影響較少,便于完成程序的模塊化設(shè)計(jì)。對于在發(fā)送數(shù)據(jù)的過程中,要確保當(dāng) SCK 為高電平時,SDA 必須保持穩(wěn)定,應(yīng)該在程序中利用軟件給予保證。如果可以很好的解決以上兩個問題,數(shù)據(jù)的寫入和讀出是方便快捷和可靠的。主方式下的 I2C 總線虛擬,應(yīng)按照 I2C 總線數(shù)據(jù)傳送時序,主方式下的操作格式設(shè)計(jì)出主方式下的時序模擬子程序,主發(fā)送/主接收子程序,并將這些子程序歸納成虛擬 I2C 總線的軟件包。在軟件包的基礎(chǔ)上給出歸一化的 I2C 總線操作命令。只需將軟件包裝入程序存儲器中,利用歸一化操作指令即可實(shí)現(xiàn)相應(yīng)的 I2C 總線應(yīng)用程序。其 N 字節(jié)的數(shù)據(jù)操作格式如下:(1) 寫 N 個字節(jié)的操作格式:(2) 讀 N 個字節(jié)的操作格式:其中: 主節(jié)點(diǎn)發(fā)送,從節(jié)點(diǎn)接收。主節(jié)點(diǎn)發(fā)送,從節(jié)點(diǎn)發(fā)送。SLAW 尋址字節(jié)(寫)DATA1-DATAn 讀/寫的 n 個字節(jié)數(shù)據(jù)SLAR 尋址字節(jié)(讀)A 應(yīng)答信號 非應(yīng)答信號22第四節(jié) 熱敏電阻的介紹熱敏電阻可分為負(fù)溫度系數(shù)(NTC)與正溫度系數(shù)(PTC)熱敏電阻。熱敏電阻其阻值隨溫度變化而變化,該特性使得熱敏電阻在電流和溫度相關(guān)的運(yùn)用場合非常理想。由于正溫度系數(shù)的熱敏電阻單調(diào)特性范圍比較窄,工作穩(wěn)定性較差;而負(fù)溫度系數(shù)熱敏電阻的單調(diào)范圍比較寬,工作穩(wěn)定性較好,所以一般我們選用負(fù)溫度系數(shù)的熱敏電阻?,F(xiàn)只對此種熱敏傳感器作一下介紹。NTC 元件的電阻值隨溫度的升高而降低。對應(yīng)用于某些物體表面的溫度檢測或某些環(huán)境溫度的檢測時為了適應(yīng)檢測環(huán)境和便于安裝,通常將熱敏電阻元件根據(jù)具體場合做成各種各樣的封裝形式,這時通常稱它們?yōu)闊崦魝鞲衅?。使用熱敏元件的原因首先關(guān)心的就是熱敏元件的三性,即:一致性,可靠性,重復(fù)性。熱敏元件的溫度檢測范圍和檢測精度也是被關(guān)心的主要特征。事實(shí)上,精度越高的熱敏元件制造成本相對也高,所以根據(jù)實(shí)際使用的場合選用恰當(dāng)?shù)臋z測精度的熱敏元件具有現(xiàn)實(shí)的經(jīng)濟(jì)意義。熱敏電阻主要用于航天機(jī)械,軍用坦克,空調(diào),熱水器,電暖氣,糧倉測溫,工業(yè)儀表,醫(yī)療儀器,火災(zāi)報(bào)警,汽車水箱等方面。NTC 熱敏電阻的物理特性用下列參數(shù)表示:電阻值 B 值,熱時間常數(shù),電阻溫度系數(shù)。電阻值:R[Ω]電阻值的近似值表示為:其中:R1:絕對溫度為 T1[K]時的電阻[Ω]R2:絕對溫度為 T2[K]時的電阻[Ω]熱時間常數(shù):τ[sec.]熱敏電阻在零能量條件下,由于步階效應(yīng)使熱敏電阻本身的溫度發(fā)生改變,當(dāng)溫度在初始值和最終值之間發(fā)生改變 63.2%所需的時間就是熱時間系數(shù) τ。電阻溫度系數(shù):α[%/℃]23a 是表示熱敏電阻器溫度每變化 1℃,其電阻值變化程度的系數(shù){即變化率},用表示。本實(shí)驗(yàn)選擇常州精達(dá)公司生產(chǎn)的 3978NTC 熱敏電阻,其 R-T 曲線如下圖所示:NTC 熱敏電阻 R-T 特性曲線由 R-T 曲線可以看出此款負(fù)溫度系數(shù)熱敏電阻的變化范圍是-20℃-100℃,足以滿足本實(shí)驗(yàn)的要求。24第五節(jié) A/D 及 D/A 轉(zhuǎn)換器的選用與設(shè)計(jì)2.5.1 A/D 的選用模數(shù)轉(zhuǎn)換器是連接模擬和數(shù)字世界的一個重要接口。A/D 轉(zhuǎn)換器將現(xiàn)實(shí)世界的模擬信號變換成數(shù)字位流以進(jìn)行處理、傳輸及其他操作。A/D 轉(zhuǎn)換器的選擇是至關(guān)重要的。所選擇的 A/D 轉(zhuǎn)換器應(yīng)能確保模擬信號在數(shù)字位流中被準(zhǔn)確地表示,并提供一個具有任何必需的數(shù)字信號處理功能的平滑接口,這一點(diǎn)很重要。目前的高速 A/D 轉(zhuǎn)換器已被應(yīng)用于各種儀表、成像以及通信領(lǐng)域中。對用戶而言,所有這些應(yīng)用都有著相似的要求,即以較低的價(jià)格實(shí)現(xiàn)更高的性能。在選擇高速 A/D 轉(zhuǎn)換器時,必須考慮下面幾個因素:● 終端系統(tǒng)的要求● 成本● 分辨率或精度● 速度 ● 性能對終端系統(tǒng)要求的清晰了解將簡化 A/D 轉(zhuǎn)換器的選擇過程。在某些場合,它可以把所需考慮的選擇參數(shù)限制為屈指可數(shù)的幾個。例如,很多超聲波應(yīng)用采用的是每個通道需要一個 A/D 的數(shù)字光束成形系統(tǒng)。對于一個具有多達(dá) 256 個通道的系統(tǒng)而言,具有多通道和低功耗的 A/D 轉(zhuǎn)換器是一個合適的選擇。對于 8 進(jìn)制 A/D 轉(zhuǎn)換器來說,超聲波應(yīng)用是主要的終端應(yīng)用。位于 A/D 之后的DSP 或 ASIC 所使用的電源電壓也是必需加以考慮的。越來越多的高速 A/D 將采用3V、2.5V 和 1.8V 的工作電源。價(jià)格是始終需要考慮的因素。如今的轉(zhuǎn)換器設(shè)計(jì)師正在制作性價(jià)比更為優(yōu)越的 A/D。TLC2543 是 TI 公司的 12 位串行模數(shù)轉(zhuǎn)換器,使用開關(guān)電容逐次逼近技術(shù)完成A/D 轉(zhuǎn)換過程。由于是串行輸入結(jié)構(gòu),能夠節(jié)省 51 系列單片機(jī) I/O 資源;且價(jià)格適中,分辨率較高,因此在儀器儀表中有較為廣泛的應(yīng)用。下圖是 TLC2543 的接口電路。TLC2543 的 CLOCK,DATA OUT, DATAINPUT 和/CS 分別與 AT89C51 的 P3.0,P3.1,和 P3.3 連接。其接口軟25件由主程序和兩個子程序組成,主程序主要是對 AT89C51 的初始化,子程序是對89C51 和 TLC2543 的具體操作。(1)外部引腳TLC2543 有三個控制輸入端:片選(/CS),輸入/輸出時鐘(I/O CLOCK)以及地址輸入端(DATA INPUT)。它還可以通過一個串行的 3 態(tài)輸出端(DATA OUT)與主處理器或其外圍的串行口通訊,輸出轉(zhuǎn)換結(jié)果。本器件可以從主機(jī)高速傳輸數(shù)據(jù)。除了高速的轉(zhuǎn)換器和通用的控制能力外,本器件有一個片內(nèi)的 14 通道多路器可以在 11 個輸入通道或 3 個內(nèi)部自測試 (self-test)電壓中任意選擇一個。采樣-保持是自動的。在轉(zhuǎn)換結(jié)束時,轉(zhuǎn)換結(jié)束輸出端(/EOC)變高以指示轉(zhuǎn)換的完成。本器件中的轉(zhuǎn)換器結(jié)合外部輸入的差分高阻抗的基準(zhǔn)電壓,具有簡化比率轉(zhuǎn)換刻度以及模擬電路與邏輯電路和電源噪聲隔離的特點(diǎn)。開關(guān)電容的設(shè)計(jì)可以是在整個溫度范圍內(nèi)有較小的轉(zhuǎn)換誤差。TLC2543 的工作溫度范圍內(nèi) 10μs 轉(zhuǎn)換時間;11 個模擬輸入通道;固有的采樣與保持;線性誤差±1LSB(mas);有轉(zhuǎn)換結(jié)束(/EOC)輸出;具有單、雙極性輸出;可編程的 MSB 或 LSB 向?qū)В豢删幊痰妮敵鰯?shù)據(jù)長度。(2)工作說明一開始片選/CS 為高,I/O CLOCK 和 DATA INPUT 被禁止以及 DATA OUT 為高阻抗?fàn)顟B(tài)。/CS 變低開始轉(zhuǎn)換過程,I/O CLOCK 和 DATA INPUT 使能,并使 DATA OUT 端脫離高阻抗?fàn)顟B(tài)。輸入數(shù)據(jù)是一個包括一個 4 位模擬通道地址(D7-D4),一個 2 位數(shù)據(jù)長度選擇(D3-D2),一個輸出 MSB 或 LSB 在前的位(D1)以及一個單極性或雙極性輸出選擇位(D0)的 8 位數(shù)據(jù)流,這個數(shù)據(jù)流是從 DATA INPUT 端 加入的,輸入/輸出時鐘系列是加在 I/O CLOCK 端,以傳送這個數(shù)據(jù)到輸出數(shù)據(jù)寄存器。在這個傳送的同時,輸入?輸出時鐘系列也將前一次轉(zhuǎn)換的結(jié)果從輸出數(shù)據(jù)寄存器移到 DATA OUT 端。I/O CLOCK 接受輸入系列的 8,12,或 16 個時鐘長度取決于輸入數(shù)據(jù)寄存器中的數(shù)據(jù)長度選擇位。模擬輸入的采樣開始于輸入。I/O CLOCK 的度 4 個下降沿而保持則在 I/O 26CLOCK 的最后一個下降沿之后。I/O CLOCK 的最后一個下降沿也使 EOC 變低并開始轉(zhuǎn)換,寄存器的格式與功能如下:a. 數(shù)據(jù)輸入地址位:數(shù)據(jù)寄存器的前四位(D7-D4),規(guī)定了從 11 個輸入通道中選 1,基準(zhǔn)測試電壓或掉電方式。b. 輸出數(shù)據(jù)長度:數(shù)據(jù)寄存器的隨后兩位(D3 和 D2)選擇輸出數(shù)據(jù)的長度,可選擇 8,12 或 16 位的數(shù)據(jù)長度,但分辨率為 12 位。c. 數(shù)據(jù)寄存器,LSB 導(dǎo)前:在輸入數(shù)據(jù)寄存器中的 D1 位(LSBF)控制輸出的二進(jìn)制數(shù)的傳送。d. 數(shù)據(jù)寄存器,雙極性格式:在輸入數(shù)據(jù)寄存器中的 D0 位(BIP)控制用來表示轉(zhuǎn)換結(jié)果的二進(jìn)制數(shù)據(jù)格式。本實(shí)驗(yàn)要求工作精度為 0.1℃,為了方便單片機(jī)的控制,我們選擇用/CS,位數(shù)據(jù)傳送以 MSB 導(dǎo)線的工作方式。其時序如圖所示:用/CS 進(jìn)行 12 位數(shù)據(jù)傳送,以 MSB 導(dǎo)前的時序圖·注釋 A:為了減少由于 CS 的噪聲引起的誤差,在 CS↓后內(nèi)部電路在響應(yīng)控制輸入信號之前等待一個設(shè)置時間。所以,在最小的設(shè)置時間消逝以前不要企圖輸入地址。272.5.2 D/A 的選用AD7521 是并行輸入的 12 位數(shù)模轉(zhuǎn)換器,具有外部參考電壓端,由于不具備寄存器,其輸出是隨輸入的變化而實(shí)時變化,在溫控器電路中,為了能實(shí)現(xiàn)連續(xù)的電壓驅(qū)動,應(yīng)在 AD7521 轉(zhuǎn)換器的輸入端加寄存器。AD7521 是 12 位的數(shù)模轉(zhuǎn)換器,其最大計(jì)數(shù)值為 212-1=4095,對應(yīng)的電壓變化范圍是 0-10V,對應(yīng)溫度范圍為 0℃-80℃,其平均分辨為 0.02℃/數(shù)字。其轉(zhuǎn)換精度足以滿足溫度控制器 0.1℃的要求。此器件在電路中連接方便,工作穩(wěn)定,價(jià)格適中,是一款實(shí)用的理想元器件。其引腳圖如下AD7521 引腳圖28第三章 恒溫控制系統(tǒng)的設(shè)計(jì)為了得到相等的泵浦激光器輸出,使半導(dǎo)體激光器工作在恒定的溫度下,我們設(shè)計(jì)了一種恒溫控制系統(tǒng),并建立了該系統(tǒng)的理論模型,分析得出最佳控制方案。該系統(tǒng)采用 TEC 雙向電流制冷(制熱) ,可用多種溫度傳感器作為測溫元件,運(yùn)用PID 控制原并獲得了滿意的效果。第一節(jié) 恒溫控制系統(tǒng)及其特點(diǎn)半導(dǎo)體激光器恒溫控制系統(tǒng)由微型制冷器(TEC) ,熱敏元件,恒流源,PID 控制器等控制電路構(gòu)成的一閉環(huán)控制回路。熱敏元件監(jiān)測激光器的結(jié)溫,與設(shè)定的基準(zhǔn)溫度比較,放大后,驅(qū)動制冷器的控制電路改變制冷量,從而保持激光器在恒定的溫度下工作。方框圖如圖所示:為了提高制冷效率和控制精度,溫度控制采用內(nèi)制冷方式,即將制冷器和熱敏電阻封裝在激光器管殼內(nèi)部,熱敏電阻直接探測結(jié)區(qū)溫度,制冷器直接和激光器的熱沉接觸。該系統(tǒng)可以控制激光器的結(jié)溫在±0.05℃范圍內(nèi),從而使激光器有較恒定的輸出光功率和發(fā)射波長。第二節(jié) 恒溫控制系統(tǒng)的設(shè)計(jì)本系統(tǒng)整個反饋控制通過熱敏電阻將泵浦源的溫度反饋到輸入端,經(jīng)差動放大和緩沖隔離后送入 PID 控制器,通過控溫執(zhí)行元件實(shí)現(xiàn)溫度控制。測溫部分用具有29高靈敏度的負(fù)溫度系數(shù)的熱敏電阻(NTC)作為溫度傳感器,將實(shí)際溫度與設(shè)置溫度值相減,差值送 PID 控制器驅(qū)動溫控執(zhí)行部分。用 TEC 作為制冷器件,TEC 用可調(diào)的壓控電流源驅(qū)動。數(shù)碼顯示部分用顯示設(shè)置溫度和實(shí)時監(jiān)視泵浦源溫度。電路如圖所示,各部分電路原理分述如下。3.2.1 前級電路這一部分電路主要包括恒流源電路和基準(zhǔn)電壓電路。恒流源主要是給熱敏電阻提供一個恒定的電流,在溫度變化的時候,熱敏電阻的阻值也發(fā)生相應(yīng)的變化。給熱敏電阻通一個恒定的電流,可以使電阻的變化轉(zhuǎn)化成熱敏電阻上電壓的變化?;鶞?zhǔn)電壓電路主要是給出一個電壓,這個電壓可以預(yù)先與設(shè)定的溫度一一對應(yīng),這樣在調(diào)節(jié)溫度的時候,實(shí)際上就是調(diào)節(jié)電壓到某一個值。這個電壓就作為基準(zhǔn)電壓與熱敏電阻上的電壓相比較。當(dāng)熱敏電阻上的電壓高與這個電壓的時候,就輸出一個正值。當(dāng)熱敏電阻的電壓低與這個電壓的時候,就輸出一個負(fù)值。當(dāng)熱敏電阻上的電壓和這個電壓相等的時候,就輸出就為零值。恒流源具體電路如下:恒流源它的工作原理具體為:穩(wěn)壓二極管提供一個恒定的 2.5V 電壓,運(yùn)放與它后邊的三極管放大器接成一個電壓跟隨器,且最上端四點(diǎn)的電壓恒為穩(wěn)壓二極管上的電壓2.5V。這樣就會形成恒定的電流。如果想改變電流的大小,可以從電鍵接入不同大30小的電阻。從而,可以改變電路中電流的大小。這個電流流過熱敏電阻,將熱敏電阻上的電壓取出來后,在接到一個電壓跟隨器上輸出,實(shí)現(xiàn) R-V 轉(zhuǎn)變。接入電壓跟隨器的目的就是為了減少后邊電路對前端電路的影響,增加它的穩(wěn)定性。3.2.2 基準(zhǔn)電壓電路的設(shè)計(jì)這一部分工作原理是,由于穩(wěn)壓二極管的穩(wěn)壓作用,在滑動變阻器的
收藏