基于PowerPC的模擬量輸入接口擴展
The Analog Input Expansion Based on the PowerPC
摘要:介紹了PowerPC集成主處理器MPC8349E的性能特點。介紹了模數(shù)轉(zhuǎn)換(A/D)接口芯片MAX197的結(jié)構(gòu)功能。設(shè)計了模擬量輸入接口擴展的硬件連接,并在硬件平臺基礎(chǔ)上進行了驅(qū)動程序的軟件開發(fā)。
關(guān)鍵字:PowerPC;模數(shù)轉(zhuǎn)換;驅(qū)動程序
Abstract: The performance and characteristics of the PowerPC integrated host processor MPC8349 are introduced .Also the structure and function of the A/D chip MAX197 is introduced.The hardware of the analog input interface expansion is designed,and the driver software based on the hardware platform is developed.
Key words: PowerPC ; A/D; Driver software
數(shù)據(jù)采集技術(shù)是信息科學(xué)的重要分支,是傳感器、信號獲取、存儲與處理等信息技術(shù)的結(jié)合。將外部世界存在的溫度、壓力、流量、位移、液位等轉(zhuǎn)換為數(shù)字信號,再傳送到計算機作進一步處理的這一過程,即“數(shù)據(jù)采集”。數(shù)據(jù)采集已在工農(nóng)業(yè)、醫(yī)藥衛(wèi)生、生態(tài)環(huán)保、航空航天、軍事、氣象等領(lǐng)域得到了廣泛的應(yīng)用??梢酝ㄟ^對信號的測量、處理、控制及管理,實現(xiàn)測、控、管的自動化與系統(tǒng)化。模擬量輸入接口(A/D)是采集系統(tǒng)的重要的組成部分。
1 MPC8349E系列嵌入式集成主處理器
1.1 處理器性能特點
Power.org™定義的Power™體系結(jié)構(gòu)為廣泛的處理器提供了技術(shù)基礎(chǔ),包括高端服務(wù)器芯片,以及到為計算機、手持設(shè)備和網(wǎng)絡(luò)產(chǎn)品設(shè)計的PowerPC處理器。
MPC8349處理器是飛思卡爾半導(dǎo)體公司生產(chǎn)的基于Power™體系結(jié)構(gòu)的嵌入式SoC。MPC8349的集成度非常高,除了一個高性能的E300核外,還包括DDR2控制器、兩個32位PCI控制器、兩個10/100/1000以太網(wǎng)控制器、安全引擎、USB控制器以及其他一些嵌入式應(yīng)用需要的UART、I2C、GPIO等接口,被廣泛應(yīng)用于網(wǎng)絡(luò)通訊領(lǐng)域、SOHO NAS、CPE、網(wǎng)關(guān)和交換機產(chǎn)品,打印機和復(fù)印機等產(chǎn)品,以及嵌入式計算和工業(yè)控制領(lǐng)域。MPC8349處理器支持擴大的運行溫度范圍,其指令與Power™體系結(jié)構(gòu)的其他產(chǎn)品兼容,并提供比較廣泛的開發(fā)工具支持。
1.2 MPC8349E局部總線(LBC)
局部總線控制器是本系統(tǒng)中CPU與A/D轉(zhuǎn)換芯片的接口,該控制器提供了到多種類型存儲設(shè)備和外部設(shè)備的無縫接口。該控制器負責(zé)控制八個存儲體(bank),這八個存儲體由一個高性能的SDRAM、一個GPCM和可多達三個的UPMs所共享。因此它支持到SDRAM、SRAM、EPROM、flash EPROM、可突發(fā)RAM、常規(guī)DRAM設(shè)備、擴展數(shù)據(jù)輸出DRAM設(shè)備和其他一些外部設(shè)備的最小粘結(jié)邏輯接口。外部地址鎖存信號(LALE)允許地址和數(shù)據(jù)信號的多路復(fù)用,減少信號數(shù)量??梢院芊奖愕刂С钟脩糇远x的存儲或者類似的外設(shè)。
2 A/D轉(zhuǎn)換芯片MAX197
作為一種基本電路, A/D轉(zhuǎn)換廣泛應(yīng)用于數(shù)據(jù)采集與信號測量中。A/D轉(zhuǎn)換芯片有并行、串行兩種,精度從8位到24位,存在多個等級。其中12位的MAX197 是性能比較優(yōu)越的一款, 接口簡單,轉(zhuǎn)換速度快,操作容易,精度能夠滿足多數(shù)信號測量和工業(yè)控制場合。
2.1 MAX197 結(jié)構(gòu)特點
MAX197芯片是美國MAXIM公司近年的新產(chǎn)品,是多量程( ±10V、±5V、0~10V、0~5 V)、8通道、12位精度的A/D轉(zhuǎn)換器。它采用逐次逼近工作方式,有標準的微機接口。三態(tài)數(shù)據(jù)I/O口用做8位數(shù)據(jù)總線,數(shù)據(jù)總線的時序與絕大多數(shù)通用的微處理器兼容。全部邏輯輸入和輸出與TTL/CMOS電平兼容,僅需要一個+5V供電,且外圍電路簡單,可簡化電路設(shè)計。
2.2 MAX197 的控制字
如圖1所示,MAX197控制字的PD1、PD0這兩位選擇時鐘和低功耗模式;ACQMOD為0表示內(nèi)部控制采集,ACQMOD為1表示外部控制采集;RNG選擇輸入端的滿量程電壓范圍;BIP選擇單極性、雙極性轉(zhuǎn)換模式;A2、A1和A0用于選擇多路輸入通道的地址。在VEF=4.096V時,MAX197通過軟件設(shè)置控制字節(jié)的D3、D4位,可選擇輸入量程為±10V、±5V、0~10V和0~5V。
2.3 MAX197 的管腳功能
MAX197有28個管腳, 管腳圖如圖2所示。
圖2中REF控制滿量程輸入電壓大小。在REFADJ管腳加外部基準電壓后,MAX197多量程A/D 轉(zhuǎn)換器VREF =1.6384×VREFADJ(2.4V<VREF<4.18V)。輸入通道的過壓保護為±16.5V,即使芯片處于低功耗工作模式,這種防護也有效。VDD=0V 時,輸入阻抗網(wǎng)絡(luò)所具有的電流限制足以保護器件。數(shù)字接口輸入和輸出數(shù)據(jù)在三態(tài)并行口上是復(fù)用的,這些并行I/O口可以很容易地和處理器接口。與處理器相應(yīng)控制管腳相連進行讀寫操作。通過對芯片進行寫操作可把控制字節(jié)存入芯片。輸出數(shù)據(jù)在單極性模式下是二進制格式。MAX197可以以內(nèi)部或外部時鐘模式工作。一旦選擇了所要求的時鐘模式,改變這些位編程選擇低功耗模式時,不會影響時鐘模式。剛上電時,選擇外部時鐘模式。在CLK管腳和地之間接一個100pF的電容,可產(chǎn)生1.56MHz頻率的內(nèi)部時鐘。外部時鐘要求100kHz~2MHz之間。
3 硬件結(jié)構(gòu)
MAX197是一種通用A/D芯片,可以和多種處理器接口,本系統(tǒng)通過MPC8349E的局部總線與MAX197連接。硬件結(jié)構(gòu)如圖3所示。圖3中使局部總線的LBD7~LBD0與MAX197的D0~D7相連。選擇MAX197為軟件設(shè)置低功耗工作方式,所以置SHDN管腳為高電平,本系統(tǒng)采用內(nèi)部基準電壓,所以REF、REFADJ管腳均通過電容接地。用一路片選信號線做讀高、低位數(shù)據(jù)的選擇線, 直接與HBEN管腳相連,因而采用讀不同地址的方式分別讀取低8位和高4位數(shù)據(jù)。MAX197的INT管腳與系統(tǒng)的INT相連,作為轉(zhuǎn)換識別信號,當數(shù)據(jù)轉(zhuǎn)換完畢時,MAX197的INT腳產(chǎn)生中斷信號,從而使處理器進入中斷處理程序進行一路轉(zhuǎn)換數(shù)據(jù)的讀入操作。
4 驅(qū)動軟件設(shè)計
設(shè)備驅(qū)動程序是應(yīng)用程序和機器硬件之間的接口。設(shè)備驅(qū)動程序為應(yīng)用程序屏蔽了硬件的細節(jié),在應(yīng)用程序看來,硬件設(shè)備只是一個設(shè)備文件,應(yīng)用程序可以象操作普通文件一樣對硬件設(shè)備進行操作。
本系統(tǒng)采用Linux操作系統(tǒng),需要編制Linux下的設(shè)備驅(qū)動程序。A/D轉(zhuǎn)換設(shè)備用作為字符設(shè)備,而字符設(shè)備驅(qū)動程序具有比較固定的結(jié)構(gòu),即將設(shè)備抽象成文件來進行操作,因此要在驅(qū)動程序?qū)崿F(xiàn)Open、Close、Write、Read和Ioctl等操作,其中Ioctl對于執(zhí)行各種類型的硬件控制應(yīng)用比較方便,其在內(nèi)核中的原型為
int(*ioctl)(struct inode *inode,
struct file *filp,
unsigned int cmd,
unsigned long arg);
A/D轉(zhuǎn)換的驅(qū)動程序主要是實現(xiàn)了這個函數(shù)。其中cmd用來傳遞通道序號,arg傳遞指向用戶空間的一個指針,用來返回A/D轉(zhuǎn)換結(jié)果。
當寫入控制字開始轉(zhuǎn)換后,處理器進入其它工作狀態(tài),直到轉(zhuǎn)換完成產(chǎn)生中斷,處理器在ioctl中讀取A/D轉(zhuǎn)換結(jié)果,并調(diào)用put_user(datum,ptr)宏函數(shù)將該結(jié)果傳遞到用戶空間。Ioctl函數(shù)的流程圖如圖4所示
用戶程序?qū)崿F(xiàn)數(shù)據(jù)采集需要先打開設(shè)備文件,分配數(shù)據(jù)空間,決定A/D轉(zhuǎn)換通道序號,然后調(diào)用ioctl實現(xiàn)A/D轉(zhuǎn)換并得到結(jié)果。
當對MAX197 的控制字開始寫操作時,轉(zhuǎn)換就開始了。寫操作將選擇多路通道,并確定MAX197的輸入范圍是單極性還是雙極性。一個寫脈沖( )可以開始一次采集,或者對采樣進行初始化并開始轉(zhuǎn)換。對任何時鐘模式和采集模式,轉(zhuǎn)換間隔都延時12個時鐘周期。若在轉(zhuǎn)換周期寫一個新的控制字節(jié)將使轉(zhuǎn)換失效, 并啟動方式可以更精確地控制采樣間隔和轉(zhuǎn)換。在這種方式下,用戶通過2個寫脈沖控制采集和啟動轉(zhuǎn)換。在第一寫脈沖中,要使ACQMOD 位=1,它將啟動一次采集開始。在第二個寫脈沖中,要使ACQMOD 位=0,在 的上升沿開始轉(zhuǎn)換并結(jié)束采集。在發(fā)第一和第二個寫脈沖時, 多路輸入通道的地址位值必須一樣。在第二個寫脈沖中, 低功耗模式位( PD0、PD1)可以設(shè)一個新值。當轉(zhuǎn)換結(jié)束產(chǎn)生一個正確的結(jié)果時,芯片發(fā)出一個標準的中斷信號INT給處理器。在第一個讀周期或者寫一個新控制字節(jié)時,INT就變?yōu)楦唠娖健?
5 結(jié)束語
基于PowerPC8349E系列處理器擴展了多路A/D轉(zhuǎn)換通道,可以進行數(shù)據(jù)采集,其采集精度達到了轉(zhuǎn)換芯片的指標。模擬量輸入通道的擴展可以使該處理器在測量、控制等更多領(lǐng)域得到應(yīng)用。
本文創(chuàng)新點:本文基于PowerPC8349E系列處理器擴展了多路A/D轉(zhuǎn)換通道,使得通常用于通訊領(lǐng)域的該系列處理器可以應(yīng)用于測量、控制等更多領(lǐng)域
參考文獻:
[1] 李大慶,段建民,綦慧江,存勝高.速數(shù)據(jù)采集處理系統(tǒng)的設(shè)計和實現(xiàn)[J]. 微計算機信息. 2006年第22卷第7-2期:191-193.
[2] 谷重陽,汪渤,龍殊穎.并行模數(shù)轉(zhuǎn)換器ADS8364與TMS320F2812的接口設(shè)計[J]. 微計算機信息.2006年第22卷第1-2期:137-139.
[3] MPC8349E PowerQUICCTM II Pro集成式主處理器系列參考手冊[S]。飛思卡爾半導(dǎo)體有限公司,2005。
[4] 孫天澤.嵌入式設(shè)計及Linux驅(qū)動開發(fā)指南[M]. 北京:電子工業(yè)出版社,2005.
[5] 劉樂善. 微型計算機接口技術(shù)及應(yīng)用[M]. 武漢:華中理工大學(xué)出版社,2000.
[6] 肖忠祥. 數(shù)據(jù)采集原理[M]. 西安:西北工業(yè)大學(xué)出版社,2001.
作者簡介:曹海建(1982-),男(漢族),山東省人,北京理工大學(xué)碩士研究生,主要從事智能控制研究。
通訊地址:(100081 北京理工大學(xué)信息科學(xué)技術(shù)學(xué)院自動控制系)高巖