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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于P89C61x2和ISP1581的USB接口電路的設計

          基于P89C61x2和ISP1581的USB接口電路的設計

          作者: 時間:2007-03-05 來源:網(wǎng)絡 收藏

          摘 要:本文主要介紹了采用、芯片設計測試系統(tǒng)接口的方法,闡述了硬件、軟件、應用程序等的設計流程,在試驗過程中實現(xiàn)了主機與設備之間簡單、可靠的連接和通信。
          關(guān)鍵詞;接口芯片;固件

          本文主要針對傳統(tǒng)儀器的并行接口設計了一種基于單片機的接口電路。

          主要芯片介紹
          本設計采用控制芯片和接口芯片實現(xiàn)接口電路的設計。
          包含1024B RAM、64KB Flash存儲器、32個I/O口、3個16位定位/計數(shù)器、6個中斷源-4個中斷優(yōu)先級-嵌套的中斷結(jié)構(gòu)、1個增強型UART、片內(nèi)振蕩器和時鐘電路。此外,器件的靜態(tài)設計使其具有非常寬的頻率范圍,可選擇1MHz~12MHz的晶體振蕩器。具有兩個軟件可選的節(jié)電模式-空閑模式和掉電模式。

          USB接口芯片是一種價格低、功能強的USB接口器件,符合USB2.0規(guī)范,并為基于微控制器或微處理器的系統(tǒng)提供了高速USB通信能力;具有7個IN端點,7個OUT端點和1個固定的控制IN/OUT端點;可以通過軟件控制與USB總線的連接;內(nèi)部集成了帶PLL的12MHz晶體振蕩器;可通過內(nèi)部上電復位、低電壓復位電路和軟件復位。
           
          系統(tǒng)硬件設計
          系統(tǒng)的連接框圖如圖1所示。



          圖1系統(tǒng)的連接框圖

          ISP1581有兩種工作模式:通用處理器工作模式和斷開總線工作模式。本文的硬件設計中通過設置BUS-CONF=0實現(xiàn)斷開總線的工作模式。AD[7:0]為8位的多路復用地址/數(shù)據(jù),與單片機的P0口連接;DATA[15:0]為16位的數(shù)據(jù)總線。MODE0接高電平,表示讀或?qū)懶盘柟ぷ髟?051類型;ALE與單片機的ALE相連,實現(xiàn)地址鎖存; RPU為USB D+線的外部上拉電阻連接端,通過一個1.5kW電阻與Vcc(3.3V)相連;RREF連接外部偏置電阻,通過一個12.0kW電阻同地端相連,使高速收發(fā)器得到一個精確的鏡電源。為了實現(xiàn)良好的EMC特性,所有的電源引腳均連接到由0.01mF和0.1mF電容并聯(lián)后的網(wǎng)絡中。

          系統(tǒng)的固件設計
          單片機的固件是USB設備運行的核心。主要包括以下幾個部分:
          Kernel.c: 循環(huán)掃描USB事件;啟動設備和系統(tǒng)的工作;
          Isr.c: 中斷服務程序;
          Chap9.c:包含標準USB命令,用于在設備和主機之間建立一個基本連接;
          Vendor.c:包含廠商定義命令,處理廠商請求;
          Init.c:初始化單片機和ISP1581芯片。

          初始化程序主要初始化各種狀態(tài)變量,包括單片機的初始化以及設置ISP1581寄存器。主要包括地址寄存器、模式寄存器、中斷配置寄存器,中斷使能寄存器 以及端點寄存器等。

          USB設備采用控制傳輸完成枚舉,從而判斷出設備的狀況。

          數(shù)據(jù)傳輸過程采用中斷方式,單片機通過讀取中斷寄存器的狀態(tài)判斷中斷源,并進入相應的中斷處理程序。ISP1581主要有SETUP中斷、總線掛起中斷以及端點輸入/輸出中斷等,控制端點設置64B的緩沖區(qū),每次只能傳輸64B,傳輸?shù)臄?shù)據(jù)量由單片機控制。若傳輸?shù)淖止?jié)數(shù)大于64B,將先傳輸64B,然后判斷剩下的字節(jié)數(shù),同時確定是否為空包或短包。如果沒有數(shù)據(jù)傳送到單片機,將發(fā)送一個空包表明數(shù)據(jù)發(fā)送完畢。

          固件主要完成設備初始化、USB協(xié)議標準請求處理以及其它應用程序如數(shù)據(jù)交換功能。程序采用C51語言編寫,使用Keil公司的uVision2編譯器進行編譯。
          固件的主循環(huán)流程見圖2。

          圖2 固件程序流程圖

          設備驅(qū)動程序和應用程序的設計
          USB設備驅(qū)動程序的開發(fā),可采用Driver Works和Microsoft公司的2000DDK,并以VC++6.0作為開發(fā)環(huán)境。為了方便用戶開發(fā)USB接口,在DP-1581的開發(fā)包中提供了一個通用驅(qū)動程序,該程序可不加修改,直接使用。在本電路設計中,采用的是開發(fā)版自帶的驅(qū)動程序。

          結(jié)語
          本系統(tǒng)將原有的并口改進為USB接口,支持即插即用和熱插拔。經(jīng)實際試驗驗證,本系統(tǒng)性能穩(wěn)定可靠,具有一定的實際應用價值。

          參考文獻
          1 周立功.USB2.0與OTG規(guī)范及開發(fā)指南.北京: 北京航空航天大學出版社,2004
          2 蕭世文.USB2.0硬件設計.北京:清華大學出版社,2002



          關(guān)鍵詞: P89C61x2 1581 ISP USB

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();