




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
-.z第一章緒論信息對(duì)人類來說是非常重要的,從古代到現(xiàn)代,信息發(fā)揮著越來越大的作用,尤其到了現(xiàn)代,信息更是發(fā)揮了無可比擬的作用,因此,如何使得信息能夠正確快速的傳遞,成為了一個(gè)非常重要的問題。人們對(duì)信息的認(rèn)識(shí)利用,可以追溯到古代的通信實(shí)踐。中國(guó)古代的“烽隧相望〞還有古羅馬地中海諸城市的“懸燈為號(hào)〞,可以說是傳遞信息的較為原始的方式。1.1循環(huán)冗余校驗(yàn)的背景及應(yīng)用隨著社會(huì)生產(chǎn)的開展,科技的進(jìn)步,人們對(duì)傳遞信息的要求急劇增加。到了20世紀(jì)20年代,怎樣提高傳遞信息的能力和可靠性已成為普遍重視的課題。在傳輸過程中發(fā)生錯(cuò)誤后,能在接收端自行發(fā)現(xiàn)或糾正的碼叫做糾錯(cuò)碼,僅用來發(fā)現(xiàn)錯(cuò)誤的碼一般稱之為檢錯(cuò)碼。為了使一種碼具有檢錯(cuò)或糾錯(cuò)能力,需要對(duì)原碼字增加多余的碼元,以便擴(kuò)大碼字之間的差異,即把原碼字按照一定的規(guī)則變成具有一定冗余度的碼字,并使每個(gè)碼字的碼之間有一定的關(guān)系,這種關(guān)系的建立稱為編碼。碼字到達(dá)接收端后,可以根據(jù)編碼規(guī)則能否滿足來判定是否有錯(cuò)誤。當(dāng)條件不能滿足時(shí),按一定規(guī)則確定錯(cuò)誤所在位置并予以糾正。我們把糾錯(cuò)并恢復(fù)原碼字的過程稱為譯碼"檢錯(cuò)碼與其他手段結(jié)合使用,也可以糾錯(cuò)。在通信系統(tǒng)中可靠與快速常常是一對(duì)矛盾。如果要求快速,則必然使每個(gè)數(shù)據(jù)碼元所占的時(shí)間縮短、波形變窄、能量減少,從而在受到干擾后產(chǎn)生錯(cuò)誤地可能性增加,傳送信息的可靠性隨之下降。如果要求可靠,則就會(huì)使得傳送消息的速率變慢。因此,如何合理地解決可靠性也和速度這一對(duì)矛盾,是正確設(shè)計(jì)一個(gè)通信系統(tǒng)的關(guān)鍵問題之一。為保證傳輸過程中的正確性,需要對(duì)通信過程進(jìn)展過失控制。過失控制最為常用的方法包括自動(dòng)請(qǐng)求重發(fā)方式(ARQ)。前向糾錯(cuò)方式(FEC)和混合糾錯(cuò)(HEC)。在傳輸過程誤碼率較低的時(shí)候,采用FEC方式比擬理想。在傳輸過程誤碼率較高的時(shí)候,采用FEC易出現(xiàn)“亂糾〞現(xiàn)象。而HEC方式則是ARQ和FEC的結(jié)合。在許多數(shù)字通信中,廣泛采用ARQ方式,此時(shí)的過失控制只需要檢錯(cuò)功能。實(shí)現(xiàn)檢錯(cuò)功能的過失控制方法有很多,傳統(tǒng)方法有:奇偶校驗(yàn)、校驗(yàn)和檢測(cè)等,這些方法都是增加數(shù)據(jù)的冗余位,將校驗(yàn)碼和數(shù)據(jù)一起發(fā)送給接收端,然后接收端對(duì)接收到的數(shù)據(jù)進(jìn)展一樣校驗(yàn),再將得到的校驗(yàn)碼和接收到的校驗(yàn)碼進(jìn)展比擬,如果二者一致就認(rèn)為傳輸正確。但這些方法都各自有缺點(diǎn),誤判的概率也比擬高。循環(huán)冗余校驗(yàn)CRC(cyclicRedundancyCheck)碼是由分組線性碼的分支而來,簡(jiǎn)稱為循環(huán)冗余碼,主要應(yīng)用是二元碼字。編碼簡(jiǎn)單并且誤判概率很低,所以在通信系統(tǒng)中得到了廣泛的應(yīng)用。循環(huán)冗余校驗(yàn)碼是屬于分組碼中的一類很重要的線性碼,它不僅在理論上有著很好的代數(shù)構(gòu)造,而且它的編碼和譯碼可以通過線性移位存放器很容易地實(shí)現(xiàn)。循環(huán)冗余校驗(yàn)碼的檢錯(cuò)能力非常強(qiáng),碼重為偶數(shù)的循環(huán)冗余校驗(yàn)碼的檢錯(cuò)能力如下:能100%檢測(cè)出奇數(shù)個(gè)過失;能100%檢測(cè)出長(zhǎng)度小于等于2的兩個(gè)突發(fā)過失;能100%檢測(cè)出小于等于生成多項(xiàng)式碼重dmin-1的隨機(jī)過失;能100%檢測(cè)出長(zhǎng)度小于等于校驗(yàn)位長(zhǎng)w的單個(gè)突發(fā)過失;能以1-2-〔w+1〕的概率檢出長(zhǎng)度為w+l的單個(gè)突發(fā)過失;能以1-2-w的概率檢出長(zhǎng)度大于w+1的單個(gè)突發(fā)過失。隨著信息社會(huì)的高度開展,通信網(wǎng)絡(luò)對(duì)社會(huì)和個(gè)人帶來了帶來越來越大的影響,社會(huì)保障、防災(zāi)抗災(zāi)、社會(huì)公共效勞、部門聯(lián)動(dòng)和個(gè)人工作生活等方面起到不可替代的作用?,F(xiàn)有的技術(shù)已無法滿足現(xiàn)有的需求,此外,從國(guó)家對(duì)信息領(lǐng)域的開展戰(zhàn)略上也要求我們?cè)谖磥硗ㄐ啪W(wǎng)絡(luò)的技術(shù)儲(chǔ)藏和設(shè)備上要有新理論和新技術(shù)的突破。因此,研究通信網(wǎng)絡(luò)的新型傳輸理論和技術(shù)以制造出在國(guó)際上富有競(jìng)爭(zhēng)力的設(shè)備和提供先進(jìn)的解決方案是提高我國(guó)綜合國(guó)力,使我國(guó)在國(guó)際競(jìng)爭(zhēng)上立于不敗之地的重要舉措,也是我們國(guó)家在未來信息戰(zhàn)爭(zhēng)中取得制勝點(diǎn)的關(guān)鍵。數(shù)據(jù)在通信網(wǎng)絡(luò)中如何實(shí)現(xiàn)可靠高效實(shí)時(shí)傳輸,保證高Qos是效勞提供商和用戶的共同要求,龐大的市場(chǎng)需求給相關(guān)研究者的工作提出了更加苛刻的要求。目前一些富有前景的技術(shù)方向和可用于通信網(wǎng)絡(luò)的新型理論方向尚未有研究的報(bào)道,同時(shí)目前解決方案還存在一些問題,相關(guān)的理論空白急需填補(bǔ)。比方對(duì)于傳統(tǒng)網(wǎng)絡(luò)中各層數(shù)據(jù)的CRC編碼是彼此獨(dú)立的,已有的研究說明,如果對(duì)各層中的CRC碼進(jìn)展綜合考慮,將可以使檢錯(cuò)的效率得到優(yōu)化。顯然舊的分立CRC體制不適合實(shí)際網(wǎng)絡(luò)的設(shè)計(jì)和優(yōu)化,因此采用一種新型的CRC編碼體制用于網(wǎng)絡(luò),對(duì)于提高通信系統(tǒng)總體性能。填補(bǔ)相關(guān)技術(shù)空白和推動(dòng)行業(yè)學(xué)科的整體開展具有重大的意義,這就是我們將在本篇文章中將要介紹的組合CRC碼。1.2以太網(wǎng)的簡(jiǎn)述及根本原理以太網(wǎng)最初是由DEC、INTEL和*ERO*三家公司共同研制出來的計(jì)算機(jī)局域網(wǎng),又簡(jiǎn)稱DI*網(wǎng),后來開展成以太網(wǎng)。其開展經(jīng)歷了三個(gè)階段,即以太網(wǎng)、快速以太網(wǎng)和千兆以太網(wǎng)。迄今,人們研究和應(yīng)用最多的是10M/100M自適應(yīng)以太網(wǎng),標(biāo)準(zhǔn)為IEEE802.3和IEEE8o2.3u。內(nèi)容修改:如今,人們研究最多的是最新的100G甚至400G以太網(wǎng)。以太網(wǎng)的標(biāo)準(zhǔn)為IEEE802.3。它具有傳輸速率高、網(wǎng)絡(luò)軟件豐富、系統(tǒng)功能強(qiáng)、安裝連接簡(jiǎn)單和使用維護(hù)方便等許多優(yōu)點(diǎn),是目前全球使用最廣泛的局域網(wǎng)技術(shù),全球至少有80%以上的局域網(wǎng)采用以太網(wǎng)技術(shù)。內(nèi)容修改:如今,人們研究最多的是最新的100G甚至400G以太網(wǎng)。以太網(wǎng)的標(biāo)準(zhǔn)為IEEE802.3。目前,以太網(wǎng)MAC控制器的產(chǎn)品較多。市場(chǎng)上常見的應(yīng)用于10/100M自適應(yīng)網(wǎng)卡的MAC芯片有RealTek公司的RTL8129C/8139C芯片,Winbond公司的W89C840AF芯片,NS公司的DP83815/83816芯片等。這些芯片大多將以太網(wǎng)MAC層、物理層以及與主機(jī)的接口集成在一個(gè)芯片上,即三合一芯片。支持10/100M自動(dòng)協(xié)商功能,與主機(jī)的接口多采用PCI總線,遵循PCI2.1/2.2,并將PCI接口集成在芯片上,支持半/全雙工兩種工作模式。在全雙工模式下,基于幀的流量控制符合IEEE802.3*標(biāo)準(zhǔn)。以太網(wǎng)的MAC控制器主要完成以太網(wǎng)MAC層的功能,每個(gè)以太網(wǎng)設(shè)備都要用到,其重要性不言而喻。引目前,很多國(guó)外廠商如CADANCE,LATICE,*ILIN*等都擁有自主知識(shí)產(chǎn)權(quán)的以太網(wǎng)MAC。近年來,國(guó)內(nèi)的一些研究機(jī)構(gòu)也開展了對(duì)以太網(wǎng)MAC層的研究,但大多是將MAC控制器作為模塊應(yīng)用,還未見可與其它通用接口實(shí)現(xiàn)互連的lP核。1.3FPGA的開展概況及現(xiàn)狀FPGA〔Field-ProrammableGateArray〕,即現(xiàn)場(chǎng)可編程門陣列,它是在PAL、GAL、CPLD等編程器件的根底上進(jìn)一步開展的產(chǎn)物。它是作為專用集成電路〔ASIC〕領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的缺乏,又抑制了原有可編程器件門電路數(shù)有限的缺點(diǎn)。以硬件描述語言〔Verilog或VHDL〕所完成的電路設(shè)計(jì),可以經(jīng)過簡(jiǎn)單的綜合與布局,快速的燒錄至FPGA上進(jìn)展測(cè)試,是現(xiàn)代IC設(shè)計(jì)驗(yàn)證的技術(shù)主流。這些可編輯元件可以被用來實(shí)現(xiàn)一些根本的邏輯門電路〔比方AND、OR、*OR、NOT〕或者更復(fù)雜一些的組合功能比方解碼器或數(shù)學(xué)方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器〔Flip-flop〕或者其他更加完整的記憶塊。系統(tǒng)設(shè)計(jì)師可以根據(jù)需要通過可編輯的連接把FPGA內(nèi)部的邏輯塊連接起來,就好似一個(gè)電路試驗(yàn)板被放在了一個(gè)芯片里。一個(gè)出廠后的成品FPGA的邏輯塊和連接可以按照設(shè)計(jì)者而改變,所以FPGA可以完成所需要的邏輯功能。FPGA一般來說比ASIC〔專用集成芯片〕的速度要慢,無法完成復(fù)雜的設(shè)計(jì),但是功耗較低。但是他們也有很多的優(yōu)點(diǎn)比方可以快速成品,可以被修改來改正程序中的錯(cuò)誤和更廉價(jià)的造價(jià)。廠商也可能會(huì)提供廉價(jià)的但是編輯能力差的FPGA。因?yàn)檫@些芯片有比擬差的可編輯能力,所以這些設(shè)計(jì)的開發(fā)是在普通的FPGA上完成的,然后將設(shè)計(jì)轉(zhuǎn)移到一個(gè)類似于ASIC的芯片上。另外一種方法是用CPLD〔復(fù)雜可編程邏輯器設(shè)備〕。FPGA采用了邏輯單元陣列LCA〔LogicCellArray〕這樣一個(gè)概念,內(nèi)部包括可配置邏輯模塊CLB〔ConfigurableLogicBlock〕、輸出輸入模塊IOB〔InputOutputBlock〕和內(nèi)部連線〔Interconnect〕三個(gè)局部。現(xiàn)場(chǎng)可編程門陣列〔FPGA〕是可編程器件,與傳統(tǒng)邏輯電路和門陣列〔如PAL,GAL及CPLD器件〕相比,F(xiàn)PGA具有不同的構(gòu)造。FPGA利用小型查找表〔16×1RAM〕來實(shí)現(xiàn)組合邏輯,每個(gè)查找表連接到一個(gè)D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動(dòng)其他邏輯電路或驅(qū)動(dòng)I/O,由此構(gòu)成了既可實(shí)現(xiàn)組合邏輯功能又可實(shí)現(xiàn)時(shí)序邏輯功能的根本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲(chǔ)單元加載編程數(shù)據(jù)來實(shí)現(xiàn)的,存儲(chǔ)在存儲(chǔ)器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實(shí)現(xiàn)的功能,F(xiàn)PGA允許無限次的編程。第二章以太網(wǎng)控制器〔MAC〕構(gòu)造功能分析2.1以太網(wǎng)的開展和日常應(yīng)用從辦公室、工廠到家庭,我們正在經(jīng)歷一場(chǎng)網(wǎng)絡(luò)連接的革命。企業(yè)和住宅用戶可以發(fā)送和接收空前豐富的語音、數(shù)據(jù)、圖像、視頻信息、高度可操作的應(yīng)用和高級(jí)帶寬效勞。隨著更多的建筑、生產(chǎn)設(shè)備、智能家庭、智能因特網(wǎng)設(shè)備開場(chǎng)相互連接,巨大的商機(jī)呈現(xiàn)在先進(jìn)半導(dǎo)體的面前。網(wǎng)絡(luò)將醫(yī)院、大學(xué)校園、社區(qū)、商業(yè)和工業(yè)團(tuán)體相互連接起來,同時(shí)還能連接到因特網(wǎng)。隨著網(wǎng)絡(luò)的擴(kuò)展,用戶需要在不同子網(wǎng)之間進(jìn)展更多的標(biāo)準(zhǔn)化、低本錢的連接。以太網(wǎng)是他們的首選接口。聯(lián)網(wǎng)烹飪:設(shè)想一臺(tái)微波爐帶有條形碼掃描儀,它的存儲(chǔ)器中包含成千上萬種菜肴的烹制信息。微波爐可以通過以太網(wǎng)連接到其它廚房設(shè)備,實(shí)現(xiàn)智能化家庭管理。聯(lián)網(wǎng)售貨:通過連接到網(wǎng)絡(luò)的售貨機(jī),銷售商可以監(jiān)控貨物銷售,處理實(shí)時(shí)信用卡交易,進(jìn)展存貨管理和維護(hù),并對(duì)惡意破壞行為作出反響。聯(lián)網(wǎng)醫(yī)療:在病房中使用**監(jiān)控器,使護(hù)理人員能夠密切注視每個(gè)房間中的病人,并在護(hù)士站的監(jiān)控器界面上發(fā)出報(bào)警或警告信號(hào)。微控制器使這一切得以實(shí)現(xiàn)微控制器可簡(jiǎn)化以太網(wǎng)聯(lián)網(wǎng),并為各種應(yīng)用提供連接。要在這些應(yīng)用中進(jìn)展高效通信,微控制器需要一些根本的組件,包括TCP/IP協(xié)議棧、媒介控制器(MAC)、物理層(PHY),以及足夠的程序和數(shù)據(jù)存儲(chǔ)空間資源。TCP/IP協(xié)議將系統(tǒng)連接到因特網(wǎng),是在網(wǎng)絡(luò)上傳輸數(shù)據(jù)的事實(shí)上的標(biāo)準(zhǔn)。這塊不應(yīng)該換行MAC支持IEEE802標(biāo)準(zhǔn)中定義的CSMA/CD,而PHY是第一層協(xié)議,可以是調(diào)制解調(diào)器或以太網(wǎng)〔EPHY〕的形式。這塊不應(yīng)該換行一般所說的以太網(wǎng)協(xié)議是指根據(jù)IEEE802.3規(guī)*制定的局域網(wǎng)協(xié)議(LAN,LocalNetwork)中的CSMA/CD協(xié)議。目前,以太網(wǎng)通信常用的介質(zhì)是雙絞線和光纖。其中,CSMA/CD協(xié)議是CarriersensemultipleAccesswithCollisionDetection的縮寫,是帶有檢測(cè)沖突的載波偵聽多路存取協(xié)議,IEEE802.3標(biāo)準(zhǔn)適用于1-持續(xù)CSMA/CD局域網(wǎng)。其工作原理是:當(dāng)站點(diǎn)希望傳送時(shí),它就等到線路空閑為止,否則就立即傳輸。如果兩個(gè)或多個(gè)站點(diǎn)同時(shí)在空閑的電纜上開場(chǎng)傳輸,它們就會(huì)沖突。于是所有沖突站點(diǎn)終止傳送,等待一個(gè)隨機(jī)的時(shí)間后,再重復(fù)上述過程。已出版的802.3標(biāo)準(zhǔn)與以太網(wǎng)的細(xì)微差異是:它描述了運(yùn)行在各種介質(zhì)上的從1Mb/s~10Mb/s的1-持續(xù)CSMA/CD系統(tǒng)的整個(gè)家族。另外,二者的一個(gè)頭部字段也有所不同〔802.3的長(zhǎng)度字段用作以太網(wǎng)的分組類型〕。許多人錯(cuò)誤地把“以太網(wǎng)〞作為CSMA/CD協(xié)議的總稱,盡管這一名詞只表示了實(shí)現(xiàn)802.3的*個(gè)特定產(chǎn)品。2.2以太網(wǎng)控制器簡(jiǎn)述以太網(wǎng)連接采用最簡(jiǎn)單的TCP/IP協(xié)議集和微控制器,就可以實(shí)現(xiàn)最小功能設(shè)備之間的連接。要實(shí)現(xiàn)經(jīng)濟(jì)高效的連接,以太網(wǎng)連接必須是標(biāo)準(zhǔn)化和嵌入式的。強(qiáng)大的用戶根底:作為通用的網(wǎng)絡(luò)接口,以太網(wǎng)在WAN和MAN節(jié)點(diǎn)中的應(yīng)用得到飛速的增長(zhǎng)。目前,全球已有3億多個(gè)基于以太網(wǎng)的企業(yè)網(wǎng)絡(luò),這足以證明以太網(wǎng)的巨大成功,并為以太網(wǎng)成為行業(yè)標(biāo)準(zhǔn)奠定了堅(jiān)實(shí)根底。全球超過85%的現(xiàn)有網(wǎng)絡(luò)連接是以太網(wǎng)。以太網(wǎng)不僅擁有龐大的用戶根底,而且保持著強(qiáng)勁的增長(zhǎng)勢(shì)頭,所以很可能一統(tǒng)連接方式的天下。推出伊始,以太網(wǎng)就成為全球標(biāo)準(zhǔn),更是當(dāng)前使用最廣泛的局域網(wǎng)〔LAN〕。雖然許多網(wǎng)絡(luò)正在升級(jí)為快速以太網(wǎng)〔100Mbps〕,但最常見的以太網(wǎng)數(shù)據(jù)傳輸率仍然是10Mbps。下一代以太網(wǎng)將是超過1,000Mbps的千兆以太網(wǎng)。內(nèi)容改一下最常見的是100M和1000M的以太網(wǎng),并且已經(jīng)出現(xiàn)了10G和100G以太網(wǎng)。用獨(dú)特的單芯片16位以太網(wǎng)解決方案,實(shí)現(xiàn)了以太網(wǎng)聯(lián)網(wǎng)和因特網(wǎng)的連接。帶有集成的10/100Base-T以太網(wǎng)MAC/PHY,可以適應(yīng)各種數(shù)據(jù)速率,它還具有靈活的尋址功能,支持不同大小的數(shù)據(jù)包。其擁有比8位解決方案更強(qiáng)的處理能力和更多的存儲(chǔ)資源〔共享8KB的RAM數(shù)據(jù)/消息存儲(chǔ)區(qū)〕,可優(yōu)化吞吐量和存儲(chǔ)空間使用之間的平衡,將存儲(chǔ)空間合理分配給協(xié)議棧的保存、應(yīng)用代碼和外圍設(shè)備驅(qū)動(dòng)程序,從而將能絕大多數(shù)的MCU資源保存給各種應(yīng)用。響應(yīng)快速的微控制器使對(duì)各種大小的IP數(shù)據(jù)包都有充裕的時(shí)間進(jìn)展組裝/拆卸,即使在要求苛刻的工業(yè)環(huán)境中也應(yīng)對(duì)自如,集高速內(nèi)部總線與出色的尋址模式〔比方多字節(jié)預(yù)/后減量索引尋址〕于一身,從而可以承擔(dān)以太網(wǎng)聯(lián)網(wǎng)的重任,并通過以太網(wǎng)進(jìn)展遠(yuǎn)程監(jiān)測(cè)或控制。內(nèi)容改一下最常見的是100M和1000M的以太網(wǎng),并且已經(jīng)出現(xiàn)了10G和100G以太網(wǎng)。2.3以太網(wǎng)根本原理一般所說的以太網(wǎng)協(xié)議是指根據(jù)IEEE802.3規(guī)*制定的局域網(wǎng)協(xié)議(LAN,LoalAreaNetwork)中的CSMA/CD協(xié)議。目前,以太網(wǎng)通信常用的介質(zhì)是雙鉸線和光纖。〔CSMA/CD協(xié)議是CarriersensemultipleAccessCollisionDetection的縮寫,是帶有檢測(cè)沖突的載波偵聽多路存取協(xié)議?!骋蕴W(wǎng)協(xié)議的參考模型以太網(wǎng)協(xié)議的邏輯關(guān)系遵循OSI參考模型〔OpenSystemInterconnectReferenceModel,開放式系統(tǒng)互聯(lián)參考模型〕,如圖2-1所示。物理層是指網(wǎng)絡(luò)通信連接的媒介物質(zhì),用于攜帶計(jì)算機(jī)之間的以太網(wǎng)信號(hào)。當(dāng)前應(yīng)用最多的是雙鉸線和光纖。使用這兩種媒介,以太網(wǎng)目前可以實(shí)現(xiàn)4種傳輸速率。10Mbit/s:10Base-T以太網(wǎng)。100Mbit/s:快速以太網(wǎng)。1000Mbit/s:千兆位以太網(wǎng)802.3z。10千兆位以太網(wǎng):IEEE802.3ae。在進(jìn)展實(shí)際的以太網(wǎng)通信中,每一種協(xié)議都是運(yùn)行在其下面層次的協(xié)議根底上。例如,當(dāng)兩個(gè)計(jì)算機(jī)系統(tǒng)使用FTP協(xié)議傳輸文件時(shí),從用戶看來是兩個(gè)系統(tǒng)基于FTP協(xié)議的直接交流,實(shí)際上文件的數(shù)據(jù)傳輸則是經(jīng)過了層層打包和解包的協(xié)議路徑。圖2-1OSI參考模型Fig.2-1TheOSIreferencemodel上層的各個(gè)協(xié)議棧要分別實(shí)現(xiàn)對(duì)數(shù)據(jù)的打包、解包、校驗(yàn)以及對(duì)下一層相關(guān)協(xié)議的調(diào)用。例如,在IP協(xié)議棧從以太網(wǎng)驅(qū)動(dòng)收到一個(gè)數(shù)據(jù)包后,經(jīng)過解包、校驗(yàn),確認(rèn)是否為有效的IP包,如無效則舍棄該包:如有效則進(jìn)一步判斷包內(nèi)的數(shù)據(jù),轉(zhuǎn)而調(diào)用TCP、UDP、ICMP等協(xié)議或使用戶自定義的處理效勞,而以太網(wǎng)控制芯片的功能是完成TCP/IP協(xié)議簇分層模型中鏈路層的相關(guān)工作。它處理與雙鉸線RJ-45接口之間的所有物理細(xì)節(jié)。以太網(wǎng)根本工作原理作為一種基于競(jìng)爭(zhēng)機(jī)制的網(wǎng)絡(luò)環(huán)境,以太網(wǎng)允許任何一臺(tái)網(wǎng)絡(luò)設(shè)備在網(wǎng)絡(luò)空閑時(shí)發(fā)送信息。因?yàn)闆]有任何集中式的管理措施,所以非常有可能出現(xiàn)多臺(tái)工作站同時(shí)檢測(cè)到網(wǎng)絡(luò)處于空閑狀態(tài),進(jìn)而同時(shí)向網(wǎng)絡(luò)發(fā)送數(shù)據(jù)的情況。這時(shí),發(fā)出的信息會(huì)相互碰撞而導(dǎo)致?lián)p壞。工作站必須等待一段時(shí)間之后,重新發(fā)送數(shù)據(jù)。補(bǔ)償算法用來決定發(fā)生碰撞后,工作站應(yīng)當(dāng)在何時(shí)重新發(fā)送數(shù)據(jù)幀。以太網(wǎng)和TCP/IP可以說是相互相成的,可以說兩者的關(guān)系幾乎是密不可分,以太網(wǎng)在一二層提供物理上的連線,而TCP/IP工作在上層,使用32位的IP地址,以太網(wǎng)則使用48位的MAC地址,兩者間使用ARP和RARP協(xié)議進(jìn)展相互轉(zhuǎn)換。從我們上面TCP/IP的模型圖中可以清楚的看到兩者的關(guān)系。生成樹協(xié)議執(zhí)行一個(gè)稱為STA的算法進(jìn)展計(jì)算,通過STA計(jì)算,網(wǎng)橋就可以知道網(wǎng)絡(luò)上是否存在回路。STA在網(wǎng)絡(luò)中選擇一個(gè)網(wǎng)橋作為參考點(diǎn),然后確定到該點(diǎn)的可用路徑。如果存在冗余路徑,STA就會(huì)選擇最正確路徑用來轉(zhuǎn)發(fā)數(shù)據(jù),冗余路徑會(huì)被“切斷〞。切斷的過程稱為阻塞。當(dāng)網(wǎng)絡(luò)發(fā)生故障時(shí),有一條備份路徑可以替補(bǔ)上來,這是就需要重新計(jì)算生成樹。2.4MAC子層MAC子層有兩個(gè)根本職能:數(shù)據(jù)封裝,包括傳輸之前的幀集合和接收中、接收后的幀解析/過失監(jiān)控;媒體控制,包括幀傳輸初始化和傳輸失敗恢復(fù)。上層協(xié)議根據(jù)實(shí)際應(yīng)用可以選擇多種不同的協(xié)議,如IP協(xié)議、TCP議、HTTP協(xié)議等。MAC子層在上層協(xié)議和以太網(wǎng)網(wǎng)絡(luò)之間的傳輸和接收數(shù)據(jù),其主要功能是確保以太網(wǎng)每一幀數(shù)據(jù)的傳輸都遵循了IEEE802.3規(guī)*所規(guī)定的介質(zhì)存取規(guī)則。2.5根本幀的格式與數(shù)據(jù)的收發(fā)幀的數(shù)據(jù)格式IEEE802.3規(guī)*為實(shí)現(xiàn)MAC定義了一套根本的幀數(shù)據(jù)格式,如圖2-2所示。圖2-2幀數(shù)據(jù)格式Fig.2-2Dataframeformat各個(gè)字段的含義及規(guī)定如下:Preamble〔PRE〕:報(bào)頭。字段中1和0交替使用,接收方通過該字段知道導(dǎo)入幀,并且該字段提供了同步接收物理層幀接收和導(dǎo)入數(shù)據(jù)流的方法。Start-of-framedelimiter〔SDF〕:幀起始分隔符。字段中1和0交替使用,結(jié)尾是兩個(gè)連續(xù)的1,表示下一位是目的地址的第一個(gè)自己的第一位。DestinationAddress〔DA〕:目標(biāo)地址。表示幀準(zhǔn)備發(fā)往目的站的地址,共6個(gè)字節(jié),可以是單址、多址或全地址,用于識(shí)別需要承受幀的目的地。SourceAddress〔SA〕:源地址。用于識(shí)別發(fā)送幀的源地址,即發(fā)送端的網(wǎng)卡地址。Length/Type:長(zhǎng)度/類型。表示包含在幀數(shù)據(jù)字段中的LLCPDU數(shù)據(jù)長(zhǎng)度,也可以表示幀的類型,該字段用于表示數(shù)據(jù)字段中包含的高層協(xié)議,也就是說,該字段告訴接收設(shè)備如何解釋數(shù)據(jù)字段。Data:數(shù)據(jù)。即要傳送的LLC數(shù)據(jù),MAC的數(shù)據(jù)域,是一組n〔46<n<1500〕46≤n≤46≤n≤1500Framechecksequence〔FCS〕:是32位冗余檢驗(yàn)碼〔CRC〕。檢驗(yàn)除前導(dǎo)、SFD和FCS以外的內(nèi)容。當(dāng)發(fā)送站發(fā)出幀時(shí),一邊發(fā)送,一邊逐位進(jìn)展CRC檢驗(yàn)。最后形成一個(gè)32位CRC檢驗(yàn)和填在幀尾FCS位置中一起在媒體上傳輸。接收站接收后,從DS開場(chǎng)同樣邊接收邊逐位進(jìn)展CRC檢驗(yàn)。最后接收站形成的檢驗(yàn)和假設(shè)與幀的檢驗(yàn)和一樣,則表示媒體上傳輸幀未被破壞。反之,接收站認(rèn)為幀被破壞,則會(huì)通過一定的機(jī)制要求發(fā)送站重發(fā)該幀。從幀的構(gòu)造可以看出,MAC層協(xié)議在LLC層數(shù)據(jù)的前面,加上幀頭和幀尾,組裝成完整的數(shù)據(jù)幀,經(jīng)物理層發(fā)送出去,即:上層信息經(jīng)過LLC層時(shí)被封裝成LLC幀,LLC幀經(jīng)過MAC層時(shí)又被封裝成MAC幀。幀傳輸MAC層從上層協(xié)議接收到發(fā)送幀數(shù)據(jù)的請(qǐng)求,首先按照下面的次序?qū)?shù)據(jù)和地址信息保存到MAC層的幀數(shù)據(jù)緩沖區(qū)中。?插入報(bào)頭和幀起始分隔符。?插入目標(biāo)地址和源地址。?統(tǒng)計(jì)來自上層協(xié)議數(shù)據(jù)的數(shù)量,插入數(shù)量值。?插入來自上層協(xié)議的數(shù)據(jù),如果數(shù)據(jù)量小于46字節(jié),則補(bǔ)齊46字節(jié)。?根據(jù)目標(biāo)地址、源地址、長(zhǎng)度/類型和數(shù)據(jù)產(chǎn)生CRC,校驗(yàn)序列,并插入校驗(yàn)序列。一幀完整數(shù)據(jù)組成后,MAC層可以開場(chǎng)發(fā)送幀數(shù)據(jù)。有兩種發(fā)送方式可供選擇:半雙工〔halfduple*〕和全雙工〔fullduple*〕。IEEE802.3規(guī)*規(guī)定所有的以太網(wǎng)MAC都要支持半雙工方式,即一個(gè)時(shí)刻只能進(jìn)展發(fā)送或者接收,而不能同時(shí)進(jìn)展發(fā)送和接收。全雙工方式下發(fā)送和接收可以同時(shí)進(jìn)展。幀接收幀接收的過程和發(fā)送的過程是相反的。首先檢查證數(shù)據(jù)中的目標(biāo)地址和當(dāng)前地址是否相符,然后檢查接收到的幀數(shù)據(jù)中的數(shù)據(jù)長(zhǎng)度、CRC校驗(yàn)序列和實(shí)際的數(shù)據(jù)長(zhǎng)度、CRC校驗(yàn)序列是否相符。如果都相符,則將數(shù)據(jù)交給上層協(xié)議進(jìn)展解析,MAC層的傳輸任務(wù)完成。2.6媒體無關(guān)接口〔MediaIndependentInterface〕IEEE802.3規(guī)*提出媒體無關(guān)接口〔MediaIndependentInterface,MII〕就是為了能夠?qū)崿F(xiàn)MAC層和不同的物理層〔PHY〕之間的邏輯連接,如圖2-3所示。圖2-3MAC層和不同物理層間的邏輯連接這個(gè)圖沒有居中這個(gè)圖沒有居中Fig.2-3TheMAClayerandthephysicallayerofthelogicalconnectionbetweendifferentMAC層可以通過媒體無關(guān)接口連接不同的物理層。根據(jù)對(duì)以太網(wǎng)通信速率的要求選擇適宜物理接口。針對(duì)不同的物理層,媒體無關(guān)接口可以以不同的方式實(shí)現(xiàn)到MAC的邏輯連接。例如在10Mbit/s以太網(wǎng)通信中,媒體無關(guān)接口使用1位4位來串行發(fā)送/接收數(shù)據(jù)流;在100Mbit/s以太網(wǎng)通信中,媒體無關(guān)接口使用4位來串行發(fā)送/接收數(shù)據(jù)流;在1000Mbit/s以太網(wǎng)通信中,媒體無關(guān)接口使用8位來串行發(fā)送/接收數(shù)據(jù)流。4位2.7以太網(wǎng)控制器〔MAC〕的根本框架以太網(wǎng)控制器〔MAC〕實(shí)際上實(shí)現(xiàn)了以太網(wǎng)標(biāo)準(zhǔn)的第二層協(xié)議------MAC〔媒體控制〕協(xié)議,完全符合IEEE802.3規(guī)*所規(guī)定的10Mbit/s和100Mbit/s以太網(wǎng)標(biāo)準(zhǔn)。如圖2-4所示,使用這個(gè)以太網(wǎng)控制器外部連接一塊PHY芯片〔實(shí)現(xiàn)了物理層功能的芯片〕就可以進(jìn)展數(shù)據(jù)鏈路層的通信,即幀通信。在此根底上可以方便、快捷地開發(fā)出更高層次的協(xié)議,實(shí)現(xiàn)FTP、HTTP等協(xié)議。圖2-4以太網(wǎng)控制器的連接Fig.2-4ConnectanEthernetcontroller這個(gè)以太網(wǎng)控制器具體實(shí)現(xiàn)了以下內(nèi)容。?符合IEEE802.3規(guī)定的全雙工幀控制。?半雙工傳輸模式下的CSMA/CD協(xié)議。?32位CRC校驗(yàn)序列的自動(dòng)產(chǎn)生和檢查。?報(bào)頭的產(chǎn)生和去除。?發(fā)送和接收數(shù)據(jù)包的完全狀態(tài)控制。?滿足IEEE802.3規(guī)定的MII〔媒體無關(guān)接口〕。針對(duì)以太網(wǎng)控制器需要完成的任務(wù),接下來設(shè)計(jì)以太網(wǎng)控制器的程序框架,幾個(gè)主要局部如下:?主機(jī)接口〔HostInterface〕主機(jī)接口用來連接主機(jī)局部,將接收到的數(shù)據(jù)幀保存到存儲(chǔ)器中,同時(shí)從存儲(chǔ)器中再如需要通過以太網(wǎng)借口傳輸?shù)臄?shù)據(jù)。主機(jī)上可以實(shí)現(xiàn)更高層次的以太網(wǎng)協(xié)議。?數(shù)據(jù)發(fā)送模塊〔TransmitModule〕:完成所有與發(fā)送數(shù)據(jù)相關(guān)的操作,包括產(chǎn)生報(bào)頭、添加CRC校驗(yàn)序列等。?數(shù)據(jù)接收模塊〔ReceiveModule〕:完成所有與接收數(shù)據(jù)相關(guān)的操作,包括取出報(bào)頭、CRC校驗(yàn)。?控制模塊〔ControlModule〕:完成以太網(wǎng)控制器所有功能需要執(zhí)行的操作。?媒體無關(guān)接口模塊〔MediaIndependentInterface〕:提供一個(gè)與媒體無關(guān)的接口,用來連接外部的以太網(wǎng)PHY控制芯片。?狀態(tài)顯示模塊〔StatusModule〕:記錄以太網(wǎng)控制器芯片進(jìn)展數(shù)據(jù)傳時(shí)各個(gè)狀態(tài)的變化。?存放器模塊〔RegisterModule〕:為以太網(wǎng)控制器芯片提供需要的所有存放器。第三章CRC與其串、并行算法數(shù)字通信要求傳輸過程中所造成的數(shù)碼過失足夠低。引起傳輸過失的根本原因是信道內(nèi)存在噪聲及信道傳輸特性不理想造成的碼間串?dāng)_,為了盡可能的提高通信的可靠性,需要采用信道編碼技術(shù),對(duì)可能或已經(jīng)出現(xiàn)的過失進(jìn)展控制,CRC(循環(huán)冗余校驗(yàn))碼就是其中一種有效的編碼技術(shù),它以其檢出概率高且易于用硬件實(shí)現(xiàn)的優(yōu)點(diǎn)在移動(dòng)通信、計(jì)算機(jī)通信、USB接口、測(cè)控等領(lǐng)域有著廣泛的應(yīng)用。3.1CRC校驗(yàn)方法的根本原理CRC碼由一個(gè)生成多項(xiàng)式(最高次冪為k)產(chǎn)生,k次冪的生成多項(xiàng)式可產(chǎn)生k-1位的冗余碼。設(shè)TCC數(shù)字系統(tǒng)中待校驗(yàn)的信息碼有n位,M(*)=(mn-1,mn-2,...,m1,m0),將信息碼用多項(xiàng)式M(*)表示:M(*)=mn-1*n-1+mn-2*n-2+…+m1*+m0(1)假設(shè)生成多項(xiàng)式g(*)的最高次冪為k,則先在式(1)的兩端乘以*k,變成:*kM(*)=mn-1*kk+n-1+mn-2*k+n-2+…+m1*k+1+m0*k(2)*kM(*)模2除以g(*),得余數(shù)多項(xiàng)式為R(*),即:eq\f(*kM(*),g(*))=q(*)+eq\f(R(*),g(*))(3)余數(shù)多項(xiàng)式R(*)可表示為:R(*)=rk-1*k-1+rk-2*k-2+…+r1*1+r0(4)將式(2)和式(4)代入式(3),得:q(*)g(*)=*kM(*)+R(*)=mn-1*k+n-1+…+m0*k+rr-1*k-1+…+r1*+r0(5)式(5)對(duì)應(yīng)的碼組為n+k位,即:M′=(mn-1,mn-2,…,m1,m0,rk-1,rk-2,…,r1,r0)(6)所得到rk-1,rk-2,…,r1,r0即為校驗(yàn)位.在接收端,將接收到的n+k位碼(即M′)除以一樣的生成多項(xiàng)式g(*),假設(shè)產(chǎn)生余數(shù)為零或者為一恒定值,就認(rèn)為接收到的信息正確無誤;否則就認(rèn)為在傳輸過程中發(fā)生了誤碼。圖3-1即為CRC校驗(yàn)原理圖:圖3-1CRC校驗(yàn)原理圖Gig.3-1CRCverificationprinciplediagram循環(huán)冗余校驗(yàn)碼〔CRC〕是一種系統(tǒng)的縮短循環(huán)碼,它只能檢測(cè)出錯(cuò)誤,而不能糾正錯(cuò)誤。廣泛應(yīng)用于幀校驗(yàn)。CRC碼的構(gòu)造如圖3-2所示:圖3-2CRC碼的構(gòu)造圖Fig.3-2StructurediagramofCRCcodes3.2CRC的串行移位存放器的實(shí)現(xiàn)CRC的串行數(shù)據(jù)輸入計(jì)算可以用一個(gè)線性反響移位存放器(LFSR)來實(shí)現(xiàn)。以CRC-16為例子闡述,其生成多項(xiàng)式為:g(*)=*16+*12+*5+1,電路構(gòu)造如圖3-3所示。當(dāng)每一個(gè)時(shí)鐘降臨時(shí)輸入1bit數(shù)據(jù),經(jīng)過相應(yīng)的異或和移位運(yùn)算,此位數(shù)據(jù)輸入完畢,再延遲16個(gè)時(shí)鐘周期,即可得到CRC校驗(yàn)碼。CRC串行電路優(yōu)點(diǎn)是電路簡(jiǎn)單,但是每一個(gè)時(shí)鐘脈沖只完成一個(gè)比特的計(jì)算,這樣就大大的影響了數(shù)據(jù)的傳輸速率。圖3-3CRC-16的電路構(gòu)造圖Fig.3-3CircuitdiagramofCRC-16下面我們以CRC-16為例來說明任意長(zhǎng)度數(shù)據(jù)流的CRC校驗(yàn)碼生成過程。我們采用將數(shù)據(jù)流分成假設(shè)干個(gè)8bit字符,并由低字節(jié)到高字節(jié)傳送的并行方法來求CRC校驗(yàn)碼。具體計(jì)算過程為:用一個(gè)16bit的存放器來存放CRC校驗(yàn)值,且設(shè)定其初值為0*0000;將數(shù)據(jù)流的第一個(gè)8bit與16bit的CRC存放器的高字節(jié)相異或,并將結(jié)果存入CRC存放器高字節(jié);CRC存放器左移一位,最低1bit補(bǔ)零,同時(shí)檢查移出的最高1bit,假設(shè)移出的最高1bit為0,則繼續(xù)按上述過程左移,假設(shè)最高1bit為1,則將CRC存放器中的值與生成多項(xiàng)式碼相異或,結(jié)果存入CRC存放器值;繼續(xù)左移并重復(fù)上述處理方法,直到將8bit數(shù)據(jù)處理完為止,則此時(shí)CRC存放器中的值就是第一個(gè)8bit數(shù)據(jù)對(duì)應(yīng)的CRC校驗(yàn)碼;然后將此時(shí)CRC存放器的值作為初值,用同樣的處理方法重復(fù)上述步驟來處理下一個(gè)8bit數(shù)據(jù)流,直到將所有的8bit字符都處理完后,此刻CRC存放器中的值即為整個(gè)數(shù)據(jù)流對(duì)應(yīng)的CRC校驗(yàn)碼。1110商為1110,即14,商有4位,表示進(jìn)展了4次*OR________1001/1111000被除數(shù)120是1111000,除數(shù)9是10011001^----1100第一次*OR后得到011,參加下一位0。最高位的0可以消掉了,這樣最高位是1,所以下個(gè)商是11001^----1010第二次*OR后得到0101,參加下一位0。最高位的0可以消掉了,這樣最高位是1,所以下個(gè)商是11001^----0110第三次*OR后得到0011,參加下一位0。最高位的0可以消掉了,這樣最高位是0,所以下個(gè)商是00000^----110->最后一次*OR后得到0110,最高位的0可以消掉了,得到余數(shù)為110,即6。余數(shù)110是1111〔即十進(jìn)制15〕的CRC。為什么.因?yàn)镃RC是和數(shù)據(jù)一起傳送的,所以數(shù)據(jù)后面要加上CRC。數(shù)據(jù)1111加上CRC110后,變成1111110,再傳送。接收機(jī)收到1111110后,除以除數(shù)1001,余數(shù)為000,正確;如果余數(shù)不為0,則說明傳送的數(shù)據(jù)有誤。這樣完成CRC校驗(yàn)。即發(fā)送端要發(fā)送1111,先在1111后加000,變成1111000,再除以1001得到余數(shù)110,這個(gè)110就是CRC,將110加到數(shù)據(jù)后面,變成1111110,發(fā)送出去。接收端收到1111110,用它除以1001,計(jì)算得余數(shù)為000,就說明收到的數(shù)據(jù)正確。所以原始數(shù)據(jù)后面要先擴(kuò)展出3位0,以容納CRC值。所以,實(shí)際上,數(shù)據(jù)是1111,CRC是110。對(duì)于除數(shù)1001,我們叫它生成多項(xiàng)式,即生成項(xiàng),或POLY,即g(*)。數(shù)據(jù)1111根據(jù)POLY1001,計(jì)算得到CRC110。如果POLY不是1001,而是1011,那得到的CRC也是不同的。所以生成項(xiàng)不同,得到的CRC也不同。要預(yù)先定義好POLY,發(fā)送端和接收端要用一樣的POLY。這塊全不要了,因?yàn)檫@塊寫的與你上文介紹的不符同理,本論文研究CRC-32也是同樣計(jì)算,如生成多項(xiàng)式為G(*)寫的不對(duì)重新查閱我給你的那個(gè)國(guó)外的文檔:G〔*〕=*32+*26+*2+*+1其電路構(gòu)造圖如圖3-4:這塊全不要了,因?yàn)檫@塊寫的與你上文介紹的不符G(*)寫的不對(duì)重新查閱我給你的那個(gè)國(guó)外的文檔圖3-4CRC-32電路構(gòu)造圖這個(gè)圖出了頁邊界,縮回去這個(gè)圖出了頁邊界,縮回去Fig.3-4StructurediagramofCRC-323.3CRC的并行實(shí)現(xiàn)串行實(shí)現(xiàn)方法電路構(gòu)造簡(jiǎn)單,但是一個(gè)時(shí)鐘周期只能計(jì)算1位數(shù)據(jù),效率低下,因此需要引入并行的計(jì)算方法,以提高CRC的計(jì)算速度。當(dāng)進(jìn)展串行運(yùn)算時(shí),當(dāng)前的CRC余數(shù)值只與信息碼的當(dāng)前一位的輸入值和前一狀態(tài)的余數(shù)值有關(guān).假設(shè)進(jìn)展并行運(yùn)算,如8位并行運(yùn)算,即8位信息碼同時(shí)輸入并行運(yùn)算電路所產(chǎn)生的CRC余數(shù)與串行運(yùn)算時(shí)連續(xù)8位信息碼相繼輸入串行運(yùn)算電路所產(chǎn)生的CRC余數(shù)一樣,則稱這兩種電路是等效的。由此產(chǎn)生出CRC并行計(jì)算方法。其運(yùn)算過程如下:設(shè)rij為圖1中移位存放器狀態(tài)值,mi為輸入信息碼序列,i=1,2,,,為輸入信息碼序號(hào),j=0,1,,,k-1,為移位存放器編碼,則:下面以8位并行輸入為例,推導(dǎo)8位并行計(jì)算的CRC-16(其中生成多項(xiàng)式為g(*)=*16+*15+*2+1,即K=16)的邏輯關(guān)系式。利用式(1),可遞推出r80,…,r815:如式(2)所示,類似地可推導(dǎo)出r81,…,r815.并定義:則可得表3-5:表3-58位并行計(jì)算的CRC-16邏輯關(guān)系式Table3-58CRC-16logicrelationofparallelputingformula根據(jù)表3-5的邏輯關(guān)系式容易直接實(shí)現(xiàn)8位并行的CRC-16的硬件運(yùn)算電路,圖3-6為其硬件示意圖。圖3-68位并行的CRC-16硬件實(shí)現(xiàn)示意圖Fig.3-68bitparallelimplementationofCRC-16hardwareschematicdiagram上述方法的推導(dǎo)過程雖然是針對(duì)8位并行CRC-16運(yùn)算為例進(jìn)展的,但這種方法具有通用性,即用這種方法可推導(dǎo)各種CRC生成多項(xiàng)式的各種并行度的并行計(jì)算邏輯關(guān)系式。3.4CRC-16并行算法的實(shí)現(xiàn)CRC存放器的高位字節(jié)基于8位數(shù)據(jù)的輸入和8位存放器的內(nèi)容,把這些作為地址輸入到64k×8位EPROM中,它可以直接輸出CRC存放器的下一個(gè)內(nèi)容。用最高速率為40MbytesΠs的EPROM,總處理周期僅為25ns或更小。CRC存放器的低位字節(jié)僅包含3個(gè)(R8,R7和R1)需要所有類型計(jì)算的值。R1等價(jià)于R16*ORR9,R1、R7、R8的輸入數(shù)值可以用一個(gè)小型PLD來完成。所有這些也可以用單級(jí)*OR門來計(jì)算,*1到*8和2個(gè)256×8位EPROM來共同完成。另一種方法是直接用FPGA或CPLD在邏輯中計(jì)算*OR項(xiàng)??梢钥闯鯮1是最大的*OR計(jì)算,它含有17項(xiàng),大量*OR構(gòu)造的執(zhí)行消耗了CPLD中大量的乘積項(xiàng),但其中許多*OR項(xiàng)通常作為CRC存放器其它位的輸入。當(dāng)*OR的寬度為17時(shí),它不可能在單級(jí)邏輯為512宏以下的CPLD中執(zhí)行,然而*OR操作可以在2級(jí)邏輯中執(zhí)行。用單級(jí)時(shí)延≤10ns的CPLD,并確保輸入數(shù)據(jù)通過其內(nèi)部流水線,時(shí)序由其內(nèi)部時(shí)延決定,這時(shí)*OR可以在單片內(nèi)執(zhí)行。3.5CRC-32并行算法的實(shí)現(xiàn)CRC-32并行算法是由CRC-16派生而來的,不同的是數(shù)據(jù)同一時(shí)間操作為16位(半字),CRC存放器長(zhǎng)度為32位,所用的多項(xiàng)式也不同。CRC-32存放器的LSHW僅依賴于CRC-32存放器低位字位的初始化內(nèi)容、輸入數(shù)據(jù)和CRC-32的MSHW的初始化內(nèi)容的*OR組合。除數(shù)據(jù)量增加外,執(zhí)行這種算法象執(zhí)行CRC-16算法一樣困難。由于是同時(shí)計(jì)算16位,查表可知,*i計(jì)算的執(zhí)行要16位輸入和16位輸出,這表示要用64k×16位的EPROM。設(shè)串行通信最大速率為40MbytesΠs這兩個(gè)字母是什么,刪去,CRC可同時(shí)計(jì)算2個(gè)字節(jié),給出2個(gè)周期(50ns)來執(zhí)行運(yùn)算,用一個(gè)EPROM是不夠的。CRC存放器饋給R20和R21的有22項(xiàng),是最大的*OR組合。在一個(gè)CPLD中,單級(jí)邏輯不可能實(shí)現(xiàn),然而在50ns的限制下,用3級(jí)邏輯,慢速CPLD(66MHz)可以實(shí)現(xiàn)。圖3-5給出了在CRC-32設(shè)計(jì)中*OR3局部的邏輯時(shí)延。3級(jí)邏輯每級(jí)時(shí)延15ns(66MCPLD),給出最大時(shí)延為45ns,考慮布線時(shí)延小于2ns,它對(duì)50ns的要求比擬充裕。這兩個(gè)字母是什么,刪去圖3-5CRC-32邏輯時(shí)延的產(chǎn)生Fig.3-5CRC-32logicdelay第四章FPGA的系統(tǒng)構(gòu)造和開發(fā)流程4.1FPGA的概念和根本構(gòu)造FPGA是英文FieldProgrammableGateArray的縮寫,即現(xiàn)場(chǎng)可編程門陣列,它是在PAL、GAL、EPLD等可編程器件的根底上進(jìn)一步開展的產(chǎn)物。它是作為專用集成電路〔ASIC〕領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的缺乏,又抑制了原有可編程器件門電路數(shù)有限的缺點(diǎn)。圖4-1FPGA的根本構(gòu)造Fig.4-1ThebasicstructureofFPGAFPGA采用了邏輯單元陣列LCA〔LogicCellArray〕這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊CLB〔ConfigurableLogicBlock〕、輸出輸入模塊IOB〔InputOutputBlock〕和內(nèi)部連線〔Interconnect〕三個(gè)局部。FPGA的根本特點(diǎn)主要有:1〕采用FPGA設(shè)計(jì)ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。2〕FPGA可做其它全定制或半定制ASIC電路的中試樣片。3〕FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。4〕FPGA是ASIC電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。5〕FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容??梢哉f,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最正確選擇之一。目前FPGA的品種很多,有*ILIN*的*C系列、TI公司的TPC系列、ALTERA公司的FIE*系列等。FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時(shí)需要對(duì)片內(nèi)的RAM進(jìn)展編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。加電時(shí),F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當(dāng)需要修改FPGA功能時(shí),只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活。FPGA有多種配置模式:并行主模式為一片F(xiàn)PGA加一片EPROM的方式;主從模式可以支持一片PROM編程多片F(xiàn)PGA;串行模式可以采用串行PROM編程FPGA;外設(shè)模式可以將FPGA作為微處理器的外設(shè),由微處理器對(duì)其編程。以各種類型的FPGA芯片加上實(shí)驗(yàn)開發(fā)需要的外圍通用電路,結(jié)合實(shí)驗(yàn)程序,就形成FPGA開發(fā)板,可以高效快速學(xué)習(xí)FPGA開發(fā)。Spartan-6FPGA為*ilin*的低本錢、低功耗FPGA。第六代Spartan系列基于低功耗45nm、9金屬銅層、雙柵極氧化層工藝技術(shù),以及高級(jí)功耗管理技術(shù)。Spartan-6系列不僅擁有業(yè)界領(lǐng)先的系統(tǒng)集成能力,同時(shí)還能實(shí)現(xiàn)適用于大批量應(yīng)用的最低總本錢,該系列由13個(gè)成員組成,可提供的密度從3,840個(gè)邏輯單元到147,443個(gè)邏輯單元不等。與上一代Spartan系列相比,該系統(tǒng)功耗僅為其50%,且速度更快、連接功能更豐富全面。Spartan-6系列采用成熟的45nm低功耗銅制程技術(shù)制造,實(shí)現(xiàn)了性價(jià)比與功率的完美平衡,能夠提供全新且更高效的雙奇存器6輸入查找表〔LUT〕邏輯和一系列豐富的內(nèi)置系統(tǒng)級(jí)模塊,其中包括18Kb〔2×9Kb〕BlockRAM、第二代DSP48A1Slice、SDRAM存儲(chǔ)器控制器、增強(qiáng)型混合模式時(shí)鐘管理模塊、SelectlO技術(shù)、功率優(yōu)化的高速串行收發(fā)器模塊、PCIE*press兼容端點(diǎn)模塊、高級(jí)系統(tǒng)級(jí)電源管理模式、自動(dòng)檢測(cè)配置選項(xiàng),以及通過AES和DeviceDNA保護(hù)功能實(shí)現(xiàn)的增強(qiáng)型IP平安性。這些優(yōu)異特性以前所未有的易用性為定制ASIC產(chǎn)品提供了低本錢的可編程替代方案。Spartan-6FPGA可為大批量邏輯設(shè)計(jì)、以消費(fèi)類為導(dǎo)向的DSP設(shè)計(jì)以及本錢敏感型嵌入式應(yīng)用提供最正確解決方案。Spartan-6FPGA奠定了堅(jiān)實(shí)的可編程芯片根底,非常適用于可提供集成軟硬件組件的目標(biāo)設(shè)計(jì)平臺(tái),以使設(shè)計(jì)人員在開發(fā)工作啟動(dòng)之初即可將精力集中到創(chuàng)新工作上。本畢業(yè)設(shè)計(jì)使用的是*ilin*公司的spartan-6系列FPGA,這一系列的FPGA如表4-2所示.實(shí)驗(yàn)初期我們采用的*C6SL*16.表4-2FPGA表格Table4-2FPGAform4.2FPGA設(shè)計(jì)流程FPGA設(shè)計(jì)分為設(shè)計(jì)準(zhǔn)備、設(shè)計(jì)輸入、設(shè)計(jì)處理、功能仿真、器件編程、時(shí)序仿真和下載配置七個(gè)步驟,設(shè)計(jì)流程如圖4-3所示。圖4-3FPGA的設(shè)計(jì)流程圖Fig.4-3FPGAdesignflowchart(一)設(shè)計(jì)準(zhǔn)備可編程邏輯設(shè)計(jì)是利用EDA開發(fā)軟件和編程工具對(duì)器件進(jìn)展開發(fā)的過程。高密度復(fù)雜可編程邏輯器件的設(shè)計(jì)流程,如圖4-3所示。(二)設(shè)計(jì)輸入l)原理圖原理圖輸入方式是最直接的設(shè)計(jì)描述方式,要設(shè)計(jì)什么,就從軟件系統(tǒng)提供的元件庫中調(diào)出來,畫出原理圖。其優(yōu)點(diǎn)是容易實(shí)現(xiàn)仿真,便于觀察信號(hào)和調(diào)整電路;缺點(diǎn)是效率低。2)硬件描述語言硬件描述語言是用文本方式描述設(shè)計(jì)。其突出優(yōu)點(diǎn)有:1、語言與工藝的無關(guān)性,使設(shè)計(jì)人員在系統(tǒng)設(shè)計(jì)、邏輯驗(yàn)證階段便于確立方案的可行性。2、語言的公開可利用性,便于實(shí)現(xiàn)大規(guī)模系統(tǒng)設(shè)計(jì)。3、很強(qiáng)的邏輯描述和仿真功能,且輸入效率高。4、在不同的設(shè)計(jì)輸入庫之間轉(zhuǎn)換非常方便,無需熟悉底層電路和PLD構(gòu)造。3)波形輸入波形輸入方式主要用于建立和編輯波形設(shè)計(jì)文件、輸入仿真向量和功能測(cè)試向量。波形設(shè)計(jì)輸入適用于時(shí)序邏輯和有重復(fù)性的邏輯函數(shù)。(三)功能仿真功能仿真是使用仿真工具對(duì)完成的設(shè)計(jì)進(jìn)展測(cè)試,模擬實(shí)際物理環(huán)境下的工作情況。功能仿真也稱為前仿真,僅對(duì)邏輯功能進(jìn)展測(cè)試模擬,了解其實(shí)現(xiàn)的功能是否滿足原設(shè)計(jì)的要求,仿真過程未參加時(shí)序信息,不涉及具體器件的硬件特性。(四)設(shè)計(jì)處理設(shè)計(jì)處理是器件設(shè)計(jì)的核心環(huán)節(jié)。設(shè)計(jì)處理過程中,編譯軟件對(duì)設(shè)計(jì)輸入文件進(jìn)展邏輯化簡(jiǎn)、綜合優(yōu)化和適配,產(chǎn)生編程用的編程文件、主要包括:語法檢查和設(shè)計(jì)規(guī)則檢查、邏輯優(yōu)化和綜合、映射、適配和分割、布局和布線、時(shí)序提取和配置等相關(guān)工作。(五)時(shí)序仿真時(shí)序仿真也稱為后仿真,是在布局布線后,提取有關(guān)的器件延遲、連線延時(shí)等時(shí)序參數(shù),在此根底上進(jìn)展仿真。這種仿真接近真實(shí)器件的運(yùn)行情況。(六)下載配置下載配置是將設(shè)計(jì)實(shí)現(xiàn)生成的位流下載到FPGA芯片中,也叫芯片一配置。因FPGA大多支持IEEE的JTAG(JointTestActionGrouP)標(biāo)準(zhǔn),所以使用芯片生成的J認(rèn)G口是常用的下載方式。將位流文件下載到FPGA中進(jìn)展物理測(cè)試即為電路驗(yàn)證。第五章CRC-32的串、并行仿真與比擬這個(gè)章怎么沒有使用分頁符這個(gè)章怎么沒有使用分頁符5.1如何使用ISE仿真器1、翻開ISE桌面圖標(biāo)并進(jìn)入工程管理器:2、單擊【File】→【NewProject】:如以下圖,填寫工程名稱、工程路徑,然后單擊【Ne*t】:4、如以下圖,選擇目標(biāo)器件,然后單擊【Ne*t】:?jiǎn)螕簟綨e*t】:?jiǎn)螕簟綨e*t】:?jiǎn)螕簟綟inish】:8、單擊【Project】→【NewSource】:如以下圖,選擇源文件類型【VHDLModule】,填寫源文件名稱、路徑然后單擊【Ne*t】:10、如以下圖,填寫輸入輸出端口名、端口模式、是否總線、總線的標(biāo)號(hào)*圍,然后單擊【Ne*t】:進(jìn)入文本編輯器:12、在文本編輯器中輸入源文件:5.2串、并行算法代碼和仿真圖串行CRC-32生成器verilog代碼:modulecrc_gen(inputrst,/*asyncreset,activelow*/inputclk,/*clockinput*/inputdata_in,/*serialdatainputpins*/outputfeedback,outputcrc);regfeedback;reg[31:0]crc;/**sequentialprocess*/always(posedgeclk)beginif(rst==0) begin crc<=32'b0; feedback=0; endif(rst==1) begin feedback=crc[31]^data_in; crc[31]<=crc[30]; crc[30]<=crc[29]; crc[29]<=crc[28]; crc[28]<=crc[27]; crc[27]<=crc[26]; crc[26]<=crc[25]^feedback; crc[25]<=crc[24]; crc[24]<=crc[23]; crc[23]<=crc[22]^feedback; crc[22]<=crc[21]^feedback; crc[21]<=crc[20]; crc[20]<=crc[19]; crc[19]<=crc[18]; crc[18]<=crc[17]; crc[17]<=crc[16]; crc[16]<=crc[15]^feedback;crc[15]<=crc[14];crc[14]<=crc[13];crc[13]<=crc[12];crc[12]<=crc[11]^feedback;crc[11]<=crc[10]^feedback;crc[10]<=crc[9]^feedback;crc[9]<=crc[8];crc[8]<=crc[7]^feedback;crc[7]<=crc[6]^feedback;crc[6]<=crc[5];crc[5]<=crc[4]^feedback;crc[4]<=crc[3]^feedback;crc[3]<=crc[2];crc[2]<=crc[1]^feedback;crc[1]<=crc[0]^feedback;crc[0]<=feedback; endendendmodule仿真時(shí),假設(shè)輸入一個(gè)32位的串行數(shù)據(jù)為0*aaaaaaaa,功能仿真圖如下:展開局部當(dāng)32位串行數(shù)據(jù)完全輸入后,此時(shí)的CRC[31:0]存放器中的值就是CRC校驗(yàn)碼,為0010。并行CRC-32生成器verilog代碼:moduletop(crc_reg,crc,d,calc,init,d_valid,clk,reset);output[31:0]crc_reg;output[7:0]crc;input[7:0]d;inputcalc;inputinit;inputd_valid;inputclk;inputreset;reg[31:0]crc_reg;reg[7:0]crc;////////////////////////////////////////////////////////////////////////////////InternalSignals//////////////////////////////////////////////////////////////////////////////wire[31:0]ne*t_crc;////////////////////////////////////////////////////////////////////////////////InferCRC-32registers////Thecrc_regregisterstorestheCRC-32value.//Thecrcregisteristhemostsignificant8bitsofthe//CRC-32value.////TruthTable://-----+---------+----------+----------------------------------------------//calc|d_valid|crc_reg|crc//-----+---------+----------+----------------------------------------------//0|0|crc_reg|crc//0|1|shift|bit-swapped,plimentedmsbyteofcrc_reg//1|0|crc_reg|crc//1|1|ne*t_crc|bit-swapped,plimentedmsbyteofne*t_crc//-----+---------+----------+----------------------------------------------////////////////////////////////////////////////////////////////////////////////always(posedgeclkorposedgereset)beginif(reset)begincrc_reg<=32'hFFFFFFFF;crc<=8'hFF;endelseif(init)begincrc_reg<=32'hFFFFFFFF;crc<=8'hFF;endelseif(calc&d_valid)begincrc_reg<=ne*t_crc;crc<=~{ne*t_crc[24],ne*t_crc[25],ne*t_crc[26],ne*t_crc[27],ne*t_crc[28],ne*t_crc[29],ne*t_crc[30],ne*t_crc[31]};endelseif(~calc&d_valid)begincrc_reg<={crc_reg[23:0],8'hFF};crc<=~{crc_reg[16],crc_reg[17],crc_reg[18],crc_reg[19],crc_reg[20],crc_reg[21],crc_reg[22],crc_reg[23]};endend////////////////////////////////////////////////////////////////////////////////CRC*ORequations//////////////////////////////////////////////////////////////////////////////assignne*t_crc[0]=crc_reg[30]^d[7]^crc_reg[24]^d[1];assignne*t_crc[1]=crc_reg[30]^crc_reg[31]^d[6]^d[7]^crc_reg[24]^d[0]^crc_reg[25]^d[1];assignne*t_crc[2]=crc_reg[30]^crc_reg[31]^d[5]^d[6]^d[7]^crc_reg[24]^crc_reg[25]^crc_reg[26]^d[0]^d[1];assignne*t_crc[3]=d[4]^crc_reg[31]^d[5]^d[6]^crc_reg[25]^crc_reg[26]^crc_reg[27]^d[0];assignne*t_crc[4]=crc_reg[30]^d[4]^d[5]^d[7]^crc_reg[24]^crc_reg[26]^crc_reg[27]^crc_reg[28]^d[1]^d[3];assignne*t_crc[5]=crc_reg[30]^d[4]^crc_reg[31]^d[6]^d[7]^crc_reg[24]^crc_reg[25]^crc_reg[27]^crc_reg[28]^crc_reg[29]^d[0]^d[1]^d[2]^d[3];assignne*t_crc[6]=crc_reg[30]^crc_reg[31]^d[5]^d[6]^crc_reg[25]^crc_reg[26]^crc_reg[28]^crc_reg[29]^d[0]^d[1]^d[2]^d[3];assignne*t_crc[7]=d[4]^d[5]^crc_reg[31]^d[7]^crc_reg[24]^crc_reg[26]^crc_reg[27]^crc_reg[29]^d[0]^d[2];assignne*t_crc[8]=d[4]^d[6]^d[7]^crc_reg[24]^crc_reg[25]^crc_reg[27]^crc_reg[28]^crc_reg[0]^d[3];assignne*t_crc[9]=d[5]^d[6]^crc_reg[25]^crc_reg[26]^crc_reg[28]^crc_reg[29]^d[2]^crc_reg[1]^d[3];assignne*t_crc[10]=d[4]^d[5]^d[7]^crc_reg[24]^crc_reg[26]^crc_reg[27]^crc_reg[29]^d[2]^crc_reg[2];assignne*t_crc[11]=d[4]^crc_reg[3]^d[6]^d[7]^crc_reg[24]^crc_reg[25]^crc_reg[27]^crc_reg[28]^d[3];assignne*t_crc[12]=crc_reg[30]^d[5]^crc_reg[4]^d[6]^d[7]^crc_reg[24]^crc_reg[25]^crc_reg[26]^crc_reg[28]^crc_reg[29]^d[1]^d[2]^d[3];assignne*t_crc[13]=d[4]^crc_reg[30]^crc_reg[31]^d[5]^d[6]^crc_reg[5]^crc_reg[25]^crc_reg[26]^crc_reg[27]^crc_reg[29]^d[0]^d[1]^d[2];assignne*t_crc[14]=d[4]^crc_reg[30]^d[5]^crc_reg[31]^crc_reg[6]^crc_reg[26]^crc_reg[27]^crc_reg[28]^d[0]^d[1]^d[3];assignne*t_crc[15]=d[4]^crc_reg[31]^crc_reg[7]^crc_reg[27]^crc_reg[28]^crc_reg[29]^d[0]^d[2]^d[3];assignne*t_crc[16]=d[7]^crc_reg[24]^crc_reg[8]^crc_reg[28]^crc_reg[29]^d[2]^d[3];assignne*t_crc[17]=crc_reg[30]^d[6]^crc_reg[25]^crc_reg[9]^crc_reg[29]^d[1]^d[2];assignne*t_crc[18]=crc_reg[30]^d[5]^crc_reg[31]^crc_reg[26]^d[0]^d[1]^crc_reg[10];assignne*t_crc[19]=d[4]^crc_reg[31]^crc_reg[27]^d[0]^crc_reg[11];assignne*t_crc[20]=crc_reg[12]^crc_reg[28]^d[3];assignne*t_crc[21]=crc_reg[13]^crc_reg[29]^d[2];assignne*t_crc[22]=crc_reg[14]^d[7]^crc_reg[24];assignne*t_crc[23]=crc_reg[30]^d[6]^d[7]^crc_reg[24]^crc_reg[15]^crc_reg[25]^
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 獸藥批發(fā)商的法律法規(guī)更新與培訓(xùn)考核試卷
- 科技產(chǎn)品發(fā)布會(huì)的社交媒體視覺藝術(shù)設(shè)計(jì)策略
- 百年孤獨(dú)家族傳承與現(xiàn)代企業(yè)文化的建設(shè)
- 輕型全剎輪行業(yè)深度研究報(bào)告
- 白水泥企業(yè)如何通過自動(dòng)化技術(shù)實(shí)現(xiàn)個(gè)性化銷售服務(wù)
- 中國(guó)高檔化妝品市場(chǎng)供需預(yù)測(cè)及投資戰(zhàn)略研究咨詢報(bào)告
- 2025年保密信封項(xiàng)目可行性研究報(bào)告
- 衛(wèi)星傳輸系統(tǒng)在體育賽事直播的作用考核試卷
- 科技與商業(yè)領(lǐng)域中勞動(dòng)技能的跨界合作
- 報(bào)刊發(fā)行網(wǎng)絡(luò)優(yōu)化與配送效率提升考核試卷
- 《國(guó)防動(dòng)員實(shí)施》課件
- 上高雙胞胎弘安畜牧有限公司田心鎮(zhèn)現(xiàn)代化18萬出欄育肥場(chǎng)建設(shè)項(xiàng)目環(huán)評(píng)報(bào)告
- 《米酒的釀造過程》課件
- 2024手機(jī)攝影課ppt課件完整版
- 醫(yī)院班子成員考核方案
- 2024年九省聯(lián)考安徽省新高考?xì)v史試卷(含答案)
- 汽車維修保養(yǎng)協(xié)議書
- HG T 3690-2022 工業(yè)用鋼骨架聚乙烯塑料復(fù)合管
- 單色版畫課件
- 《現(xiàn)代教育技術(shù)》教案-第一章 教育技術(shù)概述
- 《理想信念的內(nèi)涵及重要性》教學(xué)教案
評(píng)論
0/150
提交評(píng)論