




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、RW_BLE_CORE記錄傳輸信道BLE的傳輸信道在2.4G頻段有40個(gè)channel。包括2種物理信道:廣播信道和數(shù)據(jù)信道。數(shù)據(jù)幀中設(shè)置Access Address用于標(biāo)識(shí)該信道,防止信道碰撞。Channel MAP如下:數(shù)據(jù)幀通信藍(lán)牙幀結(jié)構(gòu)如下:Preamble:根據(jù)Access Address而定,假如AA的LSB(最右bit)bit為1,則前導(dǎo)便是10101010b,反之則為01010101b。Access Address:廣播幀的AA為:0x8E89BED6。其他情況可以是一個(gè)32bit的隨機(jī)數(shù)。AA需滿足以下條件·不超過連續(xù)6個(gè)1或者0。·與廣播幀的AA不同bi
2、t超過1個(gè)。·不能4byte相同。·0 1跳變不能超過24次·MSB 6bit 0 1跳變超過2次。以下逐個(gè)介紹PDU。一、Advertising Channel PDU藍(lán)牙廣播幀幀結(jié)構(gòu)其中Header的幀格式如下:其中,a、廣播幀類型(PDU Type)分為以下幾類: ADV_IND: connectable undirected advertising event ADV_DIRECT_IND: connectable directed advertising event ADV_NONCONN_IND: non-connectable undirected
3、advertising event ADV_SCAN_IND: scannable undirected advertising eventb、Length:337bytes廣播幀分為很多種,其區(qū)別就是payload所代表的意義不同,以下分別對(duì)幾種廣播幀作分別闡釋:1、ADV_INDADV_IND的payload格式如下:在廣播幀幀頭中的TxAdd位是廣播地址的標(biāo)示位:TxAdd=0:AdvA地址為公用地址;TxAdd=1:AdvA地址為隨機(jī)地址。AdvData則是廣播HOST的廣播數(shù)據(jù)。2、ADV_DIRECT_IND這種幀用于直接接入的廣播事件。ADV_DIRECT_IND的payload
4、幀格式如下:其中AdvA的意義與ADV_IND相同。InitA為廣播發(fā)起者地址:RxAdd=0:發(fā)起者地址是公用地址;RxAdd=1:發(fā)起者地址是隨機(jī)地址。注意:該幀不包含任何HOST數(shù)據(jù)。3、ADV_NONCONN_IND用于不可接入不直達(dá)(non-connectable undirected)的網(wǎng)絡(luò)。其payload意義與ADV_IND類似。4、ADV_SCAN_IND用于可掃描不直達(dá)網(wǎng)絡(luò)。Payload意義與ADV_IND類似。二、Scaning PDUs1) SCAN_REQ:這是掃描請(qǐng)求幀,處于廣播狀態(tài)的接收設(shè)備接收這種幀。此處,ScanA為掃描者的地址,其地址由TxAdd控制是公共
5、地址還是隨機(jī)地址。AdvA為該掃描幀的目的地址。由RxAdd控制意義。2) SCAN_RSP掃描確認(rèn)。處于廣播狀態(tài)的設(shè)備在收到掃描請(qǐng)求后,需要回復(fù)掃描確認(rèn)幀。AdvA地址意義由TxAdd確定。ScanRspData為廣播端的附帶數(shù)據(jù)。三、Initiating PDU該部分為連接發(fā)起協(xié)議。發(fā)起的幀格式僅一種:CONNECT_REQ。由發(fā)起方發(fā)送該幀,廣播方接收該幀。1) CONNECT_REQCONNECT_REQ幀格式如下:TxAdd確認(rèn)InitA地址為公共地址還是隨機(jī)地址;RxAdd確認(rèn)AdvA地址為公共地址還是隨機(jī)地址。LLData的數(shù)據(jù)格式如下:AA:AccessAddressCRCIn
6、it:CRC校驗(yàn)的初始值,它應(yīng)該是LinkLayer產(chǎn)生的一個(gè)隨機(jī)值。WinSize:發(fā)送窗長度參數(shù)。transmitWindowSize=WinSize*1.25ms。WinOffset:發(fā)送窗起始偏移量。TransmitWindowOffset=WinOffset*1.25ms。上述兩個(gè)window意義如下:Interval:確定connect interval的時(shí)間長度。connInterval = Interval * 1.25 ms。Latency:connSlaveLatency =Latency。TimeOut:connSupervisionTimeout= Timeout *
7、10 ms(100ms32s之間),當(dāng)兩幀數(shù)據(jù)之間的時(shí)間間隔超過6*connInterval或者connSupervisionTimeout時(shí),則認(rèn)為連接丟失。ChM:即ChannelMAP,一共036個(gè)信道。LSB代表channel0,哪一個(gè)是1,則哪一個(gè)信道有效。Channel 3739保留。Hop:516之間的隨機(jī)值,用于設(shè)置HopIncrement。用于計(jì)算不使用的信道編號(hào)。unmappedChannel = (lastUnmappedChannel + hopIncrement) mod 37如果計(jì)算結(jié)果是屬于保留信道,則通過下式計(jì)算:remappingIndex = unmappe
8、dChannel mod numUsedChannelsSCA:設(shè)置Master睡眠時(shí)鐘精確度的最大值。對(duì)應(yīng)表如下:四、Data Channel PDU數(shù)據(jù)信道的幀格式如下:其中包括16bit Header,長度可變的Payload,和一個(gè)信號(hào)完整性確認(rèn)字段(MIC)。1、關(guān)于Header和MICHeader的數(shù)據(jù)格式如下:每個(gè)字段的意義如下:MIC字段使用的時(shí)候,有兩個(gè)條件:1、不能使用于非加密的數(shù)據(jù)幀;2、數(shù)據(jù)幀payload長度不能為0。字長為4byte。2、關(guān)于PayloadPayload分為兩類,LL Data PDU和LL Control PDU(LLID=11b)。LL Data
9、 PDU里面又分為兩類,一類是完整數(shù)據(jù)幀或幀碎片起始幀(LLID=10b),另一類是幀碎片(LLID=01b)。其中,幀碎片幀的幀長度可以為0,而完整(起始)幀的長度不可以為0。下面具體介紹LL Control PDU:LL Control PDU的幀格式如下:其幀長度不能為0,其中包含兩個(gè)字段:Opcode和CtrData。Opcode用于確定控制幀類型:假如收到的LLC PDU格式不支持或者是無用幀,則回復(fù)LL_UNKNOWN_RSP PDU,此時(shí)的Type字段需設(shè)置成收到的無用的opcode。LL_CONNECTION_UPDATA_REQ:該幀的幀格式如下:這些信息的意義在下一章的四中
10、有詳述。LL_CHANNEL_MAP_REQ:LL_TERMINATE_IND:這個(gè)ErrorCode在藍(lán)牙協(xié)議中有具體制定意義。Vol2 Part DLL_ENC_REQ:和加密相關(guān)的請(qǐng)求幀LL_ENC_RSP:和加密相關(guān)的回復(fù)幀LL_START_ENC_REQ:沒有CtrData字段LL_START_ENC_RSP:沒有CtrData字段LL_UNKNOWN_RSP:LL_FEATURE_REQ:LL_FEATURE_RSP:LL_PAUSE_ENC_REQ:沒有CtrData字段LL_PAUSE_ENC_RSP:沒有CtrData字段LL_VERSION_IND:LL_REJECT_IN
11、D:關(guān)于藍(lán)牙通信協(xié)議的理解一、時(shí)鐘要求Active狀態(tài)下小于±50ppm。Sleep Mode下小于±500ppm。二、設(shè)備過濾除了僅支持不可連接的廣播系統(tǒng)(non-connectable advertising),其他模式均需支持設(shè)備過濾。廣播、掃描、連接發(fā)起均具有各自獨(dú)立的過濾機(jī)制。如果芯片不支持這幾種模式的話,那就可以不支持設(shè)備過濾。設(shè)備過濾是為了盡量減少不必要的數(shù)據(jù)通信。設(shè)備過濾時(shí)需要具備一個(gè)白名單,白名單內(nèi)容包括不過濾設(shè)備的地址和地址類型(公共或隨機(jī))。白名單內(nèi)容由HOST設(shè)置。以下對(duì)各種過濾模式作一個(gè)介紹:1、廣播過濾支持過濾方式如下,一次僅支持一種方式:
12、83;廣播設(shè)備僅處理來自白名單的設(shè)備的掃描、連接請(qǐng)求。·廣播設(shè)備處理一切設(shè)備的掃描、連接請(qǐng)求。(復(fù)位值)·廣播設(shè)備處理所有設(shè)備的掃描請(qǐng)求,僅處理白名單的連接請(qǐng)求。·廣播設(shè)備處理所有設(shè)備的連接請(qǐng)求,僅處理白名單的掃描請(qǐng)求。2、掃描過濾支持過濾方式如下:·掃描設(shè)備僅處理來自白名單設(shè)備的廣播幀。·掃描設(shè)備處理一切設(shè)備的廣播幀。假如廣播方已經(jīng)過濾該掃描設(shè)備的話,通信不能成功。3、發(fā)起過濾支持過濾方式如下:·被發(fā)起設(shè)備處理來自白名單內(nèi)所有設(shè)備的連接發(fā)起請(qǐng)求。·被發(fā)起設(shè)備忽略白名單,僅處理host給出設(shè)備的連接發(fā)起請(qǐng)求。三、非連接狀態(tài)簡
13、述1、standbyStandby是復(fù)位后的芯片初始狀態(tài),由它可以進(jìn)入廣播、掃描和連接狀態(tài)。2、advertising進(jìn)入廣播狀態(tài)后,便開始發(fā)送廣播幀。在發(fā)送完一幀廣播幀以后,advertising event將被關(guān)閉,來適應(yīng)其他功能。廣播事件有以下幾種類型:第一幀廣播幀應(yīng)該在channel index中的最低的廣播信道發(fā)送。廣播事件是否有回復(fù)幀由廣播幀類型決定,具體如下表:當(dāng)收到錯(cuò)誤的返回幀時(shí),廣播端會(huì)在下一個(gè)廣播信道發(fā)送廣播幀,或直接停止廣播事件。廣播事件間隔必須是625us的倍數(shù),范圍在20ms10.24s,其設(shè)置方式如下:T_advEvent = advInterval + advDe
14、layscannable undirected和non-connectable undirected事件,advInterval長度必須大于100ms;connectable undirected事件,advInterval長度必須大于等于20ms 。advDelay是010ms的偽隨機(jī)數(shù)。連續(xù)廣播幀發(fā)送示意圖如下:a)Connectable Undirected Event Type如圖4.5接收到CONNECT_REQ之后,廣播方便退出廣播狀態(tài),進(jìn)入Slave狀態(tài)。b)Connectable Directed Event Typec)Scannable Undirected Event T
15、yped)Non-connectable Undirected Event Type1、 scanning檢測狀態(tài)是用來監(jiān)聽廣播幀的,其狀態(tài)由HOST控制,分為主動(dòng)掃描和被動(dòng)掃描。掃描狀態(tài)下有兩個(gè)參數(shù)scanWindow、scanInterval用于設(shè)置一次掃描的時(shí)間。掃描時(shí)間不能長與10.24s,scanWindow<scanInterval。被動(dòng)掃描(Passive Scanning):只接收幀,不發(fā)送幀。主動(dòng)掃描(Active Scanning):監(jiān)聽廣播幀,根據(jù)廣播幀格式,回復(fù)相應(yīng)幀。ADV_IND/ADV_SCAN_IND -> SCAN_REQADV_DIRECT_IN
16、D PDU/ADV_NONCONN_IND不回復(fù)SCAN_REQ掃描需進(jìn)行退避操作。具體看文檔吧,就不貼進(jìn)來了。2、 initiatinginitiating沒有channel index的限制。當(dāng)收到一個(gè)在過濾白名單內(nèi)的ADV_IND或ADV_DIRECT_IND,發(fā)起者將會(huì)發(fā)送一個(gè)CONNECT_REQ給廣播方。發(fā)送完CONNECT_REQ后退出發(fā)起狀態(tài),進(jìn)入連接狀態(tài)。四、連接狀態(tài)簡述:當(dāng)發(fā)起者發(fā)送CONNECT_PDU或者廣播方收到CONNECT_REQ,則認(rèn)為連接被創(chuàng)建,但此時(shí)并非認(rèn)為已經(jīng)建立連接。只有當(dāng)正式開始數(shù)據(jù)通信后,才認(rèn)為連接已經(jīng)被建立。連接建立后,連接中有兩個(gè)角色:Maste
17、r和Slave。Master主控connection event的時(shí)序。每次connection event便是Master和Slave的一次同步結(jié)點(diǎn)。1、連接事件(Connection Events)一次連接時(shí)間,使用同一個(gè)channel index。每次連接至少進(jìn)行一次數(shù)據(jù)傳輸。Slave端在接收到來自Master的數(shù)據(jù)幀后,無論CRC是否正確,均需要回復(fù)數(shù)據(jù),除非多次連續(xù)CRC不正確。Master也是不管Slave發(fā)過來的幀是否正確,均需回復(fù)數(shù)據(jù),沒有除非。無論CRC是否正確,我們都認(rèn)為Header是對(duì)的。Master收不到來自Slave的數(shù)據(jù),則關(guān)閉connection event。M
18、aster和Slave都能關(guān)閉此次connection。連接事件持續(xù)時(shí)間長度由connInterval和connSlaveLatency決定。每次連接事件的起始點(diǎn)稱作anchor point。在anchor point,Master開始發(fā)送數(shù)據(jù),Slave開始接收數(shù)據(jù)。connInterval便是本次連接的持續(xù)時(shí)間。Master必須確保本次連接時(shí)間在下次anchor point之前間隔T_IFS的時(shí)間關(guān)閉。connInterval長度必須是1.25ms的倍數(shù),長度在7.5ms4.0s不等。connInterval由發(fā)起者通過CONNNECT_REQ傳送給廣播方。connSlaveLatency
19、是Slave端允許的監(jiān)聽延時(shí)時(shí)間,其長度范圍如下:0(connSupervisionTimeout / connInterval) - 1) 且必須小于500。也就是說,假如connSlaveLatency=0,則Slave需要在每個(gè)anchor point時(shí)刻監(jiān)聽。沒收到設(shè)置connSlaveLatency的幀時(shí),亦如是。Master和Slave均有一個(gè)16bit的計(jì)數(shù)器 connEventCounter 每有一次connection event,計(jì)數(shù)器就加一,假如溢出則循環(huán)。它是用于LinkLayer作同步時(shí)用。Slave在等待connSlaveLatency時(shí),該計(jì)數(shù)器亦計(jì)數(shù)。2、連接超
20、時(shí)(Supervision Timeout)藍(lán)牙系統(tǒng)為了檢測連接丟失,便設(shè)置了一個(gè)SupervisionTimeout計(jì)數(shù)器TLLconnSupervision。每次接收到數(shù)據(jù)幀,則計(jì)數(shù)器清零。Supervision Time超過以下幾個(gè)范圍則認(rèn)為超時(shí):·大于6 * connInterval·大于connSupervisionTimeoutconnSupervisionTimeout 為10ms的倍數(shù),范圍是100ms32s,并且小于(1 + connSlaveLatency) * connInterval。Timeout以后,設(shè)備停止發(fā)送,進(jìn)入Standby狀態(tài),并且上報(bào)
21、中斷。3、 發(fā)送窗(Transmit Window)Transmit Window的信息包含在CONNECT_REQ中,傳送給發(fā)起者。發(fā)送窗起始是在收到CONNECT_REQ之后transmitWindowOffset + 1.25ms,transmitWindowSize定義發(fā)送窗的寬度。transmitWindowOffset范圍1.25ms的倍數(shù),0 msconnInterval。transmitWindowSize范圍1.25ms的倍數(shù),1.25ms10ms|connInterval - 1.25 ms。4、主設(shè)備(Master Role)建立連接后,發(fā)起的一方成為Master。連接狀
22、態(tài)建立以后,Master重新設(shè)置TLLconnSupervision,LinkLayer確認(rèn)連接已經(jīng)建立。隨后Master在transmit window時(shí)間內(nèi)開始發(fā)送第一個(gè)數(shù)據(jù)幀,Master的第一幀長度可以超過transmit window。Master決定第一個(gè)anchor point,下一個(gè)anchor point=connInterval+first anchor point。以下是一個(gè)例子:5、從設(shè)備(Slave Role)建立連接后,廣播的一方成為Slave。Slave一方也相同,重新設(shè)置TLLconnSupervision,LinkLayer確認(rèn)連接已經(jīng)建立。連接建立后的第一幀
23、,無論CRC是否收對(duì),都把它作為第一次連接事件的anchor event。假如第一個(gè)transmit window沒有收到數(shù)據(jù)幀,則準(zhǔn)備在下一個(gè)transmit window下接收數(shù)據(jù),而此時(shí)事件同步計(jì)數(shù)器connEventCount亦加一。6、關(guān)閉連接事件(Closing Connection Events)Header中的MD位標(biāo)識(shí)是否該次事件之后還有數(shù)據(jù)發(fā)送。假如MD置位,則Master接著發(fā),Slave接著收。任何一方收不到對(duì)方的幀了,均關(guān)閉連接事件。連續(xù)兩次收到數(shù)據(jù)CRC不對(duì),也關(guān)閉連接事件。總結(jié)如下:7、發(fā)送窗拓寬(Window Widening)由于發(fā)送端接收端都存在晶振頻偏,所
24、以可能會(huì)導(dǎo)致Slave端anchor point不同步,因此Slave每次接收完一個(gè)數(shù)據(jù)幀,均需同步一次anchor point。接收端需要根據(jù)發(fā)送端的頻偏MasterSCA和接收端頻偏SlaveSCA來計(jì)算接收端的接收窗拓寬參數(shù),以保證數(shù)據(jù)成功接收。計(jì)算方式如下:其值應(yīng)小于(connInterval/2) - T_IFS us)。假如到達(dá)這個(gè)值,則認(rèn)為連接丟失。8、信道列表選擇(Data Channel Index Selection)Master端需要給此次連接的信道分類:使用信道和不使用信道。使用信道最少為兩個(gè)。信道分類由HOST產(chǎn)生。而Slave的Channel Map通過CONNEC
25、T_REQ幀接收到本地。連續(xù)的connection event每次需要獲取兩個(gè)參數(shù)unmappedChannel 和 lastUnmappedChannel。前者是此次連接沒有使用過的信道列表,后者是前一次連接未用過的信道編號(hào)。未用信道編號(hào)計(jì)算方法如下:unmappedChannel = (lastUnmappedChannel + hopIncrement) mod 37假如unmappedChannel為used Channel的話,則此次的Channel Index則根據(jù)這個(gè)unmappedChannel得到該次connection所使用的Channel。假如unmappedChanne
26、l為unused Channel,則根據(jù)下面公式計(jì)算得到一個(gè)remappingIndex。remappingIndex = unmappedChannel mod numUsedChannels總結(jié)如下圖:9、確認(rèn)機(jī)制和數(shù)據(jù)流控制(Acknowledgement and Flow Control)數(shù)據(jù)的確認(rèn)依靠transmitSeqNum(SN)和nextExpectedSeqNum(NESN)來控制。NESN用于確認(rèn)前一幀是否接收正確,是否需要重發(fā)。剛剛進(jìn)入連接狀態(tài),SN和NESN均需設(shè)置成0??刂品绞饺缦聢D:NESN在一種情況下不會(huì)被更新,就是接收BUFFER不夠的情況。這會(huì)使發(fā)送端重傳該
27、幀,如此實(shí)現(xiàn)數(shù)據(jù)流控制。五、LinkLayer控制描述LLCP(LinkLayer Control Protocol)是用來控制兩個(gè)LinkLayer之間的控制和協(xié)商的。其中包括連接控制,加密控制等等。1、 LinkLayer連接更新和ChannelMap更新每次進(jìn)入連接狀態(tài)后,設(shè)備均需更新connInterval, connSlaveLatency和connSupervisionTimeout。Master通過發(fā)送LL_CONNECTION_UPDATE_REQ幀來實(shí)現(xiàn)參數(shù)更新,Slave不能發(fā)送這種格式的幀,它通過使用L2CAP信道回復(fù)更新確認(rèn)來確認(rèn)參數(shù)更新。參數(shù)更新之前使用老的參數(shù),更新
28、之后使用新參數(shù)。Slave端收到LL_CONNECTION_UPDATE_REQ之后,假如connEventCount mod 65535小于32767,并且不等于本地的connEventCount,此時(shí)它需監(jiān)聽所有的Connection Event,直到確認(rèn)Master收到自己的REQ ACK。Slave在確認(rèn)兩邊connEventCount相等之前的Connection Event均需要監(jiān)聽。假如connEventCount mod 65535大于32767,則Slave認(rèn)為與Master丟失連接,回到Standby狀態(tài),并上報(bào)主機(jī)。Master這邊,需要在第一個(gè)Transmit Wind
29、ow內(nèi)發(fā)送數(shù)據(jù),它發(fā)送的這幀數(shù)據(jù)作為此次Connection的anchor point。Master在這個(gè)anchor point以后更新它的connInterval,并清零TLLconnSupervision計(jì)數(shù)。假如使用自動(dòng)發(fā)送LL_CONNECTION_UPDATE_REQ,則Timeout參數(shù)不跟新,與前次LL_CONNECTION_UPDATE_REQ或者CONNECT_REQ設(shè)置時(shí)相同。其他參數(shù)亦如是。自動(dòng)更新機(jī)制用于Master由于其他需求,需要更改anchor point時(shí)間。ChannelMap的更新由LL_CHANNEL_MAP_REQ完成,2、加密加密參數(shù)設(shè)置通過LL_ENC_REQ和LL_ENC_RSP開始加密:LL_START_ENC_REQ 和 LL_START_ENC_RSP結(jié)束加密:LL_PAUSE_ENC_REQ or LL_TERMINATE_IND PDUsEmpty PDUs or LL_PA
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 法律文化在法治建設(shè)中的作用與價(jià)值試題及答案
- 班主任與學(xué)生溝通技巧的提升計(jì)劃
- 軟考網(wǎng)絡(luò)管理員備考計(jì)劃試題及答案
- 人才招聘與培養(yǎng)計(jì)劃
- 結(jié)合客戶反饋優(yōu)化生產(chǎn)流程計(jì)劃
- 自然語言處理技術(shù)進(jìn)展試題及答案
- 2024年沈陽工程學(xué)院輔導(dǎo)員考試真題
- 2025年法學(xué)概論百科全書式試題及答案
- 2024年吉林省醫(yī)療保障局下屬事業(yè)單位真題
- 2024年塔城地區(qū)中醫(yī)醫(yī)院招聘筆試真題
- 線性代數(shù)中向量空間的概念與應(yīng)用:課件
- 2025年小學(xué)教師資格考試《綜合素質(zhì)》文化素養(yǎng)高頻考點(diǎn)專項(xiàng)練習(xí)及答案
- 銅仁市社區(qū)工作者招聘真題2024
- 《農(nóng)村電子商務(wù)模式》課件 - 探索鄉(xiāng)村振興的新引擎
- 超市散貨承包協(xié)議合同書
- 2025年中國農(nóng)化產(chǎn)品市場調(diào)查研究報(bào)告
- 拆橋補(bǔ)償合同協(xié)議
- 中考語文專題一非連續(xù)性文本閱讀市公開課一等獎(jiǎng)市賽課獲獎(jiǎng)?wù)n件
- 裝維人員銷售培訓(xùn)
- 8.2 做中華傳統(tǒng)美德的踐行者 同步課件 -2024-2025學(xué)年統(tǒng)編版道德與法治七年級(jí)下冊(cè)
- 提高盆底康復(fù)知識(shí)知曉率
評(píng)論
0/150
提交評(píng)論