999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于CANopen的可遠程更新數據采集系統的設計

2014-04-29 00:00:00王皆歡霍旭穎
中國新通信 2014年22期

【摘要】 本文介紹了一種基于CANopen協議的壓力數據采集設計方案,通過使用現有的CiA DS301,CiA DS401協議完成設計,提高設備的兼容性,通過使用IAP功能完成基于CAN的在線更新程序的功能,方便設備的在線升級。

【關鍵詞】 CANopen DS401 IAP

隨著CAN總線技術的發展和各種功能需求不斷提出,一種具有標準協議的設備的出現已經成為一種必然的趨勢,本文以CANopen協議為基礎,提出了一種基于CiA標準協議的設計方案,并實現基于CAN總線的IAP在線更新,為系統的在線更新提供了便利,本文將以壓力數據采集系統設計進一步闡明設計方案。

一、系統整體構架

整個采集系統的設計可以分為3個部分,由底層硬件設計,操作系統以及協議棧移植3個部分,硬件設計主要完成對現場壓力傳感器采集的4-20mA的數據處理工作,芯片主要使用NXP的LPC2378處理器,數據通道直接使用具有4路差分輸入的多塊AD芯片完成,避免了使用電子開關切換帶來的延時等一系列問題。操作系統移植主要使用常用的uc-os ii完成任務調度,滿足實時性需求,協議棧使用CANfestival[1]移植。操作系統移植以及協議棧的移植技術相對成熟,對對象字典設計以及IAP在線更新功能做出闡述。

二、具體設計

2.1對象字典設計

本設計使用12路電流輸入采集通道,滿足CiA DS301[2]預定義連接集的設定,故可根據CiA DS301 的設定分別定義TPDO2-TPDO4的參數設置,具體定義如下表2-1:

表2-1 通訊參數設置

Tab2-1 Communication parameter configuration

1801hTPDO21802hTPDO31803hTPDO4

子索引數00h0x500h0x500h0x5

COB-ID01h0x28001h0x38001h0x480

傳輸類型02h0xff02h0xff02h0xff

禁止時間03h003h003h0

保留04h004h004h0

事件時間05h005h005h0

對于映射參數的設置見表2-2,根據CiA DS401[3]標準I/O設備的表述,16位模擬信號的8路輸入可分別對應于TPDO2-TPDO4。

表2-2 映射參數設置

Tab2-2 Mapping parameter configuration

1A01h TPDO21A02h TPDO31A03h TPDO4

映射數量00h 0x400h 0x400h 0x4

通道1/5/901h 0x64010110L01h 0x64010510L01h 0x64010910L

通道2/6/1002h 0x64010210L02h 0x64010610L02h 0x20000A10L

通道3/7/1103h 0x64010310L03h 0x64010710L03h 0x20000B10L

通道4/8/1204h0x64010410L04h0x64010810L04h0x20000C10L

對于輸入信號的其他設置如信號高低值的限制、各通道信號的零點量程的設定等,可根據CiA DS401中模擬信號輸入模型進行設置,具體設置如下表2-3:

表2-3 其他設置

Tab2-3 Other configuration

索引值說明

0x6423模擬輸入全局中斷使能

0x6424最高點設置可以對各通道分別進行設置

0x6425最低點設置可以對各通道分別進行設置

………

0x6431零點值可以對各通道分別進行設置

0x6432量程值可以對各通道分別進行設置

對于上述表格中的參數,使用高低設置除屏蔽干擾,零點量程可對各輸入通道進行整定,在實際應用過程中可以根據實際需求進行針對性的設置,如不需要,則保持默認設置即可。對于SDO設置以及心跳報文等的設置按照CiA DS301標準中的規定進行設置即可。

2.1 IAP在線更新

IAP在線更新能夠使得在線的CAN節點實現遠程更新[4],從而避免了現場程序更新的繁瑣過程。在線更新實際上就是用戶程序通過CAN接收新代碼,并調用IAP接口函數對片內Flash指定扇區進行燒寫。實現IAP的前提是要建立一個Bootloader。

為實現IAP功能,需要將FLASH分成2個部分,即Bootloader代碼區以及用戶代碼區。

Bootloader的代碼屬于出廠代碼,一般不允許改動,主要完成FLASH各功能區區域的設置,確定CAN接收緩存,IAP接口函數,根據CAN接收緩存的內容進行相應的扇區擦寫操作,在完成相應的操作后運行用戶程序。

用戶代碼區就是可進行在線燒錄的代碼區,完成實際的應用功能,它可由Bootloader程序完成后跳轉而來。

整個流程圖如圖2-1所示。

對于本設計中所使用的LPC2378[5]的Boot區的首地址為0x0007E000-0x0007FFFF,因此用戶代碼區有504K的空間,對這504K的空間以扇區為單位(4K或者32K)執行對應的擦寫操作。

Bootloader中CAN的接收緩存使用片內32K(0x40000000-0x40007FFF)靜態RAM作為數據緩存地址。

CAN接口程序主要完成與上位機之間的指令通訊及其代碼傳輸,關于CAN接口有:

初始化CAN控制器函數LCP2378_CAN_Init,中斷初始化函數LPC2378_CAN_Int,CAN收發函數CAN_Read、CAN_Write。

IAP接口函數起始地址為0x7FFFFFF1,bootloader需要條用IAP函數完成FLASH扇區的擦寫操作,通過IAP_PrepareSector選擇扇區,通過IAP_EraseSector擦除扇區,通過IAP_EraseSector函數完成RAM數據寫入FLASH,以及扇區校對IAP_ Compare等操作。

需要燒錄的程序hex文件需要轉換為bin文件,在完成bin文件傳輸后進行CRC校驗[6],如果通過校驗則進行扇區燒寫,否則退出本次更新。在調用IAP過程中FLASH地址必須以256字節對齊,即低8位為0,由于FLASH扇區單小為4k,在對扇區寫入時最大不超過4096字節,本設計中設定以此寫入字節數為4096,也可根據實際選用256、512、1024。

三、結束語

本設計通過使用CANopen協議棧實現了設備兼容性設計目標,并通過CAN總線實現IAP的在線更新,已經成功應用于實際壓力檢測模塊的程序更新。

主站蜘蛛池模板: 99福利视频导航| 97国产在线播放| 国产精品深爱在线| 亚洲天堂网在线观看视频| 国产对白刺激真实精品91| 欧美色伊人| 精品久久久久久久久久久| 亚洲无码高清视频在线观看| 日a本亚洲中文在线观看| 欧美精品在线看| 成人精品视频一区二区在线| 午夜爽爽视频| 91久久偷偷做嫩草影院精品| 香蕉久久永久视频| 成人夜夜嗨| 国产一级视频久久| 久久香蕉国产线看精品| 亚洲免费福利视频| 茄子视频毛片免费观看| 国产精品成人观看视频国产| 国产91全国探花系列在线播放| 日韩无码真实干出血视频| 欧美午夜在线观看| 免费久久一级欧美特大黄| 亚洲欧美成人综合| 国产在线观看一区二区三区| 无码一区二区波多野结衣播放搜索 | 色综合综合网| 中文字幕无码av专区久久 | 国产免费自拍视频| 国产最新无码专区在线| 亚洲精品国产精品乱码不卞| 亚洲男人的天堂视频| 久久精品波多野结衣| 成年A级毛片| a亚洲天堂| 亚洲欧美国产五月天综合| 欧美三級片黃色三級片黃色1| 毛片免费在线| 丝袜无码一区二区三区| 波多野一区| 538精品在线观看| 国产第一页免费浮力影院| 激情综合激情| 一级全黄毛片| 国产精品女在线观看| 国产精品所毛片视频| 精品超清无码视频在线观看| 亚洲精品另类| 亚洲最新地址| 亚洲va在线∨a天堂va欧美va| 狠狠亚洲婷婷综合色香| 国产亚洲精品无码专| 在线观看国产黄色| 国产精品天干天干在线观看| 中文字幕欧美日韩| 欧洲高清无码在线| 久久免费视频6| 深夜福利视频一区二区| 亚洲综合在线网| 国产视频你懂得| 国产精品无码一二三视频| 在线精品亚洲一区二区古装| 直接黄91麻豆网站| 国产免费看久久久| 亚洲成人免费在线| 国产高清无码麻豆精品| 99久久精彩视频| 91小视频在线播放| 亚洲人成网站在线播放2019| 国产免费黄| 国产自在线拍| 伊人久久福利中文字幕| 黄色网址手机国内免费在线观看| 国产精品人成在线播放| 欧美不卡视频在线观看| 天天综合色网| 亚洲免费播放| 91精品情国产情侣高潮对白蜜| 毛片在线播放网址| 久久人人妻人人爽人人卡片av| 日韩精品毛片|