單片機模擬及其相關(guān)技術(shù)_第1頁
單片機模擬及其相關(guān)技術(shù)_第2頁
單片機模擬及其相關(guān)技術(shù)_第3頁
單片機模擬及其相關(guān)技術(shù)_第4頁
單片機模擬及其相關(guān)技術(shù)_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

單片機模擬及其相關(guān)技術(shù)2023/3/141第一頁,共八十二頁,2022年,8月28日(1)掌握常用的并行接口A/D和D/A轉(zhuǎn)換芯片的使用方法。(2)熟悉常用的串行接口A/D和D/A轉(zhuǎn)換芯片的使用方法。(3)了解日歷時鐘芯片與單片機的接口設(shè)計方法。(4)了解IC卡與單片機的接口設(shè)計方法。本章教學(xué)要求

2023/3/142第二頁,共八十二頁,2022年,8月28日本章目錄10.1A/D轉(zhuǎn)換擴展

10.1.1并行A/D轉(zhuǎn)換擴展10.1.2串行A/D轉(zhuǎn)換擴展10.2D/A轉(zhuǎn)換擴展10.2.1并行D/A轉(zhuǎn)換擴展10.2.2串行D/A轉(zhuǎn)換擴展10.3日歷時鐘芯片擴展10.3.1日歷時鐘芯片856310.3.2單片機與日歷時鐘芯片的接口方法10.4IC卡擴展10.4.1SLE4442IC卡10.4.2SLE4442IC卡數(shù)據(jù)傳送協(xié)議10.4.3SLE4442IC卡操作命令10.4.4單片機與SLE4442IC卡的接口方法習(xí)題與思考題2023/3/143第三頁,共八十二頁,2022年,8月28日前言

在單片機應(yīng)用系統(tǒng)中,經(jīng)常會遇到模擬量信號的輸入/輸出問題,對于如何將模擬量轉(zhuǎn)換成數(shù)字量送給單片機,或者將數(shù)字量轉(zhuǎn)換成模擬量輸出到單片機外部,需要用到模數(shù)(A/D)或數(shù)模(D/A)轉(zhuǎn)換技術(shù)。也還經(jīng)常會遇到與日期、時間有關(guān)的控制操作和管理問題,以及IC卡信息讀寫問題。本章介紹單片機如何擴展A/D和D/A轉(zhuǎn)換接口,怎樣擴展日歷時鐘芯片和IC卡接口等技術(shù)和方法。2023/3/144第四頁,共八十二頁,2022年,8月28日10.1A/D轉(zhuǎn)換擴展

A/D轉(zhuǎn)換器(ADC)是將連續(xù)的模擬信號轉(zhuǎn)換成二進制數(shù)字量的器件;A/D轉(zhuǎn)換器為單片機應(yīng)用系統(tǒng)采集模擬量信號進而實現(xiàn)數(shù)字化處理提供了一種接口;A/D轉(zhuǎn)換器的分類:從工作原理分類有:雙積分型、逐次逼近型A/D轉(zhuǎn)換器等;從分辨率分類有:8、12、14、16位A/D轉(zhuǎn)換器等;從數(shù)據(jù)接口方式分類有:并行A/D轉(zhuǎn)換器和串行A/D轉(zhuǎn)換器。單片機應(yīng)用系統(tǒng)擴展A/D轉(zhuǎn)換器時,需要根據(jù)以上區(qū)別采取不同的設(shè)計方法。----A/D轉(zhuǎn)換器分類2023/3/145第五頁,共八十二頁,2022年,8月28日10.1.1并行A/D轉(zhuǎn)換擴展由于MCS-51系列單片機和51內(nèi)核單片機的并行數(shù)據(jù)總線都是8位的,可以直接或間接地與8位并行輸出的A/D轉(zhuǎn)換器連接,并一次性從A/D接口讀入數(shù)據(jù)。如ADC0809就是一個8輸入通道的逐次逼近比較型8位并行輸出A/D轉(zhuǎn)換器,其輸出級有一個8位三態(tài)輸出鎖存器,可以直接與單片機的數(shù)據(jù)總線連接。8位A/D轉(zhuǎn)換的精度往往不能滿足實際需求,而常采用10位、12位甚至更高位的A/D轉(zhuǎn)換器。A/D轉(zhuǎn)換器的位數(shù)不同,接口電路也不同,對于具有8位數(shù)據(jù)總線的單片機來說,要擴展高于8位的并行輸出A/D轉(zhuǎn)換,單片機需要分兩次來完成從A/D接口讀取數(shù)據(jù)。本節(jié)以12位并行輸出A/D轉(zhuǎn)換芯片AD574為例來介紹并行A/D轉(zhuǎn)換接口的擴展方法。----并行A/D轉(zhuǎn)換器2023/3/146第六頁,共八十二頁,2022年,8月28日10.1.1并行A/D轉(zhuǎn)換擴展1.12位并行A/D轉(zhuǎn)換器芯片AD574AD574是AnalogDevices公司生產(chǎn)的12位逐次逼近型快速A/D轉(zhuǎn)換器。完成12位A/D轉(zhuǎn)換的時間為35s。內(nèi)部有三態(tài)輸出緩沖電路。輸出電平與TTL和CMOS電平兼容。無須外加時鐘電路。得到廣泛應(yīng)用。AD574的引腳如圖10-1所示。

----12位并行A/D轉(zhuǎn)換器2023/3/147第七頁,共八十二頁,2022年,8月28日10.1.1并行A/D轉(zhuǎn)換擴展AD574引腳說明如下:CE,(/CS),R/(/C):用于控制啟動轉(zhuǎn)換和讀出A/D轉(zhuǎn)換結(jié)果,當CE=1、(/CS)=0、R/(/C)=0時啟動A/D轉(zhuǎn)換;當CE=1、(/CS)=0、R/(/CS)=1時,可以讀出A/D轉(zhuǎn)換結(jié)果。12/(/8):數(shù)據(jù)格式選擇端,當12/(/8)=1時,12位數(shù)據(jù)同時輸出,適合于與16位微機系統(tǒng)接口;當12/(/8)=0時,該引腳信號與A0引腳配合使用,可分別輸出高8位A/D轉(zhuǎn)換結(jié)果和低4位A/D轉(zhuǎn)換結(jié)果,適合于與8位微機系統(tǒng)接口。12/(/8)引腳不能由TTL電平控制,只能接VCC或GND。A0:字節(jié)選擇端。A0的作用主要有兩個:啟動轉(zhuǎn)換前若A0=1則按8位啟動A/D轉(zhuǎn)換,即A/D的轉(zhuǎn)換結(jié)果是8位的,完成一次A/D轉(zhuǎn)換的時間是10s;若啟動轉(zhuǎn)換前A0=0,則啟動12位A/D轉(zhuǎn)換,即A/D轉(zhuǎn)換結(jié)果是12位的,完成一次A/D轉(zhuǎn)換的時間是35s。若在讀周期中,A0=0讀出高8位數(shù)據(jù),A0=1讀出低4位數(shù)據(jù)。----AD574引腳2023/3/148第八頁,共八十二頁,2022年,8月28日10.1.1并行A/D轉(zhuǎn)換擴展+5V:邏輯正電源。+15V和-15V:器件工作電源,AD574支持雙極性信號輸入。AGND和DGND:模擬信號地和數(shù)字信號地。REFOUT:參考電壓輸出,AD574向外提供+10V基準電壓輸出。REFIN:參考電壓輸入,一般通過一個50電阻與REFOUT引腳連接,或用于調(diào)滿量程。BIPOFF:雙極性偏差調(diào)整,用于調(diào)零。10Vin和20Vin:模擬信號輸入引腳。可以工作在單極性輸入或雙極性輸入方式。單極性輸入時,允許輸入的信號范圍為0~+10V或0~+20V;雙極性輸入時,允許輸入的信號范圍為-5~+5V或者0~+10V。STS:轉(zhuǎn)換狀態(tài)輸出引腳,轉(zhuǎn)換過程中,該引腳輸出高電平,轉(zhuǎn)換結(jié)束時該引腳輸出低電平。----AD574引腳2023/3/149第九頁,共八十二頁,2022年,8月28日10.1.1并行A/D轉(zhuǎn)換擴展AD574的控制信號組合關(guān)系:CE(/CS)R/(/C)12/(/8)A0操作0××××禁止×1×××禁止100×0啟動12位A/D轉(zhuǎn)換100×1啟動8位A/D轉(zhuǎn)換101VCC×12位A/D轉(zhuǎn)換結(jié)果同時輸出101GND0輸出A/D轉(zhuǎn)換結(jié)果高8位101GND1輸出A/D轉(zhuǎn)換結(jié)果低4位----AD574信號2023/3/1410第十頁,共八十二頁,2022年,8月28日10.1.1并行A/D轉(zhuǎn)換擴展2.單片機與AD574的接口方法AD574工作在單極性輸入方式時與MCS-51單片機的接口電路如下圖所示。----AD574接口方法2023/3/1411第十一頁,共八十二頁,2022年,8月28日10.1.1并行A/D轉(zhuǎn)換擴展例10-1

根據(jù)上圖所示A/D擴展電路,編寫完成一次A/D轉(zhuǎn)換的程序。分析:圖中,P0.0和P0.1通過地址鎖存器連接AD574的A0和R/(/C),因此,AD574操作如下:啟動轉(zhuǎn)換時,R/(/C)=0并且A0=0則按12位轉(zhuǎn)換,未連接的地址線按1對待,則啟動12位A/D轉(zhuǎn)換的地址為FCH。讀取轉(zhuǎn)換結(jié)果時,在R/(/C)=1條件下,A0=0讀高8位,A0=1讀低4位,因而,讀高8位數(shù)據(jù)的地址為FEH,讀低4位數(shù)據(jù)的地址為FFH。P1.0用于查詢A/D轉(zhuǎn)換是否結(jié)束。----AD574應(yīng)用舉例2023/3/1412第十二頁,共八十二頁,2022年,8月28日10.1.1并行A/D轉(zhuǎn)換擴展編寫程序如下:AD574: MOV R1,#30H ;R1指向數(shù)據(jù)緩沖區(qū)

MOV R0,#0FCH ;R0指向啟動地址

MOVX@R0,A ;啟動A/D轉(zhuǎn)換LOOP: JB P1.0,LOOP ;等待轉(zhuǎn)換結(jié)束

INC R0 ;指向讀高8位數(shù)據(jù)地址

INC R0 MOVXA,@R0 ;讀高8位數(shù)據(jù)

MOV @R1,A ;存高8位數(shù)據(jù)

INC R0 ;指向讀低4位數(shù)據(jù)地址

INC R1 ;指向緩沖區(qū)下一字節(jié)地址

MOVXA,@R0 ;讀低4位數(shù)據(jù)

MOV @R1,A ;保存低4位數(shù)據(jù)

RET----AD574應(yīng)用舉例2023/3/1413第十三頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展采用串行總線擴展A/D轉(zhuǎn)換時,單片機與轉(zhuǎn)換芯片的數(shù)據(jù)交換是通過串行數(shù)據(jù)傳輸方式來實現(xiàn)的。當確定了接口協(xié)議時,其硬件接口方式也就確定了,與單片機的接口方法不涉及單片機的數(shù)據(jù)總線及位數(shù)問題。無論是8位或是高于8位的串行A/D轉(zhuǎn)換芯片,與單片機的硬件接口都是一樣的,只是單片機對于串行接口A/D芯片的讀寫時序有所不同,程序設(shè)計方法有所不同而已。----串行A/D轉(zhuǎn)換2023/3/1414第十四頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展ADS10XX系列的A/D轉(zhuǎn)換器是由美國德州儀器公司推出的微型封裝的12位Delta-Sigma型模數(shù)轉(zhuǎn)換器。與該系列相對應(yīng)的有ADS11XX系列,其分辨率為16位。ADS1013/4/5采用I2C總線與CPU接口。本節(jié)將以ADS1015芯片為例介紹采用I2C總線的AD轉(zhuǎn)換器擴展方法。ADS1015的內(nèi)部結(jié)構(gòu)如圖所示。ADS1015的工作方式有連續(xù)轉(zhuǎn)換模式和單次轉(zhuǎn)換模式。連續(xù)轉(zhuǎn)換模式時,當前轉(zhuǎn)換工作完成后,ADS1015將轉(zhuǎn)換結(jié)果保存在1.ADS1015串行A/D轉(zhuǎn)換芯片

輸出寄存器,然后立即進行下一次轉(zhuǎn)換。在單次轉(zhuǎn)換模式時,轉(zhuǎn)換結(jié)束后芯片自動進入掉電節(jié)能狀態(tài)。ADS的工作方式通過配置寄存器進行選擇。----串行A/D轉(zhuǎn)換芯片2023/3/1415第十五頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展ADS1015的主要技術(shù)特性:分辨率為12位;可編程轉(zhuǎn)換速率為128SPS到3.3kSPS;內(nèi)置低漂移的電壓參考源;內(nèi)置可編程增益放大器,允許輸入電壓低到±256mV,最大輸入電壓為±4.096V;內(nèi)置轉(zhuǎn)換時鐘發(fā)生器;邏輯電平輸入與TTL電平兼容;四通道單端輸入或二通道差分輸入;內(nèi)部具有可編程的比較器;采用單一正電源供電,電源電壓范圍2.0~5.5V;低功耗,連續(xù)轉(zhuǎn)換時電流消耗僅為150A。----ADS1015性能2023/3/1416第十六頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展ADS1015的MSOP-10封裝引腳如圖所示。引腳定義如下:ADDR:I2C從器件地址選擇。ALERT/RDY:比較器輸出或轉(zhuǎn)換準備好信號。AIN0:單端輸入通道1或差分輸入通道1的正信號輸入端。AIN1:單端輸入通道2或差分輸入通道1的負信號輸入端。AIN2:單端輸入通道3或差分輸入通道2的正信號輸入端。AIN3:單端輸入通道4或差分輸入通道2的負信號輸入端。SDA:串行數(shù)據(jù)線。SCL:串行時鐘線。GND:地。VDD:電源。----ADS1015引腳2023/3/1417第十七頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展1)ADS1015的輸入特性ADS1015可以允許差分輸入或單端輸入,通過配置寄存器進行選擇。ADS1015采用開關(guān)電容輸入級。由于電容值很小,因此對外部電路而言就像一個電阻。輸入阻抗與PGA的增益有關(guān)。在輸入源阻抗較高時,ADS1015的輸入阻抗不能忽略,需要增加緩沖進行阻抗變換,否則會影響測量精度。ADS1015的模擬信號輸入范圍也與PGA的增益有關(guān),內(nèi)部等效的差分輸入電壓為±4.096V/PGA。但要注意輸入電壓不能低于0.3V和超過VDD+0.3V,否則會損壞器件。2.ADS1015的輸入和輸出特性

----ADS1015輸入特性2023/3/1418第十八頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展2)ADS1015的輸出特性輸出采用二進制補碼形式,正的滿量程輸入信號對應(yīng)于7FF0h,負的滿量程輸出對應(yīng)于8000h。其轉(zhuǎn)換結(jié)果與輸入電壓的關(guān)系如圖所示。理想的輸出特性見下表。由于采用補碼特性輸出,在有些情況下需要進行碼制變換。此外該器件是為了與同系列16位A/D轉(zhuǎn)換器ADS1115兼容,其轉(zhuǎn)換結(jié)果保持16位特性,但只有高12位有效,低4位始終為0。在使用時需注意。采用單端輸入時負值范圍的輸出值是沒有用的。輸入信號(AINP–AINN)輸出≥FS(211–1)/2117FF0h+FS/2110010h00–FS/211FFF0h≤–FS8000h----ADS1015輸出特性2023/3/1419第十九頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展ADS1015只有一個用于I2C總線從器件的可編程地址引腳ADDR,ADDR可以連接到GND、VDD、SDA或SCL,從而允許該芯片可以有4個可編程地址。ADS1015的I2C地址見表。

3.ADS1015的I2C地址

ADDR引腳ADS1015的I2C地址GND1001000VDD1001001SDA1001010SCL1001011----ADS1015I2C地址2023/3/1420第二十頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展ADS1015有1個尋址寄存器和4個功能寄存器:輸出寄存器存儲最后一次轉(zhuǎn)換的結(jié)果;配置寄存器可用于改變ADS1015的操作模式或查詢器件的狀態(tài);低閾值和高閾值寄存器用來設(shè)置比較器。1)尋址寄存器訪問ADS1015的寄存器需要借助尋址寄存器,通過向?qū)ぶ芳拇嫫髦袑懭胂鄳?yīng)的值,來選擇所需訪問的寄存器。主機發(fā)出ADS1015的地址字節(jié),并令最低位為低,然后接著發(fā)出要寫往尋址寄存器的數(shù)據(jù)和終止條件。尋址寄存器會保持數(shù)據(jù)直到對其進行改變。4.ADS1015的寄存器

BIT7BIT6BIT5BIT40000BIT3BIT2BIT1BIT000寄存器地址BIT1BIT0寄存器00輸出寄存器01配置寄存器10低閾值寄存器11高閾值寄存器尋址寄存器格式

功能寄存器地址

----ADS1015尋址寄存器2023/3/1421第二十一頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展2)輸出尋址寄存器輸出寄存器(只讀)共有16位,但只有D4~D15是轉(zhuǎn)換結(jié)果,采用二進制補碼格式。復(fù)位或上電時,該寄存器的所有位被清零。BIT1514131211109876543210NAMED11D10D9D8D7D6D5D4D3D2D1D00000輸出寄存器(只讀)

----ADS1015輸出寄存器2023/3/1422第二十二頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展3)配置寄存器配置寄存器

(讀/寫)用于配置ADS1015的工作模式、輸入選擇、采樣轉(zhuǎn)換速率、可編程增益和比較器的工作模式,見表10-7。配置中寄存器每一位的作用見表10-8。BIT15141312111098NAMEOSMUX2MUX1MUX0PGA2PGA1PGA0MODEBIT76543210NAMEDR2DR1DR0COMP_MODECOMP_POLCOMP_LATCOMP_QUE1COMP_QUE0表10-7配置寄存器(讀/寫)----ADS1015配置寄存器2023/3/1423第二十三頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展表10-8配置寄存器的作用

Bit[15]OS:工作狀態(tài)或啟動單次轉(zhuǎn)換,該位只能在掉電模式時寫入,寫入“0”對工作模式?jīng)]有影響,寫1時啟動一次單次轉(zhuǎn)換。讀該位時,如果結(jié)果為“0”表示芯片準備好進行轉(zhuǎn)換,結(jié)果為“1”時表示沒有準備好轉(zhuǎn)換Bits[14:12]設(shè)置多路轉(zhuǎn)換器的狀態(tài)000:AINP=AIN0andAINN=AIN1(默認)001:AINP=AIN0andAINN=AIN3010:AINP=AIN1andAINN=AIN3011:AINP=AIN2andAINN=AIN3100:AINP=AIN0andAINN=GND101:AINP=AIN1andAINN=GND110:AINP=AIN2andAINN=GND111:AINP=AIN3andAINN=GNDBits[11:9]PGA[2:0]:設(shè)置可編程增益放大器的增益,改變輸入信號的范圍000:FS=±6.144V001:FS=±4.096V010:FS=±2.048V(默認)011:FS=±1.024V100:FS=±0.512V101:FS=±0.256V110:FS=±0.256V111:FS=±0.256VBit[8]MODE:芯片工作模式。0:連續(xù)轉(zhuǎn)換模式;1:單次轉(zhuǎn)換模式(默認)Bits[7:5]DR[2:0]:采樣和轉(zhuǎn)換速率000:128SPS001:250SPS010:490SPS011:920SPS100:1600SPS(默認)101:2400SPS110:3300SPS111:3300SPSBits[4:0]有關(guān)比較器工作模式和輸出狀態(tài)的設(shè)定位,詳見器件手冊----ADS1015配置寄存器2023/3/1424第二十四頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展4)低閾值和高閾值寄存器低閾值和高閾值寄存器都是16位的寄存器,它們的低4位固定為0,高12位用來保存數(shù)字比較器的閾值。當改變了PGA的增益后,需要對閾值進行重新調(diào)整。ADS1015的讀寫操作遵循基本的I2C總線的協(xié)議。在數(shù)據(jù)傳輸過程中,總線的啟動和停止信號均由主機發(fā)出,但是需要根據(jù)ADS1015的特性發(fā)送相應(yīng)的指令。例如,設(shè)置ADS1015工作在連續(xù)轉(zhuǎn)換模式,然后讀取轉(zhuǎn)換結(jié)果,可發(fā)送如下命令。5.ADS1015的讀寫操作

----ADS1015讀寫操作2023/3/1425第二十五頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展第一步:配置ADS1015工作在連續(xù)轉(zhuǎn)換模式。第一字節(jié):10010000,I2C的地址,操作性質(zhì)為寫。第二字節(jié):00000001,選擇配置寄存器為操作對象。第三字節(jié):00000100,配置寄存器的高8位數(shù)據(jù)。第四字節(jié):10000011,配置寄存器的低8位數(shù)據(jù)。第二步:設(shè)置訪問的寄存器為輸出寄存器。第一字節(jié):10010000,I2C的地址,操作性質(zhì)為寫。第二字節(jié):00000000,選擇輸出寄存器為操作對象。第三步:讀取轉(zhuǎn)換結(jié)果。第一字節(jié):10010001,I2C的地址,操作性質(zhì)為讀。第二字節(jié):ADS1015作為從發(fā)送器發(fā)送的高8位轉(zhuǎn)換結(jié)果。第三字節(jié):ADS1015作為從發(fā)送器發(fā)送的低8位轉(zhuǎn)換結(jié)果(只有高4位有效)。----ADS1015讀寫操作2023/3/1426第二十六頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展ADS1015寫操作時序圖為:----ADS1015寫操作時序2023/3/1427第二十七頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展ADS1015的讀操作時序圖為:----ADS1015讀操作時序2023/3/1428第二十八頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展ADS1015使用時數(shù)字電路部分連接關(guān)系簡單,只需要正確連接I2C總線,同時通過ADDR引腳設(shè)置可編程地址,如圖所示。

6.單片機與串行A/D轉(zhuǎn)換器的接口方法

模擬電路部分需要考慮:根據(jù)輸入信號的形式考慮好是單端還是差分輸入形式。根據(jù)輸入形式通過配置寄存器確定內(nèi)部多路轉(zhuǎn)換器的狀態(tài),使其與輸入信號的形式相適應(yīng)。根據(jù)輸入信號的范圍設(shè)置可編程增益,確保輸入信號不會超出ADS1015的轉(zhuǎn)換范圍。----ADS1015接口方法2023/3/1429第二十九頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展下圖為ADS1015采用差分方式實現(xiàn)負載電流檢測的應(yīng)用方案。通過采樣電阻Rs將負載電流轉(zhuǎn)換為電壓;經(jīng)過OPA335放大,OPA335的放大倍數(shù)為4倍。如果采樣電阻上的壓降為50mV,ADS1015的滿量程輸入電壓為0.2V,則將其可編程增益設(shè)為16,即可進行負載電流監(jiān)測。----ADS1015信號輸入電路2023/3/1430第三十頁,共八十二頁,2022年,8月28日10.1.2串行A/D轉(zhuǎn)換擴展下面通過一個編程實例說明串行A/D轉(zhuǎn)換器ADS1015的程序設(shè)計方法。例10-2

根據(jù)圖10-7的電路來編寫程序,控制ADS1015實現(xiàn)A/D轉(zhuǎn)換。分析:ADS1015內(nèi)部有配置寄存器,用來配置芯片的工作方式、可編程增益和采樣速率等內(nèi)容,在使用時需要根據(jù)自己的需要結(jié)合表10-8進行配置,否則得不到預(yù)期的結(jié)果。讀出數(shù)據(jù)時在輸出寄存器讀取。這些功能都是通過編寫適當?shù)暮瘮?shù)通過I2C總線訪問相應(yīng)寄存器來實現(xiàn)的。編寫C語言程序如下(略)。7.串行A/D轉(zhuǎn)換器編程舉例

----ADS1015應(yīng)用舉例2023/3/1431第三十一頁,共八十二頁,2022年,8月28日10.2D/A轉(zhuǎn)換擴展D/A轉(zhuǎn)換器(DAC)是一種將數(shù)字信號轉(zhuǎn)換成模擬信號的器件。D/A轉(zhuǎn)換器為單片機系統(tǒng)將數(shù)字信號轉(zhuǎn)換成模擬信號輸出提供了一種接口。D/A轉(zhuǎn)換器的分類:從數(shù)據(jù)接口方式分類有:并行D/A轉(zhuǎn)換器和串行D/A轉(zhuǎn)換器。從分辨率分類有:8位分辨率和高于8位分辨率的A/D轉(zhuǎn)換器。并行D/A轉(zhuǎn)換器根據(jù)其內(nèi)部是否具有鎖存器可以分為兩類:一類是芯片內(nèi)部有數(shù)據(jù)鎖存器、片選信號和寫信號,數(shù)據(jù)輸入引腳可以直接和單片機的總線進行連接,不需要中間接口器件;另一類是芯片內(nèi)部沒有鎖存器,不能直接與單片機的總線連接,中間必須加鎖存器,或者通過并行接口與單片機進行連接。單片機與D/A轉(zhuǎn)換器接口時,需要根據(jù)以上區(qū)別采取不同的設(shè)計方法。----D/A轉(zhuǎn)換器分類2023/3/1432第三十二頁,共八十二頁,2022年,8月28日10.2.1并行D/A轉(zhuǎn)換擴展經(jīng)過8位D/A轉(zhuǎn)換后輸出的模擬信號基本能滿足一般的控制精度要求,但對于控制精度要求較高的應(yīng)用,則需要采用10位、12位甚至更高的D/A轉(zhuǎn)換器。下面分別以8位并行D/A轉(zhuǎn)換芯片DAC0832和12位并行D/A轉(zhuǎn)換芯片DAC1210為例介紹并行D/A轉(zhuǎn)換得擴展方法。----并行D/A轉(zhuǎn)換器2023/3/1433第三十三頁,共八十二頁,2022年,8月28日10.2.1并行D/A轉(zhuǎn)換擴展1.8位并行D/A轉(zhuǎn)換芯片DAC0832及其單片機的接口方法DAC0832是帶內(nèi)部數(shù)據(jù)鎖存器的單片式8位高速電流型并行輸出的DAC,其內(nèi)部邏輯結(jié)構(gòu)如圖所示。DAC0832的主要技術(shù)特性如下:轉(zhuǎn)換時間為1s;數(shù)據(jù)輸入可以采用單緩沖、雙緩沖或直通方式;分辨率為8位;邏輯電平輸入與TTL電平兼容;采用單一正電源供電。----8位并行D/A轉(zhuǎn)換器2023/3/1434第三十四頁,共八十二頁,2022年,8月28日10.2.1并行D/A轉(zhuǎn)換擴展DAC0832的引腳定義如圖所示。DAC0832的主要引腳功能如下:/CS:片選信號,低電平有效,與ILE配合使用。該信號為高電平時,不能對輸入鎖存器進行寫操作。ILE:允許輸入鎖存信號,高電平有效。該信號有效時才可能將數(shù)據(jù)線上的信息打入輸入鎖存器。/WR1:寫信號1,低電平有效。該信號有效時才可能將數(shù)據(jù)線上的信息寫入8位輸入鎖存器。/WR2:寫信號2,低電平有效。該信號有效時才可能將數(shù)據(jù)從輸入鎖存器寫到8位DAC寄存器。----DAC0832引腳2023/3/1435第三十五頁,共八十二頁,2022年,8月28日10.2.1并行D/A轉(zhuǎn)換擴展/XFER:數(shù)據(jù)傳送信號,低電平有效。該信號有效時才可能將輸入鎖存器的內(nèi)容打入DAC寄存器。VREF:基準電源輸入端,與DAC內(nèi)部的R-2R網(wǎng)絡(luò)相連,作為D/A轉(zhuǎn)換的參考電壓。DI0~DI7:8位數(shù)字量的輸入端,DI7為最高位,DI0為最低位。IOUT1和IOUT2:DAC的電流輸出端,IOUT1和IOUT2是互補的。當輸入的數(shù)字量為全1時,IOUT1最大,IOUT2為0;當輸入的數(shù)字量為全0時,IOUT2最大,IOUT1為0。Rfb:反饋電阻,DAC0832內(nèi)部有反饋電阻,該端連接外部運算放大器的輸出端即可。----DAC0832引腳2023/3/1436第三十六頁,共八十二頁,2022年,8月28日10.2.1并行D/A轉(zhuǎn)換擴展由于DAC0832有數(shù)據(jù)輸入鎖存器,因而可以直接與單片機的數(shù)據(jù)總線相連,DAC0832與MCS-51單片機的接口電路如下圖所示。

DAC0832與MCS-51單片機的接口電路

----DAC0832接口方法2023/3/1437第三十七頁,共八十二頁,2022年,8月28日10.2.1并行D/A轉(zhuǎn)換擴展例10-3

根據(jù)圖10-10所示的DAC0832與單片機接口電路,編寫程序,實現(xiàn)在VOUT端輸出鋸齒波形。分析:按圖10-10所示的連接關(guān)系,DAC0832工作在單緩沖方式,并且其端口地址為7FFFH。程序如下:

P0832: MOV DPTR,#7FFFH ;DPTR指向DAC0832 MOV A,#0

LOOP:

MOVX@DPTR,A ;數(shù)據(jù)送到DAC0832 NOP ;延時,調(diào)整該時間可

;改變輸出波形斜率

INC A LJMP LOOP----DAC0832應(yīng)用舉例2023/3/1438第三十八頁,共八十二頁,2022年,8月28日10.2.1并行D/A轉(zhuǎn)換擴展由于MCS-51單片機的數(shù)據(jù)總線是8位的,當D/A轉(zhuǎn)換器分辨率高于8位時,必須分兩次將數(shù)據(jù)送至D/A轉(zhuǎn)換器。DAC1210是12位D/A轉(zhuǎn)換芯片,其引腳及內(nèi)部結(jié)構(gòu)如圖所示。

2.12位并行D/A轉(zhuǎn)換芯片DAC1210及其與單片機的接口方法----12位并行D/A轉(zhuǎn)換器2023/3/1439第三十九頁,共八十二頁,2022年,8月28日10.2.1并行D/A轉(zhuǎn)換擴展DAC1210的性能:電流建立時間是1s;單一電源(+5~+15V)工作;輸入信號與TTL電平兼容;具有兩級內(nèi)部緩沖器:第1級12位緩沖器由1個高8位緩沖器和1個低4位緩沖器構(gòu)成。第2級緩沖器由1個12位DAC寄存器構(gòu)成。為該芯片與8位數(shù)據(jù)總線微控制器接口提供了方便。第一級緩沖器由B1/(/B2),(/CS),(/WR1)控制高8位的寫入,由(/CS)和(/WR1)控制低4位的寫入,即向DAC1210器件寫入高8位數(shù)據(jù)時,低4位寄存器的寫控制信號是有效的—寫入高8位數(shù)據(jù)時低4位數(shù)據(jù)將被改寫,而寫入低4位數(shù)據(jù)時由于B1/(/B2)無效而不會改寫高8位數(shù)據(jù)。這樣,寫DAC1210時必須先寫高8位數(shù)據(jù)然后寫低4位數(shù)據(jù)。----12位并行D/A轉(zhuǎn)換器性能2023/3/1440第四十頁,共八十二頁,2022年,8月28日10.2.1并行D/A轉(zhuǎn)換擴展從圖所示連接關(guān)系可以看出:高8位數(shù)據(jù)寫入地址為:E000H(P2.7=1,P2.6=1,P2.5=1);低4位數(shù)據(jù)寫入地址為:C000H(P2.7=1,P2.6=1,P2.5=0);12位DAC寄存器的寫入地址為:2000H(P2.7=0,P2.6=0,P2.5=1)。

DAC1210與MCS-51單片機的接口電路

----DAC1210接口方法2023/3/1441第四十一頁,共八十二頁,2022年,8月28日10.2.1并行D/A轉(zhuǎn)換擴展例10-4

為DAC1210接口電路編寫實現(xiàn)一次D/A轉(zhuǎn)換的程序。設(shè):R2中為D/A轉(zhuǎn)換高8位數(shù)據(jù),R3中為D/A轉(zhuǎn)換低4位數(shù)據(jù)。編寫程序如下:DA1210: PUSH DPL PUSH DPH MOV DPTR,#0E000H ;DPTR指向8位輸入緩沖器

MOV A,R2 MOVX@DPTR,A ;送出高8位數(shù)據(jù)

MOV DPTR,#0C000H ;DATR指向4位輸入緩沖器

MOV A,R3 MOVX@DPTR,A ;送出低4位數(shù)據(jù)

MOV DPTR,#2000H ;DPTR指向12位DAC寄存器

MOVX@DPTR,A ;選通12位DAC寄存器

POP DPH POP DPL RET----DAC1210應(yīng)用舉例2023/3/1442第四十二頁,共八十二頁,2022年,8月28日10.2.2串行D/A轉(zhuǎn)換擴展對于并行D/A轉(zhuǎn)換,8位和高于8位的接口方式不同。而對于串行D/A轉(zhuǎn)換,無論是8位還是高于8位的接口電路卻是一樣的,只是單片機對于串行接口D/A芯片的讀寫時序有所不同,程序設(shè)計方法也有所不同。1.DAC7611串行D/A轉(zhuǎn)換芯片

DAC7611是一個12位的串行D/A轉(zhuǎn)換器,采用單一+5V電源供電,內(nèi)部集成了2.435V的基準電壓源和高速軌到軌輸出放大器。數(shù)字電路部分包含有一個輸入移位寄存器,適用于串行接口的數(shù)據(jù)傳輸。

DAC7611內(nèi)部結(jié)構(gòu)圖

----串行D/A轉(zhuǎn)換器2023/3/1443第四十三頁,共八十二頁,2022年,8月28日10.2.2串行D/A轉(zhuǎn)換擴展DAC7611的典型性能:12位分辨率;3線接口的數(shù)據(jù)同步傳輸,時鐘頻率最快可達20MHz;快速建立時間:7sto1LSB;0~4.095V滿量程范圍,最低有效位為1mV;內(nèi)部集成參考源;異步復(fù)位清零;低功耗,采用5V電源時電流為0.5mA,2.5mW。----串行D/A轉(zhuǎn)換器性能2023/3/1444第四十四頁,共八十二頁,2022年,8月28日10.2.2串行D/A轉(zhuǎn)換擴展DAC7611的PDIP封裝引腳圖和引腳定義:VDD:+5V電源輸入。/CS:片選信號,低電平有效。CLK:數(shù)據(jù)傳輸?shù)耐綍r鐘信號。SDI:串行數(shù)據(jù)信號,在CLK的上升沿進入串行移位寄存器。/LD:裝載DAC寄存器。(/LD)的下降沿將移位寄存器的數(shù)據(jù)鎖入DAC寄存器。當(/LD)為低電平時,DAC寄存器相當于透明狀態(tài),此時D/A轉(zhuǎn)換器的跟著移位寄存器的值變化。/CLR:清除DAC寄存器。當(/CLR)為低電平時,DAC寄存器被設(shè)置為000H,從而D/A轉(zhuǎn)換器輸出電壓為0V。GND:地。VOUT:電壓輸出。

----DAC7611引腳2023/3/1445第四十五頁,共八十二頁,2022年,8月28日10.2.2串行D/A轉(zhuǎn)換擴展DAC7611的滿量程輸出范圍為0~4.095V,最低有效位對應(yīng)1mV。在整個轉(zhuǎn)換范圍內(nèi)保持線性關(guān)系。DAC7611的數(shù)字量輸入為二進制原碼,與模擬輸出的關(guān)系見下表。2.DAC7611的輸入/輸出特性數(shù)字量輸入模擬輸出(V)描述FFFH+4.095滿量程801H+2.049量程中點+1LSB800H+2.048量程中點7FFH+2.047量程中點–1LSB000H0零點----DAC7611輸入/輸出特性2023/3/1446第四十六頁,共八十二頁,2022年,8月28日10.2.2串行D/A轉(zhuǎn)換擴展DAC7611的串行總線接口由數(shù)據(jù)信號SDI、時鐘信號CLK和片選信號組成,還有一個裝載信號和異步清零信號配合使用?;倦娐愤B接如下圖所示(圖中的STC90C54是一款51內(nèi)核單片機)。3.單片機與串行D/A轉(zhuǎn)換器的接口方法

----DAC7611接口方法2023/3/1447第四十七頁,共八十二頁,2022年,8月28日10.2.2串行D/A轉(zhuǎn)換擴展DAC7611的操作時序圖:

從時序圖中可以看出DAC7611工作在SPI模式3。----DAC7611操作時序2023/3/1448第四十八頁,共八十二頁,2022年,8月28日10.2.2串行D/A轉(zhuǎn)換擴展DAC7611操作的真值表:

/CSCLK/CLR/LD串行移位寄存器DAC寄存器H×HH不變化不變化LLHH不變化不變化LHHH不變化不變化L↑HH移入1位不變化↑LHH移入1位不變化H×H↓不變化移位寄存器的值H×HL不變化透明狀態(tài)H×L×不變化裝入000HH×↑H不變化鎖存000H----DAC7611操作關(guān)系2023/3/1449第四十九頁,共八十二頁,2022年,8月28日10.2.2串行D/A轉(zhuǎn)換擴展DAC7611具有雙緩沖機制,數(shù)據(jù)必須經(jīng)過移位寄存器才能進入DAC寄存器,而模擬輸出是根據(jù)DAC寄存器的數(shù)據(jù)進行轉(zhuǎn)換的。當(/LD)信號的下降沿時數(shù)據(jù)由移位寄存器進入DAC寄存器,這樣可以防止串行數(shù)據(jù)傳輸過程中移位寄存器的值不確定造成模擬量輸出的不穩(wěn)定。在不需要雙緩沖的情況下,可以將(/LD)信號接地,使DAC寄存器呈現(xiàn)透明狀態(tài),但是每移入1位,模擬輸出都會發(fā)生變化。因此,要保證在串行總線傳輸數(shù)據(jù)的過程中,D/A轉(zhuǎn)換器輸出沒有異常變化,需要在對總線操作前將(/LD)信號拉高,數(shù)據(jù)傳輸結(jié)束后再給(/LD)信號一個負脈沖。只要(/CLR)信號為低電平,DAC寄存器的值就被設(shè)為000H,直到(/CLR)變?yōu)楦?,并?/LD)信號拉低,重新裝載移位寄存器的值。----DAC7611操作關(guān)系2023/3/1450第五十頁,共八十二頁,2022年,8月28日10.2.2串行D/A轉(zhuǎn)換擴展例10-5

串行D/A轉(zhuǎn)換器DAC7611的程序設(shè)計方法舉例。編寫程序,控制DAC7611實現(xiàn)D/A轉(zhuǎn)換。分析:根據(jù)DAC7611的工作原理,只需要通過串行接口向其內(nèi)部寄存器寫入要轉(zhuǎn)換的數(shù)據(jù)即可,編寫C語言程序如下:#include<reg52.h>#include<intrins.h>#defineuintunsignedintSbit CLK=P2^2; //配置相應(yīng)的引腳Sbit SDI=P2^4;Sbit LD=P2^5;Sbit CLR=P2^6;Sbit CSN=P2^3;4.串行D/A轉(zhuǎn)換器編程舉例

----DAC7611應(yīng)用舉例2023/3/1451第五十一頁,共八十二頁,2022年,8月28日10.2.2串行D/A轉(zhuǎn)換擴展voidInit_DA(void) //初始化{ LD=0; CLR=1; CLK=1; SDI=0; CSN=1;}voidclock(void) //串行時鐘信號{ CLK=0; _nop_(); CLK=1; _nop_();}----DAC7611應(yīng)用舉例2023/3/1452第五十二頁,共八十二頁,2022年,8月28日10.2.2串行D/A轉(zhuǎn)換擴展voidDAC_7611(uintvalue) //D/A轉(zhuǎn)換程序{ uinti,temp; CLR=1; value<<=4; //對12位數(shù)據(jù)左移4位

LD=1; CSN=0; _nop_(); for(i=0;i<12;i++) //依次傳輸12位數(shù)據(jù)

{temp=value; SDI=temp&0x8000; //依次傳輸最高位的數(shù)據(jù)

clock(); value<<=1; }

CLK=1; _nop_();----DAC7611應(yīng)用舉例2023/3/1453第五十三頁,共八十二頁,2022年,8月28日10.2.2串行D/A轉(zhuǎn)換擴展

LD=0; CSN=1; for(i=0;i<15;i++) {_nop_(); } LD=1;}/*以下是主程序,調(diào)用DAC7611的初始化程序,然后啟動D/A轉(zhuǎn)換。*/voidmain(){ Init_DA(); DAC_7611(0x800); //寫入數(shù)據(jù),進行D/A轉(zhuǎn)換}----DAC7611應(yīng)用舉例2023/3/1454第五十四頁,共八十二頁,2022年,8月28日10.3日歷時鐘芯片擴展在單片機應(yīng)用系統(tǒng)中經(jīng)常用到與日期、時間有關(guān)的控制操作,如:收費系統(tǒng)、計量系統(tǒng)其中有許多與日期、時間有關(guān)的操作。這時在系統(tǒng)中加入一個日歷時鐘芯片,將給編程及操作帶來很大的方便。

----日歷時鐘芯片2023/3/1455第五十五頁,共八十二頁,2022年,8月28日10.3.1日歷時鐘芯片85638563是Philips公司推出的內(nèi)含I2C總線接口功能并具有極低功耗的多功能日歷時鐘芯片。8563的功能:多種報警定時器時鐘輸出中斷輸出“看門狗”內(nèi)部低電壓檢測(1.0V)I2C總線通信8563是一款性價比極高的時日歷鐘芯片,它已被廣泛用于電表、水表、氣表、電話、傳真機、便攜式儀器及電池供電的儀器儀表等產(chǎn)品領(lǐng)域。----日歷時鐘芯片性能2023/3/1456第五十六頁,共八十二頁,2022年,8月28日10.3.1日歷時鐘芯片8563寬電壓范圍1.0~5.5V,復(fù)位電壓標準值Vlow=0~9V。超低功耗:典型值為0.25A(VDD=3.0V,Tamb=25℃)??删幊虝r鐘輸出頻率為:32.768kHz,1024Hz,32Hz,1Hz。4種報警功能和定時器功能。內(nèi)含復(fù)位電路、振蕩器電容和掉電檢測電路。開漏中斷輸出。400kHzI2C總線(VDD為1.8~5.5V)。I2C總線地址:讀為0A3H,寫為0A2H。8563的主要特性:----8563特性2023/3/1457第五十七頁,共八十二頁,2022年,8月28日10.3.1日歷時鐘芯片8563OSCI和OSCO:振蕩器輸入輸出引腳。/INT:中斷信號輸出引腳。VDD和VSS:正電源與地。SDA:串行數(shù)據(jù)線。SCL:串行時鐘信號線。CLKOUT:時鐘信號輸出引腳。8563采用SO8或DIP8封裝形式。8563引腳定義:----8563引腳2023/3/1458第五十八頁,共八十二頁,2022年,8月28日10.3.1日歷時鐘芯片85638563的內(nèi)部組成包括:1個可自動產(chǎn)生增量的地址寄存器;1個內(nèi)置的32.768kHz的振蕩器(帶有一個內(nèi)部集成的電容);1個分頻器(用于給實時時鐘RTC提供源時鐘);1個可編程時鐘輸出;1個定時器;1個報警器;1個掉電檢測器;1個400kHzI2C總線接口;----8563結(jié)構(gòu)2023/3/1459第五十九頁,共八十二頁,2022年,8月28日10.3.1日歷時鐘芯片856316個可尋址的8位并行寄存器。2個控制/狀態(tài)寄存器的地址是00H和01H;秒-年寄存器的地址是02~08H;報警寄存器的地址是09~0CH,用于定義報警條件;CLKOUT輸出頻率寄存器地址是0DH;定時器控制寄存器的地址是0EH;定時器寄存器的地址是0FH。秒、分鐘、小時、日、月、年、分鐘報警、小時報警、日報警寄存器的編碼格式為BCD;星期和星期報警寄存器不以BCD格式編碼。----8563結(jié)構(gòu)2023/3/1460第六十頁,共八十二頁,2022年,8月28日10.3.1日歷時鐘芯片8563控制/狀態(tài)寄存器1的地址是00H,其各位的定義和功能見下表。1.控制/狀態(tài)寄存器1Bit定義功能7TEST1TEST1=0,普通模式;TEST1=1,EXT_CLK測試模式5STOPSTOP=0,芯片時鐘運行;STOP=1,所有芯片分頻器異步邏輯0,芯片時鐘停止運行(CLOCK在32768Hz時可用)3TESTCTESTC=0,電源復(fù)位功能失效;TESTC=1,電源復(fù)位功能有效(普通模式置邏輯0)6,4,2,1,00默認值為邏輯0----8563控制寄存器2023/3/1461第六十一頁,共八十二頁,2022年,8月28日10.3.1日歷時鐘芯片8563控制/狀態(tài)寄存器2的地址是01H,其各位的定義和功能見下表。2.控制/狀態(tài)寄存器2Bit定義功能7,6,50默認值為邏輯04TI/IP一直有效3AF當報警發(fā)生時,AF被置邏輯1,當定時器倒計數(shù)結(jié)束時,TF被置邏輯1,在被軟件重寫前一直保持原值;若有定時器和報警中斷請求時,中斷源由AF和TF決定;若要清除一個標志位而防止另一個標志位被重寫,應(yīng)使用邏輯指令A(yù)ND2TF1AIE標志位AIE和TIE決定一個中斷請求的有效或無效;當AF或TF有一個為1時,中斷是AIE和TIE都必須置1時的邏輯或。AIE=0,報警中斷無效,AIE=1,報警中斷有效;TIE=0,定時器中斷無效,TIE=1,定時器中斷有效0TIE----8563控制寄存器2023/3/1462第六十二頁,共八十二頁,2022年,8月28日10.3.1日歷時鐘芯片8563秒、分、時寄存器的地址、各位定義和功能見下表。3.秒、分、時寄存器寄存器地址Bit定義功能秒寄存器02H7VLVL=0,保證準確的時鐘日歷數(shù)據(jù)VL=1,不保證準確的時鐘日歷數(shù)據(jù)6~0<秒>代表BCD格式的當前秒數(shù)值分寄存器03H7—無效6~0<分>代表BCD格式的當前分鐘數(shù)值小時寄存器04H7~6—無效5~0<分>代表BCD格式的當前小時數(shù)值----8563時分秒寄存器2023/3/1463第六十三頁,共八十二頁,2022年,8月28日10.3.2單片機與日歷時鐘芯片的接口方法例10-6

本例說明日歷時鐘芯片與51單片機的接口方法。接口電路如圖所示。編寫讀寫操作程序。分析:根據(jù)8563工作原理,其接口方法和24C01與單片機接口方法相同。編寫程序如下:

----8563應(yīng)用舉例2023/3/1464第六十四頁,共八十二頁,2022年,8月28日10.3.2單片機與日歷時鐘芯片的接口方法;讀8563時間參數(shù)至單片機內(nèi)部RAM的30H~36H單元

DT EQU B DATA0 EQU 0 ;R0

ADDR EQU 1 ;R1RTIME: MOV A,#2 MOV ADDR,A MOV A,#30H MOV DATA0,A MOV A,#0A3H MOV DT,A CALL READN ;該子程序在 ;例9-1中給出

RET;將內(nèi)部RAM的30H~36H單元的時間參數(shù)寫入8563WTIME:MOV A,#2 MOV ADDR,A MOV A,#30H MOV DATA0,A MOV A,#0A2H MOV DT,A CALL WRITEN;該子程序

;在例9-1中給出

RET----8563應(yīng)用舉例2023/3/1465第六十五頁,共八十二頁,2022年,8月28日10.4IC卡擴展IC卡是將集成電路芯片鑲嵌于塑料基片中、封裝成卡的形狀,外形與磁卡相似。IC卡是一種電路卡,它在讀寫性能上優(yōu)于磁卡和光卡,在使用上更容易進行操作,因而得到了廣泛應(yīng)用。IC卡可以分成下列3類:存儲卡:卡中的集成電路僅是EEPROM芯片,是較簡單的IC卡。邏輯加密卡:卡中的集成電路除具有EEPROM芯片外,還有加密邏輯。CPU卡:卡中的集成電路包括CPU,RAM,ROM,EEPROM和固化在ROM中的片內(nèi)操作系統(tǒng)。本節(jié)以SLE4442邏輯加密卡為例討論IC卡與單片機接口方法。----IC卡分類2023/3/1466第六十六頁,共八十二頁,2022年,8月28日10.4.1SLE4442IC卡引腳卡觸點定義功能1C1VCC正電源2C2RST復(fù)位3C3CLK時鐘4C4NC未用5C5GND地6C6NC未用7C7I/O雙向數(shù)據(jù)(漏極開路)8C8NC未用

SLE4442IC卡是德國西門子(Simens)公司設(shè)計的邏輯加密存儲卡,應(yīng)用廣泛,主要性能有:接觸式IC卡;8個觸點(其中有3個未定義);256B的存儲容量;完全獨立的可編程代碼存儲器(PSC);有高、低兩種供電電壓芯片(+5V或+2.7V);存儲器具有至少10000次的擦寫周期;數(shù)據(jù)保持時間至少10年。

SLE4442卡觸點定義和功能----SLE4442IC卡2023/3/1467第六十七頁,共八十二頁,2022年,8月28日10.4.1SLE4442IC卡SLE4442IC卡芯片內(nèi)部主要包括3個存儲器空間。1.EEPROM主存儲器主存儲器分為兩部分:數(shù)據(jù)保護區(qū)(32B,地址0~31),數(shù)據(jù)讀出不受限制,寫入則受保護存儲器內(nèi)部數(shù)據(jù)狀態(tài)的限制,當保護存儲器中第N位(N=0~31)為1時,對應(yīng)主存儲器中第N字節(jié)允許進行擦除和寫入操作。應(yīng)用數(shù)據(jù)區(qū)(224B,地址32~255),數(shù)據(jù)讀出不受限制,擦除和寫入受加密存儲器數(shù)據(jù)校驗結(jié)果的控制。加密校驗控制對整個主存儲器(保護數(shù)據(jù)區(qū)和應(yīng)用數(shù)據(jù)區(qū))均有效。----SLE4442IC卡結(jié)構(gòu)2023/3/1468第六十八頁,共八十二頁,2022年,8月28日10.4.1SLE4442IC卡2.32位PROM型保護存儲器一次性編程,以保護主存儲器的保護數(shù)據(jù)區(qū),防止一些固定的標志參數(shù)被改動。3.4×8位EEPROM型加密存儲器第0字節(jié)為密碼輸入錯誤計數(shù)器EC。EC的有效位是低3位。芯片初始化時設(shè)置成“111”,這一字節(jié)是可讀的。第1,2,3字節(jié)為參照字存儲區(qū),這3字節(jié)的內(nèi)容作為一個整體被稱為可編程加密代碼(PSC),其讀出、寫入和擦除均受自身比較操作結(jié)果的控制。----SLE4442IC卡結(jié)構(gòu)2023/3/1469第六十九頁,共八十二頁,2022年,8月28日10.4.2SLE4442IC卡數(shù)據(jù)傳送協(xié)議復(fù)位和復(fù)位響應(yīng)是根據(jù)ISO7816-3標準來進行的。操作期間的任何時刻都可以復(fù)位。復(fù)位結(jié)束,地址計數(shù)器被設(shè)置為零。在RST信號下降沿后,主存儲器區(qū)第0字節(jié)的第1個數(shù)據(jù)位(LSB)的內(nèi)容被送到I/O上。若連續(xù)輸入32個時鐘脈沖,主存儲器中的前4字節(jié)地址單元中的內(nèi)容被讀出。在第33個時鐘脈沖的下降沿,I/O線被置成高狀態(tài)而關(guān)閉。1.復(fù)位和復(fù)位響應(yīng)

復(fù)位期間從IC卡讀出的4字節(jié)是“A2H,13H,10H,91H”,這是判別SLE4442IC卡的依據(jù)。操作時序如圖所示。----SLE4442IC卡操作2023/3/1470第七十頁,共八十二頁,2022年,8月28日10.4.2SLE4442IC卡數(shù)據(jù)傳送協(xié)議(1)外部復(fù)位SLE4442IC卡基于同步復(fù)位響應(yīng)的傳送協(xié)議。芯片的復(fù)位響應(yīng)時序如上圖所示。(2)上電復(fù)位把操作電壓加到VCC之后,芯片內(nèi)部進行復(fù)位操作,I/O線被置為高電平狀態(tài),必須在對任意地址進行讀操作或作一個復(fù)位響應(yīng)操作之后,才可以進行數(shù)據(jù)交換。(3)中止中止狀態(tài)的時序如圖所示。在CLK為低狀態(tài)期間,如果RST置為高狀態(tài),則任何操作均無效,I/O線被鎖定到高狀態(tài),需要一個最小維持時間tres=5s之后,芯片才能接受新的有效復(fù)位。中止狀態(tài)之后芯片又準備下一步操作。----SLE4442IC卡操作2023/3/1471第七十一頁,共八十二頁,2022年,8月28日10.4.2SLE4442IC卡數(shù)據(jù)傳送協(xié)議完成復(fù)位操作以后,芯片進入等待狀態(tài)。用戶可以向IC卡發(fā)送操作命令,每條命令都從一個起始狀態(tài)開始。起始狀態(tài)之后是命令字節(jié),命令包括3字節(jié),共24位。隨后緊跟著一個附加脈沖并用一個停止狀態(tài)來結(jié)束操作。命令模式的時序如圖所示。起始狀態(tài):在CLK為高電平期間,I/O口線上的信號下降沿為起始狀態(tài)。停止狀態(tài):在CLK為高電平期間,I/O口線上的信號上升沿為停止狀態(tài)。2.命令模式----SLE4442IC卡命令2023/3/1472第七十二頁,共八十二頁,2022年,8月28日10.4.2SLE4442IC卡數(shù)據(jù)傳送協(xié)議IC卡接受一個命令之后,可以有兩種工作模式:輸出數(shù)據(jù)模式(即讀數(shù)據(jù))和處理數(shù)據(jù)模式。輸出數(shù)據(jù)模式的時序如圖所示。在輸出數(shù)據(jù)模式下,IC卡將芯片中的數(shù)據(jù)傳送到外部設(shè)備接口。在第一個CLK脈沖的下降沿之后,I/O線上的第一位數(shù)據(jù)變?yōu)橛行?隨后每增加一個時鐘脈沖,芯片內(nèi)部的一位數(shù)據(jù)被送到I/O線上。傳送順序從每個字節(jié)的最低位(LSB)開始,當所需要的最后一位數(shù)據(jù)被送出以后,需要再

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論