新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM的橡塑機械雙層網絡監控器設計

        基于ARM的橡塑機械雙層網絡監控器設計

        作者: 時間:2010-07-06 來源:網絡 收藏

        2.2 以太網擴展
        以太網和CAN現場總線的集合,大大加速了工業控制集成化、信息化的進度。采用了CS8900A芯片以完成以太網擴展。其主要包括802.3介質訪問控制塊,支持全雙工操作,完全依照IEEE 802.3以太網標準(ISO/IEC8802-3,1993),負責處理有關以太網數據幀的發送和接收。
        在硬件連接上,通過外部中斷EINT9來響應通信,通過ADDR24以及其他片選讀寫信號來控制網卡芯片的工作以及地址空間位置。
        在收到由CPU發來的數據報后,CS8900A將開始偵聽網絡線路。如果線路忙,就等待線路空閑,否則立即發送數據。發送過程中,需要添加以太網幀頭,產生CRC校驗碼,最后將此數據幀發送出去。接收數據時,接收到數據幀后,還需要經過解碼、剝除幀頭和地址檢驗等步驟后存于CS8900A片內的緩存區。并還需要通過CRC校驗,便會產生外部中斷,通知主機收到了數據幀,最后,再根據CPU的指令,將數據傳輸給CPU。
        網絡的擴展對于的整體化集成化管理起著極為關鍵的作用,作為一個高速、開放的通信接口,網絡給系統帶來了很大的靈活性和可擴展性。同時,在監控系統的調試過程中網絡也發揮著不可替代的作用。

        本文引用地址:http://www.104case.com/article/151741.htm

        3 軟件系統
        整個監控器的軟件建立于嵌入式Linux操作系統的基礎之上,因此軟件分為系統軟件設計和應用軟件設計兩大部分。系統軟件主要為對應設備的驅動程序設備,CS8900A為常用的典型網絡擴展設備,已經有既成的驅動程序;而CAN總線擴展則需要根據應用中所需要的網絡協議來自定義實現。應用軟件設計部分主要包括CAN服務器端的開發和WEB Server的移植。
        3.1 系統軟件設計
        本設計采用外部中斷EINT3連接MCP2510的總中斷,配置控制器始終處于喚醒模式,發送器處于正常模式,并使能接收、發送、錯誤中斷,以中斷方式處理CAN總線數據收發。具體流程如圖3所示。


        對中斷的處理主要包括以下三種模式:
        (1)發送處理。在滿足下述兩種條件時會啟動發送處理:其一發送中斷響應中,如果當前有發送任務,通過發送緩沖區記錄標志確定空的發生緩沖區并向其中填發送幀,然后啟動發送;其二在接收中斷響應中,在接收處理完后如果有發送任務且有發送緩沖區空閑,同樣會處理發送任務。采用兩種發送處理方式可充分利用MCP2510的多個發送、接收緩沖區,以提高通信效率。
        (2)接收處理。首先需根據ICOD的值來確定當前準備好數據的接收緩沖區。接收幀處理過程中首先讀取幀的ID值,確定當前幀的數據是哪個節點發送來的,并據此把幀中數據字段的數據存放在相應的位置。
        (3)錯誤處理。由于引起錯誤處理的原因很多,在產生錯誤中斷之后,需訪問錯誤標志寄存器確定具體錯誤類型,并據此做相應的處理。
        最后在所有的處理中都需更新發送緩沖區使用記錄,以便于發送和接收中斷響應中據此判斷發送緩沖區的使用情況,從而確定當前是否可以做發送處理。
        3.2 應用軟件設計
        3.2.1 CAN服務器端設計
        CAN服務器端需要完成兩大部分的工作。一是和底層控制器交互,二是處理并存儲好相應的數據,以提供給人機界面和WEB服務器使用。
        CAN總線默認的調度方式為CAMA/CD協議,該協議原理比較簡單,技術上易實現,網絡中各節點處于平等地位,不需集中控制,不提供優先級控制。但在網絡負載增大時,發送時間增長,發送效率急劇下降,即會永遠優先發送優先級高的節點而阻塞優先級低的節點,因此考慮到對該協議進行改進。為了自定義協議,因此我們的CAN數據采用了擴展幀。
        針對需要的通信數據類型設計了如下的通信協議。主要具備以下幾點特點:
        (1)下位機根據仲裁段優先級來確定該段數據的優先級;
        (2)優先級的分配由服務器端進行,讀取初始化配置文件(包括節點編號和優先級碼兩個部分)+頁面設定;
        (3)優先級根據傳輸數據的截止時間決定(DM)。要求的時間越短,其優先級越高。
        (4)通信數據的命令格式如圖4所示,其中所有字節均為ASCII字符。


        開始位必須放@,以示命令的開始。標題碼為命令的代碼;用”*”和回車(ASCII碼為13)作為命令結束。

        隔離器相關文章:隔離器原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 铜梁县| 平昌县| 徐州市| 平乐县| 辉南县| 临夏县| 封丘县| 库伦旗| 游戏| 顺义区| 秭归县| 阳朔县| 佛坪县| 礼泉县| 子长县| 合山市| 确山县| 余干县| 新建县| 绥棱县| 沽源县| 奇台县| 光山县| 石河子市| 林芝县| 松溪县| 革吉县| 会东县| 巴彦淖尔市| 新巴尔虎左旗| 晋州市| 泉州市| 揭西县| 临江市| 修水县| 射洪县| 察雅县| 澎湖县| 沧州市| 漠河县| 镇赉县|