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

主站蜘蛛池模板: 亚洲69视频| 乱系列中文字幕在线视频 | 国产情精品嫩草影院88av| 91网址在线播放| 亚洲va在线∨a天堂va欧美va| 国产香蕉一区二区在线网站| 人妻一区二区三区无码精品一区| 婷婷色一二三区波多野衣| 四虎国产永久在线观看| 国产尤物视频在线| 91亚洲精选| 无码精品一区二区久久久| 国产人妖视频一区在线观看| 波多野结衣视频一区二区| 呦女亚洲一区精品| 国产精品毛片一区视频播| 国产微拍一区二区三区四区| 99国产精品免费观看视频| 久久久久国产一级毛片高清板| 国产AV无码专区亚洲精品网站| 国产男女免费视频| 欧美区一区二区三| 国产门事件在线| 在线视频亚洲色图| 九九久久精品免费观看| 亚洲午夜福利在线| 女人爽到高潮免费视频大全| 国产福利一区在线| 国产精品无码AⅤ在线观看播放| 91午夜福利在线观看精品| 99re免费视频| 99在线视频精品| 精品一区二区三区视频免费观看| jizz国产视频| 99久久国产综合精品2020| 9cao视频精品| 国产精品一线天| 久久天天躁狠狠躁夜夜躁| www.日韩三级| 成人免费视频一区二区三区| 欧美精品v欧洲精品| 亚洲无码37.| 18禁色诱爆乳网站| 国产欧美精品一区aⅴ影院| 91高清在线视频| 久热re国产手机在线观看| 国产超碰一区二区三区| 女人18毛片一级毛片在线 | 国产美女91呻吟求| 欧洲高清无码在线| 国内精品视频在线| 国产精品免费入口视频| 九九九精品视频| 国产色伊人| 成人91在线| 日本欧美中文字幕精品亚洲| 无码专区在线观看| 欧美一区日韩一区中文字幕页| 人人艹人人爽| 熟女日韩精品2区| 国产久草视频| 国产精品女人呻吟在线观看| 亚洲乱码在线视频| 国产高清国内精品福利| 一本大道无码日韩精品影视| 亚洲国产一成久久精品国产成人综合| 欧洲熟妇精品视频| 日韩不卡免费视频| 国产在线98福利播放视频免费| 久久天天躁狠狠躁夜夜2020一| 欧美日韩国产在线播放| 蜜桃臀无码内射一区二区三区| 久草中文网| 免费A∨中文乱码专区| 色婷婷综合在线| 国产亚洲精品在天天在线麻豆| 亚洲视屏在线观看| 国产精彩视频在线观看| 天天色天天操综合网| 亚洲综合亚洲国产尤物| 天天躁夜夜躁狠狠躁图片| 日本三区视频|