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的在線更新,已經成功應用于實際壓力檢測模塊的程序更新。

主站蜘蛛池模板: 无码高潮喷水专区久久| 国产成人高清精品免费软件 | 国产精品2| 国产一在线| 久久综合伊人77777| 久久综合色天堂av| 日本高清有码人妻| 国内精品久久久久鸭| 中文成人在线| 久久精品这里只有国产中文精品| 亚洲日韩AV无码一区二区三区人| 国产夜色视频| a级毛片免费在线观看| 人妻夜夜爽天天爽| 亚洲精选高清无码| 久久不卡精品| 麻豆精品在线| 国产精品短篇二区| 成人一区在线| 免费中文字幕在在线不卡| 成人韩免费网站| 黄色一及毛片| 伊人久热这里只有精品视频99| 免费毛片全部不收费的| 素人激情视频福利| 国产精品免费电影| 亚洲天堂在线免费| 四虎成人在线视频| 宅男噜噜噜66国产在线观看| 国产精欧美一区二区三区| 亚洲女同一区二区| 国产自无码视频在线观看| 中文字幕久久亚洲一区| 国产精品一区在线麻豆| 国产午夜精品一区二区三区软件| 四虎成人免费毛片| 在线观看亚洲人成网站| 亚洲丝袜中文字幕| 午夜精品久久久久久久无码软件 | av尤物免费在线观看| 国产亚洲精久久久久久久91| 亚欧乱色视频网站大全| 亚洲精品色AV无码看| av无码久久精品| 欧美精品亚洲精品日韩专区| 永久在线播放| 国产精品白浆无码流出在线看| 人与鲁专区| 永久免费AⅤ无码网站在线观看| 国产精品黄色片| 国产精品网址你懂的| 三级视频中文字幕| 免费无遮挡AV| 日本妇乱子伦视频| 国产原创演绎剧情有字幕的| 国产精品亚洲αv天堂无码| 欧日韩在线不卡视频| 国产在线第二页| 亚洲一级毛片在线观播放| 色网在线视频| 伊人蕉久影院| 国内精品久久九九国产精品| 精品亚洲欧美中文字幕在线看| 性色生活片在线观看| 青青青国产精品国产精品美女| 色婷婷成人网| 日韩在线成年视频人网站观看| 97国内精品久久久久不卡| 一区二区三区四区精品视频| 国产 在线视频无码| 久久夜色精品| av无码一区二区三区在线| 亚洲中文精品人人永久免费| 18禁黄无遮挡免费动漫网站| P尤物久久99国产综合精品| 亚洲视屏在线观看| 国产精品尤物铁牛tv | 精品91在线| 永久免费无码日韩视频| 福利视频久久| 9啪在线视频| 巨熟乳波霸若妻中文观看免费 |