基于CAN总线的智能节点的设计
摘要:CAN总线性能优越,是当前的研究热点,本文提出一种基于STM32F107和SN65HVD230组成的CAN总线智能节点测试系统。分别设计了基于CAN总线智能节点系统的硬件结构和软件设计,实现了稳定可靠的数据测量控制,提高了工业现场的可操作性。实际应用表明,该方案提出的智能节点组态灵活、结构简单、性能稳定、扩展性好。
关键词:CAN总线;智能节点;STM32F107
现场总线是工业自动化领域中实现分布式控制而产生的工业级局域网,其可以实现控制系统内各节点的实时数据通信,具有良好的可靠性,成为当前工业控制领域内的研究热点。在众多现场总线中,CAN总线以其高性能的特点,被广泛应用于航天航空、工业控制、环境监测,医疗设备等多个方面。基于CAN总线的控制节点可实现对工业控制中多点
的分布式控制,具有重要的研究价值。
1 总体结构设计
CAN总线采用了不同于传统的分布式控制系统的构架,由分散于工业控制中现场智能节点完成传统系统中主机的常规测试与控制。因此基于CAN总线的分布式控制系统的主机不必监控底层设备,实现高性能的高层次控制与管理。一般基于CAN总线的工业分布式控制系统中由主机、数据转换器以及智能节点组成。
整个系统的结构如图1所示,主机和智能节点通过CAN总线连接,智能节点作为从机通过CAN接口连接CAN总线。主机由基于LabVIEW设计的监测软件和硬件资源组成,主要实现对智能节点的监测以及测试数据的显示和存储。数据转换器是串口转CAN总线实现数据的转换,并实现转发。各个智能节点都挂接到 CAN总线上,将采集到的数据发送到CAN总线上或者接受CAN总线上数据进行处理。智能节点主要由微控制器、CAN收发器以及相应I/O接口组成。

智能节点设计使用STM32F107作为其主控芯片,集成多项高性能工业标准接口的互联型微处理器,其采用32位ARM Cortex—M3核心,主频高达72 MHz,其出色的兼容性以及高性能,低价格,具有较大的RAM和ROM,对于程序量较大的嵌入式系统有良好的支持,广泛应用于工业控制中。
新STM32外设丰富强大,包括10个定时器,其中一些不仅可以进行普通的定时还可以进行脉冲捕获、以及PWM生成;2个12位AD模数转换器,其最大采样率高达2M sample/s、2个12位DA数模转换器、2个I2C接口、5个UART接口支持最高921 600 bps和3个SPI端口和高质量数字音频接口IIS,拥有全速USB(OTG)接口,支持2路CAN2.0B接口,以及高速以太网10/100 MAC模块接口。
CAN收发器选择德州仪器的SN65HVD230,该器件具有高速率、高抗干扰能力和高可靠性CAN总线的串行通信。该芯片在CAN总线系统中具有广泛的应用,便于更换。
2 系统硬件设计
一般的CAN总线智能节点由三个部分:微控制器、CAN总线控制器以及CAN总线收发器组成。微控制器STM32F107内部已经集成了CAN总线控制器,故本文涉及的智能节点主要由STM32F107和CAN总线收发器组成。
图2是基于STM32F107智能节点系统的CAN总线部分原理图。图中STM32F107的PD0和PD1脚分别为CANRX和CANTX引脚,为 CAN总线的输入输出管脚,连接CAN总线收发器才能与CAN物理总线相连。CAN收发器SN65HVD230,具有速度高达1 Mbps的差分发送、差分接收能力,提供三种工作模式:高速、低电流待机和斜率控制。自身具有短路保护、失地保护、过压保护和过热保护。常态下工作电压是 -2V~7V,瞬时耐压范围是-25V~25V。CAN收发器SN65HVD230第8引脚经10 k电阻与PD15连接,这样可以由微控制器控制其工作模式,当PD 15为低电平时为高速工作模式,PD15为高电平时为低电流待机模式。CAN收发器SN65HVD230与CAN总线的接口设计时采用较强的抗干扰措施,以及过流保护等方式。其中与CANH、CANL串连的5 k电阻可起到一定的限流作用;并联在CANH、CANL和地之间的32 pF的小电容,防止高频干扰,同时具有一定的防电磁辐射能力;在CAN总线的输入端与地之间接的防雷击管,可以滤除CAN总线输入端和地之间的瞬态突变干扰。

复位电路则是包括按键复位电路和上电自动复位电路组成,加强其可靠性。本文为了系统的调试,集成了JTAG的调试接口。
3 系统软件设计
基于CAN总线的智能节点主程序流程如图3所示,其发送方式通过查询实现,而发送数据方式通过中断来实现。智能节点的主程序主要包括系统及外设初始化、CAN控制器初始化、数据发送、数据接收部分。

在CAN控制器初始化时,必须要求其控制寄存器中复位位置较高时,才可以访问寄存器。因此,在初始化寄存器前,系统必须确保已经进入复位状态,在访问CAN总线时寄存器中的内容决定波特率的大校总线定时寄存器的初始化值应
- 机车空调逆变电源控制系统及其实现(06-21)
- 现场总线在并联逆变电源系统中的应用(06-23)
- 基于CAN总线的蓄电池组充放电集散控制系统的设计(08-04)
- CAN现场总线的时间信息共享技术(08-06)
- 基于CAN总线的分布式电池管理系统(01-23)
- 基于CAN总线的A320模拟器硬件仿真方案研究(03-21)
- 妤傛ḿ楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閸忋劍鏌熸担宥咁劅娑旂姴鐨犳0鎴滅瑩娑撴氨鐓$拠鍡礉閹绘劕宕岄惍鏂垮絺瀹搞儰缍旈懗钘夊閿涘苯濮幃銊ユ彥闁喐鍨氶梹澶歌礋娴兼ḿ顫呴惃鍕殸妫版垵浼愮粙瀣瑎...
- 娑擃厾楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
缁箖鈧拷30婢舵岸妫亸鍕暥閸╃顔勭拠鍓р柤閿涘奔绗撶€硅埖宸跨拠鎾呯礉閸斺晛顒熼崨妯烘彥闁喕鎻崚棰佺娑擃亜鎮庨弽鐓庣殸妫版垵浼愮粙瀣瑎閻ㄥ嫯顩﹀Ч锟�...
- Agilent ADS 閺佹瑥顒熼崺纭咁唲鐠囧墽鈻兼總妤勵棅
娑撴挸顔嶉幒鍫n嚦閿涘苯鍙忛棃銏n唹鐟欘枃DS閸氬嫮顫掗崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱遍崝鈺傚亶閻€劍娓堕惌顓犳畱閺冨爼妫跨€涳缚绱癆DS...
- HFSS鐎涳缚绡勯崺纭咁唲鐠囧墽鈻兼總妤勵棅
鐠у嫭绻佹稉鎾愁啀閹哄牐顕抽敍灞藉弿闂堛垼顔夐幒鍦欶SS閻ㄥ嫬濮涢懗钘夋嫲鎼存梻鏁ら敍灞藉簻閸斺晜鍋嶉崗銊╂桨缁崵绮洪崷鏉款劅娑旂姵甯夐幓顡嶧SS...
- CST瀵邦喗灏濆銉ょ稊鐎广倕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閺夊孩妲戝ú瀣╁瘜鐠佽绱濋崗銊╂桨鐠佸弶宸緾ST閸氬嫰銆嶉崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱濋崝鈺傚亶韫囶偊鈧喕鍤滅€涳附甯夐幓顡塖T鐠佹崘顓告惔鏃傛暏...
- 鐏忓嫰顣堕崺铏诡攨閸╃顔勭拠鍓р柤
娑撳洣绗€妤傛ɑ銈奸獮鍐叉勾鐠у嚖绱濇潻娆庣昂鐠囧墽鈻兼稉杞扮稑閸︺劌鐨犳0鎴炲Η閺堫垶顣崺鐔枫亣鐏炴洘瀚甸懘姘剧礉閹垫挷绗呴崸姘杽閻ㄥ嫪绗撴稉姘唨绾偓...
- 瀵邦喗灏濈亸鍕暥濞村鍣洪幙宥勭稊閸╃顔勭拠鍓р柤閸氬牓娉�
鐠愵厺鎷遍崥鍫ユ肠閺囨潙鐤勯幆鐙呯礉缂冩垵鍨庨妴渚€顣剁拫鍙樺崕閵嗕胶銇氬▔銏犳珤閵嗕椒淇婇崣閿嬬爱閿涘本鍨滅憰浣圭壉閺嶉绨块柅锟�...