• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于TMS320F28335的CANopen協(xié)議從節(jié)點設(shè)計與實現(xiàn)

    2014-10-21 14:56:52肖海峰楊柳
    科技視界 2014年36期
    關(guān)鍵詞:現(xiàn)場總線

    肖海峰 楊柳

    【摘 要】在分析CANopen協(xié)議的設(shè)備模型、對象字典以及CANopen設(shè)備的各種狀態(tài)的基礎(chǔ)上,本文設(shè)計了一種基于DSP TMS320F28335的CANopen通訊協(xié)議從站。按照 CANopen協(xié)議的規(guī)定完成軟件編寫任務,實現(xiàn)該從站與主站PLC通訊數(shù)據(jù),測試各種通訊對象的基本功能。結(jié)果驗證了在數(shù)據(jù)的有效性,實現(xiàn)了CANopen協(xié)議的基本要求。

    【關(guān)鍵詞】CANopen協(xié)議;DSP處理器;對象字典;現(xiàn)場總線

    0 引言

    隨著計算機網(wǎng)絡技術(shù)的發(fā)展,以現(xiàn)場總線為代表的控制網(wǎng)絡在工業(yè)以及其他控制系統(tǒng)中受到廣泛地應用[1]。CAN總線就是其中一種在分布式運動控制系統(tǒng)中應用比較廣泛的總線,然而CAN的基本協(xié)議只有物理層和數(shù)據(jù)鏈路層協(xié)議[2],本身并不完整。為了使各種CAN設(shè)備可以互相兼容,需要一個開放的、標準化的高層協(xié)議來實現(xiàn)各種CAN設(shè)備進行標準的、統(tǒng)一的通訊。

    TMS320F28335數(shù)字處理器[3]是目前控制領(lǐng)域性能最高的32位定點DSP芯片,具有精度高、成本低、功耗小、性能高、外設(shè)集成度高等特點,為控制領(lǐng)域提供了高性能解決方案。它集成了兩個有2個增強型總線控制器(eCAN),完全兼容CAN2.0B標準,該模塊由CAN協(xié)議核心(CPK)和消息控制器組成完全支持CANopen 通訊協(xié)議。

    本文提出了基于DSP TMS320F28335控制器CANopen嵌入式從站的硬件和軟件架構(gòu),為下一步CANopen嵌入式運動控制系統(tǒng)的開發(fā)打下了基礎(chǔ)。

    1 硬件設(shè)計

    一個簡單的CAN網(wǎng)絡可以只由兩個節(jié)點構(gòu)成,一個作為發(fā)送命令和數(shù)據(jù)的主節(jié)點,另一個作為根據(jù)主節(jié)點要求進行動作的從節(jié)點。TMS320F28335數(shù)字信號處理器作為下位機的控制芯片,進行實時收發(fā)數(shù)據(jù),DSP在實際使用中主要完成和上位機PLC的 CAN 接口通訊任務[4],如圖1所示,使用DSP自帶的CAN 控制器模塊,外接總線收發(fā)器 SN65HVD230D構(gòu)成下位機CAN節(jié)點,作為通訊從節(jié)點。上位機向下位機發(fā)送各種數(shù)據(jù),下位機根據(jù)要求主動或被動向上位機發(fā)送數(shù)據(jù)。

    圖1 CAN 通信系統(tǒng)結(jié)構(gòu)

    總線收發(fā)器芯片SN65HVD230D供電電壓為3.3V,與DSP電平完全兼容。從站DSP控制板將3.3V供電電壓、地線以及CAN發(fā)送(CANTX)、接收(CANRX)引腳接到總線收發(fā)器芯片相應的引腳。

    2 CANopen 協(xié)議設(shè)計

    為了對各類對象進行規(guī)范化和方便的管理,在協(xié)議中定義了對象字典的概念。對象字典是所有數(shù)據(jù)結(jié)構(gòu)的集合,這些數(shù)據(jù)涉及設(shè)備的應用程序、通信以及狀態(tài)機,對象字典利用對象來描述CANopen 設(shè)備的全部功能,并且它也是通信接口與應用程度之間的接口。

    2.1 對象字典的結(jié)構(gòu)及實現(xiàn)

    CANopen協(xié)議已經(jīng)將對象字典進行分配,用戶可以通過同一個索引和子索引獲得所有設(shè)備中的通信對象,對象包括設(shè)備信息,設(shè)備節(jié)點 ID,設(shè)備的過程數(shù)據(jù)對象的通訊參數(shù)與映射參數(shù)、服務數(shù)據(jù)對象信息,設(shè)備節(jié)點狀態(tài)信息、錯誤管理信息等內(nèi)容。在要求實現(xiàn)節(jié)點監(jiān)控功能的節(jié)點中,對象字典包括記錄各個節(jié)點狀態(tài)信息與監(jiān)控設(shè)置的數(shù)據(jù)塊。如圖2所示,對象字典文件中部分接受PDO通訊參數(shù)。

    讀取對象字典內(nèi)容是 CANopen 中很常見的操作,對象字典讀取操作可以讀取對象所有子索引或者某一確定的子索引。對象字典讀取入口函數(shù)為:

    圖2 對象字典文件

    typedef struct td_indextable

    {

    subindex* pSubindex;

    UNS8 bSubCount;

    UNS16 index;

    } indextable;

    對象字典訪問函數(shù)為:

    const indextable *ptrTable;

    ODCallback_t *Callback;

    3 CANopen 通訊底層驅(qū)動設(shè)計

    TMS320F28335數(shù)字處理器從站通訊軟件是利用處理器本身的固件庫資源,設(shè)計CAN 通訊相關(guān)的 API 函數(shù),包括CAN 節(jié)點初始化與節(jié)點管理、CAN 狀態(tài)控制、報文標識符濾波,發(fā)送/接收報文、設(shè)置 CAN 波特率,設(shè)置中斷等。這些函數(shù)是實現(xiàn)CANopen通訊的軟件基礎(chǔ),具體函數(shù)如下:

    CAN_PORT canInit(int port, CO_Data *ObjDict_Data, unsigned long bitrate);UNS8 canSetBitrate (CAN_PORT port, unsigned long bitrate);

    static unsigned long TranslateBaudRate(char *rate);

    UNS8 canChangeBaudRate (CAN_PORT port, char *rate);

    unsigned char canSend (CAN_PORT p,Message *m);

    static void canReceive(CAN_PORT p, UNS8 box, Message *m);

    static void can_irq_mbox_handler (CAN_PORT p);

    4 CANopen協(xié)議從站軟件流程

    根據(jù)DSP開發(fā)環(huán)境CCS3.3的配置,如圖3所示,系統(tǒng)上電微處理器初始化完畢后,軟件從main函數(shù)開始執(zhí)行。

    圖3 CCS從站軟件開發(fā)界面

    函數(shù)完成了微處理器全局硬件配置,CAN 通訊配置,及 CANopen 初始化配置,成功發(fā)送發(fā)送啟動報文之后,進入 for 死循環(huán),等待主站 NMT 命令進入操作狀態(tài),隨后從站軟件的報文收發(fā)以及 NMT 狀態(tài)機操作均在中斷程序下進行。從站的軟件流程如圖4所示,進入預操作狀態(tài)并發(fā)送啟動報文,等待主站“進入操作狀態(tài)”NMT 指令以進入操作狀態(tài)。在預操作狀態(tài)與操作狀態(tài),控制器可以根據(jù)主站 SDO 配置自身對象字典,從站只有在操作狀態(tài)下才能進行 PDO 傳輸。

    圖4 從站軟件流程

    5 結(jié)論

    本文實現(xiàn)了基于TMS320F28335處理器的CANopen協(xié)議從站的軟硬件開發(fā)工作,完成了DSP全局時鐘與CAN通訊配置以及節(jié)點CANopen對象字典的建立過程與訪問方式,在與主站PLC通訊過程中達到了滿意的效果。

    【參考文獻】

    [1]賀天柱,孫瑜.現(xiàn)場總線發(fā)展歷史與未來發(fā)展趨勢[J].渭南師范學院學報,2005,20(5):75-78.

    [2]云利軍,孫鶴旭.運動控制研究現(xiàn)狀及趨勢[J].控制工程,2006,13(4):89-92.

    [3]TMS320F28335,TMS320F28334,TMS320F28332,TMS320F28235,TMS320F28234,TMS320F28232數(shù)字信號處理器數(shù)據(jù)手冊[Z].

    [4]廣州周立功單片機發(fā)展有限公司CANopen 協(xié)議介紹[Z].

    [責任編輯:楊玉潔]

    猜你喜歡
    現(xiàn)場總線
    探究氣動閥門控制的現(xiàn)場總線技術(shù)應用
    科技視界(2016年27期)2017-03-14 18:23:19
    淺析如何做好現(xiàn)場總線施工
    DeviceNet總線的現(xiàn)場應用及分析
    基于CAN總線的變電站通訊網(wǎng)絡設(shè)計
    基于PROFINET的制絲線智能故障診斷系統(tǒng)的設(shè)計與實現(xiàn)
    基于現(xiàn)場總線的聚酯網(wǎng)熱定形機控制系統(tǒng)
    紡織導報(2015年8期)2015-12-31 20:22:05
    不停車實現(xiàn)連續(xù)運行煉油化工裝置DCS控制系統(tǒng)擴容
    現(xiàn)場總線與控制系統(tǒng)工程實訓在教學中的應用
    科技資訊(2015年7期)2015-07-02 20:41:18
    電站現(xiàn)場總線布線的優(yōu)化應用
    基于現(xiàn)場總線的城市配電房綜合管理系統(tǒng)
    张家港市| 唐山市| 通化市| 克什克腾旗| 宜丰县| 宁明县| 红安县| 富裕县| 扶沟县| 安庆市| 齐齐哈尔市| 辽宁省| 青川县| 竹溪县| 广平县| 平和县| 株洲县| 仁寿县| 思茅市| 宝山区| 阿拉善盟| 绍兴县| 宣化县| 工布江达县| 台安县| 曲麻莱县| 讷河市| 遂平县| 阿瓦提县| 静海县| 张家口市| 太康县| 裕民县| 胶州市| 通州区| 馆陶县| 南平市| 南雄市| 达孜县| 武汉市| 嵊泗县|