外部标志输出XF:工作方式选择MP/MC等。(3)晶振/时钟信号(Oscillator/TimerSignals)晶振输出插入X1、X2/CLKIN时钟信号:包括CLKOUT、CKKMDX、TOUT等。(4)缓冲串行口信号(BufferedSerialPortsSignals)接收时钟:BCLKRO、BCLKRI;发送时钟:BCLKXO、BCLKX1;串行数据接收:BDRO、BDR1:串行数据发送BDXO、DBX1顿同步接收:BFSRO、BFSR1;顿同步发送BFSXO、BFSX1。(5)TDM串口信号TDM接收时钟TCLKR:TDM发送时钟TCLKX串行数据接收TDR;串行数据发送TDX接收顿同步/地址TFSR/TADD:顿同步发送TFSX/TFRM(6)仿真信号(Emulation)JTAG测试时钟TCKJIAG数据输入TDIJIAG口模式选择TMSJIAG数据输出TDOJIAG口复位TRST仿真引脚EMUO、EMU1/OFF(7)Host接HostPortInterface并行数据口HD0~7控制输入HCNTLO、HCNTL1字节识别输入H+BIL片选1+CS数据输入选择HDS1HDSI:地址选通:HAS;读/写信号:HRW、HRDY串断输出:HINT,HPI模式选择HPIENA/VDD如图3“C54X信号引脚"和"C548信号引脚”。5、DSP硬件设计的几个主要问题:(1)总线控制方案yf-4-06-ciy
yf-f4-06-cjy 外部标志输出 XF; 工作方式选择 MP/MC 等。 (3)晶振/时钟信号(Oscillator/Timer Signals) 晶振输出插入 X1、X2/CLKIN 时钟信号:包括 CLKOUT、CKKMDX、TOUT 等。 (4)缓冲串行口信号(Buffered Serial Ports Signals) 接收时钟:BCLKRO、BCLKR1;发送时钟:BCLKXO、BCLKX1; 串行数据接收:BDR0、BDR1;串行数据发送 BDX0、DBX1; 帧同步接收:BFSR0、BFSR1;帧同步发送 BFSX0、BFSX1。 (5)TDM 串口信号 TDM 接收时钟 TCLKR;TDM 发送时钟 TCLKX 串行数据接收 TDR;串行数据发送 TDX 接收帧同步/地址 TFSR/TADD;帧同步发送 TFSX/TFRM (6)仿真信号(Emulation) JTAG 测试时钟 TCK JIAG 数据输入 TDI JIAG 口模式选择 TMS JIAG 数据输出 TD0 JIAG 口复位 TRST_ 仿真引脚 EMU0、EMU1/OFF (7)Host 接口 Host Port Interface 并行数据口 HD0~7 控制输入 HCNTL0、HCNTL1 字节识别输入 H+BIL 片选 1+CS 数据输入选择 HDS1_HDS1; 地址选通:HAS; 读/写信号:HRW、HRDY 串断输出:HINT; HPI 模式选择 HPIENA/VDD 如图 3 “C54X 信号引脚”和”C548 信号引脚”。 5、DSP 硬件设计的几个主要问题: (1)总线控制方案
(2)boot loading(3)Hardwarewait states(4)I/O与中断设计(5))MemoryMap(6)串口工作方式与时序设计(7)TAP接口$3.10.4TMS320C54X的软件编程1、DSP编程工具与流程DSP的设计目标是进行数字信号处理,在硬件设计的基础上选择好一定的优化算法并通过编程在DSP芯片上实现是DSP技术的核心内容。对DSP进行编程,目前最有效的语言工具仍是DSP汇编语言,同时为方便用户用高级语言进行编程开发,也相继推出了C语言编译器,ADa、Pascal等编译器。图4是TMSC320C54X软件开发流程,图中有阴影的部分是通常开发的必需步骤,其文件。它可据需要选作,最后产生COFF(CommonObjectFileFormat)2、DSP汇编语言编程(1)DSP汇编过程有以下几个步骤a)源程序的编写。将算法的详细实现过程用DSP指令系统的语句描述出来,其中源程序一般包括:data、bss和text三个基本组成内容。下面是一段程序例子,图5是COFF文件格式和objectfile在存储器中的分配情况。*********.*.****.o......o...o.*+o.+o...o.23*+assemblean initialized table into data.**A++++++++++++*ceoeoeoe000005data001160000coeffword011h,022h,033h00220001000200337***..**++++++++*89*$Reserveforvariable+.spaceinbss+o+ooo+o+e+etoeeooeeooeeooeeooeeooeeooeeooe100000hssbuffer,10U2B++++++++++++++++++ooo++ooeocoeeeoeocoeoc心..Stillin.data+++++++++++++o*....++++++++++o1400030123word0123hptr15ooo*ooo*ooo*ooo*ooo*ooo*ooo*63..Assemblecodeintothetextsection+++.+.180000text190000100fLDOFh,Aadd:200001f010SUB#1,Aaloop:00020001123450003f842BCaloop,AGEQ++++++++++*+++*++++++++++Anotherinitialized table into data++++++0004data26000400aaivals-word0AAh,0BBh,0CCh000500bb000600cc22+++++++++++++o*+++++++++++++++***Definevariables**anothersectionformoreyf.f4-06-cjy
yf-f4-06-cjy (2)boot loading (3)Hardware wait_states (4)I/O 与中断设计 (5)Memory Map (6)串口工作方式与时序设计 (7)TAP 接口 §3.10.4 TMS320C54X 的软件编程 1、DSP 编程工具与流程 DSP 的设计目标是进行数字信号处理,在硬件设计的基础上选择好一定的优化算法并 通过编程在 DSP 芯片上实现是 DSP 技术的核心内容。对 DSP 进行编程,目前最有效的语言 工具仍是 DSP 汇编语言,同时为方便用户用高级语言进行编程开发,也相继推出了 C 语言 编译器,ADa、Pascal 等编译器。 图 4 是 TMS C320C54X 软件开发流程,图中有阴影的部分是通常开发的必需步骤,其 它可据需要选作,最后产生 COFF(Common Object File Format) 文件。 2、DSP 汇编语言编程 (1)DSP 汇编过程有以下几个步骤 a) 源程序的编写。将算法的详细实现过程用 DSP 指令系统的语句描述出来,其中 源程序一般包括:data、bss 和 text 三个基本组成内容。下面是一段程序例子,图 5 是 COFF 文件格式和 object file 在存储器中的分配情况。 2 ********************************************* 3 ** assemble an initialized table into data.** 4 ********************************************** 5 0000 data 6 0000 0011 coeff word 011h,022h,033h 0001 0022 0002 0033 7 ********************************************** 8 ** Reserve space in bss for a variable *** 9 ********************************************** 10 0000 bss buffer,10 11 ********************************************* 12 ** Still in .data. 13 ********************************************* 14 0003 0123 ptr word 0123h 15 ********************************************* 16 ** Assemble code into the text section **** 17 ********************************************** 18 0000 text 19 0000 100f add: LD 0Fh,A 20 0001 f010 aloop: SUB #1,A 0002 0001 21 0003 f842 BC aloop,AGEQ 22 ********************************************** 23 ** Another initialized table into data ********** 24 ********************************************** 25 0004 data 26 0004 00aa ivals .word 0AAh,0BBh,0CCh 0005 00bb 0006 00cc 27 ********************************************** 28 *** Define another section for more variables**
29300000var2"newars",1.userct50001inbuf"newvars",7userct++.+++.+++.+++.+++.++.+++++*+++*心Assemblecodeintomoretext++++++c+eeo+eeoe0005text36110aLD0Ah,B0005may:0006f166MPY37mloop:#0Ah,B0007000a380008f868BCmloop,BNOV00090006'39+++++++++++++++++++++++++++++++++++++++++++++144*+++++++++心Define anamedsection for int vectors+...+420000"vectors".sect4300000011.word011h,033h4400010033b)cmd文件的编写。在使用不同的DSP芯片时,我们还要根据不同芯片的内部存储器情况,修改cmd文件,com文件中的内容必须按照系统的存储器地址分配确定。C54X系统与CMD文件配置情况见图6。c)编译与连接。通过对源程序(*.asm)的编译产生COFF目标文件(*.obj),再通过连接产生可执行的COFF文件(*out),就可以进行仿真和加载。编译与连接格式如下:编译:asm500[input file [object file[list file]][-option]连接:Link500[-optionjfilcname,-filenamen3、DSP开发系统仿真Ti提供了TMS320C54X与DSP开发仿真环境,包括Simulator和EmulatorSimulator是软件仿真器,它可仿真54X的全部指令、I/O和主要外设功能,装入由汇编器/连接器产生的目标代码后,可连接或单步运行,仿真观察各存储器、寄存器的内容,以作汇编、编辑与修改等。Emulator是PC机插件形式的硬件仿真器及开发系统:它具有良好的用户界面,可作全速的在线仿真。yt.8406-4iy
yf-f4-06-cjy 29 ********************************************** 30 0000 var2 .userct “newvars”,1 31 0001 inbuf .userct “newvars”,7 32 ********************************************** 33 *** Assemble more code into text ******** 34 ********************************************** 35 0005 text 36 0005 110a may: LD 0Ah,B 37 0006 f166 mloop: MPY #0Ah,B 0007 000a 38 0008 f868 BC mloop,BNOV 0009 0006’ 39 ********************************************** 40 *** Define a named section for int vectors ******** 41 ********************************************** 42 0000 .sect “vectors” 43 0000 0011 .word 011h,033h 44 0001 0033 b) cmd 文件的编写。在使用不同的 DSP 芯片时,我们还要根据不同芯片的内部存储器 情况,修改 cmd 文件,com 文件中的内容必须按照系统的存储器地址分配确定。C54X 系统 与 CMD 文件配置情况见图 6。 c) 编译与连接。通过对源程序(*.asm)的编译产生 COFF 目标文件(*.obj),再通过 连接产生可执行的 COFF 文件(*.out),就可以进行仿真和加载。编译与连接格式如下: 编译:asm 500[input file [object file[list file]]][-option] 连接:Link 500[-option]filcname,.filenamen 3、DSP 开发系统仿真 Ti 提供了 TMS320C54X 与 DSP 开发仿真环境,包括 Simulator 和 Emulator Simulator 是软件仿真器,它可仿真 54X 的全部指令、I/O 和主要外设功能,装入由汇编 器/连接器产生的目标代码后,可连接或单步运行,仿真观察各存储器、寄存器的内容,以 作汇编、编辑与修改等。 Emulator 是 PC 机插件形式的硬件仿真器及开发系统;它具有良好的用户界面,可作全 速的在线仿真
Program address generatiorData address generatiorlogic(PAGEN)logic(DAGEN)System controlntertacARAU0,ARAU1ARAU0,ARAU1AR0-AR7AR0-AR7ARP,BK,DP,SPARP,BK,DP,SPVAAAAAAPABMemoryPBandCAB[externalinterfaceCBDAB [DBPeripheralinterfaceEABEBEXP encoderMUX★TregisteTACVA(40) B(40)SignctrSignctr/Sign ctrSignctrSign ctrT?Multiplier(17× 17)MUXABBarrel shifterALU(40)7AAAAA4FractionalA7BMUX77MUXLegend:s1AAccumulatorAVB Accumulator BMSW/LSWCCBda busAdder(40 )DDBdata busCOMPselectMMACunit*P PB program busS Barrel shifterTRNZEROSATROUNDT TregisterUALUTC图2TMS320C54X硬件结构yf-f4-06-cjy
yf-f4-06-cjy EXP encoder MUX T register Sign ctr Sign ctr Multiplier(17× 17) Fractional A(40) B(40) MUX MUX Adder(40 ) ZER0 SAT ROUND Legend: A Accumulator A B Accumulator B C CB data bus D DB data bus M MAC unit P PB program bus S Barrel shifter T Tregister U ALU ALU(40) Sign ctr Sign ctr MUX COMP TRN TC MSW/LSW select Barrel shifter Sign ctr Memory and external interface Peripheral interface ARAU0,ARAU1 AR0-AR7 ARP,BK,DP,SP ARAU0,ARAU1 AR0-AR7 ARP,BK,DP,SP Program address generation logic(PAGEN) Data address generation logic(DAGEN) System control interface PAB PB CAB CB DAB DB EAB EB X D A B T D A A P C D A B 0 A M U B T A B C D S B A C D A B S 图 2 TMS320 C54X 硬件结构
ExternalInterfacesontheC542C542D15-0HOLD4External DMA4EEEHOLDAinterface14NMIINTO-TExternal interruptTeETaeEIACKData/addressR/W4ntro!XFsignalsMSTRB4External flagsTOSTRB4BIOREADYTOUTTim er outputTA0A4MSCCLKXORSDXFSXO-Buffered senal portX1CLKRO--X2/CLKINICLDRO-4KOUTFSX0CLKMD1-3CLKXISystem controlMPMCDXLAFSXITDM sernal portCNTCLKRI4?DRLFSXITMS320LC548TQFP Tentative PinoutBRSADHDHCCCBORAHVHDDDHDDDOVDGDGVSNDDDIDDDDDN2N2DAAAAAADAASNS1D1D9DDD5DDO9620-60#所SADPACKAGE TOP VIEW144PINTQFP20x20x.1.4mmTMS320LC548HoeDVDDSSNP36*BFSRIVDBESXI77BDRH.HDHHHDDMNNNNDGCGALNNDD-NXDKDDXDDK-X X0X-101.0-(*NewPinassignmentcomparetoLC542)图3C542和C548的信号引脚ye-4-06-cjy
yf-f4-06-cjy External Interfaces on the C542 D 15-0 A 15-0 P S D S IS R/W MSTRB IQSTRB READY IAQ MSC R S X 1 X 2/CLK IN \C L KOUT CLK M D 1-3 M P/M C CNT HOLD HOLDA NM1 INT0-3 IACK X F BIO TOUT CLKX0 DX0 FSX0 CLKR0 DR0 FSX0 CLKX1 DX1 FSX1 CLKR1 DR1 FSX1 C542 External D M A interface External interrupt interface External flags T im er output Buffered senal port TDM sernal port Clocks Reset Data/address bus and control signals System control TMS320LC548 TQFP Tentative Pinout 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 3 2 3 3 3 4 35* 36* 1 4 4 1 4 3 1 4 2 1 4 1 1 4 0 1 3 9 1 3 8 1 3 7 1 3 6 1 3 5 1 3 4 1 3 3 1 3 2 1 3 1 1 3 0 1 2 9 1 2 8 1 2 7 1 2 6 1 2 4 1 2 3 1 2 2 1 2 1 1 2 0 1 1 9 1 1 8 1 1 7 1 1 6 1 1 5 1 1 4 1 1 3 1 1 2 1 1 1 1 1 0 1 0 9 1 2 5 PA C K A G E TO P V IEW 144PIN T Q FP 20x20x.1.4m m TM S320LC 548 108 107 106 105 104 103 102 101 100 9 9 9 8 9 7 9 6 9 5 9 4 9 3 9 2 9 1 9 0 8 9 8 8 8 7 8 6 8 5 8 4 8 3 8 2 8 1 8 0 7 9 7 8 7 7 7 6 7 5 •74 •73 3 7 3 8 3 9 4 0 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 5 0 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9 6 0 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 7 0 7 1 7 2 C G N D B C L K R 1 H C N T L 0 D G N D B C L K R 0 T C L K R B F S R 0 T F S R B D R 0 H C N T L 1 T D R B C L K X 0 T C L K X C G N D H I N T C V D D B F S X 0 T F S X H R D Y D V D D D G N D H D 0 B D X T D X I A C K H B I L N M I - I N T 0 I N T 1 I N T 2 I N T 3 C V D D H D I C G N D X 1 B C L K D G N D D G N D D A 2 1 C V D D A 9 A 8 A 7 A 6 A 5 A 4 H D 6 A 2 A 0 D V D D H D S 2 D G N D H D S 1 C G N D C V D D H D 5 D I 5 D I 4 D I 3 H D 4 D I 2 D I 1 D I 0 D 9 D 8 D 7 D 6 D V D D C G N D P A 2 0 P A I 9 C V D D A 1 CGND PA22 CGND DVDD A10 HD7 A11 A12 A13 A14 A15 CVDD HAS_ DGND CGND CVDD HCS_ HRW_ READY PS_ DS_ IS_ RW_ MSTRB_ IO STRB_ MSC_ X F SHOLDA LAQ_ HOLD_ BIO_ M P/M C DVDD CGND BDR1 BFSR1 RA18 PA17 DGND PA16 D 5 D 4 D 3 D 2 D 1 D 0 RS_ S2/C L K O U T X 1 DH3 CLKOUT DGND HPLENA/ VDD CVDD CGND TMS TCK TRST_ TDI TDO EMU1 EMU0 TOUT HD2 N C CLKMD3 CLKMD2 CLKMD1 DGND DVDD BDX1 BFSX1 (*N ew Pin assignm ent com pare to LC 542) 图 3 C542 和 C548 的信号引脚