基于STM32的CAN总线的数据采集卡设计 联系客服

发布时间 : 星期五 文章基于STM32的CAN总线的数据采集卡设计更新完毕开始阅读

学 号: 0121311371307

能力拓展训练

题 目 学 院 专 业 班 级 姓 名 指导教师

2016 年 8 月 27 日

基于STM32的CAN总线数据采集卡设计

自动化学院 自动化专业 自动化1305班

司文雷 罗璠

任务书

1、要求设计如下功能的数据采集卡:

(1)采用STM32对8路0~5V模拟信号进行采集,采样频率为100Hz。 (2)采集的数据要求通过CAN总线发送出去。 (3)数据采集卡的CAN总线标识符可用拨码开关指定。

2、要求选择合适的STM32微控制器,具备对CAN总线的支持,并选择合适的CAN接口电路芯片;

3、要求完成采集卡的硬件电路设计,包括原理图设计、PCB布线设计; 4、要求完成STM32程序设计,并进行仿真; 5、提交设计报告。

1 STM32简介 .................................................................................................................................... 3 1.1 STM32F105VCT6的参数 .................................................................. 错误!未定义书签。 1.2 内部资源 .................................................................................................................................. 4 1.3 Cortex-M3内核简介 ............................................................................................................... 5 2 CAN概述........................................................................................................................................ 6 2.1CAN简介 ...................................................................................................................................... 6 2.2工作原理 .................................................................................................................................... 7 2.3CAN的高层协议 .......................................................................................................................... 7 2.4 CAN波特率计算 ........................................................................................................................ 8 2.4.1 波特率 ..................................................................................................................................... 8 2.4.2CAN波特率的计算 ................................................................................................................. 8 3硬件电路设计 .............................................................................................................................. 13 4软件实现...................................................................................................................................... 14 4.1STM32电压数据采集的软件实现 ........................................................................................... 14

4.1.1AD-DA模块的编写 ..................................................................................................... 14 4.2CAN 总线节点的软件设计 ..................................................................................................... 24 结论 ................................................................................................................................................ 32 参考文献......................................................................................................................................... 33 附录1 ............................................................................................................................................. 35 附录2 ............................................................................................................................................. 36

1

摘要

摘要:CAN(Controller Area Network,控制器局域网)是一种有效支持实时控制的串行数据通信网络。自上世纪80年代诞生以来,CAN总线以其可靠性好、实时性高及组网简便灵活等优势而受到人们的青睐,并在众多行业领域内得到了广泛的应用。随着工业技术的不断进步,控制过程的自动化与网络化是必然的发展趋势,同时数据的传输量越来越大,对数据传输的实时性要求也更加苛刻。笔者采用内置 CAN 控制器的高性能微处理器STM32F105vct6 作为节点的微处理器,使用带隔离的高速集成 CTM1050T 作为 CAN 收发器,数据输入输出通道采用光电耦合器进行隔离,设计了 CAN 总线系统的数据采集节点。本设计节点具有体积小、功耗低、抗干扰能力强、实时性高及数据处理能力强等优势。实现,它主要实现现场节点的监控及数据的显示、分析和存储。数据转换器采用 RS-232 转 CAN,它主要实现串口协议与 CAN 协议之间的桥接,并将接收的数据进行转发。各节点与工业现场的仪器仪表相连接,不分主次地挂接在 CAN 总线上,它主要实现数据的采集与处理,并接收来自 CAN 总线上的数据或将数据发送到 CAN 总线上。

关键词:STM32;CAN总线;数据采集

2