基于LPC2378的數據采集系統的設計
摘要:本文介紹了以LPC2378微處理器為核心的數據采集及處理系統,給出了各模塊、接口和軟件設計。
本文引用地址:http://dyxdggzs.com/article/88160.htm引言
在工業(yè)控制系統中,為了更好地實(shí)現對系統的控制,除了控制單元和執行單元外,還必須有反饋環(huán)節。在反饋環(huán)節中,最重要的就是對數據的采集和處理。一般的工業(yè)控制中,數據有很多種形式,最常見(jiàn)的有電流、電壓的模擬量、以二進(jìn)制形式輸入的開(kāi)關(guān)量以及以脈沖形式輸入的脈沖信號。
本文主要討論了以LPC2378微處理器為核心的數據采集和處理系統的實(shí)現過(guò)程。
系統結構
以NXP公司LPC2378為核心構成的控制系統的結構如圖1所示。該控制系統主要包括:嵌入式主控模塊、電源控制模塊、數據采集和處理模塊(A/D、D/A、R/D)、串口擴展模塊(SC16C554)。由主控模塊進(jìn)行控制,其他模塊協(xié)同工作,共同實(shí)現數據采集和處理的功能。處理器和CPLD模塊是整個(gè)系統的核心,它控制各模塊間的協(xié)同工作;電源控制模塊負責為芯片提供所需要的工作電壓,并對電壓進(jìn)行監測,同時(shí)提供系統的復位功能;數據采集和處理模塊由A/D、D/A、R/D構成,實(shí)現數據的數?;蚰缔D換;串口擴展模塊實(shí)現了與LPC2378之間數據的串、并行轉換,并完成與上位機的通訊功能。
圖1 數據采集處理系統框圖
SC16C554擴展出4路UART接口,波特率等底層協(xié)議由程序獨立設置,每個(gè)通道具有16字節的FIFO,兼容16C550。通過(guò)線(xiàn)路板接插件引入2組外部雙口RAM的存取接口,符合IDT7130的時(shí)序要求,數據、地址及控制信號等驅動(dòng)。為方便客戶(hù)未來(lái)的擴展應用,系統向外部預留2組CAN總線(xiàn)接口。系統中實(shí)現2路A/D,2路D/A,2路R/D;并預留12位IO控制口,每位可單獨設置為輸入或輸出。
硬件設計
主控模塊
該模塊由LPC2378和CPLD (EPM7128AE)構成。LPC2378是一款基于A(yíng)RM7TDMI-S核的高性能32位 RISC微處理器。處理器帶有Thumb指令擴展;主頻高達72MHz;片內集成512KB Flash,支持ISP及IAP,58KB SRAM,PLL加強型矢量中斷控制器,10/100M以太網(wǎng)帶DMA,USB2.0全速設備接口,2路CAN 2.0接口,通用DMA控制器,4個(gè)UART接口,1個(gè)具有全功能Modem的接口,3個(gè)I2C串行接口,3個(gè)SPI/SSP串行接口,一個(gè)I2S接口,SD/MMC記憶卡接口,8路10位 ADC,1路10位DAC,4個(gè)32位捕獲/比較時(shí)鐘,看門(mén)狗時(shí)鐘,PWM模塊支持3相馬達控制,RTC實(shí)時(shí)時(shí)鐘帶可選后備電池,通用I/O等。CPLD主要負責整個(gè)系統的譯碼工作,從而為系統中的某些芯片產(chǎn)生片選和控制信號。
電源控制模塊
通過(guò)接插件向線(xiàn)路板提供±15V、±12V、+5V的直流電源。由于系統中大多數芯片的工作電壓均為3.3V或5V,故選擇的電源電壓調節器為T(mén)PS76633,它能對外提供3.3V的電壓及250mA的電流,且誤差在3%以?xún)?。為了使系統能穩定的工作,抑制信號線(xiàn)、電源線(xiàn)上的高頻噪聲和尖峰干擾,需要使用磁珠進(jìn)行系統的模數隔離。
系統工作時(shí),會(huì )經(jīng)常要求進(jìn)入復位工作狀態(tài),所以,系統的復位電路必須能準確、可靠地工作。這里的復位電路采用LTC1326芯片,同時(shí)實(shí)現低電平復位和手動(dòng)復位功能。LTC1326能夠在有多種電壓供電的系統中實(shí)現同時(shí)對3種電壓的監控功能。為了提高芯片的抗干擾能力,應給每個(gè)Vcc引腳接一個(gè)0.1μF的對地旁路電容。
數據采集和處理模塊
·A/D接口電路
LPC2378本身提供有8路10位ADC和1路10位DAC,而該系統要求提供的A/D和D/A精度均為12位,故需要擴展外部A/D和D/A。
AD7922是12位逐次逼近型高速、低功耗的A/D轉換器,吞吐率最高可達 1MSPS。本系統采用通過(guò)LPC2378的SPI接口直接與其相連,不需要其他的附加邏輯電路。在采集過(guò)程中,選擇不同的通道進(jìn)行采集。
·D/A接口電路
DAC7574是12位、低功耗、4路帶緩沖器的電壓輸出型D/A轉換芯片,最高速率可達3.4Mbps。外部為該芯片提供的工作電壓為5V,故轉換后的電壓輸出范圍是0~5V,需要設計D/A轉換后輸出電壓范圍是-10V~+10V,所以要用到兩級運算放大器,第一級構成反相求和電路,第二級構成反相比例運算放大電路。經(jīng)過(guò)第一級運放后,得到-2.5V~+2.5V的電壓值,再經(jīng)過(guò)第二級運放后得到-10V~+10V的電壓范圍。為了在第一級運放的輸入端獲得精準的-2.5V電壓,這里使用LM236,它是能夠提供精確的-2.5V電壓的穩壓芯片。
R/D接口電路
AD2S80A是最新一代旋轉變壓器數字轉換芯片,又叫角分解器(Resolver),是一種特殊的模數轉換器,用來(lái)測量旋轉物體的轉軸角位移和角速度。AD2S80A的分辨率有10、12、14、16bits幾種可選。用戶(hù)通過(guò)選擇不同的外接電阻和電容,可以得到不同的帶寬和跟蹤速率。本系統中只用到了R/D的8條數據線(xiàn)(DB1~DB8),其余8條數據線(xiàn)(DB9~DB16)接地。LPC2378負責處理AD2S80A送來(lái)的信號,AD2S80A與LPC2378的相關(guān)引腳直接相連,接口電路如圖2所示。
圖2 AD2S80A與LPC2378的連接圖
串口擴展模塊
MAX3074是RS-422總線(xiàn)的收發(fā)器,其功能是實(shí)現RS-422總線(xiàn)信號電平到SC16C554可接受信號電平的轉換。該系統中共使用6片MAX3074,其中4片與SC16C554的4路UART端口連接(其中兩路做為備用),其余2片與LPC2378的兩路UART端口相連。
MAX3221是RS-232總線(xiàn)的收發(fā)器,其功能是實(shí)現RS-232總線(xiàn)信號電平到LPC2378可接受信號電平的轉換。系統中使用2片MAX3221與LPC2378其余兩路UART端口相連(圖3)。
圖3 總線(xiàn)電平轉換示意圖
系統軟件設計
系統的軟件開(kāi)發(fā)工具采用ADS1.2,設計語(yǔ)言使用ARM C。為了實(shí)現系統各部分的正常運行,在進(jìn)行軟件設計時(shí)必須充分考慮3個(gè)因素:程序的可靠性;程序的嚴密性;程序的穩定性。
軟件程序由主程序和中斷服務(wù)程序構成。主程序中首先完成系統的初始化,接著(zhù)進(jìn)入一個(gè)無(wú)限循環(huán)的后臺程序,巡回地執行多個(gè)事件,完成相應的操作;使用向量IRQ中斷,中斷服務(wù)程序采用基于定時(shí)器的巡回服務(wù)流程,完成事務(wù)處理。對于CPLD的軟件設計工具采用Altera公司的MAX PlusII,使用VHDL編程語(yǔ)言。
結語(yǔ)
本文從硬件設計和軟件設計兩方面對基于LPC2378微處理器的數據采集系統的設計進(jìn)行了介紹。該系統現已在中國兵器工業(yè)集團某研究所的一大型系統中得以應用,工作可靠、穩定。
參考文獻:
1. 周立功等,ARM嵌入式系統基礎教程,北京航空航天大學(xué)出版社,2005
2. 杜春雷,ARM體系結構與編程,清華大學(xué)出版社,2003
3. 楊宗德,嵌入式ARM系統原理與實(shí)例開(kāi)發(fā),北京大學(xué)出版社,2007
4. ADS1.2 Online books
5. 裘雪紅、顧新、侯伯亨等,微型計算機原理與接口技術(shù),西安電子科技大學(xué)出版社,2001
6. 周立功等,深入淺出ARM7,北京航空航天大學(xué)出版社,2005
模數轉換器相關(guān)文章:模數轉換器工作原理
矢量控制相關(guān)文章:矢量控制原理
評論