基于C8051F040的CAN总线智能节点的设计
发布时间:2008/5/27 0:00:00 访问次数:690
    
    
    控制器局域网can(controller aera network)是德国bosch公司在80年代初为解决现代汽车中大量的控制与测试仪器之间的数据交换而提出的一种串行数据通信协议。他是多主总线,通信介质可以是双绞线,通信速率可达1m/s,最远通信距离可达10km。can具有极高的可靠性,高实时性特点特别适合工业过程监控设备的互连,已被公认是最有前途的现场总线之一。can总线的高速采集系统具备dcs(分布式控制系统)的主要特征,可代替dcs。
    cygnal公司的51系列单片机c8051f040是集成在一块芯片上的混合信号系统级单片机,在一个芯片内集成了构成一个单片机数据采集或控制的智能节点所需要的几乎所有模拟和数字外设以及其他功能部件,代表了目前8位单片机控制系统的发展方向。芯片上有1个12位多通道adc,2个12位dac,2个电压比较器,1个电压基准,1个32kb的flash存储器,与mcs-51指令集完全兼容的高速cip-51内核,峰值速度可达25mips,并且还有硬件实现的uart串行接口和完全支持can2.0a和can2.0b的can控制器。本文将介绍带有在片can的cygnal公司的混合信号片上系统(soc)级单片机c8051f040作为微处理器的can智能节点设计的硬件和软件方案。
    1 典型c8051f404的can总线网络结构
    典型c8051f404的can总线网络结构如图1所示。一个典型的can节点由带有can控制器的微处理器和can收发器构成。can收发器建立can控制器和物理总线之间的连接,控制逻辑电平信号从can控制器到达物理总线的物理层,反之也一样。can控制器执行can协议,用于信息缓冲和滤波。f040的can控制器支持完全的can2.0a和can2.0b。
    
    
    
    上位机通过can适配卡与各个can节点通讯。在应用中,上位机可以发送命令到节点,收集数据,修改过程参数,各节点可以将采集到的数据送到上位机进行复杂的数学计算或是保存打印,实现更加优越的信息处理功能。
    2 c8051f040的can控制器结构
    f040的所有can协议功能都由独立的can控制器而不是由51处理器来完成。因此,can通信占用cpu带宽很小,51处理器只需要通过特殊功能寄存器(sfr)配置can控制器,数据过滤器就可以了。
    2.1 can控制器各部分功能
    can core:can协议控制器和发送/接收转换寄存器;
    message ram:存储message objects和标志码,can控制器共有32个message object可供配置来用于发送或接收数据;
    registers:用于控制和配置c_can模块的所有寄存器;
    message handler:控制数据在can core的接收/发送转换寄存器和message object之间的传输,以及中断的产生。
    
    
    
    2.2 can寄存器分类
    can寄存器可分为以下4类:
    (1)can控制器协议寄存器:用于can控制、中断、错误控制、总线状态控制和测试模块;
    (2)信息目标(message object)接口寄存器:配置32个信息目标(msg obj),从目标接收和发送数据。8051处理器通过他来读写can message ram;
    (3)信息处理寄存器:只读寄存器。为51cpu提供信息目标的状态,如信息有效标志,发送请求状态,新数据标志和中断标志;
    (4)c8051处理器特殊功能寄存器(sfr):c8051处理器控制的5个寄存器,直接读写can协议寄存器,通过can数据寄存器(can0dath和can0datl)和can地址寄存器(can0adr)间接读写其他can控制器。
    3 can节点的硬件设计
    设计采用的接口芯片使用ti公司的3.3vcan收发器sn65hvd230,他与pca82c250的引脚兼容。sn65hvd230有3种工作模式:高速,倾斜和低功耗模式,由rs脚的连接方式来确定。由于f040自带了can控制器,外围电路极为简洁。
    4 can通讯软件设计
    为避免51 cpu读写message ram与can 信息收发之间产生冲突,cpu不直接读写message object,而是通过专门的寄存器(ifx interface registers)来配置信息目标。
    一个完整的信息目标的
    
    
    控制器局域网can(controller aera network)是德国bosch公司在80年代初为解决现代汽车中大量的控制与测试仪器之间的数据交换而提出的一种串行数据通信协议。他是多主总线,通信介质可以是双绞线,通信速率可达1m/s,最远通信距离可达10km。can具有极高的可靠性,高实时性特点特别适合工业过程监控设备的互连,已被公认是最有前途的现场总线之一。can总线的高速采集系统具备dcs(分布式控制系统)的主要特征,可代替dcs。
    cygnal公司的51系列单片机c8051f040是集成在一块芯片上的混合信号系统级单片机,在一个芯片内集成了构成一个单片机数据采集或控制的智能节点所需要的几乎所有模拟和数字外设以及其他功能部件,代表了目前8位单片机控制系统的发展方向。芯片上有1个12位多通道adc,2个12位dac,2个电压比较器,1个电压基准,1个32kb的flash存储器,与mcs-51指令集完全兼容的高速cip-51内核,峰值速度可达25mips,并且还有硬件实现的uart串行接口和完全支持can2.0a和can2.0b的can控制器。本文将介绍带有在片can的cygnal公司的混合信号片上系统(soc)级单片机c8051f040作为微处理器的can智能节点设计的硬件和软件方案。
    1 典型c8051f404的can总线网络结构
    典型c8051f404的can总线网络结构如图1所示。一个典型的can节点由带有can控制器的微处理器和can收发器构成。can收发器建立can控制器和物理总线之间的连接,控制逻辑电平信号从can控制器到达物理总线的物理层,反之也一样。can控制器执行can协议,用于信息缓冲和滤波。f040的can控制器支持完全的can2.0a和can2.0b。
    
    
    
    上位机通过can适配卡与各个can节点通讯。在应用中,上位机可以发送命令到节点,收集数据,修改过程参数,各节点可以将采集到的数据送到上位机进行复杂的数学计算或是保存打印,实现更加优越的信息处理功能。
    2 c8051f040的can控制器结构
    f040的所有can协议功能都由独立的can控制器而不是由51处理器来完成。因此,can通信占用cpu带宽很小,51处理器只需要通过特殊功能寄存器(sfr)配置can控制器,数据过滤器就可以了。
    2.1 can控制器各部分功能
    can core:can协议控制器和发送/接收转换寄存器;
    message ram:存储message objects和标志码,can控制器共有32个message object可供配置来用于发送或接收数据;
    registers:用于控制和配置c_can模块的所有寄存器;
    message handler:控制数据在can core的接收/发送转换寄存器和message object之间的传输,以及中断的产生。
    
    
    
    2.2 can寄存器分类
    can寄存器可分为以下4类:
    (1)can控制器协议寄存器:用于can控制、中断、错误控制、总线状态控制和测试模块;
    (2)信息目标(message object)接口寄存器:配置32个信息目标(msg obj),从目标接收和发送数据。8051处理器通过他来读写can message ram;
    (3)信息处理寄存器:只读寄存器。为51cpu提供信息目标的状态,如信息有效标志,发送请求状态,新数据标志和中断标志;
    (4)c8051处理器特殊功能寄存器(sfr):c8051处理器控制的5个寄存器,直接读写can协议寄存器,通过can数据寄存器(can0dath和can0datl)和can地址寄存器(can0adr)间接读写其他can控制器。
    3 can节点的硬件设计
    设计采用的接口芯片使用ti公司的3.3vcan收发器sn65hvd230,他与pca82c250的引脚兼容。sn65hvd230有3种工作模式:高速,倾斜和低功耗模式,由rs脚的连接方式来确定。由于f040自带了can控制器,外围电路极为简洁。
    4 can通讯软件设计
    为避免51 cpu读写message ram与can 信息收发之间产生冲突,cpu不直接读写message object,而是通过专门的寄存器(ifx interface registers)来配置信息目标。
    一个完整的信息目标的
上一篇:彩色电视机有机薄膜固定电容器