在can总线仲裁机制中,系统交接了35个设备,采用计数器定时查询时所需的控制线需要多少根 详解,谢谢您

版权声明:技术开源与分享求指教,求扩散欢迎交流与分享。 /tcjy1000/article/details/

      最近因为项目需要开始进行STM32 CAN总线的嵌入式程序设计,关于CAN总线也是慢慢的积累。
      关于CAN地址(标识符)问题基本上清楚了,CAN本身通过标识符来确定每个CAN节点总线上标识符不能有相同的。
      CAN是多主机的方式所有节点都可以发送数据,发送时标识符是本机的标识符,发送数据为群发方式广播方式,具体数据所有CAN节点都可以同时得到,但可以每个CAN节点可以设置CAN标识符濾波可设置只接收需要的节点的数据,设置后由硬件完成筛选这样优于485单主机的主从传输总线传输方式,物理上采用差分信号传输
      洇为CAN收发器的特点,适合多主机的发送方式多主机是否可以同时发送数据呢?是可以的因为CAN 总线相当于一个“线与”的结构,显性(邏辑0)与隐性(逻辑1)相遇变为显性(逻辑0),就像孙悟空说的雄的与雌的,雌的见了雄的就不灵了。其实就是逻辑运算里的:0&0=0 0&1=0,这里就是显性为主所有CAN节点相当于一个个与门,低电平(逻辑0)有效一个拉低,所有全低

      因此得到标识符是有优先级的,因为高位在前低位在后,CAN标识符组成的数值越小优先级越高

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

在总线未被使用的情况下总线控制部件接到由BR送来的总线请求信号后,总线控制部件中的计数器开始计数并通过设备地址线,向各设备发出一组地址信号当某个请求占用总线的是设备地... 在总线未被使用的情况下,总线控制部件接到由BR送来的总线请求信号后总线控制部件中的计数器开始计数,并通過设备地址线向各设备发出一组地址信号,当某个请求占用总线的是设备地址与计数值一样时获得总线控制权.
计数器的数要跟设备地址相同那得累加到什么时候呀?设备地址这么大........还有就算设备地址很小,假设有100个设备地址分别为1,23,·······,100假设计数器裏的数值为50,那么地址为49的设备请求时就得等有100次设备发送请求之后才会轮到它这样貌似太不合理了!有谁能解答下计数器定时查询的詳细过程?

而这个数一般是与各个部件的设备地址相对应的总线控制部件每次计数加一之后都会把这个数值发到设备地址线上,所有向總线控制器发送了请求的设备都会收到这个地址并将这个地址与自身的设备地址进行对比。

如果一致那么这个设备就会建立总线忙信號,这时总线控制部件就会计数停止总线使用权被赋予该部件;

如果在一次中总线控制器发出的计数值没有跟任何设备的设备地址匹配,那么总线控制器将会继续计数并重复上述操作直到找到一个匹配地址。

还有就是这里的计数应该是循环计数,比如设备数总共100个那么计数到100以后,下一次计数就会重新从1开始

你对这个回答的评价是?

当设备通过BR线发出总线请求以及在BS线为“0”的情况下计数器开始计数。

这里指计数器开始计数的条件是①有设备通过BR线发出请求②BS线为”0“即存在请求总线的主设以及当前总线没有被使用。但不是說发送一次请求计数器就+1而是说每发送一次地址,且没有设备将BS线置1计数器才加1。

具体的步骤:计数器+1通过设备地址线输出到每个設备,若该地址的设备有请求则通过BS响应;否则计数器+1,重复该步骤;

也就是说如果仲裁器输入的地址所在的设备无请求,则计数器繼续加1

你对这个回答的评价是?

我要回帖

更多关于 总线仲裁 的文章

 

随机推荐