數(shù)字繼電保護(hù)系統(tǒng)中CAN總線通信的實現(xiàn)
1 CAN總線在數(shù)字保護(hù)系統(tǒng)中應(yīng)用的可行性分析
CAN總線是一種多主總線,即每個節(jié)點機(jī)均可成為主機(jī),且節(jié)點機(jī)之間也可進(jìn)行通信,總線上各個節(jié)點共享通信介質(zhì),因此必須解決各節(jié)點競爭使用總線而引起的沖突問題。CAN總線采用了一種獨(dú)特的基于報文靜態(tài)優(yōu)先級的非破壞性帶沖突檢測的載波偵聽多路訪問(Nondestructive CSMA/CD)總線仲裁技術(shù)[3]。
報文的頭部識別符定義一個靜態(tài)的報文優(yōu)先級。只要總線空閑,任何節(jié)點都可以開始發(fā)送報文。如果2個或2個以上的節(jié)點同時開始傳送報文,此時就會出現(xiàn)總線訪問沖突。通過識別符的按位仲裁可以解決這個沖突。仲裁期間,每一個發(fā)送器都對發(fā)送位的電平與被偵聽的總線電平進(jìn)行比較。如果電平相同,則這個節(jié)點可以繼續(xù)發(fā)送;如果不同,退出發(fā)送。
CAN總線上電平用“顯性”(邏輯“0”)和“隱性”(邏輯“1”)來表示,當(dāng)同時出現(xiàn)“顯性”和“隱性”時,其結(jié)果是總線電平呈“顯性”。如果節(jié)點1發(fā)送的是“隱性”電平而節(jié)點2發(fā)送的是“顯性”電平,兩節(jié)點偵聽到的總線電平則是“顯性”,這樣節(jié)點1就失去了仲裁,必須退出發(fā)送狀態(tài),而節(jié)點2贏得仲裁可以繼續(xù)不受影響地發(fā)送報文。CAN總線這種非破壞性總線仲裁機(jī)制確保了報文和時間均不損失。
除了上述非破壞性總線仲裁機(jī)制的特點,CAN總線還具有如下顯著的特點[4]:① CAN總線具有完善的錯誤處理機(jī)制,包括偵聽、CRC校驗、位填充技術(shù)、幀格式檢查等以及一些相應(yīng)的準(zhǔn)則。CAN總線上,任何檢測到錯誤的節(jié)點都會發(fā)出一串稱為“錯誤標(biāo)志”的位流,標(biāo)記出已損壞的報文。此報文會失效并將自動地開始重新傳送。 因此,它的可靠性很高。
?、?數(shù)據(jù)段長度最多為8個字節(jié),不會占用總線時間過長,從而保證了通信的實時性。如MCP2510 CAN控制器的串行速率為1M,最長報文發(fā)送時延為64µs(8×8/1=64)。但這同時也反映了其不適于傳輸長報文的局限性。
考慮到數(shù)字繼電保護(hù)系統(tǒng)中的開關(guān)量信號,包括斷路器位置狀態(tài)信號、保護(hù)投入信號、分合閘與報警信號等,都是幾個字節(jié)的小數(shù)據(jù)量信息,但是對實時性和可靠性要求很高,在保護(hù)系統(tǒng)中應(yīng)用CAN總線傳輸開關(guān)量信號,可以充分發(fā)揮CAN總線的技術(shù)優(yōu)勢。
2 DSP的McBSP與CAN控制器接口的設(shè)計
CAN總線通信模塊由MICROCHIP公司的CAN總線控制器MCP2510[5]和TI公司CAN總線收發(fā)器SN65HVD232[6]組成,如圖1所示。MCP2510是帶SPI接口的CAN控制器,與CAN2.0A/B協(xié)議兼容,支持CAN1.2、CAN2.0A、CAN2.0B的被動/主動版本協(xié)議,實現(xiàn)CAN總線的邏輯鏈路控制和介質(zhì)訪問控制,能夠發(fā)送、接收標(biāo)準(zhǔn)和擴(kuò)展報文,位速率可達(dá)1Mbps,它還具有驗收過濾和消息管理的功能,包括3個發(fā)送緩沖器和2個接收緩沖器,減少了微控制器(MCU)管理的負(fù)擔(dān)。SN65HVD232是CAN協(xié)議控制器和物理總線的驅(qū)動接口,為總線提供不同的發(fā)送能力和對CAN控制器提供不同的接收能力,與ISO11898標(biāo)準(zhǔn)兼容。
本文選用TI公司高性能C54系列的DSP作為控制核心,型號為TMS320VC5410A,工作主頻160MHz。TMS320VC5410A提供高速、雙向、多通道帶緩沖串行接口McBSP與MCP2510的SPI(工業(yè)標(biāo)準(zhǔn)串行外圍接口)接口,兩者連接關(guān)系如圖2所示。
McBSP功能強(qiáng)大,結(jié)構(gòu)復(fù)雜,要實現(xiàn)二者的通信,關(guān)鍵要對McBSP的各寄存器進(jìn)行合理配置,包括主從方式選擇,時鐘信號、幀同步信號的產(chǎn)生,數(shù)據(jù)收發(fā)的沿邊選擇,時序配合等,下面分別加以論述。
時鐘與幀同步信號的連接關(guān)系表明McBSP工作在主(Master)方式,MCP2510 工作在從(Slave)方式。McBSP的發(fā)送時鐘由DSP內(nèi)部采樣率發(fā)生器產(chǎn)生(發(fā)送時鐘模式位CLKXM=1),采樣率發(fā)生器時鐘由DSP內(nèi)部時鐘產(chǎn)生(采樣率發(fā)生器時鐘模式位CLKSM=1),McBSP的接收時鐘由發(fā)送時鐘驅(qū)動(接收時鐘模式位CLKRM=0),MCP2510的時鐘由McBSP給出,總之,所有的時鐘源頭是DSP的內(nèi)部時鐘;同時,發(fā)送幀同步信號FSX由McBSP內(nèi)部寄存器DXR向XSR的數(shù)據(jù)拷貝動作產(chǎn)生(發(fā)送幀同步模式位FSXM=1,采樣率發(fā)生器發(fā)送幀同步模式位FSGM=0),接收幀同步信號由發(fā)送幀同步信號驅(qū)動(接收幀同步模式位FSRM=0)。
根據(jù)如圖3所示的內(nèi)部連接圖中時鐘和同步信號流程分析,McBSP內(nèi)部時鐘信號(Internal CLKX、Internal CLKR)、幀同步信號(Internal FSX、Internal FSR)與MCP2510的時鐘信號、片選信號同步產(chǎn)生與停止。McBSP內(nèi)部發(fā)送幀同步信號Internal FSX是從低電平跳到高電平,而與之相連的MCP2510片選信號是高電平跳到低電平有效,相位相反,故McBSP內(nèi)部寄存器的發(fā)送幀同步信號極性位FSXP=1,而McBSP內(nèi)部幀同步信號Internal FSR與Internal FSX必須一致,故Internal FSR也必須和MCP2510片選信號反相,接收幀同步信號極性位FSRP=1。
McBSP在內(nèi)部發(fā)送時鐘Internal CLKX的上升沿發(fā)送數(shù)據(jù),而在內(nèi)部接收時鐘Internal CLKR的下降沿接收數(shù)據(jù)。反之,MCP2510在外部時鐘CLK的上升沿接收數(shù)據(jù),在外部時鐘CLK的下降沿發(fā)送數(shù)據(jù)。根據(jù)前面對時鐘與幀同步信號的分析可知:Internal CLKX、Internal CLKR與CLK為同一時鐘,要保證可靠收發(fā)數(shù)據(jù),必須配置發(fā)送時鐘極性位CLKXP=1(Internal CLKX 與 CLKX反相)和接收時鐘極性位CLKRP=1(Internal CLKR 與 CLKR反相)。這樣,一方在上升沿發(fā)送,另一方在下降沿接收,通信可靠;否則雙方在同一時鐘的同一邊沿收發(fā)數(shù)據(jù),不能保證可靠通信。
3 通信軟件流程設(shè)計
DSP通過McBSP與MCP2510的SPI接口傳送數(shù)據(jù)。MCP2510的發(fā)送寄存器作為發(fā)送緩沖區(qū)的映射寄存器,DSP通過訪問發(fā)送寄存器將數(shù)據(jù)傳送到發(fā)送緩沖區(qū)。MCP2510有6個過濾器,CAN總線上通過接收過濾器過濾的數(shù)據(jù)首先被放到接收緩沖區(qū)中。接收寄存器作為接受緩沖區(qū)的映射寄存器,DSP通過訪問接收寄存器來接受緩沖區(qū)中的數(shù)據(jù)。
DSP與MCP2510之間的通信過程分兩步:① 按照以上分析得出的結(jié)論對McBSP的控制寄存器配置,發(fā)送過程為:將數(shù)據(jù)寫入McBSP的發(fā)送寄存器DXR,然后通過發(fā)送移位寄存器XSR將數(shù)據(jù)經(jīng)引腳BDX移出發(fā)送,接收過程為:通過McBSP引腳BDR接收的數(shù)據(jù)移入接收移位寄存器RSR,并復(fù)制這些數(shù)據(jù)到接收緩沖寄存器RBR,然后再復(fù)制到接受寄存器DRR,最后由DSP讀入。② McBSP與MCP2510之間的通信按照McBSP內(nèi)部配置好的時鐘、幀同步信號交換數(shù)據(jù)。
為了提高通信效率,DSP發(fā)送采取主動發(fā)送方式,由DSP的HD口(配置為IO口)和MCP2510的TXRTS端相連,以選擇發(fā)送緩沖單元,發(fā)送流程如圖4所示;而接收采取中斷方式,一旦MCP2510接收緩沖器滿,則發(fā)中斷信號給DSP,通知DSP讀取數(shù)據(jù),接收流程如圖5所示。
4 結(jié)語
本文針對CAN總線短字節(jié)通信實時性好、可靠性高的特點,分析了CAN總線在數(shù)字保護(hù)系統(tǒng)中的應(yīng)用可行性,給出了DSP的McBSP與CAN控制器接口的硬件配置方案和軟件設(shè)計流程。在數(shù)字保護(hù)系統(tǒng)中實際通信試驗所得到的數(shù)據(jù)證明CAN通信方案高效可靠,能夠滿足數(shù)字繼電保護(hù)對實時通信的要求,充分發(fā)揮了CAN總線的優(yōu)點。
本文作者創(chuàng)新點:針對CAN總線的特點論述了數(shù)字繼電保護(hù)中CAN總線應(yīng)用的可行性,詳細(xì)分析了TMS320VC54X DSP的高速、雙向、多通道帶緩沖串行接口McBSP的內(nèi)部時鐘和同步信號流程,由此得出McBSP與CAN控制器接口的主從方式選擇,時鐘信號、幀同步信號的產(chǎn)生,數(shù)據(jù)收發(fā)的沿邊選擇,時序配合等寄存器關(guān)鍵位的配置。