高速A/D轉(zhuǎn)換器AD7654與單片機(jī)接口電路設(shè)計(jì)
關(guān)鍵詞:A/D轉(zhuǎn)換器;AD7654;接口;串行模式;串行外設(shè)接口;ADuC848
1 引言
模/數(shù)轉(zhuǎn)換是現(xiàn)代測(cè)控電路中非常重要的環(huán)節(jié),它有并行和串行兩種數(shù)據(jù)輸出形式。目前,模/數(shù)轉(zhuǎn)換器ADC已被做成大規(guī)模集成電路,并有多種型號(hào)和種類可供選擇。本文介紹了AD7654的性能特點(diǎn),并設(shè)計(jì)了AD7654與單片機(jī)ADuC848的接口電路,同時(shí)給出了軟件流程和相應(yīng)的匯編源程序。
2 AD7654的性能特點(diǎn)和工作原理
AD7654是ADI公司推出的一種低功耗、四通道、電荷再分布式高速A/D轉(zhuǎn)換器,該A/D轉(zhuǎn)換器的主要特點(diǎn)是:16位分辨率且無(wú)漏失碼;O V~5 V模擬輸入范圍;SPI/QSPI/Microwire/DSP兼容;兩個(gè)允許同步采樣的低噪音、高帶寬跟蹤/保持放大器;功耗典型值為120 mW;可提供串行和并行兩種輸出接口,給予用戶靈活的選擇。串行A/D轉(zhuǎn)換的速率很高,并且具有體積小、功耗低、占用單片機(jī)口線少的優(yōu)點(diǎn),文中采用串行模式設(shè)計(jì)電路,有關(guān)引腳說明如下:
A0:轉(zhuǎn)換通道選擇;
A/B:高電平時(shí),先輸出A通道轉(zhuǎn)換數(shù)據(jù)再輸出B通道轉(zhuǎn)換數(shù)據(jù),低電平反之;
SER/PAR:串行/并行模式選擇。低電平為并行模式,高電平為串行模式;
EXT/INT:高電平時(shí)選擇外部時(shí)鐘,低電平時(shí)選擇內(nèi)部時(shí)鐘;
SDOUT:轉(zhuǎn)換數(shù)據(jù)輸出位;
SCLK:串行數(shù)據(jù)時(shí)鐘輸入或輸出(取決于EXT/INT的邏輯狀態(tài));
CNVST:開始轉(zhuǎn)換。CNVST的下降沿使內(nèi)部采樣保持進(jìn)入保持狀態(tài)并開始轉(zhuǎn)換;
BUSY:正在轉(zhuǎn)換標(biāo)志;
EOC:轉(zhuǎn)換結(jié)束標(biāo)志。
AD7654的轉(zhuǎn)換過程由CNVST下降沿啟動(dòng),轉(zhuǎn)換啟動(dòng)與CS和RD信號(hào)狀態(tài)無(wú)關(guān),A0引腳控制轉(zhuǎn)換通道的選擇。在轉(zhuǎn)換結(jié)束之前,即使掉電轉(zhuǎn)換也不會(huì)重新開始或終止。轉(zhuǎn)換進(jìn)行過程中,BUSY變?yōu)楦唠娖?,EOC也為高電平,EOC在每一個(gè)通道轉(zhuǎn)換結(jié)束后變?yōu)榈碗娖?,而BUSY線在兩個(gè)通道轉(zhuǎn)換全部結(jié)束后才變?yōu)榈碗娖剑D(zhuǎn)換的32位數(shù)據(jù)可以從SDOUT上讀出。轉(zhuǎn)換時(shí)序圖如圖1所示。AD7654有串行和并行兩種接口方式,每種接口方式又有主從兩種模式,本文介紹其串行接口下從模式的硬件和軟件設(shè)計(jì)。
3 AD7654與單片機(jī)的接口電路設(shè)計(jì)
在本系統(tǒng)中,單片機(jī)選用ADI的ADuC848,具體的接口電路如圖2所示。筆者設(shè)計(jì)AD7654工作在串行從模式下,因此其數(shù)據(jù)的轉(zhuǎn)換和讀取都需要微處理器ADuC848的控制,所需的高精度2.5 V基準(zhǔn)電壓由AD780提供,AD7654上所有的電源和地之間都需連接去耦電容器。因?yàn)锳DuC848的P1口只能作為輸入口,而P0口被USB接口器件占用,所以AD7654的控制引腳只能連接到單片機(jī)P2和P3口上的部分端口。在實(shí)驗(yàn)電路中,AD7654的SER/PAR和EXT/INT引腳直接由硬件置高電平,INVS-CLK由硬件置低電平,使ADC以串口方式工作,同時(shí)使數(shù)據(jù)輸出由外部時(shí)鐘控制。由于AD7654是兩個(gè)通道同時(shí)采樣,所以需要給A/B置位以控制數(shù)據(jù)的輸出順序。ADuC848的P2.5引腳接至AD7654的CNVST,這樣只需要通過單片機(jī)ADuC848控制使P2.5產(chǎn)生一個(gè)寬度大于5 ns的負(fù)脈沖,該負(fù)脈沖的下降沿就可以啟動(dòng)ADC開始轉(zhuǎn)換,轉(zhuǎn)換的時(shí)間約為2μs。當(dāng)轉(zhuǎn)換結(jié)束時(shí),BUSY引腳上的信號(hào)就會(huì)變成低電平,從而通知單片機(jī)可以開始讀取轉(zhuǎn)換的數(shù)據(jù),由于實(shí)際AD7654轉(zhuǎn)換速度很快,因此BUSY線可以不用,啟動(dòng)轉(zhuǎn)換后可以直接讀取數(shù)據(jù)。在單片機(jī)讀取數(shù)據(jù)前,需要通過P2.6和P3.4口給讀選通RD和片選CS置零,以使SDOUT上的數(shù)據(jù)有效,然后單片機(jī)通過P2.0(SCLK)引腳向AD7654發(fā)送8個(gè)時(shí)鐘脈沖,與此同時(shí)單片機(jī)就可以通過P2.2口從SDOUT上讀取8位轉(zhuǎn)換的數(shù)據(jù)。串行從模式下讀數(shù)據(jù)時(shí)序圖如圖3所示。
該系統(tǒng)中微處理器ADuC848與A/D轉(zhuǎn)換器AD7654之間的數(shù)據(jù)傳送采用SPI(串行外設(shè)接口)方式。SCLOCK是主機(jī)的時(shí)鐘線,為MISO數(shù)據(jù)的發(fā)送和接收提供同步時(shí)鐘信號(hào)。每一位數(shù)據(jù)的傳輸都需要1次時(shí)鐘作用,因而發(fā)送或接收1個(gè)字節(jié)的數(shù)據(jù)需要8個(gè)時(shí)鐘的作用。SPI有2個(gè)相關(guān)的寄存器:即SPICON和SPIDAT,其中SPICON包含各種標(biāo)志位、使能位、方式位及時(shí)鐘位;另一個(gè)SPI寄存器是SPIDAT,對(duì)這一寄存器的寫操作會(huì)使SCLOCK產(chǎn)生8個(gè)時(shí)鐘脈沖,從高位開始一位一位地發(fā)送數(shù)據(jù)。如果寫操作發(fā)生在其他數(shù)據(jù)正在傳輸?shù)倪^程中,那么WCOL將置位。如果寫操作進(jìn)行時(shí)沒有其他數(shù)據(jù)在傳輸,輸入字節(jié)保留在移位寄存器中,此時(shí)ISPI自動(dòng)置位(如果有中斷設(shè)置,則產(chǎn)生中斷),移位寄存器的數(shù)據(jù)將被鎖存到SPIDKT中,此后對(duì)SPIDAT的讀操作將把數(shù)據(jù)讀出。SPI時(shí)序圖如圖4所示。
4 應(yīng)用軟件設(shè)計(jì)
下面給出數(shù)據(jù)采集實(shí)驗(yàn)中,AD7654工作在串行從模式下的軟件流程(如圖5所示)和核心匯編源程序(轉(zhuǎn)換結(jié)果存在30H中)。
匯編源程序:
5 結(jié)束語(yǔ)
采用AD7654串行模式進(jìn)行A/D轉(zhuǎn)換具有速度快、精度高、功耗低、占用口線少的優(yōu)點(diǎn),非常適用于AC伺服電動(dòng)機(jī)控制、頻率轉(zhuǎn)換、三相功率監(jiān)視、不間斷電源、四通道數(shù)據(jù)取樣和汽車電子等方面。該系統(tǒng)電路已在實(shí)驗(yàn)中調(diào)試通過,實(shí)際應(yīng)用中應(yīng)考慮靈活性,所有控制線均由軟件控制實(shí)現(xiàn)。
評(píng)論