ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:52.89KB ,
资源ID:6566433      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6566433.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(CANopen源代码框架说明.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

CANopen源代码框架说明.docx

1、CANopen源代码框架说明2015年12月摘要:本文主要介绍五部分内容:商业版代码与开源代码的详细区别;CANopen 协会-CiA 的各重要子协议的代码包情况介绍;代码包重要服务;代码包框架介绍和使用说明;支持的MCU 列表和升级情况。首先先介绍一下开源代码和商业版代码的区别,当然这其实已经是“公开的秘密”,只是我们没有去详细总结而已:1、费用:商业版代码收费,开源代码免费;商业版代码节省了很多研发人员和测试人员的时间,节省了很多人力成本。2、技术支持和文档:遇到问题,商业版有人负责解答,有完整的操作文档和手册(将近五百页的详细说明书),开源无人解答-问题解决的几率小、风险不确定性大。3、

2、代码质量和稳定性:商业版本有质量保证,代码的质量、优化和效率;使用开源代码存在质量风险大大提高;4、开发难度和时间:商业版有完整的多款不同硬件平台的demo 提供,大大降低开发移植难度和时间。(研发人员的薪资也是成本,产品质量和推出市场的时间也是机遇与挑战)。商业版代码的研发工作量增加、后期测试难度和时间也增加。5、测试和调试配套:商业版有完整的工具链和测试方法提供,开源代码没有。完整的测试工具包括:网络组网和管理以及测试(导入EDS 文件组网并修改对应的数据,快速图形化PDO mapping )、报文分析、快速创建对象字典 生成EDS 文件、USB-CAN 卡采集数据等等。6、培训:提供一天

3、在线培训,开源代码无任何培训和技术支持7、后期延展性很好:SO-877-VP 或者SO-1063-VP 提供30多种不同MCU 平台的demo ,并且每年不断更新和增加,如果项目需要更换MCU ,可以快速移植,不需要额外的开发工作量。而开源代码没有这方面的资源。如果要做serious 的产品,一般用商业版的代码更有保障,这也是为什么很多标杆企业采用商业版代码的原因。国内运动控制行业、医疗行业、轨道交通等行业用户最广的代码供应商。德国SYS TEC的商用版代码这个代码非常大的好处在于:1、提供完全开放的代码;2、买断式的使用权限(当然,仅限本公司本地址);3、一个价格,购买三十多种MCU 的de

4、mo ,这无疑为公司的其他项目或者以后的升级提供了很多的便利。4、代码的稳定性和文档的完整,差不多20年的客户经验积累了非常多的文档和高质量的代码。5、一年免费升级(所有新平台demo 都可以拿到)可选的代码清单:SO-877-VP :支持CiA301,401协议SO-1063-VP:支持CiA301,401协议+CiA302协议(302主要指NMT manager-动态切换网络状态和管理,SDO manager-动态创建SDO 连接,动态OD 等等)插件清单:SO-1081:CiA 402协议-运动控制行业专用协议代码SO-1089:CANopen Bootloader Source Cod

5、eSO-1059:符合CiA 304 safety 规范的代码,符合IEC61508的SIL3等级。SO-1114:flying master源代码,配合SO-1063使用,符合CiA302-part2的规范。这个不指CiA302-Part6的网络冗余,它指的是同一个网络之间如果同时有几个不同的NMT master ,则可以互相切换。SO-1078:SDO Gateway源代码SO-1066:MPDO 源代码:Multiple PDO传输。SO-877-VP 或者SO-1063-VP 包括如下服务:免费培训:德国思泰研发工程师赠送一天的免费培训(主要针对CANopen 源代码的协议学习以及如何

6、上手开发,在线远程培训)。二,提供免费demo :贵司可以得到附件我们所列出的所有MCU 平台下的demo ,比如我们有STM32F107的demo ,您可以直接简单修改就可以完成移植,剩余的功能您直接参考原有的demo 修改就可以。(德国的软件开发人员编写的源代码程序都是模块化的,可读性很强)。三,买断式授权:贵司可以不限使用时间,不限开发人数,不收取年费(除非贵司要升级和技术服务),不限产品MCU 平台,不限产品种类,不收取产品的授权费用,这属于买断性的授权等等。(但是贵司的开发需要在注册地址和注册公司内部使用)四,VP 包赠送开发和调试过程中所需的多款软件:CDE 软件(负责CANope

7、n 网络管理,设备管理,PDO 映射,修改任意CANopen 设备的EDS 文件比如站地址和波特率等等),CANinterpreter 软件(负责接收/发送/保存/解析CANopen 报文,比如PDO,SDO,NMT 等)。还包括一个德国原装进口的USB-CAN 转换器。五、样例代码(可以通过support留下信息后,免费索取):四个文件包括(一般拿到正式代码的demo 后,也就只有这几个文件需要修改或检查):ex_slv.c: a simple CANopen Slave Demo according to CiA-301 with 3RPDOs and 3 TPDOs (this corr

8、esponds to our SO-877.objdict.h: Object dictionary which belongs to ex_slave.cccmmain_.c: excerpt of the file ccmmain.c (corresponds to our SO-877demo_flyma.c: a simple Demo according to CiA-301 and CiA-302 includingFlying Master (this corresponds to our SO-10631)代码是模块化的结构,可读性很强,注释很清楚,而且采用商业级的代码,研发工

9、作的继承性较好,因为采用的是统一的编程规范。采用功能模块化的结构,还有一个好处是:里面提供了很多不同的功能模块,但是您不需要把每个功能模块都加到您的项目中,只需要一些相关的,这样的话就使得您做不同的项目时很灵活,代码效率也很高。2)通过Macros 非常简单就可以创建对象字典文件,请参考附件的objdict.h3)可自由选择需要调试的部分-针对输出4)代码是包括LSS (Layer Setting Services)的,这个可以用于修改任何一个标准的CANopen 节点的通讯地址和波特率等,使得您开发的设备不仅可以通过外设的拨码开关等设置,还可以通过支持LSS 的软件设置。六,节省开发周期,提

10、高代码质量,代码量少 优化性能高,提供一年免费升级和技术支持服务:我们有个深圳的客户(做运动控制)在不懂CANopen 协议的基础上,在我们的demo 上用STM32 F103 开发了IO 接口,用时是五天,开发完所有的功能并完成了一致性测试的。这个源代码是德国的,至今已经销售将近20年,在全球有非常多的客户,这些都从侧面反映了代码的稳定性和质量。有demo 则大大减少了开发的难度,提高了开发效率,加快了产品上市时间。SO-877-VP 或者SO-1063在源代码安装之后,一般会有8个文件夹,如下图:我们可以按顺序进行一一介绍:一、ccm 主要是与CCM 相关的函数,这里的包含了CCM 层的接

11、口函数读写,API 的封装,波特率的设置,CAN 外部控制器等等。二、cdrv ,里面放着三种类型的函数,分别为bdi 开头的波特率设置,cci 开头的外部CAN 控制器,以及cdrv 开头的是芯片自带CAN 控制器的驱动源程序。 2.1其中,在以bdi 开头的程序里面是晶振波特率的计算,其中已经定义了从6M 到100M 的晶振记算,当然如果从中没有找到相应的波特率,也可以根据我们已有的格式和功能函数,由客户自己来定义,如下图是6M 的例子: 2.2 cci 开头的外部CAN 控制器,定义了不同外部CAN 控制器的功能函数。2.3 以cdrv 开头是一些芯片自带CAN 控制器的驱动源程序, 里

12、面都是CAN 消息处理。CAN 的数据接收到以后,就是通过这些API 接口函数,直接提交给协议栈的。因为是基于Linux 的,所以我们会看到一些Linux 的进程。可以参照cdrv.h 进行讲解。三、Copstack 协议栈可以先跳过不讲,这里面主要根据CiA301规范的CANopen 协议栈的内容。四、objdicts 对象字典: 客户可以在里面选择与自己对象字典功能相近的,然后再其基础上进行修改,而不需要用户重新全部定义。例如,ds401_7p就是7个PDO 的;ds401_2axis为2轴的。 当创建对象字典的时候,我们可以看到是从索引0x1000开始定义的,一般都是从OBD_BEGIN

13、开头,以OBD_END结束完成整个定义,具体里面索引和子索引后面的0x05、0x07是什么意思,我们不用去记,可以通过查手册找到相关的定义。同时在这里定义的是对象字典的结构,保证对象字典的通用性。 如果要做一个对象字典,需要关注的是obdcfg.h 和objdict.h 两个文件。obdcfg.h 是对象字典的配置文件。 五example 与target 、其中example 是完成不同功能的例子,在target 文件夹下的这么多硬件平台,都只是实现 一个功能,如一个主站或者从站;而在examples 下我们看到的函数,ex_mst.c的功能是支持主站一个instance 的,而ex_mst_

14、2inst.c是支持主站2个instance, 就是指支持两个CAN 接口的。如果先前是只有一个inst 的,需要实现两个inst ,可以通过加载ex_mst_2inst.c,删掉ex_mst.c。 六、project 也是Demo 样例,是先前进行一次源代码的大更新,这样是为了有更好的延用性, 以前比较旧的样例平台文件并没有删除,而是放在project 下,现在新的文件都会放在target 目录下面,同时会不断更新。 SYS TEC CANopen Source CodeSupported Target Platforms SYS TEC pcNetCANSYS TEC USB-CANmod

15、ul seriesSYS TEC CAN-Ethernet GatewayPEAK PCAN-PCIPEAK PCAN-USBPEAK PCAN-DongleTews Technologies TPMC 816ESD GmbH PMC/331KEIL Vision (C51 V7.xKEIL Vision (C166 V4.xKEIL Vision (ARM V2.0KEIL Vision (RealView ARMTASKING CC51TASKING CC166TASKING CCM16CFujitsu Softtune FFMC-16Microsoft Visual C+ 5.0Micr

16、osoft Visual C+ 6.0eMbedded Visual C+ 4.0Code Composer StudioMetrowerks CodeWarriorADS (Arm Developer SuiteGNU toolchainParadigm Beck EditionCode Red Tech - LPCXpressoeCosPRO ToolchainMPLABwithout OSLinux eCos PXROS MS-DOSMS Windows 9x/ME/NT/2000/XPMS WinCE 4.2*VxWorks CMX * Realized as custom-speci

17、fic adaptation广州虹科电子科技有限公司CANopen 源代码2013年到2015年9月29号之间的升级情况和记录:Latest changes:- New demo added in SO-1059 (Safety Add-on for Texas Instruments RM42. - New demo added in SO-877 for STMicroelectronics STM32F407. - New demo added in SO-1063 for STMicroelectronics STM32F407- Software changed: The file

18、ccmwin32.c is ready for 64 Bit Windows now. - New demo added in SO-1059 (Safety Add-on for Texas Instruments RM48.- New feature: New demo added in SO-877 for STMicroelectronics STM32F107 using SeggerembOS and IAR Workbench.- New feature: New demo added which shows the handling with the object 0x1029

19、 Error Behavioraccording to the CiA-301 standard.- New feature: Now the SDO gateway supports SDO access to the own OD on remote network. - New feature: Support of Xilinx ZYNQ7000 - based on and for Enclustra Mars ZX3 with eCos OS- New feature: Flying Master implemented according to CiA-302 part 2. I

20、t is available for SO-1063and is installed as Add-on.- New feature: SDO gateway implemented according to CiA-302 part 7. It is available for SO-877 andSO-1063and is installed as Add-on.- New feature: New demo project for explorer-16-PIC32 added with 2 instances - New feature: Support of the new TEWS

21、 CAN card driver V2.x in cdrv_tdrv011.c. - New feature: 64Bit version of SYS TEC wrapper cdrvwrap64.dll added. - New feature: Support of TIs AM335X with GNU compiler- New feature: Support of Microchips PIC32 with MPLAB X compiler- New feature: Demo with Linux Socket CAN driver added - New feature: CAN driver for Renesas RX62T added- New feature: SDO Gateway implemented according to CiA-302 part 2.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1