用户工具

站点工具


icore4t_57

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
icore4t_57 [2020/03/28 14:27]
zgf [三、 实验原理]
icore4t_57 [2022/04/01 10:57] (当前版本)
sean
行 3: 行 3:
 |技术支持电话|**0379-69926675-801**||| |技术支持电话|**0379-69926675-801**|||
 |技术支持邮件|Gingko@vip.163.com||| |技术支持邮件|Gingko@vip.163.com|||
-|技术论坛|http://​www.eeschool.org||| 
 ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^ ^  版本 ​ ^  日期 ​ ^  作者 ​ ^  修改内容 ​ ^
 |  V1.0  |  2020-03-28 ​ |  gingko ​ |  初次建立 ​ |  |  V1.0  |  2020-03-28 ​ |  gingko ​ |  初次建立 ​ | 
行 19: 行 18:
 {{ :​icore4t:​icore4t_cube_57_3.png?​direct |}} {{ :​icore4t:​icore4t_cube_57_3.png?​direct |}}
 4.时基源选择SysTick 4.时基源选择SysTick
-{{ :icore4t:icore4t_cube_57_4png?direct |}}+{{ :icore4t:icore4t_cube_57_4.png?direct |}}
 5.将PA10,​PB7,​PB8设置为GPIO_Output 5.将PA10,​PB7,​PB8设置为GPIO_Output
 {{ :​icore4t:​icore4t_cube_57_5.png?​direct |}} {{ :​icore4t:​icore4t_cube_57_5.png?​direct |}}
行 101: 行 100:
   * **闭环总线网络:**   * **闭环总线网络:**
   * CAN物理层的形式主要有两种,如下图是其中的一种“闭环网络”,它允许总线最大长度为40m,最高速度为1Mbps,可以看到总线的两端各有一个120欧的电阻,这是规定。节点就是不同的设备,连接到一个闭环总线上面。   * CAN物理层的形式主要有两种,如下图是其中的一种“闭环网络”,它允许总线最大长度为40m,最高速度为1Mbps,可以看到总线的两端各有一个120欧的电阻,这是规定。节点就是不同的设备,连接到一个闭环总线上面。
-{{ :​icore4t:​icore4t_arm_hal_57_1.png?​direct |}}+{{ :​icore4t:​icore4t_arm_hal_57_1.png?​direct&​600 ​|}}
   * **开环总线网络:​**   * **开环总线网络:​**
-{{ :​icore4t:​icore4t_arm_hal_57_2.png?​direct |}}+{{ :​icore4t:​icore4t_arm_hal_57_2.png?​direct&​600 ​|}}
   * **通讯节点:**   * **通讯节点:**
   * CAN节点是指能够挂接在CAN总线上的单元,并能通过CAN总线实现各个节点间的通信,以实现复杂的控制过程。理论上CAN总线连接的节点可达110个,但实际上收到总线上的时间延迟及电气负载的限制。当连接多节点时,降低通信速率,可连接的节点增加;提高通信速率,则可连接的节点数减少。   * CAN节点是指能够挂接在CAN总线上的单元,并能通过CAN总线实现各个节点间的通信,以实现复杂的控制过程。理论上CAN总线连接的节点可达110个,但实际上收到总线上的时间延迟及电气负载的限制。当连接多节点时,降低通信速率,可连接的节点增加;提高通信速率,则可连接的节点数减少。
行 112: 行 111:
   * **CAN协议中的差分信号:**   * **CAN协议中的差分信号:**
   * 差分信号又称为差模信号,具体的含义这里不多介绍了。CAN协议中对它使用的CAN_High以及CAN_Low表示的差分信号做了规定,如下图,可以看到,显性电平对应逻辑“0”,隐性电平对应逻辑“1”。当表示为隐性电平(逻辑“1”)时,CAN_High和CAN_Low的电压均为2.5V,此时它们的电压差为0V;当表示显性电平(逻辑“0”)时,CAN_High的电压为3.5V,CAN_Low的电压为1.5V,它们的电压差为2V。举个例子:当CAN收发器从CAN_Tx线接收到来自CAN控制器的低电平信号(逻辑“0”)时,它会使CAN_High输出3.5V,同时CAN_Low输出1.5V。在总线上显性电平具有优先权,只要有一个单元(也就是节点)输出显性电平,总线上即为显性电平。而隐性电平则具有包容的含义,只有所有的单元都输出隐性电平,总线上才为隐性电平。那么可以知道,CAN通讯是半双工的,收发数据需要分开来进行,由于是公用总线,在整个网络中,同一时刻只能由一个通讯节点发送信号,其余的节点在该时刻只能接收。   * 差分信号又称为差模信号,具体的含义这里不多介绍了。CAN协议中对它使用的CAN_High以及CAN_Low表示的差分信号做了规定,如下图,可以看到,显性电平对应逻辑“0”,隐性电平对应逻辑“1”。当表示为隐性电平(逻辑“1”)时,CAN_High和CAN_Low的电压均为2.5V,此时它们的电压差为0V;当表示显性电平(逻辑“0”)时,CAN_High的电压为3.5V,CAN_Low的电压为1.5V,它们的电压差为2V。举个例子:当CAN收发器从CAN_Tx线接收到来自CAN控制器的低电平信号(逻辑“0”)时,它会使CAN_High输出3.5V,同时CAN_Low输出1.5V。在总线上显性电平具有优先权,只要有一个单元(也就是节点)输出显性电平,总线上即为显性电平。而隐性电平则具有包容的含义,只有所有的单元都输出隐性电平,总线上才为隐性电平。那么可以知道,CAN通讯是半双工的,收发数据需要分开来进行,由于是公用总线,在整个网络中,同一时刻只能由一个通讯节点发送信号,其余的节点在该时刻只能接收。
-{{ :​icore4t:​icore4t_arm_hal_57_3.png?​direct |}}+{{ :​icore4t:​icore4t_arm_hal_57_3.png?​direct&​400 ​|}}
 === 2.协议层:​ === === 2.协议层:​ ===
  
行 195: 行 194:
   * CAN过滤器的寄存器有多个,可以自己看手册进行相应的配置,这里就不多讲解了。过滤的方法有两种模式分别是ID列表模式和掩码模式。   * CAN过滤器的寄存器有多个,可以自己看手册进行相应的配置,这里就不多讲解了。过滤的方法有两种模式分别是ID列表模式和掩码模式。
   * 在本实验中,iCore4T使用SN65HVD230作为CAN驱动,通过CAN助手发送数据并能接收数据。   * 在本实验中,iCore4T使用SN65HVD230作为CAN驱动,通过CAN助手发送数据并能接收数据。
-原理图: +  * 原理图: 
-{{ :icore4t:icore4t_arm_hal_57_1.png?direct |}}+{{ :icore4t:icore4t_arm_hal_57_9.png?direct&​700 ​|}}
 ==== 四、 实验程序 ==== ==== 四、 实验程序 ====
 === 1.主函数 === === 1.主函数 ===
行 324: 行 323:
 ==== 六、 实验现象 ==== ==== 六、 实验现象 ====
   * 通过CAN助手,点击发送能够接收到数据说明测试通过。   * 通过CAN助手,点击发送能够接收到数据说明测试通过。
-  +{{ :​icore4t:​icore4t_arm_hal_57_10.png?​direct&​700 |}} 
-   +{{ :​icore4t:​icore4t_arm_hal_57_11.png?​direct&​700 |}} 
 +{{ :​icore4t:​icore4t_arm_hal_57_12.png?​direct&​700 |}}
icore4t_57.1585376820.txt.gz · 最后更改: 2020/03/28 14:27 由 zgf