您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第7章-C54x片内外设、接口及应用2009
2020年2月24日DSP原理及应用1第7章TMS320C54x片内外设、接口及应用2020年2月24日DSP原理及应用2内容提要主机接口HPI定时器串行接口中断系统2020年2月24日DSP原理及应用37.1’C54x的主机接口’C54x的主机接口(HPI,HostPortInterface)提供了DSP和外部处理器的接口。它是一个8位并行口,外部主机是HPI的主控者,HPI作为主机的从设备与主机相连。片外的主机通过修改HPI控制寄存器(HPIC)设置工作方式,通过设置HPI地址寄存器(HPIA)来指定要访问的片内RAM单元,通过读/写数据锁存器(HPID)来对指定存储器单元读/写。主机通过HCNTL0、HCNTL1管脚电平选择3个寄存器中的一个。2020年2月24日DSP原理及应用4HPI控制寄存器(HPIC):主机和C54都能对其访问,包括配置通信协议和控制通信的比特。HPI地址寄存器(HPIA):HPIA只能由主机直接访问,寄存器中存放当前访问需要的C54片内RAM地址。HPI数据锁存器(HPID):HPID只能由主机直接访问,主机通过HPID与C54的HPI内存块交换数据。HPI接口根据HPIA值,由HPI接口控制信号确定是将HPI内存单元值读入HPI还是将HPID值写入HPI内存单元。HPI控制逻辑:用于处理HPI与主机之间的接口信号。7.1’C54x的主机接口2020年2月24日DSP原理及应用5HPI口作为主机的外围设备,提供8根外部数据线HD(0~7)与主机(或主设备)交换信息。当’C54x与主机传送数据时,HPI能自动地将外部接口连续传来的8位数组成16位数,并传送至’C54x。当主机使用HPI寄存器执行数据传输时,HPI控制逻辑自动执行对’C54x内部的双寻址RAM的访问,然后’C54可以在它的存储空间进行读/写,以完成数据处理。7.1’C54x的主机接口2020年2月24日DSP原理及应用67.1’C54x的主机接口HPI接口有两种工作方式:共用寻址模式(SAM方式)在这种方式下,主机和’C54x都能寻址HPI存储器。如果是异步工作的主机寻址,可在HPI内部重新得到同步。当’C54x与主机的周期发生冲突时,则主机具有寻址优先权,’C54x将等待一个周期。主机寻址模式(HOM方式)在HOM方式下,HPI存储器只能让主机寻址,而’C54x则处于复位状态或IDLE2空转状态。主机可以访问HPIRAM,而’C54x则配置为最小功耗。2020年2月24日DSP原理及应用77.1’C54x的主机接口1.HPI与主机的连接’C54x通过HPI与主机设备连接,除了8位HPI数据总线以及控制信号线外,不需要附加其他的逻辑电路。数据线地址读/写数据口地址锁存使能准备中断主机HD0~HD7HCNTL1HCNTL0HBILHR/WHDS1HDS2HCSHASHRDYHINTTMS320C54x82020年2月24日DSP原理及应用8HD0~HD7:双向并行三态数据总线,与主机数据总线相连。HCNTL0、HCNTL1:用来选择主机所要寻址的寄存器。HCNTL0HCNTL1功能说明00主机可以读/写HPIC寄存器。01主机可以读/写HPID寄存器。每读1次,HPIA事后增1;每写1次,HPIA事先增1。10主机可以读/写HPIA寄存器。这个寄存器指向HPI存储器。11主机可以读/写HPID寄存器。HPIA寄存器不受影响由于C54的16位字的结构,主机与DSP之间的传输数据必须包含两个连续的字节。HBIL指示第一个字节和第二个字节的发送顺序。内部控制寄存器(BOB)确定第一个字节还是第二个字节为16比特的高位。1.HPI与主机的连接2020年2月24日DSP原理及应用9HPID寄存器具有可供选择的自动地址自增特性,主机无需在每次访问存储器时修改HPIA值,为读写连续的存储区提供了方便,提高系统性能。使用地址自增模式,读操作后HPIA地址加1,写操作前,HPIA地址加1,因此,如果对给定地址在自增模式下写操作,HPIA寄存器应初始化为初始地址减1。HRDY是’C54告诉主机设备已准备好的标志,当HRDY为低时,主机推迟对‘C54的访问。但多数情况下,主机访问速度低于’C54反应速度,这时主机可以不理会HRDY信号,对C54连续访问。1.HPI与主机的连接2020年2月24日DSP原理及应用10HPI使用中断使得软件的通信变得容易。主机和‘C54可以用HPIC中的对应位向对方提出中断请求,主机发出的中断请求直接送给’C54,而‘C54向主机发出的中断请求则送到HINT管脚上,只有将HINT接到主机的中断源输入上,才能让主机收到这个请求。主机通过写HPIC来应答中断并清除HINT。1.HPI与主机的连接2020年2月24日DSP原理及应用11HAS信号只有在主机的地址、数据线复用时才被用到,如PC机的CPU、单片机等,在这种情况下HAS与地址锁存信号ALE相连,在HAS的下降沿将数据线上的数据作为地址锁存到’C54片内。不用时将HAS接高电平。1.HPI与主机的连接2020年2月24日DSP原理及应用12HPI与主机的连接总结如下:主机通常是PC机,可将主机的高位地址线译码产生HDS1、HDS2和HCS信号,主机的读/写控制产生HR/W信号,HDS1、HDS2和HCS信号可以连接在一起,由主机产生的选通脉冲驱动;主机利用HCNTL0、HCNTL1来区分三个HPI寄存器,用HBIL、HPIC寄存器中的BOB位区分16位数据的高低字节。主机先向HPIC写入控制字,以设置工作方式,然后将访问地址写入HPIA,再对HPID进行读写,即可读出和写入指定存储单元。当主机连续地把地址写入存储器时,可以只送出一次地址码,’C54的主机接口控制逻辑会在每次访问前/后将地址自动增1。2020年2月24日DSP原理及应用137.2’C54x的定时器在工业应用中,计数器和定时器常用于检测和控制中的时序协调及控制。’C54x的片内定时器是软件可编程的,可用于周期地产生中断和周期输出。定时器的最高分辨率为处理器的CPU时钟速度。通过带4位预定标器的16位计数器,可以获得较大范围的定时频率。2020年2月24日DSP原理及应用14定时器主要由3个存储器映像寄存器(定时寄存器TIM、定时周期寄存器PRD、定时控制寄存器TCR)及相应的逻辑控制电路组成。寄存器TIM(减1计数器)、PRD(定时时间常数)和TCR(包含控制位和状态位)地址分别为0024H、0025H和0026H。逻辑控制电路:用来控制定时器协调工作。1.定时器的组成7.2.1定时器结构2020年2月24日DSP原理及应用151.定时器的组成主定时模块预定标模块周期寄存器PRD定时寄存器TIM借位13预标定计数器PSC借位预标定分频系数TDDR12111&SRESETTRBCLKOUTTSSTINTTOUT2020年2月24日DSP原理及应用16主定时模块包括PRD和TIM,由预标定模块定时,预定标模块每输出一个时钟,TIM减1。当TIM减到0后,TIM装入PRD的值。2.定时器工作原理当设备复位(SRESET=1)或者定时器复位(TRB=1)时,PRD的内容将装入TIM中。主定时模块的定时中断(TINT)信号输出至CPU以及定时器的输出引脚TOUT。2020年2月24日DSP原理及应用17预标定模块包括TCR中的TDDR和PSC位,由CPU时钟定时,每来一个CPU时钟,PSC值减1。当PSC减至0、设备复位或定时器复位时,TDDR的内容复制到PSC中。2.定时器工作原理4位预标定计数器PSC和16位定时计数器TIM组成一个20位计数器,定时器每接收一个CPU时钟减1,当计数器减到0时,产生定时中断(TINT),同时PSC和TIM重新装入预设的值。2020年2月24日DSP原理及应用182.定时器工作原理由逻辑控制电路控制定时器运行。①定时分频系数和周期数分别装入TCR和PRD寄存器中;②每来一个定时脉冲CLKOUT,计数器PSC减1;③当PSC减至0时,PSC产生借位信号;④在PSC的借位信号作用下,TIM减1计数,同时将分频系数装入PSC,重新计数;⑤当TIM减到0时,定时时间到,由借位产生定时中断TINT和定时输出TOUT,并将PRD中的时间常数重新装入TIM。定时器的工作过程:2020年2月24日DSP原理及应用1916位存储器映像寄存器,包含定时器的控制位和状态位。3.定时控制寄存器TCR15-1211109-6543-0TDR0026h保留SoftFreePSCTRBTSSTDDR保留位软件调试控制位预标定计数器重新加载位停止状态位分频系数2020年2月24日DSP原理及应用20定时器的基准工作脉冲由CLKOUT提供,每来一个脉冲预标定计数器PSC减1,当PSC减至0时,下一个脉冲到来,PSC产生借位。借位信号分别控制定时计数器TIM减1和或门2的输出,重新将TDDR的内容加载预标定计数器PSC,从而完成定时工作的一个基本周期。4.定时器的初始化定时器的定时时间为:定时周期=CLKOUT×(TDDR+1)×(PRD+1)2020年2月24日DSP原理及应用21定时器初始化步骤如下:①TCR的TSS位置1,关闭定时器,停止定时;②装载PRD值;③重新装入TCR,初始化TDDR,设置TSS=0和TRB=1,重装载定时器周期。启动定时器。4.定时器的初始化设置定时器中断方法(INTM=1)如下:●将IFR中的TINT置1,以清除尚未处理完的定时器中断;●将IMR中的TINT置1,启动定时器中断。●将INTM置0,启动全部中断。2020年2月24日DSP原理及应用22复位时,TIM和PRD被设置为最大值(0FFFFH),TCR中的TDDR置0,定时器可以通过启动定时控制寄存器(TCR)完成以下操作:●设定定时器的工作方式;●设定预标定计数器中的当前数值;●启动或停止定时器;●重新装载定时器;●设置定时器的分频值。4.定时器的初始化2020年2月24日DSP原理及应用234.定时器的初始化【例7.2.1】定时器自动装载定时。TSS=0:启动定时器;TRB=1:自动装载;TDDR=Ah:分频系数10soft=1,free=0:计数器减至0时,停止工作;TCR=0AAAH。定时周期:0101H;清除未处理完的定时器(定时器1)中断:IFR=0080H;开放定时器(定时器1)中断:IMR=0080H。STM#0000H,SWWSRSTM#0010H,TCRSTM#0101H,PRDSTM#0AAAH,TCRSTM#0080H,IFRSTM#0080H,IMRRSBXINTM;不插等待时间;TSS=1关闭定时器;加载周期寄存器(PRD);装入定时器控制字,启动定时器;消除尚未处理完的定时器中断;开放定时器中断;开放中断2020年2月24日DSP原理及应用241.方波发生器2.周期信号的周期检测3.脉冲频率监测7.2’C54x的定时器7.2.2’C54x定时器/计数器的应用2020年2月24日DSP原理及应用257.2’C54x的定时器例如:用TMS320VC5402实现方波发生器。假设时钟频率为4MHz,在XF端输出占空比为50%的方波,方波的周期由片上定时器确定,采用中断方法实现。1.方波发生器(1)定时器初始化●关闭定时器,TCR中的TSS=1;●加载PRD。设定定时中断周期,每中断一次,输出端电平取反一次;●启动定时器,初始化TDDR,TSS=0,TRB=1。2020年2月24日DSP原理及应用261.方波发生器(2)中断初始化●中断允许寄存器IFR中的定时中断位TINT=1,清除未处理完的定时中断;●中断屏蔽寄存器IMR中的定时屏蔽位TINT=1,开放定时中断;●状态控制寄存器ST1中的中断标志位INTM=0,开放全部中断。2020年2月24日DSP原理及应用27(3)方波发生器程序清单周期为8ms的方波发生器,定时中断周期为4ms,每中断一次,输出端电平取一次反。
本文标题:第7章-C54x片内外设、接口及应用2009
链接地址:https://www.777doc.com/doc-3967219 .html