基于S3C2410A多個(gè)AD7656-1組成菊花鏈的數(shù)據(jù)采集系統(tǒng)
④菊花鏈中的每塊AD7656-1的CONVST X(X=A、B、C)都要接主控處理器發(fā)送來(lái)的CONVERT信號(hào),即配置為每塊AD7656-1的V1~V6通道同時(shí)采樣。
3 AD7656-1菊花鏈與S3C2410A接口設(shè)計(jì)
3.1 硬件電路設(shè)計(jì)
采用2片 AD7656-1配置成菊花鏈,可實(shí)現(xiàn)12通道同時(shí)采樣,數(shù)據(jù)通過(guò)DOUT A口輸出,S3C2410A用同步串行接口0(SPIO)接收數(shù)據(jù),如圖4所示。S3C2410A的GPEll引腳實(shí)現(xiàn)片上同步串行接口SPlO的 MISO功能,GPEl3(SCK)引腳實(shí)現(xiàn)SPIO接口的同步時(shí)鐘輸出,GPFO引腳配置為中斷EINTO輸入并與AD7656-1(1)的BUSY腳相連;GPBO設(shè)置為PWM輸出,GPG9引腳沒(méi)置為通用輸出口,分別作為AD7656-1(1)和AD7656-1(2)的CONVST和CS的控制信號(hào)輸入。AD7656-1連接外圍電路時(shí),必須對(duì)關(guān)鍵引腳進(jìn)行必要的設(shè)置:AD7656-1(1)、AD7656-l(2)的DVCC、AVCC、 VDRIVE、REFIN/OUT和VSS引腳須并聯(lián)一個(gè)1 μF的去耦電容;為了與S3C2410A的3.3 V的接口匹配,VDRIVE接+3 V電源;STBY接VDRIVE,選擇正常模式;RANGE接地表示選擇輸入范圍±10V;H/s接數(shù)字地選擇為硬件配置;SER/PAR接 VDRIVE,RD接數(shù)字地,選擇為串行模式。AD7656-1(1)的DCEN接VDRIVE,配置為菊花鏈模式,且SEL A接VDRIVE,SEL B、C,DCIN A、B、C接數(shù)字地;AD7656-1(2)的DCEN接數(shù)字地,配置為非菊花鏈模式,且SEL A接VDRIVE,SEL B、C,DCIN B、C接數(shù)字地。具體配置如圖5所示。
3.2 數(shù)據(jù)采集傳輸流程
通過(guò)定時(shí)器中斷來(lái)控制信號(hào)的采樣間隔,設(shè)定S3C2410A的定時(shí)器0作為采樣定時(shí)器,并設(shè)置其工作于PWM方式,定時(shí)器0的PWM輸出TOUTO作為AD7656-1的模數(shù)轉(zhuǎn)換控制信號(hào)CON-VST的輸入,引腳GPFO (EINTO)設(shè)置為下降沿觸發(fā)。A/D采樣操作時(shí)序如圖6所示。當(dāng)采樣定時(shí)器中斷發(fā)生,TOUTO(引腳GPBO)輸出高電平,發(fā)送CONVST信號(hào)給菊花鏈上的每個(gè)AD7656-1開(kāi)始模數(shù)轉(zhuǎn)換。3μs后12個(gè)通道的數(shù)據(jù)全部轉(zhuǎn)換完,BUSY信號(hào)從高電平向低電平轉(zhuǎn)換,觸發(fā)EINTO中斷,開(kāi)始數(shù)據(jù)傳送;GPG9輸出低電平給AD7656-1(1)和AD7656-1(2)的CS引腳,同時(shí)S3C2410A的SPI通道0開(kāi)始讀數(shù)據(jù)。讀完12個(gè)通道的轉(zhuǎn)換結(jié)果后,GPG9恢復(fù)高電平輸出,TOUTO輸出低電平,完成一次采樣。等待下一個(gè)采樣定時(shí)器中斷發(fā)生,進(jìn)行下一個(gè)采樣??赏ㄟ^(guò)設(shè)定定時(shí)器0的內(nèi)部寄存器TC-MPBO的值來(lái)控制TOUTO輸出高電平的寬度TPH。
AD7656-1通過(guò)DOUT A發(fā)送采集到的數(shù)據(jù)給S3C2410A,其發(fā)送時(shí)序如圖7所示。當(dāng)BUSY從高電平返回低電平時(shí)表示轉(zhuǎn)換結(jié)束,觸發(fā)外部中斷,EINTO,通知 S3C2410A啟動(dòng)SPI接收數(shù)據(jù),CS信號(hào)變?yōu)榈碗娖介_(kāi)始串行傳輸。在整個(gè)傳輸過(guò)程中,CS一直維持低電平,直到傳輸完為止。
3.3 軟件設(shè)計(jì)
在對(duì)三相交流電進(jìn)行數(shù)據(jù)采集過(guò)程中,每個(gè)周期要求采樣256點(diǎn),即20 ms采樣256點(diǎn),也就是每78.125μs采樣一次。S3C241OA定時(shí)器O每78.125μs發(fā)生一次定時(shí)中斷,啟動(dòng)A/D轉(zhuǎn)換。12個(gè)通道的數(shù)據(jù)全部轉(zhuǎn)換完后,BUSY信號(hào)變低觸發(fā)外部中斷0,通知S3C2410A讀取數(shù)據(jù)。S3C2410A輸出片選信號(hào)CS給AD7656-1,并通過(guò)SPIO開(kāi)始讀取轉(zhuǎn)換結(jié)果。SPIO配置為主入從出(MISO)和MDA接收模式,因其只接收數(shù)據(jù),故需同時(shí)發(fā)送啞元“OxFF”。把12路數(shù)據(jù)讀完,退出中斷,等待定時(shí)器下一次定時(shí)到,啟動(dòng)下一次轉(zhuǎn)換。待256點(diǎn)數(shù)據(jù)轉(zhuǎn)換完之后,暫停定時(shí)計(jì)數(shù),進(jìn)行數(shù)據(jù)處理。完成后再次啟動(dòng)定時(shí),完成下一個(gè)周期的256點(diǎn)采集,流程如圖8(a)所示。其包括兩個(gè)中斷子程序:采樣定時(shí)器中斷子程序,用于啟動(dòng)采樣信號(hào)CONVST并給外部中斷0置位,允許響應(yīng)BUSY下降沿觸發(fā)中斷,如圖8(b)所示;外部中斷0(EINTO)子程序,用于啟動(dòng)SPIO接收數(shù)據(jù),如圖8(c)所示。
4 結(jié) 論
本文介紹了16位模數(shù)轉(zhuǎn)換芯片AD7656-1的菊花鏈工作原理,設(shè)計(jì)了基于A(yíng)D7656-1菊花鏈與S3C2410A數(shù)據(jù)采集接口,可實(shí)現(xiàn)12通道、高精度的ADC。SPI串行傳輸具有占用微處理器I/O資源少,硬件連接簡(jiǎn)單等特點(diǎn)。當(dāng)菊花鏈中AD7656-1芯片數(shù)量較多時(shí),為了提高數(shù)據(jù)傳輸效率并滿(mǎn)足實(shí)時(shí)性要求,可以采用2個(gè)或3個(gè)串行口傳輸數(shù)據(jù)。主控處理器也可以采用DSP芯片,同樣能實(shí)現(xiàn)菊花鏈。本設(shè)計(jì)方案可廣泛應(yīng)用于電力系統(tǒng)電能質(zhì)量監(jiān)控、變電站保護(hù)測(cè)控IED等嵌入式系統(tǒng)。
評(píng)論