摘要:3.2波特率檢測邏輯首先應(yīng)對由數(shù)據(jù)傳輸方向檢測功能塊選擇輸出的數(shù)據(jù)進(jìn)行濾波。不同的波特率分別用相應(yīng)的時(shí)鐘對濾波后的數(shù)據(jù)進(jìn)行采樣,若采到連續(xù)16個(gè)“1”,則說明總線目前處于空閑狀態(tài),下一個(gè)到來的低電平既是數(shù)據(jù)字節(jié)的起始位,之后即可開始接收數(shù)據(jù),在一個(gè)字節(jié)(8bits)的數(shù)據(jù)接收完畢后,即可判斷接收到的數(shù)據(jù)是否為關(guān)鍵
首先應(yīng)對由數(shù)據(jù)傳輸方向檢測功能塊選擇輸出的數(shù)據(jù)進(jìn)行濾波。不同的波特率分別用相應(yīng)的時(shí)鐘對濾波后的數(shù)據(jù)進(jìn)行采樣,若采到連續(xù)16個(gè)“1”,則說明總線目前處于空閑狀態(tài),下一個(gè)到來的低電平既是數(shù)據(jù)字節(jié)的起始位,之后即可開始接收數(shù)據(jù),在一個(gè)字節(jié)(8 bits)的數(shù)據(jù)接收完畢后,即可判斷接收到的數(shù)據(jù)是否為關(guān)鍵字(關(guān)鍵字為PROFIBUS-DP總線協(xié)議數(shù)據(jù)幀的開始定界符SDx)。如果某一波特率連續(xù)找到3次關(guān)鍵字,則將其它波特率連續(xù)找到關(guān)鍵字的次數(shù)清零。并將原來已經(jīng)確定的波特率位清零。而當(dāng)該波特率連續(xù)找到6次關(guān)鍵字時(shí),則代表找到了新的波特率,此時(shí)可將剛找到的波特率確定為當(dāng)前系統(tǒng)通訊速率,并將相應(yīng)標(biāo)志位置1。
3.3 數(shù)據(jù)交換邏輯
數(shù)據(jù)傳輸方向和波特率確定之后,就可以進(jìn)行電端和光端的數(shù)據(jù)交換了。當(dāng)數(shù)據(jù)傳輸方向?yàn)殡姸说焦舛藭r(shí),電端RS-485收發(fā)器處于接收狀態(tài),數(shù)據(jù)由電端經(jīng)光發(fā)送器發(fā)送到光端線線路上;當(dāng)數(shù)據(jù)傳輸方向?yàn)楣舛说诫姸藭r(shí),在起始位數(shù)據(jù)“0”發(fā)送完畢之后,即可將電端RS-485收發(fā)器改為發(fā)送狀態(tài),在經(jīng)過10個(gè)當(dāng)前通訊波特率的bit時(shí)間后,再將RS-485收發(fā)器改為接收狀態(tài),并等待接收新的數(shù)據(jù)。圖5所示為數(shù)據(jù)交換流程圖。
4 結(jié)束語
該設(shè)計(jì)的創(chuàng)新點(diǎn)在于其采用FPGA硬件實(shí)現(xiàn)光電信號之間的轉(zhuǎn)換,可以自適應(yīng)波特率變化,并自動檢測波特率變化。能支持PROFIBUS-DP協(xié)議規(guī)定的所有波特率,且轉(zhuǎn)發(fā)數(shù)據(jù)無錯(cuò)包。與一般的RS-485中繼設(shè)備相比,不但在傳輸距離和總線的負(fù)載能力上有很大提高。而且在抗干擾和通訊的穩(wěn)定性方面也有突出優(yōu)勢,可用于各種的PROFIBUS-DP總線工業(yè)現(xiàn)場。
通信工程師備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬道題
已有25.02萬小伙伴參與做題