0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >汽车电子 > 基于C8051F040单片机+MCP3208+VP251+PWB2405的车用CAN总线智能节点设计方案

基于C8051F040单片机+MCP3208+VP251+PWB2405的车用CAN总线智能节点设计方案

来源: elecfans
2020-07-08
类别:汽车电子
eye 112
文章创建人 拍明

原标题:C8051F040的车用CAN总线智能节点设计

  电气与电子系统是车辆的重要组成部分,其工作状态直接影响车辆的性能。按照传统设计思想设计车辆电气系统时,往往采取堆积各种子系统的途径来提高系统的性能,因此车辆内部各子系统之间单纯面向任务而不考虑与全局的关系。随着子系统及装置数量不断增加,传统设计方法遇到了一系列问题:线路增多、布线复杂、电磁干扰增加、系统可靠性下降、检查维修困难等。为了解决上述问题,现代车辆采用了综合电子系统。总线是综合电子系统的基础,通过总线节点,综合电子系统可采集、使用、分配和共享车内所有电子系统的各种信息,达到弱化矛盾、增强整体功能的目的。CAN总线由于具有性价比高、可靠性高、实时性好、灵活性强等特点,得到广泛应用。本文针对CAN总线,提出了一种基于C8051F040的通用总线智能节点的设计方法。

  1 总体设计

  本文采用C8051F040单片机作为智能节点的主控芯片来设计CAN总线通用智能节点。智能节点通过现场信号调整、高速数据采集获取该节点下设备的参数,并通过总线收发器将数据发送到CAN总线,同时根据参数及总线上的其他信息和命令对设备进行控制。通过CAN总线智能节点,可将车辆电气系统各子系统及设备紧密联系在一起,构成一个实时控制网络,如图1所示。

  

图片.png

  考虑到智能节点的通用性,经过对车辆各子系统和设备参数进行分析,确定了智能节点主要指标。

  ①信号输入:8路模拟信号输入,16路数字信号输入,2路脉冲量输入;

  ②控制信号输出:2路模拟控制信号输出,8路数字信号输出;

  ③CAN总线接口:1个CAN总线接口(支持CAN2.0A和CAN2.0B)。

  2 硬件设计

  CAN总线节点有两种设计方法,一种采用通用微控制器结合独立CAN控制器加上收发器,另一种采用集成CAN控制器的微控制器结合CAN收发器。本文采用第二种设计方法,选用1片C8051F040单片机作为智能节点的主控芯片。主控芯片内部集成CAN控制器,兼容CAN2.0A和CAN2.0B,配合总线收发器后可完成CAN通信。此外,主控芯片还使用内部集成的A/D转换器完成对模拟信号的采集,同时向被控设备输出模拟和数字控制信号。主控芯片各种资源的相关情况见参考文献。

  智能节点的硬件系统包括:模拟信号采集电路、开关信号采集电路、开关信号输出、LCD电路、CAN总线电路等。硬件原理框图如图2所示。

  

图片.png

  2.1 模拟信号采集电路

  模拟信号采集电路用于采集受控设备输出的模拟信号。该电路由模拟信号调整电路、SPI总线A/D转换器MCP3208、高速光电耦合器2801以及外围电路组成,其电路原理图如图3所示。

  

图片.png

  模拟信号调整电路可用于测量模拟电压信号、模拟电流信号以及电阻信号。以连接到MCP3208第1通道的电路为例:当R2断开,R4和R1连接适当阻值的电阻时,该电路可用于测量模拟电压信号;当R2断开,R4短路,R1连接采样电阻时,该电路可用于测量模拟电流信号;当R1断开,R4短路,R2连接适当阻值的电阻时,该电路可用于测量电阻信号。R5与二极管D1和D2组成保护电路。R6、R9及C4组成分压和滤波电路。

  为了保证系统稳定、可靠工作,控制模块的数字地与模拟地严格分开。因此,模块没有使用C8051F040内部集成的A/D转换器,而是使用外部SPI总线A/D转换器MCP3208。MCP3208是12位逐次逼近型模/数转换器,具有片上采样和保持电路。该A/D转换器使用与SPI协议兼容的简单串行端口与主控芯片相连,转换速率可高达100 ksps。主控芯片C8051F040是8位单片机,其SPI端口要求以8位数据为一组来收发数据。同时,为了与MCP3208通信,将主控芯片SPI口设置为主方式,时钟下降沿输出数据,时钟上升沿锁存数据。

  设计中,8路模拟信号经调整后与MCP3208的8个模拟输入端相连。A/D转换器的电源与参考电压输入端通过电感L1与5 V电源相连,模拟地通过电感L2与5 V电源地相连,以减小电源扰动对A/D转换的影响。同时,MCP3208的SPI接口与单片机之间也使用光电耦合器隔离,从而保证数字地与模拟地严格分开。图中只给出了MOSI与MISO光耦隔离的原理图,SCLK与CS隔离的原理相同。

  2.2 开关信号采集电路

  开关信号采集电路用于采集受控设备输出的开关信号。该电路由光电耦合器2801及其外围电路组成,其电路原理图如图4所示。当外部开关信号的高电平信号接于开关信号采集电路输入端时,光耦内部发光二极管工作,光敏三极管导通,光电耦合器输出低电平信号。主控芯片通过I/0口扫描光电耦合器输出端即可采集开关信号。R1、R2、C1组成输入分压滤波电路。

  

图片.png

  2.3 CAN总线接口电路

  由于C805lF040内部集成了CAN总线控制器,外电路中只要设置总线收发器即可完成通信。CAN总线接口电路用于完成CAN总线通信,由总线收发器VP251、光电耦合器0211及外围电路组成,其电路原理图如图5所示。

  

图片.png

  CAN总线接口电路采用VP251作为总线收发器,该收发器主要用于单端信号与差动信号之间的相互转换。此外,单片机最小控制电路与总线收发器之间采用光电耦合器隔离,以提高系统工作的可靠性。光电耦合器采用2片高速光耦O211,1片用于接收,1片用于发送。

  2.4 开关信号输出电路

  开关信号输出电路用于向外部被控对象输出驱动信号。该电路由光电耦合器2801组成,其电路原理图如图6所示。当开关信号输出电路接收到低电平信号时,光耦内部发光二极管工作,光敏三极管导通,光电耦合器输出低电平信号。

  

图片.png

  2.5 电源电路

  电源电路用于向其他功能电路供电。电源由输入滤波器CXDB2、电源模块PWB2405、三端稳压器AMS1117及外围电路组成,其电路原理图如图7所示。

  

图片.png

  为了限制传导干扰,电源模块使用电磁干扰(EMI)滤波器CXDB2来抑制电源输入中的传导噪声。输入电源经过滤波后送入2个独立的电源模块PWB2405中获得3组5 V电源。5V-2为模拟信号输入与A/D转换电路提供电源,5V-1向CAN总线收发器供电,5VG为模拟电源,地。VCC为采用5 V电压的数字电路提供电源,同时向三端稳压器模块AMSlll7提供电源。AMSlll7将VCC转换为2组3.3 V电源,3.3 V-1为C8051F040内部A/D转换器提供电源和参考电压,3.3V-2为单片机最小控制电路提供数字电源。

  3 软件设计

  3.1 主程序

  主程序流程如图8所示。智能节点上电后,主程序首先完成系统初始化,主要内容包括:初始化I/0口、A/D转换器、SPI总线、LCD、CAN总线等,然后进入循环工作状态。程序采用扫描方式完成模拟信号采集和开关信号采集。采集得到的数据经过滤波、补偿等方式处理后,通过CAN通信子程序发送到CAN总线。此外,循环工作过程中,系统还会通过LCD子程序显示相关信息。

  

图片.png

  3.2 信号采集程序

  智能节点信息采集量较大,如何实现对多种、多路信号实时采集是系统设计的关键。电气系统典型信号主要包括模拟信号、开关信号等。

  采集模拟信号时,利用外部12位A/D转换器,采用软件查询的方式采集模拟信号并进行数字滤波处理。由于所要采集的模拟信号较多,因此必须实现采集通道动态切换;采用定时扫描C8051F040数字I/O口的方法采集数字信号。

  3.3 CAN通信程序

  C8051F040内部的CAN控制器集成了用于接收及发送的所有硬件,与使用外部CAN控制器相比,可以大大减少占用CPU的时间。CAN总线接收采用中断方式完成,发送采用查询方式完成。CAN总线接收和发送的流程如图9所示。

  

图片.png

  4 结论

  本文提出了一种基于C8051F040单片机的CAN总线智能节点设计方案。通过该智能节点能够实现设备的数据采集与控制,而且根据需要加入适当算法后,还可以实现智能控制和故障诊断等功能。该智能节点已应用于某型车辆的模拟教学平台中,通过由16个节点组成的CAN控制网络完成了对整个平台设备的综合控制,性能良好。

  c8051F040

  Cygnal公司的51系列单片机C8051F040是集成在一块芯片上的混合信号系统级单片机,在一个芯片内集成了构成一个单片机数据采集或控制的智能节点所需要的几乎所有模拟和数字外设以及其他功能部件,代表了8位单片机控制系统的发展方向。

  基本信息

  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控制器。

  C8051F040是高度集成的混合信号SoC级微控制器芯片,具有与8051单片机兼容的高速CIP-51微控制器内核,除了标准8051的数字外设部件外,片内还集成了数据采集与控制系统中常用的模拟部件及其它一些数字外设部件。

  基本功能

  (1)增强型8051CPU-CIP-51微控制器

  C8051F040单片机系统控制器的内核采用CIP-51微控制器,它与MCS-51指令集完全兼容,可以使用标准803x/805x汇编器和编译器进行软件开发。CIP-51内核具有标准8052的所有外设部件,包括5个16位的计数器/定时器、两个全双工UART串行接口、256字节内部RAM、128字节特殊功能寄存器(SFR)地址空间及8个8位宽的I/O端口。

  (2)速度提升

  CIP-51采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高。在标准8051中,除MUL和DIV以外所有指令都需要12或24个系统时钟周期,最大系统时钟频率为12-24MHz。而对于CIP-51内核,70%的指令的执行时间为1或2个系统时钟周期,只有4条指令的执行时间大于4个系统时钟周期。CIP-51共有111条指令。CIP-51工作在最大系统时钟频率25MHz时,其峰值性能达到25MIPS。下表列出了指令条数与执行

  时所需的系统时钟周期数的关系:

  (3)功能改进

  C8051F040系列MCU对CIP-51内核和外设有几项关键性的改进,提高了整体性能,更易于最终应用。标准8051只有7个中断源,C8051F04x系列MCU通过对内核中断系统的扩展,可向CIP-51提供20个中断源。允许大量的模拟和数字外设中断微控制器。

  MCU可有多达7个复位源:一个片内VDD监视器、一个看门狗定时器、一个时钟丢失检测器、一个由比较器0提供的电压检测器、一个软件强制复位、CNVSTR0输入引脚及/RST引脚。/RST引脚是双向的,可接受外部复位或将内部产生的上电复位信号输出到/RST引脚。除了VDD监视器和复位输入引脚以外,每个复位源都可以由用户用软件禁止。

  (4)其他设备

  ◆控制器局域网(CAN2.0B)控制器,具有32个消息对象,每个消息对象有其自的标识符;

  ◆全速、非侵入式的在系统调试接口(片内);

  ◆100 ksps的12位ADC,带PGA和8通道模拟多路开关;

  ◆允许高电压差分放大器输入到12位ADC(60V峰-峰值),增益可编程;

  ◆500 ksps的8位ADC,带PGA和8通道模拟多路开关;

  ◆两个12位DAC,具有可编程数据更新方式;

  ◆64KB的可在系统编程的FLASH存储器;

  ◆4352(4K+256)字节的片内RAM;

  ◆可寻址64KB地址空间的外部数据存储器接口;

  ◆硬件实现的SPI、SMBus/I2C总线接口;

  ◆具有6个捕捉/比较模块的可编程计数器/定时器阵列;

  ◆片内看门狗定时器、VDD监视器和温度传感器

  (5)可编程数字I/O端口和交叉开关

  C8051F040中除具有4个标准的8051端口P0、P1、P2、P3外,还附加了4个端口P4、P5、P6、P7。这64个多功能的I/O端口每个引脚都可以被配置为漏极开路或推挽输出方式,方便用户使用[6]。

  特性

  可通过设置交叉开关控制寄存器将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其它数字信号配置在端口I/O引脚。这一特性允许用户根据自己的特定应用选择通用端口I/O和所需数字资源的组合。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案