顯示具有 HARDWARE 標籤的文章。 顯示所有文章
顯示具有 HARDWARE 標籤的文章。 顯示所有文章

2007年2月7日 星期三

嵌入式系統設計中串列匯流排的選擇策略

嵌入式系統設計中串列匯流排的選擇策略
上網時間: 2003年02月08日

串列通訊是嵌入式系統設計中的一個重要部份,選擇恰當的串列介面時要考慮多方因素。本文描述了RS-232、RS-422、RS485、I2C、SPI、Microwire及1-Wire等七種常用的串列匯流排,並分析了各自的優缺點,以幫助嵌入式系統設計工程師選擇適用於其設計的串列介面匯流排。

在嵌入式設計中,從顯示器、記憶體到周邊的通訊都藉由串列介面進行。目前有多種串列通訊介面可用於嵌入式系統,但在選擇時要考慮到多個因素。以下將講述表1所示七種最為常用的串列介面,以幫助設計工程師進行正確選擇。

串列介面的優點

在多種情況下需要使用串列介面,最為常見的則是在開發或現場使用時必須與PC進行介面。多數PC帶有與周邊相接的串列介面匯流排,只有少數例外。對於必須與通用電腦介面的嵌入式系統而言,使用串列介面常常比ISA或PCI擴展匯流排更為方便。

串列通訊只需一個I/O引腳便可進行通訊,而平行通訊則需要8個或更多。許多通用嵌入式系統周邊(如類比/數位轉換器和數位/類比轉換器、LCD和溫度感測器)均支援串列介面。圖1:PC通訊的典型格式包括數據位元、校驗位元和停止位元。

串列匯流排還可用於內部處理器通訊(例如網路),從而可用若干價格低廉的小處理器來完成通常需要大處理器完成的任務。藉由串列介面,處理器通訊無需共享記憶體和旗語,進一步避免了可能引起的問題。

不過,對於讀取匯流排、地址匯流排和數據匯流排以及其它微程式控制而言,平行匯流排永遠是首選。‘記憶體映射’外部設備已成為一種專門技術,用於帶地址和數據匯流排的系統中。藉由這一技術可平行存取片外設備。不過,由於許多8位元微控制器(更不用說8引腳的了)不帶外部地址/數據匯流排,因此通常不使用記憶體映射。

基本術語

在詳細講述每種介面方式之前,我們先定義以下幾個術語:

(1) 在非同步匯流排中數據發送無需時脈信號;而在同步匯流排中則需要。


(2) 在全雙工方式中,數據的發送和接收可同時進行。而在半雙工方式中,可分別進行數據發送和接收,但不能同時收發。


(3)

主/從關係指的匯流排連接一個主設備和若干從設備。主/從匯流排通常是同步的,在雙向數據發送中,均由主設備提供時脈信號。


(4) 多主匯流排也是主/從匯流排,不過它的主設備不止一個。這種匯流排必須具有仲裁方案,以便在多個主設備企圖同時控制匯流排時避免衝突。
(5) 點對點或對等(peer)介面指的是兩個設備間具有一種對應關係;但無主從關係。對等介面通常是非同步的。


(6) 當一個介面具有多個接收器和一個發送器時,我們用‘點對多點(multi-drop)’來進行描述。(7) 當一條匯流排中的對等收發器多於兩個時,用‘多點(multi-point)’來描述。這與‘點對多點’介面並不一樣,它可在同一組連線中進行雙向通訊。

RS-232介面

幾乎所有的電腦都採用TIA/EIA-232-F(通常稱為RS-232)介面方式。RS-232是一種完整的標準,除了電氣特性外,還規範了物理及機械特性,如連接硬體、輸出引腳及信號名稱。RS-232是一種點對點介面,適用於中等長度的通訊,速率可高達20Kbps。儘管在規範手冊中並未標出,但在連接距離較短且正確接地的情況下,其速率可超過115.2Kbps。通常RS-232傳輸距離為30英尺,採用低電容電纜時,可達200英尺。

RS-232是一種非平衡式匯流排,可在兩對接收/發送器(稱為數據終端設備(DTE)及數據電路終端設備(DCE))間進行全雙工通訊。每一端的傳輸信號均與另一端的接收信號相連。因此,兩端的引腳有所不同。

每個發送器都藉由改變線路的電壓來發送數據。高於3V的電壓用二進制數‘0’表示,而低於-3V的電壓則用二進制數‘1’表示。這兩個閥值間的電壓未定義。可採用RS-232轉換IC,如1488、1489或十分常見的MAX232,來進行邏輯電平(0V和5V)與這些電壓的轉換。

通常RS-232通訊包含有起始位元、數據位元、奇偶校驗位元(如果有的話)和停止位元(有時多位元)。與PC通訊的典型格式為八個數據位元、無奇偶校驗位元、一個停止位元。此外,七個數據位元、一個偶校驗位元和一個停止位元這種模式也很常用。通常起始位元為0、停止位元為1,如圖1所示。在正式的規範中沒有描述RS-232的通訊協議,包括起始位元和停止位元的使用。

許多嵌入式系統藉由RS-232與PC或PC周邊(如數據機)進行介面。而其它系統則使用RS-232,再配合較為便宜的協議分析儀或帶有兩個串列口的PC來監控匯流排通訊量。圖2:當SCL為高電平時, SDA線從高電平變成低電平,產生開始信號,開始數據傳送。當SCL為高電平時,SDA線從低電平變成高電平,產生結束信號,結束數據傳送。

幾乎所有的微控制器廠商都有支援RS-232的硬體產品,稱為通用非同步收發器(UART)。通常UART都是中斷驅動,速度可高達115.2Kbps,軟體附加費用較少。但不同架構的UART會稍有不同。

RS-422和RS-485

TIA/EIA-422-B(通常稱為RS-422)及TIA/EIA-485-A(通常稱為RS-485)是平衡式、雙絞線介面,速度可高達10Mbps,傳輸距離長達4,000英尺。RS-422和RS-485均為差分匯流排,採用±1.5V到±6V的信號來進行數據傳輸。與RS-232等單端非平衡式匯流排相比,差分平衡式匯流排中的抗噪音能力有所提高。

RS-422是一種點對多點介面,在一對雙絞線上進行單向通訊,從一個發射器將信號發送到多個接收器,最高可有10個單元負載(UL)。如果接收元件需要與發射器進行通訊,則必須在每個接收器和發射器間連接一條獨立的專有匯流排(採用這種回路匯流排可進行全雙工通訊)。正是因為這一點,RS-422通常很少用於兩個節點以上。

RS-485介面則藉由一對雙絞線在多個收發器間進行雙向通訊。規範顯示,該匯流排可包括多達32個等同於收發器的單元負載(UL)。一些製造商生產分支式(fractional)UL收發器,從而將可連接的元件數目增加到100個以上。

RS-422和RS-485使用的起始位元、數據位元和停止位元格式通常與RS-232一樣。實際上,現有的多種轉換器都可在RS-232和RS-485之間進行數據轉換。不過切記,RS-232是全雙工介面,而RS-485則是半雙工。

多數微控制器製造商提供嵌入式UART,並聲稱具有特殊的RS-485性能。

I2C匯流排

內部積體電路匯流排(I2C)是由飛利浦半導體公司開發的一種專用介面。它是一種半雙工同步多主設備匯流排,只需要兩條信號線:串列數據線(SDA)及串列時脈線(SCL)。在一個‘與’連線介面中,這些信號線的電壓藉由升壓電阻拉高,並藉由開漏驅動器由硬體進行控制。

I2C採用可尋址通訊協議,主設備可與採用7位元或10位元地址的從設備進行通訊。每一元件均有一個地址,此地址由飛利浦半導體公司向元件生產商分配。此外還有多個特殊地址,包括‘總呼叫’地址(它可對匯流排內的每一地址進行尋址)及高速起始地址。

在與從設備進行通訊時,所有與從設備通訊的時脈信號(包括去和回)均由從設備產生。每次通訊開始時,主設備均會產生一個開始信號、一個8位元數據字、一個應答位元,然後是一個停止信號或重覆的開始信號。除開始信號和停止信號外,每個數據位元的傳送都在SCL為低電平時進行。當SCL為高電平時,SDA線從高電平變成低電平,產生開始信號,開始數據傳送。當SCL為高電平時,SDA線從低電平變成高電平,產生結束信號,結束數據傳送(見圖2)。資訊接收設備藉由將SDA線的電平拉低來產生應答位元,此時主設備釋放該線路,使之保持高電平。如果主設備讀到的應答位元為高電平時,它認為最後的通訊數據尚未收到,並採取相應的行動─如果可能則重發該數據。

I2C有個十分有趣的特徵稱為時脈伸展(clock stretching),產生在從設備無法處理數據位元並要求更多時間時。這種情況下,從設備將SCL線的電平拉低。由於信號表現為‘與’連線,因此當主設備釋放SCL線而從設備正在‘伸展’時脈時,主設備會注意到該線路仍處於低電平。此時,主設備等待,直到從設備處理完數據位元並釋放該線路。一旦從設備釋放線路後,SCL線恢復高電平,指示主設備可發送下一個數據位元。

I2C有慢(小於100Kbps)、快(400Kbps)及高速(3.4Mbps)三種速率,每一種均可向下相容。如果需要將信號發送出電路板外可參照飛利浦公司規範的建議連線方法。

儘管傳聞有人曾使用I2C匯流排在大於50英尺的距離內成功通訊,不過它的通訊距離通常僅限於同一電路板內。限制I2C通訊距離的是匯流排的比特率和傳輸量。因此,對於板外通訊,I2C實際常限制在10英尺內,屬於中等速率。

SPI匯流排

串列周邊介面(SPI)是由摩托羅拉開發的一種同步串列匯流排,用於該公司的多種微控制器中。

SPI匯流排由四路信號組成,分別是主出從入(MOSI)、主入從出(MISO)、串列時脈(SCK)及主動低電平從設備選擇(/SS)。SPI是一種多主/從設備通訊協議,主設備與選定的從設備間使用單向MISO和MOSI線進行通訊,速率超過1Mbps,為全雙工模式。主設備產生一個SCK脈衝,數據被同步到主設備和從設備間中。SIP協議有四種不同的時脈類型,視SCK信號的極性和相位而定。必須確保這些信號在主設備和從設備間相互相容。

除了1Mbps的速率外,SIP還有另一優點:當僅使用一個從設備時,/SS線路電平會被拉低,/SS信號可以不藉由主設備產生。不過,這一性能要依賴於SCK的相位選擇。

SPI的一個缺點是每個從設備都需要獨立的/SS線路。如果具有外部I/O引腳,或者外部電路板有足夠的位置配置多路選擇輸出器IC,這並不成問題。但對於體積小、管腳數少的微控制器來說,具有多個從設備的SPI介面並非理想之選。

Microwire匯流排

Microwire是由美國國家半導體公司開發的一種三線同步介面,用於該公司的COP8處理器系列產品。

與SPI相似,Microwire是一種主/從匯流排,包括主設備發出的串列數據(SO)、主設備接收的串列數據(SI)及信號時脈(SK)等三路信號,分別對應於SPI的MOSI、MISO及SCK。此外還有一個片選信號,其功能與SPI的/SS相似。Microwire是一種全雙工匯流排,速度可達到或超過625Kbps(由其電容決定)。

針對不同的數據需求,Microwire元件遵循不同的協議。與基於8位元組的SPI不同,Microwire的數據長度可變,同時還規定了一種‘連續’位元流模式。表1:七種最為常用的串列介面。

由於Microwire也具有多個從設備,需要多條片選線,因此它像SPI一樣同時兼具優缺點。有時候,SPI元件可工作於Microwire匯流排,同樣,Microwire元件也可以工作於SPI匯流排,儘管只能在單元件情況下。

儘管在電容配置得當且速率較低時SPI和microwire通訊距離可長達10英尺,但它們通常都局限於板內通訊,距離不超過六英寸。

1-Wire匯流排

Dallas Semiconductor的1-Wire是一種非同步主/從式匯流排,沒有用於多個主設備的協議。與I2C相似,1-Wire採用半雙工通訊,在單一連線上採用一種開漏拓樸結構進行雙向數據傳輸。不過,1-Wire匯流排的數據線也可以向從設備傳輸功率,儘管比較有限。1-Wire的最高速率僅達16Kbps,但在升壓電阻配置得當時,傳輸距離可達1,000英尺。

位元碼監測

如果沒有支援以上匯流排的硬體,可以使用通用的I/O引腳。用軟體控制串列通訊通常稱作‘位元碼監測(bit banging)’,因為軟體的確在‘串列口’上實施‘監測’作用。

位元碼監測要求軟體可識別每個位元碼的正確時序,因為它必須監測每個輸出位元碼的變化(在全雙工介面中還要監測接收數據的情況。)不過,令嵌入式開發者慶幸的是,不少位元碼監測程式都可從網際網路上找到,用於以上述串列匯流排以及幾乎所有的微控制器結構。實際上,一些微控制器廠商已開發並公佈了它們自己的程式。

本文小結

如上所述,面對大量串列通訊匯流排標準。在選擇一種串列匯流排時,不應只考慮到滿足產品的當前需要,而且還應考慮到是否能用於產品的整個生命周期。希望這些有助於工程師選擇最適合其當前嵌入式設計的串列介面。

作者:


John Patrick


L-3 Communications/Electrodynamics, Inc.


Email: j.s.patrick@ieee.org


此文章源自《電子工程專輯》網站:
http://www.eettaiwan.com/ART_8800300535_617717,676964.HTM.6e8b9920 http://www.eettaiwan.com/ART_8800300535_617717,676964.HTM.6e8b9920

返回文章頁 | 返回主頁

2006年10月9日 星期一

繪圖教戰手則Part 1:繪圖卡

[繪圖處理器]繪圖處理器就相當於繪圖卡的心臟,就像CPU是電腦的頭腦一樣,因為繪圖處理器是安裝在冷卻器後,所以你不太能看到它。一般來說,繪圖處理器是繪圖卡上體積最大、溫度最高的零件。
繪圖處理器是繪圖卡最重要的部分。繪圖處理器所擁有的硬體設備是整個電腦系統設備的縮影,如它擁有像素著色單元(pixel shaders)、頂點著色單元(vertex shaders)、管線和時脈速率零組件等。唯一一個值得我們注意的地方就是繪圖卡記憶體,它是個必須與繪圖處理器攜手合作,來協助傳送高頻寬訊號(如3D)的裝置。
[視訊記憶體]繪圖記憶體通常被安裝在繪圖處理器旁,以便繪圖處理器能以最快的時間擷取資料,這對希望達到高介面時脈速率來說非常重要。
假如我們說繪圖處理器是繪圖卡的心臟,那麼記憶體就是繪圖卡的血液。一個好的繪圖處理器可以藉由傳輸量大和傳輸速度快的匯流排,將貧乏、傳輸速度緩慢和不足的記憶量,轉換成最佳的訊號傳送出去。
記憶體晶片(通常晶片數為2~8個)會依序環繞的安裝在繪圖卡的繪圖處理器上(或安裝在繪圖處理器的側邊),它們的體積非常小,形狀也大多以正方形或矩形為標準規格。
由於大多數的記憶體並無專用的散熱器,所以大多數的散熱器都被安裝在繪圖卡上,但假如有散熱器,或單插槽、雙插槽冷卻器可以適用於繪圖卡或記憶體上時,它們通常都能同時降低兩者的溫度。
繪圖卡上的記憶體容量通常為128、256或512MB,DDR2和GDDR3這一類的記憶體也時常被使用。處理器可以擷取的記憶體容量愈大,使用者可儲存的繪圖資料(大部分是材質(texture)檔)當然也就愈多,這就代表這些資料並不一定要存進電腦的隨機存取記憶體(RAM)裡,當然這樣也就不會造成電腦嚴重的當機。
然而,體積並不代表一切!低成本或其他主要的繪圖卡通常為了能成功的賣出去,廠商都會安裝上大型的記憶體,但很可能記憶體的品質就被犧牲掉了。我們常可看到最新型的記憶卡擁有128或256位元的記憶體匯流排,但其他中下層級的記憶卡卻只擁有64位元的匯流排;簡單的來說,如果現在有兩條匯流排在同一時間進行傳送,一條是128位元頻寬,一條是64位元頻寬,則128位元頻寬的匯流排會傳送2倍64位元頻寬所傳送的資料。現在的電玩遊戲會將繪圖資料存放在顯示緩衝記憶體(frame buffers)裡,假如繪圖處理器在擷取圖像時速度緩慢,整個遊戲的品質將會讓人大失所望。
假如你決定要將你記憶體或繪圖處理器速度升級的同時,卻不知該選擇具有那一種時脈速率、那一種大小的記憶體或那一種頻寬匯流排的繪圖卡時,請記得選擇較小的記憶體,但匯流排頻寬較大的繪圖卡,相信我們,這是值得的!如何讓你自己體驗最佳的電玩品質,訣竅就在細節裏!

2006年8月25日 星期五

防止韌體盜版 韓國業者推出版權保護晶片

防止韌體盜版 韓國業者推出版權保護晶片
上網時間: 2006年08月22日

在全球有無數的公司都曾有過產品被
盜版的經驗,並因此而蒙受巨大的損失。在激烈的市場競爭壓力下,許多小公司紛紛企圖憑藉著盜版商品更快速地擠進市場,而僅依靠法規制度及反盜版運動根本無法杜絕此類行為。為了保護原創公司的知識產權,如何保護版權的技術便成為近來所關注的重點。
由於整個媒體產業的擴展,使得與電子產業有關的內容和數據保護一直都受到高度的關注;而硬體系統由於開發成本甚鉅,對其進行保護更是產業的重點。儘管對
韌體、產品開發核心技術的保護至關重要,但對封裝和PCB佈線等可見部份的保護也不容忽視。多數公司一般習慣於使用採納了安全晶片和演算法的版權保護系統。目前,Maxim、Intersil、Microchip和TI均已在生產版權保護IC,其中Maxim佔據了美國本土90%的市場佔有率。
圖1:Neowine公司版權保護IC和現有EPROM型版權保護IC的區別
在韓國,一些小公司瘋狂的軟體盜版使得視訊轉換盒(STB)製造公司苦不堪言,而正是這些來自視訊轉換盒製造商的求助,使得Neowine成為一家以開發系統韌體版權保護IC為己任的公司。Neowine於2002年成立,是目前韓國唯一擁有系統版權保護ASIC專利的公司。
與眾不同的技術
傳統的版權保護方法是從同一晶圓上得到相同的IC,再將不同程式碼輸入內建的EPROM中,然後提供給不同公司。雖然採用EPROM方法各家公司可隨意寫入自己想要的程式碼,但面對版權保護IC自身也可能被複製的一難題,廠商們均束手無策。這種情況之所以產生是因為提供給不同公司的晶片具有相同的邏輯。Neowine採用的是類似ASIC的方法,這種截然不同的方法從根本上杜絕了翻版的可能性。在同一晶圓上,Neowine為不同公司採用不同演算法製造IC。這樣,一旦版權保護IC投入市場,就不可能以原有方法再加以仿冒和篡改。
圖2:Neowine公司版權保護IC ALPU 05
演算法許可單元(ALPU)是Neowine公司用於系統版權保護的產品,這是一款採用隨機變量交換系統的認證晶片,在SOT-23F這樣一個小封裝內整合了1萬多個邏輯閘。ALPU與系統CPU以密碼方式通訊,CPU在諸如系統啟動等關鍵場合檢測ALPU。所以,即使盜版系統複製了PCB、核心甚至記憶體中的韌體,但若缺少ALPU晶片,該系統仍然無法工作。另外,由於Neowine對ALPU產品採用了百密無疏的單線直銷管道,所以盜版系統根本無機可乘。
監管過量製造
除了用於防止韌體被複製,Neowine的版權保護IC還能監控過量製造或用來收取版稅。例如,一家視訊轉換盒公司在海外OEM廠商那裏定製了10萬台設備,但這家OEM卻生產了100萬台,除提供10萬台後,剩下的90萬台就自己出售。由於OEM身處異邦,即使視訊轉換盒公司想起訴,也面對著鞭長莫及的不利因素。設想如果視訊轉換盒方案的原創公司採用了ALPU技術的話,就可以利用該技術向使用其方案的製造廠商收取版稅。而在ALPU問世之前,該方案公司很難掌控製造公司的不法行為,如隱瞞產量或向第三方洩露數據等。現在,透過控制ALPU的配給數量,就能輕鬆控制生產數量。
“當我們將ALPU投入市場時,大多數公司都認為這種產品要是能更早問世就好了。”Neowine的行銷總監Min-Tae Kim表示。他指出:“音訊卡、主機板、繪圖卡和CD-ROM的設計積極性在韓國幾乎已經消失,版權保護IC不再是一種選擇,而是必須!”
圖3:視訊轉換盒線路板上的版權保護IC(用白色標示)
“盜版不會帶來競爭力或成長潛力。某些公司透過盜版也許能暫時獲利,但最終有可能被其它盜版所擊敗。盜版造就了一個無效率的異象,只有終結盜版才會有公平競爭。”Neowine的主管Hyo-seung Lee表示。
Neowine目前每月生產40萬片ALPU,數百家公司正試用該晶片。目前該公司可提供的產品根據接腳數和使用用途,可分為ALPU-04、ALPU-B和ALPU-05。由於要按用戶要求而生產差異化產品,所以最小訂貨量是3萬片,交貨週期約6週。由於無需額外編程,所以ALPU產品可立即投入應用,適用於手機、PMP、MP3和DVR等內建CPU的產品。
作者:趙允婤
此文章源自《電子工程專輯》網站:
http://www.eettaiwan.com/ART_8800430073_480802_a5e4f1ea_no.HTM