基于A(yíng)VR單片機的USB 0TG主從機系統設計
ISP1362的Port1口主/從機功能通過(guò)ID、OTGMODE兩引腳電平的高低組合來(lái)確定。當OTGMODE引腳接低,無(wú)論ID電平如何,則芯片的Port1口只能OTG用;如果OTGMODE接高,ID接低,芯片的Port1口作主機使用;OTGMODE接高,ID也接高時(shí),則芯片的Port1口作外設使用。在電路中通過(guò)15kΩ的上拉電阻和下拉電阻實(shí)現ID、OTGMODE兩引腳電平的高低變化。
2.2 系統軟件設計
本設計的主機系統是一個(gè)軟件和硬件的集合體,功能的實(shí)現不依賴(lài)于任何操作系統,而是通過(guò)中斷來(lái)調度各個(gè)任務(wù),使之滿(mǎn)足USB通信的要求,因此系統是按照協(xié)議規范和特定的時(shí)序運行的。
本系統是ISP1362工作于主/從機模式下的應用,按系統硬件電路配置完成接口芯片,然后對其編程,就可以進(jìn)行USB數據傳輸。系統工作流程如下:首先進(jìn)行系統初始化,構建PTD傳輸描述符,接著(zhù)總線(xiàn)枚舉過(guò)程,給外設分配地址,獲取外設的基本信息,并判斷外設為主機設備或是從機設備,之后驅動(dòng)相應的主/從機驅動(dòng)程序運行,數據傳送和接收,根據總線(xiàn)的活動(dòng)情況判斷是否掛起。系統流程圖如圖3所示:
實(shí)現ISP1362芯片的軟件編程控制,就是對該芯片的CS、RD、WR、A0、A1引腳的控制。本文中CS代表片選,低電平有效;RD代表讀信號,低電平有效;WR代表寫(xiě)信號,低電平有效;A0引腳電平的高低不同,分別表示傳輸的信號代表的是命令信號還是數據信號;A1引腳電平的高低不同,分別表示控制的是外設還是主機。通過(guò)上述幾個(gè)引腳信號的組合,可以實(shí)現讀寫(xiě)控制ISP1362的不同功能。除此之外,以下的幾個(gè)引腳對于控制ISP1362也有重大意義:DREQ1引腳代表DMA請求輸出,當它高電平有效時(shí),通知IDMA控制器主機正在請求數據傳送;DREQ2引腳高電平有效時(shí),通知DMA控制器外設正在請求數據傳送;DACK1引腳代表DMA確認輸入,低電平有效時(shí)表明來(lái)自主機的DMA傳輸請求已經(jīng)被DMA控制器確認;DACK2引腳低電平有效時(shí)表明來(lái)自外設的DMA傳輸請求已經(jīng)被DMA控制器確認;INT1和INT2引腳連接到外部微處理器的IRQ引腳,使得ISP1362可以根據請求執行中斷服務(wù)程序。軟件設計具體工作流程如下:
評論