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

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

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

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

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級會員

Rank: 5Rank: 5

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

CAN(Controller Area Network)即控制器局域網(wǎng),由于具有高性能、高可靠性以及簡單的網(wǎng)絡(luò)結(jié)構(gòu),在工業(yè)系統(tǒng)中越來越受到人們的重視,并迅速成為了目前國際上應(yīng)用最廣泛的現(xiàn)場總線之一。EM335x核心板已經(jīng)自帶了兩路CAN總線,默認(rèn)的配置為一路CAN總線,如果需要兩路CAN總線,可以在購買的時候特別注明。為了豐富EM335x核心板的擴(kuò)展資源并且滿足客戶對高效、低成本的多CAN總線擴(kuò)展需求,英創(chuàng)公司推出利用精簡ISA總線接口的四路CAN總線擴(kuò)展單元ETA704?蛻艨梢灾苯邮褂肊TA704或者參考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作為一個可插拔的模塊嵌入在整體產(chǎn)品中,這樣可以獲得最佳的數(shù)據(jù)傳輸性能。對于實(shí)現(xiàn)CAN總線通訊所引出的接口電路,用戶可以參考相應(yīng)開發(fā)評估底板的電路原理圖和PCB圖。下圖是ETA704和EM335x核心板ISA總線連接的接口定義:

  

  

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

  

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

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

  

  

  

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

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

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

  

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

  

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

測試情況

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

  

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

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

can1:

  

can2:

  

can3:

  

can4:

  

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

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

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


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