• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > CAN總線分布式系統適配卡和控制單元設計

    CAN總線分布式系統適配卡和控制單元設計

    作者: 時間:2012-02-29 來源:網絡 收藏
    3 設計
    的任務就是對現場環境參數進行采集并從上接收上位機的命令。根據上位機的要求,對設備進行控制或將采集的數據通過傳給上位機?,F以溫室為例說明控制單元設計方法。溫室控制單元的結構原理如圖8所示。以AT89C52為核心,采用2片8255擴展I/O端口,其中2個PA口和1個PB口用來檢測天窗、遮陽傘、補光燈、通風機等21路開關量的狀態。由于8255的PC口的各位通過置復位控制字可以單獨置位或復位,AT89C52的P1口可以按位尋址,所以用8255的2個PC口和AP89C52的P1口來控制繼電器的吸合。3片8位A/D轉換器ADC0809實現對溫度、濕度、pH值、CO2濃度、光照強度、液位等20路模擬量的數據采集。

    控制單元的控制軟件采用匯編語言編程,主要包括初始化、數據采集、數據通信、I/O接口控制等功能。初始化包括對8255和的初始化,使8255的PA、PB口作為輸入口,PC口各位通過置復位控制字可以單獨置位或復位,從而開啟或停止一個繼電器的動作。數據采集采用查詢方式工作,每一路模擬量連續采集3次,中值濾波后作為該傳感器的數據存入相應的內部RAM中,全部數據采集完后再檢測開關狀態并存入相應RAM中。隨后開CPU中斷,進入數據循環采集狀態,等待CAN通信中斷的產生。本系統采用中斷方式實現AT89C52與之間的通信。

    需要說明的是,CAN2.0A或CAN 2.0B協議只是一個低層的規范,用戶還需要定制簡單的應用層協議。應用層協議的任務一方面是將要發送的數據分類、拆卸、合并,確定發送對象,再根據CAN的數據鏈路層協議規范填寫CAN的各個信息幀;另一方面是根據應用層協議解釋接收數據的具體含義,并進行相應的處理。
    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 闽清县| 瓮安县| 北京市| 社会| 常熟市| 交城县| 泸西县| 肇庆市| 东丰县| 湖州市| 阳山县| 洛扎县| 桃江县| 万山特区| 平昌县| 宝丰县| 贺兰县| 海口市| 泾阳县| 合川市| 平安县| 合阳县| 石柱| 清水河县| 海兴县| 金山区| 呼和浩特市| 华亭县| 泸州市| 古蔺县| 瑞金市| 栖霞市| 赤水市| 南安市| 江城| 正蓝旗| 九江市| 获嘉县| 宜昌市| 固始县| 辽宁省|