基于FPGA的PROFIBUS-DP總線(xiàn)光電收發(fā)器設計
3 FPGA邏輯設計
FPGA包括數據傳輸方向檢測功能塊、波特率檢測功能塊、數據交換功能塊等三個(gè)邏輯功能塊。它們的電端和光端都默認為接收狀態(tài)。數據傳輸方向檢測功能塊用于判斷哪個(gè)端口先來(lái)數據,然后把該端口數據輸出到波特率檢測功能塊以檢測其數據波特率,數據交換功能塊可根據確定好的數據傳輸方向和波特率來(lái)切換RS-485收發(fā)器的收發(fā)狀態(tài),并最終實(shí)現數據的光電轉換傳輸。該三個(gè)邏輯功能塊之間的關(guān)系如圖3所示。
3.1 數據傳輸方向檢測邏輯
PROHBUS-DP總線(xiàn)協(xié)議的傳輸依賴(lài)RS-485接口,故在總線(xiàn)空閑狀態(tài)下,依靠RS-485接口前端的上拉和下拉電阻即可保證總線(xiàn)上的電平為“1”,RS-485收發(fā)器一般默認為接收狀態(tài)。由于RS-485數據傳輸為半雙工方式,同一時(shí)刻。線(xiàn)上的數據傳輸方向是單向的,且傳輸數據字節的起始位為低電平,這樣,就可以根據電端接收數據和光端接收數據的低電平到來(lái)的先后順序來(lái)判斷數據的傳輸方向是從電端到光端,還是從光端到電端。為了避免由于線(xiàn)路上的干擾或者數據收發(fā)元器件的特性造成的毛刺,可對接收到的電端數據和光端數據先進(jìn)行濾波去抖動(dòng)處理。圖4所示為數據傳輸方向檢測流程圖。
評論