基于DSP 內(nèi)嵌ECAN模塊的總線接口設(shè)計(jì)
出處:電子愛(ài)好者博客 發(fā)布于:2013-08-02 10:33:16
摘要:提出了基于DSP內(nèi)嵌增強(qiáng)型CAN控制器(ECAN)模塊的智能總線接口設(shè)計(jì)方案。該設(shè)計(jì)創(chuàng)新性地采用了ADI公司發(fā)布的ADM3053芯片作為ECAN接口驅(qū)動(dòng),該芯片集成了CAN收發(fā)器、信號(hào)隔離、DC/DC供電隔離,達(dá)到了接口小型化、低功耗、低成本的目的。給出了ECAN模塊系統(tǒng)架構(gòu)和總線接口硬件電路。在軟件設(shè)計(jì)上,重點(diǎn)論述了ECAN模塊內(nèi)部寄存器和郵箱結(jié)構(gòu),給出了軟件初始化、消息發(fā)送、消息接收流程,給出了CAN總線消息過(guò)載的處理方法。經(jīng)實(shí)測(cè)表明,該智能總線接口模塊工作穩(wěn)定,信號(hào)品質(zhì)良好,滿足工業(yè)控制需求。
0 引言
CAN 總線以其可靠、實(shí)時(shí)、低成本優(yōu)勢(shì)已在汽車(chē)、機(jī)械等工業(yè)控制領(lǐng)域廣泛應(yīng)用。TMS320F2812是TI公司代表性的低成本、低功耗和高性能的定點(diǎn)DSP芯片,具有強(qiáng)大的事件管理能力和嵌入式控制能力。其內(nèi)嵌的增強(qiáng)型CAN 總線控制器(ECAN)模塊,完全兼容CAN 2.0B 協(xié)議,郵箱數(shù)量增加至32 個(gè),并增加了時(shí)間戳、消息過(guò)濾和超時(shí)發(fā)送功能,提高了應(yīng)用CAN通信的靈活性。
ADM3053是ADI公司2011年推出一款集成信號(hào)和電源隔離功能的CAN 收發(fā)器。本文采用集成ECAN 模塊的TMS320F2812 和ADM3053 來(lái)設(shè)計(jì)CAN 節(jié)點(diǎn)。該設(shè)計(jì)將內(nèi)嵌ECAN模塊的DSP作為節(jié)點(diǎn)主控制器,同時(shí)采用ADM3053芯片有效替代了傳統(tǒng)CAN收發(fā)器、信號(hào)隔離、供電隔離三部分電路,有效實(shí)現(xiàn)了模塊小型化、低功耗、低成本。
本接口模塊能夠?qū)崿F(xiàn)正常的CAN通信,通信控制更加靈活。采用CAN通信監(jiān)控卡和專(zhuān)用示波器CANScope對(duì)該接口的數(shù)據(jù)包、電平特性、眼圖進(jìn)行分析,結(jié)果顯示信號(hào)品質(zhì)良好。
1 硬件設(shè)計(jì)
1.1 硬件系統(tǒng)設(shè)計(jì)
典型的工業(yè)控制中CAN總線接口模塊硬件原理框圖如圖1所示,它由智能處理器、CAN協(xié)議控制器、信號(hào)隔離、收發(fā)器及供電隔離組成。智能處理器負(fù)責(zé)總線數(shù)據(jù)收發(fā),CAN協(xié)議數(shù)據(jù)的解析和管理,響應(yīng)上位機(jī)命令并反饋接口健康狀態(tài);CAN 總線控制器功能是實(shí)現(xiàn)數(shù)據(jù)鏈路層功能,包括位時(shí)序邏輯、錯(cuò)誤管理邏輯、驗(yàn)收濾波器、收發(fā)緩沖管理等;CAN總線收發(fā)器功能是實(shí)現(xiàn)物理層功能,主要是收發(fā)信號(hào)與總線差分電平的相互轉(zhuǎn)換;隔離電路包含信號(hào)隔離和電源隔離兩部分,實(shí)現(xiàn)控制器與收發(fā)器之間的完全電氣隔離。

傳統(tǒng)的CAN總線接口電路是由采用獨(dú)立的接口管理CPU、CAN控制器、收發(fā)器及隔離電路搭建,這種方法占用板面積大、接口邏輯復(fù)雜、成本高。本設(shè)計(jì)應(yīng)用了ADI 公司發(fā)布的ADM3053 芯片,該芯片集成了CAN 收發(fā)器、信號(hào)隔離及供電隔離三部分功能,見(jiàn)圖1中虛線方框部分。應(yīng)用ADM3053有以下優(yōu)勢(shì):
(1)功耗低體積小。采用了基于電磁隔離原理的iCouple信號(hào)隔離技術(shù)。功耗相當(dāng)于同數(shù)據(jù)傳輸率下傳統(tǒng)光電隔離器的1/10.同時(shí)采用了基于高頻開(kāi)關(guān)的芯片級(jí)變壓技術(shù)isoPower實(shí)現(xiàn)供電隔離。在CAN 協(xié)議控制器與物理層總線之間創(chuàng)建一個(gè)完全隔離的接口。使得元器件數(shù)量減少,節(jié)約電路空間,簡(jiǎn)化了接口設(shè)計(jì),降低了設(shè)計(jì)復(fù)雜度;
?。?)性能更高。在時(shí)序、瞬態(tài)共模抑制力、通道間匹配性能均優(yōu)于傳統(tǒng)光電隔離器;(3)產(chǎn)品成本更低。每個(gè)通道成本相當(dāng)于傳統(tǒng)光電隔離器的40%.
1.2 ECAN模塊結(jié)構(gòu)
ECAN的接口與結(jié)構(gòu)電路如圖2所示。ECAN具有32位內(nèi)部結(jié)構(gòu),包括協(xié)議內(nèi)核(CPK)和消息控制器。

在協(xié)議內(nèi)核CPK 收到一個(gè)來(lái)自總線的消息后,消息控制器中的接收控制單元確定是否把接收的消息存儲(chǔ)到32 個(gè)消息郵箱RAM 中的某一個(gè)中。接收控制單元要檢驗(yàn)消息的狀態(tài)、標(biāo)識(shí)符和消息對(duì)象的屏蔽來(lái)決定郵箱的位置。接收的消息經(jīng)過(guò)濾波后存放到個(gè)郵箱中。如果接收控制單元不能找到任何一個(gè)存儲(chǔ)接收消息的郵箱,則消息被丟棄。
一個(gè)消息有11位或29為標(biāo)識(shí)符、一個(gè)控制域和多8個(gè)字節(jié)的數(shù)據(jù)構(gòu)成。當(dāng)要發(fā)送一個(gè)消息時(shí),消息控制器把這個(gè)消息發(fā)送到CPK 的發(fā)送緩沖區(qū)中,以便在下一個(gè)總線空閑狀態(tài)時(shí)開(kāi)始發(fā)送消息。當(dāng)多于一個(gè)消息要被發(fā)送時(shí),優(yōu)先級(jí)的消息將被消息控制器發(fā)送到CPK中,如果兩個(gè)消息的優(yōu)先級(jí)相同,則大序號(hào)的郵箱首先發(fā)送。
1.3 接口電路設(shè)計(jì)
本文使用的接口管理CPU 為T(mén)MS320F2812,使用其內(nèi)部集成的ECAN模塊,因此只需要連接CAN總線收發(fā)器模塊和隔離器件即可實(shí)現(xiàn)CAN總線接口功能。
ECAN接口電路圖如圖3所示。

ADM3053的左側(cè)為邏輯端,邏輯端管腳接線如下:
?。?)RXD 和TXD 分別接DSP 的ECANRX 和ECANTX引腳;
(2)VCC接邏輯端VCC(+5 V)電源;
?。?)VIO接DSP的IO供電電壓VIO;
?。?)GND管腳接邏輯端地線端GND_LOG.
ADM3053 的右側(cè)為總線端,總線端的管腳接線如下:
?。?)CANH 和CANL 之間與CAN 物理總線相連,且確保總線兩端并聯(lián)120 Ω端接電阻;
?。?)總線端電壓輸入VISOIN 接隔離電壓輸出VI-SOUT,并通過(guò)濾波電容接地;(3)CANH和CANL連接共模電感ACT45B-510-2P,濾除總線上的共模信號(hào);
?。?)CANH和CANL并聯(lián)TVS管PESD1CAN,作為瞬態(tài)抑制保護(hù),防止總線上的瞬變干擾。
2 軟件設(shè)計(jì)
2.1 ECAN的存儲(chǔ)器映射ECAN的寄存器被映射到片內(nèi)存儲(chǔ)器的外設(shè)幀1區(qū)域,CPU 用這些寄存對(duì)CAN 的消息對(duì)象進(jìn)行配置和控制,控制和狀態(tài)寄存器只允許32 位存取。ECAN 提供了32個(gè)消息郵箱,每個(gè)郵箱可以配置為發(fā)送或接收郵箱。消息是一塊RAM 區(qū)域,映射到DSP 的RAM 存儲(chǔ)器,每個(gè)郵箱RAM 的地址分配如圖4 所示。消息郵箱用來(lái)存儲(chǔ)接收到的CAN消息或存放等待發(fā)送的CAN消息。當(dāng)郵箱不用于存儲(chǔ)CAN 消息時(shí),CPU 可以將消息郵箱RAM 空間當(dāng)成通用存儲(chǔ)器使用。ECAN模塊寄存器和消息RAM空間如圖4所示。

2.2 通信軟件
2.2.1 系統(tǒng)初始化
ECAN模塊初始化在初始化模式下才能進(jìn)行,初始化模式和正常操作模式之間的轉(zhuǎn)換時(shí)通過(guò)CAN網(wǎng)絡(luò)同步實(shí)現(xiàn)的,也就是說(shuō),CAN 控制器在改變模式之前,要檢測(cè)總線空閑狀態(tài)(等于11個(gè)接收位),如果產(chǎn)生支配總線錯(cuò)誤,CAN控制器將不能檢測(cè)到總線空閑狀態(tài),因此也不能完成模式切換。將CCR寄存器置1,使CAN模塊工作于初始化模式,而且只有CCE寄存器設(shè)置為1時(shí),才能執(zhí)行初始化操作。完成上述設(shè)置后,才能操作ECAN模塊配置寄存器。ECAN模塊的初始化流程如圖5所示。

2.2.2 消息發(fā)送
根據(jù)系統(tǒng)初始配置,將待發(fā)送的數(shù)據(jù)寫(xiě)入ECAN模塊相應(yīng)消息郵箱的數(shù)據(jù)區(qū),這里需要注意數(shù)據(jù)字節(jié)順序DBO 寄存器的設(shè)置。當(dāng)DBO=0 時(shí),數(shù)據(jù)讀寫(xiě)從CAN-MDL寄存器的有效位開(kāi)始,到CANMDH 寄存器的有效位結(jié)束。當(dāng)DBO=1 時(shí),數(shù)據(jù)讀寫(xiě)從CANMDL寄存器的有效位開(kāi)始,到CANMDH 寄存器的有效位結(jié)束。置發(fā)送命令字CANTRS.n=1,啟動(dòng)發(fā)送操作,ECAN模塊將自動(dòng)置響應(yīng)命令字CANTA.n=1.手動(dòng)清發(fā)送命令字和響應(yīng)命令字。消息發(fā)送流程如圖6所示。

2.2.3 消息接收
根據(jù)系統(tǒng)初始配置,ECAN模塊接收郵箱中接收到總線上的消息時(shí),相應(yīng)的接收消息等待寄存器CAN-RMP.n被置位,此時(shí)CPU應(yīng)該核對(duì)消息丟棄標(biāo)志寄存器RML.如果RML 為1,說(shuō)明郵箱中的消息已被覆蓋,CPU可以選擇向源節(jié)點(diǎn)請(qǐng)求重發(fā),本次接收流程結(jié)束。
當(dāng)RML為0時(shí),CPU可以從郵箱數(shù)據(jù)區(qū)讀取數(shù)據(jù),同時(shí)清RMP.n,然后進(jìn)入等待接收狀態(tài)(RMP=0,RML=0)。
消息接收流程如圖7所示。

2.2.4 過(guò)載處理
如果CPU 的速度不能快速地處理重要消息,出現(xiàn)消息過(guò)載情況,這種情況可以通過(guò)增加備份郵箱來(lái)解決,即配置多個(gè)相同標(biāo)識(shí)符的郵箱。對(duì)于ECAN 模塊,每個(gè)消息對(duì)象有自己的屏蔽LAM(n)。為了保證不會(huì)丟失消息,將備份消息對(duì)象的覆蓋保護(hù)寄存器OPC 標(biāo)志位置位,從而防止未讀取的消息被覆蓋。如果ECAN模塊需要存儲(chǔ)接收到的消息,則先查看備份郵箱,如果備份郵箱為空則存儲(chǔ)消息。如果備份郵箱的RMP標(biāo)志被置位,說(shuō)明消息未被讀取。由于備份郵箱數(shù)據(jù)無(wú)法被覆蓋,故將消息數(shù)據(jù)存儲(chǔ)在原始郵箱,此時(shí)產(chǎn)生的一個(gè)中斷可以用來(lái)讀取備份郵箱的重要數(shù)據(jù)。
本文設(shè)計(jì)的CAN智能總線接口模塊經(jīng)物理環(huán)境下多節(jié)點(diǎn)收發(fā)測(cè)試,結(jié)果顯示硬件電路工作穩(wěn)定,數(shù)據(jù)收發(fā)功能正常,總線電平特性和眼圖如圖8所示。

由圖8 可以看出總線信號(hào)(CANH,CANL)規(guī)整,差分后信號(hào)波形平滑,眼圖顯示接口通信品質(zhì)良好。
3 結(jié)論
應(yīng)用ADM3053 芯片可有效縮小電路板面積,符合小型化原則,可以有效降低CAN總線接口模塊的成本,具有廣闊的應(yīng)用前景。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- USB-C接口全解析:協(xié)議兼容、快充原理與常見(jiàn)問(wèn)題排查2025/12/16 9:50:42
- 簡(jiǎn)述計(jì)算機(jī)總線的分類(lèi)2025/9/4 17:12:23
- 深度剖析三進(jìn)線兩母聯(lián)供電系統(tǒng)設(shè)計(jì)方案2025/9/3 10:37:39
- 匯流排是什么匯流排好還是線接好2025/8/28 17:13:00
- 安森美 USB - C 電池充電器解決方案2025/8/28 15:45:10
- 編碼器的工作原理及作用1
- 超強(qiáng)整理!PCB設(shè)計(jì)之電流與線寬的關(guān)系2
- 三星(SAMSUNG)貼片電容規(guī)格對(duì)照表3
- 電腦藍(lán)屏代碼大全4
- 國(guó)標(biāo)委發(fā)布《電動(dòng)汽車(chē)安全要求第3部分:人員觸電防護(hù)》第1號(hào)修改單5
- 通俗易懂談上拉電阻與下拉電阻6
- 繼電器的工作原理以及驅(qū)動(dòng)電路7
- 電容單位8
- 跟我學(xué)51單片機(jī)(三):?jiǎn)纹瑱C(jī)串口通信實(shí)例9
- 一種三極管開(kāi)關(guān)電路設(shè)計(jì)10
- PCB基材選型與性能適配核心技術(shù)規(guī)范
- 過(guò)采樣技術(shù)與數(shù)字濾波如何共同提升 ADC 的有效位數(shù)
- MOSFET寄生參數(shù)對(duì)電路性能的影響
- 集成與分立方案:電機(jī)驅(qū)動(dòng)電源設(shè)計(jì)如何選?
- 汽車(chē)電子連接器應(yīng)用與要求
- PCB埋盲孔設(shè)計(jì)與工藝適配核心技術(shù)規(guī)范
- 如何提高M(jìn)OSFET在惡劣環(huán)境下的可靠性?
- 繼電器觸點(diǎn)壽命及可靠性分析
- 可重構(gòu)濾波器技術(shù):滿足多標(biāo)準(zhǔn)通信系統(tǒng)的靈活需求
- 磁集成技術(shù)在小型化電源設(shè)計(jì)中的應(yīng)用









