打印
[CAN-bus/DeviceNet]

Can總線節點設置問題

[复制链接]
1765|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
CAN, AN, se, AC
各位,本人剛剛接觸Can總線.
現在有個case如圖所示
我的問題是如果要實現此功能,那麼我的主CAN節點是應該採用查詢的方式來向各子節點索取數據嗎??
如果是採用查詢的方式,在數據傳輸過程中操作是否如下:
配置各子節點的發送標誌位(ID3~ID.10)==主節點的接受標誌位(ID3~ID.10)
各子節點的驗收代碼(AC)=主節點的接受標誌位(ID3~ID.10)
同時配置各子節點的接受標誌位,當主節點查詢時,一次配置器發送標誌位==各子節點的接受標誌位



上述是我的一些看法,不知道是否正確,還請大家指正!!

can_bus_line.JPG (54.45 KB )

can_bus_line.JPG

相关帖子

沙发
again00txhj|  楼主 | 2012-6-22 08:24 | 只看该作者
怎麼沒人講解一下啊!!!

使用特权

评论回复
板凳
sixgett| | 2012-6-23 10:50 | 只看该作者
不要用繁体字啊,看的晕的!

使用特权

评论回复
地板
sixgett| | 2012-6-23 10:57 | 只看该作者
这个在发送的时候是由下边采集数据,然后将数据打包好,放到对应的邮箱或者CAN发送寄存器中,对于接受也是激昂接收到的数据送到接收邮箱的,除了广播帧以外,其他都有对应的节点地址,假如主节点是0x00,下边分别设置从节点地址,看有几个节点,要是有10个,最好从0x01-0x10,这样分配,然后再传送的时候要用到过滤器,关于过滤器的配置,主要看你用什么控制器了,例如stm32或者是SJ1000,这个过滤思路基本一样,看你是怎么设置,关于stm32有为例来说,过滤器的工作模式分为列表模式和屏蔽模式,关于屏蔽过滤也就是准备要接受一组数据,设置相关的屏蔽寄存器位,要设置好几位的,要是这几位匹配了就可以讲数据接收()主站发给从站的。

使用特权

评论回复
5
sixgett| | 2012-6-23 11:05 | 只看该作者
如果是采用列表的模式,也就是要接受数据为单一的报文,必须每一位都匹配,要不然就不会接受,这都是针对于从站来说的,没有你说的,主站也设置什么屏蔽位,主站不用设置,你要知道CAN总线上位机是干什么用的?在工业中用来做什么?关于STM32过滤器要有针对于位宽的设置32位的还是16位的?都要分别设置,毕竟他是32位机,还有过滤器序号的匹配,也就是所说的编号问题,这个编号是有变化的,编号可以加速CPU对收到报文的处理,共14个过滤器组,这种编号的好处在于可以快速的知道该报文的用途,不过不用编号也可以,这是CPU就要分析报文的标识符,速度会慢一点了的。我们按顺序将编号编好,报文一旦通过一个过滤器,该报文就被送进接受邮箱,这是对于接受而言

使用特权

评论回复
6
sixgett| | 2012-6-23 11:07 | 只看该作者
所谓接受,就是上位机通过对报文的传送,下发到各个下位机,要是下位机需要该报文,报文就会通过该从站的过滤器,若是不需要则放弃,你可以看看iCAN这个协议,还是比较简单的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

15

帖子

1

粉丝