1
电子说
本文主要是关于TMS320C6748和TMS320C6747的相关介绍,并着重对TMS320C6748和TMS320C6747进行了详尽的对比分析。
TMS320C6748是德州仪器 (TI) 推出浮点功能的全新高性能处理器 ,这款芯片也是业界功耗最低的浮点数字信号处理器 (DSP),可充分满足高能效、连通性设计对高集成度外设、更低热量耗散以及更长电池使用寿命的需求。不仅具备通用并行端口 (uPP),同时也是 TI 首批集成串行高级技术附件 (SATA)的器件。 广州创龙推出的TL6748-EVM评估套件为开发者使用TI TMS320C6748处理器提供了完善的软件开发环境,系统支持:裸机、SYS/BIOS、DSP/BIOS。提供参考底板原理图,DSP C6748入门教程、丰富的Demo程序、完整的软件开发包,以及详细的C6748系统开发文档,方便用户快速评估TMS320C6748处理器、设计系统驱动及其定制应用软件,也大大降低产品开发周期,让客户产品快速上市。主要面向电力、通信、工控、音视频处理等数据采集处理行业。 TL6748-EVM评估套件是一个功能丰富的开发板,为嵌入式设计人员提供快捷简单的实践方式来评估TMS320C674x系列处理器,是一个完整的实验评估平台。
规格参数/TMS320C6748
处理器
TMS320C6748,C6000系列浮点DSP处理器(Pin to Pin兼容OMAPL138,AM1808处理器)
主频:456MHz
存储器
128M/256MByte工业级DDR2
128M/256M/512MByte 工业级NAND Flash
音频/视频接口
1个3.5mm Line in音频输入接口
1个3.5mm Mic in音频输入接口
1个3.5mm Line out音频输出接口
外设接口
串口、USB接口:
UART1,3线串口,RS232电平
UART2,3线串口,RS232电平
1个RS485接口(RS485和UART1复用)
1 x USB2.0 OTG(Mini USB-B母座接口)
4 x USB1.1 HOST(2 x 双层USB Type A座)
其他外设接口:
1个标准SD卡座(SD/MMC信号,支持1.8V及3.3V逻辑电压)
1个10/100Mbps以太网络接口(RJ45连接器)
1个SATA接口(7pin SATA硬盘接口)
1个RTC座(RC1220 RTC座)
1 个JTAG接口(14Pin TI Rev B JTAG接口)
扩展接口:(2x IDC3简易牛角座(2x 25pin规格))
1路SPI总线
1路IIC总线
1路UART信号
1路VPIF总线
1路uPP总线
1路EMIF总线
可设置多个GPIO
输入接口
1个非屏蔽中断按键
1个可编程按键
1个复位按键
LED指示灯
2个电源指示灯
1个系统指示灯
4个可编程指示灯
显示单元
一个VGA接口
一个24bit真彩色LCD接口(50pinFPC排座;含4电阻式线触摸屏接口,分辨率可支持1366x768)
电气参数
工作电压:3.8V~5.5V(典型值:5V)
工作温度:-45~85℃
环境湿度:20% ~ 90% ,非冷凝
开发板:180mm*130mm
核心板:55mm*33mm
电气指标:+5V@150mA
核心板功耗
电压:5V
电流:98mA
功耗:0.49W
目前工业使的DSP类型多种多样,个人比较喜欢TI的,不过还是要看你应用于什么产品和场合,稍微旧一点的有2812、28335等,新一点中高端的有C6000系列,本人就推荐使用这个,毕竟TI算是DSP的行业老大,如:TMS320C6747和TMS320C6748,TMS320C6748好像就比TMS320C6747多了个SATA接口,其他的应该相差不大,这个你可以到网上查查,TMS320C6748(DSP)和OMAPL138(ARM+DSP)和AM1808(ARM)都是PIN TO PIN兼容的,如果想加个ARM做显示选择OMAPL138也是挺好的。更高端的我就没有了解了,因为这个已经够我用了,呵呵!
一个项目中需要采集MP3输出的音频信号,并输出六路不同相位的信号。采用ADC DSP DAC的方案,选用的ADC,DAC都是音频(codec)芯片,PCM1606和PCM1802.
第一次接触I2S通信,并且运用McASP DMA传输,初期还是挺困难的。虽然当时应用TMS320C6722时也用到,但是当时只是用AMUTE模拟出一个外部中断脚,也是一知半解,并没有深入研究。这次在没有大神指导的情况下,只能自己啃英文手册,看了好几遍,才弄懂其工作原理,可以说跟我之前想象的McASP类似于串口,差别还是很大的。
有一点需要知道,调试McASP收发数据是lockstep,即紧密相连的,不允许中断,否则会出现underrun或者overrun错误,就是说,调试时,单步允许的方法是行不通的。
二,McASP工作原理
从字面上理解,多通道音频串行接口,我们可以知道两点:多个通道和串行。
拿到一个新的东西,我喜欢先看结构框图,从下面可以知道其大概分为五部分:
1,FIFO:很有用的东西,通信接口一般都用的着,缓解CPU高速和端口慢速的矛盾
2,发送/接受格式单元:说明了就是把数据转换成人家特定的格式发送,通过它可以设定MSB/LSB,那些位没有用,可以MARK掉,还有rotate(是个什么鬼,没有搞懂,也没有用到)。
3,状态机:这么复杂的设备,有了状态机,使进程控制更加简单,当然这也都是CPU自己完成的,用户不用关心,只需要初始化时把它打开就行。顺便提一句,Good Program Practice 可以多用状态机写。
4,Serializer:也就是串行器了,CPU内部数据传输都是并行,需要靠他完成并/串,串/并转换。
5,Clock Generator:时钟产生器,这个相当重要,McASP传输数据都是同步进行,一套优良的时钟管理,可以很方便的配置时钟。
上面说了那么多,感觉都是废话,如果第一次接触,看的更是头大。简单点,它就是串并,并串转化器。顺便说点,操控性强的芯片,一开始都会觉得配置都比较麻烦,但是用熟悉后,你会觉得很是得心应手。
三,那I2S开刀
由于本项目用到I2S,我就以它为例,详细讲解。
(A)通信数据
这是PCM1606(DAC)的通信波形,可知,共需要三根信号线:BCK,LRCK,DATA,这也是McASP通信需要的最少信号线。
1,BCK是位时钟,连接McASP的ACLKX,数据是根据这个节拍一位一位移出去的;
2,LRCK:连接McASP的AFSX,这个其实是帧同步信号,在I2S通信中,一帧只有两个words,因此可以用来区分左右通道。
并且LRCK的下降沿标志着此帧数据传输的开始。
3,DATA:连接McASP的AXRn,毋庸置疑,这个是数据端口了,串行的1或0,就是从这里进出。
另外,其实还有一个高频时钟AHCLK信号,它是BCK的整数倍数,因为delta-sigma型ADC/DAC都是需要时钟才能工作(常用的逐次逼近型不需要),为了保证正常工作,ADC/DAC最好与McASP的AHCLKX/AHCLKR使用同一个时钟源。
(B)发送配置步骤
拿到一个DAC后,最希望的事情就是程序跑起来后,输出正弦波了。先别急着用DMA发送,用的东西多了,出了问题,查找起来很麻烦,还是一步一步来,一块儿一块儿往上加。
第一步:复位McASP
第二步:配置通信格式,2-slot TDM,即I2S
第三步:配置AHCLKX,ACLKX,AFSX
第四步:配置串行器,使能/禁止相应的通道
第五步:配置GPIO为McASP功能,并且设置输入/输出方向
第六步:启动AHCLKX,ACLKX时钟
第七步:启动串行器,把其从复位状态恢复出来即可
第八步:随便向XBUF0写入一点数据
第九步:启动状态机,把其从复位状态恢复出来即可,此时McASP开始进入状态,向外发送数据
第十步:启动帧时钟,把其从复位状态恢复出来即可。
关于TMS320C6748和TMS320C6747的相关介绍就到这了,如有不足之处欢迎指正。
全部0条评论
快来发表一下你的评论吧 !