关 闭

新闻中心

EEPW首页>工控自动化>设计应用> TMS320C6416与CAN控制器的接口实现

TMS320C6416与CAN控制器的接口实现

作者: 时间:2010-04-28 来源:网络 收藏

1.3与SJAl000的设计
的数据总线和地址总线是分开的。在对存储器操作时,地址和数据几乎是同时出现的,而且系统采用流水线工作方式,TMS-320C6416的地址和数据总线是无法与SJAl000的AD0~AD7直接连接的,也没有方法可以将SJAl000的RAM直接映射到的存储器中。因此,为了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所示是其硬件连接方法。

本文引用地址://m.amcfsurvey.com/article/163106.htm


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

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

3 接口电路的软件读写操作
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=CANCS0xoff;//读取CAN控制器数据。

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


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭