欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CAN以太網(wǎng)網(wǎng)關(guān)的軟硬件設(shè)計方案

電子設(shè)計 ? 作者:電子設(shè)計 ? 2018-11-08 08:45 ? 次閱讀

本文為一種工業(yè)現(xiàn)場總線與以太網(wǎng)互聯(lián)方法,介紹以太網(wǎng)與CAN現(xiàn)場總線之間協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的設(shè)計與實現(xiàn),采用AT89C55作為主處理器,通過兩個接口芯片實現(xiàn)CAN總線與以太網(wǎng)的互連,分別給出其硬件結(jié)構(gòu)和軟件設(shè)計思想。為企業(yè)信息網(wǎng)絡(luò)與控制網(wǎng)絡(luò)集成提供一種可行的方法。

1 硬件結(jié)構(gòu)

目前,對于CAN和以太網(wǎng)相連的嵌入式網(wǎng)關(guān)設(shè)計主要有兩種方法:一種是低檔MCU加接口芯片的設(shè)計方法,另一種是高檔MCU加EOS(實時多任務(wù)操作系統(tǒng))再加接口芯片的設(shè)計方法。因CAN只采用了ISO/OSI參考模型的一、二層,協(xié)議相對簡單,比較適合用于低成本、速率要求不高的離散控制系統(tǒng)。從合理的成本和有效利用處理能力這兩方面考慮,該設(shè)計采用低檔MCU加接口芯片的方法,其硬件框圖見圖1。

CAN以太網(wǎng)網(wǎng)關(guān)的軟硬件設(shè)計方案

圖1 硬件原理圖

1.1 主控芯片及以太網(wǎng)接口模塊

根據(jù)要求,該系統(tǒng)選擇了性能價格比較高的Atmel公司生產(chǎn)的AT89C55單片機。它是面向測控對象和嵌入式應(yīng)用的,所以它的體系結(jié)構(gòu)以及CPU、指令系統(tǒng)、外圍單元電路都是按照這種要求專門設(shè)計的。它內(nèi)部帶高達20 KB的FLASH程序存儲器,AT89C55完全兼容8051指令集,片上FLASH方便了使用者進行在線編程,工作速率最高可達33 MHz,256 B的內(nèi)部RAM,32個可編程的I/O口,3個16位的定時/計數(shù)器,8個中斷源,支持低功耗的空閑工作模式。以太網(wǎng)接口選用的是RTL8019AS芯片,它是由Realtek公司生產(chǎn)的一種高度集成的以太網(wǎng)控制器,能實現(xiàn)以太網(wǎng)媒介訪問層(MAC)和物理層(PHY)的全部功能。RTL8019AS內(nèi)部有兩個RAM區(qū)域:一是16 KB,地址為0x4000~0x7fff,要接收和發(fā)送數(shù)據(jù)包必須通過DMA讀寫RTL8019AS內(nèi)部的16 KB的RAM,它實際上是雙端口RAM,即有兩條總線與其連接,一條總線用于RTL8019AS讀/寫或?qū)?讀該RAM,即本地DMA;另一條總線用于單片機讀或?qū)懺揜AM,即遠程DMA;二是32個字節(jié),地址為0x0000~0x001F,用于存儲以太網(wǎng)物理地址。主控芯片和以太網(wǎng)接口芯片的硬件接口原理圖見圖2。值得注意的是由于以太網(wǎng)的包最大可以超過1 500個字節(jié),AT89C55的片內(nèi)RAM只有256個字節(jié),因此無法存儲這么大的包,所以這里擴展了一個32 KB的外部RAM,這樣同時也能提高單片機的數(shù)據(jù)傳輸速度。

CAN以太網(wǎng)網(wǎng)關(guān)的軟硬件設(shè)計方案

圖2 以太網(wǎng)接口電路原理

1.2 CAN接口模塊

組成CAN系統(tǒng)的主要器件是CAN控制器和收發(fā)器。該設(shè)計中,CAN接口模塊選用SJA1000芯片和PCA82C250芯片。SJA1000是一個獨立的CAN控制器,它是Philips公司另一個CAN控制器PCA82C200的替代產(chǎn)品,且增加了一種新的工作模式(Peli CAN),這種模式支持CAN 2.0B協(xié)議。SJA1000主要完成CAN的通信協(xié)議,實現(xiàn)報文的裝配和拆分、接收信息的過濾和校驗等。

PCA82C250是CAN控制器與物理總線之間的接口,主要用于增強系統(tǒng)的驅(qū)動能力。采用收發(fā)器的系統(tǒng)中,節(jié)點數(shù)至少可以達到110個,同時還具有降低射頻干擾(RFI)和很強的抗電磁干擾 (EMI)能力。在處理這部分電路時,有幾個地方要特別注意:

(1)晶振電路的問題。89C55和SJA1000都應(yīng)該有各自獨立的晶振電路,不能夠用SJA1000的時鐘輸出信號CLKOUT來驅(qū)動單片機。

(2)復(fù)位引腳的問題。雖然SJA1000的復(fù)位是低電平,但不能通過一個非門直接連接單片機的復(fù)位引腳。一般對解決復(fù)位引腳問題有兩種方式:第一種是使用單片機的I/O引腳控制SJA的復(fù)位引腳,其好處是單片機可以完全控制SJA的復(fù)位過程;第二種是采用適當(dāng)?shù)膹?fù)位芯片,為了降低成本,該設(shè)計采取的是第一種方法。

(3)RX1引腳的電位必須維持在約0.5 VCC上,否則將不能形成CAN協(xié)議所要求的邏輯電平。

(4)一定要注意電纜的終端阻抗匹配,它直接影響CAN總線是否能正常工作和網(wǎng)絡(luò)性能。CAN接口模塊的硬件電路圖見圖3,在PCA82C250的RS腳上接有一個斜率電阻R,可根據(jù)總線通信速度適當(dāng)調(diào)整電阻的大小。

CAN以太網(wǎng)網(wǎng)關(guān)的軟硬件設(shè)計方案

圖3 CAN接口模塊的硬件電路圖

2 通信模塊軟件設(shè)計

2.1 SJA1000驅(qū)動程序的實現(xiàn)

SJA1000驅(qū)動程序是由SJA的初始化函數(shù)、發(fā)送函數(shù)、接收函數(shù)組成的,圖4所示為其流程圖。

CAN以太網(wǎng)網(wǎng)關(guān)的軟硬件設(shè)計方案

圖4 SJA1000驅(qū)動程序流程

(1)SJA1000的初始化。SJA1000在系統(tǒng)上電、硬件復(fù)位或主控制器發(fā)出復(fù)位命令后需要進行初始化,以設(shè)定它的工作模式、通信速率、輸出控制方式和標(biāo)識符屏蔽格式等重要參數(shù)。CAN控制器SJA1000的初始化只能在復(fù)位模式下才能完成。程序的流程圖如圖4所示。

首先程序檢測CAN接口是否正常工作,即向SJA1000的測試寄存器寫入并讀出,校驗其結(jié)果是否一致,如果結(jié)果一致則進入復(fù)位模式進行初始化設(shè)置。在初始化的過程中,如果對某個寄存器的設(shè)置超過規(guī)定的時間還未完成,則認為初始化失敗,初始化程序自動發(fā)送錯誤信號。

(2)數(shù)據(jù)的發(fā)送與接收。SJA1000芯片有一個報文發(fā)送緩沖區(qū)和兩個報文接收緩沖區(qū),用于CAN報文傳送。數(shù)據(jù)從CAN控制器SJA1000發(fā)送到 CAN總線首先是由CAN控制器自動完成的,發(fā)送數(shù)據(jù)程序把數(shù)據(jù)存儲區(qū)中待發(fā)送的數(shù)據(jù)取出,組成信息幀,并將主機的ID地址填人幀頭;然后將信息幀發(fā)送到 CAN控制器的發(fā)送緩沖區(qū);最后啟動發(fā)送命令即可。信息從CAN總線到CAN接收緩沖區(qū)也是由CAN控制器自動完成的。接收程序只需從接收緩沖區(qū)讀取要接收的信息,并將其存儲在數(shù)據(jù)存儲區(qū)即可。

2.2 RTL8019AS驅(qū)動程序的實現(xiàn)

RTL8019AS的驅(qū)動程序和SJA的驅(qū)動程序一樣,有3種功能:芯片初始化、收包、發(fā)包。

(1)RTL8019AS的初始化。RTL8019AS的初始化過程比較復(fù)雜,但十分重要,它決定了通信過程中的一些重要參數(shù)。如設(shè)置相關(guān)工作模式的寄存器,分配和初始化接收及發(fā)送緩沖區(qū),初始化網(wǎng)卡接收地址等,其流程圖見圖5所示。

CAN以太網(wǎng)網(wǎng)關(guān)的軟硬件設(shè)計方案

圖5 RTL8019AS的初始化流程圖

(2)數(shù)據(jù)的發(fā)送與接收。因為在RTL8019AS的初始化程序中已經(jīng)完成了以太網(wǎng)的物理地址設(shè)置,并指定了發(fā)送緩沖區(qū)起始頁面地址寄存器TPSR.此外,RTL8019AS的CRC校驗自動生成器也被使能,所以RTL8019AS的數(shù)據(jù)包發(fā)送程序相對要簡單。在數(shù)據(jù)包的發(fā)送過程中,AT89C55只要通過遠程DMA將待發(fā)送的數(shù)據(jù)包寫至RTL8019AS片內(nèi)SRAM的發(fā)送緩沖區(qū),并啟動發(fā)送過程即可。

在接收數(shù)據(jù)包時,有查詢和中斷兩種方式,鑒于AT89C55的處理能力有限,在該設(shè)計中采用查詢方式,根據(jù)判斷CURB==BNRY+1,可以判斷是否收到新的數(shù)據(jù)包,如果有則通過DMA讀操作從網(wǎng)卡芯片RAM讀出數(shù)據(jù)。

2.3 網(wǎng)關(guān)協(xié)議轉(zhuǎn)換流程

嵌入式網(wǎng)絡(luò)接口實現(xiàn)兩種網(wǎng)絡(luò)的互連。當(dāng)以太網(wǎng)應(yīng)用層有數(shù)據(jù)要發(fā)送到CAN節(jié)點時,首先將數(shù)據(jù)發(fā)送到網(wǎng)關(guān),由以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊解析完整的CAN協(xié)議數(shù)據(jù)包,通過CAN控制器發(fā)送到CAN總線。反之,當(dāng)CAN設(shè)備有數(shù)據(jù)要發(fā)送到用戶層時,首先將數(shù)據(jù)發(fā)送到透明網(wǎng)關(guān),由CAN控制器協(xié)議模塊將完整的 CAN協(xié)議數(shù)據(jù)包存放在緩沖區(qū),再通知主控芯片,由它調(diào)用以太網(wǎng)控制協(xié)議轉(zhuǎn)換模塊,將完整的 CAN協(xié)議數(shù)據(jù)包作為應(yīng)用層數(shù)據(jù)封裝起來,再發(fā)送到以太網(wǎng)的應(yīng)用層。

3 結(jié)語

這里介紹的是一種低成本、高可靠性、快捷的CAN以太網(wǎng)網(wǎng)關(guān)的硬件、軟件設(shè)計方案,通過實際應(yīng)用證明,該設(shè)計可以作為CAN總線節(jié)點的一個模塊,能夠與儀器儀表等設(shè)備相結(jié)合,使其具有網(wǎng)絡(luò)通信的能力,比較同類產(chǎn)品的設(shè)計,該設(shè)計能大大提高其性價比。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5094

    文章

    19189

    瀏覽量

    307943
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5465

    瀏覽量

    172811
  • CAN
    CAN
    +關(guān)注

    關(guān)注

    57

    文章

    2773

    瀏覽量

    464455
收藏 人收藏

    評論

    相關(guān)推薦

    以太網(wǎng)網(wǎng)關(guān)目前的趨勢

    乘用車的以太網(wǎng)網(wǎng)關(guān)現(xiàn)在 哪家做的比較好,哪家的方案成熟
    發(fā)表于 03-28 21:42

    采用SAM4S如何參考設(shè)計的UART到以太網(wǎng)網(wǎng)關(guān)

    采用SAM4S參考設(shè)計的UART到以太網(wǎng)網(wǎng)關(guān)。該參考設(shè)計演示了基于ATSAM4S的UART到以太網(wǎng)網(wǎng)關(guān)。 UDP廣播方案用于客戶端查找以太網(wǎng)地址。流量控制支持平衡
    發(fā)表于 05-20 14:45

    求一種嵌入式Linux平臺的軟硬件設(shè)計方案

    求一種嵌入式Linux平臺的軟硬件設(shè)計方案
    發(fā)表于 04-27 06:56

    如何去設(shè)計一種ZigBee工業(yè)以太網(wǎng)網(wǎng)關(guān)?

    文章介紹一種基于AT91SAM9260的ZigBee工業(yè)以太網(wǎng)網(wǎng)關(guān)設(shè)計。
    發(fā)表于 05-14 06:29

    分享一款不錯的LPC2294 CAN總線主節(jié)點設(shè)計方案

    本文提出一種基于LPC2294微控制器,使用μCLinux作為操作系統(tǒng)的CAN主節(jié)點軟硬件設(shè)計方案。主節(jié)點通過擴展SRAM、FLASH提高了系統(tǒng)的性能,采用帶隔離功能的CAN收發(fā)器增強
    發(fā)表于 05-25 06:59

    怎樣去設(shè)計一種CAN以太網(wǎng)網(wǎng)關(guān)互連系統(tǒng)?求過程

    怎樣去設(shè)計一種CAN以太網(wǎng)網(wǎng)關(guān)互連系統(tǒng)?
    發(fā)表于 05-31 06:03

    RS485以太網(wǎng)網(wǎng)關(guān)的資料分享

    描述RS485以太網(wǎng)網(wǎng)關(guān)RS485 模塊系列這是 RS485(有線)MySensors 節(jié)點的以太網(wǎng)網(wǎng)關(guān)。它具有 ATmega328p MCU 和 ENC28J60 以太網(wǎng)芯片。SP485EE 或
    發(fā)表于 09-09 06:56

    基于Rabbit3000的以太網(wǎng)網(wǎng)關(guān)的設(shè)計實現(xiàn)

    本文介紹了一種采用Rabbit 3000 控制芯片為核心的嵌入式以太網(wǎng)網(wǎng)關(guān)的設(shè)計方法與實現(xiàn),設(shè)計了RS232/485 總線、Lonworks 總線以及以太網(wǎng)的接口硬件電路,對嵌入式TCP/IP 協(xié)議棧原理與運行
    發(fā)表于 06-19 11:47 ?30次下載

    以太網(wǎng)如何轉(zhuǎn)CAN網(wǎng)關(guān)

    can轉(zhuǎn)換以太網(wǎng)網(wǎng)關(guān)是能夠?qū)?b class='flag-5'>CAN總線數(shù)據(jù)轉(zhuǎn)換為以太網(wǎng)數(shù)據(jù)進行中繼的協(xié)議網(wǎng)關(guān),說人話就是數(shù)據(jù)轉(zhuǎn)換器。
    的頭像 發(fā)表于 12-17 10:32 ?4784次閱讀

    RS485以太網(wǎng)網(wǎng)關(guān)開源

    電子發(fā)燒友網(wǎng)站提供《RS485以太網(wǎng)網(wǎng)關(guān)開源.zip》資料免費下載
    發(fā)表于 08-09 15:07 ?2次下載
    RS485<b class='flag-5'>以太網(wǎng)網(wǎng)關(guān)</b>開源

    RS485以太網(wǎng)網(wǎng)關(guān)

    電子發(fā)燒友網(wǎng)站提供《RS485以太網(wǎng)網(wǎng)關(guān).zip》資料免費下載
    發(fā)表于 08-17 09:52 ?3次下載
    RS485<b class='flag-5'>以太網(wǎng)網(wǎng)關(guān)</b>

    can/以太網(wǎng)網(wǎng)關(guān)更改IP流程是什么?

    can/以太網(wǎng)網(wǎng)關(guān)是一類能夠?qū)崿F(xiàn)CANBUS數(shù)據(jù)與以太網(wǎng)數(shù)據(jù)之間相互轉(zhuǎn)換的設(shè)備,在實際使用前,我們需要對其進行多方面的設(shè)置,其中有一項就是更改電腦的IP地址。那么,這個更改IP的流程是怎樣的呢?簡單
    的頭像 發(fā)表于 05-11 20:16 ?1147次閱讀

    以太網(wǎng)網(wǎng)關(guān)域控制器的硬件實現(xiàn)

    以太網(wǎng)網(wǎng)關(guān)域控制器的硬件實現(xiàn) 該方案配備雙MCU,其中飛思卡爾i.mx6q處理器用于復(fù)雜工況下算法的處理,恩智浦公司的S32K148處理器用于車輛信號路由;以太網(wǎng)網(wǎng)關(guān)包括
    的頭像 發(fā)表于 07-25 18:11 ?1178次閱讀
    <b class='flag-5'>以太網(wǎng)網(wǎng)關(guān)</b>域控制器的<b class='flag-5'>硬件</b>實現(xiàn)

    can 以太網(wǎng) 網(wǎng)關(guān)能否在汽車上應(yīng)用?

    車載網(wǎng)絡(luò),例如車載局域網(wǎng)(CAN、LIN、FlexRay等)和以太網(wǎng)(Ethernet),實現(xiàn)不同網(wǎng)絡(luò)之間的數(shù)據(jù)傳輸和通信。 (2)數(shù)據(jù)集成:以太網(wǎng)網(wǎng)關(guān)可以將來自不同車載傳感器和系統(tǒng)的數(shù)據(jù)進行集成和處理,例如車輛診斷信息、駕駛輔
    的頭像 發(fā)表于 12-14 16:15 ?837次閱讀

    CANopen以太網(wǎng)網(wǎng)關(guān)怎么用?

    CANopen以太網(wǎng)網(wǎng)關(guān)怎么用? CANopen以太網(wǎng)網(wǎng)關(guān)是一種連接CANopen總線和以太網(wǎng)的設(shè)備,它提供了在CANopen網(wǎng)絡(luò)和以太網(wǎng)之間傳輸數(shù)據(jù)的功能。本文將詳細介紹CANope
    的頭像 發(fā)表于 02-02 16:59 ?3457次閱讀