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

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

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

蕪湖嵌入式培訓(xùn)機(jī)構(gòu)_淺談單芯片嵌入式網(wǎng)關(guān)應(yīng)用

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

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

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-8-6 14:55:22 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
蕪湖嵌入式培訓(xùn)機(jī)構(gòu)_淺談單芯片嵌入式網(wǎng)關(guān)應(yīng)用,   

  

隨著Internet技術(shù)的飛速發(fā)展,光纖環(huán)網(wǎng)作為一種工業(yè)底層控制局域網(wǎng),其拓?fù)浣Y(jié)構(gòu)與常用局域網(wǎng)一樣,基本拓?fù)浣Y(jié)構(gòu)有總線形、環(huán)形和暈形。在光纖單環(huán)CAN網(wǎng)絡(luò)中,由于器件的延時(shí)將導(dǎo)致環(huán)路信號(hào)自激,使環(huán)形CAN網(wǎng)絡(luò)堵塞(或稱為鎖死)。為遵守CAN總線控制器在鏈路層的協(xié)議,應(yīng)設(shè)計(jì)一種光纖CAN單環(huán)網(wǎng)專用邏輯控制單元LCU。該單元的功能是:對(duì)CAN總線數(shù)據(jù)實(shí)現(xiàn)收發(fā)控制,即主節(jié)點(diǎn)對(duì)接收到的數(shù)據(jù)不轉(zhuǎn)發(fā),當(dāng)數(shù)據(jù)沿光纖環(huán)回到原發(fā)送節(jié)點(diǎn)時(shí),立即被剔除;從節(jié)點(diǎn)對(duì)接收數(shù)據(jù)實(shí)現(xiàn)轉(zhuǎn)發(fā)。同時(shí)還可消除環(huán)形光纖CAN總線網(wǎng)絡(luò)的自激現(xiàn)象,保證環(huán)網(wǎng)不被堵塞。

由于單芯片嵌入式網(wǎng)關(guān)具有成本低、體積小、可靠性高、功耗低、環(huán)境適應(yīng)能力強(qiáng)等諸多優(yōu)點(diǎn),在通信和工業(yè)控制等領(lǐng)域得到了日益廣泛的應(yīng)用。

1 嵌入式網(wǎng)關(guān)構(gòu)架

以太網(wǎng)(Ethernet)指的是由Xerox公司創(chuàng)建并由Xerox、Intel和DEC公司聯(lián)合開發(fā)的基帶局域網(wǎng)規(guī)范,是當(dāng)今現(xiàn)有局域網(wǎng)采用的最通用的通信協(xié)議標(biāo)準(zhǔn)。以太網(wǎng)絡(luò)使用CSMA/CD(載波監(jiān)聽多路訪問及沖突檢測(cè))技術(shù),并以10M/S的速率運(yùn)行在多種類型的電纜上。以太網(wǎng)與IEEE802·3系列標(biāo)準(zhǔn)相類似。以太網(wǎng)最早由Xerox(施樂)公司創(chuàng)建,在1980年,DEC、lntel和Xerox三家公司聯(lián)合開發(fā)成為一個(gè)標(biāo)準(zhǔn)。以太網(wǎng)是應(yīng)用最為廣泛的局域網(wǎng),包括標(biāo)準(zhǔn)的以太網(wǎng)(10Mbit/s)、快速以太網(wǎng)(100Mbit/s)和10G(10Gbit/s)以太網(wǎng),采用的是CSMA/CD訪問控制法,它們都符合IEEE802.3。

基于以太網(wǎng)的TCP/IP轉(zhuǎn)換為工業(yè)RS 485和RS 232協(xié)議的基本構(gòu)架如圖1所示。根據(jù)嵌入式網(wǎng)關(guān)的功能,本設(shè)計(jì)實(shí)現(xiàn)了以下協(xié)議:HTTP,TCP,UDP,IP,ICMP,ARP。

(1)HTTP是嵌入式WEB服務(wù)器的主要構(gòu)架,屬于應(yīng)用層協(xié)議,本文主要實(shí)現(xiàn)網(wǎng)關(guān)系統(tǒng)參數(shù)設(shè)置與查詢、基站系統(tǒng)參數(shù)的設(shè)置與查詢。

(2)TCP協(xié)議是面對(duì)連接的,在本文中實(shí)現(xiàn)井下基站與遠(yuǎn)程以太網(wǎng)終端數(shù)據(jù)的通信:提供TCP Server功能,負(fù)責(zé)終端電腦主動(dòng)連接網(wǎng)關(guān),實(shí)現(xiàn)數(shù)據(jù)通信;實(shí)現(xiàn)TCP Client功能,提供網(wǎng)關(guān)主動(dòng)發(fā)起的數(shù)據(jù)傳輸。

(3)UDP 是User Datagram Protocol的簡(jiǎn)稱, 中文名是用戶數(shù)據(jù)包協(xié)議,是 OSI 參考模型中一種無連接的傳輸層協(xié)議,提供面向事務(wù)的簡(jiǎn)單不可靠信息傳送服務(wù)。它是IETF RFC 768是UDP的正式規(guī)范。UDP協(xié)議的全稱是用戶數(shù)據(jù)包協(xié)議,在網(wǎng)絡(luò)中它與TCP協(xié)議一樣用于處理數(shù)據(jù)包。在OSI模型中,在第四層——傳輸層,處于IP協(xié)議的上一層。UDP有不提供數(shù)據(jù)包分組、組裝和不能對(duì)數(shù)據(jù)包進(jìn)行排序的缺點(diǎn),也就是說,當(dāng)報(bào)文發(fā)送之后,是無法得知其是否安全完整到達(dá)的。UDP用來支持那些需要在計(jì)算機(jī)之間傳輸數(shù)據(jù)的網(wǎng)絡(luò)應(yīng)用。包括網(wǎng)絡(luò)視頻會(huì)議系統(tǒng)在內(nèi)的眾多的客戶/服務(wù)器模式的網(wǎng)絡(luò)應(yīng)用都需要使用UDP協(xié)議。UDP協(xié)議從問世至今已經(jīng)被使用了很多年,雖然其最初的光彩已經(jīng)被一些類似協(xié)議所掩蓋,但是即使是在今天,UDP仍然不失為一項(xiàng)非常實(shí)用和可行的網(wǎng)絡(luò)傳輸層協(xié)議。

(4)IP是英文Internet Protocol(網(wǎng)絡(luò)之間互連的協(xié)議)的縮寫,中文簡(jiǎn)稱為“網(wǎng)協(xié)”,也就是為計(jì)算機(jī)網(wǎng)絡(luò)相互連接進(jìn)行通信而設(shè)計(jì)的協(xié)議。在因特網(wǎng)中,它是能使連接到網(wǎng)上的所有計(jì)算機(jī)網(wǎng)絡(luò)實(shí)現(xiàn)相互通信的一套規(guī)則,規(guī)定了計(jì)算機(jī)在因特網(wǎng)上進(jìn)行通信時(shí)應(yīng)當(dāng)遵守的規(guī)則。任何廠家生產(chǎn)的計(jì)算機(jī)系統(tǒng),只要遵守 IP協(xié)議就可以與因特網(wǎng)互連互通。IP地址具有唯一性,根據(jù)用戶性質(zhì)的不同,可以分為5類。另外,IP還有進(jìn)入防護(hù),知識(shí)產(chǎn)權(quán),指針寄存器等含義。

(5)ICMP和ARP協(xié)議實(shí)現(xiàn)網(wǎng)絡(luò)的一些基本配置,ARP為地址解析協(xié)議,是將IP地址轉(zhuǎn)換到硬件地址的協(xié)議,ICMP是(Internet Control Message Protocol)Internet控制報(bào)文協(xié)議。它是TCP/IP協(xié)議族的一個(gè)子協(xié)議,用于在IP主機(jī)、路由器之間傳遞控制消息?刂葡⑹侵妇W(wǎng)絡(luò)通不通、主機(jī)是否可達(dá)、路由是否可用等網(wǎng)絡(luò)本身的消息。這些控制消息雖然并不傳輸用戶數(shù)據(jù),但是對(duì)于用戶數(shù)據(jù)的傳遞起著重要的作用。

  

2 硬件結(jié)構(gòu)設(shè)計(jì)

硬件的系統(tǒng)框圖如圖2所示,光纖轉(zhuǎn)電模塊實(shí)現(xiàn)光纖到電的RJ45轉(zhuǎn)換,RJ45實(shí)現(xiàn)光纖轉(zhuǎn)換模塊和MC9S12NE64(以下簡(jiǎn)稱NE64)的連接,4個(gè)SPE485實(shí)現(xiàn)該網(wǎng)關(guān)與基站的RS 485連接,MAX232實(shí)現(xiàn)調(diào)試輸出或基站的RS 232連接。

  

2.1 MC9S12NE64以太網(wǎng)單芯片簡(jiǎn)介

NE64是Freescale公司于2004年9月推出的高性價(jià)比、業(yè)內(nèi)首個(gè)嵌入式單芯片以太網(wǎng)微控制器,內(nèi)核為HCS12。由標(biāo)準(zhǔn)的內(nèi)置外設(shè)構(gòu)成,主要包括一個(gè)16 b的中央處理器單元(HCS12 CPU),64 kB的FLASHE2PROM,8 kB的RAM(EMAC共享),集成了10/100 Mb/s以太網(wǎng)物理層收發(fā)器(EPHY)的以太網(wǎng)媒體訪問控制器(EMAC),2個(gè)異步串行通訊接口模塊(SCI),1個(gè)4通道16 b定時(shí)器模塊(TIM)以及多達(dá)21個(gè)管腳可用于鍵盤喚醒輸入(KWU)等。內(nèi)置的PLL電路允許對(duì)功耗和性能進(jìn)行調(diào)節(jié)來滿足運(yùn)行要求。

2.2 網(wǎng)絡(luò)接口設(shè)計(jì)

NE64內(nèi)部集成了用于連接以太網(wǎng)的EMAC和EPHY協(xié)議層,因此省了外接的PHY,只需連接少許的外部電阻和電容以及一個(gè)RJ45接口就可以實(shí)現(xiàn)網(wǎng)絡(luò)的物理連接,接口電路如圖3所示。

嵌工控機(jī)是嵌入式, 嵌入式正點(diǎn)原子, 嵌入式系統(tǒng)國外文獻(xiàn), 嵌入式網(wǎng)絡(luò)編程面試, 半嵌入式臉盆臺(tái)上, 嵌入式原理實(shí)驗(yàn)總結(jié), 嵌入式分屏顯示, 海同網(wǎng)校嵌入式, 嵌入式仿真測(cè)試, 三一重工嵌入式, mcgs嵌入式編程, 嵌入式馬桶toto, c嵌入式是什么, 做嵌入式怎么找兼職, 學(xué)嵌入式要很聰明嗎, c語言還是嵌入式, 臺(tái)州嵌入式養(yǎng)老, 嵌入式碩士工資多少, 嵌入式工程師發(fā)展, 三級(jí)嵌入式報(bào)名, 嵌入式流媒體服務(wù)器, 嵌入式圖表F11, 嵌入式熱板價(jià)格,

2.3 RS 485和RS 232接口設(shè)計(jì)

NE64本身具有雙串口,因此本文將串口0(SCI0) 設(shè)計(jì)為RS 485通信,將串口1(SCIl)設(shè)計(jì)為RS 232通信。

在煤礦井下人員定位系統(tǒng)中,該網(wǎng)關(guān)通過RS 485(串口0)與本地基站相連以獲取人員信息。為增加系統(tǒng)中RS 485的驅(qū)動(dòng)能力,設(shè)計(jì)了4路接口,原理圖如圖4所示。

  

在圖4(a)中,只畫了一路的RS 485接口電路,其他的3路基本一樣。在接收腳RXD00串聯(lián)電阻和LED指示燈,用于指示電路的接收狀態(tài),發(fā)送狀態(tài)的LED指示燈沒有在圖中畫出,原理同接收電路。WD1~WD3及串聯(lián)的20 Ω小電阻,具有防雷擊功能。圖4(b)中的RXD01~RXD03是另外3路RS 485的接收端,要注意的是圖中74HC09是集電極開路輸出,因此在輸出時(shí)需接一個(gè)上拉電阻,RXD0直接連接NE64的串口0的接收端,而4路RS 485的發(fā)送端TXD0連接在一起并和NE64的串口0的發(fā)送端相連。

3 軟件實(shí)現(xiàn)

嵌入式網(wǎng)關(guān)的軟件系統(tǒng)完成系統(tǒng)的協(xié)議轉(zhuǎn)換以及wEB服務(wù)器的構(gòu)建,基于TCP/IP的網(wǎng)絡(luò)協(xié)議棧有很多,但是針對(duì)嵌入式系統(tǒng),必須考慮到硬件和軟件資源,從而需對(duì)其進(jìn)行精簡(jiǎn)使之應(yīng)用于嵌入式系統(tǒng)?紤]到硬件資源和軟件的開發(fā),本文選用了源碼開放的OpenTCP協(xié)議棧,該協(xié)議棧由芬蘭的Viola Systems公司開發(fā),實(shí)現(xiàn)了大多數(shù)的基于vIP4的網(wǎng)絡(luò)協(xié)議,如HTTP,DHCP,smtP,TFTP,TCP/IP,DNS,ARP,ICMP等協(xié)議,并由美國的SourceForge公司根據(jù)NE64的硬件資源將其移植過來,實(shí)現(xiàn)了在16位低成本嵌入式系統(tǒng)上的網(wǎng)絡(luò)化,程序的流程如圖5所示。

  

3.1 基于TCP服務(wù)端和客戶端的建立

TCP:Transmission Control Protocol 傳輸控制協(xié)議TCP是一種面向連接(連接導(dǎo)向)的、可靠的、基于字節(jié)流的運(yùn)輸層(Transport layer)通信協(xié)議,由IETF的RFC 793說明(specified)。在簡(jiǎn)化的計(jì)算機(jī)網(wǎng)絡(luò)OSI模型中,它完成第四層傳輸層所指定的功能,UDP是同一層內(nèi)另一個(gè)重要的傳輸協(xié)議;赥CP服務(wù)器端和客戶端程序是本設(shè)計(jì)的主要應(yīng)用程序,負(fù)責(zé)整個(gè)定位數(shù)據(jù)的傳輸?紤]到上位機(jī)主監(jiān)控軟件的設(shè)計(jì),本文采用OpenTCP協(xié)議棧提供的API函數(shù)來建立TCP服務(wù)程序。在程序中,遠(yuǎn)程主控端可以通過客戶端程序主動(dòng)撥號(hào)與本網(wǎng)關(guān)設(shè)備的服務(wù)器端建立連接,并獲取基站人員定位信息;如果該網(wǎng)關(guān)設(shè)備中已存放有大量數(shù)據(jù)(取決于本地存儲(chǔ)器),那么它將通過本地客戶端主動(dòng)撥號(hào)與遠(yuǎn)程主控端服務(wù)器建立連接,并上傳數(shù)據(jù)。

服務(wù)器端程序包括初始化函數(shù)void tcps_init(void)、主回調(diào)函數(shù)void tcps_run(void)以及事件監(jiān)聽函數(shù)INT32 tcps_eventlistener(INT8,UINT8,UINT32,UINT32)。本文僅列舉了服務(wù)器端的初始化函數(shù):

  

3.2 其他網(wǎng)絡(luò)協(xié)議的實(shí)現(xiàn)

其他網(wǎng)絡(luò)協(xié)議包括嵌入式WEB服務(wù)器、UDP、ARP協(xié)議、DNS協(xié)議以及ICMP協(xié)議。WEB服務(wù)器是基于HTTP網(wǎng)絡(luò)協(xié)議而構(gòu)建的,在本文主要用來實(shí)現(xiàn)系統(tǒng)參數(shù)的查詢和設(shè)置,包括TCP的套接字的初始化、HTTP的初始化以及HTTP回調(diào)函數(shù);赨DP的數(shù)據(jù)傳輸是該網(wǎng)關(guān)的擴(kuò)展功能,運(yùn)用于大量數(shù)據(jù)傳輸,并且某些數(shù)據(jù)可以被丟掉的,如將該網(wǎng)關(guān)運(yùn)用在井下人員的語音傳輸系統(tǒng)中。

3.3 RS 485以及RS 232數(shù)據(jù)傳輸

RS 485和RS 232是該網(wǎng)關(guān)設(shè)備與井下人員定位基站通信的主渠道,軟件設(shè)計(jì)主要包括兩部分:初始化和數(shù)據(jù)通信。初始化程序主要設(shè)置通信波特率以及有關(guān)的狀態(tài),數(shù)據(jù)通信主要包括串口中斷處理(發(fā)送和接收)以及對(duì)收到的基站數(shù)據(jù)處理。

4 單芯片嵌入式網(wǎng)關(guān)在煤礦井下人員定位中的應(yīng)用

在現(xiàn)場(chǎng)安裝了5個(gè)網(wǎng)關(guān)設(shè)備,每個(gè)網(wǎng)關(guān)分別連接6臺(tái)基站,安裝距離最遠(yuǎn)為600 m。PC機(jī)端的主控軟件用VC++6.0設(shè)計(jì),主界面包括簡(jiǎn)單服務(wù)器和客戶端撥號(hào)程序。以太網(wǎng)采用自動(dòng)協(xié)商協(xié)議,網(wǎng)速為100 Mb/s。以太網(wǎng)數(shù)據(jù)緩沖區(qū)設(shè)置為1 kB,實(shí)際上有用的字節(jié)數(shù)為804 B,除去數(shù)據(jù)長度、校驗(yàn)和一些特殊信息,最后可用的最大字節(jié)數(shù)為796 B,即一次傳送的最大數(shù)據(jù)量為796 B。

5 結(jié) 語

基于單芯片的MC9S12NE64的嵌入式以太網(wǎng)網(wǎng)關(guān),完成了光纖環(huán)網(wǎng)到井下基站的數(shù)據(jù)轉(zhuǎn)換,實(shí)現(xiàn)了低成本、高速率的嵌入式WEB服務(wù)器、簡(jiǎn)化的基于TCP服務(wù)器和客戶端用戶應(yīng)用程序以及UDP的數(shù)據(jù)傳輸?shù)南到y(tǒng)。該網(wǎng)關(guān)可以廣泛應(yīng)用于工業(yè)生產(chǎn)和其他控制領(lǐng)域,實(shí)現(xiàn)小型工業(yè)網(wǎng)絡(luò)監(jiān)測(cè)系統(tǒng),具有良好的應(yīng)用前景。



QICK

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

本版積分規(guī)則


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