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