<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 基于PC104總線(xiàn)的嵌入式以太網(wǎng)卡設計

基于PC104總線(xiàn)的嵌入式以太網(wǎng)卡設計

作者: 時(shí)間:2006-07-13 來(lái)源:網(wǎng)絡(luò ) 收藏

引言

近幾年來(lái),PC機技術(shù)向應用領(lǐng)域滲透的步伐逐漸加大,PC機以其超小的體積、極低的功耗散熱,無(wú)需機箱和底板就可直接疊裝組合成各種系統而受到用戶(hù)的歡迎,因而具有巨大的應用潛力。早期的PC機產(chǎn)品是8位和16位的ISA的標準化母板的PC機,后來(lái)又開(kāi)發(fā)出多種小型化嵌入式PC產(chǎn)品。當前,國際上小型化嵌入式PC產(chǎn)品中,較有代表性的當數,其尺寸僅為9.14cm9.65cm,不用插板和母板,模塊之間采用層疊式封裝。與ISA規范完全兼容。因此,用戶(hù)能夠充分利用目前被廣泛認可的PC結構體系、現有的軟硬件資源,提供自己的需求組合成更多的功能,開(kāi)發(fā)出新型的產(chǎn)品,以大大縮短產(chǎn)品開(kāi)發(fā)周期及成本。

隨著(zhù)信息網(wǎng)絡(luò )技術(shù)的發(fā)展,工業(yè)現場(chǎng)應用中往往存在大量的設備上網(wǎng)的需求。目前,為了實(shí)現網(wǎng)絡(luò )化系統,工業(yè)設備都必須以網(wǎng)絡(luò )終端的形式出現在系統中。由于工業(yè)控制系統設備的多樣性和分布性,智能模塊方式的嵌入式終端已成為主流設備控制方式,而這種網(wǎng)絡(luò )終端大多用單片機或數字信號處理器來(lái)實(shí)現。在功能單一及性能要求不高的情況下,采用8位或16位的MCU往往滿(mǎn)足了現場(chǎng)要求。隨著(zhù)硬件成本的降低及市場(chǎng)上需要更大功率、復雜而功能豐富的嵌入應用的增加,在嵌入式處理器的高端產(chǎn)品市場(chǎng)上,32位機器得到了很大的成長(cháng)空間。典型的有Advanced RISC Machines公司的ARM系列、IBM及Motorola公司的PowerPC、Silicon Graphics公司的MIPS芯片等。Intel公司也在它原有的X86系列中專(zhuān)門(mén)增加了一種產(chǎn)品系列386EX,其軟件與其它X86微處理器保持完全一致。此,本文提出了一種利用Intel 386EX嵌入式微處理器智能網(wǎng)擴展模塊NP104的方法。利用此模塊,可以實(shí)現工業(yè)現場(chǎng)應用中PC104或工業(yè)PC的智能電子設備快速上網(wǎng)的需求。

1 基本組成及功能概述

NP104是一款支持PC104的智能網(wǎng)擴展模塊。NP104占用PC104總線(xiàn)(或ISA總線(xiàn))上的一段存儲器空間(約4KB),通過(guò)高速雙口RAM與主系統交換數據。NP104智能網(wǎng)絡(luò )擴展模塊的主要功能包括以下兩方面:實(shí)時(shí)接收系統CPU提交的數據,按照TCP/IP協(xié)議進(jìn)行封裝,通過(guò)板的網(wǎng)控制接口發(fā)往目的地;自動(dòng)接收網(wǎng)絡(luò )上發(fā)來(lái)的數據,并進(jìn)行解包得到應用數據,放入雙口RAM供系統CPU讀取。

NP104主要針對基于PC104或工業(yè)PC的智能電子設備,需要快速實(shí)現設備網(wǎng)絡(luò )化的應用領(lǐng)域而的。由于是通過(guò)雙口RAM與系統CPU交換數據,客戶(hù)只需在現有設備中加插1張NP104板卡,在程序中增加簡(jiǎn)單的幾行代碼,即可實(shí)現通過(guò)網(wǎng)絡(luò )傳送數據的目的,最大限度地縮短新產(chǎn)品的入市時(shí)間。另外,NP104支持DOC2000大容量電子盤(pán),可實(shí)現嵌入式Web服務(wù)器等高級網(wǎng)絡(luò )應用。

圖1是NP104的硬件功能框圖。從圖1可知,NP104是一個(gè)基于Intel 386EX的完整嵌入式系統,其主要技術(shù)指標如下:

*僅使用PC104的XT總線(xiàn)部分,可與所有PC104主板或帶PC104接口的工控PC主板配合使用;

*系統CPU對NP104上的雙口RAM讀寫(xiě)速度不低于500 KB/s,保證PC104讀寫(xiě)速度不影響網(wǎng)絡(luò )傳輸速度;

*NP104上386EX的工作時(shí)鐘為40MHz,一般指令周期100ns,滿(mǎn)足絕大部分應用的需求;

*標準10Mbps以太網(wǎng)接口,10Base-T連接方式;

*雙口RAM占用的存儲器空間可配置;

*可使用PC104的IRQ5中斷資源,以便快速響應通信請求;

*標準PC104板卡尺寸(96mm90mm)。

NP104內部主要技術(shù)指標為:

*48MHz Intel386EX高性能、32位微處理器;

*512KB Flash存儲器,帶磁盤(pán)文件驅動(dòng)軟件接口;

*10Base-T以太網(wǎng)控制接口,NE2000兼容;

*1個(gè)標準RS232C串口(9線(xiàn));

*可直接支持M-System公司的DiskOnChip2000系列大容量電子盤(pán)芯片;

*供電電壓:5(10.05)V,工作電流570mA;

*標準PC104尺寸:96mm90mm,提供標準安裝孔;

*工作溫度-10~65℃,工作濕度為5%~95%,滿(mǎn)足國際GB7261第21章規定的電子產(chǎn)品濕熱試驗要求;

*NP104可保證不影響其嵌入的整機對圖像GB6162規定的干擾試驗以及國際GB/T14598.10規定的參級快速瞬變干擾試驗的通過(guò)。

2 系統說(shuō)明

NP104內部是一個(gè)以386EX為核心的嵌入式系統,通過(guò)雙口RAM與PC104主CPU進(jìn)行數據交換。以下把NP104擴展板內CPU稱(chēng)為386EX,PC104上的系統CPU稱(chēng)為主CPU。作為10 Mbps以太網(wǎng)接口,采用8位數據總線(xiàn)寬度即可滿(mǎn)足應用需求。雙口RAM器件選用4K8bit的IDT7134LA,器件封裝為PLCC52。

雙口RAM數據區定義如表1所列。

從表1可看出,雙口RAM被分成2個(gè)基本部分,分別對應主CPU從NP104板中讀取來(lái)自于網(wǎng)絡(luò )的應用數據,以及主CPU把應用數據寫(xiě)入NP104緩沖區,NP104按照命令作相應的操作。以下詳細描述每一數據段的功能定義。

表1

地址偏移基本描述主CPU386EX
0x0000x03f狀態(tài)字節,輸入數據包準備好;硬件敏感可讀、寫(xiě)可讀、寫(xiě)
0x0400x07f控制字節,主CPU中斷使能;硬件敏感可讀、寫(xiě)只讀
0x0800x0bf保留;硬件敏感  
0x0c00x0ff保留;硬件敏感  
0x1000x103輸入緩沖區初始化狀態(tài)(=0x2345678)只讀可讀、寫(xiě)
0x1080x10f信號燈字節(0:空閑,1:忙):先讀后寫(xiě)可讀、寫(xiě)可讀、寫(xiě)
0x1100x1ff返回參數區,240字節只讀可讀、寫(xiě)
0x2000x7ff輸入數據緩沖區,1 536字節只讀可讀、寫(xiě)
0x8000x83f狀態(tài)字節,輸出數據包準備好;硬件敏感可讀、寫(xiě)只讀
0x7400x87f控制字節,386EX中斷使能;硬件敏感可讀、寫(xiě)只讀
0x8800x8bf保留;硬件敏感可讀、寫(xiě)只讀
0x8c00x8ff保留;硬件敏感可讀、寫(xiě)只讀
0x9000x903輸出緩沖區初始化狀態(tài)(=0x12345678)可讀、寫(xiě)只讀
0x9080x90f信號燈字節(0:打開(kāi),1:鎖定):先讀后寫(xiě)可讀、寫(xiě)可讀、寫(xiě)
0x90f0x9ff輸出參數,240字節可讀、寫(xiě)只讀
0xa000xfff輸出數據緩沖區,1 536字節可讀、寫(xiě)只讀

(1)初始化過(guò)程

主CPU對輸入緩沖區進(jìn)行初始化,順序如下:①輸入數據包準備好狀態(tài)字節清零;②信號燈字節清零,即空閑;③根據需要設備中斷使能位;④初始化狀態(tài)置為0x12345678。386EX對輸出緩沖區進(jìn)行初始化,順序如下:①輸出數據包準備好狀態(tài)字節清零;②信號燈字節清零,即空閑狀態(tài);③根據需要設備中斷使能位;④初始化狀態(tài)置為0x12345678。

(2)信號燈和狀態(tài)字節的定義及操作

為了保證雙邊CPU都充分發(fā)揮其作用,發(fā)生在NP104板上雙口RAM的數據通信,不采用阻塞式的握手線(xiàn)方式,而是采用非阻塞式的信號燈的通信方式?;静僮髟瓌t為:當CPU要對某一緩沖區數據進(jìn)行讀或寫(xiě)操作時(shí),需首先檢查相應的信號燈字節,若信號燈處于空閑,則把信號燈設置為忙。之后,就可對相應緩沖區進(jìn)行操作了,操作完成后,再把信號燈設置為空閑。如果僅僅是查詢(xún)狀態(tài),不需要操作信號燈。對緩沖區進(jìn)行任何操作的前提是緩沖區的初始化狀態(tài)字(長(cháng)整型)已被設置為0x12345678。

(3)系統主CPU與386EX數據通信過(guò)程

在PC104系統主CPU與NP104通信過(guò)程中,主CPU與386EX通過(guò)雙口RAM進(jìn)行數據的收發(fā)工作。系統CPU向輸出緩沖寫(xiě)入數據,則386EX從輸出緩沖區讀取數據。相應地,386EX從網(wǎng)絡(luò )中接收數據并寫(xiě)放輸入緩沖區中,然后,系統CPU從輸入緩沖區中讀取數據。這里,輸入及輸出緩沖區都是相對于系統主CPU而言的。

(4)中斷使能字節及使用

NP104卡支持主CPU采用中斷方式來(lái)讀取輸入緩沖區的數據,之前主CPU需進(jìn)行設置相應的中斷使能位為1的操作。當386EX把RcvDatRdy置1時(shí),NP104卡有專(zhuān)門(mén)的硬件邏輯檢測這一操作,從而設置對主CPU的中斷請求線(xiàn)IRQ#為1;當主CPU把RcvDatRdy清0時(shí),NP104卡將使中斷請求線(xiàn)IRQ#復0。相應地,386EX也可以采用中斷方式來(lái)讀取輸出緩沖區的數據,之間386EX需進(jìn)行設置相應的中斷使能位1的操作。當主CPU把SndDatRdy置1時(shí),NP104卡有專(zhuān)門(mén)的硬件邏輯檢測這一操作,并設置對386EX的中斷請求線(xiàn)INT3(IRQ7)為1;當386EX把SndDatTdy清0時(shí),NP104卡將使中斷請求線(xiàn)INT3復為0。

(5)資源分配說(shuō)明

雙口RAM在386EX的存儲空間映射區域為A8000H~A8FFFH;雙口RAM在PC104空間映射區域為D8000H~D8FFFH;512K電子盤(pán)的頁(yè)地址寄存器口地址為0X300H。

3 模塊驅動(dòng)程序設計及測試

嵌入式應用軟件典型的開(kāi)發(fā)方式是“宿主機/目標機”方式。首先,利用宿主機上豐富的資源及良好的開(kāi)發(fā)環(huán)境開(kāi)發(fā)和仿真調試目標機上的軟件。然后,通過(guò)串行口或網(wǎng)絡(luò )將交叉編譯生成的目標代碼傳輸并裝載到目標機上。最后,目標機在特定的環(huán)境下運行。

PC104正常工作必須要有驅動(dòng)程序的支持。此驅動(dòng)程序采用ANSI C語(yǔ)言編寫(xiě),由于系統PC兼容的程序運行環(huán)境,因此可以充分利用PC上現有的廉價(jià)軟件資源,而無(wú)需專(zhuān)門(mén)的開(kāi)發(fā)調試系統。程序在Borland C3.0集成開(kāi)發(fā)環(huán)境下實(shí)現。通過(guò)與封裝好的TCP/IP協(xié)議棧的鏈接,NP104提供了雙口RAM的驅動(dòng)程序。驅動(dòng)程序由包含幾個(gè)源文件的工程文件通過(guò)編譯連接TCP/IP協(xié)議棧而生成.EXE文件,通過(guò)BC遠程下載到NP104硬件系統的電子盤(pán)中。系統BIOS對此.EXE文件進(jìn)行調用,一旦嵌入式擴展模塊的設備正常運行,系統就具備了網(wǎng)絡(luò )通信能力,其基本的程序流程框圖如圖2所示。由此可見(jiàn),在系統正常工作狀態(tài)下,NP104一直處于循環(huán)檢查以太網(wǎng)及中斷響應主系統命令的狀態(tài),以保證主系統設備與網(wǎng)絡(luò )的正常通信。相應地,對于主系統而言,NP104的接口驅動(dòng)程序包括12個(gè)功能調用,即雙口RAM初始化、初始化以太網(wǎng)接口、建立與關(guān)閉TCP連接、讀取TCP/IP網(wǎng)絡(luò )接口數據及發(fā)送數據至TCP/IP網(wǎng)絡(luò )接口等功能。本系統中的軟件是在基于DOS操作系統之上運行的,另外本系統亦可提供基于多任務(wù)RTOS如VRTX、DeltaOS的應用環(huán)境。

系統測試時(shí),NP104與PC104主板構成基本環(huán)境,NP104與局域網(wǎng)相接,PC104主板上的測試程序(采用BC編寫(xiě))通過(guò)調用NP104接口程序,與LAN上的上位機進(jìn)行通信。同時(shí),在LAN上連接上位PC機,運行相應的測試程序(采用VC編寫(xiě)),以檢驗NP104的通信功能。在系統測試過(guò)程中,盡可能地考慮了通信過(guò)程中可能出現的各種異常情況,并采取了相應的處理措施。比如在通信過(guò)程中,NP104運行異常中止并重新復位運行后,此時(shí)PC104能夠及時(shí)檢查到NP104的復位信息;另外,當PC104主機出現異常重新啟動(dòng)后,可使用InitNP104()函數重新啟動(dòng)NP104。在此函數中,通過(guò)軟件的方式實(shí)現了硬件的復位,以確保NP104正常通信。

結束語(yǔ)

利用Intel嵌入式微處理器386EX設計的基于PC104總線(xiàn)的智能網(wǎng)絡(luò )擴展模塊可以滿(mǎn)足基于PC104總線(xiàn)或工業(yè)PC的智能電子設備的快速上網(wǎng)需求,在中國電力科學(xué)研究院電力電子公司的現場(chǎng)應用中,利用此方法設計的模塊已能正常運行。隨著(zhù)嵌入式應用的日益深入,各種現場(chǎng)應用對高性能及實(shí)時(shí)性的求也不斷增加,RTOS將在嵌入式系統設計中占據主導地位,嵌入式Linux也將在嵌入式系統中得到越來(lái)越廣泛的應用?;赑owerPC、MIPS、StrongARM微處理器的產(chǎn)品也將不斷出現在未來(lái)的現場(chǎng)應用中。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>