王妍 王晓曼 庄仲
摘 要:本设计结合汽车电子实训系统,实现CAN(Controller Area Network)总线监听应用。构建了一个以CAN总线为平台的数据采集及监听系统。以车内各个子系统作为网络节点,以CAN总线为纽带,将信息传输给嵌入式处理系统,同时将各子系统的运行情况通过多种方式传输给上位机,以做进一步分析研究。
关键词:CAN总线 STM32 监听
中图分类号:TN919 文献标识码:A 文章编号:1672-3791(2014)06(b)-0001-02
场总线是最近二十几年发展起来的新技术,CAN总线是应用最广泛的现场总线之一。由于CAN具有独特的多主工作方式、非破坏仲裁机制以及高通信速率等特点,使其与一般的通信总线相比,具有突出的可靠性、实时性和灵活性。上述优点使CAN总线逐渐代替了汽车内部各个电子控制单元(ECU)数据通信使用的其他总线。
作为汽车电子实训设备,学习人员不仅要了解关键部件的状态数据,还需要对各部件工作状况进行实时监控,必要时需将各子系统数据传输至PC机中进行进一步存储及分析。本设计采用CAN总线来实现模拟车内各个子系统的数据采集,嵌入式微处理器单元通过无线、WIFI,多种方式实现与PC机的数据交换,从而实现对各子系统的监听功能。方案以内嵌CAN控制器STM32F103VET6作为微处理器,完成上述功能。
1 系统设计
1.1 数据采集系统设计
一个完整的采集系统由传感器,CAN收发器,CAN总线,接口,微处理器等几大部分组成,如图1所示。
图1中的被检测量是由汽车某一控制单元发出的,这些控制单元包括灯光控制单元、电动座椅单元、门锁防盗单元等。传感器按一定规律将被检测量转换为数据采集系统能够测量的电信号。通过传感器得到的信号经调理电路对其进行缓冲、放大、隔离、滤波,以及线性化等处理,以获得模数转换所需的归一化信号。将经过调理的信号通过微控制器(如单片机)进行取样保持和模数转换,然后通过CAN收发器发送到数据总线上。数据采集系统还包括驱动软件,驱动软件直接对硬件的寄存器进行操作,并管理中断、存储器等微机资源。
1.2 检测系统设计
检测系统的形式采用集散型数据处理模式,指一路或几路信号对应一个数据采集模块,每个数据采集模块都包括AD转换和单片机系统,完成对一路或几路信号的采集和处理。模块间通过总线相连。
从图2中可以看出,每一个数据采集模块只负责一路信号,数据模块之间通过总线进行通讯。由于一个数据采集模块只负责一路信号,所以数据采集的速度可以很高。由于现在主流的AD芯片的转换时间大多为几,所以采用这种方式进行数据采集,速度可以达到实时数据采集要求。同时这种方式体现了模块化的设计思想,可以将几个相同类型的信号共用一个数据采集模块,对于不同类型的信号只需要更改前置电路就可以了。这样设计便于系统扩展,当有新的信号需要采集时只需要添加一个数据采集模块并连接到总线上就可以了。考虑到汽车上信号接线和汽车部件关系比较密切,所以本方案采用集散型数据采集处理模块来完成对汽车上的信号的采样。
1.3 总体系统设计
系统核心器件为嵌入式微处理器,它控制CAN收发器,将各子系统传输至CAN总线的信息数据按一定优先级通过无线模块,WIFI模块或串口模块与上位机进行数据交换。
设计中采用ARM Cortex-M3内核的STM32F103VET6为核心控制器,其中内嵌了CAN控制器,节约了空间资源。CAN收发器采用PHILIPS公司生产的高速CAN收发器TJA1050,可以为总线提供不同的发送性能,为CAN控制器提供不同的接收性能。总体框图如图2所示。
STM32是意法半导体推出的基于Cortex-M3内核的32位ARM,目前有5个系列,其中STM32 F103VET6属于STM32F103系列的高容量芯片,QFP100封装,64K片内SRAM,512K片内FLASH,具有SDIO 4位接口(SD卡的专用接口,速度更高,该接口也可用于和SDIO接口类型的wifi模块连接)。选用此芯片作为核心MCU,主要由于其容量大,性价比高且具有SPI方式的NRF24L01无线收发器2.4G无线模块接口。
2 硬件接口
2.1 CAN驱动模块
ISO 11898是一个使用CAN总线协议的汽车内高速通讯国际标准。TJA1050符合ISO 11989标准,它可以和其他遵从ISO 11898标准的收发器产品协同操作,此外TJA1050还具有良好的电磁兼容性,连接节点数可达110个。如图3所示,微处理器内部协议控制器通过一条串行数据输出线(CAN-TX)和一条串行数据输入线(CAN-RX)连接到TJA1050收发器。而收发器则通过它的两个有差动接收和发送能力的总线终端CANH和CANL连接到CAN总线线路。典型的CAN总线采用一对双绞线。考虑到ISO 11898中定义的线性拓扑结构,总线两端都端接一个120Ω的额定电阻。这就要求总线额定负载是60Ω。终端电阻和电缆阻抗的紧密匹配确保了数据信号不会在总线的两端反射。
2.2 WIFI模块
88W8686是一款最新高整合WLAN Soc。它面向移动电话、数字摄像机、移动媒体播放器、PDA、游戏机等移动设备。它具有封装尺寸小,低功耗的特点,且提供SDIO和SPI主机接口适用于各种不同的处理器。
88W8686SoC具有非常高的集成水平,芯片集成了一个可在2.4 GHz和5 GHz运行的双频射频无线收发器、一个物理层、一个媒介接入控制器和一个ARM处理器。
STM32可通过SDIO接口与88W8686连接。88W8686支持SDIO设备接口,允许使用SDIO总线协议访问WLAN设备。SDIO接口包含于外部SDIO总线和内部共享总线间的接口电路。88W8686充当SDIO总线上的设备。Host单元可以直接访问SDIO接口的寄存器,也可以通过使用BAR和DMA引擎访问设备的共享存储空间。
2.3 基于NRF24L01的无线通信模块
NRF24L01是NORDIC公司生产的一款新型单片射频收发器件,采用FSK调制,内部集成NORDIC自己的Enhanced Short Burst协议。可以实现点对点或一点对六点的无线通信。无线通信速度可以达到2M(bps)。器件工作于全球开放的2.4~2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,其中输出功率和通信频道可通过程序进行配置。NRF24L01的SPI接口可以利用STM32的硬件SPI接口直接连接。
综上所述,本文完成了基于CAN总线监听系统的总体设计,叙述了集散型数据采集系统的各部分组成,以及芯片的选择及其优势分析,给出了wifi模块以及无线模块与核心芯片STM32 F103VET6的连接设计,以及各模块的详细介绍和功能实现。
参考文献
[1] 乌宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996:127-156.
[2] 杨军,冯振声,黄考利.装备智能故障诊断技术[M].北京:国防工业出版社,2004.
[3] 饶运涛,邹继军,郑勇芸.现场总线CAN原理与应用技术[M].北京:北京航空航天大学出版社,2003.
[4] 蔺金元,秦亚超.基于CAN总线的数据采集系统[J].宁夏工程技术,2002,1(2):176-178.
[5] 许海燕.基于CAN总线的作战车辆综合电子信息系统的研究[D].南京:河海大学,2004.
[6] 魏雅.基于CAN总线的机车数据采集系统的研究[D].西安:西安工程大学,2007.endprint
摘 要:本设计结合汽车电子实训系统,实现CAN(Controller Area Network)总线监听应用。构建了一个以CAN总线为平台的数据采集及监听系统。以车内各个子系统作为网络节点,以CAN总线为纽带,将信息传输给嵌入式处理系统,同时将各子系统的运行情况通过多种方式传输给上位机,以做进一步分析研究。
关键词:CAN总线 STM32 监听
中图分类号:TN919 文献标识码:A 文章编号:1672-3791(2014)06(b)-0001-02
场总线是最近二十几年发展起来的新技术,CAN总线是应用最广泛的现场总线之一。由于CAN具有独特的多主工作方式、非破坏仲裁机制以及高通信速率等特点,使其与一般的通信总线相比,具有突出的可靠性、实时性和灵活性。上述优点使CAN总线逐渐代替了汽车内部各个电子控制单元(ECU)数据通信使用的其他总线。
作为汽车电子实训设备,学习人员不仅要了解关键部件的状态数据,还需要对各部件工作状况进行实时监控,必要时需将各子系统数据传输至PC机中进行进一步存储及分析。本设计采用CAN总线来实现模拟车内各个子系统的数据采集,嵌入式微处理器单元通过无线、WIFI,多种方式实现与PC机的数据交换,从而实现对各子系统的监听功能。方案以内嵌CAN控制器STM32F103VET6作为微处理器,完成上述功能。
1 系统设计
1.1 数据采集系统设计
一个完整的采集系统由传感器,CAN收发器,CAN总线,接口,微处理器等几大部分组成,如图1所示。
图1中的被检测量是由汽车某一控制单元发出的,这些控制单元包括灯光控制单元、电动座椅单元、门锁防盗单元等。传感器按一定规律将被检测量转换为数据采集系统能够测量的电信号。通过传感器得到的信号经调理电路对其进行缓冲、放大、隔离、滤波,以及线性化等处理,以获得模数转换所需的归一化信号。将经过调理的信号通过微控制器(如单片机)进行取样保持和模数转换,然后通过CAN收发器发送到数据总线上。数据采集系统还包括驱动软件,驱动软件直接对硬件的寄存器进行操作,并管理中断、存储器等微机资源。
1.2 检测系统设计
检测系统的形式采用集散型数据处理模式,指一路或几路信号对应一个数据采集模块,每个数据采集模块都包括AD转换和单片机系统,完成对一路或几路信号的采集和处理。模块间通过总线相连。
从图2中可以看出,每一个数据采集模块只负责一路信号,数据模块之间通过总线进行通讯。由于一个数据采集模块只负责一路信号,所以数据采集的速度可以很高。由于现在主流的AD芯片的转换时间大多为几,所以采用这种方式进行数据采集,速度可以达到实时数据采集要求。同时这种方式体现了模块化的设计思想,可以将几个相同类型的信号共用一个数据采集模块,对于不同类型的信号只需要更改前置电路就可以了。这样设计便于系统扩展,当有新的信号需要采集时只需要添加一个数据采集模块并连接到总线上就可以了。考虑到汽车上信号接线和汽车部件关系比较密切,所以本方案采用集散型数据采集处理模块来完成对汽车上的信号的采样。
1.3 总体系统设计
系统核心器件为嵌入式微处理器,它控制CAN收发器,将各子系统传输至CAN总线的信息数据按一定优先级通过无线模块,WIFI模块或串口模块与上位机进行数据交换。
设计中采用ARM Cortex-M3内核的STM32F103VET6为核心控制器,其中内嵌了CAN控制器,节约了空间资源。CAN收发器采用PHILIPS公司生产的高速CAN收发器TJA1050,可以为总线提供不同的发送性能,为CAN控制器提供不同的接收性能。总体框图如图2所示。
STM32是意法半导体推出的基于Cortex-M3内核的32位ARM,目前有5个系列,其中STM32 F103VET6属于STM32F103系列的高容量芯片,QFP100封装,64K片内SRAM,512K片内FLASH,具有SDIO 4位接口(SD卡的专用接口,速度更高,该接口也可用于和SDIO接口类型的wifi模块连接)。选用此芯片作为核心MCU,主要由于其容量大,性价比高且具有SPI方式的NRF24L01无线收发器2.4G无线模块接口。
2 硬件接口
2.1 CAN驱动模块
ISO 11898是一个使用CAN总线协议的汽车内高速通讯国际标准。TJA1050符合ISO 11989标准,它可以和其他遵从ISO 11898标准的收发器产品协同操作,此外TJA1050还具有良好的电磁兼容性,连接节点数可达110个。如图3所示,微处理器内部协议控制器通过一条串行数据输出线(CAN-TX)和一条串行数据输入线(CAN-RX)连接到TJA1050收发器。而收发器则通过它的两个有差动接收和发送能力的总线终端CANH和CANL连接到CAN总线线路。典型的CAN总线采用一对双绞线。考虑到ISO 11898中定义的线性拓扑结构,总线两端都端接一个120Ω的额定电阻。这就要求总线额定负载是60Ω。终端电阻和电缆阻抗的紧密匹配确保了数据信号不会在总线的两端反射。
2.2 WIFI模块
88W8686是一款最新高整合WLAN Soc。它面向移动电话、数字摄像机、移动媒体播放器、PDA、游戏机等移动设备。它具有封装尺寸小,低功耗的特点,且提供SDIO和SPI主机接口适用于各种不同的处理器。
88W8686SoC具有非常高的集成水平,芯片集成了一个可在2.4 GHz和5 GHz运行的双频射频无线收发器、一个物理层、一个媒介接入控制器和一个ARM处理器。
STM32可通过SDIO接口与88W8686连接。88W8686支持SDIO设备接口,允许使用SDIO总线协议访问WLAN设备。SDIO接口包含于外部SDIO总线和内部共享总线间的接口电路。88W8686充当SDIO总线上的设备。Host单元可以直接访问SDIO接口的寄存器,也可以通过使用BAR和DMA引擎访问设备的共享存储空间。
2.3 基于NRF24L01的无线通信模块
NRF24L01是NORDIC公司生产的一款新型单片射频收发器件,采用FSK调制,内部集成NORDIC自己的Enhanced Short Burst协议。可以实现点对点或一点对六点的无线通信。无线通信速度可以达到2M(bps)。器件工作于全球开放的2.4~2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,其中输出功率和通信频道可通过程序进行配置。NRF24L01的SPI接口可以利用STM32的硬件SPI接口直接连接。
综上所述,本文完成了基于CAN总线监听系统的总体设计,叙述了集散型数据采集系统的各部分组成,以及芯片的选择及其优势分析,给出了wifi模块以及无线模块与核心芯片STM32 F103VET6的连接设计,以及各模块的详细介绍和功能实现。
参考文献
[1] 乌宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996:127-156.
[2] 杨军,冯振声,黄考利.装备智能故障诊断技术[M].北京:国防工业出版社,2004.
[3] 饶运涛,邹继军,郑勇芸.现场总线CAN原理与应用技术[M].北京:北京航空航天大学出版社,2003.
[4] 蔺金元,秦亚超.基于CAN总线的数据采集系统[J].宁夏工程技术,2002,1(2):176-178.
[5] 许海燕.基于CAN总线的作战车辆综合电子信息系统的研究[D].南京:河海大学,2004.
[6] 魏雅.基于CAN总线的机车数据采集系统的研究[D].西安:西安工程大学,2007.endprint
摘 要:本设计结合汽车电子实训系统,实现CAN(Controller Area Network)总线监听应用。构建了一个以CAN总线为平台的数据采集及监听系统。以车内各个子系统作为网络节点,以CAN总线为纽带,将信息传输给嵌入式处理系统,同时将各子系统的运行情况通过多种方式传输给上位机,以做进一步分析研究。
关键词:CAN总线 STM32 监听
中图分类号:TN919 文献标识码:A 文章编号:1672-3791(2014)06(b)-0001-02
场总线是最近二十几年发展起来的新技术,CAN总线是应用最广泛的现场总线之一。由于CAN具有独特的多主工作方式、非破坏仲裁机制以及高通信速率等特点,使其与一般的通信总线相比,具有突出的可靠性、实时性和灵活性。上述优点使CAN总线逐渐代替了汽车内部各个电子控制单元(ECU)数据通信使用的其他总线。
作为汽车电子实训设备,学习人员不仅要了解关键部件的状态数据,还需要对各部件工作状况进行实时监控,必要时需将各子系统数据传输至PC机中进行进一步存储及分析。本设计采用CAN总线来实现模拟车内各个子系统的数据采集,嵌入式微处理器单元通过无线、WIFI,多种方式实现与PC机的数据交换,从而实现对各子系统的监听功能。方案以内嵌CAN控制器STM32F103VET6作为微处理器,完成上述功能。
1 系统设计
1.1 数据采集系统设计
一个完整的采集系统由传感器,CAN收发器,CAN总线,接口,微处理器等几大部分组成,如图1所示。
图1中的被检测量是由汽车某一控制单元发出的,这些控制单元包括灯光控制单元、电动座椅单元、门锁防盗单元等。传感器按一定规律将被检测量转换为数据采集系统能够测量的电信号。通过传感器得到的信号经调理电路对其进行缓冲、放大、隔离、滤波,以及线性化等处理,以获得模数转换所需的归一化信号。将经过调理的信号通过微控制器(如单片机)进行取样保持和模数转换,然后通过CAN收发器发送到数据总线上。数据采集系统还包括驱动软件,驱动软件直接对硬件的寄存器进行操作,并管理中断、存储器等微机资源。
1.2 检测系统设计
检测系统的形式采用集散型数据处理模式,指一路或几路信号对应一个数据采集模块,每个数据采集模块都包括AD转换和单片机系统,完成对一路或几路信号的采集和处理。模块间通过总线相连。
从图2中可以看出,每一个数据采集模块只负责一路信号,数据模块之间通过总线进行通讯。由于一个数据采集模块只负责一路信号,所以数据采集的速度可以很高。由于现在主流的AD芯片的转换时间大多为几,所以采用这种方式进行数据采集,速度可以达到实时数据采集要求。同时这种方式体现了模块化的设计思想,可以将几个相同类型的信号共用一个数据采集模块,对于不同类型的信号只需要更改前置电路就可以了。这样设计便于系统扩展,当有新的信号需要采集时只需要添加一个数据采集模块并连接到总线上就可以了。考虑到汽车上信号接线和汽车部件关系比较密切,所以本方案采用集散型数据采集处理模块来完成对汽车上的信号的采样。
1.3 总体系统设计
系统核心器件为嵌入式微处理器,它控制CAN收发器,将各子系统传输至CAN总线的信息数据按一定优先级通过无线模块,WIFI模块或串口模块与上位机进行数据交换。
设计中采用ARM Cortex-M3内核的STM32F103VET6为核心控制器,其中内嵌了CAN控制器,节约了空间资源。CAN收发器采用PHILIPS公司生产的高速CAN收发器TJA1050,可以为总线提供不同的发送性能,为CAN控制器提供不同的接收性能。总体框图如图2所示。
STM32是意法半导体推出的基于Cortex-M3内核的32位ARM,目前有5个系列,其中STM32 F103VET6属于STM32F103系列的高容量芯片,QFP100封装,64K片内SRAM,512K片内FLASH,具有SDIO 4位接口(SD卡的专用接口,速度更高,该接口也可用于和SDIO接口类型的wifi模块连接)。选用此芯片作为核心MCU,主要由于其容量大,性价比高且具有SPI方式的NRF24L01无线收发器2.4G无线模块接口。
2 硬件接口
2.1 CAN驱动模块
ISO 11898是一个使用CAN总线协议的汽车内高速通讯国际标准。TJA1050符合ISO 11989标准,它可以和其他遵从ISO 11898标准的收发器产品协同操作,此外TJA1050还具有良好的电磁兼容性,连接节点数可达110个。如图3所示,微处理器内部协议控制器通过一条串行数据输出线(CAN-TX)和一条串行数据输入线(CAN-RX)连接到TJA1050收发器。而收发器则通过它的两个有差动接收和发送能力的总线终端CANH和CANL连接到CAN总线线路。典型的CAN总线采用一对双绞线。考虑到ISO 11898中定义的线性拓扑结构,总线两端都端接一个120Ω的额定电阻。这就要求总线额定负载是60Ω。终端电阻和电缆阻抗的紧密匹配确保了数据信号不会在总线的两端反射。
2.2 WIFI模块
88W8686是一款最新高整合WLAN Soc。它面向移动电话、数字摄像机、移动媒体播放器、PDA、游戏机等移动设备。它具有封装尺寸小,低功耗的特点,且提供SDIO和SPI主机接口适用于各种不同的处理器。
88W8686SoC具有非常高的集成水平,芯片集成了一个可在2.4 GHz和5 GHz运行的双频射频无线收发器、一个物理层、一个媒介接入控制器和一个ARM处理器。
STM32可通过SDIO接口与88W8686连接。88W8686支持SDIO设备接口,允许使用SDIO总线协议访问WLAN设备。SDIO接口包含于外部SDIO总线和内部共享总线间的接口电路。88W8686充当SDIO总线上的设备。Host单元可以直接访问SDIO接口的寄存器,也可以通过使用BAR和DMA引擎访问设备的共享存储空间。
2.3 基于NRF24L01的无线通信模块
NRF24L01是NORDIC公司生产的一款新型单片射频收发器件,采用FSK调制,内部集成NORDIC自己的Enhanced Short Burst协议。可以实现点对点或一点对六点的无线通信。无线通信速度可以达到2M(bps)。器件工作于全球开放的2.4~2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,其中输出功率和通信频道可通过程序进行配置。NRF24L01的SPI接口可以利用STM32的硬件SPI接口直接连接。
综上所述,本文完成了基于CAN总线监听系统的总体设计,叙述了集散型数据采集系统的各部分组成,以及芯片的选择及其优势分析,给出了wifi模块以及无线模块与核心芯片STM32 F103VET6的连接设计,以及各模块的详细介绍和功能实现。
参考文献
[1] 乌宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996:127-156.
[2] 杨军,冯振声,黄考利.装备智能故障诊断技术[M].北京:国防工业出版社,2004.
[3] 饶运涛,邹继军,郑勇芸.现场总线CAN原理与应用技术[M].北京:北京航空航天大学出版社,2003.
[4] 蔺金元,秦亚超.基于CAN总线的数据采集系统[J].宁夏工程技术,2002,1(2):176-178.
[5] 许海燕.基于CAN总线的作战车辆综合电子信息系统的研究[D].南京:河海大学,2004.
[6] 魏雅.基于CAN总线的机车数据采集系统的研究[D].西安:西安工程大学,2007.endprint