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手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
控制
控制器
接口
实现

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved