第9章C55x应用系统的硬件设计

上传人:无*** 文档编号:181013539 上传时间:2023-01-09 格式:PPT 页数:67 大小:4.77MB
收藏 版权申诉 举报 下载
第9章C55x应用系统的硬件设计_第1页
第1页 / 共67页
第9章C55x应用系统的硬件设计_第2页
第2页 / 共67页
第9章C55x应用系统的硬件设计_第3页
第3页 / 共67页
资源描述:

《第9章C55x应用系统的硬件设计》由会员分享,可在线阅读,更多相关《第9章C55x应用系统的硬件设计(67页珍藏版)》请在装配图网上搜索。

1、DSPDSP原理与应用原理与应用第第10章章 C55x典型应用系统设计典型应用系统设计1n参考资料:n山大课程中心DSPDSP原理与应用原理与应用网站:http:/ DSP CPU Reference Guide(SPRU371F,2004年版)nTMS320VC5509A Fixed-Point Digital Signal Processor-Data Manual(SPRS205K,2008年版)nTMS320VC5503/5507/5509 DSP External Memory Interface(EMIF)Reference Guide(SPRU670)nTMS320VC5507/

2、5509 DSP Analog-to-Digital Converter(ADC)Reference Guide(SPRU586B)2第第10章章 C55x典型应用系统设计典型应用系统设计n10.1 典型典型DSP板的硬件设计板的硬件设计 n10.2 CPLD电路模块设计电路模块设计n10.3 DSP板测试程序板测试程序n10.4 综合设计实例综合设计实例1:自适应系统辨识自适应系统辨识 n10.5 综合设计实例综合设计实例2:数字式有源抗噪声耳罩数字式有源抗噪声耳罩 310.1 典型典型DSP板的硬件设计板的硬件设计 n10.1.1 概述概述n10.1.2基本电路模块基本电路模块n10.1.

3、3 FLASH电路模块电路模块n10.1.4 SDRAM电路模块电路模块n10.1.5 数模转换电路数模转换电路 n10.1.6 SD卡接口电路卡接口电路 n10.1.7 USB接口电路接口电路 n10.1.8 自启动电路模块自启动电路模块 410.1 典型典型DSP板的硬件设计板的硬件设计 10.1.1 概述概述 基于基于TMS320VC5509A的通用数字信号处理板的通用数字信号处理板:l包括包括VC5509A芯片、复位电路、时钟电路、芯片、复位电路、时钟电路、JTAG接接口电路以及电源电路口电路以及电源电路等基本电路模块。等基本电路模块。l通过通过EMIF外扩了外扩了FLASH、SDRA

4、M等存储器模块。等存储器模块。l通过通过McBSP0,McBSP1和和I2C外扩外扩2片片TLV320AIC23B,使该系统具有使该系统具有4路模拟输入和路模拟输入和4路模拟输出路模拟输出。5参考参考:实验箱电路原理图实验箱电路原理图6参考参考:实验箱电路原理图实验箱电路原理图 1.电源电路电源电路10.1.2基本电路模块基本电路模块R9270K+C510uFC250.1uFR475KR2210KC210.1uF+C110uFR361KR341KDS2DS3PWR_RSTn5V3.3V5V5V3.3V3.3V1.6V1.6VPWR_RSTnRST1281GND3FB1/SE25EN14OUT1

5、24IN15OUT123IN16RST2222GND9EN210OUT218IN211OUT217IN212U1TPS767D301参考参考:图图9-8 TPS767D301双路电源双路电源4021.18341.6285121V=0REFRVVRVref=1.1834V7(推荐推荐R2=30.1k,可调电压可调电压1.55.5V)2101RRVVREFVref=1.1834V(25度典型内部参考电压值度典型内部参考电压值)R175k R2210k8第第10章章(376页正确页正确)图图10-2 电源电路电源电路,供参考供参考 图图9-8 TPS767D301产生双路电源产生双路电源(推荐推荐R

6、2=30.1k,可调电压可调电压1.55.5V)(3)双电源双电源修改修改可调电压可调电压(1.5V 5.5V)固定电压固定电压3.3V1.6VR1,R2所选择的阻值通常所选择的阻值通常使分压器电流大约为使分压器电流大约为40A芯片TPS73HD301,管脚及电路与TPS767D301相同,Vref=1.182V(推荐推荐R2=169k,可调输出电压可调输出电压1.29.75V)。上图。上图 产生产生1.604VTPS73HD301TPS767D3012.复位电路复位电路+C1410uFR24100K3.3V12S1BUTTONBTN_RSTBTN_RST3.3V2453U8SN74AHC1G

7、14X2X121Y112MHzC2712 pFC2912 pF3.时钟电路时钟电路 Y=A单施密特反相器芯片SN74AHC1G149参考参考:图图9-10 手动复位电路手动复位电路由由 Vc=1.5v,Vcc=3.3v,得得:606ms,确保完全复位确保完全复位lnCCCVt(1)VRC 送CPLD产生复位10.1.3 FLASH电路模块电路模块FOEnFWEnR1410KA1A2A3A4A5A6A7A8A9A10A11A12A13A13.0D0D1D2D3D4D5D6D7D8D9D10D11D12D13D14D15D15.0A025A124A223A322A421A520A619A718A8

8、8A97A106A115A124A133A142A151A1648A1717A1816DQ029DQ131DQ233DQ335DQ438DQ540DQ642DQ744DQ830DQ932DQ1034DQ1136DQ1239DQ1341DQ1443DQ15/A-145NC9NC10NC13NC14VSS46VSS27RY/BY15RST12WE11CE26OE28BYTE47VCC37U6AM29LV800FRSTnBYTEnFA13FA14FA15FA16FA17FA18FCEnFOEnFWEnFCEnFRSTn3.3V3.3VA13.0D15.0FA18FA17FA16FA15FA14FA1

9、310S29AL008D:8M bit(1Mx8Bit,512K x16Bit)CMOS Flash1为字模式为字模式参考图参考图 9-16 C5509A PGE与与S29AL008D连连接示意图接示意图A13:1CPLD实现的FLASH高位地址扩展寄存器CE1FLASH10.1.4 SDRAM电路模块电路模块VDD1DQ02DQ14DQ25VDDQ3VSSQ6DQ37DQ48VDDQ9DQ510DQ611VSSQ12DQ713VDD14LDQM15WE16CAS17RAS18CS19BA020BA121A10/AP22A023A124A225A326VDD27VSS28A429A530A63

10、1A732A833A934A1135NC36CKE37CLK38UDQM39NC40VSS41DQ842VDDQ43DQ944DQ1045VSSQ46DQ1147DQ1248VDDQ49DQ1350DQ1451VSSQ52DQ1553VSS54U3HY57V641620A13.0A1A2A3A4A5A6A7A8A9A10SDA10nA12A13A0D0D1D2D3D4D5D6D7D8D9D10D11D12D13D14D15D15.03.3VBE0nSDWEnSDCASnSDRASnCE0nBE1nCLKMEMCKER3810K3.3VD15.0A13.0SDA10nBE0nSDWEnSDCAS

11、nSDRASnCE0nBE1nCLKMEM11参考图参考图9-19 C55x与与64M位位(4M16)SDRAM的连接图的连接图A0与与A14在在EMIF中异或中异或输出输出,A0不用不用(A0=0),则该引则该引脚就是脚就是A14 LDQM,UDQM这些信号线是为了实现字节访问和半字访问,LDQM控制低八位,UDQM控制高八位,这样当要按字节写的时候,就把高八位屏蔽掉。字节使能位字节使能位BE0n,BE1nAuto-Precharge占用占用CE0,CE1两个两个CE空间空间CE1空间空间与与FLASH复用复用相同芯片相同芯片HY57V641620blockblockblockC5509有S

12、ROM外部扩展存储空间外部扩展存储空间(CE3)当当MPNMC=1时有效时有效12C5509A没有SROM,参考表2-24 C5509A存储器映射10.1.5 数模转换电路数模转换电路 13MODE=0选择选择2线模式线模式CS=0:地址地址0011010CS=1:地址地址0011011x1x4为线性电压输入端为线性电压输入端;y1y4为线性电压输出端为线性电压输出端参考图9-29 McBSP和AIC23B的数据接口接线图(两两AIC23B为为主模式主模式)表9-21数字音频接口格式(地址:0000111)寄存器的位MS=1 图图9-29 C55x的的McBSP和和AIC23B的数据接口接线图

13、的数据接口接线图(AIC23B为从模式为从模式)142.C55x的的McBSP与与AIC23B的数据接口的数据接口数字音频接口模式为数字音频接口模式为DSP模式模式DAC字时钟信号字时钟信号ADC字时钟信号字时钟信号In master mode,the TLV320AIC23B supplies the BCLK,LRCOUT,and LRCIN.In slave mode,BCLK,LRCOUT,and LRCIN are supplied to the TLV320AIC23B10.1.6 SD卡接口电路卡接口电路 R7410KR7610KR8410KR8610KR8810KR9510KC

14、800.1uFSD_PWRSD_PWRSD2_DAT33.3VSD2_DAT2SD2_DAT1R7310kSD2_DAT0R7110kSD2_CMDSD2_CLKSD2_CMDSD2_DAT1SD2_DAT2SD2_DAT0SD2_DAT3SD2_CLKSD_DETSD_DET3.3VR681kDS8GREENSD_LEDSD_LEDL16BEAD3.3V3.3VDAT31CMD2VSS13VDD4CLK5VSS26DAT07DAT18DAT29DET10WP11SHELL12SHELL13SHELL14SHELL15J2SDCARD1510.1.7 USB接口电路接口电路 R1124 1%R

15、1224 1%USBVDD1DN2DP3USBVSS4SHEILD5SHEILD6J1USB_BR71.5K 1%L8BEADD16.2VC260.01uFR5300KR8680KL1BEADR131MR101MR61MC220.1uFUSBVINUSBVSSUSB_DETUSBPUUSBDPUSBDNDS1R351kUSB_DETUSBPUUSBDPUSBDN16DSP芯片的USB相关引脚10.1.8 自启动电路模块自启动电路模块 17表表10-1 GPIO引脚与系统上电引导方式表引脚与系统上电引导方式表GPIO0 GPIO1 GPIO2 GPIO3说明说明0100来自于来自于Mcbsp0的

16、串行的串行EEPROM引导方引导方式(式(24bit地址)地址)0010USB接口引导方式接口引导方式0101EHPI(多元引导)方式(多元引导)方式0011EHPI(非多元引导)方式(非多元引导)方式1000来自于外部来自于外部16bit异步内存的引导方式异步内存的引导方式1100来自于来自于Mcbsp0的串行的串行EEPROM引导方引导方式(式(16bit地址)地址)1110并行并行EMIF引导方式引导方式(16bit异步内存异步内存)1011来自来自Mcbsp0同步串行引导方式同步串行引导方式(16bit数据数据)1111来自来自Mcbsp0同步串行引导方式同步串行引导方式(8bit数据

17、数据)系统复位时系统复位时,程序会自动跳转到程序会自动跳转到0 xFF8000处运行处运行,在这里固化着出在这里固化着出厂时的引导程序。这段程序中系统会读取厂时的引导程序。这段程序中系统会读取GPIO03的状态的状态,然后确然后确定定引导方式:引导方式:10.1.8 自启动电路模块自启动电路模块 18GP0GP1GP2GP312348765SW2SW DIP-4R1810kR2010kR2210kR2310k3.3VR631kR641kR661kR671k实验箱开发板及实验箱开发板及GPIO拨码开关拨码开关第第10章章 C55x典型应用系统设计典型应用系统设计n10.1 典型典型DSP板的硬件

18、设计板的硬件设计 n10.2 CPLD电路模块设计电路模块设计n10.3 DSP板测试程序板测试程序n10.4 综合设计实例综合设计实例1:自适应系统辨识自适应系统辨识 n10.5 综合设计实例综合设计实例2:数字式有源抗噪声耳罩数字式有源抗噪声耳罩 1910.2 CPLD电路模块设计电路模块设计 n10.2.1 概述概述n10.2.2 复位逻辑复位逻辑n10.2.3 控制寄存器的地址生成控制寄存器的地址生成 n10.2.4 用户寄存器用户寄存器 n10.2.5 FLASH高位地址寄存器高位地址寄存器n10.2.6 控制寄存器数据的输出控制寄存器数据的输出 2010.2 CPLD电路模块设计电

19、路模块设计 10.2.1 概述概述 l利用利用小规模逻辑器件译码小规模逻辑器件译码的方式己不能满足的方式己不能满足DSP 系统系统的要求。的要求。同时同时 DSP 系统中经常需要外部系统中经常需要外部专门的快速专门的快速逻辑控制电路逻辑控制电路的配合的配合,这可由这可由 CPLD 来来 实现。实现。lCPLD 是是 Complex Programmable Logic Device 的简的简称称,其时序严格其时序严格、速、速 度较快度较快、可编程性好、可编程性好,非常非常适合适合于实现译码和逻辑控制专门电路于实现译码和逻辑控制专门电路。lXILINX(赛灵思)公司公司的的CPLD芯片芯片XC9

20、5144XL,用于:用于:uDSP复位逻辑控制复位逻辑控制;u外部存储器外部存储器FLASH高位地址高位地址扩展扩展;u系统外扩等。系统外扩等。l本章本章CPLD代码使用代码使用硬件描述语言VHDL语言编写。语言编写。21实验箱用实验箱用CPLD型号型号:XC9536XL 10.2 CPLD电路模块设计电路模块设计 10.2.1 概述概述 l流行的硬件描述语言有VHDL(Very High Speed Integrated Circuit Hardware Description Language,VHSIC硬件描述语言硬件描述语言)和Verilog HDL。l都是在20世纪80年代中期开发出

21、来的。前者由美国国防部开发出来供军方使用,后者由Gateway Design Automation公司(该公司于1989年被Cadence公司收购)开发。两种HDL均为IEEE标准。l硬件描述语言以文本形式来描述数字系统硬件的结构和行为的语言,用它可表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。22XC95144XL输入输出引脚的定义输入输出引脚的定义 23100-pin TQFP(81 user I/O pins)144-pin TQFP(117 user I/O pins)144-CSP(117 user I/O pins)DSP_CE2n输入输入 输出输出输入输入

22、DSP_CE1nDSP_AREnDSP_AOEnDSP_AWEn10.2.2 复位逻辑复位逻辑 1.输入信号输入信号:l电源芯片复位信号电源芯片复位信号PWR_RSTn;l按键复位信号按键复位信号BTN_RST;l外部复位信号外部复位信号X_RSTn;2.输出信号输出信号:lVC5509A芯片系统复位信号芯片系统复位信号DSP_RSTn;lFLASH芯片复位信号芯片复位信号FLASH_RSTn;l复位指示灯信号复位指示灯信号DSP_RSTn_LED。243.代码:代码:SystemResetn=0 when PWR_RSTn=0 or X_RSTn=0 or BTN_RST=1 else 1;

23、DSP_RSTn=0 when SystemResetn=0 else 1;DST_RST_LED=0 when SystemResetn=0 else 1;FLASH_RSTn=0 when SystemResetn=0 else 1;4.功能:功能:当当PWR_RSTn(低电平有效低电平有效)、X_RSTn(低电平有效低电平有效)、BTN_RST(高电平有效高电平有效)有一个有效时有一个有效时,即产生有效的复位信号即产生有效的复位信号DSP_RSTn(低电平有效低电平有效)、FLASH_RSTn(低电平有效低电平有效)、DSP_RSTn_LED(低电平有效低电平有效)。25输入信号输入信号

24、第第2章章:表表2-24 TMS320VC5509A PGE存贮器映射存贮器映射26块大小块大小(字节字节)首首字节字节地址地址存储器资源存储器资源首首字字地址地址192000000 存储器映射寄存器存储器映射寄存器(MMR)(保留保留)00000032K-1920000C0DARAM/HPI访问访问000060 32K008000DARAM004000192K010000SARAM008000 040000外部扩展存储空间外部扩展存储空间(CE0)002000 400000外部扩展存储空间外部扩展存储空间(CE1)200000 800000外部扩展存储空间外部扩展存储空间(CE2)40000

25、0 C00000外部扩展存储空间外部扩展存储空间(CE3)60000032KFF0000ROM,当当MPNMC=0时时有效有效外部扩展存储空间外部扩展存储空间(CE3),当当MPNMC=1时有效时有效 16KFF8000ROM,当当MPNMC=0时时有效有效外部扩展存储空间外部扩展存储空间(CE3),当当MPNMC=1时有效时有效 16KFFC000FFFFFF外部扩展存储空间外部扩展存储空间(CE3),当当MPNMC=1时有效时有效。(C5509A)4M 256K4M4M4M 64K或直接接32K/16K 字(节)异步RAM,也可间接扩展可接同步动态RAMSDRAM注:MPNMC为状态寄存器

26、ST3_55的第6位10.2.3 控制寄存器的地址生成控制寄存器的地址生成 用户寄存器用户寄存器和和FLASH高位地址寄存器高位地址寄存器FHA与与VC5509A通通过过EMIF接口联系接口联系,其地址分别为其地址分别为0 x400601、0 x400602。地址生成代码地址生成代码(由由XC95144产生产生):REGCEn ChipEnables ChipEnables ChipEnables=00000000“;end case;end process;USER_REGCS=1 when ChipEnables(0)=1 and REGCEn=0 else 0;-FLASH_REGCS=

27、1 when ChipEnables(1)=1 and REGCEn=0 else 0;-27符号后面是注释CE2首字地址首字地址0 x400000 A13 A11A10A9 A8 A1字地址A1是最低有效位 0 0 0 1 1 0 0000 0001实验箱实验箱LEDR发光管寄存器寄存器和拨码开关寄存器地址为0 x400001,0 x400002应为FHA_REGCS10.2.4 用户寄存器用户寄存器 u用户寄存器用户寄存器用于控制用于控制LED灯和读拨码开关状态灯和读拨码开关状态,长度为长度为8位位。高高4位对应引脚位对应引脚USER_SW4USER_SW1,用于读拨码开关状态用于读拨码开

28、关状态;低低4位对应引脚位对应引脚 USER_LED4USER_LED1,用于控制用于控制LED灯灯。u代码代码:process(SystemResetn,USER_REGCS,DSP_DQ,DSP_AWEn)begin if SystemResetn=0 then USER_REG(3 downto 0)=1010;elsif DSP_AWEnEVENT and DSP_AWEn=1 then -_ _ 上升沿 if(USER_REGCS=1)then USER_REG(3 downto 0)=DSP_DQ(3 downto 0);end if;end if;end process;USER

29、_REG(7 downto 4)=USER_SW(4 downto 1);-read SW stateUSER_LED(4 downto 1)=not USER_REG(3 downto 0);-output LED state28符号后面是注释取反写信号/WE的上升沿FLASH_CEn=DSP_CE1n;FLASH_WEn=DSP_AWEn;FLASH_OEn=DSP_AOEn;process(SystemResetn,FHA_REGCS,DSP_DQ,DSP_AWEn)begin if SystemResetn=0 then FHA_REG(5 downto 0)=000000;-elsi

30、f DSP_AWEnEVENT and DSP_AWEn=1 then -_ _ if(FHA_REGCS=1)then-FHA_REG(5 downto 0)=DSP_DQ(5 downto 0);end if;end if;end process;FLASH_ADDR(18 downto 13)MuxD MuxD MuxD=ZZZZZZZZ;end case;end process;DSP_DQ=MuxD when(REGCEn=0)and(DSP_AREn=0)and(DSP_AOEn=0)else ZZZZZZZZ;30高阻状态Multiplex多路复用第第10章章 C55x典型应用系

31、统设计典型应用系统设计n10.1 典型典型DSP板的硬件设计板的硬件设计 n10.2 CPLD电路模块设计电路模块设计n10.3 DSP板测试程序板测试程序n10.4 综合设计实例综合设计实例1:自适应系统辨识自适应系统辨识 n10.5 综合设计实例综合设计实例2:数字式有源抗噪声耳罩数字式有源抗噪声耳罩 3110.3 DSP板测试程序板测试程序 n10.3.1 LED灯和拨码开关测试程序灯和拨码开关测试程序 n10.3.2 GPIO测试程序测试程序 n10.3.3 SDRAM测试程序测试程序 n10.3.4 FLASH测试程序测试程序 n10.3.5 AIC23B测试程序测试程序 3210.

32、3 DSP板测试程序板测试程序 10.3.1 LED灯和拨码开关测试程序灯和拨码开关测试程序 l对于对于LED灯和拨码开关的操作是通过对灯和拨码开关的操作是通过对CPLD上的上的用用户寄存器户寄存器USER_REG进行读写来完成的。进行读写来完成的。l用户寄存器地址为用户寄存器地址为0 x400601,各位的定义:各位的定义:76543210SW4SW3SW2SW1LED4LED3LED2LED1l测试程序功能:让测试程序功能:让LED灯依次点亮灯依次点亮(1:亮亮;0:灭灭),然后再然后再依次熄灭。然后让依次熄灭。然后让LED灯闪烁灯闪烁3次次,最后循环读取最后循环读取SW1SW4的值送的值

33、送LED1LED4显示。显示。33R-x R-x R-x R-x R/W-0 R/W-0 R/W-0 R/W-0 for(i=0;i 8;i+)/将将LED灯依次点亮,再依次熄灭灯依次点亮,再依次熄灭 /因数组已定义因数组已定义LEDcode8=0,1,3,7,15,7,3,1,0 LedDisp(LEDcodei);Delay_ms(300);/延时延时300ms函数函数for(i=0;i 0 x03;i+)/让让LED灯闪烁灯闪烁3次次 LedDisp(0 x00);/该函数将该函数将0送送USER_REG中使灯中使灯全灭全灭 Delay_ms(300);LedDisp(0 x0F);/将

34、将0F送送USER_REG中使灯中使灯全亮全亮 Delay_ms(300);while(1)/循环读取拨码开关的键值,送循环读取拨码开关的键值,送LED显示显示 readvalue=SwithRead();/SwithRead读取拨码开关的值读取拨码开关的值 LedDisp(readvalue);/送送LED灯显示灯显示34(1:亮亮;0:灭灭)76543210SW4SW3SW2SW1LED4LED3LED2LED110.3.2 GPIO测试程序测试程序 lGPIO0GPIO3与拨码开关相连与拨码开关相连,在系统复位时用于,在系统复位时用于选择系统引导方式,当系统引导完毕后即可作为普通选择系统

35、引导方式,当系统引导完毕后即可作为普通GPIO来使用。来使用。lGPIO4、XF、GPIO6、GPIO7连接了连接了LED灯灯,输出为输出为0时点亮时点亮LED灯灯,输出为输出为1时关闭时关闭LED灯灯。l测试程序功能测试程序功能:先让先让GPIO4、XF、GPIO6、GPIO7闪烁闪烁3次次,然后循环检测然后循环检测GPIO0GPIO3的值的值,依次送依次送GPIO4、XF、GPIO6和和GPIO7显示。显示。35注意注意:C5509A 的的PGE封装无封装无GPIO5引脚引脚(BGA封装有封装有)l以下程序所用到的函数部分可在以下程序所用到的函数部分可在CSL安装目录安装目录的库文件的库文

36、件中查找中查找:C55xxCSLlibcsl55xx.src,类似前面用到的类似前面用到的:lD:ticcsv5toolscompilerc5500_4.4.1librtssrc.zip(解压解压)GPIO_RSET(IODIR,0 xF0);/使使GPIO0-3为输入为输入,GPIO4-7为输出为输出for(i=0;i0 x03;i+)GPIO_RSET(IODATA,0 x0f);/使使GPIO4-7都输出都输出0,使使3灯灯亮亮 CHIP_FSET(ST1_55,XF,0);/XF灯灯也点亮也点亮 Delay_ms(300);GPIO_RSET(IODATA,0 xff);/3灯灯全灭全

37、灭 CHIP_FSET(ST1_55,XF,1);/XF灯灯也熄灭也熄灭 Delay_ms(300);while(1)readvalue=GPIO_RGET(IODATA)&0 x0F;/读取读取GPIO0-3的值的值 GPIO_RSET(IODATA,readvalue 1);/将将GPIO1的值与的值与GPIO5(C5509A PGE无无)对应对应,赋给赋给XF36/GPIO_RSET设置设置IODIR值为值为0 xF0/设置设置IODATA值为值为0 x0f/CHIP_FSET设置设置ST1_55的的XF=0无无GPIO5引脚引脚无无GPIO5引脚引脚有关函数或宏定义在片上支持库安装文件

38、夹有关函数或宏定义在片上支持库安装文件夹C55xxCSL的的csl55xx.src中中#define GPIO_RSET(Reg,Val)_PREG_SET(GPIO_ADDR(#Reg),Val)#define _PREG_SET(PregAddr,Val)PREG16(PregAddr)=(Uint16)Val#define PREG16(addr)(*(volatile ioport Uint16*)(addr)#define CHIP_FSET(Reg,Field,Val)_CHIP_#Reg#_FSET(#Field,Val)在在csl55xx.src中中依次可追究出对依次可追究出对

39、ST1_55的的XF位清位清0GPIO_RGET(IODATA)的追源:的追源:#define GPIO_RGET(Reg)_PREG_GET(GPIO_ADDR(#Reg)#define _PREG_GET(PregAddr)PREG16(PregAddr)#define PREG16(addr)(*(volatile ioport Uint16*)(addr)GPIO数据寄存器IODATA(地址:0 x3401)位位字字 段段数数 值值说说 明明158Rsvd保留保留70IOxDIR01IOx方向控制位方向控制位IOx配置为输入配置为输入IOx配置为输出配置为输出GPIO方向寄存器IODI

40、R(地址:0 x3400)位位字字 段段数数 值值说说 明明158Rsvd保留保留70IOxD01IOx逻辑状态位逻辑状态位IOx引脚上的信号为低电平引脚上的信号为低电平IOx引脚上的信号为高电平引脚上的信号为高电平8.3.2 GPIO寄存器寄存器37引脚引脚GPIO5只在只在BGA封装上有此引脚。封装上有此引脚。10.3.3 SDRAM测试程序测试程序 lSDRAM占用两个空间占用两个空间:CE0和和CE1,FLASH与与SDRAM复用复用CE1空间空间。当。当CE1_1寄存器中的寄存器中的MTYPE为为001b时时,表示表示CE1空间为空间为16位异步存储器位异步存储器;当当MTYPE为为

41、011b时时,表示表示CE1空间为空间为16位位SDRAM。l测试程序功能测试程序功能:首先配置好首先配置好EMIF,然后向然后向SDRAM中中写入写入1000个数据个数据,接着将写入的数据读出接着将写入的数据读出,验证读出验证读出的数据是否正确的数据是否正确,并对错误的数据个数进行计数。并对错误的数据个数进行计数。38D15D1412D118D72D10ReservedMTYPEREAD SETUPREAD TROBEREAD HOLDC55x EMIF CEn Space Control Register 1EMIF_config(&emiffig);/初始化初始化SDRAMpsrc=(U

42、int16*)0 x200000;/指向将要读写的地址指向将要读写的地址for(ii=0;ii 1000;ii+)/向对应地址中写入数据向对应地址中写入数据*psrc+=ii;psrc=(Uint16*)0 x200000;/重新指向将要读写的地址重新指向将要读写的地址for(ii=0;ii egcr&_EMIF_EGCR_MEMFREQ_MASK)=0 x200u)CHIP_FSET(XBSR,EMIFX2,1);#endif EMIF_RSET(EGCR,Config-egcr);EMIF_RSET(CE01,Config-ce01);EMIF_RSET(CE02,Config-ce02)

43、;EMIF_RSET(CE03,Config-ce03);EMIF_RSET(CE11,Config-ce11);EMIF_RSET(CE12,Config-ce12);EMIF_RSET(CE13,Config-ce13);EMIF_RSET(CE21,Config-ce21);EMIF_RSET(CE22,Config-ce22);EMIF_RSET(CE23,Config-ce23);EMIF_RSET(CE31,Config-ce31);EMIF_RSET(CE32,Config-ce32);EMIF_RSET(CE33,Config-ce33);EMIF_RSET(SDC1,Conf

44、ig-sdc1);EMIF_RSET(SDPER,Config-sdper);EMIF_RSET(INIT,Config-init);EMIF_RSET(SDC2,Config-sdc2);40/*禁止全局中断禁止全局中断使使INTM=1,返回中断全局屏蔽位返回中断全局屏蔽位INTM的原状态值的原状态值*/*oldgie=INTM置位置位1之前原状态值之前原状态值*/typedef struct Uint16 egcr;Uint16 emirst;Uint16 ce01;Uint16 ce02;Uint16 ce03;Uint16 ce11;Uint16 ce12;Uint16 ce13;Ui

45、nt16 ce21;Uint16 ce22;Uint16 ce23;Uint16 ce31;Uint16 ce32;Uint16 ce33;Uint16 sdc1;Uint16 sdper;Uint16 init;Uint16 sdc2;EMIF_Config;EMIFX2:是5509的External Bus Selection Register(EBSR)的D11位,对5509A 是SR STAT(SDRAM的自动刷新位.参看C5509(A)的用户手册)MEMFREQ:是是egcr的的8-10位位,即大于等于即大于等于001b(频率小于等于频率小于等于CPU时钟的时钟的1/2分频分频),即

46、即CLKMEM频率不频率不是是CPU时钟时钟(000b),而是而是CPU时钟的各时钟的各分频分频(1/2,1/4,1/8,1/16分频分频)XBSR就是就是EBSRXBSR就是就是EBSRMaximum SDRAM operating frequency supported is 72 MHz.EMIFX2 mode.EMIF SDRAM divide-by-two mode at 144 MHz.Use this feature when SDRAM CLKMEM=1/2 CPU clock.EMIFX2=0:For any other EMIF modeEMIFX2=1:Only used

47、 for EMIF SDRAM divide-by-two mode at 144 MHz CPU operation.EMIF_config函数的定义函数的定义(续续):#if(CHIP_5509A)Uint16 clkMem=Config-egcr&_EMIF_EGCR_MEMFREQ_MASK;Uint16 mMask=_EMIF_CE01_MTYPE_MASK;Uint16 mSdram=(Config-ce01&mMask)!=0)|(Config-ce11&mMask)!=0)|(Config-ce21&mMask)!=0)|(Config-ce31&mMask)!=0);if(c

48、lkMem&mSdram)_EMIF_IPMR=0 x0000u;#endif IRQ_globalRestore(oldgie);41MEMFREQ:是是egcr的的8-10位位,即大于等于即大于等于001b(频率小于等于频率小于等于CPU时钟的时钟的1/2分频分频),即即CLKMEM频率不是频率不是CPU时钟时钟(000b),而是而是CPU时钟的各分频时钟的各分频(1/2,1/4,1/8,1/16分频分频)即即CE01的的MTYPE值值_EMIF_IPMR:Internal Power Management Register#define _EMIF_IPMR_ADDR (0 x0814u

49、)#define _EMIF_IPMR PREG16(_EMIF_IPMR_ADDR)#define _IPMR _EMIF_IPMROn the TMS320VC5509A devices,there is an SDRAM control register 3 containing a DIV1 bit.If MEMFREQ=000b(divide-by-1 clock mode),this register must contain 0007h(DIV1=1).For other values of MEMFREQ,this register must contain 0003h(DIV

50、1=0).最低两位要求总是11b。On the TMS320VC5509 devices,the external bus selection register(EBSR)contains an EMIFX2 bit(see the data manual).If the CPU is programmed to operate at 144 MHz and MEMFREQ=001b(divide-by-two),the EMIFX2 bit must be 1 in the external bus selection register(EBSR)of the DSP.For other M

51、EMFREQ values,the EMIFX2 bitmust be 0.This is required for proper timing of SDRAM accesses.应是5509A的SDRAM Control Register 3(SDC3)/*恢复恢复全局中断全局中断屏蔽位屏蔽位INTM的原状态值的原状态值*/意思是若用SDRAM且其频率不是CPU时钟,MEMFREQ 不等于=000b SDRAM的EMIF设置例子:/*This is an example for EMIF of C5509 -*/#include#include#include#include/*Uint1

52、6 x;*/*Uint32 y;*/CSLBool b;unsigned int datacount=0;int databuffer1000=0;int*souraddr,*deminaddr;/*锁相环的设置*/PLL_Config myConfig=0,/IAI:the PLL locks using the same process that was underway /before the idle mode was entered 1,/IOB:If the PLL indicates a break in the phase lock,/it switches to its by

53、pass mode and restarts the PLL phase-locking sequence 24,/PLL multiply value;multiply 24 times 1 /Divide by 2 PLL divide value;it can be either PLL divide value /(when PLL is enabled),or Bypass-mode divide value /(PLL in bypass mode,if PLL multiply value is set to 1)CPU frequency=144 MHz;42/*SDRAM的E

54、MIF设置例子:for C5509*SDRAM的EMIF设置*/EMIF_Config emiffig=0 x221,/EGCR:the MEMFREQ=001,the clock for the memory is 1/2 to cpu frequence /the WPE=0,forbiden the writing posting when we debug the EMIF /the MEMCEN=1,the memory clock is reflected on the CLKMEM pin /the NOHOLD=1,HOLD requests are not recognize

55、d by the EMIF 0 xFFFF,/EMI_RST:any write to this register resets the EMIF state machine 0 x3FFF,/CE0_1:CE0 space control register 1 /MTYPE=011,Synchronous DRAM(SDRAM),16-bit data bus width 0 xFFFF,/CE0_2:CE0 space control register 2 0 x00FF,/CE0_3:CE0 space control register 3;TIMEOUT=0 xFF;0 x7FFF,/

56、CE1_1:CE1 space control register 1 0 xFFFF,/CE1_2:CE1 space control register 2 0 x00FF,/CE1_3:CE1 space control register 3 0 x7FFF,/CE2_1:CE2 space control register 1 0 xFFFF,/CE2_2:CE2 space control register 2 0 x00FF,/CE2_3:CE2 space control register 3 0 x7FFF,/CE3_1:CE3 space control register 1 0

57、 xFFFF,/CE3_2:CE3 space control register 2 0 x00FF,/CE3_3:CE3 space control register 3 0 x2911,/SDC1:SDRAM control register1,TRC=8;SDSIZE=0;SDWID=0;RFEN=1;TRCD=2;TRP=2 0 x0410,/SDPER:SDRAM period register,7ns*4096 0 x07FF,/SDINIT:SDRAM initialization register,any write to this register to /init the

58、all CE spaces,do it after hardware reset or power up the C55x device 0 x0131 /SDC2:SDRAM control register2;SDACC=0;TMRD=01;TRAS=0101;TACTV2ACTV=0001;main()/*初始化CSL库*/CSL_init();/*EMIF为全EMIF接口*/CHIP_RSET(XBSR,0 x0a01);/*设置系统的运行速度为144MHz*/PLL_config(&myConfig);/*初始化DSP的外部SDRAM*/EMIF_config(&emiffig)43

59、44/*SDRAM的EMIF设置例子:for C5509*SDRAM的EMIF设置*/main()/*初始化CSL库*/CSL_init();/*EMIF为全EMIF接口*/CHIP_RSET(XBSR,0 x0a01);/*设置系统的运行速度为144MHz*/PLL_config(&myConfig);/*初始化DSP的外部SDRAM*/EMIF_config(&emiffig)10.3.4 FLASH测试程序测试程序 l测试程序功能测试程序功能:首先配置好首先配置好EMIF,EMIF,然后擦除整片然后擦除整片FLASHFLASH。接着进行写操作接着进行写操作,先在先在0 x0 x4 42

60、20200002000开始的地址写入开始的地址写入10001000个数据,然后在个数据,然后在0 x0 x4 42 20400004000开始的地址写入开始的地址写入10001000个数据。个数据。最后读取两块数据最后读取两块数据,验证数据是否正确验证数据是否正确,并对错误的个并对错误的个数进行计数。数进行计数。EMIF_config(&emiffig);/配置配置EMIFsuccess=Flash_Erase_all();/需要大约需要大约14s才能擦除完毕才能擦除完毕if(success=1)printf(Flash erase successfully!n);Flash_Write_in

61、it();/向向flash中写入数据中写入数据,有换页操作有换页操作for(ii=0;ii1000;ii+)Flash_Write(0 x202000+ii,ii);45for(ii=0;ii 1000;ii+)Flash_Write(0 x204000+ii,ii+1);/写入的数据与上面略有不同写入的数据与上面略有不同Flash_Write_end();for(ii=0;ii 1000;ii+)/读取写入读取写入flash中的数据中的数据,并验证并验证 if(Flash_Read(0 x202000+ii)!=(ii-1)error+;for(ii=0;ii 1000;ii+)if(Fla

62、sh_Read(0 x204000+ii)!=ii+1)error+;if(error=0)printf(FLASH test completed!No Error!);while(1);4610.3.5 AIC23B测试程序测试程序 l板上共有板上共有2片片AIC23B。控制接口部分使用控制接口部分使用I2C总线总线,两个芯片的地址分别为两个芯片的地址分别为0 x1A和和0 x1B;数字接口部数字接口部分使用了两个分使用了两个McBSP接口接口:McBSP和和McBSP1。l测试程序功能:首先对测试程序功能:首先对AIC23B进行初始化,配置进行初始化,配置启动启动McBSP0和和McBSP

63、1,然后进入一个循环。在,然后进入一个循环。在循环中,等待数据接收,待接收完毕后将其存入循环中,等待数据接收,待接收完毕后将其存入一个数组,再将接收到的数据发送出去。一个数组,再将接收到的数据发送出去。47AIC23_Init();/AIC23B初始化初始化,hMcbsp0=MCBSP_open(MCBSP_PORT0,MCBSP_OPEN_RESET);/打开打开McBSP0hMcbsp1=MCBSP_open(MCBSP_PORT1,MCBSP_OPEN_RESET);/打开打开McBSP1MCBSP_config(hMcbsp0,&McbspConfig);/配置配置McBSP0MCBS

64、P_config(hMcbsp1,&McbspConfig);/配置配置McBSP1MCBSP_start(hMcbsp0,MCBSP_RCV_START|MCBSP_XMIT_START,0 x3000);/开启开启McBSP0发送和接收发送和接收MCBSP_start(hMcbsp1,MCBSP_RCV_START|MCBSP_XMIT_START,0 x3000);/开启开启McBSP1发送和接收发送和接收48/AIC23_Init()定义定义见实验见实验Lab0701,Lab0702的的aic23.c程序程序用结构体用结构体McbspConfigAIC23_Init();/AIC23B

65、初始化初始化,void AIC23_Init()I2C_Init();/Reset the AIC23 and turn on all power AIC23_Write(AIC23_RESET_REG,0);AIC23_Write(AIC23_POWER_DOWN_CTL,0);AIC23_Write(AIC23_ANALOG_AUDIO_CTL,ANAPCTL_DAC|ANAPCTL_INSEL);/使用麦克风音源使用麦克风音源 AIC23_Write(AIC23_DIGITAL_AUDIO_CTL,0);/Turn on volume for line inputs AIC23_Writ

66、e(AIC23_LT_LINE_CTL,0 x000);AIC23_Write(AIC23_RT_LINE_CTL,0 x000);/Configure the AIC23 for master mode,44.1KHz stereo,16 bit samples /Use 12MHz USB clock AIC23_Write(AIC23_DIGITAL_IF_FORMAT,DIGIF_FMT_MS|DIGIF_FMT_IWL_16|DIGIF_FMT_FOR_DSP);AIC23_Write(AIC23_SAMPLE_RATE_CTL,SRC_SR_44|SRC_BOSR|SRC_MO);/Turn on headphone volume and digital interface AIC23_Write(AIC23_LT_HP_CTL,0 x07f);/0 x79 for speakers AIC23_Write(AIC23_RT_HP_CTL,0 x07f);AIC23_Write(AIC23_DIG_IF_ACTIVATE,DIGIFACT_ACT);/Set McBSP0

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!