Other Parts Discussed in Post:ADS8588S
簡介:ADS8588S是具有8通道16位精度同步采樣的SAR ADC,采樣速度最大為200KSPS, 廣泛應(yīng)用于電力系統(tǒng)的采樣電路,具有高精度和高可靠性,ADS8588S有靈活的與主機(jī)通訊模式,同時(shí)支持串行(serial mode),并行(parallel mode)和并行字節(jié)(parallel byte mode)通訊。ADS8588S的通訊有特定的時(shí)序要求,必須完全滿足時(shí)序才能正確讀取數(shù)據(jù)。并行字節(jié)相對串行和并行而言稍復(fù)雜,這里介紹并行字節(jié)通訊的一些要點(diǎn)。
并行字節(jié)是把一個(gè)16位的數(shù)據(jù)分為兩個(gè)8位的字節(jié)來讀,并行的先讀高8位,再讀低8位,依次讀完8個(gè)通道,一共讀16次。讀完后再進(jìn)行下一次轉(zhuǎn)換,下一個(gè)周期然后再讀16次。Datasheet中parallel byte mode的讀時(shí)序如下圖1: 其中CS是片選,RD是讀信號,一般CS和RD可以連在一起,DB[7:0]是8位并行字節(jié)信號,F(xiàn)RSTDATA信號指示開始讀第一通道, 根據(jù)datasheet, FRSTDATA會在RD的第一個(gè)下降沿變成高電平,表示這是讀一通道數(shù)據(jù)。
如果只遵守這個(gè)讀的時(shí)序仍然有可能出現(xiàn)讀數(shù)錯(cuò)誤,我們讀的時(shí)候還需要參考另外一個(gè)時(shí)序,ADC的轉(zhuǎn)換時(shí)序,Datasheet中如下圖2:其中CONVSTA和CONVSTB是ADC開始轉(zhuǎn)換信號,BUSY表示正在轉(zhuǎn)換,如果BUSY是高,表示本次轉(zhuǎn)換還沒有結(jié)束,CS是上圖中的片選, RESET是復(fù)位信號。
這其中隱藏著一個(gè)潛在的邏輯,在圖1的時(shí)序中,在讀信號RD的第一個(gè)下降沿,F(xiàn)RSTDATA會升高指示第一個(gè)通道,但是前提是必須在BUSY由高到低之后的第一個(gè)下降沿,如果16次讀數(shù)的起始不是從BUSY變低之后開始讀,就有可能出現(xiàn)嚴(yán)重的錯(cuò)誤,舉例如下:下圖3中CS就是RD信號,兩個(gè)連在一起,我們看到先是CONVST(A/B)信號上升表示ADC開始轉(zhuǎn)換,BUSY升高表示正在轉(zhuǎn)換,但是這時(shí)RD信號已經(jīng)開始讀數(shù),每一個(gè)脈沖是一個(gè)BYTE, 兩個(gè)脈沖表示一個(gè)16位數(shù)據(jù),一共8個(gè)數(shù)據(jù),所以每個(gè)周期RD是16個(gè)脈沖。這里RD在BUSY開始之前讀了,當(dāng)BUSY結(jié)束(下降沿)后第一個(gè)RD讀數(shù)(為圖3CS/RD信號第6個(gè)脈沖下降沿)會讓系統(tǒng)認(rèn)為這是第一個(gè)通道數(shù)據(jù)的高8位,后面的數(shù)據(jù)依次往下,然而實(shí)際MCU發(fā)出的卻是第3組信號的低8位,這時(shí)MCU認(rèn)為的讀數(shù)邏輯不僅在通道的對應(yīng)上出錯(cuò),連在每個(gè)16位數(shù)據(jù)的高8位低8位的順序也會出錯(cuò)。
我們在第8通道加5V,對應(yīng)的16進(jìn)制數(shù)位0x7FFF,其余通道都是對地即0V, 對應(yīng)的16進(jìn)制數(shù)是0x0000,我們用圖3時(shí)序進(jìn)行讀數(shù),從MCU中看到的結(jié)果如下:我們發(fā)現(xiàn)MCU認(rèn)為的第8通道數(shù)據(jù)并不是0x7FFF,其中高8位的7F變成了3通道的低8位,其中低8位的FF變成了2通道的高8位,另外本來應(yīng)該是0x0001(1個(gè)bit的誤差很正常)的其他通道也變成了0x0100, 高8位和低8位也反了,和以上分析的邏輯完全吻合。
我們嘗試改變讀的時(shí)序,如下圖4:可以看到,RD的16次讀數(shù)起始點(diǎn)是在BUSY下降沿之后,第一個(gè)下降沿即FRSTDATA的上升沿。
改了時(shí)序之后的數(shù)據(jù)如下表2:讀數(shù)和預(yù)計(jì)的完全一致。
總結(jié):
在使用ADS8588S的parallel byte mode讀數(shù)時(shí)一定要注意讀數(shù)的起始點(diǎn)要在BUSY信號下降沿之后,MCU認(rèn)為的第一通道要與 FRSTDATA的上升沿指示的第一通道對應(yīng)上,否則會出現(xiàn)讀數(shù)通道錯(cuò)誤或者高低位順序錯(cuò)誤的情況。
審核編輯:何安
-
模擬
+關(guān)注
關(guān)注
7文章
1421瀏覽量
83895
發(fā)布評論請先 登錄
相關(guān)推薦
評論