AWorks编程——多任务服务的CAN通讯

ZLG致远电子
关注

 CAN接口配置

由于CAN总线的高效率、高可靠性、低成本等特点,CAN总线已被已被广泛应用于各电子领域。

在AWorks中已将CAN总线通讯做了完善的处理,预留了丰富的接口供用户使用,用户无需进行CAN总线底层代码的编写,只需调用接口实现功能逻辑抓取数据即可,方便用户快速使用CAN总线,预留接口部分如图2.1所示。

图2.1 CAN预留接口

更多接口可以参考AWorks标准API参考手册V1.01

1、CAN配置

每一个外设在AWorks中都有对应例程,比如GPS、GPRS、CAN、IIC、LCD、RTC等,用户可自行上https://www.zlg.cn官网自行下载SDK包,demo_can.c在SDK包examplesperipheralcommoncan目录下,将例程文件加入到工程后进行CAN的配置,步骤如下:

外设使能

在工程文件中有一个工程参数配置文件:aw_prj_params.h,可在该文件里进行硬件裁剪、组件裁剪、资源配置等,在M1052核心板中提供两路CAN供客户使用,此处使能CAN1,程序清单如2.1所示。

程序清单2.1 CAN1使能

硬件参数配置确认

CAN1硬件参数配置文件在工程目录user_configwbl_hwconf_usrcfgwbl_hwconf_imx1050_flexcan1.h下,硬件参数包含了CAN所使用的引脚、接收数据大小等,最终由一个结构体将数据打包传入底层,原型如程序清单2.2所示。

程序清单2.2 硬件设备信息

 应用程序

在外设使能完成、硬件配置参数确认完成后,查看demo_can.c应用程序,部分代码如程序清单3.1所示。

程序清单3.1 部分代码

在程序清单3.1中,使用了任务管理、互斥信号量、消息队列实现数据的自发自收,程序中概念可参考AWorks简介下的多任务服务、信号量、消息队列小节。

 软硬件连接与软件设置

1、硬件连接

本例程所用产品由广州致远电子电子有限公司制造,开发板型号:M105x-EV-Board,CAN分析仪:USBCAN-2E-U,信号转换器:AP-UART-CAN,如图4.1所示。

图4.1 硬件图

实物连接图如图4.2所示。

图4.2 实物连接图

如图4.2所示,硬件线路连接在图中已经标出,选用AP-UART-CAN是因为M105x-EV-Board开发板中没有CAN信号隔离收发器,因而需要外接CAN信号隔离收发器。

其中CAN分析仪有两路CAN通道——CAN0和CAN1,AP-UART-CAN信号转换器具有7路串口(4路485和3路232)和2路CAN电气隔离信号转换通道。

2、软件配置

在连接完成硬件后,配置CAN数据收发软件,图中所用工具为CANTest,如图4.3所示,可以在官网自行搜索下载。

图4.3 CANTest

打开CANTest默认选择确认,如需修改,客户自行选择,如图4.4所示。

图4.4 CANTest启动界面

完成启动后选择设备,如图4.5所示,点击左上角选择设备,会出现一串设备列表信息,选择USBCAN-2E-U,如果是其他设备,则选择对应设备名称,ZLG致远电子所有的CAN分析仪都被包含在该列表里。

图4.5 选择设备信息

完成设备选择后,自动弹出打开设备选项,默认设备索引号0,选择CAN通道0,波特率500K,如有不同用户自行修改,点击确定,如图4.6所示。

图4.6 通讯参数设置

点击确定并启动CAN,会自动弹出滤波设置,选择默认即可,无需滤波,如需要滤波设置,自行选择滤波模式以及滤波帧,如图4.7所示。

图4.7 滤波设置

默认选择接收所有数据,点击确定,CANTest软件配置完成,可在基本操作处设置要发送的数据,显示界面如图4.8所示。

图4.8 配置完成界面

在软硬件设置完成后,将代码下载到开发板中,设置帧ID为0x00000001,发送数据为AA 01 02 03 04 05 06 07,接收结果如图4.9所示。

图4.9 发送接收结果

在图4.9中可见,数据发送与接收一致。在AWorks中使用使用CAN通讯,只需调用预留接口、配置些许参数、连接硬件设置软件即可获取数据,省去了调试大量CAN参数的时间(如波特率配置),而使用优先级、信号量、消息队列可以保证在使用CAN时数据不被其他任务数据干扰。

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存