欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

地址自動分配的串行總線通信方法與系統(tǒng)的制作方法_2

文檔序號:9687390閱讀:來源:國知局
r>[0058]步驟S32,若上端通信接口201通信連接成功后發(fā)送其身份標(biāo)識給其上游定位模塊
20。其上游定位模塊接收到身份標(biāo)識后會進(jìn)行身份驗(yàn)證,身份驗(yàn)證通過后根據(jù)自身的模塊序號計算新的模塊序號,然后將計算得到的模塊序號發(fā)送給定位模塊20。
[0059]步驟S33,若下端通信接口202接收到其下游定位模塊20發(fā)送的身份標(biāo)識,則定位模塊20對接收到的身份標(biāo)識進(jìn)行驗(yàn)證,驗(yàn)證通過后根據(jù)自身的模塊序號計算新的模塊序號,然后將計算得到的模塊序號發(fā)送給其下游定位模塊。
[0060]由于位于隊(duì)首的定位模塊20不具有上游定位模塊,因此,其模塊序號保持為默認(rèn)值(例如0)。計算新的模塊序號最簡單的方式就是使模塊序號+1,但可以理解的是,序號的規(guī)則并不受限制,也可是+2,+3或者任意值。
[0061 ]若對每個定位模塊20均執(zhí)行上述過程,則每個定位模塊20會自動為其下游定位模塊分配模塊序號。當(dāng)其中某個定位模塊20被移除后,模塊序號又會被重新分配,從而可以保證模塊序號與實(shí)際的物理連接關(guān)系一一對應(yīng)。
[0062]當(dāng)在機(jī)架上安裝定位模塊20時,只要使定位模塊20的連接順序與某種順序保持對應(yīng)(例如從上到下、從下到上、從左到右、或者從右到右),則定位模塊20的序號就準(zhǔn)確反應(yīng)了該順序。如此,只要定位模塊20在上報的數(shù)據(jù)內(nèi)包含自身的模塊序號,則機(jī)架控制器10就可以按照模塊序號為序?qū)?shù)據(jù)進(jìn)行處理,非常適用于對數(shù)據(jù)索引順序有要求的數(shù)據(jù)采集場入口 ο
[0063]此外,定位模塊20的上端通信接口201與下端通信接口 202的作用并不限于自動分配模塊序號,還可以用于傳輸數(shù)據(jù)。例如,定位模塊20將采集的數(shù)據(jù)加上其自身的模塊序號后上報至其上游定位模塊20。同時,定位模塊20也接收其下游定位模塊20上報的數(shù)據(jù),直接轉(zhuǎn)發(fā)至其上游定位模塊20。當(dāng)定位模塊20不具有上游定位模塊時,可將數(shù)據(jù)發(fā)送給機(jī)架控制器10。通過這種方式,并不是所有的定位模塊20均需要直接與機(jī)架控制器10相連,從而可以增加機(jī)架控制器10所能接入的定位模塊20的數(shù)量。
[0064]由于定位模塊20之間建立的是全雙式通信通道,所以上游定位模塊20不需要輪詢下游定位模塊20的數(shù)據(jù),下游定位模塊20采集數(shù)據(jù)后與上一次上報的數(shù)據(jù)比較數(shù)據(jù)變化(Change Of Value,⑶V)是否超過設(shè)定的閾值,如果⑶V小于閾值則可以忽略數(shù)據(jù),大于或等于閾值時則主動將數(shù)據(jù)推送給其上游定位模塊20或者機(jī)架控制器10。采用這種方式可以最優(yōu)化定位模塊20的數(shù)據(jù)傳輸性能。
[0065]可以理解的是,定位模塊20采集的數(shù)據(jù)并不限于向其上游定位模塊20上報,還可以直接上報給機(jī)架控制器10,此時需要在所有的定位模塊20與機(jī)架控制器10之間實(shí)現(xiàn)通信連接。
[0066]在一個實(shí)施方式中,定位模塊20通過上述的8芯線纜與機(jī)架構(gòu)控制器10相連?;?芯線纜中的引腳P4與P5,在機(jī)架控制器10與定位模塊20之間實(shí)現(xiàn)一個串行總線(例如RS485)通信系統(tǒng),其中,機(jī)架控制器10為主機(jī),而定位模塊20為從機(jī)。串行總線具有通信距離長和多從機(jī)支持的優(yōu)點(diǎn)。但是串行總線中的從機(jī)要求具有唯一的地址。
[0067]在本實(shí)施例中,從機(jī)的地址可通過地址線(引腳P7)進(jìn)行分配,參閱圖3,其具體過程如下:
[0068]步驟S11,主機(jī)啟動后初始化多個I/O端口為輸入模式。
[0069]I/O端口的數(shù)量依賴于從機(jī)的數(shù)量,與從機(jī)的數(shù)量--對應(yīng)。本實(shí)施例中,從機(jī)數(shù)量為6個,則主機(jī)可初始化I/O端口 D4?D9為輸入模式。缺省時,主機(jī)地直線端口輸入模式為低電平(當(dāng)然也可以定義為高電平)。
[0070]現(xiàn)在的CPU都具有大量的I/O端口,每條地址線只占用主機(jī)和從機(jī)各一個I/O端口,同時地址線只需要傳輸一個地址數(shù)據(jù),所以只需要設(shè)計低速通信,不需要占用特殊端口(例如SP1、I2C、l-Wire或UART)等。當(dāng)然采用這些特殊端口同樣可行。
[0071 ]步驟S21,從機(jī)啟動后通過地址線連接主機(jī)對應(yīng)的I/O端口,發(fā)送連接信號。
[0072 ]假設(shè)從機(jī)對應(yīng)的主機(jī)的I /0端口為D4,則從機(jī)啟動后通過地址線連接主機(jī)的D4端口。具體地,從機(jī)初始化端口 D2為輸出模式,發(fā)送一個電平信號(低-高-低)至主機(jī)的D4端口。例如,輸出低電平保持50ms(時間可以定義為其他值),然后將端口D2拉高電平保持50ms(時間也可以定義為其他值),然后拉低電平??梢岳斫獾氖?,此處的電平信號也可以任意約定。而上述的電平信號即為從機(jī)發(fā)送的連接信號。
[0073]步驟S22,從機(jī)將端口D2設(shè)置為輸入模式,并開始偵聽輸入的地址信號。
[0074]例如,從機(jī)在端口D2啟動摩斯電碼偵聽。當(dāng)然,這里可以采用任何通信設(shè)計,能夠傳輸要傳輸?shù)臄?shù)據(jù)即可。
[0075]步驟S23,若在設(shè)定周期(例如10s)內(nèi)沒有接收到任何數(shù)據(jù),則從機(jī)停止偵聽程序新重新執(zhí)行步驟S21。
[0076]步驟S12,主機(jī)持續(xù)偵聽I/O端口,當(dāng)監(jiān)測到預(yù)定的連接信號(例如電平信號下降沿高-低)時,表示有從機(jī)接入,執(zhí)行步驟S13。
[0077]步驟S13,主機(jī)將分配的地址發(fā)送給從機(jī)。
[0078]首先,主機(jī)獲取一個未被使用的地址,例如地址可以默認(rèn)從1開始,每次分配使地址+1。然后,主機(jī)在延時預(yù)定時間(例如50ms)后在端口 D4啟動摩斯電碼發(fā)送所分配的通信地址1。
[0079]步驟S24,從機(jī)接收到主機(jī)發(fā)送的地址后按照接收到的通信地址初始化串行總線通信,準(zhǔn)備接收主機(jī)發(fā)送的握手信號。
[0080]步驟S14,在步驟S13之后主機(jī)延時預(yù)定時間(例如100ms)后通過串行通信總線向分配的地址(例如1)發(fā)送握手信號。
[0081]步驟S25,從機(jī)在接收到主機(jī)握手信號后返回從機(jī)身份驗(yàn)證信息。
[0082]步驟S15,主機(jī)根據(jù)從機(jī)返回的身份驗(yàn)證信息進(jìn)行驗(yàn)證,若驗(yàn)證從機(jī)成功,則完成通信地址的自動分配。
[0083]步驟S16,主機(jī)通過串行總線定時向從機(jī)發(fā)出輪詢請求以獲取數(shù)據(jù),若請求超時,則主機(jī)重新偵聽地址線發(fā)送的連接信號,即執(zhí)行步驟S12。
[0084]步驟S26,從機(jī)在指定的時間內(nèi)沒有接收到主機(jī)請求,則從機(jī)重新執(zhí)行步驟S21直至獲得正確的總線通信地址。
[0085]在完成地址的分配后,主機(jī)與從機(jī)之間就可以采用串行通信總線完成通信。
[0086]此外,可以理解的是,在圖1所示的機(jī)架服務(wù)器信息采集系統(tǒng)100中,串行通信總線并不限用于機(jī)架控制器10與定位模塊20之間的網(wǎng)絡(luò)連接。如圖1所示,定位模塊20內(nèi)可包括多個(圖1所示為6個)卡位單元21,定位模塊20與卡位單元21之間也可以通過串行通信總線連接。此時,定位模塊20內(nèi)的主控制器為主機(jī),而各卡位單元21為從機(jī),主控制器給各卡位單元21分配地址的過程可與上述過程相同。在分配地址后,各卡位單元21通過串行通信總線與定位模塊20通信,完成數(shù)據(jù)上報的操作。
[0087]串行總線總是通過主機(jī)輪詢從機(jī),當(dāng)從機(jī)數(shù)量很多以及從機(jī)采集數(shù)據(jù)量較大時,串行總線通信效率下降,數(shù)據(jù)延時較大。為提升通信效率,可以通過只傳輸變化數(shù)據(jù)和產(chǎn)生新數(shù)據(jù)時從機(jī)主動通知主機(jī)推送數(shù)據(jù),參閱圖4,其具體過程可如下:
[0088]步驟S41,緩存每一條采集的數(shù)據(jù)。
[0089]步驟S42,將當(dāng)前采集的數(shù)據(jù)與上一次上報的數(shù)據(jù)進(jìn)行比較,如果變化幅度大于或等于設(shè)定閾值則執(zhí)行步驟S43;否則,忽略掉當(dāng)前采集的數(shù)據(jù),并可從緩存中清除當(dāng)前采集的數(shù)據(jù)。
[0090]步驟S43,更新從機(jī)的數(shù)據(jù)變化索引。
[0091]在初始狀態(tài)下,從機(jī)的數(shù)據(jù)變化索引為一個默認(rèn)值(例如0)。此后,每產(chǎn)生一條待上報的數(shù)據(jù),可使從機(jī)的數(shù)據(jù)變化索引按照預(yù)定的規(guī)則增加或者減少,例如,每產(chǎn)生一條C0V數(shù)據(jù),可使從機(jī)的數(shù)據(jù)變化索引增加1。
[0092]步驟S44,當(dāng)接收到主機(jī)發(fā)送的數(shù)據(jù)輪詢請求時根據(jù)輪詢請求內(nèi)的變化索引值獲取所有待上報的數(shù)據(jù)返回給主機(jī)。
[0093]主機(jī)在接收到從機(jī)上報的數(shù)據(jù)后,會緩存上報的數(shù)據(jù)內(nèi)包含的變化索引值,在下次發(fā)送數(shù)據(jù)輪詢請求內(nèi)可將該變化索引值包含在輪詢請求內(nèi)作為請求參數(shù)。
[0094]從機(jī)可將輪詢請求內(nèi)包括的變化索引值與從機(jī)數(shù)據(jù)變化索引進(jìn)行比較,若兩者相同,則說明距離上一次上報數(shù)據(jù)未產(chǎn)生新的待上報數(shù)據(jù),此時獲取的待上報的數(shù)據(jù)為空,此時從機(jī)可返回空數(shù)據(jù)包或者直接返回從機(jī)數(shù)據(jù)變化索引;若從機(jī)的數(shù)據(jù)變化索引值等于輪詢請求內(nèi)的變化索引的值+1,則說明距離上一次上報數(shù)據(jù),有一條待上報的數(shù)據(jù)產(chǎn)生,此時,從機(jī)可最新的一條待上報數(shù)據(jù)與從機(jī)變化索引一并返回給主機(jī);其他狀態(tài)表示距離上一次上報數(shù)據(jù),有多條待上報的數(shù)據(jù)產(chǎn)生,此時,從機(jī)可以獲取上一次上報至今產(chǎn)生的所有待上報數(shù)據(jù),并將其與從機(jī)數(shù)據(jù)變化索引一并返回。
[0095]由于現(xiàn)實(shí)物理世界中很多數(shù)據(jù)在短時間內(nèi)基本保持不變,這種方式在不改變基本通信原則的前提下,可以級數(shù)級提升數(shù)據(jù)輪詢速度和減少總線帶寬占用。
[0096]串行總線輪詢方式當(dāng)從機(jī)數(shù)量很多時還是不能解決數(shù)據(jù)傳輸及時性,從機(jī)可通過復(fù)用地址線主動通知主
當(dāng)前第2頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
武夷山市| 武平县| 长治市| 临朐县| 西畴县| 宁化县| 嘉黎县| 济源市| 襄垣县| 襄汾县| 屏南县| 姜堰市| 岑溪市| 万山特区| 柘城县| 格尔木市| 呈贡县| 延吉市| 新沂市| 黄大仙区| 六枝特区| 德化县| 永州市| 宣武区| 英德市| 沅江市| 武威市| 义乌市| 阿克苏市| 论坛| 含山县| 溧阳市| 崇左市| 莱阳市| 如皋市| 揭阳市| 揭阳市| 黄石市| 南城县| 德庆县| 白河县|