版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于CAN總線的modbus通信設(shè)計(jì)【實(shí)用文檔】doc文檔可直接使用可編輯,歡迎下載
基于CAN總線的modbus通信設(shè)計(jì)基于CAN總線的modbus通信設(shè)計(jì)【實(shí)用文檔】doc文檔可直接使用可編輯,歡迎下載摘要:CAN總線是由德國BOSCH公司開發(fā)了的,其主要用于汽車計(jì)算機(jī)控制系統(tǒng),而在工業(yè)控制領(lǐng)域較少適用,在工業(yè)領(lǐng)域用的最多的是RS485總線。CAN總線較RS485總線具有網(wǎng)絡(luò)各節(jié)點(diǎn)之間的數(shù)據(jù)通信實(shí)時(shí)性強(qiáng),開發(fā)周期短,已形成國際標(biāo)準(zhǔn)的現(xiàn)場總線等優(yōu)點(diǎn).因此CAN總線是比較有前途的現(xiàn)場總線之一,在工業(yè)控制領(lǐng)域代替RS485是有可能的。 為了能簡單地應(yīng)用CAN總線代替RS485總線,如果采用比如CANopen等協(xié)議使得設(shè)備變得復(fù)雜化,那么有沒有簡單點(diǎn)的協(xié)議?很多做過工業(yè)設(shè)備的工程師都熟悉MODBUS協(xié)議,在RS485總線上跑的最多的協(xié)議就是MODBUS,如果我們在CAN總線上運(yùn)行MODBUS協(xié)議,那么做過RS485的工程師就能很快地轉(zhuǎn)移過來,減少了開發(fā)難度.所以本文就以CAN總線上跑MODBUS協(xié)議為目的對數(shù)據(jù)網(wǎng)絡(luò)層協(xié)議進(jìn)行設(shè)計(jì)。概念:MODBUS有主從概念,CAN總線支持多主,在這里我們把主機(jī)叫做客戶端,從機(jī)叫做服務(wù)器.在CAN總線上采用客戶端服務(wù)器的概念。在進(jìn)行協(xié)議介紹前先對CANMODBUS進(jìn)行簡單的介紹。MODBUS:閱讀過MODBUS協(xié)議的人都知道m(xù)odbus有ASCII和RTU模式,其中RTU模式用的較多,一個(gè)數(shù)據(jù)包在網(wǎng)絡(luò)上傳輸我們必須知道包的開始和結(jié)束,在RTU模式中數(shù)據(jù)包是以至少3.5個(gè)字符的靜默時(shí)間開始和結(jié)束的,如果信息結(jié)束前存在超過1。5個(gè)字符以上的間隔時(shí)間則出錯(cuò).為了檢測這些時(shí)間間隔,在程序上將變得很被動(dòng)。ASCII雖然有專用的開始結(jié)束標(biāo)志符,但是ASCII需要把一個(gè)字節(jié)數(shù)據(jù)傳換為兩個(gè)字符發(fā)送所以其效率低。所以還是得采用RTU模式,但得根據(jù)CAN總線的特點(diǎn)解決數(shù)據(jù)包開始結(jié)束標(biāo)志的定義.CAN總線:CAN總線的數(shù)據(jù)傳輸是以幀為單位的,一個(gè)幀包含標(biāo)識符、數(shù)據(jù)段CRC等,標(biāo)識符表示該幀的發(fā)送優(yōu)先級,數(shù)據(jù)段包含實(shí)際的數(shù)據(jù),數(shù)據(jù)長度從1到8字節(jié),CRC對該幀進(jìn)行校驗(yàn),因?yàn)閹邪藬?shù)據(jù)校驗(yàn)功能,所以在CAN上跑modbus就不需要再對數(shù)據(jù)進(jìn)行CRC校驗(yàn)。在這里我們看到CAN總線是有優(yōu)先級這個(gè)概念,但是沒有出現(xiàn)像modbus這樣有地址的概念,CAN總線上標(biāo)識符段表示的是該幀的優(yōu)先級,它面向的是數(shù)據(jù),而modbus面向的是設(shè)備,每個(gè)數(shù)據(jù)包中都有地址,如果我們把地址放在CAN幀的數(shù)據(jù)段中那么所有設(shè)備都必須接收每一幀,然后對數(shù)據(jù)進(jìn)行解析,如果網(wǎng)絡(luò)負(fù)載比較大的是時(shí)候,這對設(shè)備不利。CAN控制器一般都能對特定的標(biāo)識符段進(jìn)行過濾,那么我們?yōu)槭裁床荒馨褬?biāo)識符段作為設(shè)備的地址,然后設(shè)備對特定的標(biāo)識符進(jìn)行過濾,這樣就減少了設(shè)備的負(fù)擔(dān).但是如果標(biāo)識符段作為目的地址,那么CAN總線上就不能有兩個(gè)主機(jī),應(yīng)為CAN總線規(guī)定不能有兩個(gè)相同標(biāo)識符的幀同時(shí)發(fā)送。既然標(biāo)識符符不能作為目的地址,那么就實(shí)現(xiàn)不了設(shè)備對數(shù)據(jù)的過濾。我的解決辦法是把幀的標(biāo)識符段分為兩部分,一部分為發(fā)送方地址,另一部分為接收方地址,其中接收方地址在標(biāo)識符的高端。這樣我們就能通過表標(biāo)識符段知道這幀數(shù)據(jù)是誰發(fā)給誰的,對于接收方它通過設(shè)置過濾器只接收表識符高端數(shù)據(jù)為自己地址的幀,這樣就解決了CAN總線中地址的概念。這個(gè)地址還表示的設(shè)備的優(yōu)先級,地址越小優(yōu)先級就越高,接收方地址和發(fā)送方地址就決定這幀的發(fā)送優(yōu)先級。標(biāo)識符段分為標(biāo)準(zhǔn)幀和擴(kuò)展幀,標(biāo)準(zhǔn)幀的標(biāo)識符為11bit,擴(kuò)展幀的標(biāo)識符為29bit,按照接收方地址加發(fā)送方地址的分配方法標(biāo)準(zhǔn)幀的地址范圍為0~31,共計(jì)32個(gè)地址,如果用擴(kuò)展幀的來分配地址范圍為0~16383,共計(jì)16384個(gè)地址。標(biāo)識符接收方地址發(fā)送方地址因?yàn)橐粠疃嗄馨l(fā)送8字節(jié)數(shù)據(jù),因此要發(fā)送超過8字節(jié)的數(shù)據(jù)就必須使用多幀,為了能適應(yīng)多任務(wù)環(huán)境,我們在把幀的數(shù)據(jù)段的前兩自己數(shù)據(jù)用作特殊用途:第一字節(jié)表示幀數(shù)據(jù)的ID,其bit7為1:表示服務(wù)器返回的數(shù)據(jù)幀,為0:表示客戶端請求的數(shù)據(jù)幀;第二字節(jié)表示著一幀在這個(gè)數(shù)據(jù)包中的相對為位置,其bit7為1:表示這是最后一幀,因此我們可以根據(jù)這一幀就能計(jì)算出此次要傳輸?shù)臄?shù)據(jù)字節(jié)數(shù),有這兩字節(jié)的數(shù)據(jù)我們就能把一個(gè)數(shù)據(jù)包分成多個(gè)幀發(fā)送出去,然后在接收方根據(jù)這兩字節(jié)的信息把數(shù)據(jù)包從新組裝。由第二字節(jié)信息我們可以計(jì)算出一次能傳輸?shù)臄?shù)據(jù)包的大小為128*6=768字節(jié)。你也許會(huì)問,那個(gè)ID數(shù)據(jù)有什么用,為了支持多任務(wù)處理,一個(gè)客服端可能有多個(gè)任務(wù)同時(shí)把數(shù)據(jù)發(fā)送到同一個(gè)服務(wù)器,這個(gè)ID就是區(qū)分不同任務(wù)的,客戶端發(fā)送到的時(shí)候分配一個(gè)空閑的ID然后以此ID把數(shù)據(jù)發(fā)送出去。服務(wù)器接受到同一個(gè)客服端發(fā)來的不同ID的數(shù)據(jù)包,那么服務(wù)器就根據(jù)ID的不同分別處理;回復(fù)客戶端時(shí)把ID的最高位置1,然后發(fā)送回去,客服端收到發(fā)回復(fù)后根據(jù)ID把數(shù)據(jù)分發(fā)給對應(yīng)的任務(wù)。一個(gè)設(shè)備可以是客戶端也可以是服務(wù)器,還可以包含兩者,那么CAN接收服務(wù)程序就必須明確接收到的數(shù)據(jù)是自己收到的回復(fù)還是別人的請求,因此ID的最高位就是區(qū)分?jǐn)?shù)據(jù)方向的.在這里規(guī)定ID為0表示無效ID,故ID的取值范圍為1到127。因此能同時(shí)區(qū)分同一個(gè)設(shè)備的127個(gè)不同數(shù)據(jù)包。在回頭想想采用了這個(gè)結(jié)構(gòu)后也就解決了MODBUS數(shù)據(jù)包的開始和結(jié)束的問題。那么MODBUS就可也在CAN總線上運(yùn)行了.在CAN總線上已經(jīng)包含了地址和CRC數(shù)據(jù),因此MODBUS上就不在需要地址段和CRC段。另外一個(gè)幀中包含6個(gè)數(shù)據(jù),因此大多數(shù)MODBUS數(shù)據(jù)包都能夠通過一幀發(fā)送出去.基于LPC2292的CAN通信程序設(shè)計(jì)CAN驅(qū)動(dòng)層:CAN驅(qū)動(dòng)層主要做的工作是初始化設(shè)備,收發(fā)數(shù)據(jù),下面是集CAN功能函數(shù)的結(jié)構(gòu)體typedef? struct{uint8_t(*Init)(uint8_tport,uint16_taddr); void??(*Open)(uint8_tport);?void ?(*Close)(uint8_tport);uint8_t?(*Wirte)(uint8_tport,Message*m);?void (*SetBPS)(uint8_tport,uint32_tbaud);}can_device;uint8_t(*Init)(uint8_tport,uint16_taddr);初始化設(shè)備,port:端口號,指示初始化哪個(gè)CAN,addr:設(shè)備在通信中的地址,地址的長度要根據(jù)標(biāo)準(zhǔn)幀或者擴(kuò)展幀定義。返回1:成功0:失敗void(*Open)(uint8_tport);打開設(shè)備void(*Close)(uint8_tport);關(guān)閉設(shè)備uint8_t (*Wirte)(uint8_tport,Message*m);向設(shè)備寫數(shù)據(jù)void?(*SetBPS)(uint8_tport,uint32_tbaud);設(shè)置通信速率消息結(jié)構(gòu)體如下typedefstruct{uint32_tcob_id; /**<message’sID*/uint8_trtr; /**〈remotetransmissionrequest。(0ifnotrtrmessage,1ifrtrmessage)*/uint8_tlen;? /**〈message'slength(0to8)*/uint8_tdata[8];/**<message'sdatas*/}Message;另外CAN接收中斷服務(wù)程序序調(diào)用voidCAN_msg_dispatch(can_uint8port,Message*m),該函數(shù)對每一幀數(shù)據(jù)進(jìn)行解析其工作流程如下:接收到can數(shù)據(jù)接收到can數(shù)據(jù)解析數(shù)據(jù)的ID,ADDR在接收鏈表中是否存在相同ADDR和ID的數(shù)據(jù)包把數(shù)據(jù)存入對應(yīng)的數(shù)據(jù)包是否接收完成?把接收完成的數(shù)據(jù)包發(fā)送給接收服務(wù)任務(wù)是是獲取空閑包,并把數(shù)據(jù)存進(jìn)數(shù)據(jù)包否等待新數(shù)據(jù)說明:在試驗(yàn)中用的操作系統(tǒng)為ucosII2.86,把接收完成的數(shù)據(jù)包發(fā)送給接收服務(wù)任務(wù)是通過消息郵箱把數(shù)據(jù)包發(fā)送給接收服務(wù)任務(wù)的。下面是數(shù)據(jù)包的結(jié)構(gòu)體:typedef?struct{ uint8_t port;?uint16_t addr; uint8_t?id; uint16_t?size;?uint16_ttotal_size; uint8_t message[CAN_MAX_LEN];?uint8_t?ttl; void?*next;}can_pkg;Port:設(shè)備端口Addr:數(shù)據(jù)來源地址Id:包IDSize:包的當(dāng)前大小total_size:包的總大小message:消息緩沖區(qū)ttl:該包的生命周期next:指向下一個(gè)包total_size:是通過接收到最后一幀數(shù)據(jù)計(jì)算出來的,當(dāng)size=total_size時(shí)表示接收完成message是一個(gè)數(shù)組,這里為了設(shè)計(jì)簡單采用了數(shù)組,這個(gè)用戶可以靈活設(shè)計(jì)成動(dòng)態(tài)分配ttl:當(dāng)接收一個(gè)包時(shí),如果傳輸過程中丟失一個(gè)幀那么這個(gè)包就永遠(yuǎn)不能接收完成,因此設(shè)置了TTL沒個(gè)周期掃描一次,TTL減一,當(dāng)TTL等于0時(shí),不管接收是否完成,都將把包移除接收鏈表。Next:指向下一個(gè)包的指針,用作單向鏈表。包在工作過程中分為三種狀態(tài)使用狀態(tài):包正在接收數(shù)據(jù)游離裝態(tài):數(shù)據(jù)接收完成,等待處理空閑狀態(tài):包處于空閑狀態(tài)發(fā)送過程:發(fā)送過程建議采用對列中斷發(fā)送,發(fā)送中斷產(chǎn)生后通過查看隊(duì)列中是否還有要發(fā)送的數(shù)據(jù)來循環(huán)發(fā)送,上層應(yīng)用只需向隊(duì)列寫數(shù)據(jù)。數(shù)據(jù)包ID采用遞增循環(huán)方式發(fā)送,沒發(fā)送一個(gè)新的數(shù)據(jù)包時(shí),將在上次分配的ID上加1然后產(chǎn)看該ID是否實(shí)用,如果沒有使用,將采用該ID,否者ID繼續(xù)加1,直到找到空閑的ID,如果所有ID都在使用那么ID將返回0表示沒有可用ID分配.staticvoid*?id_queue[CAN_MAX_ID];ID分配隊(duì)列是一個(gè)void*的數(shù)據(jù),它指向的數(shù)據(jù)類型是用戶定義的,它的作用是當(dāng)接收服務(wù)任務(wù)接收到回應(yīng)的數(shù)據(jù)時(shí),通過該數(shù)據(jù)把接收的信息發(fā)送給使用該ID的任務(wù)。來自紅葉 RedLeaf江蘇科技大學(xué)本科畢業(yè)設(shè)計(jì)(論文)學(xué)院電子信息學(xué)院專業(yè)電氣工程及其自動(dòng)化學(xué)生姓名于進(jìn)班級學(xué)號0745533140指導(dǎo)教師袁文華二零一一年五月江蘇科技大學(xué)畢業(yè)論文基于CP430的MODBUS通訊程序設(shè)計(jì)BasedontheCP430MODBUScommunicationprogramdesign江蘇科技大學(xué)畢業(yè)設(shè)計(jì)(論文)任務(wù)書學(xué)院名稱:電子信息學(xué)院專業(yè):電氣工程及其自動(dòng)化學(xué)生姓名:于進(jìn)學(xué)號:0745533140指導(dǎo)教師:袁文華職稱:講師2011畢業(yè)設(shè)計(jì)(論文)題目:基于CP340的MODBUS通訊程序設(shè)計(jì)畢業(yè)設(shè)計(jì)(論文)內(nèi)容及要求(包括原始數(shù)據(jù)、技術(shù)要求、達(dá)到的指標(biāo)和應(yīng)做的實(shí)驗(yàn)等)1提供條件:PLC軟件及相關(guān)MODBUS通訊的資料。2設(shè)計(jì)內(nèi)容與要求:(1)學(xué)習(xí)、理解S7—300PLC軟件的使用;(2)學(xué)習(xí)、理解MODBUS通訊的原理;(3)結(jié)合MODBUS通訊的原理,利用S7-300PLC軟件編寫出程序;(4)撰寫論文,通過答辯。二、完成后應(yīng)交的作業(yè)(包括各種說明書、圖紙等)1。畢業(yè)設(shè)計(jì)論文一份(不少于1.5萬字);2。外文譯文一篇(不少于5000英文單詞);3。包含任務(wù)書、開題報(bào)告、中期檢查和前三項(xiàng)內(nèi)容的光盤一張。完成日期及進(jìn)度2011年3月21日至進(jìn)度安排:3。14-3。28,熟悉任務(wù)要求,查閱資料,翻譯外文資料;3.28-4.18,學(xué)習(xí)、理解MODBUS通訊的原理;4。18-4.30,學(xué)習(xí)、理解S7-300PLC軟件的使用;5.1-5。30,利用S7—300PLC軟件,編寫程序;5.31-6.29,撰寫畢業(yè)論文、答辯。主要參考資料(包括書刊名稱、出版年月等):1。MODBUS國標(biāo)參考資料.2.西門子S7-300/400PLC編程與應(yīng)用,劉華波,何文雪,王雪編著。3.西門子S7-300/400PLC控制系統(tǒng)設(shè)計(jì)與應(yīng)用,陳章平等編著系(教研室)主任:(簽章)年月日學(xué)院主管領(lǐng)導(dǎo):(簽章)年月日摘要計(jì)算機(jī)技術(shù)的飛速發(fā)展,使得現(xiàn)代工業(yè)生產(chǎn)和控制系統(tǒng)變得越來越復(fù)雜性,同時(shí)騎可靠性、實(shí)時(shí)性、精確性要求也越來越高?,F(xiàn)場總線技術(shù)為控制系統(tǒng)性能提高提供了新的思路,發(fā)展現(xiàn)場總線技術(shù)的初衷是建立開放的控制通信網(wǎng)絡(luò).由于歷史原因,不同系統(tǒng)的現(xiàn)場總線協(xié)議差異很大。不同總線協(xié)議應(yīng)用范圍也有所差異。MODBUS協(xié)議定義了控制器能識別和使用的信息結(jié)構(gòu)。廣泛用于工業(yè)通信領(lǐng)域,其優(yōu)點(diǎn)是實(shí)時(shí)性好,可靠性高,適用于小到中等規(guī)模的數(shù)據(jù)傳輸,如典型應(yīng)用于的可編程控制器(PLC).協(xié)議采用主機(jī)輪詢機(jī)制,主設(shè)備發(fā)出查詢請求,要求從設(shè)備執(zhí)行某種動(dòng)作;從設(shè)備收到查詢請求后,識別是否本地?cái)?shù)據(jù)執(zhí)行相應(yīng)的動(dòng)作,組織應(yīng)答,將執(zhí)行的狀況或相關(guān)數(shù)據(jù)反饋到主設(shè)備。本文在研究Modbus協(xié)議規(guī)則,詳細(xì)分析Modbus協(xié)議的原理,然后通過西門子STEP7軟件,運(yùn)用CP430做Modbus從站程序,實(shí)現(xiàn)Modbus從站接受檢驗(yàn)功能。關(guān)鍵字:Modbus,CP430,從站,協(xié)議AbstractTherapiddevelopmentofcomputertechnology,makesthemodernindustrialproductionandcontrolsystemisbecomingmoreandmorecomplexitywhileridingareliability,real-time,andmoreandmoreisalsohighprecisionrequirements.TheModbustechnologyforcontrolsystemperformanceprovidesnewideas,improvethedevelopmentoftheModbustechnologyintendedtoestablishanopencontrolcommunicationnetwork.Owingtohistoricalreasons,thedifferentsystemsModbusagreementdifferenceisverybig.Differentbusagreementapplicationalsodifferent.MODBUSagree(cuò)mentdefinesthecontrollercanidentifyanduseofinformationstructure.Widelyusedinindustrialcommunicationfield,itsadvantageisgoodreal-time,highreliability,applicabletosmalltomediumsizeofdat(yī)atransmission,suchasthetypicalapplicationinprogrammablecontroller(PLC)。TheprotocolUSEShostpollingmechanism,themainequipmentandissuequeriesrequest,demandfromequipmentperformanaction;Afterreceivedfromthedevicequeries,identifywhethersomeactionlocaldataexecution,theorganizat(yī)ionresponse,willimplementationstatusorrelateddatafee(cuò)dbacktothemainequipment.Basedonthestudy,detailedanalysisModbusagreementrulestheprincipleofModbusagreementbySiemens,andthenCP430STEP7software,usingModbus,slavestationprogramdorealizeModbusfunctionsslavestationacceptinspection。Keyword:Modbus,CP430,slavestation,theagreement目錄TOC\o"1-3"\h\z\uHYPERLINK\l”_Toc294815258”第一章緒論PAGEREF_Toc294815258\h5HYPERLINK\l"_Toc294815259"1.1課題研究PAGEREF_Toc294815259\h51.2國內(nèi)外對于實(shí)現(xiàn)ModBus的現(xiàn)狀PAGEREF_Toc294815260\h6HYPERLINK\l"_Toc294815261"1.2.1通過FPGA實(shí)現(xiàn)Modbus94815261\h61。2.2通過51單片機(jī)實(shí)現(xiàn)ModbusPAGEREF_Toc294815262\h6HYPERLINK\l”_Toc294815263"1.2。3用過PLC實(shí)現(xiàn)ModbusPAGEREF_Toc294815263\h6HYPERLINK\l”_Toc294815264”1.3本文的組織結(jié)構(gòu)PAGEREF_Toc294815264\h7HYPERLINK=沒有等待的請求。這是電源上電后的初始狀態(tài)。當(dāng)收到一個(gè)請求時(shí),子節(jié)點(diǎn)在處理請求中要求的動(dòng)作前檢驗(yàn)報(bào)文包。不同的錯(cuò)誤可以發(fā)生于:請求的格式錯(cuò),非法動(dòng)作,……當(dāng)檢測到錯(cuò)誤時(shí),必須向主節(jié)點(diǎn)發(fā)送應(yīng)答。當(dāng)要求的動(dòng)作完成后,單播報(bào)文要求必須格式化一個(gè)應(yīng)答并發(fā)往主節(jié)點(diǎn)。如果子節(jié)點(diǎn)在接收到的幀中檢測到錯(cuò)誤,則沒有響應(yīng)返回到主節(jié)點(diǎn)。任何子節(jié)點(diǎn)均應(yīng)該定義并管理Modbus診斷計(jì)數(shù)器以提供診斷信息.通過使用Modbus診斷功能碼,可以得到這些計(jì)數(shù)值。2。2總體描述MODBUS協(xié)議定義了一個(gè)與基礎(chǔ)通信層無關(guān)的簡單協(xié)議數(shù)據(jù)單元(PDU).特定總線或網(wǎng)絡(luò)上的MODBUS協(xié)議映射能夠在應(yīng)用數(shù)據(jù)單元(ADU)上引入一些附加域。圖2-4通用MODBUS幀啟動(dòng)MODBUS事務(wù)處理的客戶機(jī)創(chuàng)建MODBUS應(yīng)用數(shù)據(jù)單元。功能碼向服務(wù)器指示將執(zhí)行哪種操作.MODBUS協(xié)議建立了客戶機(jī)啟動(dòng)的請求格式。用一個(gè)字節(jié)編碼MODBUS數(shù)據(jù)單元的功能碼域。有效的碼字范圍是十進(jìn)制1-255(128-255為異常響應(yīng)保留)。當(dāng)從客戶機(jī)向服務(wù)器設(shè)備發(fā)送報(bào)文時(shí),功能碼域通知服務(wù)器執(zhí)行哪種操作。向一些功能碼加入子功能碼來定義多項(xiàng)操作.從客戶機(jī)向服務(wù)器設(shè)備發(fā)送的報(bào)文數(shù)據(jù)域包括附加信息,服務(wù)器使用這個(gè)信息執(zhí)行功能碼定義的操作。這個(gè)域還包括離散項(xiàng)目和寄存器地址、處理的項(xiàng)目數(shù)量以及域中的實(shí)際數(shù)據(jù)字節(jié)數(shù)。在某種請求中,數(shù)據(jù)域可以是不存在的(0長度),在此情況下服務(wù)器不需要任何附加信息。功能碼僅說明操作。如果在一個(gè)正確接收的MODBUSADU中,不出現(xiàn)與請求MODBUS功能有關(guān)的差錯(cuò),那么服務(wù)器至客戶機(jī)的響應(yīng)數(shù)據(jù)域包括請求數(shù)據(jù).如果出現(xiàn)與請求MODBUS功能有關(guān)的差錯(cuò),那么域包括一個(gè)異常碼,服務(wù)器應(yīng)用能夠使用這個(gè)域確定下一個(gè)執(zhí)行的操作。例如,客戶機(jī)能夠讀一組離散量輸出或輸入的開/關(guān)狀態(tài),或者客戶機(jī)能夠讀/寫一組寄存器的數(shù)據(jù)內(nèi)容。當(dāng)服務(wù)器對客戶機(jī)響應(yīng)時(shí),它使用功能碼域來指示正常(無差錯(cuò))響應(yīng)或者出現(xiàn)某種差錯(cuò)(稱為異常響應(yīng))。對于一個(gè)正常響應(yīng)來說,服務(wù)器僅對原始功能碼響應(yīng).圖2—5Modbus事物處理(無差錯(cuò))圖2-6Modbus事物處理(異常響應(yīng))2.3兩種傳輸方式控制器能設(shè)置為兩種傳輸模式(ASCII或RTU)中的任何一種在標(biāo)準(zhǔn)的Modbus網(wǎng)絡(luò)通信。用戶選擇想要的模式,包括串口通信參數(shù)(波特率、校驗(yàn)方式等),在配置每個(gè)控制器的時(shí)候,在一個(gè)Modbus網(wǎng)絡(luò)上的所有設(shè)備都必須選擇相同的傳輸模式和串口參數(shù)。2.3。1RTU模式當(dāng)控制器設(shè)為在Modbus網(wǎng)絡(luò)上以RTU(遠(yuǎn)程終端單元)模式通信,在消息中的每個(gè)8Bit字節(jié)包含兩個(gè)4Bit的十六進(jìn)制字符。這種方式的主要優(yōu)點(diǎn)是:在同樣的波特率下,可比ASCII方式傳送更多的數(shù)據(jù)。代碼系統(tǒng)?8位二進(jìn)制,十六進(jìn)制數(shù)0。。。9,A.。.F?消息中的每個(gè)8位域都是一個(gè)兩個(gè)十六進(jìn)制字符組成每個(gè)字節(jié)的位?1個(gè)起始位?8個(gè)數(shù)據(jù)位,最小的有效位先發(fā)送?1個(gè)奇偶校驗(yàn)位,無校驗(yàn)則無?1個(gè)停止位(有校驗(yàn)時(shí)),2個(gè)Bit(無校驗(yàn)時(shí))錯(cuò)誤檢測域?CRC(循環(huán)冗長檢測)2。3。2ASCII傳輸模式當(dāng)控制器設(shè)為在Modbus網(wǎng)絡(luò)上以ASCII(美國標(biāo)準(zhǔn)信息交換代碼)模式通信,在消息中的每個(gè)8Bit字節(jié)都作為兩個(gè)ASCII字符發(fā)送。這種方式的主要優(yōu)點(diǎn)是字符發(fā)送的時(shí)間間隔可達(dá)到1秒而不產(chǎn)生錯(cuò)誤.代碼系統(tǒng)?十六進(jìn)制,ASCII字符0...9,A。..F?消息中的每個(gè)ASCII字符都是一個(gè)十六進(jìn)制字符組成每個(gè)字節(jié)的位?1個(gè)起始位?7個(gè)數(shù)據(jù)位,最小的有效位先發(fā)送?1個(gè)奇偶校驗(yàn)位,無校驗(yàn)則無?1個(gè)停止位(有校驗(yàn)時(shí)),2個(gè)Bit(無校驗(yàn)時(shí))錯(cuò)誤檢測域?LRC(縱向冗長檢測)2.3。2.1ASCII報(bào)文幀由發(fā)送設(shè)備將Modbus報(bào)文構(gòu)造為帶有已知起始和結(jié)束標(biāo)記的幀.這使設(shè)備可以在報(bào)文的開始接收新幀,并且知道何時(shí)報(bào)文結(jié)束。不完整的報(bào)文必須能夠被檢測到而錯(cuò)誤標(biāo)志必須作為結(jié)果被設(shè)置。報(bào)文幀的地址域含有兩個(gè)字符。在ASCII模式,報(bào)文用特殊的字符區(qū)分幀起始和幀結(jié)束。一個(gè)報(bào)文必須以一個(gè)‘冒號’(:)(ASCII十六進(jìn)制3A)起始,以‘回車-換行’(CRLF)對(ASCII十六進(jìn)制0D和0A)結(jié)束。對于所有的域,允許傳送的字符為十六進(jìn)制0–9,A–F(ASCII編碼)。設(shè)備連續(xù)的監(jiān)視總線上的‘冒號'字符。當(dāng)收到這個(gè)字符后,每個(gè)設(shè)備解碼后續(xù)的字符一直到幀結(jié)束.報(bào)文中字符間的時(shí)間間隔可以達(dá)一秒。如果有更大的間隔,則接受設(shè)備認(rèn)為發(fā)生了錯(cuò)誤。下圖顯示了一個(gè)典型的報(bào)文幀必然的,ModbusASCII幀的最大尺寸為513個(gè)字符圖2-7ASCII報(bào)文幀2.3.2.2ASCII傳輸模式狀態(tài)圖圖2-8ASCII傳輸狀態(tài)圖上面狀態(tài)圖的一些解釋:“空閑"態(tài)是沒有發(fā)送和接收報(bào)文要處理的正常狀態(tài).每次接收到”:”字符表示新的報(bào)文的開始.如果在一個(gè)報(bào)文的接收過程中收到該字符,則當(dāng)前地報(bào)文被認(rèn)為不完整并被丟棄。而一個(gè)新的接收緩沖區(qū)被重新分配。檢測到幀結(jié)束后,完成LRC計(jì)算和檢驗(yàn)。然后,分析地址域以確定幀是否發(fā)往此設(shè)備,如果不是,則丟棄此幀。為了減少接收處理時(shí)間,地址域可以在一接到就分析,而不需要等到整個(gè)幀結(jié)束。2.4LRC校驗(yàn)使用ASCII模式,消息包括了一基于LRC方法的錯(cuò)誤檢測域。LRC域檢測了消息域中除開始的冒號及結(jié)束的回車換行號外的內(nèi)容。LRC域是一個(gè)包含一個(gè)8位二進(jìn)制值的字節(jié)。LRC值由傳輸設(shè)備來計(jì)算并放到消息幀中,接收設(shè)備在接收消息的過程中計(jì)算LRC,并將它和接收到消息中LRC域中的值比較,如果兩值不等,說明有錯(cuò)誤。LRC方法是將消息中的8Bit的字節(jié)連續(xù)累加,丟棄了進(jìn)位。LRC簡單函數(shù)如下:staticunsignedcharLRC(auchMsg,usDataLen)unsignedchar*auchMsg;/*要進(jìn)行計(jì)算的消息*/unsignedshortusDataLen;/*LRC要處理的字節(jié)的數(shù)量*/{unsignedcharuchLRC=0;/*LRC字節(jié)初始化*/while(usDat(yī)aLen-—)/*傳送消息*/uchLRC+=*auchMsg++;/*累加*/return((unsignedchar)(-((char_uchLRC)));}2.5功能碼定義2。5.1功能碼分類有三類MODBUS功能碼.它們是:(1)公共功能碼是較好地被定義的功能碼,保證是唯一的,MODBUS組織可改變的,公開證明的,具有可用的一致性測試,MBIETFRFC中證明的,包含已被定義的公共指配功能碼和未來使用的未指配保留供功能碼。(2)用戶定義功能碼有兩個(gè)用戶定義功能碼的定義范圍,即65至72和十進(jìn)制100至110。用戶沒有MODBUS組織的任何批準(zhǔn)就可以選擇和實(shí)現(xiàn)一個(gè)功能碼不能保證被選功能碼的使用是唯一的。如果用戶要重新設(shè)置功能作為一個(gè)公共功能碼,那么用戶必須啟動(dòng)RFC,以便將改變引入公共分類中,并且指配一個(gè)新的公共功能碼.(3)保留功能碼一些公司對傳統(tǒng)產(chǎn)品通常使用的功能碼,并且對公共使用是無效的功能2。5.2功能碼定義表ModBus網(wǎng)絡(luò)是一個(gè)工業(yè)通信系統(tǒng),由帶智能終端的可編程序控制器和計(jì)算機(jī)通過公用線路或局部專用線路連接而成。其系統(tǒng)結(jié)構(gòu)既包括硬件、亦包括軟件。它可應(yīng)用于各種數(shù)據(jù)采集和過程監(jiān)控。下表2-1是ModBus的功能碼定義。表2-1功能碼定義表功能碼名稱作用01讀取線圈狀態(tài)取得一組邏輯線圈的當(dāng)前狀態(tài)(ON/OFF)02讀取輸入狀態(tài)取得一組開關(guān)輸入的當(dāng)前狀態(tài)(ON/OFF)03讀取保存寄存器在一個(gè)或多個(gè)保持寄存器中取得當(dāng)前的二進(jìn)制符04讀取輸入寄存器在一個(gè)或多個(gè)輸入寄存器中取得當(dāng)前的二進(jìn)制值05設(shè)置單線圈強(qiáng)制一個(gè)邏輯線圈的通斷狀態(tài)06預(yù)設(shè)單寄存器把具體二進(jìn)制值裝入一個(gè)保持寄存器07讀取異常狀態(tài)取得8個(gè)內(nèi)部線圈的通斷狀態(tài),這8個(gè)線圈的地址由控制器決定,用戶邏輯可以將這些線圈定義,以說明從機(jī)狀態(tài),短報(bào)文適宜于迅速讀取狀態(tài)08回送診斷校驗(yàn)把診斷校驗(yàn)報(bào)文送從機(jī),以對通信處理進(jìn)行評鑒09編程(只用于484)使主機(jī)模擬編程器作用,修改PC從機(jī)邏輯10控詢(只用于484)可使主機(jī)與一臺正在執(zhí)行程序任務(wù)從機(jī)通信.探尋該從機(jī)是否已完成其操作任務(wù),僅在含有功能碼9的報(bào)文發(fā)送后,本功能碼才發(fā)送11讀取時(shí)間計(jì)數(shù)可使主機(jī)發(fā)出單詢問,并隨即判定操作是否成功,尤其是該命令或其他應(yīng)答產(chǎn)生通信錯(cuò)誤時(shí)12讀取通信事件記錄可使主機(jī)檢索每臺從機(jī)的Modbus事物處理通信事件記錄。13編程(184/384484584)可使主機(jī)模擬編程器功能修改PC從機(jī)邏輯14探尋(184/384484584)可使主機(jī)與正在執(zhí)行任務(wù)的從機(jī)通信,定期控詢該從機(jī)是否已完成其程序操作,僅在含有功能13的報(bào)文發(fā)送后,本功能碼才發(fā)送15強(qiáng)置多線圈強(qiáng)置一串連續(xù)邏輯線圈的通斷16預(yù)置多寄存器把具體的二進(jìn)制值裝入一串連續(xù)的保持寄存器17報(bào)告從機(jī)標(biāo)識可使主機(jī)判斷編址從機(jī)的類型及該從機(jī)運(yùn)行指示燈的狀態(tài)18(884和MICRO84)可使主機(jī)模擬編程功能,修改PC狀態(tài)邏輯19重置通信鏈路發(fā)生非可修改錯(cuò)誤后,是從機(jī)復(fù)位于已知狀態(tài),可重置順序字節(jié)20讀取通用參數(shù)(584L)顯示擴(kuò)展存儲器文件中的數(shù)據(jù)信息21寫入通用參數(shù)(584L)把通用參數(shù)寫入擴(kuò)展儲存文件,或修改之22—64保留擴(kuò)展功能備用65-72保留以備用戶功能所用留作用戶功能的擴(kuò)展編碼73-119非法功能120-127保留留作內(nèi)部作用128-255保留用于異常應(yīng)答ModBus網(wǎng)絡(luò)只是一個(gè)主機(jī),所有通信都由他發(fā)出。網(wǎng)絡(luò)可支持247個(gè)之多的遠(yuǎn)程從屬控制器,但實(shí)際所支持的從機(jī)數(shù)要由所用通信設(shè)備決定。采用這個(gè)系統(tǒng),各PC可以和中心主機(jī)交換信息而不影響各PC執(zhí)行本身的控制任務(wù)。表2-2是ModBus各功能碼對應(yīng)的數(shù)據(jù)類型。表2-2功能碼與數(shù)據(jù)類型對應(yīng)表代碼功能數(shù)據(jù)類型01讀位02讀位03讀整型、字符型、狀態(tài)字、浮點(diǎn)型04讀整型、狀態(tài)字、浮點(diǎn)型05寫位06寫整型、字符型、狀態(tài)字、浮點(diǎn)型08N/A重復(fù)“回路反饋”信息15寫位16寫整型、字符型、狀態(tài)字、浮點(diǎn)型17讀字符型2.6Modbus異常響應(yīng)當(dāng)客戶機(jī)設(shè)備向服務(wù)器設(shè)備發(fā)送請求時(shí),客戶機(jī)希望一個(gè)正常響應(yīng)。從主站詢問中出現(xiàn)下列四種可能事件之一:如果服務(wù)器設(shè)備接收到無通信錯(cuò)誤的請求,并且可以正常地處理詢問,那么服務(wù)器設(shè)備將返回一個(gè)正常響應(yīng)。如果由于通信錯(cuò)誤,服務(wù)器沒有接收到請求,那么不能返回響應(yīng)。客戶機(jī)程序?qū)⒆罱K處理請求的超時(shí)狀態(tài)。如果服務(wù)器接收到請求,但是檢測到一個(gè)通信錯(cuò)誤(奇偶校驗(yàn)、LRC、CRC、...),那么不能返回響應(yīng)。客戶機(jī)程序?qū)⒆罱K處理請求的超時(shí)狀態(tài).如果服務(wù)器接收到無通信錯(cuò)誤的請求,但不能處理這個(gè)請求(例如,如果請求讀一個(gè)不存在的輸出或寄存器),服務(wù)器將返回一個(gè)異常響應(yīng),通知用戶錯(cuò)誤的本質(zhì)特性。異常響應(yīng)報(bào)文有兩個(gè)與正常響應(yīng)不同的域:功能碼域:在正常響應(yīng)中,服務(wù)器利用響應(yīng)功能碼域來應(yīng)答最初請求的功能碼。所有功能碼的最高有效位(MSB)都為0(它們的值都低于十六進(jìn)制80).在異常響應(yīng)中,服務(wù)器設(shè)置功能碼的MSB為1。這使得異常響應(yīng)中的功能碼值比正常響應(yīng)中的功能碼值高十六進(jìn)制80。通過設(shè)置功能碼的MSB,客戶機(jī)的應(yīng)用程序能夠識別異常響應(yīng),并且能夠檢測異常碼的數(shù)據(jù)域。數(shù)據(jù)域:在正常響應(yīng)中,服務(wù)器可以返回?cái)?shù)據(jù)域中數(shù)據(jù)或統(tǒng)計(jì)表(請求中要求的任何報(bào)文)。在異常響應(yīng)中,服務(wù)器返回?cái)?shù)據(jù)域中的異常碼。這就定義了產(chǎn)生異常的服務(wù)器狀態(tài)。2.7本章小結(jié)本章介紹了Modbus協(xié)議內(nèi)容,兩種傳輸方式,功能碼及異常響應(yīng),使之更加深刻的理解Modbus通訊協(xié)議。第三章PLC軟件介紹及操作3.1項(xiàng)目的新建雙擊SIMATIC管理器圖標(biāo)進(jìn)入SIMATICManager(SIMATIC管理器),彈出新項(xiàng)目小窗口,單擊“Next”按鈕,選擇CPU模塊型號、需要生成的邏輯塊和輸入項(xiàng)目名稱。項(xiàng)目建立完成后,鼠標(biāo)單擊SIMATIC管理器左側(cè)的項(xiàng)目名稱,選擇“插入新對象”選擇“SIMATICS7-300站”,既將此項(xiàng)目下插入一個(gè)S7-300站。圖3-1項(xiàng)目新建插入站點(diǎn)3.2硬件組態(tài)選中插入的站,SIMATIC管理器右側(cè)將出現(xiàn)“硬件”文件,雙擊或用鼠標(biāo)右鍵選擇“打開對象”將打開“硬件組態(tài)編輯器”,如圖3。2所示。圖3-2硬件組態(tài)編輯器圖3。2左側(cè)為編輯區(qū),右側(cè)為“目錄”命令。進(jìn)行硬件組態(tài)時(shí)的各種模塊既從左側(cè)目錄中選擇.如圖3.2所示,從左側(cè)目錄中選擇“CPU315—2DP”“CP340—RS232”3。3CP340參數(shù)設(shè)置雙擊CP340所在的槽位,會(huì)彈出如圖3-3所示的對話框,點(diǎn)擊左下角的“Parameter"按鍵,配置CP340.圖3-3CP340參數(shù)配置點(diǎn)擊“Parameter”后出現(xiàn)圖3-4,彈出CP340參數(shù)設(shè)定窗口,在“Protocol"處選擇“ASCII”。圖3-4CP340參數(shù)設(shè)定窗口雙擊圖3—4中“Protocol”處,彈出“Protocol”設(shè)置窗口,如圖3—5。在這里設(shè)置CP340通訊口波特率、數(shù)據(jù)格式、奇偶校驗(yàn)方式.圖3—5“Protocol”設(shè)置窗口3.4編寫程序保存編譯后在SIMATIC管理器右側(cè)S7程序欄下會(huì)有一個(gè)“塊”文件夾,點(diǎn)擊會(huì)看到SIMATIC管理器左側(cè)里自動(dòng)生成一個(gè)空的組織塊OB1,點(diǎn)擊打開OB1塊,會(huì)跳出程序編輯窗口,如圖3.3??蓮挠覀?cè)“程序元素"表中選擇相應(yīng)程序元素進(jìn)行程序。圖3.3程序編輯器窗口第四章程序運(yùn)行流程圖圖4—1ASCII模式下流程圖圖4—2字結(jié)接收處理過程流程圖流程圖說明:ASCll方式下,開啟端口接收,關(guān)閉發(fā)送.將接收緩沖區(qū)的有效字段進(jìn)行LRC校驗(yàn),如果校驗(yàn)無錯(cuò)則將接收緩沖區(qū)中的數(shù)據(jù)進(jìn)行分離,分離出地址碼、功能碼、數(shù)據(jù)段、數(shù)據(jù)字節(jié)長度信息,保存到固定的位置,以備分析和調(diào)用.將待發(fā)送偵的地址、功能碼、數(shù)據(jù)、數(shù)據(jù)長度信息先進(jìn)行LRC運(yùn)算,然后連同LRC運(yùn)算結(jié)果放入到發(fā)送緩沖區(qū).ASCll模式下每兩個(gè)字節(jié)代表一個(gè)信息碼(即起始符、結(jié)束符、從設(shè)備地址、功能碼、數(shù)據(jù)、校驗(yàn)),每接收到一個(gè)字符,必須判斷是信息碼的高四位還是低四位.偵結(jié)束處理中,如果所接收的字符是換行符,則將定時(shí)器關(guān)閉,接收狀態(tài)置為“空閑",然后向系統(tǒng)發(fā)送“偵接收完畢”消息;否則出錯(cuò),置接收狀態(tài)為“空閑",返回。處理接收部分的過程中,將接收到信息放到對應(yīng)的緩沖區(qū),其過程如圖4—2。第五章總結(jié)Modbus通信協(xié)議適用于中小型遠(yuǎn)程監(jiān)控系統(tǒng),實(shí)現(xiàn)簡單實(shí)時(shí)性、有效性強(qiáng),通過主機(jī)輪詢機(jī)制,保證每一個(gè)從設(shè)備的信息能夠及時(shí)的發(fā)送到主站進(jìn)行分析處理。理論上講,一個(gè)主設(shè)備可以查詢247個(gè)從站。本文在研究了Modbus協(xié)議的規(guī)則基礎(chǔ)上,運(yùn)用西門子PLC軟件,通過CP340模塊實(shí)現(xiàn)Modbus通訊協(xié)議的從站功能.工作主要體現(xiàn)在:1、分析課題的背景和意義。講述了Modbus協(xié)議的現(xiàn)狀和將來的發(fā)展趨勢.2、分析Modbus協(xié)議的通信規(guī)則.Modbus協(xié)議可采?。遥裕蘸停粒覥II兩種模式,兩種模式各有其優(yōu)缺點(diǎn)。前者實(shí)時(shí)性較后者前,吞吐率比后者高,適用于速度要求高的場合。而后者的出錯(cuò)率比前者低,適用于對速到要求不高,通信有效性比較高的場合。本文是采用的是ASCII模式,重點(diǎn)介紹ASCII傳輸?shù)姆绞郊癓RC校驗(yàn)3、介紹西門子STEP7軟件的操作。如何進(jìn)行項(xiàng)目新建,站點(diǎn)的建立,硬件組態(tài)的設(shè)置以及CP340模塊參數(shù)的配置.4、給出了CP340模塊實(shí)現(xiàn)Modbus從站功能的程序流程圖。Modbus是一個(gè)開放的協(xié)議,本文只是簡單介紹了Modbus的其中一項(xiàng)功能。關(guān)于Modbus還有很多值得進(jìn)一步發(fā)展和深化的地方。致謝經(jīng)過半年的忙碌和工作,本次畢業(yè)設(shè)計(jì)已經(jīng)接近尾聲,作為一個(gè)本科生的畢業(yè)設(shè)計(jì),由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方,如果沒有導(dǎo)師的督促指導(dǎo),以及一起工作的同學(xué)們的支持,想要完成這個(gè)設(shè)計(jì)是難以想象的。在完成終稿的今天,在敲完最后一個(gè)句號的時(shí)刻,我由衷的感謝我的指導(dǎo)老師袁文華老師,感謝在畢業(yè)設(shè)計(jì)過程中幫助過我的同學(xué)舍友們,還要感謝多年來培育我,讓給我完成學(xué)業(yè)的父母。首先,我需要感謝我的指導(dǎo)老師,袁文華老師。我不是您最出色的學(xué)生,而您卻是我最尊敬的老師.您治學(xué)嚴(yán)謹(jǐn),學(xué)識淵博,思想深邃,視野雄闊,為我營造了一種良好的精神氛圍。授人以魚不如授人以漁,置身其間,耳濡目染,潛移默化,使我不僅接受了全新的思想觀念,樹立了宏偉的學(xué)術(shù)目標(biāo),領(lǐng)會(huì)了基本的思考方式,從論文題目的選定到論文寫作的指導(dǎo),經(jīng)由您悉心的點(diǎn)撥,再經(jīng)思考后的領(lǐng)悟,常常讓我有“山重水復(fù)疑無路,柳暗花明又一村”。其次,我感謝在完成畢業(yè)設(shè)計(jì)過程中幫助我的同學(xué)們。是你們在我為困難畏縮時(shí)激勵(lì)我,在我為難題煩惱時(shí)和我一起思考去解決問題。你們陪伴我一起走完這最后最重要的半年,這將是我們最美好的回憶。最后,我同樣要感謝我的父母,你們用辛勞助我完成學(xué)業(yè),你們用溫馨伴我長大成材,你們用嚴(yán)厲指導(dǎo)我正確的人生方向,你們用溫馨慰藉我人生路上傷痛與失意。這篇論文的最后一筆是我這四年大學(xué)的終點(diǎn),卻也是我投入社會(huì)的起點(diǎn)。之后,我將用學(xué)校給我的知識,老師給我的教導(dǎo),父母給我的依靠,同學(xué)朋友給我鼓勵(lì),不斷努力,為社會(huì)國家做貢獻(xiàn),我自己的理想未來奮斗.參考文獻(xiàn)安康學(xué)院學(xué)年論文﹙設(shè)計(jì)﹚題目基于MATLAB的數(shù)字通信系統(tǒng)仿真設(shè)計(jì)學(xué)生姓名學(xué)號專業(yè)班級指導(dǎo)教師2013年6月23日基于MATLAB的模擬通信系統(tǒng)仿真設(shè)計(jì)(作者:張小文)(安康學(xué)院電子與信息工程系電子信息工程專業(yè)10級,陜西安康725000)指導(dǎo)教師:朱燕【摘要】通信是通過某種媒體進(jìn)行的信息傳遞,目的是傳輸信息,通信系統(tǒng)是用以完成信息傳輸過程的技術(shù)系統(tǒng)的總稱,作用是將信息從信源發(fā)送到一個(gè)或多個(gè)目的地.調(diào)制與解調(diào)在信息的傳輸過程中占據(jù)著重要的地位,是不可或缺的,因此研究系統(tǒng)的調(diào)制和解調(diào)過程就極為重要.MATLAB是集數(shù)值計(jì)算、圖形繪制、圖像處理及系統(tǒng)仿真等強(qiáng)大功能于一體的科學(xué)計(jì)算語言,它強(qiáng)大的矩陣運(yùn)算和圖形可視化的功能以及豐富的工具箱,為通信系統(tǒng)的調(diào)制和解調(diào)過程的分析提供了極大的方便。本論文首先介紹了通信系統(tǒng)的概念,進(jìn)而引出調(diào)制和解調(diào),然后介紹了我們常用的幾種調(diào)制和解調(diào)的方法。由于MATLAB具有的強(qiáng)大功能所以詳細(xì)介紹了MATLAB通信系統(tǒng)工具箱,并給出了基于MATLAB的通信系統(tǒng)的調(diào)制與解調(diào)的實(shí)現(xiàn),運(yùn)用MATLAB仿真軟件進(jìn)行仿真。【關(guān)鍵詞】通信系統(tǒng);調(diào)制與解調(diào);MATLAB;2FSK;2ASK;2PSK;2DPSKDigitalCommunicationSystemSimulationBasedOnMATLABAuthor:ZhangXiaowen(Grade10,Class2,ElectronicandInformationEnginee(cuò)ring,DepartmentofelectronicsandInformationEngineering。,AnkangUniversity,Ankang725000,Shaanxi)Tutor:ZhuYanAbstract:Communicationisthroughamediafortransportat(yī)ion.Communicationsystemwhichisusedtocompletetheprocessofinformationtransmissionsystems,ingeneral,istosendtheinformationfromthesourcetooneormoredestinations.Modulationanddemodulationoccupiedanimportantpositioninthetransmissionofinformationwhichisessential,sotheresearchaboutthemodulationanddemodulationprocessinthecommunicat(yī)ionsystemisextremelyimportant.MATLABisanumericalcomputation,graphicsrendering,imageprocessingandsystemsimulationandotherpowerfulfeaturesinoneofthescientificcomputinglanguage,itisapowerfulmatrixcalculationandgraphicalvisualizat(yī)ionfeaturesandarichtoolboxprovidesagreatconvenienceforthecommunicationsystemofmodulationanddemodulationprocess.Thispaperintroducestheconceptofthecommunicationsystem,andthenleadstomodulationanddemodulation,andthenintroducedseveralofourcommonlyusedmethodofmodulationanddemodulation。AsthepowerofMATLABsowroducedthecommunicationsystemtoolboxintheMATLAB。WegivesseveralexamplesaboutthecommunicationsystembasedonMATLABmodulat(yī)ionanddemodulationandusethesoftwareofMATLABtosimulatethem.Keywords:Communicat(yī)ionSystems;Modulationanddemodulation;MATLAB;2FSK;2ASK;2PSK;2DPSK0引言通信按照傳統(tǒng)的理解就是信息的傳輸,在當(dāng)今高度信息化得社會(huì),信息和通信已經(jīng)成為現(xiàn)代社會(huì)的“命脈”。信息作為一種資源,只有通過廣泛的傳播與交流,才能產(chǎn)生利用價(jià)值,促進(jìn)社會(huì)成員之間的合作,推動(dòng)社會(huì)生產(chǎn)力的發(fā)展,創(chuàng)造出巨大的經(jīng)濟(jì)效益.而通信作為傳輸信息的手段或方式,與傳感技術(shù)、計(jì)算機(jī)技術(shù)相互融合,已經(jīng)成為21世紀(jì)國際社會(huì)和世界經(jīng)濟(jì)發(fā)展的強(qiáng)大推動(dòng)力,所以未來的通信對人們的生活方式和社會(huì)的發(fā)展將會(huì)產(chǎn)生更加重大和意義深遠(yuǎn)的影響。在信息傳輸過程中,要求天線的尺寸要和信號的波長相比擬,信號才能有效的被輻射。對于語音信號來說,相應(yīng)的天線尺寸要在幾十公里以上,實(shí)際上不可能實(shí)現(xiàn),所以需要經(jīng)過調(diào)制將信號頻譜搬移到較高的頻率范圍,如果不進(jìn)行調(diào)制就把信號直接輻射出去,那么各電臺所發(fā)出信號的頻率就會(huì)相同。調(diào)制作用的實(shí)質(zhì)就是使相同頻率范圍的信號分別依托于不同頻率的載波上,接收機(jī)就可以分離出所需的頻率信號,不致互相干擾.有時(shí)信號過于復(fù)雜,人工計(jì)算其調(diào)制和解調(diào)過程較難實(shí)現(xiàn),對其結(jié)果的分析又缺乏可視化的直觀表現(xiàn),影響了所得結(jié)果在實(shí)際生活中的應(yīng)用,美國Mat(yī)hWo(hù)rks公司開發(fā)的MATLAB解決了這一問題。它應(yīng)用于自動(dòng)控制、數(shù)學(xué)計(jì)算、信號分析、信號處理等諸多領(lǐng)域,也是國內(nèi)高校和研究部門進(jìn)行許多科學(xué)研究的重要工具.MATLAB的出現(xiàn)給通信系統(tǒng)的分析提供了極大的方便。1MATLAB簡介美國Mathworks公司于1967年推出了矩陣實(shí)驗(yàn)室“MatrixLaboratory"(縮寫為Matlab)這就是Matlab最早的雛形。開發(fā)的最早的目的是幫助學(xué)校的老師和學(xué)生更好的授課和學(xué)習(xí)。Matlab是一種解釋性執(zhí)行語言,具有強(qiáng)大的計(jì)算、仿真、繪圖等功能。Simulink是MATLAB中的一種可視化仿真工具,也是目前在動(dòng)態(tài)系統(tǒng)的建模和仿真等方面應(yīng)用最廣泛的工具之一。確切的說,Simulink是一個(gè)用來對動(dòng)態(tài)系統(tǒng)進(jìn)行建模、仿真和分析的軟件包,它支持線性和非線性系統(tǒng),連續(xù)、離散時(shí)間模型,或者是兩者的混合。系統(tǒng)還可以使多種采樣頻率的系統(tǒng),而且系統(tǒng)可以是多進(jìn)程的。在Simulink環(huán)境中,它為用戶提供了方框圖進(jìn)行建模的圖形接口,采用這種結(jié)構(gòu)畫模型圖就如同用手在紙上畫模型一樣自如、方便,故用戶只需進(jìn)行簡單的點(diǎn)擊和拖動(dòng)就能完成建模,并可直接進(jìn)行系統(tǒng)的仿真,快速的得到仿真結(jié)果。但是Simulink不能脫離MATLAB而獨(dú)立工作。Matlab將高性能的數(shù)值計(jì)算和可視化集成在一起,并提供了大量的內(nèi)置函數(shù),從而被廣泛地應(yīng)用于科學(xué)計(jì)算、控制系統(tǒng)、信息處理等領(lǐng)域的分析、仿真和設(shè)計(jì)工作,而且利用Matlab產(chǎn)品的開放式結(jié)構(gòu),可以非常容易地對Matlab的功能進(jìn)行擴(kuò)充,從而在不斷深化對問題認(rèn)識的同時(shí),不斷完善Matlab產(chǎn)品以提高產(chǎn)品自身的競爭能力。利用M語言還開發(fā)了相應(yīng)的Matlab專業(yè)工具箱函數(shù)供用戶直接使用。這些工具箱應(yīng)用的算法是開放的可擴(kuò)展的,用戶不僅可以查看其中的算法,還可以針對一些算法進(jìn)行修改,甚至允許開發(fā)自己的算法擴(kuò)充工具箱的功能。目前Matlab產(chǎn)品的工具箱有四十多個(gè),分別涵蓋了數(shù)據(jù)獲取、科學(xué)計(jì)算、控制系統(tǒng)設(shè)計(jì)與分析、數(shù)字信號處理、數(shù)字圖像處理、金融財(cái)務(wù)分析以及生物遺傳工程等專業(yè)領(lǐng)域。2二進(jìn)制數(shù)字調(diào)制系統(tǒng)的原理及實(shí)現(xiàn)數(shù)字通信系統(tǒng),按調(diào)制方式可以分為基帶傳輸和帶通傳輸。數(shù)字基帶信號的功率一般處于從零開始到某一頻率(如0~6M)低頻段,因而在很多實(shí)際的通信(如無線信道)中就不能直接進(jìn)行傳輸,需要借助載波調(diào)制進(jìn)行頻譜搬移,將數(shù)字基帶信號變換成適合信道傳輸?shù)臄?shù)字頻帶信號進(jìn)行傳輸,這種傳輸方式,稱為數(shù)字信號的頻帶傳輸或調(diào)制傳輸、載波傳輸。所謂調(diào)制,是用基帶信號對載波波形的某參量進(jìn)行控制,使該參量隨基帶信號的規(guī)律變化從而攜帶消息。對數(shù)字信號進(jìn)行調(diào)制可以便于信號的傳輸;實(shí)現(xiàn)信道復(fù)用;改變信號占據(jù)的帶寬;改善系統(tǒng)的性能.數(shù)字基帶通信系統(tǒng)中四種基本的調(diào)制方式分別稱為振幅鍵控(ASK,Amplitude-Shiftkeying)、移頻鍵控(FSK,Frequency-Shiftkeying)、移相鍵控(PSK,Phase-Shiftkeying)和差分移相鍵(DPSK,DifferentPhase-Shiftkeying)。本次課程設(shè)計(jì)對這四種調(diào)制方式進(jìn)行了仿真。2。1二進(jìn)制振幅鍵控采用的流程圖如圖2-1所示:圖2—12ASK調(diào)制解調(diào)框圖2.1。1ASK調(diào)制原理2ASK二進(jìn)制振幅調(diào)制就是用二進(jìn)制數(shù)字基帶信號控制正弦載波的幅度,使載波振幅隨著二進(jìn)制數(shù)字基帶信號而變化,而其頻率和初始相位保持不變.信息比特是通過載波的幅度來傳遞的。其信號表達(dá)式為:,S(t)為單極性數(shù)字基帶信號。由于調(diào)制信號只有0或1兩個(gè)電平,相乘的結(jié)果相當(dāng)于將載頻或者關(guān)斷,或者接通,它的實(shí)際意義是當(dāng)調(diào)制的數(shù)字信號“1”時(shí),傳輸載波;當(dāng)調(diào)制的數(shù)字信號為“0"時(shí),不傳輸載波。2ASK信號的時(shí)間波形e2ASK(t)隨二進(jìn)制基帶信號S(t)通斷變化。所以又被稱為通斷鍵控信號。典型波形如圖2-2所示。圖2—2典型2ASK波形e2ASK(t)為已調(diào)信號,它的幅度受s(t)控制,也就是說它的幅度上攜帶有s(t)的信息。2ASK信號的產(chǎn)生方法通常有兩種:模擬調(diào)制法(相乘器法)和鍵控法。模擬調(diào)制法就是用基帶信號與載波相乘,進(jìn)而把基帶信號調(diào)制到載波上進(jìn)行傳輸。鍵控法由s(t)來控制電路的開關(guān)進(jìn)而進(jìn)行調(diào)制。兩種方法的調(diào)制如圖2-3和圖2—4所示。圖2-3模擬調(diào)制法(相乘器法)圖2—4鍵控法2.1。2ASK解調(diào)原理2ASK有兩種基本解調(diào)方法:相干解調(diào)法(同步檢測法)和非相干解調(diào)法(包絡(luò)檢波法).相干解調(diào)需要將載頻位置的已調(diào)信號頻譜重新搬回原始基帶位置,因此用相乘器與載波相乘來實(shí)現(xiàn)。相乘后的信號只要濾除高頻部分就可以了。為確保無失真還原信號,必須在接收端提供一個(gè)與調(diào)制載波嚴(yán)格同步的本地載波,這是整個(gè)解調(diào)過程能否順利完好進(jìn)行的關(guān)鍵。本次設(shè)計(jì)采用相干解調(diào)法.兩種解調(diào)原理圖如圖2—5和圖2—6所示。圖2-5相干解調(diào)法(同步檢測法)圖2—6非相干解調(diào)法(包絡(luò)檢波法)2。1.3仿真結(jié)果及分析通過編寫M文件程序(見附錄),產(chǎn)生隨機(jī)信號,按圖2—1順序?qū)γ恳荒K編程后。程序中注有需注意語句及解釋.運(yùn)行程序,實(shí)現(xiàn)2ASK的調(diào)制與解調(diào)過程.本次設(shè)計(jì)采用模擬調(diào)制法(相乘器法)和相干解調(diào)法.仿真后調(diào)制過程及解調(diào)過程的圖形分別如圖2—7和圖2-8所示。圖2-72ASK調(diào)制過程仿真圖圖2—82ASK解調(diào)過程仿真圖由圖可以看出,產(chǎn)生的數(shù)字隨機(jī)信號為“0100100001",經(jīng)載波調(diào)制后信號為“1”的時(shí)間內(nèi)有正弦波形,信號為“0”的時(shí)間內(nèi)無波形。經(jīng)過加隨機(jī)噪聲,相干解調(diào)后,恢復(fù)出原始信號,與基帶信號一致,因此達(dá)到本次設(shè)計(jì)目的。2。2二進(jìn)制移頻鍵控所用流程圖如圖2-9所示:圖2-92FSK調(diào)制解調(diào)框圖2.2.1FSK調(diào)制原理一個(gè)FSK信號可以看成是兩個(gè)不同載波的2ASK信號的疊加。其解調(diào)和解調(diào)方法和FSK差不多。2FSK信號的頻譜可以看成是f1和f2的兩個(gè)2ASK頻譜的組合.頻移鍵控是利用載波的頻率來傳遞數(shù)字信號,在2FSK中,載波的頻率隨著二進(jìn)制基帶信號在f1和f2兩個(gè)頻率點(diǎn)間變化,頻移鍵控是利用載波的頻移變化來傳遞數(shù)字信息的.在2FSK中,載波的頻率隨基帶信號在f1和f2兩個(gè)頻率點(diǎn)間變化。故其表達(dá)式為:典型波形如圖2-10所示:圖2—102FSK典型波形圖2FSK的調(diào)制方式有兩種,即模擬調(diào)頻法和鍵控法.本次設(shè)計(jì)采用鍵控法.鍵控法中可以用二進(jìn)制“1”來對應(yīng)于載頻f1,而“0”用來對應(yīng)于另一頻率f2,而這個(gè)可以用受矩形脈沖序列控制的開關(guān)電路對兩個(gè)不同的獨(dú)立的頻率源f1、f2進(jìn)行選擇通。鍵控法原理圖如圖2-11示圖2—112FSK鍵控法原理圖2.2。2FSK解調(diào)原理2FSK的解調(diào)方式有兩種:相干解調(diào)方式和非相干解調(diào)方式。非相干解調(diào)是經(jīng)過調(diào)制后的2FSK數(shù)字信號通過兩個(gè)頻率不同的帶通濾波器f1、f2濾出不需要的信號,然后再將這兩種經(jīng)過濾波的信號分別通過包絡(luò)檢波器檢波,最后將兩種信號同時(shí)輸入到抽樣判決器同時(shí)外加抽樣脈沖,最后解調(diào)出來的信號就是調(diào)制前的輸入信號.其原理圖如圖2-12所示。圖2-122FSK非相干解調(diào)原理圖相干解調(diào)是根據(jù)已調(diào)信號由兩個(gè)載波f1、f2調(diào)制而成,則先用兩個(gè)分別對f1、f2帶通的濾波器對已調(diào)信號進(jìn)行濾波,然后再分別將濾波后的信號與相應(yīng)的載波f1、f2相乘進(jìn)行相干解調(diào),再分別低通濾波、用抽樣信號進(jìn)行抽樣判決器即可.原理圖如圖3-14所示。圖2-132FSK相干解調(diào)原理圖2。2。3仿真結(jié)果及分析通過編寫M文件程序(見附錄),產(chǎn)生隨機(jī)信號,按流程圖2.2.1順序?qū)γ恳荒K編程后。程序中注有需注意語句及解釋。運(yùn)行程序,實(shí)現(xiàn)2FSK的調(diào)制與解調(diào)過程。本次設(shè)計(jì)中采用鍵控法調(diào)制法和相干解調(diào)法。仿真后調(diào)制過程及解調(diào)過程的圖形分別如圖2-14、圖2—15和圖2—16所示.由圖可以看出,產(chǎn)生的隨機(jī)信號為“1011001001",經(jīng)過反相產(chǎn)生反碼,并分別與兩個(gè)載波相乘,經(jīng)過加入隨機(jī)噪聲后波形如圖2—15所示。在解調(diào)時(shí),分別與對應(yīng)的載波相乘。解調(diào)出基帶信號,可以看出實(shí)現(xiàn)了本次設(shè)計(jì)目的。圖2—142FSK鍵控法調(diào)制過程仿真圖圖2-152FSK鍵控法調(diào)制過程仿真圖圖2—162FSK相干解調(diào)過程仿真圖2.3二進(jìn)制相移鍵控所用流程圖如圖2-17所示:圖2-172PSK調(diào)制解調(diào)框圖2。3.1PSK調(diào)制原理在二進(jìn)制數(shù)字調(diào)制中,當(dāng)正弦載波的相位隨二進(jìn)制數(shù)字基帶信號離散變化時(shí),則產(chǎn)生二進(jìn)制移相鍵控(2PSK)信號.2PSK信號調(diào)制有兩種方法,即模擬調(diào)制法和鍵控法。通常用已調(diào)信號載波的0°和180°分別表示二進(jìn)制數(shù)字基帶信號的1和0,模擬調(diào)制法用兩個(gè)反相的載波信號進(jìn)行調(diào)制。2PSK以載波的相位變化作為參考基準(zhǔn)的,當(dāng)基帶信號為0時(shí)相位相對于初始相位為0°,當(dāng)基帶信號為1時(shí)相對于初始相位為180°。鍵控法,是用載波的相位來攜帶二進(jìn)制信息的調(diào)制方式.通常用0°和180°來分別代表0和1.其時(shí)域表達(dá)式為:其中,2PSK的調(diào)制中an必須為雙極性碼。本次設(shè)計(jì)中采用模擬調(diào)制法。兩種方法原理圖分別如圖2-18和圖2-19所示。圖2—18模擬調(diào)制法原理圖圖2-19鍵控法原理圖2.3.2PSK解調(diào)原理由于2PSK的幅度是恒定的,必須進(jìn)行相干解調(diào).經(jīng)過帶通濾波的信號在相乘器中與本地載波相乘,然后用低通濾波器濾除高頻分量,在進(jìn)行抽樣判決。判決器是按極性來判決的.即正抽樣值判為1,負(fù)抽樣值判為0.2PSK信號的相干解調(diào)原理圖如圖2—20所示,各點(diǎn)的波形如圖2—21所示。由于2PSK信號的載波回復(fù)過程中存在著180°的相位模糊,即恢復(fù)的本地載波與所需相干載波可能相同,也可能相反,這種相位關(guān)系的不確定性將會(huì)造成解調(diào)出的數(shù)字基帶信號與發(fā)送的基帶信號正好相反,即“1”變成“0”嗎“0"變成“1",判決器輸出數(shù)字信號全部出錯(cuò)。這種現(xiàn)象稱為2PSK方式的“倒π”現(xiàn)象或“反相工作”.但在本次仿真中是直接給其同頻同相的載波信號,所以不存在此問題。圖2-202PSK的相干解調(diào)原理圖圖2-21相干解調(diào)中各點(diǎn)波形圖2.3.3仿真結(jié)果及分析通過編寫M文件程序(見附錄),產(chǎn)生隨機(jī)信號,按流程圖2-17所示順序?qū)γ恳荒K編程后.程序中注有需注意語句及解釋。運(yùn)行程序,實(shí)現(xiàn)2PSK的調(diào)制與解調(diào)過程。本次設(shè)計(jì)采用模擬調(diào)制法和相干解調(diào)法。仿真后調(diào)制過程及解調(diào)過程的圖形分別如圖2—22和圖2—23示.圖2—222PSK模擬調(diào)制方法過程仿真圖圖2—232PSK相干解調(diào)過程仿真圖由圖可以看出,產(chǎn)生的隨機(jī)信號為“0011001100”,經(jīng)過反相產(chǎn)生反碼,并將原碼跟反碼一起合成雙極性碼,與載波相乘后加入隨機(jī)噪聲。在解調(diào)時(shí),與對應(yīng)的載波相乘經(jīng)過低通濾波、抽樣判決后,解調(diào)出基帶信號與原基帶信號一致,可以看出實(shí)現(xiàn)了本次設(shè)計(jì)目的。2.4二進(jìn)制差分相移鍵控所用流程圖如圖2—24所示:圖2-242DPSK調(diào)制解調(diào)框圖2。4.1DPSK調(diào)制原理二進(jìn)制差分相移鍵控。2DPSK方式是用前后相鄰碼元的載波相對相位變化來表示數(shù)字信息。假設(shè)前后相鄰碼元的載波相位差為,可定義一種數(shù)字信息與之間的關(guān)系為:為前一碼元的相位。實(shí)現(xiàn)二進(jìn)制差分相移鍵控的最常用的方法是:先對二進(jìn)制數(shù)字基帶信號進(jìn)行差分編碼,然后對變換出的差分碼進(jìn)行絕對調(diào)相即可。2DPSK調(diào)制原理圖如圖2—25所示。圖2—252DPSK調(diào)制原理框圖2。4。2DPSK解調(diào)原理2DPSK信號解調(diào)有相干解調(diào)方式和差分相干解調(diào)。用差分相干解調(diào)這種方法解調(diào)時(shí)不需要恢復(fù)本地載波,只要將DPSK信號精確地延遲一個(gè)碼元時(shí)間間隔,然后與DPSK信號相乘,相乘的結(jié)果就反映了前后碼元的相對相位關(guān)系,經(jīng)低通濾波后直接抽樣判決即可恢復(fù)出原始的數(shù)字信息,而不需要在進(jìn)行差分解碼。相干解調(diào)碼變換法及相干解調(diào)法的解調(diào)原理是,先對2DPSK信號進(jìn)行相干解調(diào),恢復(fù)出相對碼,再通過碼反變換器變換為絕對碼,從而恢復(fù)出發(fā)送的二進(jìn)制數(shù)字信息。在解調(diào)過程中,若相干載波產(chǎn)生相位模糊,解調(diào)出的相對碼將產(chǎn)生倒置現(xiàn)象,但是經(jīng)過碼反變換器后,輸出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度餐飲洗碗外包工程合同樣本3篇
- 二零二五年度新型海洋運(yùn)輸合同保險(xiǎn)險(xiǎn)別及理賠流程3篇
- 2025版離婚房產(chǎn)分割與購房款分期支付合同范本4篇
- 二零二五版家用節(jié)電器銷售代理合同規(guī)范3篇
- 蘭州外語職業(yè)學(xué)院《消防工程施工技術(shù)與組織》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度離婚協(xié)議書模板定制與婚姻財(cái)產(chǎn)評估合同3篇
- 專業(yè)幕墻工程勞務(wù)承包合同(2024)版B版
- 二零二五白酒銷售顧問品牌宣傳與推廣協(xié)議2篇
- 2025年度光伏發(fā)電項(xiàng)目勞務(wù)分包與電站運(yùn)營合同4篇
- 2025年私人房產(chǎn)轉(zhuǎn)讓協(xié)議書(含裝修標(biāo)準(zhǔn)細(xì)則)3篇
- 課題申報(bào)書:大中小學(xué)鑄牢中華民族共同體意識教育一體化研究
- 巖土工程勘察課件0巖土工程勘察
- 《腎上腺腫瘤》課件
- 2024-2030年中國典當(dāng)行業(yè)發(fā)展前景預(yù)測及融資策略分析報(bào)告
- 《乘用車越野性能主觀評價(jià)方法》
- 幼師個(gè)人成長發(fā)展規(guī)劃
- 2024-2025學(xué)年北師大版高二上學(xué)期期末英語試題及解答參考
- 批發(fā)面包采購合同范本
- 乘風(fēng)化麟 蛇我其誰 2025XX集團(tuán)年終總結(jié)暨頒獎(jiǎng)盛典
- 2024年大數(shù)據(jù)分析公司與中國政府合作協(xié)議
- 一年級數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)匯編
評論
0/150
提交評論