首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

做DSP最应该懂得57个问题

做DSP最应该懂得57个问题

做DSP最应该懂得57个问题 一.什么是DSP?(缺省_br>

亿DSP的C语言同主机C语言的主要区别?
1)DSP的C语言是标准的ANSI C,它不包括同外设联系的扩展部分,如屏幕绘图等。但在CCS丿为了方便调试,可以将数据通过prinf命令虚拟输出到主机的屏幕上?
2)DSP的C语言的编译过程为,C编译为ASM,再由ASM编译为OBJ。因此C和ASM的对应关系非常明硿非常便于人工优化?
3)DSP的代码需要绝对定使主机的C的代码有操作系统定位?
4)DSP的C的效率较髿非常适合于嵌入系统?

丿DSP发展动怿br>1.TMS320C2000 TMS320C2000系列包括C24x和C28x系列。C24x系列建议使用LF24xx系列替代C24x系列,LF24xx系列的价格比C24x便宿性能高于C24x,而且LF24xxA具有加密功能?C28x系列主要用于大存储设备管琿高性能的控制场合?
2.TMS320C3x TMS320C3x系列包括C3x和VC33,主要推荐使用VC33。C3x系列是TI浮点DSP的基础,不可能停亿但价格不会进一步下调?
3.TMS320C5x TMS320C5x系列已不推荐使用,建议使用C24x或C5000系列替代?
4.TMS320C5000 TMS320C5000系列包括C54x和C55x系列?其中VC54xx还不断有新的器件出现,如:TMS320VC5471(DSP+ARM7)?C55x系列是TI的第三代DSP,功耗为VC54xx皿/6,性能为VC54xx皿倿是一个正在发展的系列?C5000系列是目前TI DSP的主流DSP,它涵盖了从低档到中高档的应用领域,目前也是用户最多的系列?
5.TMS320C6000 TMS320C6000系列包括C62xx、C67xx和C64xx。此系列是TI的高档DSP系列?其中C62xx系列是定点的DSP,系列芯片种类较丰寿是主要的应用系列?C67xx系列是浮点的DSP,用于需要高速浮点处理的领域?C64xx系列是新发展,性能是C62xx皿0倍?
6.OMAP系列 是TI专门用于多媒体领域的芯片,它是C55+ARM9,性能卓越,非常适合于手持设备、Internet终端等多媒体应用?br>
囿5V/3.3V如何混接_br>TI DSP的发展同集成电路的发展一栿新的DSP都是3.3V皿但目前还有许多外围电路是5V皿因此在DSP系统丿经常朿V咿.3V的DSP混接 问题。在这些系统丿应注意: 1)DSP输出绿V的电路(如D/A_无需加任何缓冲电跿可以直接连接?2)DSP输入5V的信号(如A/D_由于输入信号的电县gt;4V,超过了DSP的电源电县DSP的外部信号没有保护电跿需要加缓冲,妿74LVC245筿尿V信号变换房.3V的信号?3)仿真器的JTAG口的信号也必须为3.3V,否则有可能损坏DSP?
为什么要片内RAM大的DSP效率高?
盿前DSP发展的片内存储器RAM越来越大,要设计高效的DSP系统,就应该选择片内RAM较大的DSP。片内RAM同片外存储器相比,有以下优点: 1)片内RAM的速度较快,可以保证DSP无等待运行?2)对于C2000/C3x/C5000系列,部分片内存储器可以在一个指令周期内访问两次,使得指令可以更加高效?3)片内RAM运行稳定,不受外部的干扰影哿也不会干扰外部?4)DSP片内多总线,在访问片内RAM旿不会影响其它总线的访闿效率较高?br>
兿为什么DSP仿V发展房.3V_br>趿大规模集成电路的发展仿um,发展到目前的0.1um,芯片的电源电压也随之降低,功耗也随之降低。DSP也同样从5V发展到目前的3.3V,核心电压 发展刿V。目前主流的DSP的外围均已发展为3.3V,5V的DSP的价格和功耗都价格,以逐渐袿.3V的DSP取代?/p>
七如何选择DSP的电源芯片?
TMS320LF24xx:TPS7333QD,5V叿.3V,最夿00mA?
TMS320VC33_TPS73HD318PWP,5V叿.3V咿.8V,最夿50mA?
TMS320VC54xx:TPS73HD318PWP,5V叿.3V咿.8V,最夿50mA; TPS73HD301PWP,5V叿.3V和可谿最夿50mA?
TMS320VC55xx:TPS73HD301PWP,5V叿.3V和可谿最夿50mA?
TMS320C6000_PT6931,TPS56000,最夿A?

兿软件等待的如何使用?
DSP的指令周期较忿访问慢速存储器或外设时需加入等待。等待分硬件等待和软件等徿每一个系列的等待不完全相同?
1)对于C2000系列_硬件等待信号为READY,高电平时不等待?软件等待由WSGR寄存器决宿可以加入最夿个等待。其中程序存储器和数据存储器及I/O可以分别设置?
2)对于C3x系列_硬件等待信号丿RDY,低电平是不等待?软件等待由总线控制寄存器中的SWW和WTCNY决定,可以加入最夿个等徿但等待是不分段的,除了片内之外全空间有效?
3)对于C5000系列_硬件等待信号为READY,高电平时不等待?软件等待由SWWCR和SWWSR寄存器决宿可以加入最夿4个等待。其中程序存储器、控制程序存储器和数据存储器及I/O可以分别设置?
4)对于C6000系列(只限于非同步存储器或外设)_硬件等待信号为ARDY,高电平时不等待?软件等待由外部存储器接口控制寄存器决宿总线访问外部存储器或设备的时序可以设罿可以方便的同异步的存储器或外设接口?

乿中断向量为什么要重定位?
为了方便DSP存储器的配置,一般DSP的中断向量可以重新定使即可以通过设置寄存器放在存储器空间的任何地方?注意:C2000的中断向量不能重定位?

卿DSP的最高主频能从芯片型号中获得吗?
TI的DSP最高主频可以从芯片的型号中获得,但每一个系列不一定相同?
1)TMS320C2000系列_
TMS320F206-最高主颿0MHz?
TMS320C203/C206-最高主颿0MHz?
TMS320F24x-最高主颿0MHz?
TMS320LF24xx-最高主颿0MHz?
TMS320LF24xxA-最高主颿0MHz?
TMS320LF28xx-最高主颿50MHz?
2)TMS320C3x系列_
TMS320C30:最高主颿5MHz?
TMS320C31PQL80:最高主颿0MHz?
TMS320C32PCM60:最高主颿0MHz?
TMS320VC33PGE150:最高主颿5MHz?
3)TMS320C5000系列_
TMS320VC54xx:最高主颿60MHz?
TMS320VC55xx:最高主颿00MHz?
4)TMS320C6000系列_
TMS320C62xx:最高主颿00MHz?
TMS320C67xx:最高主颿30MHz?
TMS320C64xx:最高主颿20MHz?

十一.DSP可以降频使用吗?
可以,DSP的主频均有一定的工作范围,因此DSP均可以降频使用?字串5

十二.如何选择外部时钟_br>DSP的内部指令周期较髿外部晶振的主频不夿因此DSP大多数片内均有PLL。但每个系列不尽相同?
1)TMS320C2000系列_
TMS320C20x:PLL可以÷2,×1,×2和?,因此外部时钟可以丿MHz_0MHz?
TMS320F240:PLL可以÷2,×1,×1.5,×2,×2.5,×3,×4,×4.5,×5和?,因此外部时钟可以丿.22MHz_0MHz?
TMS320F241/C242/F243:PLL可以×4,因此外部时钟丿MHz?TMS320LF24xx:PLL可以由RC调节,因此外部时钟丿MHz_0MHz?
TMS320LF24xxA:PLL可以由RC调节,因此外部时钟丿MHz_0MHz?
2)TMS320C3x系列_
TMS320C3x:没有PLL,因此外部主频为工作频率的2倍?
TMS320VC33:PLL可以÷2,×1,×5,因此外部主频可以丿2MHz_00MHz?
3)TMS320C5000系列_
TMS320VC54xx:PLL可以÷4,÷2,×1-32,因此外部主频可以丿.625MHz_0MHz?
TMS320VC55xx:PLL可以÷4,÷2,×1-32,因此外部主频可以丿.25MHz_00MHz?
4)TMS320C6000系列_
TMS320C62xx:PLL可以×1,×4,×6,×7,×8,×9,×10和?1,因此外部主频可以丿1.8MHz_00MHz?
TMS320C67xx:PLL可以×1和?,因此外部主频可以丿2.5MHz_30MHz?
TMS320C64xx:PLL可以×1,×6和?2,因此外部主频可以丿0MHz_20MHz

十三.如何选择DSP的外部存储器_br>DSP的速度较快,为了保证DSP的运行速度,外部存储器需要具有一定的速度,否则DSP访问外部存储器时需要加入等待周期?
1)对于C2000系列_C2000系列只能同异步的存储器直接相接?C2000系列的DSP目前的最高速度丿50MHz。建议可以用的存储器有:
CY7C199-15_2K×8,15ns,5V;
CY7C1021-12_4K×16,15ns,5V; CY7C1021V33-12_4K×16,15ns,3.3V?
2)对于C3x系列_C3x系列只能同异步的存储器直接相接?C3x系列的DSP的最高速度,5V的为40MHz,3.3V的为75MHz,为保证DSP无等待运衿分别需要外部存储器的速度<25ns咿lt;12ns。建议可以用的存储器有:
ROM_AM29F400-70_56K×16,70ns,5V,加入一个等徿
AM29LV400-55(SST39VF400)_56K×16,55ns,3.3V,加入两个等待(目前没有更快的Flash_/p>

SRAM_CY7C199-15_2K×8,15ns,5V;
CY7C1021-15_4K×16,15ns,5V;
CY7C1009-15_28K×8,15ns,5V;
CY7C1049-15_12K×8,15ns,5V;
CY7C1021V33-15_4K×16,15ns,3.3V;
CY7C1009V33-15_28K×8,15ns,3.3V;
CY7C1041V33-15_56k×16,15ns,3.3V?
3)对于C54x系列_C54x系列只能同异步的存储器直接相接?C54x系列的DSP的速度丿00MHz房60MHz,为保证DSP无等待运衿需要外部存储器的速度<10ns房lt;6ns。建议可以用的存储器有:
ROM_AM29LV400-55(SST39VF400)_56K×16,55ns,3.3V,加入5房个等待(目前没有更快的Flash)?
SRAM_CY7C1021V33-12_4K×16,12ns,3.3V,加入一个等徿
CY7C1009V33-12_28K×8,12ns,3.3V,加入一个等待?
4)对于C55x和C6000系列_TI的DSP中只有C55x和C6000可以同同步的存储器相迿同步存储器可以保证系统的数据交换效率更高?
ROM_AM29LV400-55(SST39VF400)_56K×16,55ns,3.3V?
SDRAM_HY57V651620BTC-10S_4M,10ns?
SBSRAM_CY7C1329-133AC,64k×32;
CY7C1339-133AC,128k×32?
FIFO:CY7C42x5V-10ASC,32k/64k×18?

十四.DSP芯片有多大的驱动能力_br>DSP的驱动能力较弿可以不加驱动,连接8个以上标准TTL门?
十五.调试TMS320C2000系列的常见问题?
1)单步可以运行,连续运行时总回0地址_Watchdog没有兿连续运行复位DSP回到0地址?
2)OUT文件不能load到片内flash中: Flash不是RAM,不能用简单的写指令写兿需要专门的程序写入。CCS和C Source Debugger中的load命令,不能对flash写入?OUT文件只能load到片内RAM,或片外RAM中?
3)在flash中如何加入断点: 在flash中可以用单步调试,也可以用硬件断点的方法在flash中加入断炿软件断点是不能加在ROM中的。硬件断炿设置存储器的地址,当访问该地址时产生中断?
4)中断向量_C2000的中断向量不可重定位,因此中断向量必须放在0地址开始的flash内。在调试系统旿代码放在RAM丿中断向量也必须放在flash内?

十六.调试TMS320C3x系列的常见问题?
1)TMS320C32的存储器配置_TMS320C32的程序存储器可以配置丿6位或32使数据存储器可以配置为8位?6位或32位?
2)TMS320VC33的PLL控制_TMS320VC33的PLL控制端只能接1.8V,不能掿.3V房V?

十七.如何调试多片DSP_br>寿于有MPSD仿真口的DSP(TMS320C30/C31/C32_不能用一套仿真器同时调试,每次只能调试其中的一个DSP; 对于有JTAG仿真口的DSP,可以将JTAG串接在一赿用一套仿真器同时调试多个DSP,每个DSP可以用不同的名字,在不同的窗口中调试?注意:如果在JTAG和DSP间加入驱势一定要用快速的门电跿不能使用如LS的慢速门电路?

十八.在DSP系统中为什么要使用CPLD_br>DSP 的速度较快,要求译码的速度也必须较快。利用小规模逻辑器件译码的方弿已不能满足DSP系统的要求?同时,DSP系统中也经常需要外部快速部件的配合,这些部件往往是专门的电路,有可编程器件实现?CPLD的时序严栿速度较快,可编程性好,非常适合于实现译码和专门电路?

十九.DSP系统构成的常用芯片有哪些_br>1)电源_TPS73HD3xx,TPS7333,TPS56100,PT64xx...
2)Flash_AM29F400,AM29LV400,SST39VF400...
3)SRAM_CY7C1021,CY7C1009,CY7C1049...
4)FIF CY7C425,CY7C42x5...
5)Dual port_CY7C136,CY7C133,CY7C1342...
6)SBSRAM_CY7C1329,CY7C1339...
7)SDRAM_HY57V651620BTC...
8)CPLD_CY37000系列,CY38000系列,CY39000系列...
9)PCI_PCI2040,CY7C09449...
10)USB_AN21xx,CY7C68xxx...
11)Codec:TLV320AIC23,TLV320AIC10...
12)A/D,D/A:ADS7805,TLV2543...
具体资料觿/font>

三十一.如何编写C2000片内Flash_br>
*(int *)SCSR2=0x000C; 给scsr2寄存器赋倿在这里可以进行mp/mc方式的转捿
*(int *)WDNTR=0x006f; 给wdntr寄存器赋倿
*(int *)WDKEY=0x055; 给wdkey寄存器赋倿
*(int *)WDKEY=0x0AA; 给wdkey寄存器赋倿
}

三十兿使用TI公司模拟器件与DSP结合使用的好处?br>1)在使用TI公司的DSP的同旿使用TI公司的模拟可以和DSP进行无缝连接。器件与器件之间不需要任何的连接或转接器件。这样即减少了板卡的尺寸,也降低了开发难度?
2)同为TI公司的产哿很多器件可以固定搭配使用。少了器件选型的烦恿
3)TI在CCS中提供插仿可以用于DSP和模拟器件的开叿非常方便?

三十丿C语言中可以嵌套汇编语言_br>可以。在ANSI C标准中的标准用法就是用C语言编写主程庿用汇编语言编写子程庿中断服务程序,一些算泿然后用C语言调用这些汇编程序,这样效率会相对比较高

三十兿在定点DSP系统中可否实现浮点运算?
当然可以,因为DSP都可以用C,只要是可以使用c语言的场合都可以实现浮点运算?br>
三十乿JTAG头的使用会遇到哪些情况?
1)DSP的CLKOUT没有输出,工作不正常?
2)Emu0,Emu1需要上拉?
3)TCK的频率应该为10M?
4)圿.3V DSP丿PD脚为3.3V 供电,但是仿真器上需覿V电压供电,所以PP仿真器盒上需要单独供电?
4)仿真多片DSP。在使用菊花链的时倿第一片DSP的TDO接到第二片DSP的TDI即可。注意当串联DSP比较多的时倿信号线要适当的增加驱动?

四十.include头文件(.h)的主要作甿br>头文仿一般用于定义程序中的函数、参数、变量和一些宏单元,同库函数配合使用。因歿在使用库旿必须用相应的头文件说明?

四十一.DSP中断向量的位罿br>1)2000系列dsp的中断向量只能从0000H处开始。所以在我们调试程序的时倿要把DSP选择为MP(微处理器方式),把片内的Flash屏蔽掿免去每次更改程序都要重新烧写Flash工作?
2)3x系列dsp的中断向量也只能在固定的地址?
3)5000,6000系列dsp的中断向量可以重新定位。但是它只能被重新定位到Page0范围内的任何空间?br>
四十亿有源晶振与晶体的区别,应用范围及用泿br>1)晶体需要用DSP片内的振荡器,在datasheet上有建议的连接方法。晶体没有电压的问题,可以适应于任何DSP,建议用晶体?
2)有源晶振不需要DSP的内部振荡器,信号比较稳定。有源晶振用法:一脚悬穿二脚接地,三脚接输凿四脚接电压?
四十丿程序经常跑飞的原囿
1)程序没有结尾或不是循环的程序?
2)nmi管脚没有上拉?
3)在看门狗动作的时候程序会经常跑飞?
4)程序编制不当也会引起程序跑飞?
5)硬件系统有问题?

四十囿并行FLASH引导的一点经骿br>最 近BBS上关于FLASH和BOOT的讨论很活跃,我也多次来此请教。前几天自制的DSP板引导成势早就打算写写这方面的东西。我用的DSP昿5416,以其为核忿做了一个相对独立的子系统(硬件、软件、算法),目前都已基本做好?下面把在FLASH引导方面做的工作向大家汇报一丿希望能对大家有所帮助。本人经验和文笔都有陿写的不好请大家谅解?
硬件环境_
DSP:TMS320VC5416PGE160
FLASH:SST39VF400A-70-4C-EK 都是贴片皿FLASH映射在DSP数据空间皿x8000-0xFFFF
软件环境_CCS v2.12.01
丿程序(要烧入FLASH的程序)_DEBUG牿程序占用空间0x28000-0x2FFFF(片内SARAM_中断向量表在0x0080-0x00FF(片内DARAM_数据空间使甿x0100-0x7FFF(片内DARAM)?因为FLASH是贴片的,所以需要自己编一个数据搬移程庿把要主程序搬移到FLASH中。在写入FLASH数据旿还应写入引导表的格式数据。最后在敿据空间的0xFFFF处写入引导表的起始地址(这里为0x8000)?

搬移程序_DEBUG牿程序空间0x38000-0x3FFFF(片内SARAM_中断向量表在0x7800-0x78FF(片内DARAM_数据空间使用 0x5000-0x77FF(片内DARAM)?搬移程序不能使用与主程序的程序空间和中断向量表重合的物理空间,以免覆盖?烧写旿同时打开主程序和搬移程序的PROJECT,先LOAD主程庿再LOAD搬移程序,然后执行搬移程序,烧写OK! 附:搬移程序(仅供参考)

volatile unsigned int *pTemp=(unsigned int *)0x7e00; unsigned int iFlashAddr;
int iLoop; /* 在引导表头存放并行引导关键字 */
iFlashAddr=0x8000;
WriteFlash(iFlashAddr,0x10aa);
iFlashAddr++; /* 初始化SWWSR倿*/
WriteFlash(iFlashAddr,0x7e00);
iFlashAddr++; /* 初始化BSCR倿*/
WriteFlash(iFlashAddr,0x8006);
iFlashAddr++; /* 程序执行的入口地址 */
WriteFlash(iFlashAddr,0x0002);
iFlashAddr++;
WriteFlash(iFlashAddr,0x8085);
iFlashAddr++; /* 程序长度 */
WriteFlash(iFlashAddr,0x7f00);
iFlashAddr++; /* 程序要装载到的地址 */
WriteFlash(iFlashAddr,0x0002);
iFlashAddr++;
WriteFlash(iFlashAddr,0x8000);
iFlashAddr++;
for (iLoop=0;iLoop<0x7f00;iLoop++)
{ /* 从程序空间读数据,放到暂存单元 */
asm(" pshm al");
asm(" pshm ah");
asm(" rsbx cpl");
asm(" ld #00fch,dp");
asm(" stm #0000h, ah");
asm(" MVDM _iLoop, al");
asm(" add #2800h,4,a");
asm(" reada 0h");
asm(" popm ah");
asm(" popm al");
asm(" ssbx cpl"); /* 把暂存单元内容写入FLASH */
WriteFlash(iFlashAddr,*pTemp);
iFlashAddr++; } /* 中断向量表长庿*/
WriteFlash(iFlashAddr,0x0080);
iFlashAddr++; /* 中断向量表装载地址 */
WriteFlash(iFlashAddr,0x0000);
iFlashAddr++;
WriteFlash(iFlashAddr,0x0080);
iFlashAddr++;
for (iLoop=0;iLoop<0x0080;iLoop++) { /* 从程序空间读数据,放到暂存单元 */
asm(" pshm al");
asm(" pshm ah");
asm(" rsbx cpl");
asm(" ld #00fch,dp");
asm(" stm #0000h, ah");
asm(" MVDM _iLoop, al");
asm(" add #0080h,0,a");
asm(" reada 0h");
asm(" popm ah");
asm(" popm al");
asm(" ssbx cpl"); /* 把暂存单元内容写入FLASH */
WriteFlash(iFlashAddr,*pTemp);
iFlashAddr++;
} /* 写入引导表结束标忿*/
WriteFlash(iFlashAddr,0x0000);
iFlashAddr++;
WriteFlash(iFlashAddr,0x0000); /* 在数据空间的0xFFFF写入引导表起始地址 */
iFlashAddr=0xffff;
WriteFlash(iFlashAddr,0x8000);

四十亿关于LF2407A的FLASH烧写问题的几点说昿br>TI现在关于LF24x写入FLASH的工具最新为c2000flashprogsw_v112。可以支持LF2407、LF2407a、LF2401及相关的LF240x系列。建议使用此版本。在
2)、程序烧写时,避开程序空间0x40-0x43H加密匿程序最好小亿2k;
3)?每次程序烧写完后,将word0,word1,word2,word3分别输入自己的密砿再点凿Program password,如果加密成功,提示Program is arrayed,如果0x40_x43h中写入的是ffff,认为处于调试状怿flash不会加密;
4)、断电后,下次重新烧写时需要往word0~word3输入已设的密砿再unlock,成功后可以重新烧写了;
6、VCPP管脚接在_V丿是应直接接的,中间不要加电阻?
7、具体事宜请阅读相应目录下的readme1,readme2帮助文件?
8.注意*.cmd文件的编写时应该避开40-43H单元,好多客户由于没有注意到这里而把FALSH加密?

四十兿如何设置硬件断点_br>在profiler _gt;profile point -> break point

四十丿c54x的外部中断是电平响应还是沿响应?
是沿响应,准确的说,它要检测到100(一个clk的高和两个clk的低)的变化才可以?br>
四十八。参考程庿里面好象都要 disable wachdog,不知道为什乿
watchdog是一个计数器,溢出时会复位你的DSP,不disable的话,你的系统会动不动就reset?br>
1,系统定义:
.cinit 存放C程序中的变量初值和常量;
.const 存放C程序中的字符常量、浮点常量和用const声明的常釿
tch 存放C程序tch语句的跳针表;
.text 存放C程序的代砿
.bss 为C程序中的全局和静态变量保留存储空闿
.far 为C程序中用far声明的全局和静态变量保留空闿
.stack 为C程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果;
.sysmem 用于C程序中malloc、calloc和realloc函数动态分配存储空闿
2,用户定义:
#pragma CODE_SECTION (symbol, "section name");
#pragma DATA_SECTION (symbol, "section name")

五十一.cmd文件
甿部分组成_
1)输入/输出定义:.obj文件:链接器要链接的目标文件;.lib文件:链接器要链接的库文仿.map文件:链接器生成的交叉索引文仿.out文件:链接器生成的可执行代码;链接器选项
2)MEMORY命令:描述系统实际的硬件资源
3)SECTIONS命令:描迿殿如何定位

五十亿为什么要设计CSL?
1,DSP片上外设种类及其应用日趋复杂
2,提供一组标准的方法用于访问和控制片上外访
3,免除用户编写配置和控制片上外设所必需的定义和代码

五十丿什么是CSL?
1,用于配置、控制和管理DSP片上外设
2,已为C6000和C5000系列DSP设计了各自的CSL庿
3,CSL库函数大多数是用C语言编写皿并已对代码的大小和速度进行了优匿
4,CSL库是可裁剪的:即只有被使用的CSL模块才会包含进应用程序中
5,CSL库是可扩展的:每个片上外设的API相互独立,增加新的API,对其他片上外设没有影哿

五十囿CSL的特炿br>1,片上外设编程的标准协议:定义一组标准的APIs:函数、数据类型、宏;
2,对硬件进行抽豿提取符号化的片上外设描述:定义一组宏,用于访问和建立寄存器及其域倿
3,基本的资源管琿对多资源的片上外设进行管琿
4,已集成到DSP/BIOS丿通过图形用户接口GUI对CSL进行配置;
5,使片上外设容易使甿缩短开发时闿增加可移椿

五十亿为什么需要电平变捿
1)DSP系统中难免存圿V/3.3V混合供电现象;
2)I/O丿.3V供电的DSP,其输入信号电平不允许超过电源电压3.3V;
3)5V器件输出信号高电平可辿.4V;
4)长时间超常工作会损坏DSP器件;
5)输出信号电平一般无需变换

五十兿电平变换的方泿
1,总线收发器(Bus Transceiver):
常用器件_SN74LVTH245A_位)、SN74LVTH16245A_6位)
特点_.3V供电,需进行方向控制,
延迟_.5ns,驱动_32/64mA,
输入容限_V
应用:数据、地址和控制总线的驱势
2,总线开关(Bustch_
常用器件:SN74CBTD3384_0位)、SN74CBTD16210_0位)
特点_V供电,无需方向控制
延迟_.25ns,驱动能力不增势
应用:适用于信号方向灵活、且负载单一的应甿如McBSP等外设信号的电平变换
3,2逿切换器(1 of 2 Multiplexer_
常用器件:SN74CBT3257_位)、SN74CBT16292_2位)
特点:实玿逿,5V供电,无需方向控制
延迟_.25ns,驱动能力不增势
应用:适用于多路切换信号、且要进行电平变换的应用,如双路复用的McBSP
4,CPLD
3.3V供电,但输入容限为5V,并且延迟较大:>7ns,适用于少量的对延迟要求不高的输入信号
5,电阻分压
10KΩ咿0KΩ串联分压,5V×20÷_0_0)≈3.3V

五十丿未用的输入/输出引脚的处琿br>1,未用的输入引脚不能悬空不掿而应将它们上拉活下拉为固定的电平
1)关键的控制输入引脿如Ready、Hold筿应固定接为适当的状怿Ready引脚应固定接为有效状怿Hold引脚应固定接为无效状怿
2)无连接(NC)和保留(RSV)引脿NC 引脚:除非特殊说昿这些引脚悬空不接,RSV引脚:应根据数据手册具体决定接还是不掿
3)非关键的输入引脚,将它们上拉或下拉为固定的电平,以降低功耿
2,未用的输出引脚可以悬空不掿
3,未用的I/O引脚:如果确省状态为输入引脚,则作为非关键的输入引脚处琿上拉或下拉为固定的电广如果确省状态为输出引脚,则可以悬空不掿
返回列表