4.4 USB接口板的软件构成
该USB接口板的软件功能分为两部分,一部分是和USB通讯,另一部分是和SMBUS通信,由于与SMBUS的通信和与ISA卡的方案一致(都是用软件来模拟),因此,下面着重介绍一下与USB通讯部分的程序编制。
与USB通讯的程序编制主要是编写控制US-BN9604的程序,在USBN9604中一共有57个寄存器,可用来完成USB通讯中的控制和数据的传输,其中包括控制寄存器、事件报告寄存器、数据存贮寄存器等等。由于程序中将涉及大量的语句来访问USBN9604的各种寄存器,因此在AT89C51和 US-BN9604进行连接时,应尽可能地使访问USBN9604简单化。基于这一点考虑,在连接方式上,笔者选用了并口MULTIPLEXED模式,图 8所示是AT89C51和USBN9604的连接方式图。
在这种连接方式下,只需用很少的语句就可以访问USBN9604,如需访问其主控制寄存器(MCNTRL),那么其所使用的语句仅为:
MOV DPTR,#MCNTRL
MOVX@DPTR,A
由此可见,只需要两条语句就可以将A的内容发送到MCNTRL里面,十分方便。因此,在程序的编制上,只需要控制USBN9604以使其按照USB的规范进行即可,图9是该软件的总体流程框图。