国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32F429的AD靜態(tài)參數(shù)自動(dòng)測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2022-04-01 07:46陳恒江仲海東彭佳麗
電子與封裝 2022年3期
關(guān)鍵詞:上位數(shù)碼圖表

陳恒江,仲海東,彭佳麗

(無錫中微愛芯電子有限公司,江蘇無錫 214072)

1 引言

現(xiàn)如今MCU應(yīng)用方案開發(fā)中對(duì)AD模塊的應(yīng)用越來越普遍,使用獨(dú)立的A/D轉(zhuǎn)換電路會(huì)增加開發(fā)成本,不利于方案的量產(chǎn)。MCU設(shè)計(jì)公司相繼在產(chǎn)品中集成AD模塊,幫助公司降低開發(fā)成本,更好地進(jìn)行方案推廣,從而提升自家MCU產(chǎn)品的市場(chǎng)競(jìng)爭(zhēng)力,對(duì)MCU中AD模塊的積分線性誤差(INL)、微分線性誤差(DNL)參數(shù)的評(píng)測(cè)也越來越重要。

對(duì)于MCU AD模塊的INL、DNL[1]參數(shù),使用專業(yè)的儀器進(jìn)行評(píng)測(cè),雖然能測(cè)得準(zhǔn)確的參數(shù),但是會(huì)大大增加MCU設(shè)計(jì)公司的成本。而使用傳統(tǒng)的手工測(cè)試,測(cè)試效率低,精度差,無法測(cè)得精準(zhǔn)的INL、DNL參數(shù),且當(dāng)AD模塊的分辨率較高時(shí),用此方法測(cè)試不切實(shí)際。MCU區(qū)別于單一功能的A/D轉(zhuǎn)換電路,其自身集成很多通用的外設(shè)資源,且可以編寫程序進(jìn)行控制。結(jié)合這些特點(diǎn),對(duì)于MCU AD模塊的INL、DNL參數(shù)可以設(shè)計(jì)專用的測(cè)試臺(tái)進(jìn)行評(píng)測(cè)。

本文介紹了一種基于STM32F429的AD靜態(tài)參數(shù)自動(dòng)測(cè)試系統(tǒng),實(shí)現(xiàn)了對(duì)MCU AD模塊的INL、DNL參數(shù)的測(cè)試。經(jīng)驗(yàn)證,測(cè)得的數(shù)據(jù)準(zhǔn)確,且測(cè)試成本低廉。

2 INL、DNL定義

2.1 基本定義

INL指單值數(shù)據(jù)誤差,對(duì)應(yīng)該點(diǎn)模擬數(shù)據(jù)由于元器件及結(jié)構(gòu)造成的不能精確測(cè)量產(chǎn)生的誤差。

DNL指刻度間的差值,即對(duì)每個(gè)模擬數(shù)據(jù)按點(diǎn)量化產(chǎn)生的誤差。

LSB指最低有效位,對(duì)于AD模塊來說,量化后輸出的數(shù)字信號(hào)值都是以1 LSB的電壓步進(jìn)的。

2.2 DNL

數(shù)字輸出為i時(shí),設(shè)使數(shù)字輸出從(i-1)變?yōu)閕時(shí)模擬值輸入為V[i-1],使數(shù)字輸出從i變?yōu)椋╥+1)時(shí)模擬值輸入為Vi,則有定義數(shù)字輸出i的碼寬為:

這時(shí)應(yīng)注意當(dāng)i=0(即所有數(shù)字輸出為0)和i為最大值(即所有數(shù)字輸出為1)時(shí),這兩個(gè)數(shù)字輸出i的碼寬為1 LSB。LSB的定義如下:

VFST是使數(shù)字輸出i從僅次于最大值的值變?yōu)樽畲笾禃r(shí)的模擬值,VZST是使數(shù)字輸出i從0變?yōu)?時(shí)的模擬值。

2.3 INL

首先介紹一下代碼中心(Coe Center),代碼中心是指當(dāng)數(shù)字輸出為i時(shí),其二分之一碼寬對(duì)應(yīng)的模擬輸入值。其計(jì)算方法如下:

VFS是使數(shù)字輸出i=0的代碼中心,VZS是使數(shù)字輸出i為最大值時(shí)的代碼中心,VOFFSET是指失調(diào)電壓。

實(shí)際上線性誤差是微分線性誤差的累積,它還有一種算法:

已知INL[i]

2.4 斜升測(cè)試法

斜升測(cè)試法的電路如圖1所示。

圖1 斜升測(cè)試法硬件

在圖1中,由基準(zhǔn)電壓D/A產(chǎn)生一個(gè)基準(zhǔn)電壓,使被測(cè)A/D輸出一數(shù)碼為i,然后由步進(jìn)D/A產(chǎn)生微小步進(jìn)電壓,直至被測(cè)A/D輸出的數(shù)碼進(jìn)一為(i+1),記下此時(shí)施加在被測(cè)A/D上的模擬電壓為V[i],當(dāng)i為最大值時(shí),V[i]為V[i-1]+1 LSB。

步進(jìn)D/A產(chǎn)生的微小步進(jìn)電壓應(yīng)遠(yuǎn)遠(yuǎn)小于被測(cè)A/D的LSB。在圖1中,一個(gè)微小步進(jìn)電壓與被測(cè)A/D的1 LSB的比例關(guān)系由步進(jìn)D/A的位數(shù)及參考電壓、被測(cè)A/D的位數(shù)及參考電壓、R、Rf決定。當(dāng)獲得所有的V[i]后,根據(jù)DNL及INL的定義就可計(jì)算出DNL及INL的值。

3 基本原理

本測(cè)試系統(tǒng)基于斜升測(cè)試法實(shí)現(xiàn)對(duì)MCU AD模塊的INL、DNL參數(shù)測(cè)試。

當(dāng)前MCU內(nèi)部集成的AD模塊精度以10位、12位為主,因此,基本參考D/A和步進(jìn)D/A采用16位高精度D/A芯片DAC8562,實(shí)現(xiàn)對(duì)待測(cè)MCU的AD模塊供電。待測(cè)MCU燒錄程序,將AD模塊轉(zhuǎn)換的數(shù)碼通過串口輸出。

本測(cè)試系統(tǒng)分為硬件和軟件系統(tǒng)兩大部分,硬件系統(tǒng)以STM32F429為主控器,控制DAC8562輸出待測(cè)MCU所需的基準(zhǔn)參考D/A和步進(jìn)D/A,并獲取待測(cè)MCU的AD轉(zhuǎn)換數(shù)碼。

軟件系統(tǒng)基于MFC編程,實(shí)現(xiàn)測(cè)試系統(tǒng)的人機(jī)交互。用戶可以根據(jù)需求設(shè)置基準(zhǔn)參考D/A和步進(jìn)D/A等參數(shù),并對(duì)AD轉(zhuǎn)換數(shù)碼等參數(shù)進(jìn)行統(tǒng)計(jì),最終計(jì)算出待測(cè)MCU AD模塊的INL、DNL參數(shù)。

4 硬件設(shè)計(jì)

4.1 硬件系統(tǒng)框架

AD靜態(tài)參數(shù)自動(dòng)測(cè)試系統(tǒng)結(jié)構(gòu)如圖2所示,硬件模塊包括主控模塊、供電模塊、DPS模塊、數(shù)據(jù)傳輸模塊和顯示模塊。

圖2 AD靜態(tài)參數(shù)自動(dòng)測(cè)試系統(tǒng)結(jié)構(gòu)

4.2 主控模塊

主控模塊選用STM32F429單片機(jī)作為主控器。STM32F429器件基于高性能ARM Cortex-M4 32位RISC內(nèi)核,工作頻率可達(dá)180 MHz[2-3]。Cortex-M4內(nèi)核帶有支持所有ARM?單精度數(shù)據(jù)處理指令和數(shù)據(jù)類型的運(yùn)算單元FPU。該主控芯片集成了2 MB的Flash存儲(chǔ)器和256 kB的SRAM,還具備高達(dá)4 kB的后備SRAM,以及大量連至2條APB總線、2條AHB總線和1個(gè)32位多AHB總線矩陣的增強(qiáng)型I/O與外設(shè)。此外,STM32F429還帶有標(biāo)準(zhǔn)與高級(jí)通信接口。

4.3 供電模塊

供電模塊由三端穩(wěn)壓器組成,供電模塊如圖3所示。由精密電源提供+15 V電壓供給測(cè)試系統(tǒng)各模塊,主要包括經(jīng)過78M09和79M09分別將電壓調(diào)整至+9 V和-9 V給DPS模塊中的運(yùn)放供電,經(jīng)過78M05和(AMS1117-3.3)V將電壓調(diào)整至+3.3 V給主控模塊供電。

圖3 供電模塊

4.4 DPS模塊

DPS模塊基于DAC8562,搭配OPA548、OP07、AD620對(duì)待測(cè)MCU的AD模塊進(jìn)行供電,DPS模塊結(jié)構(gòu)框圖如圖4所示。

圖4 DPS模塊

DAC8562為兩路16位D/A芯片,STM32F429通過SPI協(xié)議控制DAC8562,經(jīng)過OPA548和OP07放大器,分別給待測(cè)MCU的VDD和AD模塊供電。AD620對(duì)整個(gè)供電電路的電流進(jìn)行監(jiān)控,防止出現(xiàn)大電流。

為了預(yù)先驗(yàn)證運(yùn)放的可靠性,采用Multisim對(duì)OP07放大電路進(jìn)行了仿真。

4.5 數(shù)據(jù)傳輸模塊

數(shù)據(jù)傳輸模塊基于SN74LVC1T45DBV芯片,硬件框圖如圖5所示。鑒于每顆MCU的工作電壓有所不同,而主控器的工作電壓固定為3.3 V,為了保證主控器能夠穩(wěn)定獲取待測(cè)MCU發(fā)出的AD轉(zhuǎn)換數(shù)碼,經(jīng)過SN74LVC1T45DBV電平轉(zhuǎn)換芯片將傳輸給主控模塊的信號(hào)固定為3.3 V。

圖5 數(shù)據(jù)傳輸模塊

4.6 顯示模塊

為了增加整個(gè)系統(tǒng)的可操作性和報(bào)錯(cuò)機(jī)制,測(cè)試系統(tǒng)搭配LCD顯示屏、蜂鳴器。LCD顯示屏用于提供用戶操作步驟,并顯示整個(gè)系統(tǒng)的工作狀態(tài)。蜂鳴器當(dāng)測(cè)試系統(tǒng)遇到故障時(shí)會(huì)進(jìn)行報(bào)錯(cuò),用戶發(fā)現(xiàn)蜂鳴器報(bào)警時(shí),應(yīng)當(dāng)立即關(guān)閉電源并查找原因。

5 軟件設(shè)計(jì)

為了增加系統(tǒng)的可操作性,設(shè)計(jì)專用的上位機(jī)軟件實(shí)現(xiàn)人機(jī)交互。用戶可以通過軟件界面配置測(cè)試系統(tǒng)參數(shù),控制測(cè)試系統(tǒng)工作,并生成待測(cè)MCU AD模塊的INL、DNL參數(shù)excel文檔。

整個(gè)上位機(jī)軟件是基于MFC C++設(shè)計(jì)的,主要包括前端界面和后臺(tái)處理。接下來從MFC C++、前端界面、后臺(tái)工作流程、INL/DNL算法、excel文檔說明5個(gè)方面做具體介紹。

5.1 MFC C++

上位機(jī)軟件選用C++語言[4-5]開發(fā),選擇C++語言開發(fā)的主要原因在于它是一種廣泛使用的面向?qū)ο蟮挠?jì)算機(jī)編程語言,支持的程序設(shè)計(jì)風(fēng)格包括過程化程序設(shè)計(jì)、面向?qū)ο蟪绦蛟O(shè)計(jì)、制作圖表以及數(shù)據(jù)抽象[6-7]等。MFC[8]即微軟基礎(chǔ)類庫(kù)(Microsoft Foundation Classes),以C++類的形式封裝了Windows API,并包含一個(gè)應(yīng)用程序框架,大大減少了程序開發(fā)人員的工作量。

5.2 前端界面

整個(gè)上位機(jī)軟件操作界面包括“參數(shù)設(shè)置”、“控制面板”、“數(shù)據(jù)顯示”以及“狀態(tài)顯示”4個(gè)部分?!皡?shù)設(shè)置”包含待測(cè)電路供電電壓、待測(cè)電路AD基準(zhǔn)電壓、AD輸入通道起始電壓、AD輸入通道結(jié)束電壓以及AD輸入通道步進(jìn)電壓設(shè)置,參數(shù)配置完成后,點(diǎn)擊“應(yīng)用”或“取消”按鈕,上位機(jī)會(huì)將對(duì)應(yīng)的指令發(fā)送給下位機(jī)?!翱刂泼姘濉卑伴_始”、“暫?!币约啊皬?fù)位”按鈕,通過點(diǎn)擊這些按鈕,用戶可以控制測(cè)試系統(tǒng)的工作狀態(tài)?!皵?shù)據(jù)顯示”實(shí)時(shí)顯示步進(jìn)D/A值、待測(cè)MCU的AD轉(zhuǎn)換數(shù)碼等,通過點(diǎn)擊“保存”按鈕,測(cè)試系統(tǒng)后臺(tái)會(huì)對(duì)測(cè)試數(shù)據(jù)進(jìn)行統(tǒng)計(jì)、計(jì)算,并生成excel文檔?!盃顟B(tài)顯示”則顯示測(cè)試系統(tǒng)的工作狀態(tài)。

5.3 后臺(tái)工作流程

上下位機(jī)之間采用USB[9]進(jìn)行通訊。上位機(jī)與下位機(jī)建立連接時(shí)調(diào)用windows API函數(shù)CreatFile(),若連接成功則返回一個(gè)有效句柄hDevice。上位機(jī)使用hDevice,通過DeviceIoControl()函數(shù)實(shí)現(xiàn)與驅(qū)動(dòng)函數(shù)間的數(shù)據(jù)交換[10]。上位機(jī)與主控間的數(shù)據(jù)交換原理如圖6、7所示。

圖6 上位機(jī)程序

圖7 主控程序

5.4 INL、DNL算法

為了測(cè)試系統(tǒng)實(shí)現(xiàn)的方便,測(cè)試系統(tǒng)的計(jì)算公式與理論公式存在一定差異。

步進(jìn)D/A數(shù)碼(NDA[i])對(duì)應(yīng)的步進(jìn)D/A電壓(VDA[i])見式(9):

VDAall指D/A滿量程電壓,VDAOFFSET指D/A輸入失調(diào)電壓,NDAall指D/A滿量程對(duì)應(yīng)數(shù)碼。

A/D轉(zhuǎn)換數(shù)碼(NAD[i])對(duì)應(yīng)的A/D轉(zhuǎn)換電壓(VAD[i])見式(10):

積分線性誤差見式(11)、(12)(測(cè)試系統(tǒng)計(jì)算出的INL以1 LSB為單位):

VADref指A/D基準(zhǔn),bits指A/D分辨率。

微分線性誤差見式(13)、(14)(測(cè)試系統(tǒng)計(jì)算出的DNL以1 LSB為單位):

5.5 excel文檔

點(diǎn)擊“保存”按鈕后,后臺(tái)即會(huì)生成待測(cè)MCU AD模塊的INL、DNL參數(shù)excel文檔。整個(gè)文檔包括固有屬性數(shù)據(jù)、原始統(tǒng)計(jì)數(shù)據(jù)、INL、DNL數(shù)據(jù)。

5.5.1固有屬性數(shù)據(jù)

測(cè)試系統(tǒng)固有屬性數(shù)據(jù)如表1所示,D/A輸入失調(diào)電壓(VDAOFFSET)、D/A滿量程電壓(VDAall)、D/A滿量程對(duì)應(yīng)數(shù)碼(NDAall)這3個(gè)參數(shù)是測(cè)試系統(tǒng)的固有屬性,由系統(tǒng)內(nèi)的DAC8562的特性決定。A/D基準(zhǔn)(VADref)、A/D分辨率(bit)這2個(gè)參數(shù)由待測(cè)MCU AD模塊的特性決定。

表1 測(cè)試系統(tǒng)固有屬性數(shù)據(jù)

5.5.2原始統(tǒng)計(jì)數(shù)據(jù)

測(cè)試系統(tǒng)統(tǒng)計(jì)數(shù)據(jù)如表2所示,步進(jìn)D/A數(shù)碼(NDA[i])、A/D轉(zhuǎn)換數(shù)碼(NAD[i])是測(cè)試系統(tǒng)統(tǒng)計(jì)的原始轉(zhuǎn)換數(shù)據(jù)。

表2 測(cè)試系統(tǒng)統(tǒng)計(jì)數(shù)據(jù)

5.5.3 INL、DNL數(shù)據(jù)

INL、DNL數(shù)據(jù)分為2個(gè)部分,包括數(shù)據(jù)列表以及參數(shù)圖表。表3是測(cè)試系統(tǒng)基于公式計(jì)算得到的INL、DNL數(shù)據(jù)列表。

表3 INL、DNL數(shù)據(jù)列表

圖8、9是基于計(jì)算得到的參數(shù)數(shù)據(jù)生成的INL、DNL參數(shù)圖表。

圖8 INL參數(shù)圖表

圖9 DNL參數(shù)圖表

6 測(cè)試驗(yàn)證

圖10、11、12是使用本測(cè)試系統(tǒng)對(duì)3款MCU AD模塊多次評(píng)測(cè)得到的INL、DNL數(shù)據(jù)圖表。

圖10 MCU1的INL、DNL參數(shù)圖表

圖11 MCU2的INL、DNL參數(shù)圖表

圖12 MCU3的INL、DNL參數(shù)圖表

上述圖表均是對(duì)各款MCU取多顆電路測(cè)得的數(shù)據(jù),同款MCU個(gè)體間測(cè)得的數(shù)據(jù)差異較小。通過圖表數(shù)據(jù)可以得到3款MCU的INL、DNL參數(shù)分別為-15~+15 LSB、-15~+15 LSB,-3~+6 LSB、-4~+5 LSB,-9~+2 LSB、-2~+2 LSB。從中可以進(jìn)一步分析出第一款MCU的INL、DNL均較差,參數(shù)波動(dòng)較為嚴(yán)重。第二款和第三款MCU的INL和DNL參數(shù)有類似特點(diǎn):INL分布較差,在圖表末尾位置均有較大幅度的波動(dòng),第二款參數(shù)分布優(yōu)于第三款;DNL分布較穩(wěn)定,第三款參數(shù)分布優(yōu)于第二款。

7 結(jié)論

本文設(shè)計(jì)的AD靜態(tài)參數(shù)自動(dòng)測(cè)試系統(tǒng)適用于MCU AD模塊的INL、DNL參數(shù)測(cè)試,支持用戶自定義待測(cè)電路的供電電壓,AD基準(zhǔn)電壓,AD輸入通道起始、結(jié)束、步進(jìn)電壓。測(cè)試結(jié)果穩(wěn)定,測(cè)試精度高且成本低廉。

猜你喜歡
上位數(shù)碼圖表
Naim Audio Uniti Nova數(shù)碼播放/放大器一體機(jī)
特斯拉 風(fēng)云之老阿姨上位
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
雙周圖表
雙周圖表
雙周圖表
圖表
數(shù)碼暗房
Who?。幔怼。桑浚悼畈豢擅蚕嗟臄?shù)碼利器
《數(shù)碼家居》2009年下半年推薦榜
黄陵县| 鄢陵县| 准格尔旗| 吴川市| 南雄市| 扎兰屯市| 离岛区| 兴义市| 华蓥市| 如皋市| 綦江县| 宁河县| 建湖县| 普定县| 彰武县| 高青县| 柳州市| 西贡区| 博乐市| 舒城县| 五华县| 沂源县| 长垣县| 宜城市| 古田县| 鹤岗市| 天津市| 新宾| 眉山市| 怀宁县| 托克逊县| 思茅市| 奉新县| 台南市| 祁东县| 涿州市| 贡嘎县| 丹阳市| 青岛市| 三门峡市| 龙陵县|