一种基于CoreConnect总线的电子盘控制器电路及控制方法

文档序号:9631512阅读:597来源:国知局
一种基于CoreConnect总线的电子盘控制器电路及控制方法
【技术领域】
[0001]本发明属于计算机硬件技术领域,涉及一种基于CoreConnect的IDE控制器电路。
【背景技术】
[0002]CoreConnect是IBM推出的总线结构,是目前最常用的嵌入式总线之一,尤其在高性能SoC设计中广泛使用。CoreConnect包括了处理器高速总线(PLB)、片上外围总线(0ΡΒ)和寄存器控制总线(DCR)。IDE集成设备电路,又叫做IDE总线,它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。IDE接口技术从诞生至今就一直在不断发展,性能也不断的提高,其拥有的价格低廉、兼容性强的特点,是目前使用最广泛的数据存储总线。近些年,随着多媒体应用的不断,大容量存储接口也成为嵌入式应用中不可缺少的部分。对于需要具备大容量存储的嵌入式设计,采用可复用的电子盘控制器IP不仅可使芯片具有大容量数据存储功能,还可加速设计的实现。本发明接口参照相关标准设计,同时设计了多个寄存器用于时序配置,具有可移植性强,时序灵活可配、操作简单等特点,可直接用于CoreConnect架构的ASIC或FPGA设计。

【发明内容】

[0003]为了实现可复用的电子盘控制器,本发明提供了一种基于CoreConnect总线的电子盘控制器电路及制器方法,集成了标准的PLB接口和DCR接口,电路设计简单、移植性强,且灵活可配,支持多种操作模式,可用于具有CoreConnect架构的ASIC或FPGA设计,实现对外部大容量电子盘的数据读写。
[0004]本发明的技术解决方案:
[0005]一种基于CoreConnect的电子盘控制器电路:包括设备端DCR接口、本地端DCR接口、PLB总线接口、设备端映射寄存器、本地端寄存器、DPRAM控制模块、ΡΙ0模块、UDMA模块及CRC16模块,设备端映射寄存器功能定义和地址偏移与控制的电子盘内部寄存器一致,
[0006]设备端DCR接口模块:接收来自DCR总线的读写请求和配置数据,根据读写请求和配置数据生成寄存器读写操作发送给设备端映射寄存器,从设备端映射寄存器读取数据,向DCR总线发送读写响应和数据;
[0007]设备端映射寄存器:接收来自设备端DCR接口模块的寄存器读写操作,接收来自ΡΙ0模块的数据和电子盘状态信息,向设备端DCR接口模块提供读取数据,根据配置数据向ΡΙ0模块发起ΡΙ0数据读写操作请求和配置请求;
[0008]ΡΙ0模块:接收来自设备端映射寄存器的ΡΙ0读写操作请求,接收来自电子盘的数据和电子盘状态信息后并转发给设备端映射寄存器,接收来自本地端寄存器的模式配置参数,向电子盘发起ΡΙ0读写操作和配置操作,向本地端寄存器发送ΡΙ0模块状态信息;所述配置操作包括ΡΙ0读写模式配置和UDMA模式配置;
[0009]本地端寄存器:接收来自ΡΙ0模块的ΡΙ0模块状态信息、来自UDMA模块的状态信息以及来自DPRAM控制模块的存储状态信息,接收本地端DCR接口发起的寄存器读写操作,向P1模块和UDMA模块发送模式配置参数,向DPRAM控制模块发送存储配置信息,向本地端DCR接口发送控制器状态信息和当前模式配置参数;
[0010]本地端DCR接口:接收来自本地端寄存器的控制器状态信息和当前模式配置参数后转发至DCR总线,接收来自DCR总线的读写请求,向本地端寄存器发起的寄存器读写操作;
[0011 ] DPRAM:接收DPRAM控制模块写入数据,向DPRAM控制模块返回缓存数据;写入数据包括电子盘数据和经过PLB总线接口写入的外部数据;
[0012]DPRAM控制模块:接收来自本地寄存器的存储配置信息、接收来自UDMA模块的电子盘数据并写入DPRAM缓存,接收来自PLB总线接口转发的外部数据并写入DPRAM缓存,接收来自DPRAM的缓存数据,向本地寄存器的发送存储状态信息,向UDMA模块发送来自DPRAM的缓存数据,向PLB总线接口发送DPRAM中缓存的电子盘数据;
[0013]UDMA模块:接收来自电子盘的电子盘数据、接收来自DPRAM控制模块的外部数据,接收来自本地寄存器的模式配置参数,接收CRC16模块发送的CRC校验数据,向电子盘发送外部数据,向本地寄存器发送状态信息,向DPRAM控制模块返回电子盘数据,向CRC16模块发送正在发送或接收的数据,供CRC16模块进行CRC校验数据的计算;
[0014]PLB总线:接收接收来自PLB总线的数据读写请求并转发至DPRAM控制模块,通过DPRAM控制模块将DPRAM中缓存的电子盘数据读出。
[0015]—种基于CoreConnect的电子盘控制器方法,包括以下步骤:
[0016]包括ΡΙ0操作和UDMA操作两种:
[0017]一、ΡΙ0 操作
[0018]1)参数配置;
[0019]1.1)电子盘模式参数配置:
[0020]设备端DCR接口模块接收来自DCR总线的读写请求和配置数据,根据读写请求和配置数据生成寄存器读写操作发送给设备端映射寄存器;
[0021 ] ΡΙ0模块根据寄存器读写操作向电子盘发起ΡΙ0读写模式配置;
[0022]1.2)本地端寄存器的ΡΙ0模式参数配置:
[0023]1.2.1)选择公式进行ΡΙ0模式参数计算:
[0024]当ΑΤΑ协议要求的最大时间时,使用公式(1)
[0025]Pnax=tnax/T-1(3)
[0026]当ΑΤΑ协议要求的最小时间时:使用公式(2)
[0027]Pnin= tnin/T+l(2)
[0028]式中:
[0029]PmaxPmin--配置参数,整数;
[0030]t_——ΑΤΑ协议要求的最大时间,ns ;
[0031]t_——ΑΤΑ协议要求的最小时间,ns ;
[0032]T 控制器时钟周期,ns ;
[0033]1.2.2)将步骤1.2.1)计算的参数通过本地端DCR接口写入本地端寄存器;
[0034]2)对电子盘进行数据读写操作:
[0035]设备端DCR接口模块接收来自DCR总线的读写请求,发送到设备端映射寄存器的数据端口后经过ΡΙ0模块发起ΡΙ0数据读写,对电子盘数据进行读写;
[0036]二、UDMA 操作:
[0037]1)参数配置;
[0038]1.1)电子盘模式参数配置:
[0039]设备端DCR接口模块接收来自DCR总线的读写请求和配置数据,根据读写请求和配置数据生成寄存器读写操作发送给设备端映射寄存器;
[0040]ΡΙ0模块根据寄存器读写操作向电子盘发起UDMA读写模式配置;
[0041 ] 1.2)本地端寄存器的UDMA模式参数配置:
[0042]1.2.1)选择公式进行UDMA模式参数计算:
[0043]当ΑΤΑ协议要求的最大时间时,使用公式(1)
[0044]P_=tnax/T-1(4)
[0045]当ΑΤΑ协议要求的最小时间时:使用公式⑵
[0046]Pnin= tnin/T+l(2)
[0047]式中:
[0048]PmaxPmin--配置参数,整数;
[0049]tmax--ΑΤΑ协议要求的最大时间,ns ;
[0050]tmin--ΑΤΑ协议要求的最小时间,ns ;
[0051]T 控制器时钟周期,ns ;
[0052]1.2.2)将步骤1.2.1)计算的参数通过本地端DCR接口写入本地端寄存器;
[0053]2)对电子盘进行数据读写操作:
[0054]PLB总线接收接收来自PLB总线的数据读写请求并转发至DPRAM控制模块,通过DPRAM控制模块将DPRAM中缓存的电子盘数据读出或将缓存在DPRAM中外部数据写入电子盘;
[0055]同时CRC16模块计算CRC校验数据。
[0056]本发明所具有的有益效果:
[0057]1)本发明集成了标准的PLB接口和DCR接口,可直接用于CoreConnect总线架构的AS 1C和FPGA设计中,具有较强的可移植性;
[0058]2)控制器中使用DPRAM作为数据缓存,采用乒乓结构缓存读写数据,解决了 PLB总线与IDE总线速度失配的问题,有利于提高控制器的数据读写速度。
[0059]3)控制器支持32位和128位两种主设备,通过寄存器可自由选择不同的ΡΙ0传输模式和UDMA传输模式;
[0060]4)集成CRC校验,可提高数据传输的正确性。
【附图说明】
[0061]图1是本发明提供的结构简图;
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1