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