当前位置: 首页 > news >正文

建筑模型设计网站建设最新的销售平台

建筑模型设计网站建设,最新的销售平台,wordpress 数据库配置文件,黄江网站建设是什么? 汽车工程师的总线协议为什么? 1980年代初期,由于没有可满足汽车工程师的总线协议,人们开始开发新的串行总线在底特律举行SAE会议上CAN总线诞生,称之为Automotive Serial Controller Area Network怎么做? 核心本质 两根线上特殊电平的特殊协议张嘴显性电平‘0’,…

是什么?

  • 汽车工程师的总线协议

为什么?

  • 1980年代初期,由于没有可满足汽车工程师的总线协议,人们开始开发新的串行总线
  • 在底特律举行SAE会议上CAN总线诞生,称之为Automotive Serial Controller Area Network

在这里插入图片描述


怎么做?


核心本质

  • 两根线上特殊电平的特殊协议
  • 张嘴显性电平‘0’,闭嘴隐形电平‘1’
  • 头是识别头,身是控制端加数据段,尾是识别尾
  • CANFD 数据多 CRC多 速度快

电平定义

两个ISO标准

  • CAN ISO11898 标准和 ISO11519-2 标准
    • ISO11898 是针对通信速率为 125Kbps~1Mbps 的高速通信标准
    • ISO11519-2 是针对通信速率为 125Kbps 以下的低速通信标准

在这里插入图片描述

在这里插入图片描述

张嘴是嘴巴形状是显性电平,闭嘴如横着的隐性电平

在这里插入图片描述


CAN帧类型

在这里插入图片描述

数据帧

  • 数据帧一般由 7 个段构成

传统CAN

在这里插入图片描述

CAN-FD

在这里插入图片描述

仲裁段

在这里插入图片描述

控制段

在这里插入图片描述

DLC

在这里插入图片描述

CRC

在这里插入图片描述

ACK

在这里插入图片描述

在这里插入图片描述

错误帧

在这里插入图片描述

总结

  • 开始了SOF
  • 我是谁ID
  • 我要告诉你几件事DLC
  • 下面是具体事情DATA
  • 这是几件事验证码CRC
  • 你知晓了事情给我回信ACK
  • 结束EOF

Tq采样点

CAN位时序

在这里插入图片描述

在这里插入图片描述

STM位时序

在这里插入图片描述


仲裁功能

  • 当多个单元同时开始发送时,各发送单元从仲裁段的第一位开始进行仲裁。连续输出显性 电平最多的单元可继续发送

在这里插入图片描述


过滤器(屏蔽位、标志位)

在这里插入图片描述

  • CANFD支持:
    • 范围过滤器(Rangefilter):该过滤器匹配标识符在两个ID定义的范围内的所有消息。
    • 专用ID的过滤器(Filter for dedicatedIDs):可以将过滤器配置为匹配一个或两个特定的标识符。
    • 经典位屏蔽过滤器(classic bit mask filter):通过对接收到的标识符的位进行屏蔽来匹配标识符组。

STM流程控制

STM发送流程

在这里插入图片描述

在这里插入图片描述


STM接收流程

在这里插入图片描述


STM- TJA1050

在这里插入图片描述


STM 代码

  • STM32F429 提供了两种测试模式,环回模式和静默模式
CAN_HandleTypeDef CAN1_Handler; //CAN1 句柄
CanTxMsgTypeDef TxMessage; //发送消息
CanRxMsgTypeDef RxMessage; //接收消息
CAN_FilterConfTypeDef CAN1_FilerConfHAL_StatusTypeDef HAL_CAN_Init(CAN_HandleTypeDef* hcan);
void HAL_CAN_MspInit(CAN_HandleTypeDef* hcan);//回调函数
HAL_StatusTypeDef HAL_CAN_ConfigFilter(CAN_HandleTypeDef* hcan, CAN_FilterConfTypeDef* sFilterConfig);
HAL_StatusTypeDef HAL_CAN_Transmit(CAN_HandleTypeDef* hcan, uint32_t Timeout);
HAL_StatusTypeDef HAL_CAN_Receive(CAN_HandleTypeDef* hcan, uint8_t FIFONumber, uint32_t Timeout);
u8 CAN1_Mode_Init(u32 tsjw,u32 tbs2,u32 tbs1,u16 brp,u32 mode)
{CAN_FilterConfTypeDef CAN1_FilerConf;CAN1_Handler.Instance=CAN1; CAN1_Handler.pTxMsg=&TxMessage; //发送消息CAN1_Handler.pRxMsg=&RxMessage; //接收消息CAN1_Handler.Init.Prescaler=brp; //分频系数(Fdiv)为 brp+1CAN1_Handler.Init.Mode=mode; //模式设置CAN1_Handler.Init.SJW=tsjw; //重新同步跳跃宽度CAN1_Handler.Init.BS1=tbs1; //tbs1 范围 CAN_BS1_1TQ~CAN_BS1_16TQCAN1_Handler.Init.BS2=tbs2; //tbs2 范围 CAN_BS2_1TQ~CAN_BS2_8TQCAN1_Handler.Init.TTCM=DISABLE; //非时间触发通信模式CAN1_Handler.Init.ABOM=DISABLE; //软件自动离线管理CAN1_Handler.Init.AWUM=DISABLE; //睡眠模式通过软件唤醒CAN1_Handler.Init.NART=ENABLE; //禁止报文自动传送CAN1_Handler.Init.RFLM=DISABLE; //报文不锁定,新的覆盖旧的CAN1_Handler.Init.TXFP=DISABLE; //优先级由报文标识符决定if(HAL_CAN_Init(&CAN1_Handler)!=HAL_OK) return 1; //初始化 CAN1CAN1_FilerConf.FilterIdHigh=0X0000; //32 位 IDCAN1_FilerConf.FilterIdLow=0X0000;CAN1_FilerConf.FilterMaskIdHigh=0X0000; //32 位 MASKCAN1_FilerConf.FilterMaskIdLow=0X0000; CAN1_FilerConf.FilterFIFOAssignment=CAN_FILTER_FIFO0;//过滤器 0 关联到 FIFO0CAN1_FilerConf.FilterNumber=0; //过滤器 0CAN1_FilerConf.FilterMode=CAN_FILTERMODE_IDMASK;CAN1_FilerConf.FilterScale=CAN_FILTERSCALE_32BIT;CAN1_FilerConf.FilterActivation=ENABLE; //激活滤波器 0CAN1_FilerConf.BankNumber=14;
if(HAL_CAN_ConfigFilter(&CAN1_Handler,&CAN1_FilerConf)!=HAL_OK) return 2;
//滤波器初始化return 0;
}

//CAN 底层驱动,引脚配置,时钟配置,中断配置
//此函数会被 HAL_CAN_Init()调用
//hcan:CAN 句柄
void HAL_CAN_MspInit(CAN_HandleTypeDef* hcan)
{GPIO_InitTypeDef GPIO_Initure;__HAL_RCC_CAN1_CLK_ENABLE(); //使能 CAN1 时钟__HAL_RCC_GPIOA_CLK_ENABLE(); //开启 GPIOA 时钟GPIO_Initure.Pin=GPIO_PIN_11|GPIO_PIN_12; //PA11,12GPIO_Initure.Mode=GPIO_MODE_AF_PP; //推挽复用GPIO_Initure.Pull=GPIO_PULLUP; //上拉GPIO_Initure.Speed=GPIO_SPEED_FAST; //快速GPIO_Initure.Alternate=GPIO_AF9_CAN1; //复用为 CAN1HAL_GPIO_Init(GPIOA,&GPIO_Initure); //初始化#if CAN1_RX0_INT_ENABLE__HAL_CAN_ENABLE_IT(&CAN1_Handler,CAN_IT_FMP0);//FIFO0 挂起中断允许.HAL_NVIC_SetPriority(CAN1_RX0_IRQn,1,2); //抢占优先级 1,子优先级 2HAL_NVIC_EnableIRQ(CAN1_RX0_IRQn); //使能中断
#endif
}
#if CAN1_RX0_INT_ENABLE //使能 RX0 中断
//CAN 中断服务函数
void CAN1_RX0_IRQHandler(void)
{HAL_CAN_IRQHandler(&CAN1_Handler);//此函数会调用 CAN_Receive_IT()接收数据
}

//CAN 中断处理过程
//此函数会被 CAN_Receive_IT()调用
//hcan:CAN 句柄
void HAL_CAN_RxCpltCallback(CAN_HandleTypeDef* hcan)
{int i=0;
//CAN_Receive_IT()函数会关闭 FIFO0 消息挂号中断,因此我们需要重新打开__HAL_CAN_ENABLE_IT(&CAN1_Handler,CAN_IT_FMP0);
//重新开启 FIF00 消息挂号中断printf("id:%d\r\n",CAN1_Handler.pRxMsg->StdId);printf("ide:%d\r\n",CAN1_Handler.pRxMsg->IDE);printf("rtr:%d\r\n",CAN1_Handler
http://www.cadmedia.cn/news/15440.html

相关文章:

  • 昆山建设工程招标网站短视频seo软件
  • 网站及数据库怎么做后门小程序开发费用一览表
  • 免费自助建站网站一览推动高质量发展
  • 重庆门户网站排名排行榜软件
  • 建零售网站还是关键词搜索查询
  • 中国品牌加盟网推广学院seo教程
  • 措勤网站建设长尾关键词挖掘站长工具
  • 吉林省现代交通建设有限公司官网站最好用的磁力搜索器
  • 创建网站的步骤是搜索引擎的工作原理分为
  • 自助网站建设怎么建设外贸营销推广
  • 公司网站有中文域名吗百度联盟注册
  • 深圳网络专科网站建设seo网站优化技术
  • 龙岩做网站设计公司优化seo公司哪家好
  • 潍坊青州网站建设每日精选12条新闻
  • 长治网站建设企业管理咨询
  • 广告设计公司宣传语杭州seo联盟
  • 做暧嗳网站东莞网站seo公司哪家大
  • 网站建设的静态网页作业宁波网站建设公司哪家好
  • 制作手游需要学什么软件重庆seo公司排名
  • 做网站维护的是什么人公司网站seo公司
  • 教育平台型网站建设建站之星官网
  • 个人网站设计论文下载搜索量最大的关键词
  • 东方网景做网站怎么样怎么在百度发布个人简介
  • 企业做网站的公司有哪些如何进行网站推广
  • 如何高效率的建设网站seo建站是什么意思
  • 上海地区网站建设长沙官网seo服务
  • 石家庄网站seo优化杭州网站优化多少钱
  • 班级网站建设流程步骤百度明星人气榜
  • 焦作网站建设设计百度小说排行榜2020前十名
  • 档案网站建设优秀代表百度数据指数