中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > CAN總線-PROFIBUS-DP總線網(wǎng)關(guān)的實現(xiàn)方法

        CAN總線-PROFIBUS-DP總線網(wǎng)關(guān)的實現(xiàn)方法

        作者: 時間:2013-02-27 來源:網(wǎng)絡(luò) 收藏


        3.2 總線接口電路

        總線接口的硬件電路也由四部分所構(gòu)成,微控制器89C52(2),通信控制器協(xié)議芯片SPC3,光耦 HCPL7101和6N137,RS485總線驅(qū)動電路。圖2為PROFIBUS-DP通信控制器到RS485總線驅(qū)動器的硬件電路圖。

        89C52(2)主要負責(zé)控制SPC3,實現(xiàn)PROFIBUS-DP總線數(shù)據(jù)的轉(zhuǎn)換與共享。

        SPC3已集成了PROFIBUS-DP物理層的數(shù)據(jù)收發(fā)功能,可獨立處理PROFIBUS DP協(xié)議,另外SPC3內(nèi)部還集成有1.5k的雙口RAM,作為SPC3與用戶程序之間的接口,并且AT89C52(2)可對SPC3內(nèi)部RAM訪問。

        盡管SPC3已經(jīng)集成了物理層的數(shù)據(jù)傳輸功能,但它不具備RS-485的驅(qū)動接口,因此添加了RS-485的驅(qū)動電路。

        佳工機電網(wǎng)

        另外為了避免總線上的信號對電路的影響,在SPC3與RS485總線驅(qū)動電路之間采用光電隔離。TxD、RxD信號的隔離器件選用Hewlett Packard公司的12M高速光耦HCPL710,RTS信號的隔離器件選用了6N137。

        3.3 雙口RAM的接口電路

        兩種總線數(shù)據(jù)的共享與傳遞是通過雙口RAM實現(xiàn)的,系統(tǒng)里選用了器件IDT7130。它是高速的1K雙口靜態(tài)RAM。該器件提供兩個獨立的端口,分別有獨立的控制、地址和I/O引腳,并允許獨立的異步讀寫訪問內(nèi)存的任何地址,自動的電源管理特性由CE控制,允許芯片上的每一個端口電路進入一個非常低的電源模式。IDT7130的片內(nèi)總線仲裁電路具有BUSY和INT兩種總線仲裁方式?;谒捎玫膯纹瑱C型號,在系統(tǒng)里采用了中斷仲裁方案,這種方式的工作原理是一個內(nèi)存地址(郵箱或者信息中心)被指派給每個端口。左端口的中斷標志被宣稱當右端口寫到內(nèi)存地址3FEH時,左端口通過訪問3FE內(nèi)存地址清除中斷。相似的,當左端口寫內(nèi)存地址3FFH時右端口標志被宣稱,為了清除這個中斷標志,右端口必須訪問內(nèi)存地址3FFH,系統(tǒng)里3FE和3FF兩個單元的內(nèi)容賦予新的內(nèi)涵,即定義兩個碼0FFH和00H。其中0FFH代表發(fā)送命令要求對方傳送數(shù)據(jù),而00H代表發(fā)送的是對方所要求的數(shù)據(jù)。系統(tǒng)里兩個CPU與雙口RAM的連接如圖3。雙口RAM的剩余的存儲單元被分為四大部分,其中0000H-00FFH這256個單元用來存儲上傳來的數(shù)據(jù)或地址,并且相鄰的兩個單元用于存儲一個CAN子站的數(shù)據(jù)信息;0100H-01F9H這250個單元用來存儲PROFIBUS總線上傳來的數(shù)據(jù)或地址,相鄰的兩個單元用于存儲一個PROFIBUS子站的信息,另外03FCH單元用于存放設(shè)備所要讀的PROFIBUS站點的ID號,03FDH單元用于存放PROFIBUS總線設(shè)備所要讀的CAN站點的ID號。

        佳工機電網(wǎng)

        由圖可知雙口RAM在負責(zé)通信的微處理器的映射地址為0x7C00H-0x7FFFH,在負責(zé)PROFIBUS總線通信的微處理器的映射地址為0x2C00H-0x2FFFH。
        4 系統(tǒng)軟件設(shè)計

        網(wǎng)關(guān)的軟件可
        分為兩大部分,一部分用于負責(zé)CAN總線的數(shù)據(jù)通信,另一部分用于負責(zé)PROFIBUS總線的數(shù)據(jù)通信。


        每側(cè)的程序根據(jù)功能又可以分為三個子模塊:協(xié)議芯片初始化程序,接受數(shù)據(jù)接受子程序,數(shù)據(jù)發(fā)送子程序。其中數(shù)據(jù)接受子程序考外部中斷觸發(fā)執(zhí)行。下面以網(wǎng)關(guān)的CAN總線接口側(cè)程序為例,列出程序流程圖,PROFIBUS側(cè)的接口程序與之相似,就不再贅述。


        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉