2.3 GPIF接口

EZ-USB FX2系列器件提供3种可用接口模式:端口模式、从属FIFO模式和GPIF主控制模式。端口模式下,所有I/O引脚都可作为8051的通用I/O接口;从属FIFO模式下,外部逻辑或外部处理器直接与EZ-USB FX2的端点FIFO相连,外部设备作为控制器,像普通FIFO一样对EZ-USB FX2中的端点数据缓冲区进行读写;而GPIF模式是一种内部主机控制模式,使用内部集成的高效控制逻辑取代外部微控制器来控制Ez-USB FX2端点FIFO。在EZ-USB FX2内部,GPIF内核就是一个可编程的状态机。

EZ-USB FX2使用4个用户定义的波形描述符控制状态机.从而实现FIFO以及单字节数据的读写操作。每个GPIF波形描述符都由7段组成:S0~S6。执行完 S0~S6的动作后,进入idle状态(S7)即空闲状态,以准备启动下一次GPIF动作。每个state可定义为无判断不转移态(NDP)或判断转移态 (DP)。当某个state定义为NDP时,这个state动作的执行只是简单延时,用于确定产生指定电平的延续时间;当定义为DP时,它将根据 RDY0~RDY5上的输入信号状态,以及内部FIFO的可编程标志和内部自定义的Ready标志,将这些信号进行逻辑“与”、“或”、“异或”运算,并根据得到的逻辑结果在S0~S6中选择一个即将执行的state。执行每个state时,都可指定CTL0~CTL5输出用户指定的状态。通过RDYx和 CTLx以及内部一些标志位的组合,即能完成各种复杂时序电路的控制。由于GPIF接口的配置灵活,使得FX2可方便地和其他逻辑微处理器(例如单片机、 DSP、CPLD和FPGA等)进行数据的主动读写,这样便大大扩展GPIF模式的使用范围。GPIF模式下,8051可不参与数据传输,以突破高速、全速下的传输模式进一步接近EZ-USB FX2的传输带宽480 Mb/s。同时根据生物电信号的频率特征,将每个通道最大采样频率设为100 kHz,在GPIF接口模式下完全能够满足系统要求。