1255|0

2015

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

TIDSP C6203B 实际运用的一些经验 [复制链接]

1、EMIF或XBUS异步读/写脉冲宽度
     C6203B为了能与不同存取(Access)速度的异步设备(或器件)如SRAM、Flash等连接,可通过设置相关寄存器的参数来控制读/写脉冲的宽度,EMIF总线的寄存器为CECTL0~3,XBUS总线为XCECTL0~3,总线读/写脉冲的宽度由这些寄存器中的“Setup”和“Strobe”位值决定。
     加电复位后,缺省值(最大值)为:Setup=1111(15),Strobe=111111(63),这样,Setup+Strobe=15+63=78,如果使用250MHz系统时钟,其周期T=4ns,那么78x4=312ns。也就是说,EMIF/XBUS总线最低可接300ns的异步设备(器件),好在一般SRAM、Flash等的存取速度均在100ns左右,故都可直接与EMIF/XBUS总线相连。
   2、DMA传输问题
     C6203B进行DMA传输时虽然可以字节(8bit)方式传输,但在DMA Config时,源/目的地址仍使用Uint32类型指针,因此,如果只传输1个字节,也要使用Uint21指针变量。如果确要使用Uint8型的,则必须定义一个元素是4的整数倍的数组,如:
Uint8 buf[4];
     否则DMA传输数据不正确。
     3、外部中断触发沿
     C6023B的外部中断INT4~INT7缺省情况是“下降沿”触发的,但在BIOS配置中可以更改为“上升沿”触发,有些用户往往忽略了这一点,例如,初学者先是买一套开发板学习,然后参照开发板设计自己的硬件电路,再把开发板的源程序例子移植到自己的系统中,但在调式中断时发现总是不对却又找不到原因。其实原因很简单,就是开发板可能在BIOS配置时将某个中断改为“上升沿”触发了,而用户自己设计的电路仍是“下降沿”触发的。只要修改一下BIOS配置就可以了。
     4、通用I/O口的复位状态和驱动电流
     C6203B的缓冲串口(McBSP)可以配置成通用I/O口使用,系统加电复位后,未配置前所有缓冲串口引脚均处于“高阻”状态,用户可根据需要,对某个I/O口加4.7K"上拉“电阻或20K”下拉“电阻使其复位后固定在"高电平”或“低电平”;此外,缓冲串口作为普通I/O口使用时,其最大驱动电流为8mA,因此驱动负载时要注意,例如驱动光耦时,限流电阻要选择适当,以HCPL-181为例,电压为3.3V,限流电阻取510Ω就可以,驱动电流I=3.3/510=6mA,既达到181开关导通电流(5mA),又未超过最大驱动电流(8mA)。
     5、C++地址指针增量重载运算符“++”
     在一般的C++中,增量运算符“++”表示“加1”,在DSP C++(CCS)编译器中,对于普通变量,仍表示“加1”,但对于不同类型的地址指针变量,重载运算符“++”时有不同含义:
     32位地址指针(unsigned int *):加4(一个双字);
     16位地址指针(unsigned short *):加2(一个字);
     8位地址指针(unsigned char *):加1(一个字节)。
     同理,“--”运算符也有类似的情况。下面举一个例子来说明:
     假设C6203B的EMIF总线上CE1(0x01400000)接的是8bit并行Flash(如:SST39VF080),且DSP的EA21~EA2接Flash的A19~A0。在程序中定义:
     Uint32 data,*dp=CE0;
     那么指令:data=*dp++;第一次data取的是Flash的0~3单元的内容,然后dp指向Flash的4单元;第二次data取的是Flash的4~7单元内容...
     如果定义:Uint8 data,*dp=CE0;由于EA2接A0,那么必须使用:data=*(dp++<<2);来读取Flash的0,1,2...单元的内容。


 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表