当前位置:首页 > 单片机 > 单片机
[导读]1、 帧类型(1) 数据帧:数据帧将数据从发送器传输到接收器(2) 远程帧:总线单元发出远程帧,请求发送具有同一标识符的数据帧。/ MSGDRn4。(3) 错误帧:任何单元检测到总线错误就发出错误帧(4) 过载帧:过载帧

1、 帧类型

(1) 数据帧:数据帧将数据从发送器传输到接收器

(2) 远程帧:总线单元发出远程帧,请求发送具有同一标识符的数据帧。/ MSGDRn4。

(3) 错误帧:任何单元检测到总线错误就发出错误帧

(4) 过载帧:过载帧用于在先行和后续数据帧(或远程帧)之间提供一附加的延时。

数据帧和远程帧即可使用标准帧,也可使用扩展帧。

2、 帧格式介绍

1 数据帧

数据帧由7个不同的位场组成,即帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结束。

2 远程帧

远程帧由6个不同的位场组成,即帧起始、仲裁场、控制场、CRC场、应答场、帧结束。

3 错误帧

错误帧由两个不同的场组成。第一个场是错误标志,用做为不同站提供错误标志的叠加;第二个场是错误界定符。

4 超载帧

超载帧包括两个位场:超载标志和超载界定符。

3、 报文路由:报文的内容由识别符命名。识别符不指出报文的目的地,但解释数据的含义。因此,网络上所有的节点可以通过报文滤波确定是否应对该数据做出反应。

4、 不同的系统,CAN 的速度不同。可是,在一给定的系统里,位速率是唯一的,并且是固定的。

5、 该模块分为两个节点,NODE A和NODE B,32个对象可以通过MSGCFGHn.NODE位来分别选择将该对象分配到哪个节点。

6、 该32个报文对象只能作为接受对象或发送对象,不能在接收和发送之间转换。作为接收对象的必须在初始化的时候首先将其配置成接收对象。

7、 回环模式可方便的用于调试,ABTR.LBM = 1和BBTR.LBM = 1,使能回环模式。在回环模式下,属于节点A的对象发送的报文只能由属于节点B的对象接受,反之亦如此。

8、 报文接收时可对所接收的报文进行验收滤波,称为报文标识符验收滤波。它们分别通过仲裁寄存器(MSGARHn,MSGARLn)(ID)和验收屏蔽寄存器(MSGAMRHn,MSGAMRLn)设置实现。具体过程如下:

9、 几个结构体的说明:

(1) 该寄存器用于软件编程,说明如下

typedef struct

{

uword ; // 消息配置寄存器

ulong ulID; // 扩展标识 (29-bit)

ulong ulMask; // 标准验收屏蔽(11-bit)/扩展验收屏蔽 (29-bit)

ubyte ubData[8]; // 八个字节数据

uword uwCounter; // 当前接收对象接收到数据的帧数CAN_BFCRL或//CAN_AFCRL

}TCAN_SWObj;

uwMsgCfg一般用到低字节,各位代表的意义如下:

7 6 5 4 3 2 1 0

|-----------------------------------------------------------------------|

| DLC | DIR | XTD | NODE | RMM |

|------------------------------------------------------------------------|

(2) 每个CAN对象寄存器结构体

struct stCanObj

{

ubyte ubData[8]; // Message Data 0..7

ulong ulCANAR; // Arbitration Register

ulong ulCANAMR; // Acceptance Mask Register

uword uwMSGCTR; // Message Control Register

uword uwCounter; // Frame Counter

uword uwMSGCFG; // Message Configuration Register

uword uwINP; // Interrupt Node Pointer

uword uwCANFCR; // FIFO / Gateway Control Register

uword uwCANPTR; // FIFO Pointer

ulong ulReserved; // Reserved

};

10、 几个重要寄存器的意义:

n.RXIE报文对象接收中断使能(=10)

.TXIE----报文对象发送中断使能(=10)

(3) MSGCTRHn.MSGVAL---报文对象有效(=10)

(4) MSGCTRHn.NEWDAT---报文对象中数据已更新(=10)

(5) MSGCTRHn.MSGLST---NEWDAT仍然置位,CAN控制器已将报文保存到该报文对象中,而先前的报文丢失(=10),仅用于接受

(6) MSGCTRHn.CPUUPD---报文对象自动发送被禁止(=10);可由CAN控制器自动发送报文对象中的数据(=01)

(7) MSGCTRHn.TXRQ---CPU或远程帧请求的报文对象数据发送被挂起(=10)。报文成功发送后,TXRQ自动复位;如果存在几个有效的报文对象又挂起的发送请求,报文编号最低的报文对象将被首先发送

(8) MSGCTRHn.RMTPND---远程节点请求报文对象数据发送,但数据并未发送。当RMTPND被置位时,CAN节点控制器也置位TXRQ.

.RMM---该发送报文对象的远程监控模式被使能。带匹配标识符远程帧的标识符和DLC码被复制到发送报文对象中,以监控输入的远程帧。该位仅对发送报文有效,对接受报文无影响。

(2) MSGCFGHn.NODE---报文对象CAN节点选择,0=A,1=B

(3) MSGCFGHn.XTD-----报文对象扩展标识符,1=11位,0=29位

(4) MSGCFGHn.DIR------报文对象方向控制,0=定义该报文为发送对象,1=定义该报文为接受对象

(5) MSGCFGHn.DLC-----报文对象数据长度码

(6) MSGCFGHn.RXINP/TXINP---分别为接收/发送中断节点指针,0~7

11、 发送后一定要判断TXOK时候置位,确保在发送下一组数据之前将数据发送完成

12、 附程序:

H

#ifndef _CAN_H_

#define _CAN_H_

// The following data type serves as a software message object. Each access to

// a hardware message object has to be made by forward a pointer to a software

// message object (TCAN_SWObj). The data type has the following fields:

//

// uwMsgCfg:

// this byte has the same structure as the message configuration register of a

// hardware message object. It contains the "Data Lenght Code" (DLC), the

// "Extended Identifier" (XTD), the "Message Direction" (DIR), the "Node

// Select" and the "Remote Monitoring Mode".

//

//

// 7 6 5 4 3 2 1 0

// |------------------------------------------------|

// | DLC | DIR | XTD | NODE | RMM |

// |------------------------------------------------|

//

// ulID:

// this field is four bytes long and contains either the 11-bit identifier

// or the 29-bit identifier

//

// ulMask:

// this field is four bytes long and contains either the 11-bit mask

// or the 29-bit mask

//

// ubData[8]:

// 8 bytes containing the data of a frame

//

// uwCounter:

// this field is two bytes long and contains the counter value

//

typedef struct

{

uword uwMsgCfg; // Message Configuration Register

ulong ulID; // standard (11-bit)/extended (29-bit) identifier

ulong ulMask; // standard (11-bit)/extended (29-bit) mask

ubyte ubData[8]; // 8-bit Data Bytes

uword uwCounter; // Frame Counter

}TCAN_SWObj;

void CAN_vInit(void);

void CAN_vGetMsgObj(ubyte ubObjNr, TCAN_SWObj *pstObj);

ubyte CAN_ubRequestMsgObj(ubyte ubObjNr);

ubyte CAN_ubNewData(ubyte ubObjNr);

void CAN_vTransmit(ubyte ubObjNr);

void CAN_vConfigMsgObj(ubyte ubObjNr, TCAN_SWObj *pstObj);

void CAN_vLoadData(ubyte ubObjNr, ubyte *pubData);

ubyte CAN_ubMsgLost(ubyte ubObjNr);

ubyte CAN_ubDelMsgObj(ubyte ubObjNr);

void CAN_vReleaseObj(ubyte ubObjNr);

void CAN_vSetMSGVAL(ubyte ubObjNr);

// USER CODE BEGIN (CAN_Header,8)

//发送一帧数据

void CAN_vSend1Frame(unsigned char ObjNr, unsigned char XTD, unsigned long ID, unsigned char *DataBuf, unsigned char LEN);

//发送N个字节

void CAN_vSendDataN(unsigned char ObjNr, unsigned char XTD, unsigned long ID, unsigned char *DataBuf, unsigned char LEN);

//报文对象初始化

TCAN_SWObj Init_vSWObj(TCAN_SWObj pstObj);

//接收报文函数

void CAN_vReveiveMsgObj(ubyte ubObjNr, TCAN_SWObj pstObj);

// USER CODE END

#define CAN_SRN0INT 0x54

#endif // ifndef _CAN_H_

(2) CAN.C


#include "MAIN.H"


extern unsigned char data2[8] ;
extern unsigned char j;
extern unsigned int num;
unsigned char dataa[8] = {0x0a,0x1a,0x2a,0x3a,0x4a,0x5a,0x6a,0x7a};

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭