當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]嵌入式以太網(wǎng)不僅可用于工業(yè)現(xiàn)場實(shí)現(xiàn)現(xiàn)場節(jié)點(diǎn)的自動(dòng)上網(wǎng)功能,而且還可以用于信息家電的以太網(wǎng)接口實(shí)現(xiàn)遠(yuǎn)程控制,具有很好的發(fā)展前景。

    摘要:嵌入式以太網(wǎng)不僅可用于工業(yè)現(xiàn)場實(shí)現(xiàn)現(xiàn)場節(jié)點(diǎn)的自動(dòng)上網(wǎng)功能,而且還可以用于信息家電的以太網(wǎng)接口實(shí)現(xiàn)遠(yuǎn)程控制,具有很好的發(fā)展前景。文章介紹基于TMS320LF2407型DSP的嵌入式系統(tǒng)與LAN91C111型自適應(yīng)10Mb/s/100Mb/s嵌入式以太網(wǎng)控制的接口電路及軟硬件實(shí)現(xiàn)方法。

    關(guān)鍵詞:數(shù)字信號(hào)處理 LAN91C111 TCP/IP 嵌入式以太網(wǎng)

1 引言

在電子設(shè)備日趨網(wǎng)絡(luò)的背景下,目前廣泛使用的以太網(wǎng)及TCP/IP協(xié)議已經(jīng)成為事實(shí)上最常用的網(wǎng)絡(luò)標(biāo)準(zhǔn)之一,它的高速、可靠、分層及可擴(kuò)充性使得它在各個(gè)領(lǐng)域的應(yīng)用越來越靈活,很多情況下運(yùn)用以太網(wǎng)和TCP/IP能夠簡化結(jié)構(gòu)和降低成本。目前關(guān)于嵌入式以太網(wǎng)的設(shè)計(jì)方案不是很多,其中大多是基于單片機(jī)的,缺點(diǎn)是速度慢、成本太高。DSP作為一種特殊的嵌入式微處理器系統(tǒng),具有嵌入的協(xié)處理器和用于快速數(shù)據(jù)處理的并行數(shù)據(jù)通道,在嵌入式網(wǎng)絡(luò)設(shè)備中引入DSP技術(shù)可以使嵌入式以太網(wǎng)變得更快、更便宜、更容易進(jìn)行功能擴(kuò)充。本文介紹了基于TMS320LF2407型的嵌入式系統(tǒng)與LAN91C111型自適應(yīng)10Mb/s/100Mb/s嵌入式以太網(wǎng)控制芯片的接口電路和實(shí)現(xiàn)方法。

2 LAN91C111

LAN91C111是SMSC公司為嵌入式應(yīng)用系統(tǒng)推出的第三代快速以太網(wǎng)控制器。LAN91C111的芯片上集成了遵循SMSC/CD協(xié)議的MAC(媒體層)和PHY(物理層),符合IEEE802.3/802.U-100Base-Tx/10Base-T規(guī)范,其系統(tǒng)結(jié)構(gòu)如圖1所示。該以太網(wǎng)控制器的主要功能如下:

·自適應(yīng)地選傳輸速率,支持10Mb/s/100Mb/s;

·充分支持全雙工交換式以太網(wǎng);

·支持突發(fā)數(shù)據(jù)傳輸;

·8k字節(jié)的內(nèi)部存儲(chǔ)器用作接收發(fā)送的FIFO緩存;

·增強(qiáng)式能量管理功能;

·支持總線8位、16位、32位的CPU訪問;

·提前發(fā)送和接收。

LAN91C111以太網(wǎng)控制器遵循IEEE頒布的802.3以太網(wǎng)傳輸協(xié)議。其8-32位數(shù)據(jù)總線接口單元通過控制總線、地址總線和數(shù)據(jù)總線與外部的CPU相連。外部數(shù)據(jù)可以8位、16位或32位的方式與LAN91C111進(jìn)行交換。該電路還集成了EEPROM接口,自舉時(shí)再通過EEOROM接口輸入到芯片中,從而實(shí)現(xiàn)自動(dòng)初始化??偩€仲裁器(Arbiter)用來監(jiān)視以太網(wǎng)總線的數(shù)據(jù)交流情況,一旦發(fā)生阻塞,仲裁器一方面通過總線接口單元與外部CPU聯(lián)系,另一方面控制內(nèi)存控制單元(MMU),實(shí)現(xiàn)總線數(shù)據(jù)協(xié)調(diào)。內(nèi)存控制單元可控制8kB動(dòng)態(tài)SRAM的存儲(chǔ)情況,實(shí)現(xiàn)與DMA控制器之間的數(shù)據(jù)聯(lián)絡(luò)。DMA控制器與總線控制器一起控制DMA與以太網(wǎng)協(xié)議處理器(EPH)之間的數(shù)據(jù)交換。以太網(wǎng)協(xié)議處理器(EPH)之間的數(shù)據(jù)交換。以太網(wǎng)協(xié)議處理器出來的數(shù)量最終經(jīng)過10Mb/s/100Mb/s的物理層(PHY)直接到達(dá)以太網(wǎng)總線。

3 硬件電路組成

出于性價(jià)比的考慮,選用DSP控制器作為主CPU。TMS320LF2407是TI公司發(fā)布的一款高性價(jià)比的,適用于工業(yè)控制領(lǐng)域的DSP。該系列具有強(qiáng)大的指令系統(tǒng)、較強(qiáng)的靈活性、高速的數(shù)學(xué)處理功能及全新的內(nèi)部結(jié)構(gòu),可廣泛用于通信、計(jì)算機(jī)、商業(yè)、工業(yè)、軍事等領(lǐng)域。TMS320LF2407是240X系列控制器中功能最強(qiáng)的一款,采用低功耗CMOS技術(shù),具有30MI/s的執(zhí)行速率,片上還集成了豐富的外圍部件(EVM、A/D模塊、CAN、SCI、SPI及JTAG)。TMS320LF2407的工作頻率較高(40MHz),存貯空間較大(高達(dá)32k字的FLASH程序存儲(chǔ)器,可擴(kuò)展外部64k字存儲(chǔ)器,64k字I/O尋址空間),非常適合處理復(fù)雜的TCP/IP協(xié)議。

    由于LAN91C111是專為嵌入式系統(tǒng)設(shè)計(jì)的,因此,其外圍電路相對(duì)比較簡單。它和沒有DMA傳輸性能的16位DSP(TMS320LF2407)及TG110-S050N2型電磁耦合變壓器構(gòu)成的嵌入式以太網(wǎng)結(jié)構(gòu)如圖2所示。圖中,地址總線A1-A15相連。A0沒有被LAN91C111使用,懸空;數(shù)據(jù)總線D0-D15相連,用于16位數(shù)據(jù)傳輸。LAN91C111端D16-D32懸空;LAN91C111的片選信號(hào)AEN由DSP的外部I/O接口選通信號(hào)IS提供。二個(gè)元件的讀電平RD、寫電平WR分別相連。LAN91C111的中斷輸出信號(hào)INTRO送入DSP的外部中斷腳XINT1觸發(fā)中斷。嵌入式以太網(wǎng)通信模塊的電路原理如圖3所示。

4 軟件設(shè)計(jì)

4.1 μC/OS II實(shí)時(shí)操作系統(tǒng)的移植

μC/OS II是一種開放源碼的實(shí)時(shí)嵌入式操作系統(tǒng),是一個(gè)可移植、可裁減、可固化的占先式多任務(wù)操作系統(tǒng),已被應(yīng)用到多種微處理器中,其大部分源碼是用ANSI C語言編寫的。移植工作包括以下幾個(gè)內(nèi)容:

(1)用匯編語言改寫OS_CPU_A.ASM文件

該文件包括4個(gè)子程序:_OSStartHighRdy、OSCtxSw、OSIntCtxSw和OSTickISR。OSStartHighRdy()函數(shù)被OSStart()函數(shù)調(diào)用,功能是運(yùn)行優(yōu)先級(jí)最高的就緒任務(wù);OSCtxSw()函數(shù)被OS Sched()函數(shù)調(diào)用,其功能是在任務(wù)級(jí)實(shí)現(xiàn)任務(wù)切換,任務(wù)切換用31號(hào)軟中斷來實(shí)現(xiàn);OSIntCtxSw()函數(shù)只能在中斷子程序里被OSIntExit()函數(shù)調(diào)用,由于中斷的產(chǎn)生可能引起任務(wù)切換,因此在中斷服務(wù)程序的最后會(huì)調(diào)用OSIntExit()函數(shù)調(diào)用,由于中斷的產(chǎn)生可能引起任務(wù)切換,因此在中斷服務(wù)程序的最后會(huì)調(diào)用OSIntExit()函數(shù)來檢查任務(wù)就緒狀態(tài),如果滿足任務(wù)切換條件(在最后一層中斷里,并有高優(yōu)先級(jí)任務(wù)就緒),則OSIntExit()調(diào)用此函數(shù)實(shí)現(xiàn)任務(wù)切換;時(shí)鐘節(jié)拍函數(shù)OSTickISR()的功能如下:TMS320LF2407有4個(gè)通用定時(shí)器,其中斷優(yōu)先級(jí)由高到低分別為T1、T3、T2、T4,可根據(jù)實(shí)際需要選擇基中的一個(gè)來實(shí)現(xiàn)時(shí)鐘節(jié)拍。需要注意的是:調(diào)用_OSIntEnter前不能開中斷。如果在調(diào)用_OSIntEnter前就開中斷,有可能在OSIntNesting加1前就被中斷。若發(fā)生這種情況,則當(dāng)高優(yōu)先級(jí)的中斷調(diào)用OSIntExit()而退出時(shí),應(yīng)直接從高優(yōu)先級(jí)中斷里切換到任務(wù),而不是反回到_OSTickISR(假設(shè)_OSTickISR是最后一層中斷),其根本原因就在于_OSTickISR還沒有來得及將OSIntNesting加1就被中斷了。在用戶的其他中斷服務(wù)程序中也應(yīng)該防止此類錯(cuò)誤。

(2)用C語言改寫OS CPU_C.C文件

本文件僅包括一個(gè)OSTaskStkInit()子程序。該函數(shù)可模仿TI公司的1$$SAVE庫函數(shù)對(duì)任務(wù)堆棧進(jìn)行初始化,被OSTaskCreate()函數(shù)和OSTaskCreateExt()函數(shù)所調(diào)用,該函數(shù)是用來返回任務(wù)堆棧初始化后的指針值。注意:TMS320LF2407A本身的堆棧(以下簡稱US)只有8級(jí),無法作為系統(tǒng)堆棧使用,所以C編譯器將其內(nèi)部的二個(gè)突破口AR0,AR1保留,其中AR1作為堆棧指針SP,AR0用做堆棧中臨時(shí)變量指針FP(在匯編程序中不要使用這二個(gè)寄存器,如果必須使用,要關(guān)中斷,并注意保存和恢復(fù))。編譯器將函數(shù)和中斷壓進(jìn)US的返回地址彈出放在SP(AR1)指南的堆棧中,并保留環(huán)境,不同的是函數(shù)只保留程序要使用的寄存器,中斷要調(diào)用I$$AVE保存所有寄存器,返回時(shí)要跳轉(zhuǎn)到(而不是調(diào)用)I$$REST(這兩個(gè)函數(shù)可以在RTS.SRC中看到源代碼)恢復(fù)寄存器,這二個(gè)函數(shù)就象8068里的中斷進(jìn)入和指令HRET,是移植OSTaskStkInit()函數(shù)的基礎(chǔ)。

(3)編寫OS_CPU.H文件

內(nèi)容可根據(jù)μC/OS-II中的“80×86”的內(nèi)容進(jìn)行修改,這里僅給出關(guān)鍵內(nèi)容:

#define OS STK GROWTH 0

#define OS ENTER CRITICAL() asm("SETC IN TM");

#define OS_EXIT CRITICAL() asm ("CLRC IN TM");

#define OS-ASKee SW() asm("INTR 31");

(4)適當(dāng)OSMap Tb1[]和OSUnMapTb1[]

移植時(shí)還需要對(duì)tic /OS-II的OSMapTb1[]和O-SunMapTb1[]二個(gè)表進(jìn)行適當(dāng)處理,否則會(huì)出現(xiàn)尋址錯(cuò)誤而使μC/OS-II無法正常運(yùn)行,這是移植能否成功的重要因素之一。由于TMS320LF2407的存儲(chǔ)器采用的是哈佛結(jié)構(gòu),F(xiàn)lash存儲(chǔ)器(或外擴(kuò)的ROM)位于程序區(qū),因此,處理的方法如下:將tic /OS-II中OSMapTb1[]和OSUnMapTb1[]的數(shù)據(jù)類型從“INT8U const'改為‘INT8U’,并在鏈接器命令文件(.CMD)中將“.cinit”塊分配到Flash存儲(chǔ)器(或外擴(kuò)的ROM中,鏈接選項(xiàng)用“-C”(ROM初始化)。這樣,在程序運(yùn)行時(shí)將自動(dòng)對(duì)數(shù)據(jù)區(qū)的RAM進(jìn)行初始化,即運(yùn)行時(shí)自動(dòng)將“.cinit”塊中的數(shù)據(jù)復(fù)制到數(shù)據(jù)區(qū)的RAM中。

按需配置OS-FG.H,修改CPU中斷向量表和外設(shè)向量表后,其他文檔的內(nèi)容可根據(jù)實(shí)際需要進(jìn)行相應(yīng)設(shè)置。至此,μC/OS-II在TMS320LF2407上的移植就完成了。

4.2 LAN91C111的編程

4.2.1 初始化

上電后,LAN91C111內(nèi)部寄存器的值均設(shè)置為缺省值,CPU將根據(jù)需要設(shè)置其中的Configuration,Base和Individual Address寄存器,以保證電路正確工作。

4.2.2 發(fā)送數(shù)據(jù)包流程

(1)DSP向控制器發(fā)送ALLOCATE MEMORY命令(設(shè)置MMUCOM寄存器,通常設(shè)置為0x0020),MMU為待發(fā)送的包在控制器內(nèi)部的packet buffer中分配存儲(chǔ)空間。

(2)DSP查詢Interrupt Status寄存器中的ALLOC INT位,直到該位被置成1,也可以設(shè)置Interrupt Mask中的ALLOC INT位,然后等待硬件中斷,這時(shí),MMU已經(jīng)分配好存儲(chǔ)空間。而且TX packet number放在Allocation Result寄存器中。(3)將Allocation Result寄存器中的packet number:拷貝到Packet Number:寄存器中,設(shè)置Pointer寄存器(設(shè)置為TX;WR,AUTOINC,即0x4000)。然后將包中數(shù)據(jù)從upper layer發(fā)送隊(duì)列傳送到控制器的Data Register。要求依次寫入Status Word、Byte Count、destination address、source address、packet size、packet data、control word。

(4)DSP向控制器發(fā)送“ENQUEUE PACKET NUMBER TO TX FIFO”命令(設(shè)置MMUCOM寄存器,通常設(shè)置0x00C0),該命令將Packet Number寄存器中的packet number拷貝到TX FIFO,說明發(fā)送的包已放入隊(duì)列中。同時(shí)設(shè)置Transmit control寄存器中的TXENA位。同時(shí)設(shè)置Transmit control寄存器中的TXENA位,啟動(dòng)transmitter。到此為止,DSP的設(shè)置工作完成,它可以IDLE,直到接收到一個(gè)控制器產(chǎn)生的發(fā)送中斷。

(5)當(dāng)控制器傳送完包以后,memory中的第一個(gè)字(16bit)被CSMA/CD寫入相應(yīng)的Status Word,然后將TX FIFO中的packet number移到TX completion FIFO,當(dāng)TX completion FIFO不為空時(shí)產(chǎn)生中斷。

(6)DSP接收到中斷后,開始執(zhí)行中斷處理程序,它讀入Interrupt Status寄存器,如果產(chǎn)生發(fā)送中斷,則從FIFO ports寄存器讀入發(fā)送的包中的packet number,并將它寫入packet number寄存器。然后從memory中讀人Status Word(包括設(shè)置Pointer寄存器為TX、RD、AUTOINC,即0x6000,然后從數(shù)據(jù)寄存器中讀入包的Status Word),它是EPH寄存器的鏡像,再根據(jù)Status Word判斷包發(fā)送是否成功。如果成功,DSP則向控制器發(fā)送RELEASE命令(設(shè)置MMUCOM寄存器,設(shè)置為0x00A0),隨后控制器將釋放發(fā)送包所使用的存儲(chǔ)空間,同時(shí)設(shè)置TX INT Acknowledge寄存器,它將TX completion FIFO中的pecket unmber清除。有二種產(chǎn)生發(fā)送中斷的方案:每發(fā)送一個(gè)包產(chǎn)生一個(gè)中斷;每發(fā)送一個(gè)序列的包產(chǎn)生一個(gè)中斷。通過Control寄存器的Auto Release位來選擇這二種方案,而且這二種方案所使用發(fā)送中斷位也有所不同。

TX INT:當(dāng)TX completion FIFO不為空時(shí)置1e;

TX EMPTY INT:當(dāng)TX FIFO為空時(shí)置to;

AUTO RELEASE:如果置為1,發(fā)送包成功后,packet number不寫到TX completion FIFO中,而且它所使用的存儲(chǔ)空間被自動(dòng)釋放。

圖3

    (7)使用“每發(fā)送一個(gè)包產(chǎn)生一個(gè)中斷”方案時(shí),AUTO RELEASE=0,該方案的流程如上文所述。使用“每發(fā)送一個(gè)序列的包產(chǎn)生一個(gè)中斷”方案時(shí)允許TX EMPTY INT和TX INT,AUTORELEASE=1,當(dāng)發(fā)送完FIFO中的最后一個(gè)包后,產(chǎn)生TX EMPTY INT中斷。若出現(xiàn)嚴(yán)重的發(fā)送錯(cuò)誤,則產(chǎn)生TX INT中斷,同時(shí)將發(fā)送失敗的包的packet number保存到FIFO Ports寄存器,這樣DSP就可以知道發(fā)送過程停止了。這種方案可以減少DSP的負(fù)擔(dān),而且存儲(chǔ)空間的釋放也更迅速。當(dāng)AUTO RELEASE=1時(shí),DSP不能得到成功發(fā)送包的packet number。

4.2.3 接收數(shù)據(jù)包流程

(1)DSP設(shè)置receive control寄存器中的RXEN位,允許接收包。

(2)含有正確地址的包被接收到,從MMU請(qǐng)求存儲(chǔ)空間,并分派一個(gè)packet number,內(nèi)部的DMA邏輯產(chǎn)生連續(xù)的地址,并將接收到的字寫到memory中,如果超界,包被丟棄,存儲(chǔ)空間被釋放。當(dāng)檢測(cè)到包的結(jié)束,Status Word被寫到接收包的最前面,byte count寫到第二個(gè)字。如果CRC校驗(yàn)正確,packet number被寫到RX FIFO,由于RX FIFO非空時(shí),因此將產(chǎn)生RCV INT中斷;如果RCR校驗(yàn)不正確,則存儲(chǔ)空間被釋放,而且不產(chǎn)生中斷。

(3)DSP接收到中斷后開始執(zhí)行中斷處理程序,首先讀入Interrupt Status寄存器,如果產(chǎn)生接收中斷(RCV INT位為1),則可從FIFO ports寄存器得到接收包的packet number,而且可從data register將接收包傳送到DSP的內(nèi)存或外存中。當(dāng)處理結(jié)束,DSP向處理器發(fā)送REMOVE AND RELEASE FROM TOP OF RX命令(即設(shè)置寄存器MMUCOM為0x0060)以釋放使用的存儲(chǔ)空間和packet number。

5 結(jié)束語

以太網(wǎng)以其良好的通用性和突出的帶寬性能成為下一代工業(yè)控制網(wǎng)絡(luò)的焦點(diǎn)。本設(shè)計(jì)利用LAN91C111型嵌入式以太網(wǎng)控制器和DSP組成嵌入式以太網(wǎng)通信系統(tǒng),該系統(tǒng)能夠正確地接入快速以太網(wǎng),具備100/10Mbit/s、全雙工/半雙工自適應(yīng)等多種功能,符合IEEE802.3/802.3μ-100Base-TX/1Obase-T規(guī)范,其嵌入式以太網(wǎng)接口支持RJ45和以太網(wǎng)的連接,可以通過以太網(wǎng)接入Internet,從而實(shí)現(xiàn)從Internet上監(jiān)控嵌入式設(shè)備。對(duì)以太網(wǎng)和快速以太網(wǎng)的自動(dòng)協(xié)商模式使LAN91C111具有很高的性價(jià)比和廣泛的應(yīng)用領(lǐ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日 /美通社/ -- 英國汽車技術(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日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(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ì)日本游戲市場的投資。

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

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

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

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

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

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

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

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

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

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

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