日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開(kāi)發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開(kāi)發(fā)
培訓(xùn)信息
贊助商
POWERPC860T實(shí)現(xiàn)多以太網(wǎng)口通信
POWERPC860T實(shí)現(xiàn)多以太網(wǎng)口通信
 更新時(shí)間:2008-8-16 21:12:36  點(diǎn)擊數(shù):18
【字體: 字體顏色

    摘要:摩托羅拉公司的POWER PC系列芯片是眾多嵌入式高端通信設(shè)備的首選。該系列芯片配合主流的實(shí)時(shí)多任務(wù)操作系統(tǒng)VxWorks,可滿足大多數(shù)高端通信設(shè)備的要求的低功耗、高性能、高可靠性的要求。本文闡述在摩托羅拉公司MPC860系列芯片上實(shí)現(xiàn)雙以太網(wǎng)口通信的方法,并給出實(shí)現(xiàn)的具體源代碼。

    關(guān)鍵詞:POWERPC860 VxWorks TCP/IP 多以太網(wǎng)接口 DRIVER加載 RTOS

通過(guò)TCP/IP協(xié)議棧來(lái)實(shí)現(xiàn)數(shù)據(jù)通信,是目前大多數(shù)通信設(shè)備所必備的。在以太網(wǎng)上實(shí)現(xiàn)TCP/IP更是一種價(jià)廉物美的選擇。本文描述的正是這種通信設(shè)備一種實(shí)現(xiàn)方法。

通信控制設(shè)備大多是嵌入式系統(tǒng),求CPU功耗低、接口種類豐富。POWERPC 860T芯片是摩托羅拉公司MPC860系列通信專用嵌入式CPU的產(chǎn)品,主要特點(diǎn)是增加了1個(gè)10/100M自適應(yīng)以太網(wǎng)口,工作頻率可達(dá)80MHz,廣泛地用于中、高檔通信設(shè)備。其內(nèi)部結(jié)構(gòu)框圖如圖1所示。

從圖1中可以看出,860T芯片主要由微處理器內(nèi)核(embedded POWEPRPC core)、系統(tǒng)接口單元SIU(System Interface Unit)、通信處理器單元CPM(Communication Processor Module)和快速以太網(wǎng)模塊FEM(Fast Ethernet Module)等組成。由于860T中集成了許多外圍接口的控制器,同F(xiàn)LASH、SRAM、SDRAM等各種存儲(chǔ)器可實(shí)現(xiàn)無(wú)縫隙連接。外部通信接口一般只需添加線路接口單元。本文實(shí)現(xiàn)的系統(tǒng)硬件框圖如圖2所示。FLASH采用的是AM29LV017,SRAM為SODIMM SDRAM條。

    CPU部分的4個(gè)SCC均可配置為10M以太網(wǎng)控制器,FEM為一個(gè)10/100M以太網(wǎng)自適應(yīng)控制器。通過(guò)這些以太網(wǎng)控制器,只需簡(jiǎn)單的線路接口單元就可構(gòu)成10M以太網(wǎng)口和10/100M自適應(yīng)網(wǎng)口。該以太網(wǎng)口符合IEEE802.3規(guī)范。實(shí)際使用中,860T設(shè)備多少個(gè)網(wǎng)口,應(yīng)根據(jù)芯片的運(yùn)行主頻和接口要求來(lái)統(tǒng)籌考慮。在設(shè)計(jì)時(shí),相關(guān)的性能計(jì)算可使用摩托羅拉公司推供的軟件進(jìn)行估算。我們?cè)?0 MHz MPC860T芯片上,實(shí)現(xiàn)了1個(gè)10M網(wǎng)口(采用SCC1實(shí)現(xiàn),如圖3所示)和1個(gè)10/100M自適應(yīng)網(wǎng)口(如圖4所示)。

MPC860T中I/O口引腳幾乎都有多種功能,通過(guò)對(duì)有關(guān)的寄存器進(jìn)行設(shè)置或?qū)⒛承┮_設(shè)置成指定電位,使得有關(guān)I/O口的功能為設(shè)計(jì)指定的功能。在設(shè)計(jì)時(shí),可能會(huì)發(fā)現(xiàn)某些多功能引腳要么只能處于A功能,要么處于B功能,無(wú)法使得A、B功能同時(shí)滿足。由于MPC860T的引腳多、各引腳的功能也多,為了能夠盡快地確定各引腳的功能,可利用摩托羅拉公司提供的引腳功能安排工具,檢查引腳功能上的沖突。

MPC860T是遵照POWERPC結(jié)構(gòu)體系的嵌入式芯片系列,因此可實(shí)現(xiàn)多任務(wù)操作,并支持多種內(nèi)存映射方式,完全能夠運(yùn)行實(shí)時(shí)多任務(wù)操作系統(tǒng),以便滿足通信控制設(shè)備所要求的實(shí)時(shí)性。

Wind River公司的VxWorks實(shí)時(shí)多任務(wù)嵌入式操作系統(tǒng)是大多數(shù)實(shí)時(shí)嵌入式系統(tǒng)的首選,具有其它嵌入式操作系統(tǒng)無(wú)法比擬的內(nèi)核代碼少、裁剪性強(qiáng)、實(shí)時(shí)性強(qiáng)、軟件模塊多等優(yōu)點(diǎn)。本文的多網(wǎng)口通信實(shí)現(xiàn)是在VxWorks集成環(huán)境TORNADO 2.0下開(kāi)發(fā)的。關(guān)于VxWorks實(shí)時(shí)嵌入式操作系統(tǒng)可參見(jiàn)Wind River公司的相關(guān)資料。

VxWorks支持TCP/IP協(xié)議棧,用戶程序可通過(guò)BSD套接字方式訪問(wèn)網(wǎng)絡(luò),工作方式和Windows下的BSD套接字方式基本一樣。

VxWorks的TCP/IP協(xié)議棧與網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)的接口有兩種。一種是標(biāo)準(zhǔn)的BSD4驅(qū)動(dòng)程序。它將驅(qū)動(dòng)程序和協(xié)議緊密關(guān)聯(lián)在一起,不利于多協(xié)議的支持(后期BSD進(jìn)行了改進(jìn),可實(shí)現(xiàn)多協(xié)議的支持)。VxWorks不推薦使用BSD4驅(qū)動(dòng)程序。另一種標(biāo)準(zhǔn)是VxWorks專有的END(Enhanced Network Driver)驅(qū)動(dòng)程序。它通過(guò)一個(gè)稱為MUX的薄層,將驅(qū)動(dòng)程序和協(xié)議棧隔離開(kāi),達(dá)到驅(qū)動(dòng)程序獨(dú)立于具體協(xié)議的目的,從而實(shí)現(xiàn)多協(xié)議的支持。END驅(qū)動(dòng)程序技術(shù)多播和輪詢通信方式。因此,我們采用END驅(qū)動(dòng)程序方式來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序,擴(kuò)展通信功能。

VxWorks的驅(qū)動(dòng)程序既可以在啟動(dòng)時(shí)加載,也可以在系統(tǒng)啟動(dòng)后加載。不過(guò)網(wǎng)絡(luò)驅(qū)動(dòng)程序,最好是在啟動(dòng)時(shí)加載(本文采用此方式)。VxWorks啟動(dòng)時(shí),發(fā)起的tUsrRoot任務(wù)初始化網(wǎng)絡(luò)任務(wù)的JOB隊(duì)列,同時(shí)發(fā)起tNetTask任務(wù)來(lái)處理網(wǎng)絡(luò)任務(wù)中的JOB隊(duì)列,調(diào)用muxDevLoad()裝載用戶網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序。之后,通過(guò)muxDevStart()啟動(dòng)該網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序。

用戶驅(qū)動(dòng)程序的中斷例程,通過(guò)sysIntConnect()掛接在系統(tǒng)的中斷結(jié)構(gòu)上。一般在muxDevStart()中完成該工作。

驅(qū)動(dòng)程序的中斷例程,一般盡可能少地做一些將接收的數(shù)據(jù)包搬移工作,以減少中斷關(guān)閉的時(shí)間。用戶的實(shí)際中斷處理服務(wù)例程放在netJob任務(wù)中完成(中斷例程通過(guò)netJobAdd()函數(shù)將實(shí)際中斷處理服務(wù)例程加到netJob任務(wù)的隊(duì)列中)。

用戶在編寫好驅(qū)動(dòng)程序后,應(yīng)根據(jù)要求修改板級(jí)支持軟件包(BSP)中confignet.h的內(nèi)容,以例系統(tǒng)正確加載。主要修改endTb1表。

修改config.h中的相關(guān)內(nèi)容:在默認(rèn)情況下,系統(tǒng)僅僅支持1個(gè)網(wǎng)絡(luò)接口。如果在config.h包含了#define FADS_860T,那么默認(rèn)啟動(dòng)能夠工作的是100M的網(wǎng)絡(luò)接口(motfec0);如果在config.h中沒(méi)有包含#define FADS_860T,那么默認(rèn)啟動(dòng)能夠工作的是10M的網(wǎng)絡(luò)接口(cpm0)。

操作系統(tǒng)根據(jù)啟動(dòng)參數(shù)來(lái)對(duì)網(wǎng)絡(luò)接口進(jìn)行配置,簡(jiǎn)要流程如下:

①在usrRoot()中調(diào)用usrNetworkInit()(在prjConfig.c中)。在usrNetworkInit()中調(diào)用:

*usrNetProtoInit()初始化網(wǎng)絡(luò)協(xié)議堆棧(包括BSD Socket Support、Host Table、BSD4.4Ipv4、BSD4.4UDPv4、BSD4.4TCPv4、BSD4.4ICMPv4、BSD4.4IGMPv4以及調(diào)試和show facility部分等等)。

  • 上一篇: TINI的硬件結(jié)構(gòu)和軟件環(huán)境
  • 下一篇: 嵌入式Web服務(wù)器的分析與研究
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1