ISPl362在基于FPGA的紅外成像系統(tǒng)中的應用
2 USB固件結(jié)構(gòu)設計
USB固件結(jié)構(gòu)設計包括枚舉過程和數(shù)據(jù)傳輸過程。數(shù)據(jù)傳輸過程與枚舉過程中的in中斷的處理方法類似。因此這里主要介紹枚舉過程的固件編寫。
枚舉過程的流程圖如圖2所示。
枚舉過程就是主機通過向設備發(fā)送一系列請求來識別設備的過程。USB一共定義了11種標準USB請求,其中有些請求是必須的。例如,主機必須通過Get Descriptor請求來獲取設備的設備描述符、接口描述符和端點描述符等信息,才能識別設備;必須通過Set Address請求為設備分配惟一的非零地址,以便于主機識別設備并與設備進行數(shù)據(jù)傳輸;必須通過SetConfiguration請求為設備分配非零的配置值等。USB請求只能使用控制管道來進行傳輸。主機在沒有識別連上的是何種設備之前,會為未知設備分配一個默認地址O,主機通過0地址與設備通信,直到主機確定真正有設備連接了之后,就會為該設備分配一個惟一的非零地址。在此之后,主機可通過這個非零地址跟設備通信,包括獲取該設備的所有配置信息、接口信息以及完成最后的數(shù)據(jù)傳輸?shù)取?br />2.1 芯片初始化
芯片的初始化主要包括工作模式、速度的選擇以及寄存器的配置等操作。工作模式的選擇可通過設置ISPl362的第62引腳A1為高電平來實現(xiàn)。這里實現(xiàn)的是全速的數(shù)據(jù)傳輸。下面主要介紹寄存器的配置。
評論