最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

關(guān)于ADC表達(dá)精度問(wèn)題的淺顯思考

2023-08-04 13:02 作者:章魚(yú)蘿卜貓  | 我要投稿

只是一個(gè)電路小白對(duì)ADC的一些淺顯思考,如果有不對(duì)的地方,請(qǐng)各位大佬評(píng)論區(qū)指正一下。

此次討論不考慮【偏置誤差、增益誤差、微分非線性誤差、積分非線性誤差】,認(rèn)為這些誤差都不存在,ADC是理想情況,只考慮原理。

一、輸出的值究竟代表多少

剛開(kāi)始使用STM32的ADC的時(shí)候,對(duì)編程該除以多少產(chǎn)生了疑問(wèn)

假如我們使用一個(gè)3位的ADC,一共有2%5E3%20%3D8個(gè)值(0-7),一共分成了7份,所以計(jì)算輸出的時(shí)候應(yīng)該除以7,所以最后的結(jié)果應(yīng)該是(誤):

V_%7Bout%7D%3D%5Cfrac%7BV_%7Bref%7D*ADC%7D%7B7%7D%20%20

當(dāng)ADC輸出為7,參考電壓為STM32的供電電壓3.3V時(shí),也就是(誤):

3.3%3D%5Cfrac%7B3.3*7%7D%7B7%7D%20%20,輸出為3.3V

當(dāng)時(shí)認(rèn)為這理所應(yīng)當(dāng),非常合理,ADC也做到了滿量程輸出,所以編程(偽代碼)就是這樣:

當(dāng)時(shí)還沾沾自喜,看別人的程序都是除以4096,還說(shuō)他們居然這么簡(jiǎn)單的問(wèn)題都想不清楚,殊不知,真正年輕的人是自己。

二,糾正除數(shù)

慢慢的自己看ADC的手冊(cè),發(fā)現(xiàn),手冊(cè)里面寫(xiě)的和自己的理解完全不是一回事,

PCF8591,恩智浦的一款8-bit A/D and D/A converter的數(shù)據(jù)手冊(cè)

看PCF8591的數(shù)據(jù)手冊(cè)可以發(fā)現(xiàn),他是8位的ADC,他的LSB就是除以2^8,也就是256,并沒(méi)有減1的操作,那問(wèn)題就來(lái)了,按這個(gè)算法,還是上面的3位ADC的例子(方便說(shuō)明問(wèn)題)。輸出值就變成了:

V_%7Bout%7D%3D%5Cfrac%7BV_%7Bref%7D*ADC%7D%7B2%5E3%7D%20%20%EF%BC%8C2.8875%3D%5Cfrac%7B3.3*7%7D%7B8%7D%20%20

這樣就在ADC滿輸出的情況下(111,也就是7),居然不是參考電壓了,這肯定不對(duì)啊【還是我自己年輕了】。

XPT2046,12位分辨率125KHz轉(zhuǎn)換速率逐步逼近型 A/D轉(zhuǎn)換器數(shù)據(jù)手冊(cè)

可以在XPT2046的數(shù)據(jù)手冊(cè)上清晰的看到,最大的輸出值對(duì)應(yīng)的就是FS-1LSB,確實(shí)是達(dá)不到參考電壓的【原來(lái)小丑竟是我自己】,這同樣也在

這個(gè)視頻下的這個(gè)老哥的評(píng)論得到印證

不過(guò)這個(gè)老哥的FS是指輸出,不是上面數(shù)據(jù)手冊(cè)里的Full_Scale(上面數(shù)據(jù)手冊(cè)的FS等于Vref),或者說(shuō)這個(gè)老哥是說(shuō)輸出的全量程。

總之,現(xiàn)在正確的編程(偽代碼)應(yīng)該是:

本來(lái)事情到這里就應(yīng)該告一段落了,但是看了上面的視頻,又有了新的問(wèn)題。

三、關(guān)于量化誤差的問(wèn)題

視頻里面講了并聯(lián)比較型ADC(Flash ADC)的工作原理,提到是用電阻分壓來(lái)比較電壓的大小

所以這個(gè)3位的ADC的量化表應(yīng)該是下面的表格:

由前面知道,8V的參考電壓,3位的ADC(LSB=1V),滿量程(111,也就是7)輸出:

V_%7Bout%7D%3D%5Cfrac%7BV_%7Bref%7D*ADC%7D%7B2%5E3%20%7D%20%20%EF%BC%8C7%3D%5Cfrac%7B8*7%7D%7B8%7D%20%20

得到的結(jié)果是7V,但是從上圖給出的原理圖看,量化誤差要不是6-7V,要不是7-8V,而我們希望的量化誤差是在一個(gè)LSB之內(nèi)【前后各半個(gè)LSB】也就是:

(%5Cfrac%7BV_%7Bref%7D*ADC%7D%7B2%5E3%20%7D-0.5LSB)%5Cleq%20V_%7Bout%7D%5Cleq(%5Cfrac%7BV_%7Bref%7D*ADC%7D%7B2%5E3%20%7D%2B0.5LSB)

也就是:

(7-0.5LSB)%5Cleq%20V_%7Bout%7D%5Cleq(7%2B0.5LSB)%0A

6.5%5Cleq%20V_%7Bout%7D%5Cleq7.5

我們希望當(dāng)ADC給出7V的結(jié)果時(shí),輸入的真實(shí)電壓在6.5-7.5V之間,而且各個(gè)數(shù)據(jù)手冊(cè)也確實(shí)是這樣輸出的:

而上圖這個(gè)電路顯然沒(méi)辦法滿足上述要求,所以真實(shí)的電路會(huì)不會(huì)是這樣呢:

這樣就可以做到:

這次就符合了數(shù)據(jù)手冊(cè),但是我沒(méi)有設(shè)計(jì)過(guò)adc芯片,也沒(méi)有查詢(xún)到相關(guān)資料證明adc里面就是這么設(shè)計(jì)的,有沒(méi)有懂這方面知識(shí)的大佬指點(diǎn)一二?謝謝~~

關(guān)于ADC表達(dá)精度問(wèn)題的淺顯思考的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
宿迁市| 若尔盖县| 顺昌县| 涿州市| 蕲春县| 南雄市| 梓潼县| 绍兴县| 新泰市| 平阴县| 华容县| 临猗县| 荃湾区| 青川县| 武山县| 利津县| 南通市| 贵阳市| 嘉兴市| 库尔勒市| 通州区| 库伦旗| 肥乡县| 昌江| 噶尔县| 惠来县| 通山县| 夏津县| 慈利县| 玉山县| 湛江市| 上饶县| 新宁县| 扬州市| 滨州市| 长海县| 永昌县| 北京市| 松潘县| 丹东市| 休宁县|