當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于PC104總線的嵌入式以太網(wǎng)卡設(shè)計(jì)

引言

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

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

1 基本組成及功能概述

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

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

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

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

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

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

*標(biāo)準(zhǔn)10Mbps以太網(wǎng)接口,10Base-T連接方式;

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

*可使用PC104的IRQ5中斷資源,以便快速響應(yīng)通信請(qǐng)求;

*標(biāo)準(zhǔn)PC104板卡尺寸(96mm×90mm)。

NP104內(nèi)部主要技術(shù)指標(biāo)為:

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

*512KB Flash存儲(chǔ)器,帶磁盤文件驅(qū)動(dòng)軟件接口;

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

*1個(gè)標(biāo)準(zhǔn)RS232C串口(9線);

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

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

*標(biāo)準(zhǔn)PC104尺寸:96mm×90mm,提供標(biāo)準(zhǔn)安裝孔;

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

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

2 系統(tǒng)設(shè)計(jì)說(shuō)明

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

    雙口RAM數(shù)據(jù)區(qū)定義如表1所列。

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

表1 

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

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

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

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

    為了保證雙邊CPU都充分發(fā)揮其作用,發(fā)生在NP104板上雙口RAM的數(shù)據(jù)通信,不采用阻塞式的握手線方式,而是采用非阻塞式的信號(hào)燈的通信方式。基本操作原則為:當(dāng)CPU要對(duì)某一緩沖區(qū)數(shù)據(jù)進(jìn)行讀或?qū)懖僮鲿r(shí),需首先檢查相應(yīng)的信號(hào)燈字節(jié),若信號(hào)燈處于空閑,則把信號(hào)燈設(shè)置為忙。之后,就可對(duì)相應(yīng)緩沖區(qū)進(jìn)行操作了,操作完成后,再把信號(hào)燈設(shè)置為空閑。如果僅僅是查詢狀態(tài),不需要操作信號(hào)燈。對(duì)緩沖區(qū)進(jìn)行任何操作的前提是緩沖區(qū)的初始化狀態(tài)字(長(zhǎng)整型)已被設(shè)置為0x12345678。

(3)系統(tǒng)主CPU與386EX數(shù)據(jù)通信過(guò)程

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

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

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

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

    雙口RAM在386EX的存儲(chǔ)空間映射區(qū)域?yàn)锳8000H~A8FFFH;雙口RAM在PC104空間映射區(qū)域?yàn)镈8000H~D8FFFH;512K電子盤的頁(yè)地址寄存器口地址為0X300H。

3 模塊驅(qū)動(dòng)程序設(shè)計(jì)及測(cè)試

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

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

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

結(jié)束語(yǔ)

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉