CAN智能節(jié)點(diǎn)的設(shè)計(jì)
摘要:CAN總線是一種流行的實(shí)時(shí)性現(xiàn)場總線,文中提出了一種基于MSP430單片機(jī),并以MCP2510為CAN控制器的智能節(jié)點(diǎn)設(shè)計(jì)方案,該方案利用MSP430通過標(biāo)準(zhǔn)SPI接口可實(shí)現(xiàn)對(duì)MCP2510的控制,并能夠完全實(shí)現(xiàn)CAN總線規(guī)范。
本文引用地址:http://www.ex-cimer.com/article/161783.htm1 引言
CAN總線是控制器局域網(wǎng)(Controller Area Net-work)總線的簡稱,它屬于現(xiàn)場總線范疇,是一種能有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò),它可將掛接在現(xiàn)場總線上作為網(wǎng)絡(luò)節(jié)點(diǎn)的智能設(shè)備連接成網(wǎng)絡(luò)系統(tǒng),并進(jìn)一步構(gòu)成自動(dòng)化系統(tǒng),從而實(shí)現(xiàn)基本的控制、補(bǔ)償、計(jì)算、參數(shù)修改、報(bào)警、顯示、監(jiān)控、優(yōu)化及控管一體化的綜合自動(dòng)化功能。
CAN總線智能節(jié)點(diǎn)在分布式控制系統(tǒng)中起著承上啟下的作用。它位于傳感器和執(zhí)行機(jī)構(gòu)所在的現(xiàn)場,一方面和上位機(jī)(PC或者工控機(jī))進(jìn)行通信,以完成數(shù)據(jù)交換;另一方面又可根據(jù)系統(tǒng)的需要對(duì)現(xiàn)場的執(zhí)行機(jī)構(gòu)或者傳感器進(jìn)行控制和數(shù)據(jù)采集。它常常將一些簡單的過程控制程序放在底層模塊中,從而減少了通信量,提高了系統(tǒng)控制的實(shí)時(shí)性。因此,智能化模塊設(shè)計(jì)在CAN系統(tǒng)中有著十分重要的作用。
本文將給出一種用MSP430單片機(jī)和MCP2510 CAN控制器組成的總線智能節(jié)點(diǎn)的設(shè)計(jì)方案(見圖1),該方案中的單片機(jī)和CAN控制器通過標(biāo)準(zhǔn)的SPI接口進(jìn)行通信,因此,該節(jié)點(diǎn)能夠完成對(duì)被控器件的數(shù)據(jù)采集上報(bào),并接受上位機(jī)的命令,進(jìn)而進(jìn)行解析以完成對(duì)執(zhí)行機(jī)構(gòu)的控制。為了調(diào)試簡單,本方案作了一些改動(dòng):一是使MCP2510工作在環(huán)回模式,也就是數(shù)據(jù)由發(fā)送緩存直接發(fā)送到接收緩存,由于不經(jīng)過CAN收發(fā)器和CAN總線,而只是使用了它的一個(gè)發(fā)送緩存和一個(gè)接收緩存,因而方便了調(diào)試;二是把被控器件的數(shù)據(jù)采集和對(duì)執(zhí)行機(jī)構(gòu)的控制部分略去,而這些功能在以后可以方便地添加,這樣,在實(shí)際使用時(shí),只要對(duì)程序稍作修改就可應(yīng)用。
2 硬件設(shè)計(jì)
本設(shè)計(jì)的整個(gè)接口模塊主要由兩部分組成:CAN控制器MCP2510和微控制器MSP430。圖2所示是該智能節(jié)點(diǎn)的部分電路硬件原理圖。下面對(duì)主要部分功能作一介紹。
2.1 MSP430F1232簡介
MSP430系列微控制器是TI公司推出的功能強(qiáng)大的超低功耗16位微處理器。它集成了豐富的片上外圍資源,因而開發(fā)方式十分簡便,可以用C語言編寫出效率很高的程序。所選MSP430F1232的工作電壓為1.8~3.6V,內(nèi)含8kB FLASH存儲(chǔ)空間。片內(nèi)集成了看門狗定時(shí)器(WTD)、基本時(shí)鐘模塊、US-ART、10位ADC、和帶有3個(gè)捕獲/比較器的16位定時(shí)器,因而片上資源十分豐富,完全可以滿足一般的需要,同時(shí)減少了設(shè)計(jì)的復(fù)雜度。與其它單片機(jī)相比,MSP430的I/O端口功能更強(qiáng),可實(shí)現(xiàn)雙向的輸入、輸出,并可完成一些特殊的功能,如A/D轉(zhuǎn)換、捕獲比較等;另外,它還可以實(shí)現(xiàn)I/O的各種中斷。
本設(shè)計(jì)中,MSP430的作用有兩個(gè):一是對(duì)執(zhí)行機(jī)構(gòu)的控制以及對(duì)輸入模擬量或者開關(guān)量的信號(hào)采集;二是利用UART模塊通過SPI模式與MCP2510通信并控制MCP2510以實(shí)現(xiàn)CAN規(guī)范。
2.2 MCP2510簡介 由于MSP430的時(shí)鐘頻率決定著指令周期,因而該時(shí)鐘直接影響SPI接口的速率。MSP430F1232有兩個(gè)可選的時(shí)鐘:一是外部低速32.768kHz的時(shí)鐘晶體;二是采用內(nèi)部數(shù)控DCO的可調(diào)頻率。本設(shè)計(jì)直接采用它內(nèi)部的數(shù)控DCO作為它的主時(shí)鐘MCLK和SMCLK,由于直接工作在800kHz,因而免去了使用晶體。MCP2510采用標(biāo)準(zhǔn)的4MHz晶體。MSP430中USART模塊的CLK可由系統(tǒng)時(shí)鐘分頻得到,速率設(shè)定也十分方便。實(shí)際上,MCP2510輸出到總線的速率也可通過設(shè)置內(nèi)部寄存器的控制分頻系數(shù)來調(diào)節(jié)。
評(píng)論