PCI接口芯片s5935及其应用
PTWR: 输出,读写选择;
PTADR: 输入,OFFSET ADDRESS从直通地址寄存器驱动至DQ310;
PTRDY: 输入,表明外加总线完成传输;
ADR62: 输入,选择外加操作寄存器;
2.3 邮箱方式
s5935有输入、输出邮箱各四个,多采用中断/查询方式传输数据,外加总线则可由ADR6:2和IRQ等引脚实现。中断控制/状态寄存器用于实现中断的使能配置、查询和清除,邮箱状态寄存器可查询邮箱状态,通过控制/状态寄存器可使邮箱复位。还可以通过EA08脚直接读写外加总线4号输出邮箱的第三字节,这也是直连外部中断的一种简单方法。在Windows2000下,其典型WDM驱动程序中断相关部分模型如下(地址I/O映射):
AddDevice()//加载设备
……
IoInitializeDpcRequest();
……
DispatchPNP //
……
case CmResourceTypeInterrupt:
GetInterruptRes; //取得中断资源
……
WRITE PORT ULONG(BASE ADDRESS 0+INTCSR,DISABLE INT DWORD) ;//禁止中断
IoConnectInterrupt
……
DeviceControl()//实现应用程序中DeviceIOCon-trol函数对设备的读写
……
switchCONTROLCODE……
case ENABLE INTERRUPT: //使能和配置
中断方式
WRITE PORT ULONG(BASE ADDRESS 0+INTCSR,INT MASK DWORD);
case WRITE DATA:
WRITE PORT ULONG(BASE ADDRESS 0+INCOMING MBOX2 ADDRESS,DATA);
}
……}
InterruptHandler //中断服务函数
{ ……
DWORD= READ PORT ULONG(BASE AD-DRESS 0+INTCSR)//查询是否使本设备产生的中断及本设备以何种方式产生中断
……
DWORD=READ PORT ULONG(BASE AD-DRESS 0+PCI INCOMING MBOX2);//假设2号邮箱收到数据产生此中断
- 上一篇论文: 用于非接触式IC卡的高频接口模块设计
- 下一篇论文: CAN中继器设计及其应用