新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AT89C52的CAN總線分布式測控系統的研制

        基于AT89C52的CAN總線分布式測控系統的研制

        作者: 時間:2012-02-20 來源:網絡 收藏

        1網絡的技術特點
          
        用通訊數據塊編碼,可實現多主工作方式,數據收發方式靈活,可實現點對點、一點對多點及全局廣播等多種傳輸方式;可將DCS結構中主機的常規測試與控制功能分散到各個智能節點,節點控制器把采集到的數據通過CAN適配器發送到總線,或者向總線申請數據,主機便從原來繁重的底層設備監控任務中解放出來,進行更高層次的控制和管理功能,比如故障診斷、優化協調等;

        采用非破壞性基于優先權的總線仲裁技術,具有暫時錯誤和永久性故障節點的判別及故障節點的自動脫離功能,使系統其它節點的通信不受影響;同時,CAN具有出錯幀自動重發功能,可靠性高;  

        信號傳輸用短幀結構(8字節),實時性好;

        不關閉總線即可任意掛接或拆除節點,增強了系統的靈活性和可擴展性; 

        采用統一的標準和規范,使各設備之間具有較好的互操作性和互換性,系統的通用性好;  

        通訊介質可采用雙絞線,無特殊要求;現場布線和安裝簡單,易于維護,經濟性好。

        總之,具有實時性強、可靠性高、結構簡單、互操作性好、價格低廉等優點,克服了傳統的工業總線的缺陷,是構建的一種有效的解決方案。

        2系統總體硬件設計方案
         
        首先,定義各節點的功能,確定各節點檢測或控制量的數目、類型、信號特征。這是進行微機測控系統網絡化的第一步。原則是盡量避免重復測試。智能節點模塊絕大部分是輸入輸出模塊,調節回路可以跨模塊構成回路。但考慮到調節回路的安全性,為了保證在上位機或整個通信線路出現重大故障時回路調節不受到影響,設計了隔離型、自整定PID、隔離型溫度調節器等帶有調節功能的模塊。它們的輸入輸出通道都在同一模塊中,其底層軟件的功能很強,所有的輸入處理、輸出增量的計算(多種調節算法可通過組態選擇,包括串級調節)、輸出,包括自整定模塊的過程參數的自動識別都在本模塊實現,保證了調節回路的安全性、可靠性。

        其次,選擇各節點控制器和相應的CAN適配元件。由于各測控節點功能相對單一,數據量少,因此對CPU的要求大大降低,采用8051系列單片機即可滿足要求。適配器件主要有:控制器接口、總線收發器和I/O器件。采用Philips公司生產的82C200CAN控制器和與其配套的82C250CAN收發器。82C200具有完成高性能通信協議所要求的全部必要特性。具有簡單總線連接的82C200可完成物理層和數據鏈路層的所有功能。

        最后,按照CAN總線物理層協議選擇總線介質,設計布線方案,連接成CAN總線分布式測控網絡。如圖1所示。

        3系統的硬件組成

        (1)CAN總線接口模塊

        ①微處理器

        目前廣泛流行的CAN總線器件有兩大類:一類是獨立的CAN控制器,如82C200,SJA1000及Intel82526/82527等;另一類是帶有芯片CAN的微控制器,如P8XC582及16位微控制器87C196CA/CB等。根據當前市場、開發工具和課題的實際需要,系統的智能節點均選用ATMEL8位單片機為微處理器。

        ②CAN控制器

        CAN控制器選用SJA1000作為控制器。SJA1000是高集成度CAN控制器。具有多主結構、總線訪問優先權、成組與廣播報文功能及硬件濾波功能。輸入時鐘頻率為16MHh時鐘,輸出可編程控制。由以下幾部分構成:接口管理邏輯、發送緩存器、接收緩存器、位流處理器、位定時邏輯、收發邏輯、錯誤管理邏輯、控制器接口邏輯等。

        SJA1000有很多新功能:標準結構和擴展結構報文的接受和發送;64字節的接收FIFO;標準和擴展幀格式都具有單/雙接收濾波器;可進行讀/寫訪問的錯誤計數器;可編織的錯誤報警限制:最近一次的錯誤代碼寄存器;每一個CAN總線錯誤都可以產生錯誤中斷;具有丟失仲裁定位功能的丟失仲裁中斷;單發方式(當發主錯誤或丟失仲裁時不重發);只聽方式(監聽CAN總線,無應答,無錯誤標志);支持熱插拔(無干擾軟件驅動位速率監測)。因此,系統的智能節點均選用SJA1000作為CAN控制器。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 五家渠市| 尼勒克县| 涿州市| 杂多县| 上高县| 康乐县| 沈阳市| 筠连县| 太保市| 大兴区| 磴口县| 白城市| 漳浦县| 石狮市| 柘城县| 枣阳市| 塔河县| 遂川县| 海门市| 东丰县| 伊宁市| 子洲县| 宝兴县| 鹤岗市| 温宿县| 万宁市| 运城市| 娄底市| 建宁县| 哈巴河县| 峡江县| 广宗县| 温州市| 美姑县| 张家川| 沙河市| 黔西| 墨玉县| 呼伦贝尔市| 南雄市| 仪陇县|