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

基于TMS320F28335的CANopen協議從節點設計與實現

2014-10-21 14:56:52肖海峰楊柳
科技視界 2014年36期

肖海峰 楊柳

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

【關鍵詞】CANopen協議;DSP處理器;對象字典;現場總線

0 引言

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

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

本文提出了基于DSP TMS320F28335控制器CANopen嵌入式從站的硬件和軟件架構,為下一步CANopen嵌入式運動控制系統的開發打下了基礎。

1 硬件設計

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

圖1 CAN 通信系統結構

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

2 CANopen 協議設計

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

2.1 對象字典的結構及實現

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

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

圖2 對象字典文件

typedef struct td_indextable

{

subindex* pSubindex;

UNS8 bSubCount;

UNS16 index;

} indextable;

對象字典訪問函數為:

const indextable *ptrTable;

ODCallback_t *Callback;

3 CANopen 通訊底層驅動設計

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

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協議從站軟件流程

根據DSP開發環境CCS3.3的配置,如圖3所示,系統上電微處理器初始化完畢后,軟件從main函數開始執行。

圖3 CCS從站軟件開發界面

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

圖4 從站軟件流程

5 結論

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

【參考文獻】

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

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

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

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

[責任編輯:楊玉潔]

主站蜘蛛池模板: 尤物精品视频一区二区三区| 99久久国产综合精品女同| 伊人91在线| 91久久偷偷做嫩草影院| 99性视频| 综合社区亚洲熟妇p| 欧美日韩国产成人高清视频| 国产精品手机视频| 免费av一区二区三区在线| 在线欧美日韩| 亚洲欧洲AV一区二区三区| av在线手机播放| 国产福利小视频在线播放观看| 日本午夜网站| 欧洲亚洲欧美国产日本高清| 91精品国产91久久久久久三级| 国产精品lululu在线观看| 欧美一区二区三区国产精品| 婷婷色婷婷| 国产成人a毛片在线| 九色在线视频导航91| 日韩二区三区无| 97久久超碰极品视觉盛宴| 亚洲美女一区| 91久久偷偷做嫩草影院| 精品三级网站| 韩国自拍偷自拍亚洲精品| 欧美在线综合视频| 色亚洲成人| 久久精品视频一| 亚洲VA中文字幕| a毛片基地免费大全| 2018日日摸夜夜添狠狠躁| 国产亚洲欧美日本一二三本道| 欧美在线伊人| 亚洲欧美一区二区三区蜜芽| 国产乱人激情H在线观看| 国产97公开成人免费视频| 毛片网站在线看| 1级黄色毛片| 国产精品福利尤物youwu| 91口爆吞精国产对白第三集| 四虎永久在线视频| 久久96热在精品国产高清| 国产在线一区视频| 亚洲一级毛片在线观播放| 日韩高清欧美| 伊人蕉久影院| 91丝袜美腿高跟国产极品老师| 国产激爽大片在线播放| 成人在线亚洲| 婷婷99视频精品全部在线观看| 国禁国产you女视频网站| 亚洲欧洲自拍拍偷午夜色| 全部免费特黄特色大片视频| 日韩专区第一页| 亚洲免费人成影院| 国产精品偷伦视频免费观看国产| 黄色网址手机国内免费在线观看| 国产va在线观看免费| 中日无码在线观看| 免费国产无遮挡又黄又爽| 99久久免费精品特色大片| 真人高潮娇喘嗯啊在线观看| 久久久成年黄色视频| 中文字幕在线不卡视频| 国产精品一区二区久久精品无码| 国产欧美日韩在线一区| 欧美日韩v| 99中文字幕亚洲一区二区| 中文字幕久久亚洲一区| 精品成人一区二区三区电影 | 亚洲欧美日韩精品专区| 97成人在线观看| 中文字幕 欧美日韩| 久久久无码人妻精品无码| 国产精品思思热在线| 中文字幕在线看视频一区二区三区| 亚洲日本在线免费观看| 四虎影视永久在线精品| 亚洲无码不卡网| 性视频一区|