TMS320C6416与CAN控制器的接口实现

2011-05-10 08:14:08来源: 互联网

   摘要:分析了数字信号处理器数字信号处理器 href="http://www.21ic.com/ex/t.php?cid=1&xh=TMS320C6416" target=_blank>TMS320C6416和CAN控制器SJAl000的接口时序。给出了基于复杂可编程逻辑器件EPM7512的DSP数字信号处理器和CAN控制器之间的接口电路,同时给出了详细的软硬件实现方法。
关键词:TMS320C6416;SJAl000;CPLD;接口电路

O 引言
    CAN总线现场总线中的一个应用热点,可支持分布式控制和适时控制的串行通信网络。由于CAN总线具有通信速率高、开放性好、报文
短、纠错能力强以及控制简单、扩展能力强、系统成本低等特点,因而其应用越来越受到人们的关注。基于CAN总线的CAN控制器具有完成CAN
总线通信协议所要求的全部必要功能,因此,CAN控制器与其它微处理器的接口已成为设计CAN总线系统的首要工作。目前已有一些微处理器将CAN控制器嵌入到系统之中,但是,仍有大量人们比较熟悉的微处理器并不带有CAN控制器。为此,本文介绍了CAN控制器SJAl000与DSP芯片TMS320C6416的接口电路。
    SJAl000是符合CAN2.0B标准的CAN通信控制器,该器件具有完成高性能通信协议所要求的全部特性,同时具有下列特性:
    ◇可连接各种微控制器接口;
    ◇取决于报文标志符的总线访问优先权;
    ◇强有力的错误处理能力;
    ◇可组态总线接口;
    ◇带有位填充功能的非归零编码/解码;
    ◇输出驱动器状态可编程
    TMS320C6416是一款高性能DSP数字信号处理器。它基于C64x核心架构,并集成了丰富的外围设备和接口,最高主频可达到1.0GHz。TM-S320C6416以高速的处理能力和出色的接口能力,已广泛用于当今技术的各个领域。

1 TMS320C6416与SJAlOOO的接口设计
1.1 INTEL方式下SJAl000的读写时序
    INTEL方式下,SJAl000的读、写时序图如图1所示。


    在INTEL方式下读写SJAl000时,其地址和数据是分时传送的,地址在前,数据在后。ALE为高时,为地址总线周期;ALE为低电平,同时
也为低时,为数据总线周期。为低时,为读数据;为低时,为写数据。
1.2 TMS320C6416的读写时序
    数字信号处理器TMS320C6416的读写时序如图2所示。


    TMS320C6416的数据线和地址线是分开的,而SJAl000的数据线和地址线是复用的。所以TMS320C6416不能与SJAl000直接对连,而必须将数据和地址线进行转换后才能连接。

1.3 TMS320C6416与SJAl000的接口设计
    TMS320C6416的数据总线和地址总线是分开的。在对存储器操作时,地址和数据几乎是同时出现的,而且系统采用流水线工作方式,TMS-320C6416的地址和数据总线是无法与SJAl000的AD0~AD7直接连接的,也没有方法可以将SJAl000的RAM直接映射到TMS320C6416的存储器中。因此,为了实现TMS320C6416与SJAl000的接口,应将SJAl000的ALE和直接映射为TMS320C6416的两个I/O端口。可将SJA1000的ADO~AD7直接和TMS320C6416的BED0~BED7连接。当ALE为高电平时,TMS320C6416的BED0~BED7送数据给SJAl000,表示地址值;当ALE为低电平,而且也为低电平时,TMS320C6416的BED0~BED7则和SJAl000交换数据。在这种方法中,可以利用ALE为高电平和为低电平来区分地址总线周期和数据总线周期。
    图3所示是其硬件连接方法。


    图3中的PCA82C250为CAN串行链接I/O器件。CPLD芯片EPM7512用于产生相应的控制信号并输出给SJAl000,从而控制SJAl00O的地址和数据总线周期。

2 基于EPM7512的接口逻辑
    EPM7512是AIZERA公司生产的复杂可编程逻辑器件(CPLD),可与AIXERA公司的QuartusII开发系统软件配合,并可以100%地模仿TTL。采用EPM7512作为DSP的外部接口扩展,可非常方便而且灵活地实现接口功能。
    DSP处理器的地址线BEAl5经CPLD产生片选信号后,可由地址线BEA15作为CAN控制器的地址和数据选择线,并和一起产生SJAl000的地址锁存信号ALE。BEAl5为l时,地址有效;BEAl5为0时,数据有效。
    采用ModelSim仿真软件可对接口电路进行功能仿真,其仿真结果如图4所示,能够满足SJAl000的读写时序要求。

3 接口电路的软件读写操作
    CAN控制器SJAl000的地址线和数据线可映射为DSP芯片TMS320C6416的外部程序存储EMIFB的CE3区域,其在DSP控制器上的地址分别为0x6-C008000和0x6C000001。其用C语言编程的实现代码如下:
    #defineTXB 16
    #define RXB 16
    (char*) CANAS= (char*) 0x6c008000;//定义CAN控制器数据线
    (char*) CANCS=(char*)0x6c000001;//定义CAN控制器地址线
    //以下两句为SJAl000的控制寄存器MOD(PeliCAN模式下地址0)赋值Ox09;
    *CANAS=0;//提供CAN控制器寄存器地址
    *CANCS=0x09;//提供CAN控制器寄存器数据
    //以下两句从SJAl000的状态寄存器SR (PeliCAN模式下基地址+2)读取数据;
    *CANAS=2;//提供CAN控制器寄存器地址
    *SR=CANCS&0xoff;//读取CAN控制器数据。

4 结束语
    本文提供了一种基于CPLD的DSP处理器TMS320C6416和CAN控制器SJAl000接口方法,该实现方法比传统硬件逻辑门电路的实现方法更加方便灵活。通过对该方法的软硬件实现进行的仿真结果证明,该设计可以稳定可靠的运行。

关键字:控制  控制器  接口  实现

编辑:eeleader 引用地址:http://www.eeworld.com.cn/gykz/2011/0510/article_5892.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
控制
控制器
接口
实现

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved