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

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 嵌入式系統(tǒng)與PC機的USBUART通信設計

          嵌入式系統(tǒng)與PC機的USBUART通信設計

          作者: 時間:2009-09-14 來源:網(wǎng)絡 收藏
          1 概 述
          RS232(UART)接口是一種簡單、方便和實用的接口,用途非常廣泛。在許多應用,如智能儀器儀表、電子設備中,均使用RS232與機等外部進行,實現(xiàn)上位機對下位機的控制及數(shù)據(jù)交換等。在調試過程中,通常也是通過RS232,將調試數(shù)據(jù)發(fā)送到上顯示出來。
          但在機領域,RS232(COM)串行接口已經(jīng)從最新一生產的計算機,尤其是筆記本電腦中消失了,而串行接口USB成為了標準的配置。這種變化給硬件工程師帶來了不少麻煩。
          目前通常的解決辦法是購置一根“USB to RS232”轉換電纜,其基本作用是在USB總線上仿真出一個RS232端口。這種方法的主要優(yōu)點在于:PC應用程序將該USB口連接當作COM口連接使用,從而可以使工程師輕松跨越復雜的USB低層接口協(xié)議,仍使用原來熟悉的,針對COM口操作的方式編寫程序代碼。
          本文將介紹另外一種與上述方法原理類似的實現(xiàn)方案,設備之間的外表連接全部換成了USB標準物理接口和連接電纜,但在PC上仍然使用針對COM口操作的方式編寫程序代碼,保留了原來的風格。該方案是采用Cypress公司PSoC家族中帶USB接口的CY7C64215(或CY8C24x94)芯片實現(xiàn)的。

          2 PSoC、PSoC USB和
          2.1 PSOC
          可編程片上(Prograromable System on Chip,PSoC),是Cypress公司近幾年推出的一種新型的可編程半導體器件芯片。PSoC由8位微處理器內核,多個可編程的模擬模塊和數(shù)字模塊,硬件乘法累加器,以及I2C、Flash、SRAM等周邊外圍資源組成。因此,PSoC除了能實現(xiàn)一般MCU的功能外,還可通過可編程模擬和數(shù)字模塊,靈活地實現(xiàn)系統(tǒng)所需的多種模擬與數(shù)字外圍功能。PSoC集三種可編程能力于一體,不僅具有MCU的可編程能力,還包含了部分可編程邏輯運算功能,同時提供了可編程模擬陣列。通過對寄存器的配置或控制,三者之間還可以協(xié)調工作,是具有真正的混合信號處理能力的可編程片上系統(tǒng)。
          PSoC中的數(shù)字資源(如定時器、PWM、UART等)和模擬資源(如放大器、比較器、濾波器等)是以數(shù)字模塊和模擬模塊的方式給出。不同型號PSoC芯片的差異主要在于其擁有的數(shù)字模塊和模擬模塊的數(shù)量不同。用戶可根據(jù)特定需求來定義這些模塊。
          PSoC的集成開發(fā)環(huán)境PSoC Designer也預先為用戶定義了近百個常用的數(shù)字和模擬資源配置模塊。這些預定義的模塊稱為用戶模塊,如數(shù)字資源有定時器、PWM、UART、SPI、CRC、PRS等,模擬資源有放大器、比較器、濾波器等,ADC則由若干數(shù)字模塊和模擬模塊組合而成。這使得PSoC開發(fā)人員無需通過設置寄存器來構建這些周邊設備,只需在PSoC Designer中選擇和放置所需的用戶模塊并進行參數(shù)設定。PSoC Designer不僅能配置用戶模塊,還為用戶創(chuàng)建了低層驅動函數(shù),并提供使用這些用戶模塊的API函數(shù)供用戶編程時調用。這種新穎的系統(tǒng)方法使工程師可以把主要精力集中在上層系統(tǒng)軟件的工作中,極大地方便了整個系統(tǒng)的設計開發(fā)。
          2.2 PSoC USB

          PSoC系列中的CY7C64215、CY8C24x94芯片不僅具備上述PSoC的功能和特點,還包括了一個功能完善的全速(12 Mbps)USB端口。PSoC的USB端口資源符合USB2.O規(guī)范,是一個可以工作在12 Mbps速度下的全速器件,具備1個上行端口和1個USB地址的規(guī)范要求。PSoC USB包括1個串行接口引擎(SIE),1個PSoC存儲器仲裁器(PMA),256B的專用SRAM,1個帶有內部調節(jié)器的全速USB收發(fā)器以及2個專用USB引腳。
          USB SIE支持5個端點,包括1個控制端點(端點0)和4個數(shù)據(jù)端點(端點1、2、3和4)??刂贫它c經(jīng)過配置可支持SETUP、IN和OUT請求。數(shù)據(jù)端點可分別獨立配置,從而響應中斷、批傳輸、同步IN或OUT請求等。SIE使PSoC器件能與USB主機實現(xiàn)全速,并可自動完成以下USB處理任務,無需固件干預,從而簡化了USB流量接口的工作。
          ①將接收到的編碼數(shù)據(jù)進行轉換,將總線上要傳輸?shù)臄?shù)據(jù)格式化。
          ②生成CRC校驗和。忽略那些傳送進來的未通過校驗和驗證的數(shù)據(jù)包。
          ③地址檢查。忽略所有地址未指向器件的事務。
          ④發(fā)送適當?shù)腁CK/NAK/Stall握手信號。
          ⑤識別標記類型(SETUP、IN、OUT),一旦接收到有效的標記,即設置適當?shù)臉擞浳弧?br /> ⑥識別幀起始(S()F)并保存幀的數(shù)量。
          ⑦通過PSoC存儲器仲裁器向USB SRAM發(fā)送數(shù)據(jù),或從USB SRAM接收數(shù)據(jù)。
          PSoC存儲器判優(yōu)器(PMA)是PSoC USB專用SRAM與數(shù)據(jù)SRAM的2個內存塊(USB SIE與M8C)之間的接口。PMA可提供8個通道用于傳輸數(shù)據(jù)。M8C可使用所有的通道寄存器,但4個非控制USB端點分別由PMA通道寄存器的特定集來分配。
          PSoC USB系統(tǒng)資源包含專用的256 B SRAM,其與PSoC內核中所用的SRAM頁相同,但不能通過M8C存儲器操作指令存取。PSoC USB的專用SRAM只能通過PMA寄存器進行存取。
          內部USB收發(fā)器與外部USB總線相連,根據(jù)USB2.O規(guī)范收發(fā)信號。在正常的USB操作狀態(tài)下,收發(fā)器直接與SIE連接,初始化之后無需與用戶互動。
          就系統(tǒng)級而言,PSoC的全速USB系統(tǒng)資源通過M8C寄存器訪問指令進行操作配置,實現(xiàn)與PSoC其他部分的連接,并通過2個USB引腳與外部相連。
          2.3 用戶模塊
          用戶模塊是PSoC集成開發(fā)環(huán)境PSoCDesigner中專門為用戶使用PSoC USB預先定義的自動配置資源。USBUART實現(xiàn)了USB設備功能,并利用PSoC的1個USB端口來仿真1個COM端口,同時在PSoC器件側提供了類似于UART的高層API函數(shù)。因此利用該用戶模塊可以方便地替代傳統(tǒng)的基于RS232(UART)接口的通信方案。2種方案的對比如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/157851.htm

          USBUART是在PSoC的USB端口基礎上,在USB總線上仿真RS232端口。這種方法的主要優(yōu)點在于,PC的上層應用程序將此USB設備仍舊看作是1個COM連接,從而使上層操作非常易于實現(xiàn)。這種方法可以使用在從Windows 98SE到Windows XP所有版本的MicrosoftWindows操作系統(tǒng)中的標準COM口驅動程序――MSC0M控件來編寫的應用程序中。
          USB通信設備類(CDC)規(guī)格定義了許多通信模型,其中包括了1個在USB上實現(xiàn)串行通信仿真的抽象控制模型。Microsoft Windows USB調制解調器的驅動程序usbser.sys符合此規(guī)格。
          在一臺新的USB設備第一次連接到一臺WindowsPC時,Windows將要求用戶提供驅動程序。Windows2000及以后版本在安裝驅動程序時需要一個INF文件。Windows沒有為這個usbser.sys驅動程序提供標準的INF文件。為了安裝能夠在USB上仿真RS232的設備,用戶必須提供一個能夠將附加的設備映射到MicrosoftCDC驅動程序的INF文件。USBUART用戶模塊會自動生成這個必要的INF文件,建立在工程項目的LIB文件夾內供使用。在提供了INF文件后,驅動程序允許USB1設備仿真成1個USB端口。
          PC上面向COM口終端應用程序中的設置(波特率、數(shù)據(jù)位、奇偶校驗、停止位和流控制)都不會影響數(shù)據(jù)傳輸?shù)男阅?,因為此時的COM口實際是USB設備,使用USB協(xié)議來控制數(shù)據(jù)流。但是,除了流控制以外的COM口終端設置值,在PSoC端可以采用特定的API函數(shù)調用檢索到,以便在需要時用于真正的RS232設備。

          3 軟硬件設計
          實際上應用工程師并不需要了解如此多的關于USB的底層內容和協(xié)議。只要基本掌握和看懂圖1所示的原理,借助PSoC:USB和USBUART,就可以在很短的時間內實現(xiàn)基于USB接口的PC與系統(tǒng)的連接通信。下面具體介紹該方案的軟硬件設計和實現(xiàn)。
          3.1 硬件設計
          圖2是采用CY7C64215實現(xiàn)該方案的原理圖。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 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); })();