針對產(chǎn)業(yè)控制系統(tǒng)的要求,先容了一種基于Compact PCI總線的數(shù)據(jù)采集系統(tǒng),,可以實現(xiàn)對模擬信號,、串行數(shù)字信號和并行數(shù)字信號的采集。結(jié)合DSP芯片TSM320F2812和PCI接口芯片PCI9054的性能特點,,具體討論了采集系統(tǒng)的硬件結(jié)構(gòu)和Compact PCI接口的實現(xiàn),。
本文的創(chuàng)新點是結(jié)合了Compact PCI總線和DSP芯片的上風,大大進步了系統(tǒng)的可靠性和實時性,,同時又給應(yīng)用程序開發(fā)職員提供了良好的接口,,方便了硬件工作參數(shù)的修改,進步了系統(tǒng)的靈活性,。
引言
數(shù)據(jù)采集的實時性和可靠性是關(guān)系產(chǎn)業(yè)控制系統(tǒng)性能的重要因素,,數(shù)據(jù)采集系統(tǒng)的速率主要取決于A/D轉(zhuǎn)換、通訊接口和總線傳輸?shù)乃俾?。本文研制了一種基于Compact PCI總線的數(shù)據(jù)采集系統(tǒng),,系統(tǒng)以DSP作為控制核心,可以進行模擬信號采集,、并行接口和串行接口的數(shù)據(jù)信號的采樣,。
1 Compact PCI總線簡介
Compact PCI總線與PCI標準完全兼容,但作為開放的產(chǎn)業(yè)計算機標準,,Compact PCI總線與PCI總線有很多不同,。主要體現(xiàn)在:
(1) Compact PCI總線具有熱切換能力,可以使整個系統(tǒng)在不斷電的情況下,,更換損壞的插板,,這對于有高可靠性要求的系統(tǒng)是至關(guān)重要的。
(2) Compact PCI總線采用歐式插卡(Eurocard),,具有更好的機械特性,。歐式插卡的組裝技術(shù)目前已經(jīng)十分成熟,插卡垂向而平行的插進機箱,,有利于透風散熱;采用插進式電源模塊,,便于維修,適合于安裝在標準化產(chǎn)業(yè)機架上,。
(3) 使用高密度針孔總線連接器,,完全氣密,比臺式機的PCI插槽具有更高的抗震性能和可靠性,。
(4) Compact PCI底板可以容納8塊插卡,,比原有的PCI規(guī)范增加了一倍,,更能滿足產(chǎn)業(yè)系統(tǒng)的需要。
2 采集系統(tǒng)硬件結(jié)構(gòu)設(shè)計
在產(chǎn)業(yè)控制系統(tǒng)中,,采集系同一方面需要把電機轉(zhuǎn)速,、電流環(huán)等模擬參數(shù)傳送到監(jiān)控主機,另一方面需要對下位機的各種參數(shù)和圖像數(shù)據(jù)進行采集,,同時監(jiān)控主機還要對下位機發(fā)送各種控制信號,。為了兼顧各種需要,設(shè)計中集合了模擬和數(shù)字兩種采集方式,,可以實現(xiàn)8路A/D采樣,,2路串行數(shù)據(jù)采集和2路并行數(shù)據(jù)采集,系統(tǒng)的結(jié)構(gòu)框圖如圖1所示,。
圖1 采集系統(tǒng)結(jié)構(gòu)框圖
采集系統(tǒng)以數(shù)字信號處理芯片TMS320F2812作為控制核心,,F(xiàn)2812最高工作頻率可達150MHz,除了豐富的內(nèi)部存儲器資源外,,還具有ADC,,SCI、SPI等多種外設(shè)資源,,設(shè)計中利用了其ADC和SCI模塊來進行模擬信號和串行數(shù)字信號的采集,。對并行數(shù)據(jù)的采集則不通過DSP而直接與主機進行數(shù)據(jù)交換。由于主機與外設(shè)速度不匹配,,選用雙口RAM芯片IDT70V24作為數(shù)據(jù)緩存,,它是一種高速度、低功耗的雙口RAM,,存儲量為8k字節(jié),。系統(tǒng)的邏輯控制采用CPLD芯片XC95108完成,它主要負責的功能是PCI局部總線仲裁和地址譯碼,。三種采集模塊的實現(xiàn)如下:
(1) A/D采集模塊。對模擬信號的采樣使用了F2812自帶的數(shù)模轉(zhuǎn)換模塊ADC,,該ADC具有16路模擬輸進通道,,帶有兩路內(nèi)置S/H(抽樣保持器),轉(zhuǎn)換精度為12bit,,最大轉(zhuǎn)換速率為12.5MSPS,,支持范圍在0~3 V的數(shù)據(jù)輸進。16路輸進通道在ADC內(nèi)部共用1個模數(shù)轉(zhuǎn)換器,,它們被分位兩組,,每組8路通道,使用排序器Sequencer來設(shè)定每路通道占用模數(shù)轉(zhuǎn)換器的順序,。設(shè)計中使用了其中8路通道(ADCIN0~ADCIN7),。
(2) 串行數(shù)據(jù)采集模塊,。F2812的SCI模塊具有兩路串行通訊接口,可配置成65536種不同的波特率,,具有奇偶校驗標志,,可工作于半雙工或者全雙工模式,可設(shè)置成中斷或者查詢方式,。另外,,SCI還具有兩個增強性能:①發(fā)送、接收都具有獨立的FIFO,,F(xiàn)IFO深度為16個字,,觸發(fā)級可以配置為16以內(nèi)的任何數(shù)。這種靈活的設(shè)置對實際使用非常方便,,由于下位機采集的數(shù)據(jù)長度往往不是16的整數(shù)倍,,根據(jù)其數(shù)據(jù)長度設(shè)定FIFO觸發(fā)級,可以使一幀數(shù)據(jù)及時被傳輸和處理;②可以實現(xiàn)波特率自動檢測,,這在未知通訊終端波特率或者需要更換通訊終真?zhèn)€情況下非常適用,。下位機與監(jiān)控主機的通訊采用RS-422接口,傳輸間隔遠,,抗干擾能力強,。RS-422傳輸使用的是差分電平,而SCI的輸進輸出管腳是TTL電平,,需要進行電平轉(zhuǎn)換,,設(shè)計種選用了符合RS-422標準的電平轉(zhuǎn)換芯片MAX3461。
(3) 并口通訊模塊,。對于圖像信號等數(shù)據(jù)傳輸量大的信號,,需要使用并口通訊的方式。本采集系統(tǒng)提供兩路并口,,數(shù)據(jù)寬度為8位,,地址寬度為8位,它們通過雙口RAM與主機進行數(shù)據(jù)交換,。3 Compact PCI接口設(shè)計
3.1 CPCI橋接芯片
目前,,很多PCI協(xié)議芯片同時也支持熱交換,使得原有的基于PCI總線的硬件系統(tǒng)可以很輕易地移植到CPCI構(gòu)架下,,而不需要在硬件和軟件上做大的修改,。本設(shè)計選用的是PLX公司推出的PCI9054,符合PCI 2.2規(guī)范和CPCI 2.1熱交換規(guī)范,。
針對CPCI的熱交換規(guī)范,,PCI9054提供了管腳ENUM#和LEDon/LEDin,ENUM#的激活表明板卡的插拔狀態(tài)即將發(fā)生改變,LEDon/LEDin管腳用于驅(qū)動外部LED,,指示當前系統(tǒng)軟件層連接和斷開的情況,。PCI9054還提供了熱交換控制寄存器HS_CSR用來記錄板卡插拔狀態(tài)并控制指示燈狀態(tài)。HS_CSR的定義表1所示,。
表1 熱交換控制狀態(tài)寄存器HS_CSR
當板卡插進時,,HS_CSR[3]被置為1,點亮藍燈,,PCI9054置HS--_CSR[7]為1,,激活ENUM#信號引起中斷,直到設(shè)備驅(qū)動程序被安裝后,,中斷被清除,,HS_CSR[3]被置為0,熄滅藍燈,。當板卡拔出時,,HS_CSR[6]被置為1,激活ENUM#信號引起中斷,,主機卸載驅(qū)動程序后,,HS_CSR[3]被置為1,點亮藍燈,,表明板卡可以安全地被拔出,。
3.2 熱插拔電源治理
CPCI規(guī)范中用于熱插拔控制的信號主要有:BD_SEL#,HEALTHY和PCI_RST#,。CPCI總線的接插件J1的插針分為長針,、中長針和短針。長針是電源和地信號,,中長針是PCI總線信號,,短針是BD_SEL#和IDSEL。當板卡插進時,,電源信號最先接觸,,將PCI總線信號預(yù)充電至1V,這是為了減小熱插拔過程中對PCI總線信號的沖擊,,然后是PCI總線信連接,,最后是BD_SEL#信號連接,BD_SEL#有效表示板卡已經(jīng)插好,,可以上電工作??ò纬鲞^程正好相反,。HEALTHY#是反映板卡電源狀態(tài)是否良好的信號。PCI-_RST#是主機復(fù)位信號,,它和HEALTHY#信號共同作用,,控制PCI局部總線的復(fù)位信號,。
LTC1646是Linear公司針對CPCI接口推出的熱插拔電源治理芯片。LTC1646需要外接兩個N溝道晶體管作為開關(guān)控制3.3V和5V電源對板卡的供電,。LTC1646的OFF/ON#管腳與BD_SEL#相連,,當BD_SEL#為低時,晶體管導(dǎo)通,,3.3V和5V電源按一定速率上電,。PWRGD#與HEALTHY#連接,當板卡電源在容差范圍內(nèi)時,,此信號為低,。PCI_RST#與LTC1646的RESETIN#管腳相連,它與HEALTHY信號進行或運算得到輸出信號RESETOUT#,,此信號與PCI9054的RST#管腳相連作為CPCI板卡的復(fù)位信號,。LTC1646提供一個輸出管腳PRECHARGE,它與PCI9054的總線信號相連接,,在板卡插進和拔出的過程中,,對總線信號進行預(yù)充電。需要預(yù)充電的信號需要經(jīng)過10kΩ的電阻上拉至預(yù)充電電壓(1V±10%),。4 軟件接口
由于產(chǎn)業(yè)現(xiàn)場外設(shè)種類多,,采集到的信號特性各異,假如硬件系統(tǒng)內(nèi)部程序固定為一種模式,,必定不能達到最佳傳輸效果,。而硬件板卡在交付使用后,再修改其內(nèi)部程序便十分麻煩,,所以本系統(tǒng)給應(yīng)用程序開發(fā)職員提供了軟件接口,,使得對硬件配置的修改不需要通過仿真器,而可以直接在應(yīng)用程序界面下修改,。
對硬件工作參數(shù)的修改是通過中斷方式實現(xiàn)的,。自定義一個16位控制寄存器User_CSR,其高4位用作命令字,,低12位用作控制字,。當應(yīng)用程序通過PCI總線向User_CSR寫進數(shù)據(jù)時,CPLD通過譯碼邏輯向F2812的外部中斷管腳XINT2發(fā)出中斷信號,,F(xiàn)2812響應(yīng)中斷后,,讀取User_CSR的值,根據(jù)其命令字判定需要修改的是哪種參數(shù),,再根據(jù)其控制字得到新的參數(shù)值,,將其寫進相應(yīng)的寄存器,即可完成修改。由于篇幅所限,,僅以修改SCIA的設(shè)置為例,,說明具體實現(xiàn)方法。User_CSR對SCIA修改的定義如下:
表2 User_CSR的部分定義
通過該接口可修改的硬件配置有SCI的波特率,、收發(fā)FIFO的觸發(fā)級別和各采集通道占用雙口RAM空間的大小,。
5 結(jié)束語
本設(shè)計以TMS320F2812作為數(shù)據(jù)采集系統(tǒng)的控制核心,滿足了系統(tǒng)的實時性要求,,又節(jié)省了外設(shè)資源,,進步了系統(tǒng)的性價比。把Compact PCI總線應(yīng)用到采集系統(tǒng)中,,使系統(tǒng)具有了帶電插拔的能力,,進步了整個系統(tǒng)的可靠性,更能適應(yīng)產(chǎn)業(yè)工作環(huán)境的需要,。