基于MC9S12XS256的汽车CAN总线主节点设计

2014-02-06 06:35杨小卫杨世文
汽车零部件 2014年3期
关键词:收发器PC机串口

杨小卫,杨世文

(中北大学机械与动力工程学院,山西太原 030051)

0 引言

在汽车电子技术飞速发展的时代,CAN总线在车载网络中的应用越来越普及。为方便信息监测和故障检测,CAN总线与PC机的信息交互必不可少。设计CAN主节点作为转换接口来解决PC机与车载CAN总线信息交互,以实现CAN数据转异步串口数据和异步串口数据转USB数据。选择飞思卡尔公司针对汽车电子和CAN节点研发的16位控制器MC9S12XS256作为CAN总线通信模块的主节点控制器,选择CP2101芯片作为PC机和MC9S12XS256芯片的通信转换器。

1 MC9S12XS256和CP2101简介

MC9S12XS256单片机是飞思卡尔公司针对汽车电子和CAN总线通信而研发的16位控制器[1],作为主节点的控制器,其主要作用有2个:(1)接收CAN总线的消息并通过串口发送给PC机;(2)接收从PC机传输的数据或命令并转换为CAN帧格式向CAN总线发送数据。它有1个MSCAN控制器模块和2个SCI模块用于实现上述功能。CAN总线数据转串口数据是在MC9S12XS256内部完成,过程为MSCAN从CAN总线接收数据然后以中断的方式通知MC9S12XS256单片机读走数据并重置中断标识位,接下来MC9S12XS256单片机通过SCI模块把数据转换为串口数据。

CP2101是美国Silicon公司推出的USB-UART桥接电路。该电路的集成度高,内置USB2.0全速功能控制器和收发器、48 MHz晶体振荡器和异步串行数据总线,波特率可高达900 kb/s[2]。CP2101可以通过驱动程序将PC的USB口虚拟成COM口,这样串口设备就可以通过CP2101与PC机进行数据的收发。虽然USB在全速模式下的传输速率可达12 Mb/s,但是受串口设备传输速率的限制,串口设备和PC机的通信速率不会因为USB口连接的关系而提高,CP2101的作用只是扩展了PC的串口,方便了串口设备的使用。

2 CAN总线传输模块设计

CAN总线传输模块包括CAN控制器、光耦隔离器和CAN总线收发器。CAN控制器是MC9S12XS256自带的MSCAN模块;光耦隔离器是为了隔离CAN控制器和CAN收发器之间的电气干扰,选择典型的6N137光耦隔离器;CAN总线收发器用于完成总线电平和逻辑0和1的相互转换,这里选择飞利浦公司生产的典型收发器PCA82C250芯片。CAN总线传输模块设计如图1所示。

对图1中的电路图作一些说明,这里PCA82C250的CANH及CANL引脚各串联一个5 Ω的电阻再与CAN总线相连,电阻起到了一定的限流作用,可以避免82C250受到过流的冲击[3]。同时,CANH和CANL与地之间各接一个30 pF的电容,这两个电容分别与电阻R5和R6构成一阶低通滤波器,能在一定程度上过滤总线上的高频干扰并起到防电磁辐射的作用。另外,在两根CAN总线接入端与地之间分别反接一个保护二极管,它能将总线的最低电平钳位在-0.7 V以上,当CAN总线有较高负电压时,通过二极管短路可起到一定的过压保护作用。

3 USB转异步串口传输模块设计

USB转异步串口的传输模块包括MC9S12XS256的SCI模块、CP2101芯片、PC机的USB接口和外围电路。MC9S12XS256有两个SCI模块,选择使用SCI0模块,PS0为串口模块0的接收接口RXD0,PS1为串口模块0的传输接口TXD0。USB转异步串口的传输模块设计如图2所示。

对图2中的电路图进行一些说明,CP2101由PC机的USB接口供电,VBUS为USB功能控制器供电,REGIN为电压调节器供电,电压调节器输出3.3 V电压从VDD口引出,这样可以方便电路设计[4]。SUSPEND在CP2101挂起时输出高电平,其他时候输出低电平,这里外接一个二极管用来提示芯片的工作状态。正常工作状态时二极管点亮,挂起状态时二极管熄灭。

4 调试和验证分析

在完成上述硬件设计后,需要对硬件电路进行调试和收发验证。调试验证的方法是利用MSCAN的自发自收功能,让MSCAN发送一串字符“USB to UART succeed-yangxiaowei”,然后自接收后通过串口发给计算机显示。这里需要使用飞思卡尔公司开发的CodeWarrior软件对MC9S12XS256进行编程,和串口助手软件帮助串口的调试和显示[5]。验证结果如图3所示。

图3中位于发送栏的字符串为要发送的字符串,下面3行字符串为接收的字符串,发送和接收的字符串是一样的,可以说明上述硬件设计的正确性。

5 结论

通过CAN总线传输模块的设计和USB转异步串口模块设计,完成了基于MC9S12XS256单片机的CAN总线主节点设计,并实现了CAN总线自发自收和单片机与PC机的串口通信,从而可以得出主节点设计方案是可行的结论。

【1】 Freescale,MC9S12XS256 Reference Manual[OL].http://www.freescale.com/,2012.

【2】 林凌.新型单片机接口器件与技术[M].西安:西安电子科技大学出版社,2005.

【3】 门雅彬,徐俊臣,刘金涛.USB转UART桥接芯片CP2101及其应用[J].电子设计应用,2005(7):127-128.

【4】 张培仁.CAN总线设计及分布式控制[M].北京:清华大学出版社,2012.

【5】 刘荣.圈圈教你玩USB[M].北京:北京航空航天大学出版社,2009.

猜你喜欢
收发器PC机串口
某重型汽车方向盘LIN 开关故障分析
基于API函数库实现串口数据通信的分析与设计
基于EM9000工控板高性能双串口通信模型设计与实现
Virtex5 FPGA GTP_DUAL硬核两个收发器独立使用的实现
MCS—51单片机中的多串口通讯技术的应用
基于WiFi技术的智能手机双控视频小车
用VC++实现PC机与单片机的串行通信
单片机与PC机串行数据通信的工程实践
基于单片机与PC机的电气量采集系统设计
光纤收发器常见故障原因