一种专用高速硬盘存储设备的设计与实现
错误产生(如校验出错)、一个事件需要服务(如FAS368M作为目标设备被选中)或已结束某服务(如DMA结束)。
·DREQ,FAS368M使DREQ有效向DMA控制器(EPM7064)发出DMA传输请求。
·DACK,EPM7064对FAS368MDMA请求信号DREQ的响应。
·DBWR,DMA数据写信号。当DREQ和DACK信号均有效时,EPM7064控制该信号和缓存器IDT7208的RD信号,实现数据从IDT7208向FAS368M的同步快速传输。
FAS368M在TMS320F206的控制下实现所有的SCSI物理协议,包括仲裁、选择、消息、命令、数据、状态等各阶段规定的信号电平转化等。在设备中TMS320F206对FAS368M的控制是通过对其寄存器的读写来实现的。
·指令寄存器(CommandRegister),TMS320F206通过向指令寄存器写入相应指令,实现诸如FAS368M的初始化与复位、SCSI总线分配与复位、SCSI总线各阶段的迁移等所有针对FAS358M和SCSI总线的控制。
·FIFO寄存器(FIFORegister)是一个16字的FIFO寄存器,硬盘和FAS368M之间的数据都要通过FIFO寄存器。它有两方面的用途:当FAS368M通过SCSI总线向硬盘传送数据和命令时,可以先把要传送的数据和命令放在FIFO寄存器,等SCSI总线空闲,并获得总线控制权以后再开始传送;另一方面,由SCSI总线传送到FAS368M的数据,也可因为TMS320F206或DMA控制器忙而停止,数据先送到FIFO寄存器空出SCSI总线,等TMS320F206或DMA控制器空闲再从FIFO寄存器读取数据。
·传输计数寄存器(TransferCountRegister)是一个减计数器,它通常用来保存一次DMA命令所要传输数据的字节数。
·中断寄存器(InterruptRegister),FAS368M所有的信息都以中断的方式通知TMS320F206。TMS320F206通过读取中断寄存器和其他状态寄存储器判断FAS368产生中断的原因,决定下一步操作,从而实现FAS368M对TMS320F206的通信。
3.2EPM7064内部逻辑和作用
设备中的DMA控制器由CPLD器件EPM7064实现,这主要有下面几方面的考虑:
(1)设备接口缓存器采用专用FIFO芯片IDT7208,它的数据总线可以和FAS368M的DMA数据总线直接连接,不需要复杂的缓存器地址译码电路。因此,DMA控制器不需要数据与地址总线,硬件连线可以大大减少。而配合FAS368MDMA数据传输的时序,DMA控制器只需在DMA传输请求信号DREQ有效且IDT7208空信号EF无效时,使DMA传输响应信号DACK有效,随后在时钟信号CLK驱动下连续产生同步的IDT7208读信号RD和DMA写信号DBWR,实现从IDT7208到FAS368M的DMA传输;反之,则使DMA传输响应信号DACK无效,随后停止产生IDT7208读信号RD和DMA写信号DBWR,中断从IDT7208到FAS368M的DMA传输。这些时序逻辑完全可以用一片小的CPLD器件实现,因此选用EPM7064设计了该DMA控制器。
《一种专用高速硬盘存储设备的设计与实现(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/140778.html
·DREQ,FAS368M使DREQ有效向DMA控制器(EPM7064)发出DMA传输请求。
·DACK,EPM7064对FAS368MDMA请求信号DREQ的响应。
·DBWR,DMA数据写信号。当DREQ和DACK信号均有效时,EPM7064控制该信号和缓存器IDT7208的RD信号,实现数据从IDT7208向FAS368M的同步快速传输。
FAS368M在TMS320F206的控制下实现所有的SCSI物理协议,包括仲裁、选择、消息、命令、数据、状态等各阶段规定的信号电平转化等。在设备中TMS320F206对FAS368M的控制是通过对其寄存器的读写来实现的。
·指令寄存器(CommandRegister),TMS320F206通过向指令寄存器写入相应指令,实现诸如FAS368M的初始化与复位、SCSI总线分配与复位、SCSI总线各阶段的迁移等所有针对FAS358M和SCSI总线的控制。
·FIFO寄存器(FIFORegister)是一个16字的FIFO寄存器,硬盘和FAS368M之间的数据都要通过FIFO寄存器。它有两方面的用途:当FAS368M通过SCSI总线向硬盘传送数据和命令时,可以先把要传送的数据和命令放在FIFO寄存器,等SCSI总线空闲,并获得总线控制权以后再开始传送;另一方面,由SCSI总线传送到FAS368M的数据,也可因为TMS320F206或DMA控制器忙而停止,数据先送到FIFO寄存器空出SCSI总线,等TMS320F206或DMA控制器空闲再从FIFO寄存器读取数据。
·传输计数寄存器(TransferCountRegister)是一个减计数器,它通常用来保存一次DMA命令所要传输数据的字节数。
·中断寄存器(InterruptRegister),FAS368M所有的信息都以中断的方式通知TMS320F206。TMS320F206通过读取中断寄存器和其他状态寄存储器判断FAS368产生中断的原因,决定下一步操作,从而实现FAS368M对TMS320F206的通信。
3.2EPM7064内部逻辑和作用
设备中的DMA控制器由CPLD器件EPM7064实现,这主要有下面几方面的考虑:
(1)设备接口缓存器采用专用FIFO芯片IDT7208,它的数据总线可以和FAS368M的DMA数据总线直接连接,不需要复杂的缓存器地址译码电路。因此,DMA控制器不需要数据与地址总线,硬件连线可以大大减少。而配合FAS368MDMA数据传输的时序,DMA控制器只需在DMA传输请求信号DREQ有效且IDT7208空信号EF无效时,使DMA传输响应信号DACK有效,随后在时钟信号CLK驱动下连续产生同步的IDT7208读信号RD和DMA写信号DBWR,实现从IDT7208到FAS368M的DMA传输;反之,则使DMA传输响应信号DACK无效,随后停止产生IDT7208读信号RD和DMA写信号DBWR,中断从IDT7208到FAS368M的DMA传输。这些时序逻辑完全可以用一片小的CPLD器件实现,因此选用EPM7064设计了该DMA控制器。
《一种专用高速硬盘存储设备的设计与实现(第3页)》