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

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于CAN總線的智能控制器設計

    基于CAN總線的智能控制器設計

    作者: 時間:2016-09-12 來源:網絡 收藏

    2.4 系統數字信號輸出電路

    本文引用地址:http://www.czjhyjcfj.com/article/201609/303576.htm

    針對此模塊設計,本設計包括4路數字量輸出,產生的數字信號由處理器產生頻率信號經過主控芯片I/O輸出。對此本設計考慮到兩點:將產生的二進制0或1直接輸出到執行器前,會受到外部干擾,此處采用了光電隔離處理,選用了H11A817A作為光電隔離器件,集電極輸出電流為50 mA;再者由于數字輸出口的驅動能力較低,所以在此選用高耐壓,大電流達林頓陣列,由7個硅NPN達林頓管組成的ULN2003AD,該器件電流增益高,灌電流可達500mA,工作電壓較大,具有較寬的溫度范圍,所以選取該器件來提高數字輸出端口的驅動能力。

    e.jpg

    該電路的工作原理:對于第一路數字量輸出來說,第一種情況若DO0端輸出電壓信號為低電平時,則H11A817A的發光二極管導通發光,致使光敏三極管端導通,輸出信號接在光敏三極管集電極,隔離后得到高電平信號。第二種情況若DO0端輸出高電平。光敏三極管不導通。最終得到低電平信號。

    3 測試系統軟件設計

    為了使系統實現需要的功能,還必須有軟件的支持。在此主要用C語言編寫單片機的軟件程序,軟件部分主要完成對傳感器信號A/D,D/A轉換處理,的通信等工作。該控制器實現是通過微處理器把信號調理電路輸出的信號進行轉換,以便于進一步處理、傳輸等。所有功能都在這個主循環里面實現,只需調用這個主循環以外所定義的功能函數。根據不同的值執行與之對應的處理程序,A/D,D/A在系統初始化后,啟動并不斷轉換采樣通道并根據采樣值不斷更新顯示,當有中斷發生時執行中斷服務程序。

    對于整個設計框架,主程序尤為重要,系統開啟時,主程序調用各個模塊的功能子函數進行初始化,主函數將各個子程序連接起來,處理各個事件,等到程序運行結束后,再還原系統環境。本系統的軟件部分主要包括:STM32自帶ADC寄存器設置,AD轉換程序,CAN通訊收發程序,DA轉換程序等。總流程如圖6所示。

    f.jpg

    4 通訊設計

    制定iCAN協議的思路源于為中國中小型CAN應用網絡提供一種簡單、可靠、穩定的應用層協議。在充分汲取了DeviceNet協議和 CANopen協議之精萃的基礎上,優先保障通信數據的可靠性與實時性,以相對簡單的方式進行數據通信,從而有效降低了硬件實現成本,這就是iCAN協議的巨大優勢。系統iCAN所具備的特點結構簡單,靈活構建、低成本,而且由于采用還具有良好的可靠性和穩定性,同時iCAN系統具有易于組態,安裝、運行、維護簡便的特點。

    iCAN協議規范中,I/O數據單元分為7個不同的空間,占用0x00—0xdf數據空間:數字量輸入單元DI、數字量輸出單元DO、模擬量輸入單元 AI、模擬量輸出單元AO、串行接口0單元、串行接口1單元以及保留部分。iCAN協議中資源節點占用256字節空間:對于任意I/O數據需訪問指定資源節點地址,但對于配置資源中的IO配置單元要通過資源節點地址以及子地址的方式訪問,如圖7所示說明報文處理流程。

    g.jpg

    5 結論

    本設計的CAN控制器具備運行速度快、體積、性能可靠、功耗低等特性,實現了工業現場的、數據輸出以及CAN控制器與上位機通訊等功能。在模擬量與數字量的采集基礎上,CAN控制節點上也有很大余量。本設計主要是針對當前工業控制的需求和現有工業設備接口單一、傳輸距離有限、數據網絡化程度較低等多方面的缺點而開發設計的,設計出了這款接口種類多、體積小、可靠性高、易操作的新型CAN智能控制器設備。達到預期效果。采用 STM32F103RC平臺控制板進行軟件模擬測試,數據正常采集輸出。


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 泰来县| 贵港市| 建瓯市| 北海市| 泸水县| 定西市| 连平县| 原阳县| 金秀| 伊金霍洛旗| 秀山| 泰安市| 杭州市| 漳州市| 桃江县| 夏邑县| 安溪县| 合作市| 蓬溪县| 德兴市| 高淳县| 康定县| 莫力| 正定县| 黎城县| 阿拉善盟| 莎车县| 始兴县| 郁南县| 溆浦县| 九江市| 广宗县| 红安县| 清徐县| 茂名市| 新和县| 万载县| 资兴市| 宜昌市| 扶绥县| 鹤岗市|