<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 通用串行總線在分組無線網中的應用

          通用串行總線在分組無線網中的應用

          作者: 時間:2012-02-04 來源:網絡 收藏

          3.2 PRU和接口設計

          接口電路圖如圖2所示。

          圖2中N9602上的引腳D+通過上拉電阻接在3.3V電壓上,這樣就選定為全速(12Mbps)設備。如果D-被上拉,則設置為低速(1.5Mbps)設備。

          單片機可以通過8位并行接口AD[7:0]或MICROWIRE接口與USBN9602連接。對于并行接口,有兩種模式可供選擇:復用方式和非復用方式。這兩種方式的選擇通過設置MODE0和MODE1兩引腳的電平高低來實現。這里使用復用方式連接USBN9602和8051單片機。選擇該方式時,MODE0和MODE1分別接高電平和低電平。該方式下的數據傳輸用到了USBN9602上的控制引腳RD、WR、片選信號CS、地址鎖存使能信號ALE和雙向的地址/數據總線AD[7:0]。引腳RD、WR和ALE分別與8051上相應的引腳相連,片片信號CS由8051輸出的高8位地址經過解碼器產生。當ALE為高電平時,AD[7:0]上的地址信號被鎖存到USBN9602內的地址寄存器中,再當RD或WR有效時,數據被讀出或者寫入。通過這種方式,USBN9602中的任何一個寄存器都可以被直接訪問。由于這種讀寫時序與8051讀寫外部數據寄存器的時序相同,因此可以把USBN9602中需要讀寫的寄存器當作普通的外部數據寄存器來對待,在接口程序中直接用MOVX指令來進行操作。

          另外USBN9602還提供了一個中斷輸出,它用來引起單片機的中斷。中斷方式可以通過編程設置,將這個中斷輸出引腳直接與8051單片機上的外部中斷引腳INT1相連。由于8051的餐部中斷輸入為低有效,所以USBN9602的中斷輸出也應通過編程設置為低有效。



          3.3 PRU的USB接口程序設計

          USB接口的程序包括三個基本的部分:①初始化,這部分程序用來對單片機和所有外圍電路進行初始化;②主循環(huán),它可以被中斷;③中斷句柄,對中斷進行處理,并且對時間敏感。這幾部分均是嵌入在PRU的網絡控制程序中的。

          初始化程序中包含對USBN9602的初始化。①進行軟件復位,它不影響時鐘輸出,相當于一個硬件復位;②設置中斷方式,這一步驟確定了中斷輸出是高有效還是低有效;③設置缺省地址,這是由于USB規(guī)范規(guī)定設備在總線為其分配地址之間要以0作為缺省地址;④設置中斷屏蔽,在USBN9602中各個端點的發(fā)送數據、接收數據和發(fā)送NAK握手包等事件可能產生中斷;設置中斷屏蔽這個步驟確定了哪一個端點的哪一種事件能夠產生中斷。

          單片機通過中斷的方式來處理USB接口上的各個事件,處理過程是在中斷句柄中完成的。當某個端點接收到數據,并且在初始化中該事件被允許中斷,則USBN9602就會向單片機發(fā)出中斷信號,單片機會在中斷句柄中處理這些數據。中斷句柄中處理了端點0對以控制方式傳輸的命令的接收與響應和各個端點數據的發(fā)送與接收等事件,其中那些以控制方式傳輸的命令包括清除特征(CLEAR-FEATURE)、設置特征(SET-FEA-TURE)、讀取配置(GET-CONFIGURATION)、設置配置(SET-CONFIGURATION)、讀取描述符(GET-DESCRIP-TOR)、讀取狀態(tài)(GET-STATUS)和設置地址(SET-AD-DRESS)。通過這些命令主機可以了解或改變設備的工作狀態(tài)。描述符包括設備描述符和配置描述符,USB規(guī)范給出了它們的格式工,想要計算機正確識別設備并安裝驅動程序,這些描述符必須根據具體設備的情況填寫。

          以上各步驟中USBN9602與單片機的通信是通過單片機在USBN9602的寄存器中進行讀和寫來完成的,因此對USBN9602的讀和寫是單片機執(zhí)行最頻繁也是最重要的操作。在程序中這兩個操作表現為子函數read_usb和write_usb。USBN9602共有64個可讀或可寫的寄存器,它們同時擁有一個高8位地址,又各自擁有一個低8位地址(00~3F)。由于前面所提到可以把USBN9602中需要讀寫的寄存器當作普通的外部數據寄存器來對待,所以只需給定高8位地址和要讀寫的寄存器對應的低8位地址,就可以直接用MOVX指令來完成這兩項操作。

          這時的PRU已經成為一個USB設備,能夠被計算機正確識別。要使這個USB設備正常工作,實現它與計算機的通信,還要為該設備編寫驅動程序。USB的驅動程序屬于WDM型。WDM(Windows Driver Model),即Windows驅動程序模型,是Microsoft力推的全新驅動程序模式,旨在通過提供一種靈活的方式來簡化驅動程序的開發(fā),在實際對新硬件支持的基礎上減少并降低所必須開發(fā)的驅動程序的數據數量和復雜性。開發(fā)工具可以選擇DDK(Driver Development Kits)。


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();