MPC8272总线与DSP HPI总线接口的FPGA实现(2)
       2013-07-28 01:28
      
	  导读:由于C6421为16位的HPI口,其内部总线为32位,所以每次读写要分两次,一次为高16位,一次为低16位,由HHWIL来选择(0-First Half Word, 1-Second Half Word),设
	  
        
  由于C6421为16位的HPI口,其内部总线为32位,所以每次读写要分两次,一次为高16位,一次为低16位,由HHWIL来选择(0-First Half Word, 1-Second Half Word),设定HPIC.HWOB = 0(First Half Word =高16位, Second Half Word = 低16位)。C6421的HPI接口映射为MPC8272的4对地址空间,由MPC8272 CS3控制,配置CS3为16位宽的GPCM访问模式,如下地址分配: 
  HPIC:0x0D000000(高16位), 0x0D000002(低16位)。 
  HPIA: 0x0D000004(高16位), 0x0D000006(低16位)。 
  HPID_FIX: 0x0D00000C(高16位), 0x0D00000E(低16位),C6421地址由当前的HPIA决定。 
  HPID_Auto: 0x0D000008(高16位), 0x0D00000A(低16位) C6421地址自动加1。 
  七、HPI接口相关VHDL代码 
  output wire c6421_hasn, c6421_hcsn, c6421_hdsn1, c6421_hdsn2, 
  assign c6421_hasn = 1’B1; 
  assign c6421_hcsn = cs3; 
  assign c6421_hdsn1 = wen; 
  assign c6421_hdsn2 = oen; 
  reg [7:0] st_ta; 
  reg tax; 
  wire tax001 = (zzz_cnt==256) ? 0 : 1 ; 
  wire tax002 = (zzz_cnt==256+8) ? 0 : 1 ; 
  wire tax003 = (zzz_cnt==256+16)? 0 : 1 ; 
  wire tax004 = (zzz_cnt==256+32)? 0 : 1 ; 
  reg c6421hcsn_start; 
always @(posedge clk_cpu) 
if (zzz_cnt==5) c6421hcsn_start <= 1; 
else c6421hcsn_start <= 0; 
always @(posedge clk_cpu) begin
if (c6421hcsn_start) begin 
st_ta <= STA_CHECKRD; 
tax <= 1; 
end 
else if (STA_CHECKRD == st_ta) begin 
if (c6421_hrdyn) 
st_ta <= STA_CHECKRD; 
else 
st_ta <= STA_GEN; 
tax <= 1; 
end 
else if (STA_GEN == st_ta) begin 
st_ta <= STA_END; 
tax <= 0; 
end 
else begin 
tax <= 1; 
end 
end 
  assign ta = (~cs3) ? (tax & tax001 & tax002 & tax003 & tax004): 1’BZ;  
(科教范文网 lw.nSeAc.com编辑发布)
 
  MPC8272功能很强大,C6421 HPI接口相对于MPC8272来说为慢速外部设备,TA为MPC8272传输结束标识,HPI口HRDY有效后FPGA向CPU发送TA,保证HPI数据正确读出。因此在VHDL程序中设计了状态机,当HRDY信号有效后就立即结束本次访问,否则经过一段时间的延迟后强制结束本次访问,这样可以避免接口长时间占用总线,影响系统性能。 
  八、结束语 
  本文使用VHDL语言和FPGA,设计了MPC8272与DSP之间的HPI接口。之所以使用FPGA,是因为在系统中FPGA还包含有其他的功能设计。如果只有MPC8272与DSP之间的HPI接口设计,使用CPLD即可完成,而不必浪费FPGA的资源。 
  参考文献: 
  1、TMS320C6421 Fixed-Point Digital Signal Processor datasheet。TI公司提供 
  2、TMS320C642x DSP Host Port Interface (HPI) User’s Guide。TI公司提供