当前位置: 首页 > wzjs >正文

网站开发建设流程图安卓优化大师清理

网站开发建设流程图,安卓优化大师清理,成都网站制作套餐,做产品推广哪个网站好一、 内容介绍 从零开始,在ZYNQ开发板上移植cnafestival,并最终控制电机运动。主要分别五部分 1. Vivado导出硬件XSA文件 2. 创建vitis工程,并移植Canfestival 3. 对象字典工具的安装及使用 4. 开发板通过SDO报文配置电机PDO参数 5. 开发板通…

请添加图片描述


一、 内容介绍

从零开始,在ZYNQ开发板上移植cnafestival,并最终控制电机运动。主要分别五部分

1. Vivado导出硬件XSA文件
2. 创建vitis工程,并移植Canfestival
3. 对象字典工具的安装及使用
4. 开发板通过SDO报文配置电机PDO参数
5. 开发板通过PDO报文控制电机运动


二 硬件介绍

1、支持Canopen协议的电机
2、zynq芯片的开发板
3、can分析仪,用来抓取监听Canopen报文
请添加图片描述


三、资料介绍

主要包括这些文件,里面包括了完整的Vitis工程代码,以及非常有用的Canopen相关的文档使用教程
在这里插入图片描述


四 、Canfestival介绍及下载

CanFestival 是一个开源的 CANopen 协议栈,专为嵌入式系统设计。以下是其核心特点的简要总结:

  1. 功能

    • 支持 CANopen 核心协议(NMT、PDO、SDO、对象字典等)。
    • 适用于工业自动化、机器人、汽车电子等领域。
  2. 优势

    • 开源免费(LGPL 许可证)。
    • 跨平台,支持多种操作系统和微控制器。
    • 提供代码生成工具(如 objdictgen),简化开发。
  3. 应用

    • 适合资源有限的嵌入式系统。
    • 广泛应用于需要 CANopen 通信的场景。
  4. 官网下载源码

    • https://canfestival.org/。
      请添加图片描述

五 、移植

1 、根据vivado导出的xsa文件,创建一个vitis工程

请添加图片描述

2 、Canfestival文件夹中复制源码库的src和include文件夹相关文件,到vitis工程中

在这里插入图片描述

移植c文件
在这里插入图片描述
移植H文件
在这里插入图片描述


此外还需要移植一个config.h文件



六 、修改vitis工程中的驱动代码

移植代码,我们编译后,会报错。要进行代码修改

1、start_and_seek_node() 和 start_node(),这两个函数把inline去掉
2、编写实现canSend() getElapsedTime() setTimer()这三个函数
  • canSend() ,作用是发送can数据,最终canfestival库发送数据,都会调用canSend()函数.
  • getElapsedTime(),作用是软件定时器的修正(通过一个硬件定时器,来模拟多个软件定时器).
  • -setTimer(),作用是改变硬件定时器的溢出周期
3、编写代码,配置硬件can口和硬件定时器。注意can口波特率不要配置错误
4、导入对象字典文件Mater.h 和Master.c文件
5、修改static.c文件中_preOperational和_operational函数,切换状态时候,能发送NMT报文
6、根据硬件定时器周期,修改timerscfg.h中的TIMEVAL_MAX 、MS_TO_TIMEVAL、US_TO_TIMEVAL。
#define TIMEVAL_MAX 0X0FFFFFFF
#define MS_TO_TIMEVAL(ms) ms*1000L
#define US_TO_TIMEVAL(us) us*1L
7、修改timers.c中的TimeDispatch函数
8、修改applicfg.h文件中的MSG宏定义,可以输出调试信息
/* Definition of error and warning macros */
/* -------------------------------------- */
#define MSG(...)  xil_printf(__VA_ARGS__)/* Definition of MSG_ERR */
/* --------------------- */
#define MSG_ERR(num, str, val) \
//MSG("ERR:%s,%d : 0X%x, %s 0X%x \r\n",__FILE__,__LINE__,num,str,val);/* Definition of MSG_WAR */
/* --------------------- */
#define MSG_WAR(num, str, val) \
//MSG("WAR:%s,%d : 0X%x, %s 0X%x \r\n",__FILE__,__LINE__,num,str,val)
9、修改完后,在main函数中添加代码如下,canfestival能会定时的发送同步报文
int main()
{init_platform();canfestival_port_Init();//can、硬件定时器,中断初始化setState(&Master_Data,Initialisation);while(1){sleep(1);  	}print("Hello World\n\r");print("Successfully ran Hello World application");cleanup_platform();return 0;
}
//master.c 同步报文参数的设置 100ms循环发送 
/* index 0x1005 :   SYNC COB ID. */UNS32 Master_obj1005 = 0x40000080;	/* 1073741952 */ODCallback_t Master_Index1005_callbacks[] = {NULL,};subindex Master_Index1005[] = {{ RW, uint32, sizeof (UNS32), (void*)&Master_obj1005 }};/* index 0x1006 :   Communication / Cycle Period. */UNS32 Master_obj1006 = 0x186A0;	/* 100000us */ODCallback_t Master_Index1006_callbacks[] = {NULL,};subindex Master_Index1006[] = {{ RW, uint32, sizeof (UNS32), (void*)&Master_obj1006 }};

七 、其他介绍

1、开发板发送SDO报文,主要是通过writeNetworkDict这个函数实现

UNS8 writeNetworkDict (CO_Data* d, UNS8 nodeId, UNS16 index,UNS8 subIndex, UNS32 count, UNS8 dataType, void *data, UNS8 useBlockMode)
{return _writeNetworkDict (d, nodeId, index, subIndex, count, dataType, data, NULL, 1, useBlockMode);
}

2、开发板作为主站,也就是客户端,注意TPDO和RPDO的ID 要设置正确。通过PDO绑定的变量控制电机运动
主要需要电机以下对象索引参数

在这里插入图片描述
最终把代码下载到开发板中,控制电机运动

请添加图片描述

8、完整视频教程 及 全部资料 获取

请添加图片描述

http://www.dtcms.com/wzjs/581034.html

相关文章:

  • 漳州网站优化淮安做网站的有多少
  • 好看的网站 你知道的2021响应式网站开发步骤
  • 网站版权问题青浦人才网官网
  • 临沂网站建设企业广州域名注册
  • 设计师经常上的网站window wordpress
  • 用按键精灵做网站哪位大神推荐一下好网站
  • 帝国cms做视频网站网页设计基础课心得体会2000字
  • 网站建站大约多少钱php做的网站源代码在哪里
  • 如何做一个内部网站上海今天最新发布会
  • 商务网站建设ppt模板方案图网站
  • wordpress简码插件酒店网站搜索引擎优化方案
  • 网站建设公司市场开发方案线上营销网站设计
  • 福州短视频seo网站群晖 wordpress 外网
  • 网站总是跳转seo联盟平台
  • 国内看网站 优帮云开发网站开发工程师
  • 上蔡县住房和城乡建设局网站wordpress定义页面带html
  • 建设工程项目管理网站全国做网站哪家好
  • 网站会员和discuz会员同步白鹭引擎做h5网站
  • 企业网站建设须知欧美风格企业网站
  • 网站seo诊断网站开发需求书
  • 19年做哪个网站致富大数据与网站开发技术
  • 网站排名优化软件哪家好品牌推广营销
  • 机电建设有限公司网站访问外国网站速度慢
  • 长春比较有名的做网站建设贵阳网站制作贵阳网站建设哪家好
  • 利川市网站建设科技手札
  • 买完域名网站怎么设计西班牙语网站建设
  • 网站空间地址宁波专业做公司网站的科技公司
  • 虚拟空间可以做视频网站么做简单网站需要学什么软件有哪些
  • aspnet做网站视频教程wordpress 标签详解
  • php网站建设有关知识个人音乐类网站服务器租借