国产色频,国产网站精品,成人在线综合网,精品一区二区三区毛片,亚洲无卡视频,黄色av观看,亚洲福利影视

基于Freescale16位DSP的CAN總線(xiàn)通信

2018-06-11 17:01:04 電氣技術(shù)  點(diǎn)擊量: 評(píng)論 (0)
本文介紹了CAN總線(xiàn)通信協(xié)議的特點(diǎn)和Motorola DSP56F807 內(nèi)置的用于實(shí)現(xiàn)CAN通信的MSCAN模塊,并通過(guò)Processor Expert軟件開(kāi)發(fā)包編程說(shuō)明了MSCAN模塊的應(yīng)用。

CAN (Controller Area Network)即控制器局域網(wǎng),是德國(guó)BOSCH 公司在20世界80年代初為解決現(xiàn)代汽車(chē)中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開(kāi)發(fā)的一種串行數(shù)據(jù)通信協(xié)議。CAN 總線(xiàn)卓越的特性、極高的可靠性和獨(dú)特的設(shè)計(jì),特別適合工業(yè)過(guò)程監(jiān)控設(shè)備的互聯(lián),因此受到工業(yè)界的重視,其應(yīng)用范圍已經(jīng)遍及工業(yè)控制自動(dòng)化、汽車(chē)自動(dòng)化、機(jī)械工業(yè)、樓宇自動(dòng)化等非常廣泛的場(chǎng)合,成為最有前途的現(xiàn)場(chǎng)總線(xiàn)之一。

1 CAN總線(xiàn)的特點(diǎn)

CAN (Controller Area Network)總線(xiàn)是一種多主站控制器局域網(wǎng)總線(xiàn).CAN 總線(xiàn)與一般的通信總線(xiàn)相比,具有獨(dú)特的設(shè)計(jì)思想,良好的功能特性,極高的可靠性、實(shí)時(shí)性和靈活性,突出的現(xiàn)場(chǎng)抗干擾能力。

其特點(diǎn)可主要有:⑴ 通信方式靈活,為多主方式工作。⑵ 網(wǎng)絡(luò)上的節(jié)點(diǎn)信息分成不同的優(yōu)先級(jí),可滿(mǎn)足不同的實(shí)時(shí)要求。⑶ 只需通過(guò)報(bào)文濾波即可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)及全局廣播等幾種方式發(fā)送接收數(shù)據(jù),無(wú)需專(zhuān)門(mén)的“調(diào)度”。⑷ 采用非破壞性總線(xiàn)仲裁技術(shù)。⑸ CAN通信格式采用短幀格式,每幀字節(jié)數(shù)最多為8個(gè)。⑹ 直接通信距離最遠(yuǎn)可達(dá)10 km(速率5 kb/s以下);通信速率最高可達(dá)1 Mb/s(此時(shí)通信距離最長(zhǎng)為40 m)。⑺ 網(wǎng)絡(luò)上的節(jié)點(diǎn)數(shù)主要取決于總線(xiàn)驅(qū)動(dòng)電路,可達(dá)110個(gè),報(bào)文標(biāo)識(shí)符可達(dá)2032種(CAN2.0A)。而擴(kuò)展格式(CAN2.0B)的報(bào)文標(biāo)識(shí)符幾乎不受限制。⑻ CAN 總線(xiàn)通信接口中集成了CAN 協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對(duì)通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢查、優(yōu)先級(jí)判別等項(xiàng)工作。⑼ CAN 的每幀信息都有CRC校驗(yàn)及其他檢錯(cuò)措施,并可提供相應(yīng)的錯(cuò)誤處理功能,保證了數(shù)據(jù)通信的可靠性。⑽ 通信介質(zhì)可為雙絞線(xiàn)、同軸電纜或光纖。⑾ 通信節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出功能,以使總線(xiàn)上其他節(jié)點(diǎn)操作不受影響。

一個(gè)有效的數(shù)據(jù)幀由幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)、校驗(yàn)場(chǎng)、應(yīng)答場(chǎng)和幀結(jié)束組成。CAN2.OB協(xié)議規(guī)定的兩種不同的幀格式,即標(biāo)準(zhǔn)格式和擴(kuò)展格式,它們的主要區(qū)別在于仲裁場(chǎng)格式不同,標(biāo)準(zhǔn)幀的仲裁場(chǎng)由11位標(biāo)識(shí)符和遠(yuǎn)程發(fā)送請(qǐng)求位RTR組成。擴(kuò)展幀的仲裁場(chǎng)由29位標(biāo)識(shí)符和替代遠(yuǎn)程請(qǐng)求SRR位、標(biāo)志位和遠(yuǎn)程發(fā)送請(qǐng)求位RTR組成。如圖1所示。

2 控制器的CAN模塊通信

圖1 CAN數(shù)據(jù)幀結(jié)構(gòu)

DSP56F807芯片本身帶有的CAN 控制模塊MSCAN(Motorola Scalable Controller Area Network)是一個(gè)完全的CAN控制器,完全支持CAN2.OA/B協(xié)議。

MSCAN模塊主要由時(shí)鐘單元,發(fā)送緩沖區(qū)、接受緩沖區(qū)、接受過(guò)濾控制組成。CAN控制器必須通過(guò)CAN驅(qū)動(dòng)芯片才能與CAN 總線(xiàn)相連,DSP56F807芯片的EVM 板上內(nèi)置驅(qū)動(dòng)芯片PCA82C250。本文使用兩臺(tái)PC機(jī)和兩塊DSP56F807EVM板完成了一個(gè)簡(jiǎn)單的MSCAN通信測(cè)試程序,一塊EVM板把AD采集來(lái)的數(shù)據(jù)通過(guò)CAN總線(xiàn)發(fā)送出去,另一塊EVM板完成數(shù)據(jù)的接收。圖2為硬件連接總體結(jié)構(gòu)圖。

2.1 初始化MSCAN

Processor Expert(簡(jiǎn)稱(chēng)PE)是由捷克的UNIS公司開(kāi)發(fā)的針對(duì)Freescale單片機(jī)和DSP的嵌入式軟件開(kāi)發(fā)包, 它集成在CodeWarrior7.0開(kāi)發(fā)軟件中。Processor Expert是在SDK的基礎(chǔ)上發(fā)展起來(lái)的,它提供了各種類(lèi)型的Bean。PE采用面向?qū)ο蟮挠脩?hù)接口,用戶(hù)通過(guò)Bean庫(kù)的選擇窗口來(lái)選擇并添加工程所需要的Bean,然后對(duì)這些Bean的屬性進(jìn)行設(shè)置、對(duì)方法和事件進(jìn)行代碼編輯。在設(shè)置好Bean以后,還要編寫(xiě)主程序來(lái)組織這些Bean從而完成自己的工程。

在工程中加入Init_MSCAN Bean,打開(kāi)Bean屬性設(shè)置窗口,如圖3。在完成屬性設(shè)置后,PE會(huì)自動(dòng)生成CAN1_Init()函數(shù),里面包含了MSCAN模塊控制寄存器的初始化設(shè)置。

void CAN1_Init(void)

{

setRegBit(CANCTL0, SFTRES);

......

setReg16(CANBTR0, 9);

setReg16(CANBTR1, 35);

setReg16(CANCTL1, 128);

clrRegBit(CANCTL0, SFTRES);

setReg16(CANRIER, 0);

setReg16(CANTCR, 0);

setReg16(CANCTL0, 0);

}

2.2 MSCAN發(fā)送程序

MSCAN模塊具有三發(fā)送緩沖器結(jié)構(gòu),這樣的發(fā)送結(jié)構(gòu)允許預(yù)先安排多個(gè)等待發(fā)送的信息,可獲得最優(yōu)化的實(shí)時(shí)性能。每個(gè)發(fā)送緩沖器帶有一個(gè)優(yōu)先級(jí)寄存器(TBPR),用戶(hù)可以通過(guò)編程確定信息發(fā)送的順序。

CPU通過(guò)一組發(fā)送緩沖器空標(biāo)志位(TXE [2:0]),確認(rèn)有效的發(fā)送緩沖器,當(dāng)標(biāo)志位為1時(shí),CPU將標(biāo)識(shí)符、控制位和數(shù)據(jù)內(nèi)容存儲(chǔ)到發(fā)送緩沖器中,并將該標(biāo)志位清零。當(dāng)標(biāo)志位再次置為1時(shí),說(shuō)明緩沖器成功地發(fā)送了信息,并產(chǎn)生發(fā)送中斷,重裝發(fā)送緩沖器。圖4為CAN總線(xiàn)發(fā)送程序流程圖。

2.3 MSCAN接受程序

MSCAN具有雙緩沖器的接收結(jié)構(gòu),兩個(gè)緩沖器輪流映射到一個(gè)存儲(chǔ)器區(qū)域。后臺(tái)的接收緩沖器(RxBG)單獨(dú)地與MSCAN相聯(lián)系,而CPU只能訪(fǎng)問(wèn)前臺(tái)的接收緩沖器(RxFG),這一結(jié)構(gòu)簡(jiǎn)化了軟件的處理過(guò)程。

當(dāng)MSCAN控制器接收信息時(shí),先將要接收的信息的標(biāo)識(shí)符與接收緩沖器的標(biāo)識(shí)符進(jìn)行比較,只有標(biāo)識(shí)符相同的信息才能被接收。MSCAN控制器的接收濾波器使得接收緩沖器可以忽略更多的位來(lái)接收信息,即如果只有被屏蔽的那幾位標(biāo)識(shí)符不相符,則接收緩沖器仍能接收此信息,此程序?yàn)闇y(cè)試程序,忽略了標(biāo)識(shí)符的過(guò)濾,只要有數(shù)據(jù)就接收。這里用了一個(gè)Printf 語(yǔ)句來(lái)顯示接收數(shù)據(jù)處理后的電壓值,用以和實(shí)際電壓值相比較。圖5為數(shù)據(jù)接收程序流程圖。

3 試驗(yàn)結(jié)果

在PC機(jī)上分別運(yùn)行發(fā)送和接收程序,通過(guò)不斷調(diào)節(jié)電位器,可以看到兩塊EVM板的測(cè)試等以同樣的順序點(diǎn)亮或熄滅。同時(shí),在接收程序端,PC機(jī)顯示出隨電位器電壓變化而變化的電壓數(shù)據(jù)。CAN總線(xiàn)接收數(shù)據(jù)顯示如圖4。

4 結(jié)論

本文將CAN總線(xiàn)通信應(yīng)用在實(shí)際的步進(jìn)電機(jī)伺服控制系統(tǒng)中,上位機(jī)采用個(gè)人PC機(jī),使用三純科技有限公司的總線(xiàn)通信卡SC2102,下位機(jī)采用Motorola公司的嵌入式控制器DSP56F807,采用CAN總線(xiàn)完成上位機(jī)與下位機(jī)之間的通信任務(wù),傳輸速率可高達(dá)1 Mb/s,可以達(dá)到系統(tǒng)對(duì)于實(shí)時(shí)性的要求,同時(shí)也能達(dá)到系統(tǒng)對(duì)于穩(wěn)定性的要求。

大云網(wǎng)官方微信售電那點(diǎn)事兒

責(zé)任編輯:售電衡衡

免責(zé)聲明:本文僅代表作者個(gè)人觀點(diǎn),與本站無(wú)關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
我要收藏
個(gè)贊
?