CN105487438A - 一种can总线控制器sja1000与dsp的接口控制方法 - Google Patents
一种can总线控制器sja1000与dsp的接口控制方法 Download PDFInfo
- Publication number
- CN105487438A CN105487438A CN201510847081.3A CN201510847081A CN105487438A CN 105487438 A CN105487438 A CN 105487438A CN 201510847081 A CN201510847081 A CN 201510847081A CN 105487438 A CN105487438 A CN 105487438A
- Authority
- CN
- China
- Prior art keywords
- address
- bus
- data
- controller
- dsp
- 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
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25032—CAN, canbus, controller area network bus
Abstract
本发明涉及一种CAN总线控制器SJA1000与DSP的接口控制方法。本发明属于数据通信技术领域。一种CAN总线控制器SJA1000与DSP的接口控制方法,其特点是:CAN总线控制器SJA1000与DSP的接口采用微控制器和CAN控制器的接口电路进行控制,将地址线和数据线独立的DSP芯片和地址/数据分时复用的CAN控制器SJA1000组成智能管控单元;微控制器和CAN控制器的接口电路由时序及控制逻辑产生电路、地址产生电路和数据/地址总线驱动电路组成;读、写信号的控制总线和地址总线作为时序及控制逻辑产生电路的输入,经过地址产生电路,二者生成的控制信号构成CAN控制器的控制总线。本发明具有时间资源和空间资源配置合理,接口和时序匹配可靠,简单易行,实现手段多样,应用领域广泛等优点。
Description
技术领域
本发明属于数据通信技术领域,特别是涉及一种CAN总线控制器SJA1000与DSP的接口控制方法。
背景技术
目前,控制器局域网络CAN(ControlAreaNetwork)总线是能够有效支持分布式控制或实时控制的串行通信网络,具有结构简单、通信灵活、实时性高、可靠性高、较强的抗干扰性以及良好的错误检测能力。
实现智能自主控制是基于CAN总线的电子系统智能管控单元的普遍要求。这类智能管控单元需要快速获取并存储各类敏感器的大量测量数据,快速处理数据并作出正确的控制决策,立即给出控制指令。这不仅要求处理器具有更高的运算速度、更大的存储能力,同时也要求总线具有更高的通信速率和更可靠的工作特性。
DSP芯片可以作为电子系统处理器的最佳选择,其运行速度和计算能力远远超过单片机,尤其适用于数据量大、要求快速运算的工业场合,是智能管控单元比较常用的一类处理器。目前,CAN总线应用最广泛的控制器是Philips公司的SJA1000独立CAN控制器。但是,DSP芯片的片外引脚一般采用地址线和数据线分离的结构,不再使用地址/数据分时复用线,而CAN控制器SJA1000采用地址/数据分时复用,所以不能将DSP与SJA1000的地址和数据总线直接相连。国内外没有专用集成芯片实现两者的转换。虽然有部分DSP内部的事件管理器包含了一个eCAN模块,配合CAN总线驱动器PCA82C250即可构成CAN节点,但是目前构成CAN总线网络最常用的CAN控制器是地址/数据分时复用的结构,也就是说其它CAN控制器和SJA1000类似,而且存在DSP内部的eCAN模块不能满足双总线的要求等技术问题。
发明内容
本发明为解决公知技术中存在的技术问题而提供一种CAN总线控制器SJA1000与DSP的接口控制方法。
本发明的目的是提供一种具有时间资源和空间资源配置合理,接口和时序匹配可靠,简单易行,实现手段多样,应用领域广泛等特点的CAN总线控制器SJA1000与DSP的接口控制方法。使地址线和数据线独立的DSP芯片可以和地址/数据分时复用的CAN控制器SJA1000组成电子系统智能管控单元的CPU最小系统。
本发明涉及的控制器SJA1000与DSP的接口逻辑方法主要包括把DSP和CAN控制器的相关控制信号通过时序及控制逻辑电路、地址产生电路相匹配的方法,以及CAN控制器的数据/地址总线是如何在控制信号的作用下进行时分复用的。
本发明CAN总线控制器SJA1000与DSP的接口控制方法所采取的技术方案是:
一种CAN总线控制器SJA1000与DSP的接口控制方法,其特征是:CAN总线控制器SJA1000与DSP的接口采用微控制器和CAN控制器的接口电路进行控制,将地址线和数据线独立的DSP芯片和地址/数据分时复用的CAN控制器SJA1000组成智能管控单元;微控制器和CAN控制器的接口电路由时序及控制逻辑产生电路、地址产生电路和数据/地址总线驱动电路组成;读、写信号的控制总线和地址总线作为时序及控制逻辑产生电路的输入,经过地址产生电路,二者生成的控制信号构成CAN控制器的控制总线。
本发明CAN总线控制器SJA1000与DSP的接口控制方法还可以采用如下技术方案:
所述的CAN总线控制器SJA1000与DSP的接口控制方法,其特点是:微控制器的数据总线在时序及控制逻辑产生电路输出信号的控制下,经过数据/地址总线驱动电路生成数据/地址总线作为CAN控制器的数据/地址总线。
所述的CAN总线控制器SJA1000与DSP的接口控制方法,其特点是:CAN控制器的控制信号决定当前时刻的总线是数据总线还是地址总线,实现地址/数据分时复用。
本发明具有的优点和积极效果是:
CAN总线控制器SJA1000与DSP的接口控制方法由于采用了本发明全新的技术方案,与现有技术相比,本发明具有以下明显特征:
1、本发明提供了一种CAN总线控制器SJA1000与DSP的接口控制方法,实现了时间资源和空间资源的合理配置。
2、本发明涉及的控制器SJA1000与DSP的接口逻辑电路可以通过CPLD实现,也可以通过门电路实现。可以结合自身情况,选择适合的方法和手段。
3、本发明利用DSP和SJA1000现有的硬件资源和自身的时序要求,把二者时序相关的信号经过重新梳理、整合,通过硬件的方式实现接口和时序的匹配,相比软件方式更可靠。
4、本发明涉及的接口控制方法可解决使用DSP作为处理器的CAN总线冗余备份的要求。只需给两个CAN控制器的相关控制信号分配不同的地址即可,DSP的两个外部中断可以作为两个CAN控制器的中断信号。方法简单易行,解决了DSP内部只有一个eCAN模块只能实现单总线的问题。
5、本发明控制器SJA1000与DSP的接口控制还适用其它地址/数据分时复用的CAN控制器和DSP的总线场合。对于地址/数据独立的处理器和地址/数据分时复用的控制器之间的接口和时序匹配问题,都可以使用本发明介绍的接口逻辑设计思路解决这一类问题。处理器并不局限于DSP,总线也不局限于CAN总线。因此,该类数字系统的应用领域不受限制。
附图说明
图1是微处理器与CAN控制器的接口设计原理框图;
图2是CAN控制器SJA1000读周期时序图(Intel模式);
图3是CAN控制器SJA1000写周期时序图(Intel模式);
图4是TMS320F2812与CAN控制器接口电路,其中虚线部分是数据/地址总线驱动电路;
图5虚线部分是DSP与SJA1000之间的时序及控制逻辑产生电路,其它部分是地址产生电路;
图6是SJA1000的CAN总线发送流程图;
图7是SJA1000的CAN总线接收流程图。
具体实施方式
为能进一步了解本发明的发明内容、特点及功效,兹例举以下实施例,并配合附图详细说明如下:
参阅附图1至图7。
实施例1
一种CAN总线控制器SJA1000与DSP的接口控制方法,采用微控制器和CAN控制器的接口电路进行控制。使地址线和数据线独立的DSP芯片可以和地址/数据分时复用的CAN控制器SJA1000组成电子系统智能管控单元的CPU最小系统。
微控制器和CAN控制器的接口电路主要由时序及控制逻辑产生电路、地址产生电路和数据/地址总线驱动电路组成。控制总线(读、写信号)和地址总线(A15-A13)作为时序及控制逻辑产生电路的输入,经过地址产生电路,二者生成的控制信号构成CAN控制器的控制总线。
微控制器的数据总线在时序及控制逻辑产生电路输出信号的控制下,经过总线驱动器生成数据/地址总线作为CAN控制器的数据/地址总线。CAN控制器的控制信号决定了当前时刻的总线是数据总线还是地址总线,也就是地址/数据分时复用。
微控制器的数据总线在时序及控制逻辑产生电路输出信号的控制下,经过数据/地址总线驱动电路生成数据/地址总线作为CAN控制器的数据/地址总线。CAN控制器的控制信号决定当前时刻的总线是数据总线还是地址总线,实现地址/数据分时复用。
本实施例的具体结构和控制过程:
微处理器与CAN控制器的接口,重点介绍CAN控制器与TMS320系列DSP的接口方法和接口电路。
DSP芯片以TI公司生产TMS320X系列产品为国内的主流产品,采用了先进的哈佛结构,内部采用多总线结构和流水线的工作方式,从而大大地提高了系统的运行速度和数字信号处理能力,DSP的指令执行时间在ns数量级,内部程序和数据存储器目前己达几十K字,并带有内部的硬件乘法器,这些都为DSP提供了广阔的应用空间。本发明使用TI公司的2000系列的微处理器TMS320F2812作为CPU。
SJA1000是一种独立的CAN总线控制器,该器件有8根地址/数据分时复用总线,引脚ALE控制地址锁存,CS控制片选。当MODE引脚接高时SJA1000工作在Intel总线时序方式,其Intel模式下总线读周期时序如图2所示。
当读周期来临时,首先CS有效,接下来地址信息出现在地址数据复用总线AD0~AD7上,然后地址锁存信号变低,该地址信息被锁存;之后读信号RD变为低电平有效,SJA1000内部RAM内的数据会出现在地址数据复用总线AD0~AD7上,读信号RD变高时,该数据就会被控制器获取;最后ALE、CS恢复为高电平,读取数据操作完成。
图3是SJA1000在Intel模式下写周期时序图。SJA1000的写周期过程和读周期类似,这里不作分析。
SJA1000的地址总线和数据总线是复用结构,通过ALE信号来锁存地址。而TMS320F2812的地址总线和数据总线分开。为使二者通信,需要将TMS320F2812的读写时序转换成符合SJA1000时序关系的信号。
图4中虚线部分是数据/地址总线驱动电路。TMS320F2812的数据线XD0-XD7两次通过74LVTH16245导出的信号AD0-AD7在SJA1000的地址/数据总线上相连。具体硬件原理图如图4所示。本文将DSP的数据线改为适应CAN控制器的地址/数据线。CAN控制器SJA1000的地址线和数据线是分时复用的。
图5虚线部分是DSP与SJA1000之间的时序及控制逻辑产生电路,其它部分是地址产生电路。DSP的读写选择信号R/W、地址XA0、地址空间选择信号CS_CAN通过逻辑变换产生能够控制SJA1000的地址和数据读写时序。控制SJA1000的读写时序的信号包括CAN_ALE,CAN_CS,CAN_RD和CAN_WR。信号之间的逻辑关系图5已说明。
下面详细介绍DSP与SJA1000之间地址产生电路的工作原理。用DSP芯片TMS320F2812产生的片选信号CS_CAN,将DSP的XA0作为地址/数据选择线。当XA0=0时,数据有效,产生SJA1000的CAN片选信号CAN_CS;当XA0=1时,地址有效,在DSP的读写选择信号R/W的作用下,经过组合逻辑电路产生SJA1000的地址有效信号CAN_ALE。在地址有效期间只产生满足CAN的地址有效信号,在数据有效期间只产生满足CAN的读和写逻辑信号时序。奇数地址选择端口,偶数地址传送数据。以上都是通过信号的逻辑组合实现的。
SJA1000读写信号CAN_WR和CAN_RD是时序及控制逻辑信号,是在片选信号CAN_CS的基础上,结合DSP的读写选择信号R/W,二者进行逻辑运算得到。具体过程参见图5的虚线部分。
以上关于DSP与SJA1000之间的时序及控制逻辑和地址产生电路的描述也可以通过复杂可编程逻辑器件CPLD实现,根据图5所示硬件原理图可以总结出SJA1000相关的控制信号的表达式。本发明详细介绍CAN控制器SJA1000与TMS320F2812之间的接口逻辑电路,目的是启示可以研制类似数字系统的具体过程。
通过以上设计可知,要访问CAN控制器寄存器时要分两步来实现,首先给出该寄存器的地址,然后访问该寄存器地址中的数据进行读写操作。图6和图7分别为增加了接口逻辑电路后的CAN总线发送流程图和接收流程图。下面详细介绍在CAN发送和接收过程中是进行读写操作的具体步骤。
CAN发送过程的开始阶段,先将地址切换至SJA1000状态寄存器,再读状态寄存器,判断SJA1000的发送缓冲器是否为空。如果不空,继续判断,直到检测到SJA1000的发送缓冲器为空,然后进行后续的发送过程。继续将地址切换至SJA1000发送缓冲区,再分别写入仲裁场、N个字节的数据场的内容。最后,将地址切换至SJA1000命令寄存器,写入命令寄存器相关内容,启动发送。
CAN接收过程和发送过程类似,先将地址切换至SJA1000中断寄存器,再读中断寄存器,判断当前有无接收中断。如果没有接收中断,继续判断,直到检测到SJA1000的接收中断为止,然后进行后续的接收过程。继续将地址切换至SJA1000接收缓冲区,再分别读取仲裁场、N个字节的数据场的内容。最后,将地址切换至SJA1000命令寄存器,写入命令寄存器相关内容,包括释放接收缓冲器、清除数据溢出和中止发送。
本实施例具有所述的时间资源和空间资源配置合理,接口和时序匹配可靠,简单易行,实现手段多样,应用领域广泛等积极效果。
Claims (3)
1.一种CAN总线控制器SJA1000与DSP的接口控制方法,其特征是:CAN总线控制器SJA1000与DSP的接口采用微控制器和CAN控制器的接口电路进行控制,将地址线和数据线独立的DSP芯片和地址/数据分时复用的CAN控制器SJA1000组成智能管控单元;微控制器和CAN控制器的接口电路由时序及控制逻辑产生电路、地址产生电路和数据/地址总线驱动电路组成;读、写信号的控制总线和地址总线作为时序及控制逻辑产生电路的输入,经过地址产生电路,二者生成的控制信号构成CAN控制器的控制总线。
2.根据权利要求1所述的CAN总线控制器SJA1000与DSP的接口控制方法,其特征是:微控制器的数据总线在时序及控制逻辑产生电路输出信号的控制下,经过数据/地址总线驱动电路生成数据/地址总线作为CAN控制器的数据/地址总线。
3.根据权利要求1或2所述的CAN总线控制器SJA1000与DSP的接口控制方法,其特征是:CAN控制器的控制信号决定当前时刻的总线是数据总线还是地址总线,实现地址/数据分时复用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510847081.3A CN105487438A (zh) | 2015-11-26 | 2015-11-26 | 一种can总线控制器sja1000与dsp的接口控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510847081.3A CN105487438A (zh) | 2015-11-26 | 2015-11-26 | 一种can总线控制器sja1000与dsp的接口控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105487438A true CN105487438A (zh) | 2016-04-13 |
Family
ID=55674485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510847081.3A Pending CN105487438A (zh) | 2015-11-26 | 2015-11-26 | 一种can总线控制器sja1000与dsp的接口控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105487438A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112187602A (zh) * | 2020-09-28 | 2021-01-05 | 湖北三江航天红峰控制有限公司 | 一种基于dsp+fpga多通道sja1000的can通讯系统及方法 |
CN112433969A (zh) * | 2020-11-08 | 2021-03-02 | 中国航空工业集团公司洛阳电光设备研究所 | 基于mcu io和sja1000的can数据收发方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1300984A (zh) * | 2001-02-15 | 2001-06-27 | 北京哈德威四方保护与控制设备有限公司 | 微处理器和can控制器的接口方法 |
CN1538271A (zh) * | 2003-10-22 | 2004-10-20 | 北京四方继保自动化有限公司 | 一种无需使用单片机的pc/104总线和can总线之间的接口 |
CN102722143A (zh) * | 2011-03-29 | 2012-10-10 | 上海大郡动力控制技术有限公司 | 采用复杂可编程逻辑器件扩展数字信号处理器端口的方法 |
CN102752180A (zh) * | 2012-06-18 | 2012-10-24 | 中国电子科技集团公司第十研究所 | Can总线网络节点的实现方法 |
CN104181828A (zh) * | 2014-08-12 | 2014-12-03 | 北京控制与电子技术研究所 | 一种can总线控制器适配器 |
-
2015
- 2015-11-26 CN CN201510847081.3A patent/CN105487438A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1300984A (zh) * | 2001-02-15 | 2001-06-27 | 北京哈德威四方保护与控制设备有限公司 | 微处理器和can控制器的接口方法 |
CN1538271A (zh) * | 2003-10-22 | 2004-10-20 | 北京四方继保自动化有限公司 | 一种无需使用单片机的pc/104总线和can总线之间的接口 |
CN102722143A (zh) * | 2011-03-29 | 2012-10-10 | 上海大郡动力控制技术有限公司 | 采用复杂可编程逻辑器件扩展数字信号处理器端口的方法 |
CN102752180A (zh) * | 2012-06-18 | 2012-10-24 | 中国电子科技集团公司第十研究所 | Can总线网络节点的实现方法 |
CN104181828A (zh) * | 2014-08-12 | 2014-12-03 | 北京控制与电子技术研究所 | 一种can总线控制器适配器 |
Non-Patent Citations (1)
Title |
---|
廖传书等: ""CAN总线控制器与DSP的接口"", 《电子技术应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112187602A (zh) * | 2020-09-28 | 2021-01-05 | 湖北三江航天红峰控制有限公司 | 一种基于dsp+fpga多通道sja1000的can通讯系统及方法 |
CN112433969A (zh) * | 2020-11-08 | 2021-03-02 | 中国航空工业集团公司洛阳电光设备研究所 | 基于mcu io和sja1000的can数据收发方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102510252B (zh) | 基于dsp+arm直接转矩控制系统及控制方法 | |
CN105680735B (zh) | 基于arm处理器的四轴伺服电机运动控制卡及方法 | |
CN201282429Y (zh) | 逆变器控制装置 | |
CN104408002A (zh) | 串口主从通信控制系统及方法 | |
CN105487438A (zh) | 一种can总线控制器sja1000与dsp的接口控制方法 | |
CN103077144A (zh) | 一种确保数据完整的spi通讯接口及其通讯方法 | |
CN102708079B (zh) | 应用于微控制器的控制数据传输的方法及系统 | |
CN203038046U (zh) | 一种控制板 | |
CN101795085A (zh) | 一种通用变频器实时控制器 | |
CN102591817B (zh) | 一种多总线桥控制器及其实现方法 | |
CN103678220A (zh) | 一种从pci总线扩展lbe总线的设计方法 | |
CN203366079U (zh) | 基于ZigBee协议的工业便携式实时监控系统 | |
CN203117968U (zh) | 一种spi通讯接口 | |
CN203133571U (zh) | 数控系统的双核处理控制电路 | |
CN205081473U (zh) | 基于dsp+fpga的双核逆变器模块通信系统的控制电路板 | |
CN104836710A (zh) | 一种基于分布式系统一主多从通信的方法与装置 | |
CN201749350U (zh) | 小型plc的人机界面装置 | |
CN202422113U (zh) | PowerPC嵌入式计算机实现ISA总线的转换系统 | |
CN106874235B (zh) | 一种基于spi串行链路的模拟dpram通信系统及方法 | |
CN2884280Y (zh) | 现场总线位置控制装置 | |
CN201662724U (zh) | 一种炼油分馏塔液位模糊控制装置 | |
CN205862166U (zh) | 多功能通用控制器 | |
CN218567873U (zh) | 工业计算机外设控制板 | |
CN201319067Y (zh) | 雷达微波模块通用控制器 | |
CN203759693U (zh) | 一种基于pci总线的高性能高压变频控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160413 |