主权项 |
一种利用GPIO模拟低速并行接口的方法,其特征在于,包括以下步骤:将接口转换芯片的GPIO引脚分为数据引脚和控制引脚,将所述数据引脚定义为低速并行接口的数据总线,将所述控制引脚定义为低速并行接口的控制总线;通过PCI e从接口的驱动程序中的GPIO控制模块对接口转换芯片内部的GPIO数据寄存器和输入输出控制寄存器进行控制,使得所述数据总线和所述控制总线处于低速并行接口的工作运行状态;其中,所述控制总线包括4个控制信号引脚,分别为自身缓存状态输出引脚、对方读信号输入引脚、对方缓存状态输入引脚、自身读信号输出引脚;通过PCI e从接口的驱动程序中的GPIO控制模块对接口转换芯片内部的GPIO数据寄存器和输入输出控制寄存器进行控制,使得所述数据总线和所述控制总线处于一种低速并行接口的工作运行状态步骤包括:在上电复位后,对PCI e从接口的驱动程序中的GPIO控制模块进行初始化操作;当应用程序有数据要发送给PCI e的从接口设备时,应用程序将要发送的数据传递所述驱动程序,所述驱动程序再把要发送的数据传递给所述GPIO控制模块,所述GPIO控制模块控制所述接口转换芯片的控制总线和数据总线将要发送的数据传递给从接口设备;GPIO控制模块控制所述接口转换芯片的控制总线和数据总线接收所述从接口设备返回的数据;所述GPIO控制模块控制所述接口转换芯片的控制总线和数据总线将要发送的数据传递给从接口设备步骤包括:将数据的一个字节或者两个字节写入所述数据总线对应的数据寄存器,将所述数据寄存器中的对应数据位设置为输出,将高阻寄存器中的对应数据位设置为0,表示撤销高阻状态;将自身缓存状态引脚电平设置为高,表示有数据要发送;所述GPIO控制模块循环读取所述数据寄存器中对方读信号输入引脚对应数据位的值,当发现该数据位由0变为1又变回0时,表示对方完成了本次数据的读取;所述GPIO控制模块将自身缓存状态引脚设置为低,表示无数据发送,将高阻寄存器数据总线对应数据位置为1,表示将所述数据总线置为高阻状态;当要发送的数据为多个字节时,重复上述过程,直到全部数据发送完毕。 |