默认时CAN模块被禁止,因此在调用任何其他的CAN函数前,必须要先调用CANInit()函数。这样就能在使能CAN总线上的控制器前把薄膜电感器报文对象初始化到一个安全的状态。同样,在使能CAN控制器前,必须对位时序值进行编程。在位时序值被编程为一个适当的值时,应该要调用CAN总线的CANSetBitTiming()函数。一旦调用完这两个函数,就可使用CANEnable()将CAN控制器使能,如有需要,稍后可使用CANDisable()将其关闭。调用CANDisable()并不会重新初始化一个CAN控制器,因此可以使用它来暂时把CAN控制器从总线上移除。
CAN控制器具有很高的可配置性并且包含32个报文对象,在某些条件下这些报文对象能被编程为自动发送绕行电感和接收CAN报文。报文对象允许应用程序自动执行一些操作而无需与微控制器进行交互。
以下是这些操作的一些范例:
①立即发送一个数据帧;
②当在CAN总线上发现一个正在匹配的远程帧时,发送一个数据帧;
③接收一个特定的数据帧;
④接收与某个标识符样式匹配的数据帧。
为了把报文对象配置成可以一体成型电感器执行这些操作中的任何一个操作,应用程序必须首先要使用CANMessageSet()来设置32个报文对象中的其中一个。这个函数能把一个报文对象配置成可以发送数据或接收数据。每一个报文对象可以被配置成在发送或接收CAN报文时产生中断。
当从CAN总线接收到数据时,应用程序可以使用CANMessageGet()函数读取到所接收到的报文。同样,该函数也能读取这样一个报文:在改变报文对象的配置前,报文已被配置以便定位一个报文结构。使用这个函数读取报文对象,将会清除任何报文对象中正在挂起的中断。
一旦已使用CANMessageSet()来完成对一个报文对象的配置,那么此函数分配报文对象并继续执行其编程功能,除非通过调用ANMessage-Clear()将其释放。在对报文对象进行新配置前,无需请求应用程序清除报文对象,因此每次调用CANMessageSet()时,它将会覆盖任何之前被编程的配置。
32个报文对象是相同的,优先级除外。最小编号的差模电感器报文对象具有最高的优先级。优先级以两种方式影响操作:第一种,如果在同一时间准备好多个操作,那么具有最高优先级的报文对象将会首先发生;第二种,多个报文对象正在挂起中断时,如果读取中断状态,则具有最高优先级的报文对象首先出现。由应用负责把32个报文对象作为一个源来管理,并确定分配和释放它们的最佳途径。
CAN控制器在下列条件下能够产生中断:
①当任何一个报文对象发送一个报文时;
②当任何一个报文对象接收一个报文时;
③满足警告条件,如一个错误计数器达到了限值,或出现多个总线错误时;
④满足控制器错误条件,如进入总线关闭状态时。
图3是CAN总线节点的软件流程。其中的对象就是一组数据的信息,包括下面结构体的信息:

其中,ulMsglD用作11或29位标识符的CAN报文标识符;ulMsgIDMask为在使能标识符过滤器时所使用的报文标识符屏蔽;ulFlags保存多个状态标志和tCANObjFlags所指定的设置;ulMsgLen是报文对象中的数据字节数;pucMsgData是指向报文对象的数据的指针。
此结构是对与CAN控制器中一个CAN报文对象相关的项目进行的压缩。可以直接将这个对象的信息填充,即进行对象的赋值工作。下面的代码是程序中CAN接口部分的初始化部分:

上面的这些函数都已经通过提供的API函数完成工作,CANConfigureNetwork函数要自己编写,代码如下:

这里仅仅是对前文介绍的对象进行赋值,是将系统中真正用到的对象配置成我们需要的对象(包括是发送还是接收)。此处鉴于篇幅只给出了两个对象,一个用于发送数据,一个用于接收数据。上面的函一体电感数设置好后就可以通过CAN中断控制器来接收和发送数据。上述程序代码在Keil C3.78版本上调试编译通过,并且已经成功用于产品中。
结语
本文介绍的CAN总线接口节点设计方案实现非常方便,硬件电路简单,软件设计模块化,可以应用此方案设计实用的系统。本文的接口就是称重仪表的一部分,可以直接将仪表与传感器组成的称重系统接入现有的分布式网络中。
耦合电感
LA4461N功放电路
LA4461N功放电路
你用 iPhone 吗?你用 Android 吗?你的手机里有电子设计用的软件吗?在 APP Store 或者安卓市场,搜索 DAKA,可以免费 高侧电流采样零位漂移121.PNG (39.66 KB, 下载次数: 6)下载附件2020-5-15 17:41 上传我用了这样一个高侧电流采样电路采样电阻上的电压大于0.6V的时候输出很准但是当采样电阻上的电压小于0.6V的 利用非传统的理念显着提高手机效率 我的一个客户是专门设计和生产手机的企业,这个行业的竞争非常激烈,客户有许多严苛的要求,其一重点是电池寿命;而另一要求是手机尺寸,这两者都必须经过优化,同时手机的成本也必须尽量减小。这种要求使设计人员
2/3 首页 上一页 1 2 3 下一页 尾页 |