亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MCP2515的CAN總線通信單元設(shè)計(jì)

        2015-11-09 21:22:07丁雪靜許永輝
        現(xiàn)代電子技術(shù) 2015年21期
        關(guān)鍵詞:CAN總線

        丁雪靜+++許永輝

        摘 要: CAN總線接口芯片MCP2515采用SPI接口,具有體積小、低功耗、功能完善、使用方便等特點(diǎn)。為了實(shí)現(xiàn)基于該接口芯片的CAN總線通信單元設(shè)計(jì),采用DSP+FPGA架構(gòu),在FPGA內(nèi)部實(shí)現(xiàn)SPI接口邏輯和MCP2515指令轉(zhuǎn)換邏輯,以完成不同的SPI指令,在DSP中接收上位機(jī)指令和完成對(duì)MCP2515的控制。實(shí)際測(cè)試結(jié)果表明,該通信單元設(shè)計(jì)合理,運(yùn)行穩(wěn)定,滿足了實(shí)際需求。

        關(guān)鍵詞: CAN總線; MCP2515; SPI; DSP

        中圖分類號(hào): TN915?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)21?0060?04

        Design of CAN bus communication unit based on MCP2515

        DING Xuejing, XU Yonghui

        (Department of Automatic Test and Control, Harbin Institute of Technology, Harbin 150001, China)

        Abstract: The CAN bus interface chip MCP2515 with SPI interface has the characteristics of small volume, low power consumption, perfect function and convenient use. To realize the design of CAN bus communication unit based on this interface chip, the DSP + FPGA framework is adopted in this design. The SPI interface logic and MCP2515 instruction transformation logic are achieved in FPGA to accomplish the different SPI commands. The upper computer instructions are received and the control to MCP2515 is finished in DSP. The practical test results show that the communication unit has reasonable design and stable operation, which meets the actual needs.

        Keywords: CAN bus; MCP2515; SPI; DSP

        CAN作為一種性能可靠的串行通信協(xié)議,主要應(yīng)用于工業(yè)自動(dòng)化、醫(yī)療設(shè)備和工業(yè)設(shè)備等方面領(lǐng)域。MCP2515[1]是一款獨(dú)立控制器局域網(wǎng)協(xié)議控制器,該控制器完全支持CAN V2.0B技術(shù)規(guī)范,通信速率最大為1 Mb/s,能夠發(fā)送和接收標(biāo)準(zhǔn)和擴(kuò)展的數(shù)據(jù)幀及遠(yuǎn)程幀等多種幀格式。同時(shí)擁有2個(gè)接收緩沖器,可優(yōu)先存儲(chǔ)報(bào)文,6個(gè)29位驗(yàn)收濾波寄存器,2個(gè)29位驗(yàn)收屏蔽寄存器,3個(gè)發(fā)送緩沖器,具有優(yōu)先級(jí)設(shè)定及發(fā)送終止功能,并且該器件具有體積小,采用低功耗CMOS技術(shù)等特點(diǎn)。基于MCP2515的功能特點(diǎn),本文介紹了基于該控制器的CAN總線通信單元設(shè)計(jì)。

        1 CAN通信單元總體設(shè)計(jì)

        為實(shí)現(xiàn)CAN通信,并對(duì)其進(jìn)行實(shí)時(shí)的程控,本模塊利用LabWindows/CVI作為上位機(jī),設(shè)計(jì)用戶控制面板,進(jìn)行不同CAN節(jié)點(diǎn)之間的數(shù)據(jù)交互以及波特率設(shè)置等。同時(shí),采用DSP+FPGA架構(gòu)進(jìn)行CAN通信單元設(shè)計(jì),MCP2515通過(guò)SPI接口與FPGA進(jìn)行連接,并在FPGA內(nèi)部進(jìn)行SPI接口邏輯和指令轉(zhuǎn)換邏輯設(shè)計(jì),在DSP中接收上位機(jī)命令和對(duì)MCP2515的控制。在電路設(shè)計(jì)時(shí),利用TJA1050作為高速CAN收發(fā)器,由此,完成CAN總線通信單元的整體設(shè)計(jì),如圖1所示。

        2 CAN通信單元硬件設(shè)計(jì)

        根據(jù)CAN通信原理[2],設(shè)計(jì)了硬件電路圖。在電路設(shè)計(jì)中,采用由無(wú)源陶瓷振蕩器、起振電容、反饋電阻等構(gòu)成皮爾斯(Pierce)式振蕩電路,晶振頻率取16 MHz,與此對(duì)應(yīng)的起振電容的推薦值為22 pF。采用TJA1050作為CAN收發(fā)器[3],該器件采用了SOI技術(shù)可以有效降低電磁輻射,并且具有瞬態(tài)保護(hù)和熱保護(hù)功能,具有較強(qiáng)的抗電磁干擾能力??紤]到該通信單元工作場(chǎng)合的電磁環(huán)境惡劣,同時(shí)可能存在潛在的共模電壓干擾,因此在CAN控制器和收發(fā)器增加了信號(hào)隔離電路,此外,對(duì)CAN收發(fā)器的供電電壓也做了隔離處理。

        CAN通信接收通道和發(fā)送通道分別采用HCPL0631和HCPL063L高速光耦隔離器進(jìn)行信號(hào)隔離,消除CAN總線節(jié)點(diǎn)之間的電磁干擾。本設(shè)計(jì)采用Altium Designer Winter 09進(jìn)行原理圖設(shè)計(jì)和PCB設(shè)計(jì)。

        2.1 CAN控制器MCP2515

        MCP2515是一款獨(dú)立的CAN控制器,該器件由3部分構(gòu)成:CAN通信協(xié)議模塊;CAN通信控制邏輯模塊;SPI接口協(xié)議模塊。下面分別對(duì)3個(gè)部分進(jìn)行簡(jiǎn)單的介紹。

        (1) CAN通信協(xié)議模塊:該模塊主要用于CAN總線報(bào)文的接收和發(fā)送。在報(bào)文發(fā)送時(shí),先將報(bào)文載入報(bào)文緩沖器和控制寄存器中,MCU通過(guò)SPI接口設(shè)置控制寄存器中的數(shù)據(jù)幀格式位、數(shù)據(jù)長(zhǎng)度位等內(nèi)容完成CAN數(shù)據(jù)幀發(fā)送設(shè)置,使用發(fā)送使能引腳啟動(dòng)報(bào)文發(fā)送。在報(bào)文接收時(shí),MCU通過(guò)SPI接口讀取CAN通信協(xié)議模塊寄存器組中的通信狀態(tài)信息和報(bào)文濾波信息,確定CAN總線是否有報(bào)文和報(bào)文是否送入接收緩沖器中。

        (2) CAN通信控制邏輯模塊:通過(guò)與其他模塊連接,進(jìn)而控制MCP2515的設(shè)置和運(yùn)行,以便傳輸信息與控制。

        (3) SPI接口協(xié)議模塊:MCU通過(guò)SPI接口與MCP2515實(shí)現(xiàn)數(shù)據(jù)傳輸,使用標(biāo)準(zhǔn)的SPI讀/寫指令以及MCP2515的SPI數(shù)據(jù)通信協(xié)議實(shí)現(xiàn)對(duì)芯片寄存器的讀/寫。CAN通信的所有指令和數(shù)據(jù)均通過(guò)SPI接口進(jìn)行傳輸,指令包含該芯片的復(fù)位指令、讀指令、寫指令、讀RX緩沖器指令、裝載TX緩沖器指令以及位修改指令。通過(guò)以上指令實(shí)現(xiàn)MCP2515的初始化、數(shù)據(jù)發(fā)送以及數(shù)據(jù)接收等功能。

        2.2 CAN收發(fā)器TJA1050

        本設(shè)計(jì)采用NXP公司的TJA1050芯片[4]作為CAN收發(fā)器。作為CAN控制器和CAN總線之間的物理接口,既可以將CAN控制器輸出信號(hào)TXCAN轉(zhuǎn)換為差分信號(hào)對(duì)發(fā)(CANH和CANL)送至總線上,也可以將CAN總線上的差分信號(hào)對(duì)轉(zhuǎn)換成CAN控制器信號(hào)RXCAN。TJA1050最高傳輸速率為1 Mb/s,并具有靜音模式,在發(fā)送禁止時(shí),不會(huì)對(duì)總線上其他節(jié)點(diǎn)帶來(lái)影響,并且具有較高的抗電磁干擾能力。

        3 CAN通信單元邏輯設(shè)計(jì)

        本設(shè)計(jì)采用Altera公司的Cyclone Ⅲ系列的EP3C55 FPGA進(jìn)行通信單元控制邏輯設(shè)計(jì)[5?6]。通過(guò)DSP的EMIF接口,將相應(yīng)控制信號(hào)和DSP數(shù)據(jù)寫入FPGA,并通過(guò)地址線進(jìn)行譯碼。當(dāng)譯碼信號(hào)cs_daL有效時(shí),鎖存至寄存器buf的低16位;當(dāng)cs_daH有效時(shí),鎖存至寄存器buf的高16位;當(dāng)cs_num有效時(shí),鎖存串行數(shù)據(jù)位數(shù);當(dāng)cs_RD有效時(shí),并且DSP控制信號(hào)OE同時(shí)有效時(shí),將接收FIFO中的值送至DSP的數(shù)據(jù)線上。該通信邏輯單元同時(shí)包含指令解析模塊,該模塊對(duì)鎖存的32位數(shù)據(jù)和指令長(zhǎng)度進(jìn)行判斷,若長(zhǎng)度為8,則為復(fù)位指令,只將buf[7:0]該 8位數(shù)據(jù)依次送給send信號(hào);若長(zhǎng)度為24,并且buf[16]等于1,則為讀指令,只將buf[23:8]該16位發(fā)送至send信號(hào),并在后8個(gè)SCK信號(hào)之后,將SO信號(hào)鎖存至接收寄存器,進(jìn)而存入接收FIFO中;如果buf[16]等于0,則為寫指令,將buf[23:0]該24位數(shù)據(jù)送給send信號(hào);若長(zhǎng)度為32,則為位修改指令,將buf[31:0]所有的32位信號(hào)均送至send信號(hào)。SPI邏輯模塊將指令、相應(yīng)寄存器地址和數(shù)據(jù)輸出至外部電路MCP2515器件的相應(yīng)引腳,根據(jù)SPI時(shí)序圖進(jìn)行時(shí)序設(shè)計(jì),當(dāng)CS信號(hào)為低電平并且SCK有效時(shí),將指令、MCP2515內(nèi)部寄存器地址、需要發(fā)送的數(shù)據(jù)通過(guò)SI引腳依次串行輸出,并將CAN總線上的數(shù)據(jù)發(fā)送至MCP2515中的緩存寄存器,通過(guò)SO引腳輸送至FPGA的接收FIFO中,邏輯設(shè)計(jì)如圖2所示。

        4 CAN通信單元程序設(shè)計(jì)

        4.1 DSP軟件設(shè)計(jì)

        軟件部分采用CCStudio v3.3進(jìn)行編程設(shè)計(jì),對(duì)于CAN通信模塊軟件設(shè)計(jì)分為3個(gè)基本部分:MCP2515的初始化設(shè)置、數(shù)據(jù)的發(fā)送和數(shù)據(jù)的接收。這3部分是CAN通信控制邏輯的基本內(nèi)容,通過(guò)以上3部分可以實(shí)現(xiàn)CAN總線的數(shù)據(jù)發(fā)送和讀取。下面對(duì)這3個(gè)部分進(jìn)行簡(jiǎn)單的介紹。

        4.1.1 MCP2515初始化

        MCP2515在運(yùn)行之前需進(jìn)行初始化,在初始化之前必須進(jìn)行MCP2515復(fù)位設(shè)置,以便于將MCP2515內(nèi)部寄存器恢復(fù)到默認(rèn)值。由于只有在配置模式下,才能夠?qū)C2515進(jìn)行初始化,故需將MCP2515設(shè)置在配置模式下,在進(jìn)入模式的配置之后,正式進(jìn)入初始化設(shè)置,其中初始化主要包含波特率設(shè)置、中斷寄存器設(shè)置、驗(yàn)收屏蔽寄存器設(shè)置、驗(yàn)收濾波寄存器設(shè)置。在完成以上功能設(shè)置后,還需將MCP2515設(shè)置為正常模式,在正常模式下,方可進(jìn)行正常的數(shù)據(jù)接收和發(fā)送。圖3為MCP2515初始化流程。

        4.1.2 MCP2515數(shù)據(jù)發(fā)送

        在進(jìn)行數(shù)據(jù)發(fā)送時(shí),只需要按照特定的幀格式將數(shù)據(jù)進(jìn)行組合,并送入MCP2515發(fā)送緩沖區(qū),并根據(jù)設(shè)定的優(yōu)先級(jí),啟動(dòng)發(fā)送命令即可。本設(shè)計(jì)利用SPI寫命令寫寄存器啟動(dòng)發(fā)送。同時(shí)對(duì)于報(bào)文發(fā)送是否成功進(jìn)行判斷,如果發(fā)送成功,將TxBnCTRL.TXREQ位進(jìn)行清零,否則判斷報(bào)文發(fā)送失敗是由于報(bào)文出錯(cuò)還是仲裁失敗引起的。圖4即為報(bào)文發(fā)送流程圖。

        4.1.3 MCP2515數(shù)據(jù)接收

        圖5為報(bào)文接收流程圖。在進(jìn)行數(shù)據(jù)接收時(shí),首先進(jìn)行起始幀檢測(cè),在檢測(cè)到起始幀的情況下,將報(bào)文載入報(bào)文集成緩沖器(MAB)中,之后判斷收到的報(bào)文是否有效。如果報(bào)文無(wú)效,即產(chǎn)生錯(cuò)位幀,否則繼續(xù)判斷報(bào)文是否符合接收緩沖器RXB0條件或者接收緩沖器RXB1條件。當(dāng)符合接收緩沖器條件時(shí),判斷相應(yīng)的緩沖器是否為空以及是否可以接收新的報(bào)文,對(duì)于緩沖器RXB0可設(shè)置滾存模式,即當(dāng)RXB0數(shù)據(jù)存滿時(shí),如果繼續(xù)接收新的報(bào)文,可將其滾存至RXB1中,當(dāng)RXB0或RXB1接收?qǐng)?bào)文時(shí),將產(chǎn)生中斷,置相應(yīng)緩沖中的滿中斷標(biāo)志位CANINTE.RXxIF為1,并通過(guò)設(shè)置RXBxCTRL.FLIGHT位使能報(bào)文接收的驗(yàn)收濾波寄存器編號(hào)。之后使能相應(yīng)的緩沖器中斷,最后判斷是否打開中斷。

        4.2 上位機(jī)軟件設(shè)計(jì)

        上位機(jī)軟件設(shè)計(jì)包含底層驅(qū)動(dòng)程序設(shè)計(jì)和上位機(jī)應(yīng)用軟件設(shè)計(jì),底層驅(qū)動(dòng)程序用于實(shí)現(xiàn)對(duì)硬件控制,該程序利用VISA中的Driver Studio進(jìn)行開發(fā)。在底層硬件的支持下,采用LabWindows/CVI進(jìn)行用戶界面設(shè)計(jì)。通過(guò)上位機(jī)軟件可以方便用戶實(shí)時(shí)對(duì)CAN總線通信進(jìn)行控制,并且對(duì)數(shù)據(jù)幀、擴(kuò)展幀格式、波特率等參數(shù)進(jìn)行配置。圖5為CAN通信模塊測(cè)試軟面板。其中分為3部分:通信配置、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收。其中通信配置包含通道選擇、波特率設(shè)置、數(shù)據(jù)位數(shù)選擇、幀格式選擇、ID設(shè)置、驗(yàn)證屏蔽寄存器設(shè)置、驗(yàn)證濾波寄存器設(shè)置;發(fā)送數(shù)據(jù)區(qū)可設(shè)置發(fā)送字節(jié)數(shù),發(fā)送何種形式的報(bào)文設(shè)定,其中可發(fā)送特定報(bào)文、廣播報(bào)文和遠(yuǎn)程報(bào)文等特殊報(bào)文;接收數(shù)據(jù)區(qū)用于接收CAN總線上的其他CAN節(jié)點(diǎn)發(fā)送來(lái)的報(bào)文,并且完成一次接收后,需清空接收數(shù)據(jù)區(qū)。同時(shí),在進(jìn)行CAN通信配置設(shè)定之前需進(jìn)行MCP2515初始化設(shè)置。模塊初始化即將所有通信配置進(jìn)行初始化,使模塊進(jìn)入初始化狀態(tài)。圖6為上位機(jī)軟件界面。

        5 測(cè)試結(jié)果

        為了驗(yàn)證CAN通信單元設(shè)計(jì)的正確性,即硬件電路設(shè)計(jì)無(wú)誤,F(xiàn)PGA邏輯設(shè)計(jì)正確、DSP程序正確運(yùn)行、驅(qū)動(dòng)程序設(shè)計(jì)正確,以及上位機(jī)軟件設(shè)計(jì)正確等方面。本設(shè)計(jì)采用周立功ZLG CANTest進(jìn)行驗(yàn)證,經(jīng)過(guò)100 000次循環(huán)測(cè)試,數(shù)據(jù)傳輸正確無(wú)誤,表明該通信單元能夠在設(shè)定的波特率下進(jìn)行多種形式的報(bào)文發(fā)送和接收,圖7即為測(cè)試結(jié)果。該結(jié)果表明,設(shè)計(jì)正確和CAN通信單元運(yùn)行正常。

        6 結(jié) 語(yǔ)

        本文介紹了一種基于MCP2515的CAN總線通信單元設(shè)計(jì)方法。在硬件設(shè)計(jì)方面,利用MCP2515和TJA1050實(shí)現(xiàn)信號(hào)形式轉(zhuǎn)換,采用FPGA+DSP架構(gòu),進(jìn)行上位機(jī)命令接收和CAN通信邏輯設(shè)計(jì),并實(shí)現(xiàn)SPI指令和數(shù)據(jù)解析。在軟件設(shè)計(jì)方面,提供了幀格式和遠(yuǎn)程報(bào)文/廣播報(bào)文/特定報(bào)文設(shè)置,以及對(duì)數(shù)據(jù)位和報(bào)文進(jìn)行濾波、屏蔽功能設(shè)置。通過(guò)以上設(shè)置,可進(jìn)行多種報(bào)文發(fā)送。測(cè)試證明,該通信單元可進(jìn)行正常的報(bào)文接收和發(fā)送,通信可靠、運(yùn)行穩(wěn)定、符合技術(shù)要求。

        參考文獻(xiàn)

        [1] Microchip Technology Inc. MCP2515 datasheet [R]. US: Microchip Technology Inc., 2005.

        [2] 饒運(yùn)濤,鄒繼軍,鄭勇蕓.現(xiàn)場(chǎng)總線CAN原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2006.

        [3] 侯明,杜弈.基于CAN總線的接口電路設(shè)計(jì)[J].通信技術(shù),2008,41(7):138?140.

        [4] Philips. TJA1050 datasheet [R]. Netherland: Philips, 1999.

        [5] 王躍飛,侯亮,劉菲.基于FPGA的CAN網(wǎng)絡(luò)實(shí)時(shí)管理系統(tǒng)設(shè)計(jì)[J].電子測(cè)量與儀器學(xué)報(bào),2013,27(8):721?728.

        [6] 李亞峰.基于Verilog HDL設(shè)計(jì)CAN控制器[D].北京:北京交通大學(xué),2007.

        猜你喜歡
        CAN總線
        論網(wǎng)絡(luò)通信技術(shù)
        基于嵌入式的汽車輔助制動(dòng)系統(tǒng)研究
        CAN總線通信技術(shù)在電梯監(jiān)控系統(tǒng)中的應(yīng)用
        基于CANoe的J1939協(xié)議在ECU通信中的應(yīng)用
        科技視界(2016年18期)2016-11-03 22:53:48
        商用車基于CAN總線的組合儀表開發(fā)與應(yīng)用
        CAN總線在鐵路設(shè)備通信中的應(yīng)用
        利用MC9S12(X)單片機(jī)構(gòu)建CAN總線網(wǎng)絡(luò)的研究
        基于CAN總線的智能微噴灌監(jiān)控系統(tǒng)中下位機(jī)的硬件電路組成與設(shè)計(jì)
        基于CAN總線的變電站通訊網(wǎng)絡(luò)設(shè)計(jì)
        CAN總線技術(shù)、系統(tǒng)實(shí)現(xiàn)及發(fā)展趨勢(shì)
        91精品国产综合久久青草| 欧美激情在线播放| 国产精品亚洲αv天堂无码| 亚洲精品欧美二区三区中文字幕 | 久久精品国产亚洲不av麻豆| 久久精品国产亚洲av热明星| 日本一区二区三级免费| 白嫩丰满少妇av一区二区| 被三个男人绑着躁我好爽视频 | 亚洲精品一区二区视频| 亚洲精品岛国av一区二区| 亚洲精品成人无限看| 一区二区三区在线 | 欧| 久久久亚洲欧洲日产国产成人无码| 日本av一区二区播放| 日本视频在线播放一区二区| 日韩内射美女片在线观看网站| 国产成人精品综合在线观看| 国产精品青草视频免费播放 | 性色国产成人久久久精品二区三区| 日韩精品在线免费视频| 人妻夜夜爽天天爽三区| 97人人超碰国产精品最新o| 日韩国产自拍精品在线| 久久精品国产亚洲综合av | 国产熟妇另类久久久久| 欧美婷婷六月丁香综合色| 一区二区丝袜美腿视频| 在线视频观看一区二区| 国产黄大片在线观看画质优化 | 欧美xxxx色视频在线观看| 亚洲爆乳大丰满无码专区| 日美韩精品一区二区三区| 亚洲一区二区国产激情| 欧美又大又色又爽aaaa片| 久久国产亚洲精品超碰热| 成人偷拍自拍在线视频| 久久精品人妻少妇一二三区| 麻豆精品国产精华精华液好用吗| 亚洲爆乳大丰满无码专区| 国产精品天堂在线观看|