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

北京网站推广排名如何备份网站的

北京网站推广排名,如何备份网站的,网页视频下载慢怎么办,google推广 的效果文章目录 一.CAN协议的基本特点1.1 特点1.2 电平标准1.3 基本的五个帧1.4 数据帧 二.数据帧解析2.1 帧起始和仲裁段2.2 控制段2.3 数据段和CRC段2.4 ACK段和帧结束 三.总线仲裁四.位时序五.STM32CAN控制器原理与配置5.1 STM32CAN控制器介绍5.2 CAN的模式5.3 CAN框图 六 手册寄存… 文章目录 一.CAN协议的基本特点1.1 特点1.2 电平标准1.3 基本的五个帧1.4 数据帧 二.数据帧解析2.1 帧起始和仲裁段2.2 控制段2.3 数据段和CRC段2.4 ACK段和帧结束 三.总线仲裁四.位时序五.STM32CAN控制器原理与配置5.1 STM32CAN控制器介绍5.2 CAN的模式5.3 CAN框图 六 手册寄存器部分讲解6.1 DBF冻结功能和TTC时间戳6.2 ABOM自动离线管理和AWUM自动唤醒6.3 NART自动重传RFLM锁定模式和TXFP报文发送优先级的判断方法6.4 波特率设置6.5 发送邮箱6.6 接收FIFO6.7 验收筛选器 七.CAN的结构体设置讲解7.1 结构体总结7.2 初始化结构体7.3 发送结构体7.4 接收结构体7.5 筛选器结构体 八.CAN的原理图和接线 一.CAN协议的基本特点 1.1 特点 1.2 电平标准 总结就是显性电平是0隐性电平是1很多单元设备挂在主设备上时主单元是相当于总线其他单元只要有一个输出0总线就显示0只要其他单元全部输出1总线就是1 1.3 基本的五个帧 这里最重要的是数据帧也是最复杂的 1.4 数据帧 串口的一帧率是10-11位起始位数据位8位(一字节)(校验位)停止位,而CAN的一帧是七个段组成的如下图所示帧起始就是跟串口起始位一样仲裁段是表示优先级也就是ID控制段如下图一帧数据段最多发送8字节(64位)CRC段就是检查上面的所有段有没有错误ACK表示收到了正确的段帧结束就是相当于串口的停止位。 二.数据帧解析 2.1 帧起始和仲裁段 帧起始是一位显性电平0然后到11位的仲裁段(看蓝色区域高低电平看ID号高位在前低位在后这里ID11位的话高7位是不能都是隐形电平1)然后仲裁段后面跟了一个RTR远程请求位0或者1和一个IDE标识符选择请求位0(这里没有显示出来因为在控制段里面了)RTR如果是0就是数据帧数据帧的意思就是后面的数据段是有数据的如果是1表示这是一个远程帧远程帧的意思就是后面的数据段是不存在的DLC控制段也是0的远程帧用于请求其他节点发送数据帧。上面说的仲裁位都是标准格式如果需要扩展在仲裁位的基础下把原来的RTR替换成SRR替代远程请求位1IDE变成扩展标识符1。 2.2 控制段 标准格式下IDE就是上面说的在控制段里面为0然后就是R0发送的话必须是0接受的话可以是1再加上控制段DLC(0—8位)扩展格式下先r1和r0两个保留位也是发送必须是0接受可以是1再加上DLC控制端(0—8位)。 2.3 数据段和CRC段 (1).数据段的标准格式和扩展格式是一样的都是0-64位然后数据段是从最高位(MSB),开始输出的跟串口不一样串口是低位(LSB)先输出而CAN是高位先输出的。 (2).CRC段也是标准格式和扩展格式一致都是15位加上一位CRC界定符(用于分隔的位)CRC计算方法就是帧起始仲裁段控制端数据段最后校验得到这个。 2.4 ACK段和帧结束 (1).ACK段的标准格式和扩展格式是一致的ACK段分为ACK槽和ACK界定发送单元发给接受单元的数据没有错后(CRC检测没有错误以后)发送单元会接受到接受单元发送的发送单元ACK段11发送单元接受到了接受单元发的ACK后会有一个响应就是接受单元ACK段0。 (2).帧结束的标准格式和扩展格式是一样的由于7个位的1组成。 三.总线仲裁 (1).必须同时两个或者两个以上的单元发送数据给主单元才能进行仲裁(优先级)在总线空闲时最先发送的单元获得发送权或者同时发送时则连续输出0(ID)多的单元则优先发送,如果ID一样则比较RTR和SRR等位。 (2).例如下图单元1和单元2同时发送单元1在红色位置时发送1而单元2还是发送0所以单元1从下一位开始就进入接受状态单元2优先发送。 四.位时序 (1).位时序就是设置波特率(传输速度)位速率就是一个发送单元发送每秒的位数叫做位速率(传输速度)位速率又分成四个段(如下图一)CAN协议把每个数据位(数据位就是例如串口里面那个起始位数据位什么的)都分解成了四段每个段又由若干个Tq的最小时间单位构成然后我们想设置波特率的话就要知道位时间(传输每位的时间)想设置位时间的话就要知道波特率位时间1/波特率。 (2).四个段如图二进行解析。 (3).同步段就是有多个连接在总线上的单元通过此段进行时序调整来同时发送和接受数据时序都是1到0的一个下降沿或者0到1的一个上升沿如图三,这些跳变作为时间基准用于进行时钟同步和数据位的采样,为1Tq。 (4).传播时间段就是总线上的信号传播延迟接收单元的输入延迟和发送单元的输出延迟这个传播时间段的时间为总线上的信号传播延迟接收单元的输入延迟和发送单元的输出延迟的时间的和的2倍通常是1—8Tq。 (5).相位缓冲段1的作用是当信号边沿不能被包含于同步段中时可以用它来进行补偿通常为1-8Tq。 (6).相位缓冲段2的作用就是各个单元以独立时钟工作时细微的时钟累计起来就会造成误差它的作用就可以吸收这个误差。可以通过相位缓冲段加减SJW(SJW名为再同步补偿宽度用于时钟频率偏差传送延迟等各个单元有同步误差SJW可以补充此误差的最大值SJW不属于这四个段的为1—4Tq)来吸收误差SJW加大以后允许误差加大但是通信速度降低相位缓冲段2通常为2—8Tq。 (7).在STM32上面传播时间段和相位缓冲段1是加在一起的BS1然后相位缓冲段2是BS2就只有这两个时间。 (8).图四是位时序的构成是假设以1位10Tq的构成这个采样时间的加大或者减少的最大值就是SJW也就是SJW可以调节采样点。 (9).我们只需要设置传播时间段相位缓冲段1相位缓冲段2和SJW的值剩下的都是硬件自动去完成。 图一 图二 图三 图四 五.STM32CAN控制器原理与配置 5.1 STM32CAN控制器介绍 对于STM32F407过滤器组有28个STM32F103就有14个。 5.2 CAN的模式 (1).CAN的模式分为工作模式测试模式和调试模式工作模式又分为三个模式如图一一开始就需要初始化模式初始化后设置正常模式(CAN控制器既可以向总线发也可以接收总线的数据)就可以开始工作了睡眠模式主要用来降低功耗用的。 (2).测试模式的静默模式是指在STM32的CAN控制器中静默模式通常是指CAN控制器只接收数据而不发送数据。在静默模式下CAN控制器仍然能够接收总线上的数据帧但它不主动发送数据如图二发送端一直都处于1的状态。 (3).在图三中测试模式的环回模式可以往总线上面发送数据但是总线发送数据过来不能接收也就是他只能发送数据不能接收然后怎么知道发送成功了呢它内部有形成环路可以检测把发送的数据最后在接收端看有没有发送成功。 (4).最后在图四中是环回静默模式总线上不能发数据给它它也不能接收总线上的数据只能自己给自己发送用来测试用的很少。 图一 图二 图三 图四 5.3 CAN框图 (1).下图一中在STM32F103里面只有互联型产品才有两个CAN一个是主CAN另一个是从CAN其他的只要有一个主CAN但是在STM32F407里面就有主从CAN。 (2).在图二中主从CAN都有自己的内核(红色圈)也有各自的主从发送邮箱(蓝圈)和各自的主从接收FIFO(黄圈)都是相互独立的互不影响筛选器又称过滤器STM32F407和STM32F103互联型的才有28个两个主从CAN是共用一个过滤器的(绿圈)每个CAN的发送邮箱一共是有3个发送报文的优先级可以使用软件进行控制还可以记录发送时间然后每个CAN拥有两个3级深度的接收FIFO可以使用过滤功能只接收或者不接受某些ID号的报文可以配置成自动重发不支持使用DMA进行数据收发。 (3).在图中右下角写了一句话CAN的开始滤波器编号n是通过写入CAN FMR寄存器的CAN2SB[5:0]配置这个n是指比如n是2那你滤波器就从编号为2到27的硬件过滤器来匹配和过滤CAN消息过滤器的使用范围并不包括编号为0和1的过滤器。 (4).CAN的内核就是设置那些工作模式什么什么等等然后我们把需要发的报文发到发送邮箱存着等到总线空闲就开始发送有多个单元的话就根据优先级进行发送然后就是我们的接受FIFO总线发送给接受FIFO的数据要结果筛选器(滤波器)才能存到接受FIFO里面如果总线有很多很多数据要发送我们节点只要接受某一类的信息数据这个筛选器就可以筛选掉就不需要全部收到接受FIFO里面在进行软件筛选。 (5).然后最重要的一点就是如果你只使用从CAN控制器那也要使能主控制器的时钟因为是由主CAN控制的。 图一 图二 六 手册寄存器部分讲解 6.1 DBF冻结功能和TTC时间戳 6.2 ABOM自动离线管理和AWUM自动唤醒 6.3 NART自动重传RFLM锁定模式和TXFP报文发送优先级的判断方法 (1).在下图中的RFLM锁定模式如果不锁定每个CAN控制器有六个报文在六个报文满了以后他会继续发012345他会把0给覆盖了。 (2).然后就是下图的TXFP报文发送优先级判断比如发送邮箱012我们先存把要发的东西先存进0再存1再存2邮箱然后存进来的ID号是0的优先级最高然后到2在到1邮箱这时候我们可以控制TXFP选择是先存进来的先发送还是看ID优先级发送。 6.4 波特率设置 (1).BS1就是下图的TS1然后如果写2就等于21(Tq)BS2就等于下图的TS2也是1。 (2).一个数据位的时间时间如下图Tplk1/f这里挂载在stm32f103的APB1由于预分频系数为1所以时钟为32Mhz。 (3).N就是一个数据位的时间T1bit。 配置的流程如下图 6.5 发送邮箱 (1.)下图手册的黄线是ID号也就是STID然后IDE是标识符选择选择使用标准标识符11位还是扩展标识符29位EXID对扩展标识符写的这里没有使用就不需要使用扩展标识符对标识符寄存器中的CAN_TIxR中的TMIDxR_TXRQ置1这样子邮箱发完数据后会进行硬件清0。 6.6 接收FIFO 6.7 验收筛选器 (1).STM32F4有28组筛选器(滤波器)STM32F103有14个组筛选器每组筛选器有2个32位寄存器每个寄存器可以过滤一个ID号STM32F103最多就可以滤掉28个ID号。 (2).在图一中过滤的方法有两种一种是标识符列表模式就是要接收的报文列成一个表要求报文ID与列表中的某一个标识符完全完全相同都可以接收它设置5—7组的ID然后你发的5—7组的ID正好与接收的要求一样就可以了如果6组不一样就只接收5和7另一种是掩码模式意思就是接收报文设置几个关键字例如设置高四位是1111剩下的是xxxxxxx什么的只要你高四位是1111就可以接收。 (3).筛选长度每个筛选器组由2个32位寄存器组成然后每个筛选器组可以设置成一个32位筛选器或者两个16位筛选器然后在图二中这一个32位筛选器或者两个16位筛选器和标识符列表模式跟掩码模式又搭配成四种工作模式。 (4).一个32位筛选器和两个16位的筛选器的标识符掩码模式比如输入的ID号是10101…然后我们想要10101是关键字的话就掩码为11111然后后面的配置为0就是不需要管后面关键字就是前面的10101如图三。 (5).两个32位的筛选器的标识符列表模式2个寄存器存储的都是要筛选的ID(这里因为一个筛选器组使用32位时就只使用了一个寄存器所以这里两个寄存器就是两个筛选器组)它只包含2个要筛选的ID值然后例如筛选器组0和筛选器组1的筛选的ID是6和7的话对应的是6和7就筛选成功最后在存储进来接收FIFO里面。 图一 图二 图三 七.CAN的结构体设置讲解 7.1 结构体总结 (1).初始化结构体就是设置波特率工作模式每个位有多长构成。 (2).发送及接收结构体设置发送邮箱和接收报文FIFO。 (3).筛选器结构体可以设置筛选器过滤那些报文。 7.2 初始化结构体 (1).在图一中是初始化结构体全部的初始化。 (2).在图二中的参数是工作模式从上往下分别是正常模式环回模式静默模式环回静默模式。 (3).SJW是在文章四目录里面有记录是再同步补偿宽度设置1-4Tq如图三。 (4).BS1也是文章目录四记录参数如图四计算波特率公式也在目录六的6.4。 (4). 图一 图二 图三 图四 图五 7.3 发送结构体 (1).图一是发送结构体的成员。 (2).想要发送数据时可以调用图二的函数第一个参数是选择使用哪个CAN(主从CAN)然后发送的报文就是第二个参数——结构体成员然后发送数据时它会存进去邮箱里面然后在哪个邮箱空闲时就先存进去哪个邮箱返回值就是告诉你存进去了哪个邮箱里面——012邮箱然后还有一给发送状态的函数如图四第一个参数是选择主从CAN第二个参数是查找哪个邮箱哪个邮箱就是图二函数的返回值进行查找如果成功了这个函数会返回返回值成功或者失败(图四中)。 (3).然后发送结构体的StdId就是标准标识符ID号ExtId在手册上是扩展标识符ID号但是这里的结构体ExtId是手册上的标准标识符ID号和扩展标识符ID号加在一起了一共29位然后IDE是选择是结构体StdId还是ExtId在图三中是IDE的参数配置从上到下是标准标识符扩展标识符和标准标识符扩展标识符。 (4).RTR就是选择是数据帧还是远程帧(具体详解见目录二的2.1)然后图五从上到下的参数分别是数据帧和远程帧。 图一 图二 图三 图四 图五 7.4 接收结构体 (1).图一是接收结构体的成员 (2).如果想要接收报文就使用图二这个函数第一个参数选择主从CAN第二个参数就是选择FIFO的号—0或者1然后接收的报文就是第三个参数——结构体成员接收结构体比发送结构体多了一个FMI结构体成员FMI存储了筛选器的编号表示是本报文是是经过哪个筛选器存储进来接收FIFO的。 (3).然后怎么知道是哪个FIFO里面有数据呢就用图三的函数。 图一 图二 图三 7.5 筛选器结构体 (1).图一是筛选器结构体的成员。 (2).图二是筛选器结构体的初始化函数。 (3).在CAN_FxR1和CAN_FxR2寄存器中结构体成员CAN_FilterIdHight,CAN_FilterIdLow,CAN_FilterMaskIdHight和,CAN_FilterMaskIdLow分别对应图四的红黑黄绿。 (4).图五是剩下的结构体成员的参数设置。 图一 图二 图四 图五 八.CAN的原理图和接线 这里我们的TJA1050是收发器如果板子上面没有需要自己买一个这里我使用的是STM32f103的正点原子战舰板需要将跳线帽PA11与CAN_RX,PA12与CAN_TX连接。
http://www.w-s-a.com/news/326073/

相关文章:

  • 快递网站策划怎么做ppt长春建设信息网站
  • 做服装搭配图的网站有哪些经营一个网站要怎么做
  • 呼市品牌网站建设那家好增城住房和建设局网站
  • 网站首页布局设计代码太仓网站开发建设服务
  • 学校网站建设与管理porto wordpress模板
  • 余姚做网站公司网站建设有哪些基本流程
  • 门户网站建设的报价百度医生在线问诊
  • 北京公司注册在哪个网站浏览器打开网址404
  • 廊坊做网站公司绣花图案设计网站
  • 网站空间租用哪个好购物网站建设模板图片
  • 建设银行包头分行网站泰安网签成交量最新
  • 手机微网站与微官网现在去成都需要隔离吗
  • 学校的二级网站怎么建设深圳企业网站制作设计
  • 自己做qq头像静态的网站网站建设是属于软件开发费吗
  • 举报网站建设做网站之前的工作
  • 用QQ群做网站排名个人网站制作协议
  • 做茶叶网站的素材天津网站营销
  • 网站设计建设流程图微信端的网站开发python
  • 湖州网站seo优化网站改域名备案
  • dedecms怎么制作网站合肥电商网站开发
  • 网站开发通用流程图做flash的网站
  • 营销型网站有哪些平台网站建设藤设计
  • 网站需求分析网站建设美食网站建设多少钱
  • 有专门做网站的吗建德网站
  • 做网站要买服务器吗单页设计思路
  • 一 电子商务网站建设规划网站开发前端框架和后端框架
  • 自助网站建设系统软件自己免费建设网站
  • 百度微建站access如何与网站连接数据库
  • ppt素材免费网站网站正能量晚上免费软件
  • 个人淘宝客网站如何备案搭建一个平台要多少钱