電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 1763|回復(fù): 0
收起左側(cè)

電子科技大學(xué)嵌入式畢業(yè)設(shè)計(jì)_英創(chuàng)信息技術(shù)EM335x工控主板多路CAN總線擴(kuò)展方案介紹

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級(jí)會(huì)員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-7-22 10:53:31 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
電子科技大學(xué)嵌入式畢業(yè)設(shè)計(jì)_英創(chuàng)信息技術(shù)EM335x工控主板多路CAN總線擴(kuò)展方案介紹,   

CAN(Controller Area Network)即控制器局域網(wǎng),由于具有高性能、高可靠性以及簡(jiǎn)單的網(wǎng)絡(luò)結(jié)構(gòu),在工業(yè)系統(tǒng)中越來越受到人們的重視,并迅速成為了目前國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。EM335x核心板已經(jīng)自帶了兩路CAN總線,默認(rèn)的配置為一路CAN總線,如果需要兩路CAN總線,可以在購買的時(shí)候特別注明。為了豐富EM335x核心板的擴(kuò)展資源并且滿足客戶對(duì)高效、低成本的多CAN總線擴(kuò)展需求,英創(chuàng)公司推出利用精簡(jiǎn)ISA總線接口的四路CAN總線擴(kuò)展單元ETA704。客戶可以直接使用ETA704或者參考ETA704進(jìn)行設(shè)計(jì),在EM335x工控主板自帶的兩路CAN總線的基礎(chǔ)上利用ISA總線再擴(kuò)展出更多的CAN總線,構(gòu)成多路CAN總線的嵌入式系統(tǒng)。

硬件組成

ETA704是基于EM335x工控主板的四路CAN總線擴(kuò)展模塊,通過四片SJA1000和一片邏輯控制器擴(kuò)展出四路CAN總線。SJA1000是一款獨(dú)立的控制器,主要用于汽車和一般工業(yè)環(huán)境中的控制器局域網(wǎng)絡(luò)(CAN)芯片。它是PHILIPS半導(dǎo)體PCA82C200 CAN控制器(BasicCAN)的替代產(chǎn)品,而且它增加了一種新的工作模式(PeliCAN),這種模式支持具有很多新特性的CAN 2.0B協(xié)議。

ETA704的硬件設(shè)計(jì),可以讓客戶方便的將ETA704作為一個(gè)可插拔的模塊嵌入在整體產(chǎn)品中,這樣可以獲得最佳的數(shù)據(jù)傳輸性能。對(duì)于實(shí)現(xiàn)CAN總線通訊所引出的接口電路,用戶可以參考相應(yīng)開發(fā)評(píng)估底板的電路原理圖和PCB圖。下圖是ETA704和EM335x核心板ISA總線連接的接口定義:

  

  

根據(jù)上圖CN1的信號(hào)定義,RESET信號(hào)為ISA總線輸出的復(fù)位信號(hào),低電平有效。在核心板系統(tǒng)啟動(dòng)的過程中會(huì)輸出一個(gè)低電平給ETA704復(fù)位兩個(gè)DM9000控制器,保證不管是上電還是復(fù)位,都會(huì)對(duì)SJA1000進(jìn)行硬件復(fù)位操作。MSL#信號(hào)主要是為了支持使用兩片ETA704擴(kuò)展而設(shè)計(jì)的,在一般的情況下使用一片ETA704進(jìn)行擴(kuò)展,將這個(gè)管腳懸空即可,如果需求用兩片ETA704擴(kuò)展,MSL#管腳則需要接地。而IRQ1-IRQ4則分別為四片SJA1000的中斷信號(hào),在EM335x開發(fā)評(píng)估底板中,IRQ1接到GPIO24、IRQ2接到GPIO25,IRQ3接到GPIO8, IRQ4接到GPIO9,可參照下列表格,中斷為低電平有效。其余的信號(hào)都為EM335x主板的ISA標(biāo)準(zhǔn)信號(hào)。

  

關(guān)于EM335x工控主板的ISA總線具體的讀寫操作時(shí)序可以參考手冊(cè)和文章:EM335x精簡(jiǎn)ISA擴(kuò)展總線地址總線的使用。

為了方便客戶評(píng)估,ETA704設(shè)計(jì)有專用的評(píng)估底板,可通過帶線與EM335x底板上的精簡(jiǎn)ISA總線接口連接,并且將四路CAN總線接口引出,可直接與設(shè)備相連進(jìn)行測(cè)試。下圖展示了ETA704評(píng)估底板將CAN總線通訊接口引出部分的原理圖:

  

  

  

由上圖可以看出,從ETA704引出的CAN總線收發(fā)管腳,通過評(píng)估底板上的磁耦器件ADuM1201隔離后,和CAN驅(qū)動(dòng)芯片TJA1050連接,就組成了一個(gè)典型的CAN總線通訊電路,客戶也可以直接參考ETA704評(píng)估底板的方法進(jìn)行設(shè)計(jì)。帶隔離CAN總線通訊模塊的CAN收發(fā)器端的所有信號(hào)和電源與其它部分完全隔離,可承受至少1Kv(有效值)的電壓沖擊,有效的保護(hù)了電路的安全。需要注意的是如果扁平帶線過長(zhǎng),會(huì)影響高速信號(hào)的完整性,所以在評(píng)估時(shí)使用的連接線盡量短一些,避免出現(xiàn)問題。

應(yīng)用程序開發(fā)

ETA704的驅(qū)動(dòng)程序已經(jīng)以模塊的形式放在文件系統(tǒng)中,只是沒有加載,因此在需要使用該多網(wǎng)絡(luò)擴(kuò)展時(shí),可通過加載文件系統(tǒng)中的ko文件sja1000.ko和sja1000_of_platform.ko來激活ETA704:

  

EM335x自帶有一路CAN總線,在系統(tǒng)中為can0節(jié)點(diǎn),所以加載完驅(qū)動(dòng)程序后,系統(tǒng)就會(huì)識(shí)別出can1-can4(如果使用的雙CAN接口配置,自帶的CAN接口占用了can0-can1,那么加載了ETA704的驅(qū)動(dòng)后,則會(huì)識(shí)別成can2-can5),如下圖:

  

ETA704的驅(qū)動(dòng)程序和標(biāo)準(zhǔn)socketcan完全一致,因此用戶使用擴(kuò)展CAN總線的方式和EM335x板卡上的CAN接口完全保持不變,即使用標(biāo)準(zhǔn)的socketcan編程。在此基礎(chǔ)上,客戶可利用英創(chuàng)公司提供的基本CAN通訊應(yīng)用程序源代碼,快速評(píng)估四CAN擴(kuò)展單元的基本性能是否滿足其具體的應(yīng)用需求。只是需要注意CAN設(shè)備名稱的序號(hào),對(duì)于擴(kuò)展網(wǎng)絡(luò)ETA704所接出的四路CAN接口分別對(duì)應(yīng)can1-can4(雙CAN配置的核心板則為can2-can5)。客戶可以直接參考光盤中的測(cè)試程序test_socketcan、test_can_filter和test_can_rcv。

測(cè)試情況

為了測(cè)試ETA704擴(kuò)展出的CAN總線通訊能力,英創(chuàng)公司做了一些測(cè)試。使用ETA704擴(kuò)展模塊,在四路CAN總線同時(shí)啟用的情況下進(jìn)行發(fā)送測(cè)試,測(cè)試所使用的波特率為1Mbit/s,發(fā)送的數(shù)據(jù)為標(biāo)準(zhǔn)幀,發(fā)送500萬個(gè)測(cè)試包,測(cè)試結(jié)果如下:

  

可以看到,擴(kuò)展出來的四路CAN接口均使用的1113秒的時(shí)候來發(fā)送完成500萬個(gè)包,也就是每毫秒能夠發(fā)送4.49個(gè)包。

下面來看接收數(shù)據(jù)測(cè)試,使用另外的四張EM335x核心板,同時(shí)向ETA704擴(kuò)展出來的四路CAN總線發(fā)送測(cè)試數(shù)據(jù),測(cè)試數(shù)據(jù)為標(biāo)準(zhǔn)幀,2000萬個(gè)包,波特率還是采用1Mbit/s,大約每毫秒發(fā)送2-3個(gè)包,測(cè)試結(jié)果如下圖:

can1:

  

can2:

  

can3:

  

can4:

  

CAN接口每收到10萬個(gè)包,就會(huì)打印一次信息,可以看出,四路擴(kuò)展CAN總線在每毫秒接收2-3個(gè)包的情況下,均接收到了2000萬個(gè)包,丟包率小于5*10-8分之一。

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表