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