基于PC104的數(shù)據(jù)采集系統(tǒng)的研究與實(shí)現(xiàn)
1 引言
本文引用地址:http://www.ex-cimer.com/article/152604.htm隨著科技和經(jīng)濟(jì)的發(fā)展,嵌入式系統(tǒng)已經(jīng)被廣泛應(yīng)用到家用市場(chǎng)、工業(yè)市場(chǎng)、商業(yè)市場(chǎng)、通訊市場(chǎng)和國(guó)防市場(chǎng)。PC104是一種嵌入式平臺(tái),該平臺(tái)與IBM的PC機(jī)兼容,具有靈活的可擴(kuò)展性,其小巧的尺寸非常適合嵌入式系統(tǒng)的應(yīng)用?,F(xiàn)代的數(shù)據(jù)采集要求高速,高精度,需要一個(gè)處理能力強(qiáng)的嵌入式平臺(tái),PC104正好符合這一要求。
本文基于PCM-3350型PC104嵌入式開發(fā)平臺(tái),采用MAX1308AD轉(zhuǎn)換芯片,設(shè)計(jì)了一個(gè)16通道,最高采集速度可達(dá)1Msps,分辨率為12bit,能夠進(jìn)行通道掃描采集和單通道采集的數(shù)據(jù)采集系統(tǒng)。
2 數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
數(shù)據(jù)采集系統(tǒng)主要由放大電路、光耦隔離電路、多路選擇開關(guān)、帶采樣保持器的AD模數(shù)轉(zhuǎn)換器、時(shí)鐘電路、CPLD控制電路、數(shù)據(jù)緩存(FIFO)等部分組成,總結(jié)構(gòu)框圖如圖1所示:
2.1 A/D轉(zhuǎn)換數(shù)據(jù)采集電路
A/D轉(zhuǎn)換選用max1308AD芯片,它是一種采樣速率最高可達(dá)1Msps,分辨率為12bit的采集芯片,多達(dá)8個(gè)通道的同時(shí)采樣,+5V模擬電源,+3V至+5V數(shù)字電源,其硬件系統(tǒng)連接如圖2所示:
圖2 max1308AD硬件連接
2.2 FIFO存儲(chǔ)電路
FIFO電路芯片選用IDT公司的IDT7203,它是一個(gè)雙端口的存儲(chǔ)緩沖芯片,具有2048×9 的存儲(chǔ)結(jié)構(gòu),具有12ns 的高速存取時(shí)間,結(jié)構(gòu)簡(jiǎn)單,便于操作,并具有控制端、標(biāo)志端、擴(kuò)展端和內(nèi)部RAM 陣列,內(nèi)部讀、寫指針在先進(jìn)先出的基礎(chǔ)上可進(jìn)行數(shù)據(jù)的自動(dòng)寫入和讀出。
2.3 CPLD控制電路設(shè)計(jì)
CPLD(EPM7160STC100-6)的設(shè)計(jì)是本采集系統(tǒng)的核心,它能夠?qū)C104地址總線進(jìn)行譯碼,所產(chǎn)生的邏輯控制信號(hào)對(duì)各個(gè)單元的工作狀態(tài)起控制作用。
數(shù)據(jù)的讀取可以采用查詢的方式。當(dāng)FIFO的空標(biāo)號(hào)有效時(shí),就產(chǎn)生一個(gè)中斷,使主機(jī)停止對(duì)FIFO的讀取。在PC104 ISA部分,用到ISA的16位數(shù)據(jù)總線D[0..15]。A[0..9]是PC104的地址總線;IOW和IOR是對(duì)指定設(shè)備的讀寫信號(hào);AEN是允許DMA控制地址總線、數(shù)據(jù)總線及讀寫命令線進(jìn)行DMA傳輸及對(duì)存儲(chǔ)器和IO設(shè)備的讀寫。系統(tǒng)工作流程如圖3所示:
圖3 系統(tǒng)工作流程
數(shù)據(jù)采集系統(tǒng)的工作邏輯框圖如圖4所示:
圖4 數(shù)據(jù)采集系統(tǒng)的邏輯框圖
其中,地址譯碼、控制器:只有地址選中該模塊時(shí),A/D 才能工作,同時(shí)使PC104工作在16位數(shù)據(jù)線方式,A0到A3分別控制著轉(zhuǎn)換通道的選擇;啟動(dòng)觸發(fā)器:用于控制A/D轉(zhuǎn)換的啟動(dòng),其操作通過寫信號(hào)和CONVST等信號(hào)進(jìn)行;中斷響應(yīng)寄存器:用于查詢A/D轉(zhuǎn)換完畢,F(xiàn)IFO為空引起的中斷。啟動(dòng)觸發(fā)器和中斷響應(yīng)寄存器都位于狀態(tài)控制器內(nèi)部;讀數(shù)據(jù)寄存器:當(dāng)FIFO不為空,在FIFO中的轉(zhuǎn)換結(jié)果直接進(jìn)人數(shù)據(jù)總線,第12位到15位 由CPLD提供,使數(shù)據(jù)與其相等再進(jìn)入16位數(shù)據(jù)總線,完成整個(gè)轉(zhuǎn)換過程。
2.4 采集卡的地址分配
由于該數(shù)據(jù)采集卡是作為PC104的標(biāo)準(zhǔn)外設(shè)進(jìn)行工作的。PC104規(guī)定,外設(shè)的操作地址為A[9:0],在系統(tǒng)軟件設(shè)計(jì)中要防止地址沖突。PC104中使用A0~A9地址位來表示I/O端口地址,即可有1024個(gè)口地址,前512個(gè)供系統(tǒng)板使用,后512個(gè)供擴(kuò)充插槽使用,當(dāng)A9=0時(shí)表示為系統(tǒng)板上的口地址;當(dāng)A9=1時(shí)表示擴(kuò)充插槽接口卡上的口地址[2]。
因此本采集的的板卡地址由A[9:3]來確定,偏移地址由地址線的A[2:0]所確定,選擇該地址就意味著相應(yīng)的操作,CPLD對(duì)地址經(jīng)過譯碼后就產(chǎn)生相應(yīng)的控制。對(duì)于板卡的地址,為了方便,還可在板卡上設(shè)置跳線。
采集卡的基地址分配和譯碼地址分配見表1,本文設(shè)計(jì)的數(shù)據(jù)采集卡的地址范圍是:2E0H―2F7H,不會(huì)發(fā)生地址沖突。
表1:數(shù)據(jù)采集卡的地址分配及譯碼
2.5 其他部分電路設(shè)計(jì)
由于MAX1308內(nèi)部含有多路模擬開關(guān),因此,采用2片MAX1308就可以進(jìn)行16個(gè)通道的同時(shí)采樣。硬件方面,為了減少延時(shí),提高速度,將CPLD或FIFO 和數(shù)據(jù)采集部分集中到一塊四層印制電路板,然后通過連接器連接到PC104。電源部分應(yīng)將數(shù)字電源和模擬電源分開??紤]到對(duì)于A/D轉(zhuǎn)換的精度、穩(wěn)定,使用6N137光耦隔離。
3 PC104平臺(tái)
PC104平臺(tái)硬件采用PC/104總線標(biāo)準(zhǔn)結(jié)構(gòu)設(shè)計(jì)的產(chǎn)品PCM一3350主板。它是研華新一代高速低耗PC/104系列的代表產(chǎn)品??刂破髂K包括一個(gè)主控32位微處理器單元,具有32MRAM和內(nèi)置的非易失存儲(chǔ)器用于數(shù)據(jù)和程序存儲(chǔ),提供VGA,LCD顯示器接口;該模塊還具有一系列標(biāo)準(zhǔn)通訊口從而提供多種通訊方式,包括串行通訊(RS232,RS485)、以太網(wǎng)等以及一個(gè)PC104總線接口。
4 軟件設(shè)計(jì)
由于PC104CPU模塊支持可讀寫的固態(tài)盤,這種以半導(dǎo)體存儲(chǔ)設(shè)備來代替通常使用的磁盤驅(qū)動(dòng)器,可以大大提高系統(tǒng)的可靠性,降低系統(tǒng)的功耗和成本。本系統(tǒng)中,根據(jù)固態(tài)盤的特點(diǎn),操作系統(tǒng)軟件采用DOS6.22,以TuborC 2.O作為開發(fā)環(huán)境,應(yīng)用程序采用C語言和匯編語言相結(jié)合來實(shí)現(xiàn)除此在編寫軟件時(shí),首先要設(shè)置好I/0板卡的基地址,再根據(jù)基地址來確認(rèn)其他外圍寄存器端口地址,包括讀寫端口、控制字和通道選擇等地址。
5 結(jié)束語
數(shù)據(jù)采集技術(shù)是信息科學(xué)的重要組成部分,已廣泛應(yīng)用于國(guó)民經(jīng)濟(jì)和國(guó)防建設(shè)的各個(gè)領(lǐng)域,并且隨著科學(xué)技術(shù)的發(fā)展,數(shù)據(jù)采集技術(shù)將有廣闊的發(fā)展前景。本文基于PC104的嵌入式平臺(tái),采用MAX1308AD轉(zhuǎn)換芯片,設(shè)計(jì)了一個(gè)16通道,最高采集速度可達(dá)1Msps, 分辨率為12bit的數(shù)據(jù)采集系統(tǒng),由于其小型化易攜帶的特點(diǎn),此數(shù)據(jù)采集系統(tǒng)可方便地用于野外作業(yè)。另外,隨著PC104加入嵌入式領(lǐng)域,嵌入式系統(tǒng)的設(shè)計(jì)者就可以使用于桌面PC所兼容的軟件。 PC104已經(jīng)被廣大用戶證明是嵌入式領(lǐng)域的理想解決方案,尤其當(dāng)它結(jié)合了PCI總線之后,它將如虎添翼。PC/104 的發(fā)展前景非??春?,“堆棧型PC”的前途無限光明。
本文作者創(chuàng)新點(diǎn):把各個(gè)電路模塊的控制信號(hào)集中到一片CPLD芯片上,采用柔性電路設(shè)計(jì)方法,增強(qiáng)了電路設(shè)計(jì)的靈活性和可開發(fā)性。
評(píng)論