新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > 通過先進的高性能UART提高串行I/O的連接性能

通過先進的高性能UART提高串行I/O的連接性能

作者: 時間:2011-06-24 來源:網(wǎng)絡 收藏

市場融合正在推動對開發(fā)新接口的需求,但這也在影響已有接口類型的和特性。在目前已有的接口類型中,最常見的是廣泛用作標準連接的通用異步收發(fā)器()。可以用做主處理器(如微控制器或嵌入式處理器)和外設之間的通訊接口。在從工業(yè)控制到智能手機的大量應用中,這些獨立的解決方案變得越來越有吸引力。

本文引用地址:http://butianyuan.cn/article/187467.htm

  是在特定模塊(如藍牙、GPS、RFID、多端口以太網(wǎng)服務器)和主處理器或芯片組之間進行通訊的首選接口。因為無論從應用端還是從軟件驅動端來看,UART都是一個軟件開銷最小和復雜性最低的高效接口。盡管UART的發(fā)展趨勢是更多地集成在處理器或者芯片組中,但這里也存在一個折衷,那些關鍵芯片需要平衡芯片的面積/成本和以及外設選擇之間的關系,這意味著處理器和芯片缺乏端口的情況將繼續(xù)存在。因此,一些特定系統(tǒng)將受益于不同外形尺寸的獨立UART。

  包括工藝、芯片組、連接技術和外圍設備在內的數(shù)個市場的發(fā)展推動了對新一代UART的需求。連接技術和外圍設備的發(fā)展趨勢決定了市場對具有靈活主機接口的高速UART的需求,這些UART工作在低電壓下,功耗很低,可以提供較高的數(shù)據(jù)速率以滿足藍牙EDR等新連接標準的要求。

  新一代系統(tǒng)采用高端處理器,可以在較短時間里處理大量的任務。這些處理器的工作電壓分別是3.3V、2.5V或1.8V。因此,甚至如UART這樣的基本接口都必須精心設計,以進一步降低CPU開銷。為構造高性能的UART,必須考慮以下特性指標:主機接口的性能、UART的FIFO的深度、波特率、電源電壓和功耗。低分辨率時鐘預定標器、自動支持RS485和先進的封裝技術等其它性能也能給某些特定設計帶來顯著好處。

  主機接口和處理時間

  UART可以通過并行或總線與主機連接。通常許多獨立的UART提供兩種類型的8位異步存儲接口,兼容大多數(shù)的摩托羅拉(Motorola)和英特爾(Intel)總線接口。有些UART同時具有兩個接口,如恩智浦半導體(NXP Semiconductors)的SC28Lxx和1.8V SC16C85x UART系列。通過配制引腳,這個獨立的UART可以被設置成支持Motorola或者Intel的總線接口。在許多手持設備中,一種被稱為VLIO (可變延遲I/O)的新型接口也得到了采用,此外新一代1.8V UART將被設計成可以與總線無縫連接(圖1)。


  圖1:具有VLIO(可變延遲I/O)接口的1.8V UART的移動應用示例。

  并行總線接口的優(yōu)點是具有很高的吞吐量,而速度可高達100 Mbps,但缺點是需要大約15根線與處理器連接。為克服這個缺點,或者說是消除對并行總線的依賴性,可以選擇如SPI或I2C的標準總線與主機相連。當今流行的解決方案是NXP SC16IS7xx系列,這些產(chǎn)品通過I2C或SPI端口實現(xiàn)與主機的無縫連接,并將與主機連接的15根線減少到5根(I2C)和7根(SPI),如圖2所示。這個串行UART還有其它一些優(yōu)點,例如它能為設計工程師提供現(xiàn)成的I2C或SPI到RS232/RS485/IrDa的協(xié)議轉換器,但缺點是串行總線的速度被限制在400 Kbps(I2C)和15 Mbps (SPI)內。


  圖2:帶有串行接口(I2C/SPI)的NXP SC16IS752高速UART的應用示例。

  一旦選定了主機接口,最佳的主機處理時間取決于以下幾個要素:UART的 FIFO深度和FIFO計數(shù)器、中斷觸發(fā)等級的數(shù)量、硬件和軟件流程控制。

  FIFO深度和FIFO計數(shù)器

  UART的 FIFO深度直接影響通過UART傳輸數(shù)據(jù)所需的CPU開銷。FIFO的深度越深,在每個中斷就可以有更多數(shù)據(jù)傳輸,從而減少CPU的中斷。一個標準的FIFO深度范圍從16 到 6? 字節(jié)。但越來越多的設計要求具有更深FIFO的UART,而可提供具有高達128字節(jié)FIFO深度的獨立方案的廠商也越來越多。如今市場上具有最深FIFO的UART是NXP公司的SC28L202 和SC28L201,它們的FIFO深度高達256字節(jié)。

  下面例子說明了更深FIFO的優(yōu)點。假設UART的傳輸速率設置為115.2Kbps,并且字符格式為1個開始位、8個數(shù)據(jù)位和一個停止位,即有10位字符和115.2 Kbps波特率,那么UART接收一個完整的字符需要86.8 ?s時間。如果UART接收器的FIFO是16字節(jié),那么它需要大約1.39ms(16×86.8 ?s)去填滿一個接收器FIFO。這時,UART將對主機產(chǎn)生一個接收數(shù)據(jù)就緒中斷,并且主機必須立刻去讀取這個接收器FIFO中的數(shù)據(jù),否則如果這個UART收到另外的字符,這個接收器FIFO中的數(shù)據(jù)將會溢出。有了上面的設置,在整個接收過程中,主機將每隔1.39 ms就獲得一個來自UART的中斷。但如果這個UART的接收器FIFO的容量是128字節(jié),那么UART中斷的間隔時間將為原先的8倍(128/16=8),達到11.12 ms,主機處理UART任務的頻率也將從每1.39 ms一次降到每11.12 ms一次。主機處理器可以用節(jié)省下來的時間去處理其它任務。

  在今天的許多應用中,系統(tǒng)需要去讀取UART上的線狀態(tài)寄存器(LSR),以首先確認在接收FIFO上是否有數(shù)據(jù)。這要求CPU每次從接收FIFO讀取一個字符都要輪詢LSR,這將顯著增加CPU的處理時間。只有少數(shù)的獨立的UART,比如NXP SC28L202 和 SC16C85x,擁有FIFO計數(shù)器,允許CPU在得到這些數(shù)據(jù)之前就找出在FIFO上的字符數(shù)量。這種方法使CPU不必每次都去讀取LSR,而是直接從接收FIFO讀取數(shù)據(jù),從而進一步優(yōu)化系統(tǒng)。

  可編程的中斷觸發(fā)等級

  在一些應用中,主機需要在固定時間內接收和響應固定長度的數(shù)據(jù)包。通過使用UART的中斷觸發(fā)等級,設計工程師可以對UART編程,使其在收到特定數(shù)量的字符以后,或者輸出特定數(shù)量的字符之后,發(fā)出一個中斷信號。目前的集成UART方案有許多預定義的觸發(fā)等級,比如1、4、8或者16。這種模式的缺點是,在接收到一個不是1、4、8 或者16字節(jié)的數(shù)據(jù)包以后,設計工程師難以對UART編程以產(chǎn)生中斷信號。NXP公司 SC16C850L/852L UART能夠提供127個中斷觸發(fā)等級,可以靈活地對UART編程,設計工程師可以在1到 127之間任意設置中斷觸發(fā)等級。

  硬件和軟件流程控制提供兩個通訊UART之間的自動握手機制,將CPU從防止數(shù)據(jù)在UART FIFO中溢出的任務中解放出來。許多集成的UART并不具備這個功能,在處理器帶寬有限、沒有時間實現(xiàn)硬件或者軟件流程控制的場合,該功能非常關鍵。越來越多的獨立UART具備這個功能,這讓設計工程師可以進一步降低CPU的工作量。

  如今對高速UART的需求越來越大。目前的連接解決方案,如藍牙,要求UART在低電壓下可以提供高達3Mbps的速度。有了新一代的獨立UART,系統(tǒng)可以快速處理和高速傳輸數(shù)據(jù),同時在所有的UART信道里保持數(shù)據(jù)完整性。目前,大量的獨立UART可以在3.3V電壓下提供高達5 Mbps的數(shù)據(jù)速率,而新一代UART,比如NXP SC16C85x 系列,可以在1.8V的電壓下提供類似的波特率(圖3)。這些類型的UART在關鍵芯片組的性能和面市時間方面提供了重要的附加價值,同時克服了目前被廣泛用在集成解決方案中的1 Mbps UART的局限性。除了速度高之外,許多獨立UART還提供對接收機和發(fā)射機的運行速度進行獨立編程的能力,這使獨立UART在高速集群系統(tǒng)和橋接等應用中特別有吸引力。

  UART的電源電壓、功率和封裝

  隨著處理器和芯片組向低電源電壓方向發(fā)展,UART也需要支持這些新電壓,因此新一代UART已被開發(fā)為可工作在3.3V、2.5V和1.8V電壓下。為進一步降低功耗,新型的獨立UART提供低功耗模式功能,允許在空閑狀態(tài)下將功耗減少到微安級。

  除了低功耗要求外,越來越多采用獨立UART的系統(tǒng)還希望UART具有盡可能小的外形尺寸。今天市場上最小的獨立UART由NXP公司推出,這些產(chǎn)品采用TFBGA封裝,面積為3.5×3.5 mm。

  低分辨率時鐘預比例器和RS485功能

  UART需要時鐘源來產(chǎn)生波特率。這個時鐘源可以由一個需要外接晶振的片上振蕩器產(chǎn)生,或者由一個外部振蕩器產(chǎn)生。為保證在使用固定頻率時鐘源時波特率可以被編程,大部分獨立UART使用一個整數(shù)除法器,允許UART用整數(shù)N(比如1、2、3…)除以時鐘源。整數(shù)除法器的局限是低整數(shù)值的波特率范圍較窄。一些較先進的高速UART(如NXP SC16C850L)采用有理數(shù)除法器,允許UART用分數(shù)除以時鐘源,從而提供更寬的波特率范圍。波特率根據(jù)BR=F/(N + m/16)來計算,式中的N為從1到65k范圍內的整數(shù),m為從1到16范圍內的整數(shù)。使用有理數(shù)的好處是能擴大可編程的波特率范圍,使獲得更高性能和提高傳輸精度成為可能。

  當兩個計算機系統(tǒng)以非常高的數(shù)據(jù)速率進行長距離通訊時,單端方法是不行的,因此RS485和它的微分信號被用來減少網(wǎng)絡中的噪音。RS485適用于多點通信系統(tǒng),但針對大多數(shù)集成UART,設計工程師需要編寫復雜的軟件去支持RS485功能。

  許多新一代的獨立UART被設計支持RS485,以減少運行在處理器上的軟件的復雜性。這些UART有一個內置的功能,無需處理器介入就能自動偵測到RS485的地址。這個功能顯著減少了CPU的處理時間,因為它消除了UART對CPU的不斷中斷請求。因為獨立UART支持自動的RS485地址偵測,所以主機處理器可以使UART自動偵測到自己的地址,并一旦完成偵測后就通知處理器。另外,RS485線驅動器方向也可以通過RTS(請求到發(fā)送)引腳自動控制,這是一個可以自動偵測高達32個(2線總線)和6?個(4線總線)從設備地址的9位模式(也稱多點模式)。

  本文小結

  處理器和芯片組的最近發(fā)展推動了與它們接口的外設的性能升級。最流行和最普遍的外設是UART。如今的發(fā)展趨勢展示,獨立UART已經(jīng)發(fā)展成為高性能解決方案的一部分,將它們用在系統(tǒng)可以顯著降低CPU和相關芯片組的負荷。最新的獨立UART為設計工程師提供了高速、低功耗接口,以有效地支持了藍牙EDR等連接方案。新一代UART所具有的更多特性給設計者提供了增值的解決方案,這些方案在縮短面市時間的同時,還進一步優(yōu)化了系統(tǒng)性能并提高了系統(tǒng)的靈活性。



關鍵詞: UART 性能 串行

評論


相關推薦

技術專區(qū)

關閉