CN109799737A - 一种基于can总线的主从机通信系统设计 - Google Patents
一种基于can总线的主从机通信系统设计 Download PDFInfo
- Publication number
- CN109799737A CN109799737A CN201711138945.XA CN201711138945A CN109799737A CN 109799737 A CN109799737 A CN 109799737A CN 201711138945 A CN201711138945 A CN 201711138945A CN 109799737 A CN109799737 A CN 109799737A
- Authority
- CN
- China
- Prior art keywords
- bus
- communication system
- system design
- slave communication
- sja1000
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明涉及一种基于CAN总线的主从机通信系统设计,本发明在单片机中实现CAN总线的接口,通过CAN总线,实现两个模块之间的数据通讯;本发明主要由PC机、微控制器80C51、独立CAN通信控制器SJA1000和CAN总线收发器PCA82C250t等部分组成;微处理器80C51负责SJA1000的初始化,本发明通过控制SJA1000实现数据的发送和接收等通信任务。
Description
技术领域
本发明专利涉及电子设计技术领域,尤其涉及一种基于CAN总线的主从机通信系统设计。
背景技术
CAN 即控制器局域网络, 控制器局部网(CAN-CONTROLLER AREA NETWORK)是BOSCH公司领先推出的一种多主机局部网,由于其高性能、高可靠性、实时性等优点现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。控制器局部网将在我国迅速普及推广。由于CAN为愈来愈多不同领域采用和推广,导致要求各种应用领域通信报文的标准化。为此,1991年 9月 PHILIPS SEMICONDUCTORS制订并发布了CAN技术规范(VERSION 2.0)。该技术规范包括A和B两部分。2.0A给出了曾在CAN技术规范版本1.2中定义的CAN报文格式,能提供11位地址;而2.0B给出了标准的和扩展的两种报文格式,提供29位地址。此后,1993年11月ISO正式颁布了道路交通运载工具-数字信息交换-高速通信控制器局部网(CAN)国际标准(ISO11898),为控制器局部网标准化、规范化推广铺平了道路。
发明专利内容
本发明专利涉及一种基于CAN总线的主从机通信系统设计,本发明在单片机中实现CAN总线的接口,通过CAN总线,实现两个模块之间的数据通讯;本发明主要由PC机、微控制器80C51、独立CAN通信控制器SJA1000和CAN总线收发器PCA82C250t等部分组成;微处理器80C51负责SJA1000的初始化,本发明通过控制SJA1000实现数据的发送和接收等通信任务。
附图说明
图1:系统结构框图。
图2:时钟电路图。
图3:按键复位电路图。
图4:电源电路图。
图5:SJA1000与单片机的接口电路图。
图6:MAX232芯片引脚图。
图7:6N137引脚图。
图8:主程序流程图。
图9:初始化子程序流程图。
图10:发送子程序流程图。
图11:接收子程序流程图。
具体实施方式
为了使本发明专利的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明专利进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明专利,并不用于限定本发明专利。
本发明专利涉及一种基于CAN总线的主从机通信系统设计,本发明在单片机中实现CAN总线的接口,通过CAN总线,实现两个模块之间的数据通讯;本发明主要由PC机、微控制器80C51、独立CAN通信控制器SJA1000和CAN总线收发器PCA82C250t等部分组成;微处理器80C51负责SJA1000的初始化,本发明通过控制SJA1000实现数据的发送和接收等通信任务。
进一步的,本发明采用AT89C51单片机,AT89C51与PC机串行通信,设置SJA1000工作于Intel模式,由PC机发送的数据写入SJA1000并通过CAN收发器发送。接收数据是通过中断进行的,CAN 总线传输过来的数据经CAN接口芯片PCA82C250接收并写入SJA1000的RXFIFO,然后通过中断提请CPU读取,读取的数据上传送给PC机。系统结构框图如图1所示。
进一步的,ATMEL公司生产的AT89C51单片机采用高性能的静态80C51设计,并采用先进工艺制造,还带有非易失性Flash程序存储器。
进一步的,本发明的时钟电路用于产生单片机工作所需的时钟信号。时钟信号可以有两种方式产生:内部时钟方式和外部时钟方式。本发明选用内部时钟方式如图2所示。
进一步的,复位操作可以使单片机初始化,也可以使死机状态下的单片机重新启动,因此复位电路对单片机非常重要。复位电路一般分为上电复位,按键复位等。本发明所选用的复位电路为按键复位如图3所示。
进一步的,本发明采用LM1572芯片设计电源电路。LM1572是一个频率为500kHz降压型开关脉宽调制稳压电路,可驱动1.5A的负载,占用较小的PCB空间,有极好的电流响应特性和较宽的工作电压范围,是美国国半公司采用先进的模拟双极形CMOS与DMOS处理工艺制造,能够较高的开关频率下提供较高的效率。内置150mΩ场效应功率管可在较小的封装中提供较大的功率。其输出电压可固定5V和3.3V或可调输出。电路图如图4所示。
进一步的,CAN控制器与外部CPU的接口是通过控制器接口逻辑(CIL)实现的,80C51 的CPU通过将地址总线(AB)和数据总线(DB)连接到CIL上来完成与CAN控制器之间的信息交换,不需要专门的控制总线(CB),CPU与PCA82C250之间的状态、控制和命令信号的交换在CAN控制器中完成。SJA1000与单片机的接口电路如图5所示。
进一步的,MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。它的内部结构可分为三个部分;第一部分是电荷泵电路,由1、2、3、4、5、6脚和4只电容构成,功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。第二部分是数据转换通道,由7、8、9、10、11、12、13、14脚构成两个数据通道,其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道;8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道;TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。第三部分是供电。15脚DNG、16脚VCC(+5v)。MAX232芯片引脚如图6所示。
进一步的,高速光电耦合器6N137由磷砷化镓发光二极管和光敏集成检测电路组成。通过光敏二极管接收信号并经内部高增益线性放大器把信号放大后,由集电极开路门输出。6N137引脚图如图7所示。该光电器件高、低电平传输延迟时间短,典型值仅为45ns,已接近TTL电路传输延迟时间的水平。具有10Mbps的高速性能,因而在传输速度上完全能够满足隔离总线的要求。内部噪声防护装置提供了典型10kV/μs的共模抑制功能。除此之外,6N137 还具有一个控制端,通过对该端的控制,可使光耦输出端呈现高阻状态。
进一步的,PCA82C250是CAN协议控制器和物理总线间的接口,它主要是为汽车中高速通讯(高达1Mbps)应用而设计。此器件对总线提供差动发送能力,对CAN控制器提供差动接收能力,与ISO11898标准完全兼容。PCA82C250芯片由接收器、驱动器、基准电压产生电路、工作模式选择电路及保护电路等组成。PCA82C250内部的限流电路可以防止发送输出级对电池电压的正端和负端短路。虽然在这种故障条件出现时,功耗将增加,但这种特性可以阻止发送器输出级的破坏。在节点温度大约超过160℃时,两个发送器输出端的极限电流将减少。由于发送器是功耗的主要部分,因此芯片温度会迅速降低。PCA82C50芯片的其他部分将继续工作。当总线短路时,热保护十分重要。
进一步的,CAN 总线节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收。程序开始运行后,先调用初始化子程序,分别对两个CAN模块中的SJA1000进行初始化,然后把要发送的数据写入CPU的存储器中,然后循环调用发送数据子程序和接收数据子程序。具体流程如图8所示。
进一步的,SJA1000的初始化只有在复位模式下才可以进行,初始化主要包括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器(AMR)和接收代码寄存器(ACR)的设置、波特率参数设置和中断允许寄存器(IER)的设置等。在完成SJA1000的初始化设置以后,SJA1000就可以回到工作状态,进行正常的通信任务。初始化子程序先设置MOD选择复位模式,然后分别设置CDR选择工作模式;设置IER选择中断类型;设置BTR0、BTR1设定传输速率;设置OCR选择输出模式;设置ACR、AMR设定接收数据类型;RBSA、TXERR、ECC均清零,最后设置MOD进入工作模式。具体流程如图9所示。
进一步的,发送子程序负责节点报文的发送。发送时用户只需将待发送的数据按特定格式组合成一帧报文,送入SJA1000发送缓存区中,然后启动SJA1000 发送即可。发送数据子程序先把三个控制字节写入发送缓冲区,然后把等待发送的数据也写入发送缓冲区,最后设置CMR,发出发送请求、启动SJA1000发送数据。具体流程如图10所示。
进一步的,接收子程序负责节点报文的接收以及其它情况处理。接收子程序比发送子程序要复杂一些,因为在处理接收报文的过程中,同时要对诸如总线脱离、错误报警、接收溢出等情况进行处理。SJA1000报文的接收主要有两种方式:中断接收方式和查询接收方式,两种接收方式编程的思路基本相同,如果对通信的实时性要求不是很强,一般采用查询接收方式。接收数据子程序首先要读SR和IR,判断工作状态及中断类型并做相应处理,若RXFIFO有数据,应判断帧类型并做相应处理,若数据正确则送至CPU的内部存储器。具体流程如图11所示。
以上所述仅为本发明专利的较佳实施例而已,并不用以限制本发明专利,凡在本发明专利的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明专利的保护范围之内。
Claims (7)
1.本发明专利涉及一种基于CAN总线的主从机通信系统设计,本发明在单片机中实现CAN总线的接口,通过CAN总线,实现两个模块之间的数据通讯;本发明主要由PC机、微控制器80C51、独立CAN通信控制器SJA1000和CAN总线收发器PCA82C250t等部分组成;微处理器80C51负责SJA1000的初始化,本发明通过控制SJA1000实现数据的发送和接收等通信任务。
2.根据权利要求1所述的一种基于CAN总线的主从机通信系统设计,其特征在于,本发明由液位变送器产生一个输入信号给AD转换器ADC0804进行信号转换送入CPU,进行数据处理,然后经由CAN总线控制后由CPU输出信号给DA转换器DAC0832,然后输出信号作用于控制阀门,直接作用于容器装置,形成一个完整的循环控制系统。
3.根据权利要求1所述的一种基于CAN总线的主从机通信系统设计,其特征在于,本发明选用AT89C51单片机。
4.根据权利要求1所述的一种基于CAN总线的主从机通信系统设计,其特征在于,本发明选用CYB31型液位变送器来进行液位的测量。
5.根据权利要求1所述的一种基于CAN总线的主从机通信系统设计,其特征在于,本发明中采集模拟信号是使用的转换器是ADC0804。
6.根据权利要求1所述的一种基于CAN总线的主从机通信系统设计,其特征在于,本发明中CAN总线控制器芯片采用MCP2510。
7.根据权利要求1所述的一种基于CAN总线的主从机通信系统设计,其特征在于,本发明选择TLP113光耦合器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711138945.XA CN109799737A (zh) | 2017-11-16 | 2017-11-16 | 一种基于can总线的主从机通信系统设计 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711138945.XA CN109799737A (zh) | 2017-11-16 | 2017-11-16 | 一种基于can总线的主从机通信系统设计 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109799737A true CN109799737A (zh) | 2019-05-24 |
Family
ID=66555584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711138945.XA Pending CN109799737A (zh) | 2017-11-16 | 2017-11-16 | 一种基于can总线的主从机通信系统设计 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109799737A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0792078B1 (de) * | 1996-02-22 | 2005-01-19 | Siemens Aktiengesellschaft | Aktuator-sensor-interface-system |
CN101286940A (zh) * | 2008-05-12 | 2008-10-15 | 北京邮电大学 | 双冗余can总线通信系统及其通信方法 |
CN201757857U (zh) * | 2010-06-25 | 2011-03-09 | 房慧龙 | Can总线通信监测分析仪 |
CN105389278A (zh) * | 2015-10-13 | 2016-03-09 | 广东聚光电子科技有限公司 | 一种基于can总线的主从机串行通信方法 |
CN106339345A (zh) * | 2016-08-30 | 2017-01-18 | 山东得普达电机股份有限公司 | 一主多从式通信装置及通信方法 |
-
2017
- 2017-11-16 CN CN201711138945.XA patent/CN109799737A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0792078B1 (de) * | 1996-02-22 | 2005-01-19 | Siemens Aktiengesellschaft | Aktuator-sensor-interface-system |
CN101286940A (zh) * | 2008-05-12 | 2008-10-15 | 北京邮电大学 | 双冗余can总线通信系统及其通信方法 |
CN201757857U (zh) * | 2010-06-25 | 2011-03-09 | 房慧龙 | Can总线通信监测分析仪 |
CN105389278A (zh) * | 2015-10-13 | 2016-03-09 | 广东聚光电子科技有限公司 | 一种基于can总线的主从机串行通信方法 |
CN106339345A (zh) * | 2016-08-30 | 2017-01-18 | 山东得普达电机股份有限公司 | 一主多从式通信装置及通信方法 |
Non-Patent Citations (1)
Title |
---|
百度文库: "基于CAN总线的主从机通信系统设计", 《HTTPS://WENKU.BAIDU.COM/VIEW/30FA031DC5DA50E2524D7FAA?PCF=2&BFETYPE=NEW&BFETYPE=NEW&BFETYPE=NEW》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9575552B2 (en) | Device, method and system for operation of a low power PHY with a PCIe protocol stack | |
CN103685005B (zh) | 一种智能网关 | |
CN105141491B (zh) | 一种实现自发自收的rs485通讯电路及方法 | |
CN114564427A (zh) | 一种ahb总线到i2c总线的总线桥、系统及方法 | |
CN202735787U (zh) | 一种电力信息机房环境实时监控系统 | |
CN102637453B (zh) | 一种包括串行输入输出接口的相变存储器 | |
CN103179054B (zh) | 用于光网络单元的控制面板及控制方法 | |
CN104267694A (zh) | 一种智能家居管理系统 | |
CN109062834A (zh) | 基于dma的spi通讯方法、电子设备、存储介质、装置 | |
CN210222744U (zh) | 一种基于usb_otg模式下的主从设备切换装置及终端设备 | |
CN201813394U (zh) | 基于FlexRay总线的车载网关设备 | |
CN110474828A (zh) | 一种mbus总线通信方法及系统 | |
CN206878840U (zh) | 一种usb转rs485通信适配器 | |
CN109799737A (zh) | 一种基于can总线的主从机通信系统设计 | |
CN201263157Y (zh) | 一种小型嵌入式UART接口转CAN-bus网络模块 | |
Li et al. | UART Controller with FIFO Buffer Function Based on APB Bus | |
CN102103554A (zh) | 基于无线传感网络的打印机接口装置 | |
CN214755728U (zh) | 一种基于VxWorks系统的智能化GIS控制装置 | |
Lv et al. | Design of communication node based on CAN bus | |
CN210348476U (zh) | 基于rs232电平实现类rs485总线连接的电路及数据传输装置 | |
CN209842615U (zh) | SPI-FlexRay接口转换模块 | |
CN220671620U (zh) | 一种数据采集平台 | |
CN208623685U (zh) | 一种路由器兼网关一体盒 | |
CN104486183B (zh) | 一种收发自控制的三态rs485通讯方法 | |
CN214795621U (zh) | 一种智能断路器的通讯转发电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190524 |
|
WD01 | Invention patent application deemed withdrawn after publication |