多语言展示
当前在线:805今日阅读:86今日分享:14

CANopen IO芯片使用方法

虹科的CO4017 CANopen IO芯片旨在帮助用户快速地开发自己的CANopen IO模块。传统模式下,用户需要开发一个CANopen的IO模块的话,往往需要在自己的MCU中移植开源或者商业的CANopen协议栈。这一过程对于开发IO模块来说过于复杂,此时我们就可以使用这种硬件芯片的形式来实现。CANopen IO芯片中已经集成了CANopen的协议栈,并且预留了相应的模拟/数字IO接口引脚,用户可以实现把芯片集成到自己的现有板子上,而不需要对板子做出过多的修改,即可在原来的设备上实现CANopen接口。除了提供CANopen IO芯片之外,该系列产品还提供有一个CO40xx-EVA评估板,用户可以在自己的硬件还没有成型的情况下先熟悉该IO芯片,并参考评估板涉及自己的硬件。本示例将通过该评估板来演示CO4017芯片的使用方法,并熟悉CANopen协议中SDO和PDO的使用方法。
工具/原料
1

CO4017 CANopen芯片1个(带8DI、8DO、8AI和8PWM)

2

CO40xx-EVA开发板1块(CANopen芯片评估板)

3

PCAN-USB抓包设备1个(抓包CANopen报文并在PC端显示)

4

SYSTEC CANopen Device Explorer软件(CANopen配置软件,下简称CDE,作为模拟主站)

5

Pico示波器1台(显示PWM波形)

6

PicoScope 6软件(Pico示波器的PC端软件,示波器设置和显示波形)

7

电脑1台(安装PCAN-USB及Pico示波器的驱动和相关软件)

8

12V直流电源1个(开关电源或模组电源)

9

连接器及连接线若干

方法/步骤
1

测试平台框架如下图所示,PC端通过PCAN-USB设备连接到评估板;PC端CDE软件加载CO4017芯片的EDS文件之后可以直接发送CANopen报文,控制CANopen芯片产生特定频率和占空比的PWM波形;示波器则可以采集该PWM波形,并在PC端软件上显示出来。

2

将CO4017芯片插到EVA评估板的插槽当中,如下图所示,注意引脚的顺序,可以参考简介中的产品示意图。除此之外,评估板上还分布了4组输出引脚和4组LED灯,我们可以直接通过这些引脚输入/输出电平,也可以通过LED灯观察是否有实际输出。

3

上电前通过拨码开关设置芯片的波特率和节点ID。评估板上设置有2组拨码开关,其中第1组的前3位为设置CANopen的波特率;第2组的第1位为使能CAN终端电阻,后7位为设置CANopen的节点ID。这里我们设置的波特率500kbit/s,节点ID为4,如下图所示Q-2861917479。

4

通过PCAN-USB把开发板的CAN口连接到PC端,其中开发板上的CAN端是DB9接头,连接到PCAN-USB的DB9接头;PCAN-USB的USB端连接到电脑上。

5

在CDE软件中加载CO4017芯片的EDS文件,步骤如下图所示。EDS文件是CANopen的设备描述文件,包含一个CANopen从站的所有对象条目,用户可以通过这个EDS文件来了解这个产品的功能和操作方法;同时它也可以用于CANopen配置软件的组态功能(比如我们这里使用的CDE软件)。

6

设置连接选项,连接到PCAN-USB设备,步骤如下图所示。

7

评估板上电,此时可以在CDE软件端收到CANopen芯片发出的Boot-Up报文,表示该设备已经能够正常运行。

8

通过SDO配置CO4017芯片,主要是配置CANopen的通讯参数和PWM波形参数。这里我们使用默认通讯参数;PWN波形参数主要涉及到图3.7中的几个对象条目,对象0x5100设置使能模拟输出引脚输出PWM波形,0x5101设置使用数字输出的对象条目控制PWM输出的开和关,0x5402控制PWM分频系数,0x5403控制PWM的倍频系数(0x5402和0x5403共同可以从芯片的基频获得PWM的频率),0x5404设置PWM波形的分辨率(涉及的后面占空比是设置)。这几项参数可以通过CANopen的SDO服务来进行设置。

9

发送“Start-Up”报文配置设备进入OP状态,进入OP状态之后就可以尝试通过PDO来控制输出端口产生PWM波形。查询产品的EDS文件后确认需要发送下列PDO报文,前者控制PWM输出端口开启,后者控制PWM波形的占空比。PDO发送完成之后可观察到设备的OUT0输出指示灯亮起,此时可以通过示波器在相应的引脚测得相应的波形。

10

实际测试得到的PWM波形如下图所示,因为该芯片的输出引脚默认输出为高电平,所以实际我们设置的占空比为10%、20%和30%;频率主要是0x5402和0x5403这两个对象条目来设置的,此处可以参考手册来计算。

注意事项

建议采用稳定的直流电源给模块供电,否则输出的PWM波形会被供电电源的波动干扰到。

推荐信息