<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于單片機和CPLD的高精度數據采集系統設計

基于單片機和CPLD的高精度數據采集系統設計

作者: 時(shí)間:2009-02-26 來(lái)源:網(wǎng)絡(luò ) 收藏

1 引言

本文引用地址:http://dyxdggzs.com/article/192156.htm

系統的任務(wù),就是采集傳感器輸出的模擬信號轉換成計算機能識別的數字信號,送入計算機,將計算機得到的數據進(jìn)行顯示或打印,以便實(shí)現對某些物理量的監視,其中一部分數據還將被生產(chǎn)過(guò)程中的計算機控制系統用來(lái)控制某些物理量。系統性能的好壞,主要取決于它的精度和速度。在保證精度的條件下,應有盡可能高的采樣速度,以滿(mǎn)足實(shí)時(shí)采集、實(shí)時(shí)處理和實(shí)時(shí)控制對速度的要求。

當前科學(xué)技術(shù)的發(fā)展對系統的采樣速率、分辨率、精度、接口及抗干擾能力等提出越來(lái)越高的要求,許多領(lǐng)域越來(lái)越多地要求具有A/D轉換和實(shí)時(shí)處理功能。同時(shí),市場(chǎng)對支持更復雜的顯示和通信接口的要求也在提高,如環(huán)境監測、電表、醫療設備、便攜式數據采集以及工業(yè)傳感器和工業(yè)控制等。傳統設計方法是應用MCU通過(guò)軟件控制數據采集的A/D轉換,這樣必將頻繁中斷系統的運行,從而減弱系統的數據運算能力,數據采集的速度也將受到限制。本文采用MCU+的方案,由硬件控制A/D轉換和數據存儲,同時(shí)采取多模冗余的模/數轉換結構,最大限度地提高系統的信號采集精度和處理能力。

2采集系統硬件設計

本文的設計方案來(lái)源于對某控制系統的檢測與診斷的研究,該控制系統在工作過(guò)程中,有多種產(chǎn)生于不同部件的信號需要檢測,其中有模擬輸入信號9路(其中6路16位精度要求,3路12位精度要求),數字輸入信號3路(16位),要求以CAN2.0總線(xiàn)/RS232輸出,誤差=10-5,溫度范圍為:-400C≤ T ≤ +850C。

2.1數據采集系統硬件設計

根據該系統功能和性能要求以及傳統的基于單一的的數據采集系統的缺點(diǎn),本文設計了結合器件的各自?xún)?yōu)點(diǎn), 以MCU+的雙片結構設計了的多模冗余的數據采集系統。系統主要由MCU處理模塊、CPLD處理模塊和ADC陣列、通信模塊四個(gè)部分組成,其總體硬件框圖如圖1所示。

圖1數據采集系統總體框圖

根據系統精度要求,A/D轉換器件要分別達到16、12位精度,為此選用了美國模擬器件公司(ADI)公司的16位高速A/D轉換器AD7656以及12位高速A/D轉換器AD7864。3路數據采集并行實(shí)現,所有的時(shí)序信號和控制邏輯由同一片CPLD實(shí)現,系統體積小,速度快。本設計選用了Altera公司的MAX3000系列可編程邏輯器件EPM3128芯片。3路ADC模數轉換結束后,CPLD調用三模冗余表決程序對A/D轉換結果進(jìn)行判斷,并把結果送入運算模塊的輸入FIFO。三模冗余的原理結構圖如圖2所示。

圖2 三模冗余原理結構圖

此處的三模冗余表決程序使用VHDL語(yǔ)言編寫(xiě),運行速度快,可靠性高。此方案的具體硬件設計如圖3所示。

圖3 系統硬件原理圖
3 系統主要芯片介紹

系統所使用的幾個(gè)主要的芯片包括MCU、CPLD、A/D等芯片,下面對芯片進(jìn)行簡(jiǎn)單的介紹。

3.1 MCU

Cygnal公司的C8051F040具有與8051指令集完全兼容的CIP-51內核。它的最高頻率可達25Mhz,內置64KB FLASH RAM和4KB的數據存儲器。C8051F040在一個(gè)芯片內集成了構成單片機數據采集或控制系統所需要的幾乎所有模擬和數字外設及其它功能部件,包括ADC、可編程增益放大器、DAC、電壓比較器、溫度傳感器、SMBus/I2C、UART、SPI、定時(shí)器、內部振蕩器、看門(mén)狗電路以及CAN控制器等,這種高度集成為設計小體積、低功耗、高可靠和高性能的測控系統提供了方便,同時(shí)也使測控設備整體成本能夠降低。

C8051F040內部集成有BOTSH CAN,它兼容CAN技術(shù)規范2.0A和2.0B,主要由CAN內核、消息RAM(獨立于CIP-51的RAM)、消息處理單元和控制寄存器組成。

3.2 CPLD

根據數據采集系統的需要,在現有的CPLD中選擇Altera公司中MAX 3000A[50]系列中的EPM3218ATC100-10。MAX 3000A器件具有以下特性:

1) Altera 的MAX 3000A 可編程邏輯器件(PLD)是滿(mǎn)足大批量,成本敏感性應用的非易失性和即用性CPLD理想的解決方案。MAX 3000A提供從32到512個(gè)宏單元,3.3V邏輯內核電壓,并支持通用特性和封裝;

2)Altera的MultiVolt 多電壓接口從工業(yè)應用傳統所要求的5.0V I/O信號到消費電子應用要求的低電壓標準如2.5V,MAX 3000A器件都提供強大的I/O電壓選項。

3)出眾的硅片特性:MAX 3000A器件是具有即用性,非易失性,提供全局時(shí)鐘,在系統可編程,IEEE-1532標準支持,和開(kāi)路輸出特性的器件,MAX 3000A器件適用于大量系統級的應用;

4)易用的設計軟件:MAX器件為易用的Quartus® II網(wǎng)絡(luò )版和MAX+PLUS® II 基礎版設計軟件所支持。這兩個(gè)平臺提供綜合布局布線(xiàn),設計驗證和器件編程功。

本文中采用的EPM3218ATC100-10具有128個(gè)宏單元,80用戶(hù)I/O管腳數,工作電壓為3.3V,具有2500個(gè)可用門(mén)和ISP,管腳間延遲快至10ns,計數器速度可高達100MHz,可以很好的滿(mǎn)足系統的需要。

3.3 A/D

ADI公司16位模數轉換芯片AD7656采用iCMOS工藝制造的,是高集成度、6通道16-bit逐次逼近(SAR)型ADC,內含1個(gè)2.5V基準電壓源和基準緩沖器。AD7656在每通道250kS/s采樣速率下的精度(±4LSB最大值積分線(xiàn)性誤差)是同類(lèi)產(chǎn)品的2倍,可以滿(mǎn)足工業(yè)領(lǐng)域對高分辨率、多通道、高轉換速率和低功耗的要求。AD7864是一種高速、低功耗、可以4通道同時(shí)采樣的A/D轉換器。它的主要特性有:高速12位A/D轉換器;同時(shí)采樣4個(gè)輸入通道,并具有4個(gè)采樣、保持放大器;0.35ms采樣保持獲取時(shí)間,每一個(gè)通道轉換時(shí)間1.65ms;可以通過(guò)軟件或者硬件的方法選取用于采樣的通道;多個(gè)轉換電壓范圍;具有高速并行接口,可以與處理器直接連接;低功耗,每通道功耗90mW;對于每一個(gè)模擬輸入通道均有過(guò)壓保護電路。AD7864 4通道同時(shí)工作時(shí),最大采樣率可以高達130KHz。以上兩種芯片能滿(mǎn)足系統的精度和實(shí)時(shí)性的要求。

4數據采集系統軟件設計

在一般的數據采集系統中,每次數據采集過(guò)程,單片機和A/ D 轉換之間都存在數據的傳送,由于受單片機執行指令時(shí)間的限制,采集一個(gè)數據需要幾到幾十微秒的時(shí)間,這樣的數據采集系統難以適應高速信號采集的需要。本系統是在單片機控制下,完全由CPLD自動(dòng)實(shí)現數據采集的全過(guò)程。在該系統中單片機只控制數據采集的啟動(dòng)和采集結束后對數據的處理或傳輸,在數據采集的過(guò)程中,單片機并不對采集通道進(jìn)行任何控制,這樣就使系統的采集速率完全不受單片機速度的限制,從而實(shí)現高速數據采集的目的。系統的主程序的基本流程框圖如圖4所示。

圖4主程序流程圖
主程序主要采用中斷的方式對整個(gè)系統進(jìn)行操作和控制。其中,數據采集使用外部中斷方式,當CPLD的數據緩沖器數據存滿(mǎn)時(shí)發(fā)出中斷申請,單片機就轉入相應的中斷程序,進(jìn)行中斷數據處理,把CPLD中的數據轉移到SRAM里進(jìn)行保存;與PC機的數據連接使用串行口中斷方式(設置為最高優(yōu)先級,響應時(shí)屏蔽其他一切任務(wù)的執行),將SRAM中的數據傳送到PC機。與主機通信主要由C8051F040通過(guò)中斷方式接收PC機發(fā)送過(guò)來(lái)的字符,在進(jìn)行碼字的判別之后,把相應的數據送回到PC機。

5 應用分析與結論

本文作者的創(chuàng )新觀(guān)點(diǎn)是:針對某軍工產(chǎn)品的設計需要,采用CPLD和MCU設計了一種多路高速實(shí)時(shí)數據采集系統的設計方案及實(shí)現,該系統能夠實(shí)現多通道同步采樣或異步采樣,利用CPLD實(shí)現對A/D的邏輯控制,使用C8051F040對A/D轉換數據進(jìn)行處理。測試結果表明,所設計的基于CPLD的多通道數據采集系統,能夠準確有效地進(jìn)行A/D數據采集。本系統的設計思想和方法不僅適用于多路數據采集,而且能有效地擴MCU訪(fǎng)問(wèn)外設的能力,在成本控制、可擴展性以及資源利用效率上都有非常大的提高。此設計方案已經(jīng)成功的運用于該產(chǎn)品上,對其數據采集的精度有了較大幅度的提高,產(chǎn)生了較好的經(jīng)濟效益。



關(guān)鍵詞: CPLD 單片機 高精度 數據采集

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>