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