CAN总线老化测试系统设计方案.docx
- 文档编号:25613953
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:7
- 大小:19.91KB
CAN总线老化测试系统设计方案.docx
《CAN总线老化测试系统设计方案.docx》由会员分享,可在线阅读,更多相关《CAN总线老化测试系统设计方案.docx(7页珍藏版)》请在冰豆网上搜索。
CAN总线老化测试系统设计方案
封面
作者:
PanHongliang
仅供个人学习
基于CAN总线的老化测试系统的设计
来源:
大比特商务网
摘要:
汽车上用的电子设备的可靠工作与优良性能关系者驾驶者的生命安全。
车用电子设备出厂前要求对设备内部电路板进行长时间老化测试,以检测电路板在高温环境和各种输入信号条件下,是否仍正常工作。
只有经过老化测试的电路板才能出厂。
由于需要老化测试的电路板数量巨大,要求该系统能同时老化测试许多块被检测电路板,因此设计了本老化测试系统。
整个老化测试由1个通信模块、10个测试模块、1个温控模块及上微机软件构成。
本老化检测系统的系统结构图如图1所示。
关键字:
检测模块,硬件系统,微控制器
0引言
汽车上用的电子设备的可靠工作与优良性能关系者驾驶者的生命安全。
车用电子设备出厂前要求对设备内部电路板进行长时间老化测试,以检测电路板在高温环境和各种输入信号条件下,是否仍正常工作。
只有经过老化测试的电路板才能出厂。
由于需要老化测试的电路板数量巨大,要求该系统能同时老化测试许多块被检测电路板,因此设计了本老化测试系统。
整个老化测试由1个通信模块、10个测试模块、1个温控模块及上微机软件构成。
本老化检测系统的系统结构图如图1所示。
图1系统结构图在本系统中,每个检测模块最多可同时检测10块电路板,共有10个检测模块,因此,整个系统在一次老化检测过程可以同时检测100块电路板。
检测模块将检测的数据通过CAN通信送给通信模块,由通信模块通过串行通信发送给上位机,由上位机软件对检测数据进行解析,判断被测电路板的工作状态,显示每一块被测电路板的工作状态,存储每块被测电路板的检测数据,生成历史报表。
上位机软件还向操作员提供良好而方便的人机交互界面,操作员通过该界面,可以设置系统老化的时间、温度与测试模式。
1通信模块设计
通信模块在老化系统中处于核心地位,它完成两方面的任务:
一方面,通过串行异步通信与上位机通信,接收用户通过上位机发来的控制命令,向上位机发送检测的数据。
另一方面,通过CAN通信方式与10个检测模块及1个温控模块通信,向检测设备发送命令和采集数据。
通信模块的硬件系统框图如图2所示。
1.1硬件设计
通信模块采用C8051F040作为核心。
C8051F040具有许多优点。
1.采用高速8051微控制器内核,流水线结构,大部分指令的执行时间为一或两个系统时钟周期。
2.有4352字节的内部RAM和64K字节的FLASH,满足大多数应用设计对存储空间的需要,无需外接存储器,因而了简化系统设计。
3.配置多种端口,如SPI、SMBus和UART。
4.C8051F040内置标准CAN控制器,只要外接CAN通信接口芯片就可以进行通信,方便实现CAN总线通信,提高通信的可靠性。
由于C8051F040集成的是CAN控制器,要使实现CAN总线通信,还需要外接CAN总线收发器,常用的CAN总线收发器有Philips公司的PCA82C250收发器、高速TJA1050收发器等。
本设计采用了TJA1050高速CAN收发器,TJA1050具有电磁辐射低、防短路、不上电时对总线无影响等特点。
为了进一步提高系统的抗干扰能力,C8051F040的CAN控制器引脚CANTX、CANRX和收发器TJA1050之间并不直接相连,而是通过由高速光耦6N137构成的隔离电路后再与TJA1050相连,这样就可以很好的实现了CAN总线上各节点的电气隔离。
增加隔离电路虽然增加了节点的复杂性,但它却提高了节点的稳定性和安全性。
此外,为避免信号反射,导致通信的可靠性与抗干扰能力下降,甚至无法通信,因此,在CAN总线的两端需要加有2个120欧姆的总线阻抗匹配电阻。
由于C8051F040的端口电压为3.3V,串行通信电路采用的电平转换芯片为MAX3232。
1.2软件设计
1.2.1串行通信程序设计
通信模块一方面通过串行通信接收上位机的命令,主要命令有启动、停止和参数设置命令。
用户通过参数设置命令为系统设置不同参数,可以保证老化的正确进行。
另一方面通过串行通信向上位机发送检测到的数据。
为简化设计,通信模块和上位机的串行通信采用固定长度的信息帧格式,一帧信息包括帧头、有效数据或命令、CRC16校验位等。
通信模块接收上位机信息通过中断方式实现。
在中断服务程序中,每接收到一个帧头后,开始接收后面若干字节的信息,经CRC16校验有效后,就认为是一个有效的信息帧,按照约定的串行通信协议解析该信息帧,取出其中的有效命令。
通信模块每收到一个有效命令帧,向上位机发送一帧应答信息。
为保证通信正确,上位机软件对通信采用超时机制。
由于通信模块接收命令和处理命令速度的不同步,为保证上位机发来的每条命令得到执行,需要将有效命令放入到命令缓存队列的队尾。
该命令缓存队列采用环形结构,接收的有效命令被放到队尾,而主程序从命令缓存队列的头部取出一条命令,进行后期处理。
为方便从命令缓存队列存放或存取一条命令,在实现命令缓存队列时,采用了二维数组结构,即数组的每一个元素为一条固定长度的有效命令。
通过选取适当的队列长度,可以保证在正常工作中,保证命令缓存队列不会产生溢出。
本设计中,命令缓存队列的数据结构如下:
unsignedchars_queue[QUEUE_LEN][CMD_PACK_LEN];
unsignedchars_front;
unsignedchars_rear;}
通信模块向上位机发送检测数据时,按照约定的串行通信协议把一组完整的检测数据组装成一个信息帧发送。
为简化设计,该信息帧的发送不采用中断方式,而是采用查询方式完成。
为减少C8051F040的等待时间,结合C8051F040的时钟频率,串行通信采用了的波特率为57600bps。
经过在现场测试,在此波特率下进行串口通信,没有引起通信的错误。
1.2.2CAN通信程序设计
通信模块与10个检测模块及1个温控模块通过CAN总线连接。
理论上,在CAN总线上,任意一个检测模块都可以向通信模块发送检测到的数据,通信控制板模块可以同时向10个检测模块发送命令。
CAN总线上的发送的数据帧带有ID字段,ID字段的值决定每个数据帧的优先级,数据帧的ID值越小,该数据帧的优先级越高。
同一时间,在CAN总线上,不同的节点,不能发送相同ID值的数据帧。
否则会造成通信错误。
在本设计中,分配每个检测模块1个固定的ID值,可以看作该设备的地址编号。
这样不同的设备发出的数据帧具有不同的优先级。
这样导致一个问题:
如果任由每个检测模块主动向通信模块发送数据帧,会造成ID值较大的数据帧因优先级低,而不能发出。
另外,每个检测模块的设计也采用了C8051F040的作为控制核心,一方面完成信号检测,另一方面完成与通信模块的CAN通信。
在C8051F040的CAN控制器内部有32个缓冲区,每个缓冲区为8字节,每个缓冲区需要指定一个固定的ID值。
每个缓冲区可以被设置为发送缓冲区或接收缓冲区。
当某个缓冲区被设置为发送缓冲区时,该数据帧在底层带有ID值。
当该缓冲区被设置为接收缓冲区时,则仅接收CAN总线上具有相同ID值的数据帧。
在设计中,通信模块的CAN控制器的32个缓冲区与ID值分配如下:
第1至第10缓冲区为发送缓冲区,对应的ID值21至30。
第1缓冲区用于向第1个检测模块发送数据帧,依次类推,第10缓冲区用于向第10个检测模块发送数据帧。
第11缓冲区为发送缓冲区,对应ID值为31,用于向温控模块发送数据帧。
第20缓冲区至第30缓冲区为接收缓冲区,对应ID值50至60。
与此对应,则10个检测模块的CAN控制器的32个缓冲区内的第1缓冲区均为接收缓冲区,分别对应的ID值是21至30。
第2缓冲区至第11缓冲区均为发送缓冲区,对应的ID值50至60。
即10个检测模块发送的CAN数据帧具有相同的ID值。
采用上述分配的原因在于:
每个检测模块同时检测10个被测电路板,每次有10个数据帧要同时向通信模块发送。
前提条件,10个检测模块不能同时向通信模块发送数据。
通信控制板和检测模块之间通信采用主从应答通信方式。
在工作过程中,通信模块从串口命令缓冲队列的队首取出一条命令,进行协议转换,组装成8字节的CAN信息帧。
其中最后1个字节值设为前7个字节的CRC8校验值,虽然CAN总线本身具有CRC校验,在应用层再次进行校验,可以提高通信的可靠性。
通信模块将该CAN信息帧通过CAN内部第1缓冲区发送,这样CAN总线上的第1个检测模块收到该信息帧,该检测模块校验信息帧,如果通过校验,进一步解析该信息帧。
如果是参数设置命令,则检测设备提取其中的参数,然后向通信模块发送1个信息帧作为响应。
如果是读数据命令,则将10个被测电路板的参数组装成10个CAN数据帧,分别通过检测设备的CAN缓冲区的第2至第11缓冲区向外发送,该10个数据帧,仅被总线上的通信模块接收,分别放在第20至第30缓冲区。
通信模块将这些信息通过串口向上位机发送。
按照同样的方式,通信模块与其它9个检测模块及1个温控模块完成CAN通信,实现了命令的设置与测试信息的获取。
2检测模块的设计
老化系统的10个检测模块完全一样,完成同样的功能。
根据分析被测电路板的特性,设计了检测模块实现检测的方法与流程。
检测模块首先检测被测电路板是否存在短路故障与断路故障,如果发现被测电路板存在断路故障或断路故障,则不再进一步检测,在与通信模块通信过程发送该故障信息。
如果被测电路没有短路故障或断路故障,则检测模块向被测电路板加上额定工作电压与有效的激励信号,使被测电路板正常工作,然后检测被测电路板的输出信号的波形类型及频率,按照设定的检测算法判断被测电路板是否存在其它故障。
在100多个小时的测试过程中,测试环境的温度可以根据用户的设置不断变化或自动变化,检测模块提供的输入激励信号采用多种组合。
3温控模块设计
在老化过程,被老化的电路板被放置在密闭的柜体中。
该柜体内的温度保持在一定的范围,以模拟中电路板的实际工作环境的温度。
温控模块通过CAN总线接收通信模块发来的信息帧,解析信息帧,得到用户要设置的温度值。
温控模块检测柜体温度,控制加热装置加热与否,使柜体的温度达到用户设置的温度。
温度检测采用DS18B20完成,在温控模块中设置4个DS18B20。
将测得的4个温度值进行算术平均,作为老化柜体内的温度值。
温控模块的继电器输出接加热棒及排风风扇。
采用了PID控制算法,使柜体内温度达到用户设置温度。
4上位机软件的设计上位机软件采用VC++6.0设计完成,串口通信部分使用WindowsAPI函数完成,使用API函数处理串口灵活高效。
上位机软件实时显示每个被测电路板是否正常工作及当前老化柜的温度及老化时间等信息,还提供历史数据查询及参数设置等功能。
4结束语
本老化测试系统,采用CAN总线作为系统的主要通信方式,采用模块化结构,方便系统的设计与调试,同时,各模块挂在CAN总线,易于系统实现与扩展。
本系统已经应用于生产中,达到了设计要求,运行效果稳定良好。
本系统已产生经济效益近30万元。
本文作者创新点:
本老化系统的检测模块与通信模块采用CAN总线进行通信,通信稳定,高速;整个系统采用检测模块-通信模块-上位机的三层结构,实现了对大批量被测电路板的检测。
帧命令后的若干时间没有收到通信模块的应答信息,就再次发送该命令信息,连续3次没收到应答信息,就可以认为存在通信故障,从而产生报警信息,提示用户处理。
相关文章推荐:
《LED照明产品的老化测试方案》
《基于CAN总线的老化测试系统的设计》
版权申明
本文部分内容,包括文字、图片、以及设计等在网上搜集整理。
版权为潘宏亮个人所有
Thisarticleincludessomeparts,includingtext,pictures,anddesign.CopyrightisPanHongliang'spersonalownership.
用户可将本文的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人的书面许可,并支付报酬。
Usersmayusethecontentsorservicesofthisarticleforpersonalstudy,researchorappreciation,andothernon-commercialornon-profitpurposes,butatthesametime,theyshallabidebytheprovisionsofcopyrightlawandotherrelevantlaws,andshallnotinfringeuponthelegitimaterightsofthiswebsiteanditsrelevantobligees.Inaddition,whenanycontentorserviceofthisarticleisusedforotherpurposes,writtenpermissionandremunerationshallbeobtainedfromthepersonconcernedandtherelevantobligee.
转载或引用本文内容必须是以新闻性或资料性公共免费信息为使用目的的合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任。
Reproductionorquotationofthecontentofthisarticlemustbereasonableandgood-faithcitationfortheuseofnewsorinformativepublicfreeinformation.Itshallnotmisinterpretormodifytheoriginalintentionofthecontentofthisarticle,andshallbearlegalliabilitysuchascopyright.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAN 总线 老化 测试 系统 设计方案