通用運(yùn)動(dòng)控制卡COMPACTPCI接口的設(shè)計(jì)
深圳市慧鼎創(chuàng)科技有限公司
人氣:2975
發(fā)表時(shí)間:2015-06-17
【小中大】
近年來,隨著嵌入式系統(tǒng)的快速發(fā)展及其對(duì)硬件可靠性要求的提高,特別是帶有多個(gè)運(yùn)動(dòng)控制卡的網(wǎng)絡(luò)運(yùn)動(dòng)控制系統(tǒng)的發(fā)展,對(duì)運(yùn)動(dòng)控制卡提出了新的要求。運(yùn)動(dòng)控制卡應(yīng)具有帶熱插拔功能的CompactPCI總線接口。在這樣的運(yùn)動(dòng)控制系統(tǒng)中,采用可靠性高的嵌入式系統(tǒng)軟件,上位機(jī)只需對(duì)被控對(duì)象實(shí)施總體的控制和管理;而位置反饋信號(hào)的采集、閉環(huán)控制的計(jì)算及控制量的輸出則均可由以DSP為核心的運(yùn)動(dòng)控制卡完成,極大地提高了運(yùn)算速度和控制響應(yīng)速度。通過帶熱插拔功能的CompactPCI總線接口的上下機(jī)聯(lián)接,使系統(tǒng)具有更高的可靠性和帶電更換故障板卡的能力。
1 CompactPCI接口總線概述
CompactPCI接口總線定義了更加堅(jiān)固耐用的PCI版本。在電氣、邏輯和軟件方面,它與PCI標(biāo)準(zhǔn)完全兼容。CompactPCI接口卡安裝在支架上,并使用標(biāo)準(zhǔn)的Eurocard外型。CompactPCI雖然與標(biāo)準(zhǔn)PCI屬同一標(biāo)準(zhǔn),二者還是有很大的不同。CompactPCI相對(duì)PCI來講具有很多優(yōu)點(diǎn):(1)具有更好的機(jī)械特性。它增強(qiáng)了PCI系統(tǒng)在電信或其它條件惡劣的工業(yè)環(huán)境中的可維護(hù)性和可靠性。(2)采用Eurocard封裝,系統(tǒng)中氣流均勻。(3)CompactPCI連接器的電源和信號(hào)引線支持熱插拔規(guī)范,這對(duì)于容錯(cuò)系統(tǒng)是非常重要的,也是標(biāo)準(zhǔn)PCI所不能實(shí)現(xiàn)的功能。(4)總線易于擴(kuò)展,可同時(shí)支持多達(dá)256個(gè)標(biāo)準(zhǔn)的PCI總線設(shè)備。(5)CompactPCI背板的連接器插針分為長(zhǎng)針、中長(zhǎng)針和短針。長(zhǎng)針是一些電源針, 短的針是BD-SEL#,其它總線信號(hào)和部分電源信號(hào)是中長(zhǎng)針。連接器插槽J1插孔有長(zhǎng)針插孔、中長(zhǎng)針和短針插孔,而J2插槽都是中長(zhǎng)針插孔。
2 系統(tǒng)的硬件結(jié)構(gòu)概述
開放式四軸DSP運(yùn)動(dòng)控制卡經(jīng)12位DAC驅(qū)動(dòng)四個(gè)伺服電機(jī),并通過CompactPCI總線背板連接器與主機(jī)通信。其中DSP處理器與CompactPCI接口采用PLX公司的PCI9030接口芯片使之和雙口RAM緩沖區(qū)進(jìn)行通信。
PCI9030是業(yè)界一個(gè)支持熱交換的PCI目標(biāo)接口芯片,為CompactPCI接口提供了優(yōu)秀的解決方案。它采用SMARTarget技術(shù),可以保證高性能的熱交換實(shí)施功能,可以支持具有熱交換功能的PICMG2.1目標(biāo)設(shè)備,并且符合PCIv2.2規(guī)范所規(guī)定的32位33MHz目標(biāo)接口功能,可以獲得高達(dá)132Mbyte/s的PCI突發(fā)傳輸速度,局部總線操作速度 高可達(dá)60MHz,支持5個(gè)局部地址空間到PCI總線地址空間的映射(空間0、1、2、3、4以及1個(gè)擴(kuò)展的ROM),傳輸?shù)却芷诩翱偩€寬度可編程。另外,PCI9030內(nèi)含預(yù)充電BIOS、早期電源支持、熱交換控制/狀態(tài)寄存器(HS_CSR)和附加引腳資源,可利用這些資源以及ENUM#輸出信號(hào)、彈出開關(guān)和表示用戶插入/取出狀態(tài)的LED燈實(shí)現(xiàn)運(yùn)動(dòng)控制板卡的帶電熱插拔的軟硬件控制。
其硬件結(jié)構(gòu)框圖如圖1所示。該系統(tǒng)由以下幾部分組成:
·?核心處理器TMS320LF2407,主要完成位置速度PID控制、插補(bǔ)迭代運(yùn)算、開關(guān)量輸入和輸出、PLC控制等對(duì)實(shí)時(shí)性要求高的任務(wù),另外還完成程序和數(shù)據(jù)存儲(chǔ)和上下機(jī)的通信任務(wù)。
·?模擬量控制電路,將數(shù)字量速度信號(hào)經(jīng)四路12位數(shù)/模轉(zhuǎn)換芯片DAC7725轉(zhuǎn)換為-10V~10V的模擬信號(hào),輸出到電機(jī)伺服驅(qū)動(dòng)模塊。
·?反饋電路,由兩片CPLD元件EPM7128SLC84構(gòu)成四路12位可逆脈沖計(jì)數(shù)器,對(duì)差分光電編碼器的編碼脈沖進(jìn)行循環(huán)計(jì)數(shù),可實(shí)現(xiàn)編碼器Z相點(diǎn)硬件中斷。
·?FLASH電路,用于存儲(chǔ)數(shù)控參數(shù)和數(shù)控指令代碼,也用于緊急情況下保護(hù)數(shù)據(jù)。
·?開關(guān)量電路,包括通用8/8?I/O點(diǎn)、4個(gè)電機(jī)使能輸出、4個(gè)軸的左右極限輸入和原點(diǎn)中斷輸入等電路。
·?通訊電路,通過PCI接口從模式使3.3V芯片PCI9030和雙口RAM芯片70V24與PC機(jī)的CompactPCI總線相連,可以進(jìn)行高速數(shù)據(jù)傳輸。
本系統(tǒng)是一個(gè)閉環(huán)多軸運(yùn)動(dòng)控制硬件系統(tǒng),具有快速精確的計(jì)算能力以及較強(qiáng)的數(shù)據(jù)通訊能力,是良好的復(fù)雜數(shù)控系統(tǒng)平臺(tái)。
3?CompactPCI接口的設(shè)計(jì)
CompactPCI接口的設(shè)計(jì)要點(diǎn)在于在硬件插拔過程中,不能對(duì)CompactPCI總線產(chǎn)生較大的沖擊,不能影響CompactPCI總線上數(shù)據(jù)傳輸?shù)恼_。所以應(yīng)具有良好的熱電源切換控制電路和相應(yīng)的總線電路以及便于軟件處理熱插拔過程的控制信號(hào)。
電源控制和PCI9030的接口原理框圖如圖2所示。
3.1?PCI9030芯片熱插拔控制信號(hào)的作用
在Compact?PCI規(guī)范中規(guī)定:(1)板卡插入后,硬件初始化過程中應(yīng)點(diǎn)亮藍(lán)燈;(2)板卡即將拔出,軟件能獲知板卡即將拔出,并做好善后工作后,點(diǎn)亮藍(lán)燈。
PCI9030芯片有BD_SEIL#?輸入信號(hào)引腳、ENUM#輸出信號(hào)引腳、CPCISW輸入信號(hào)引腳和LEDON#?輸出信號(hào)引腳,均用作CompactPn接口熱插拔控制信號(hào)。其功能分別如下:
PCI9030的BD_SEL#?輸入信號(hào)引腳同運(yùn)動(dòng)控制卡CompactPCI接口的引腳BD_SEL#相連,當(dāng)BD_SEL#?信號(hào)變高時(shí),使PCI9030輸出引腳成高阻態(tài),保護(hù)芯片。PCI9030的ENUM#?信號(hào)是送到背板的帶上拉的集電極開路信號(hào);它通知背板主機(jī)CPU板卡是剛剛插入,還是即將拔出。并通知CPU系統(tǒng)配置改變,使CPU同時(shí)執(zhí)行相關(guān)必要的軟件操作(在板卡安裝時(shí),安裝設(shè)備驅(qū)動(dòng)程序;在移出板卡前,卸載設(shè)備9B動(dòng)程序)。板卡的插入/拔出狀態(tài)是由CPCISW信號(hào)送到PCI9030完成的,這時(shí),PCI9030通過ENUM#信號(hào)通知背板主饑硬件配置改變情況,同時(shí)主機(jī)CPU執(zhí)行相關(guān)必要的軟件操作。當(dāng)操作結(jié)束時(shí),主機(jī)CPU通過PCI9030將CPCISW信號(hào)寫入HS-CSR寄存器的相應(yīng)位中,使LEDON#?信號(hào)變化,點(diǎn)亮或熄滅藍(lán)燈,通知板卡可安全取出或已安全插入。另外,PCI9030將板卡插入/拔出的狀態(tài)(即CPCISW信號(hào))寫入HS_CSR寄存器的相應(yīng)位中,軟件可以通過這些位來查詢板卡插入/拔出狀態(tài),使軟件可采取各種切換措施,也可以通過向寄存器的相應(yīng)位寫1來清除該位。
3.2?熱插拔電源電路的原理設(shè)計(jì)
3.2.1?熱插拔電源管理器的確定
熱插拔電源電路需在插拔過程中和正常工作時(shí),對(duì)CompactPCI接口板電源進(jìn)行監(jiān)控,按一定的速率及時(shí)地上電和斷電,把該電源的情況及時(shí)通知背板系統(tǒng)以便通過軟件進(jìn)行處理;同時(shí)需對(duì)CompactPCI接口板的總線信號(hào)提供預(yù)充電電壓,使CompaetPCI接插件的插針點(diǎn)的預(yù)充電電壓達(dá)到1V,保證CompactPCI接口板在插拔過程中,對(duì)CompactPCI總線的沖擊很??;另外需對(duì)背板的PCIRST信號(hào)和CompaetPCI接口板的電源好壞情況進(jìn)行邏輯處理來產(chǎn)生該接口板上的LOCAL_PCI_RST信號(hào)。為此,熱插拔電源電路采用了芯片LTCl646作為CompactPCI熱插拔電源管理器。它能夠使線路板在運(yùn)行中的CompactPCI總線插槽內(nèi)安全地插入和拔出。兩個(gè)外部N溝道通路晶體管IRF7413控制3.3V和5V電源,使電源能在電流限制或可設(shè)置速率上電。電子電路斷路器可保護(hù)兩組電源不受過流故障情況的損害。
3.2.2?LTCl646芯片的主要引腳功能
·?LTCl646的3.3V和5V輸入主要來自中等長(zhǎng)度的電源插針。3.3V和5V連接器長(zhǎng)插針在CompactPCI插卡上與中等長(zhǎng)度的3.3V和5V電源插針短接在一起,為L(zhǎng)TCl646的預(yù)充電電路、VI/O上拉電阻和PCI9030芯片提供初期電源。?
CompactPCI背板的連接器插針中有引腳BD_SEL#、HEALTHY#?用于熱插拔電源電路。
·?芯片PWRGD#?信號(hào)引腳輸出指示何時(shí)所有電源電壓都在容許范圍內(nèi),連接于PWRGD#?引腳的HEALTHY#?信號(hào)把板卡電源情況通知背板主機(jī),當(dāng)HEALTHY#?信號(hào)變高時(shí),說明板卡電源情況出了問題。
·?芯片OFF/ON#輸入信號(hào)引腳連接于板卡的BD_SEL#引腳,用來控制開關(guān)板卡電源或?qū)㈦娫磾嗦菲鲝?fù)位。而BD_SEL#信號(hào)應(yīng)通過1.2kΩ電阻上拉至PCI9030的I/O工作電壓VI/O。
·?芯片PRECHARGE引腳用于產(chǎn)生1V的預(yù)充電電壓??稍诎蹇ú灏芜^程中對(duì)總線I/O引腳施加偏置。板卡上需要進(jìn)行預(yù)充電的CompactPCI總線引腳(即接插件J1、J2與CompactPCI接口器件PCI9030連接的引腳)包括:ADO~AD31、C/BEO#~C/BE3#、PAR、FRA?ME#、IRDY#、TRDY#、STOP#、LOCK#、IDSEL、DEVSEL#、PERR#、SERR#。LTCl646產(chǎn)生的預(yù)充電信號(hào)經(jīng)過較大的10kΩ電阻上拉至預(yù)充電電壓(PRECHARGE?OUT)。而BD_SEL#、ENUM#、INTA#信號(hào)應(yīng)上拉至PCI9030的I/O工作電壓VI/O。
·?芯片的RESETIN#引腳輸入信號(hào)PCI_RST#,在片內(nèi)與HEALTHY#信號(hào)進(jìn)行邏輯結(jié)合,從而在引腳RESETOUT#生成LOCAL_PCI_RST#信號(hào)送到PCI9030芯片的PCI_RST#信號(hào)引腳,用來在任一組電源超出范圍時(shí)對(duì)板卡和芯片PCI9030進(jìn)行復(fù)位。
3.2.3在LTCl646芯片控制下CompactPCI接口板的上電順序?
當(dāng)插卡插入時(shí),長(zhǎng)3.3V和5V連接器插針以及長(zhǎng)GND插針一先接觸。LTCl646預(yù)充電電路在插入階段將總線I/O插針偏置為1V。3.3V和5V中等長(zhǎng)度的電源插針在插入的下一個(gè)階段接觸,但只要OFF/ON#引腳被1.2kΩ上拉電阻拉到VI/O,線路板電源則被關(guān)斷。在線路板插入的 后階段,BD_SEL#?短連接器插針開始接觸,OFF/ON#?引腳被拉低。這使得通路晶體管導(dǎo)通;并且在內(nèi)部有一個(gè)5μA電流源與TIMER引腳連接。時(shí)每個(gè)通路晶體管的電流開始增加,直至增加到各自的電流限值;然后,3.3V和5V電源被允許按一定的速率上電,一旦兩組電壓都在容差范圍之內(nèi),HEALTHY#?將拉低,LOCAL_PCI_RST#可自由跟隨PCI_RST#。
3.2.4在LTCl646芯片控制下CompactPCI接口板的斷電順序
當(dāng)BD_SEL#?被拉高時(shí)則開始一個(gè)斷電過程。LTCl646內(nèi)部開關(guān)被連接于每個(gè)輸出電源電壓引腳,使旁路電容器向地放電。TIMER引腳立即被拉低。GATE引腳被一個(gè)200μA的電流源拉低,?以防止3.3V和5V電源上的負(fù)載電流同時(shí)變?yōu)榱銖亩鴮?duì)電源電壓造成干擾。當(dāng)任一輸出電壓跌落在門限以下時(shí),HEALTHY#?引腳被拉高,LOCAL_PCI_RST#?將被確定為低。
一旦斷電過程完成,插卡就可以從插槽內(nèi)取出。在拔出期間,預(yù)充電電路繼續(xù)將總線I/O插針偏置為1V,直到5V和3.3V長(zhǎng)連接器插針分開。
3.3?CompactPCI接口設(shè)計(jì)的其它電氣措施
·?熱插拔板卡在帶電拔插過程中,為了保護(hù)板卡免遭靜電損壞,必須進(jìn)行靜電放電。所以,必須在板卡上設(shè)計(jì)放電條。
·?為了減小板卡上的CompactPCI總線的信號(hào)線分支對(duì)總線的影響,必須對(duì)CompactPCI總線信號(hào)進(jìn)行串聯(lián)電阻匹配。需要加串聯(lián)匹配電阻的引腳包括:AD0~AD31、C/BE0#~C/BE3#、PAR、FRAME#、IRDY#、TRDY#、STOP#、LOCK#、IDSEL、DEVSEL#、PERR#、SERR#?以及?INTA#。根據(jù)CompactPCI規(guī)范,對(duì)CompactPCI的信號(hào)線長(zhǎng)度和到預(yù)充電電阻的分支線的長(zhǎng)度必須進(jìn)行限制(PCB的布線特征阻抗應(yīng)設(shè)計(jì)為65Ω±10%)。線的長(zhǎng)度越短,對(duì)CompactPCI總線的沖擊越小。在CompactPCI接口板上,對(duì)于預(yù)充電的信號(hào),從接插件J1n或J2到PCI9030器件管腳,總的信號(hào)線長(zhǎng)度應(yīng)小于38.1mm。其中,從接插件插針到串聯(lián)電阻的PCB連線長(zhǎng)度應(yīng)小于15.2mm,預(yù)充電電阻的分支長(zhǎng)度 好是零, 長(zhǎng)不能超過2.5mm。?
·?為了減少插拔過程中由電容產(chǎn)生的浪涌電流并避免接插件燒損,必須限制濾波電容總量。
位置數(shù)控板卡的CompactPCI接口的設(shè)計(jì)是網(wǎng)絡(luò)運(yùn)動(dòng)控制系統(tǒng)發(fā)展的必然要求,通過帶熱插拔的Compact-PCI接口總線的上下機(jī)聯(lián)接,使網(wǎng)絡(luò)運(yùn)動(dòng)控制系統(tǒng)具有更高的可靠性和帶電更換故障板卡的能力。