新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種CAN總線―PROFIBUS-DP總線網關的實現方法

        一種CAN總線―PROFIBUS-DP總線網關的實現方法

        作者: 時間:2012-11-07 來源:網絡 收藏


        在接受子程序里,系統以查詢的方式接受CAN子站傳送過來的數據,網關通過接受緩沖區數據區的第一個字節的內容判斷接受的是真正的數據,還是發給 站點的發送數據請求。如果數據區第一個字節是00H,則傳送的是數據信息,于是根據ID查表求得該站所對應的存儲單元,并將數據區的第二、三字節的內容存在該單元內,同時把ID放在7FFCH中,告訴對方發送數據的站點號;如果該字節內容是FFH,則說明是發送數據請求,數據區第二個字節存放的是被要求發送數據的站點號,將他放入7FFCH內即可。

        接口發送數據子程序流程圖如圖5:



        上面的發送程序是由雙口RAM的中斷信號觸發的,收到中斷信號后,首先讀取7FFEH單元的內容,將中斷信號消除,然后根據該單元的內容,判斷雙口RAM內存放的是數據,還是被要求發送數據的CAN子站的ID號。如果7FFEH內容為00H,則說明所要發送到CAN子站的為正常的數據,于是將發送緩沖區的第一個字節設置為00H,告訴CAN子站發送的為數據,然后讀取7FFDH單元內容,查表求得數據在雙口RAM中的地址,并從該地址取兩個字節存到SJA1000輸出緩沖區數據區的第二、三個字節,同時把7FFDH作為發送的ID號。如果7FFDH是FFH,則說明PROFIBUS- DP發送過來得是被要求發送數據的CAN子站的站點號,于是只要把它放到SJA1000發送緩沖區數據區的第二個字節,并把第一個字節設為FFH,以通知 CAN站點,發送的數據為ID號。以上工作完成后,最后通過寫命令字發送數據。

        5 結束語

        實踐證明,雙CPU結構的雙向網關可以很好地完成總線協議轉換的任務,并且解決了單CPU結構網關中存在的數據傳輸速率低,數據傳輸可靠性差等問題,滿足了總線協議轉換的要求。它將CAN總線設備與PROFIBUS總線設備的連接起來,使兩種現場總線設備可以高效的通信,最終達到數據共享與功能互補的目的。并且工作人員在使用過程中不必關心兩種總線物理層和數據鏈路層的全部內容,給總線產品的研究開發帶來極大方便。另外這種雙CPU結構的設計方案對其他現場總線之間的網關設計具有借鑒意義,是一種值得推廣的方法。

        參考文獻

        [1] 鄔寬明. 現場總線應用選編. 北京:北京航空航天大學出版社,2004
        [2] 鄒益仁. 現場總線控制系統的設計和開發. 北京:國防工業出版社,2003
        [3] 饒運濤. 現場總線CAN原理與應用技術. 北京:北京航空航天大學出版社,2003
        [4] SIEMENS. SPC3 and DPS2 User Description Version2.0,2002
        [5] PNO.Draft GSD Specification for PROFIBUS-DP GSD Revision2,1998
        [6] PHILIPS.Semiconductor PCA82C250 CAN controlerinter-face,1997

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东莞市| 陇南市| 彩票| 凤翔县| 育儿| 旺苍县| 太保市| 南皮县| 文安县| 丰宁| 班玛县| 瓮安县| 芦溪县| 阿拉善盟| 黄浦区| 昌吉市| 当阳市| 怀来县| 花垣县| 建平县| 天等县| 体育| 富阳市| 太原市| 宁都县| 溆浦县| 沙坪坝区| 新郑市| 枞阳县| 望谟县| 阳春市| 丹巴县| 和林格尔县| 高密市| 韩城市| 安塞县| 堆龙德庆县| 平塘县| 高唐县| 绥棱县| 深州市|