標(biāo)準(zhǔn)接口的基礎(chǔ)技術(shù)知識
掃描二維碼
隨時(shí)隨地手機(jī)看文章
對于設(shè)計(jì)人員而言,根據(jù)應(yīng)用的性能、電源、存儲器以及接口要求尋找特定的嵌入式處理器是一項(xiàng)令人生畏的艱巨任務(wù),因?yàn)榧幢闶窍嗨频南到y(tǒng)也存在著顯著的差異。盡管ARM處理器提供十幾種選擇,系統(tǒng)設(shè)計(jì)人員卻很難找到“完美的搭配”.
本文將重點(diǎn)介紹各種標(biāo)準(zhǔn)接口,并揭示它們對不同嵌入式芯片廠商的區(qū)別所在。了解基本接口可幫助設(shè)計(jì)人員優(yōu)先考慮哪些接口應(yīng)為片上。另外,雖然標(biāo)準(zhǔn)接口具有很高的使用價(jià)值,但為了提供額外的片上資源,也需要可定制化的片上接口。本文將介紹兩種這樣的外設(shè)塊。
USB
通用串行總線 (USB) 接口最初的開發(fā)目的是用來連接個(gè)人計(jì)算機(jī)與外設(shè)。隨著時(shí)間的推移,它已經(jīng)成為工業(yè)與基礎(chǔ)設(shè)施應(yīng)用的常用接口。諸如鍵盤、鼠標(biāo)以及示波器等人機(jī)接口設(shè)備 (HID) 一般都采用 USB 接口,這就意味著它必須得到系統(tǒng)嵌入式處理器的支持。實(shí)現(xiàn)這一目標(biāo)的最有效方法是采用片上外設(shè)。
除 HID 之外,工業(yè)與基礎(chǔ)設(shè)施應(yīng)用還使用另外兩種設(shè)備。USB 通信設(shè)備類 (CDC) 不但適用于調(diào)制解調(diào)器與傳真機(jī),而且還可通過提供用于以太網(wǎng)數(shù)據(jù)包傳輸?shù)慕涌趤碇С趾唵蔚穆?lián)網(wǎng)。同樣,USB 大容量存儲設(shè)備 (MSD) 主要用于硬盤驅(qū)動(dòng)器及其它存儲介質(zhì)。
USB 2.0 規(guī)范要求主機(jī)初始化所有向內(nèi)及向外的傳輸。此外,該規(guī)范還定義了三種基本設(shè)備:主機(jī)控制器、集線器以及外設(shè)。
USB 2.0 的物理互連是一種在每個(gè)星型中心使用一個(gè)集線器的分層星型拓?fù)浣Y(jié)構(gòu)。每條線段都是一個(gè)主機(jī)與集線器或功能之間的點(diǎn)對點(diǎn)連接,或者是一個(gè)連接至另一個(gè)集線器或功能的集線器。
USB 2.0 系統(tǒng)中用于設(shè)備的尋址方案可實(shí)現(xiàn)單個(gè)主機(jī)連接多達(dá) 127 個(gè)設(shè)備。這 127 個(gè)設(shè)備可以是集線器或外設(shè)的任何組合。復(fù)合或組合設(shè)備可以是這 127 個(gè)設(shè)備中兩個(gè)或兩個(gè)以上的設(shè)備。
雖然 USB 2.0 很可能是工業(yè)和許多基礎(chǔ)設(shè)施應(yīng)用的首選,但外設(shè)設(shè)備需要在沒有主機(jī)參與的情況下彼此通信時(shí),還需要部署移動(dòng) USB ( USB OTG)。為了實(shí)現(xiàn)點(diǎn)對點(diǎn)通信,USB OTG 引入了一種新的設(shè)備,這類設(shè)備包含可為兩個(gè)外設(shè)實(shí)現(xiàn)數(shù)據(jù)共享的限制主機(jī)功能。
OTG 補(bǔ)充方案定義了一套新的、稱之為主機(jī)協(xié)商協(xié)議 (HNP) 的握手方式。使用 HNP,能夠作為默認(rèn)外設(shè)連接的設(shè)備可請求成為主機(jī)。這有助于現(xiàn)有 USB 2.0 主機(jī)設(shè)備范例提供點(diǎn)對點(diǎn)通信。另外還定義了會(huì)話請求協(xié)議 (SRP)。
USB 具有可靠標(biāo)準(zhǔn)的普及性與極高地位,可向嵌入式處理器廠商提供專門針對 USB 功能的軟件庫,從而可大幅縮短開發(fā)時(shí)間。系統(tǒng)設(shè)計(jì)人員不必編寫自己的代碼,只需進(jìn)行功能調(diào)用,便可實(shí)施接口。
這些庫應(yīng)通過認(rèn)證,證明已通過了 USB 實(shí)施人員論壇實(shí)施的 USB 設(shè)備及嵌入式主機(jī)合規(guī)性測試。德州儀器 (TI) 等一些廠商可為其嵌入式處理器提供廣泛的 USB 庫。
2007 年,旨在創(chuàng)建一種更快 USB 類型的 USB3.0 推廣團(tuán)隊(duì) (the USB 3.0 Promoter Group)得以成立,這種 USB 類型不但向后兼容以前的 USB 標(biāo)準(zhǔn),而且還可提供比 USB2.0 快 10 倍的數(shù)據(jù)速率。USB 3.0 采用新的信號發(fā)送方案,并通過保留 USB 2.0 雙線接口實(shí)現(xiàn)了向后兼容性。然而這種更快的版本還處于部署初期,USB 2.0 今后數(shù)年仍將是最常用的 USB 類型,其具有高速 (480Mbps)、低速 (1.5Mbps) 以及全速 (12Mbps) 三種速度選項(xiàng)。
EMAC
雖然符合IEEE 802.3以太網(wǎng)標(biāo)準(zhǔn)的接口一般會(huì)被誤稱為以太網(wǎng)介質(zhì)訪問控制器 (EMAC),但完整的 EMAC 子系統(tǒng)接口實(shí)際上包括三個(gè)模塊,這三個(gè)模塊可能會(huì)集成在片上,也可能不會(huì):
1.物理層接口 (PHY);
2.以太網(wǎng) MAC,其可實(shí)施協(xié)議的 EMAC 層;
3.定制接口一般稱為 MAC 控制模塊。
EMAC 模塊可控制系統(tǒng)到 PHY 的包數(shù)據(jù)流。MDIO 模塊可執(zhí)行 PHY 的配置以及狀態(tài)監(jiān)控。兩個(gè)模塊都可通過 MAC 控制模塊訪問系統(tǒng)核心,從而還可優(yōu)化數(shù)據(jù)流。在 TI 嵌入式處理器等完全集成型解決方案中,定制接口被視為 EMAC/MDIO 外設(shè)不可或缺的組成部分。
完整的 EMAC 子系統(tǒng)如圖 1 所示。
圖 1:EMAC 子系統(tǒng)
EMAC 控制模塊不但可控制設(shè)備中斷,而且還整合了一個(gè)用于保持 EMAC 緩存器描述符的 8K 字節(jié)內(nèi)部隨機(jī)訪問存儲器 (RAM)。該 MDIO 模塊采用 802.3 串行管理接口來詢問和控制多達(dá) 32 個(gè)采用共享雙線總線連接至設(shè)備的以太網(wǎng) PHY.
主機(jī)軟件使用 MDIO 模塊來配置連接至 EMAC 的每個(gè) PHY的自動(dòng)協(xié)商參數(shù),恢復(fù)協(xié)商結(jié)果,并在 EMAC 模塊中配置所需的參數(shù),以實(shí)現(xiàn)正確的操作。該模塊可為 MDIO 接口實(shí)現(xiàn)近乎透明的操作,基本不需要核心處理器的維護(hù)。
EMAC 模塊可在網(wǎng)絡(luò)與處理器之間提供一個(gè)高效率的接口。EMAC 模塊通??商峁?10Base-T(10Mbit/秒)與 100Base TX(100Mbit/秒)、半雙工與全雙工模式,以及硬件流控制與服務(wù)質(zhì)量 (QoS) 支持。此外,部分處理器現(xiàn)在還支持可實(shí)現(xiàn) 1000 Mbit/秒數(shù)據(jù)速率的千兆位 EMAC 容量。
由于以太網(wǎng)的廣泛使用,嵌入式處理器一般都在芯片上集成了一個(gè)或多個(gè) EMAC 接口。不同的廠商在實(shí)施上述完整的 EMAC 子系統(tǒng)時(shí)采用的方法也稍有不同。實(shí)施以太網(wǎng)接口所需的軟件支持與庫的質(zhì)量和范圍是選擇嵌入式處理器廠商時(shí)需要考慮的另一個(gè)問題。
路由器或交換機(jī)等應(yīng)用所需的 EMAC 有時(shí)不止一個(gè)。這些應(yīng)用通過使用多個(gè) EMAC,能夠在創(chuàng)建同步過程通信的同時(shí),與眾多設(shè)備通信。
SATA
串行 ATA (SATA) 可將主機(jī)總線適配器與諸如硬盤驅(qū)動(dòng)器與光盤驅(qū)動(dòng)器等大容量存儲設(shè)備相連。它已基本取代了之前的并行 ATA (PATA)。PATA 要求 40/80 線并行線纜,長度不超過 18 英寸。PATA 的最大數(shù)據(jù)傳輸速率為 133Mbit/秒,而 SATA 串行數(shù)據(jù)格式則使用兩個(gè)差分對來支持連接數(shù)據(jù)存儲設(shè)備的接口,線路速率為 1.5Gbit/秒(SATA 版本 1)、3.0Gbit/秒(SATA 版本 2)與 6.0Gbit/秒(SATA 版本 3)。SATA 1 和 SATA 2 現(xiàn)已面市,SATA 3 將在近期推出。
此外,SATA 控制器需要的線纜較細(xì),而且可以長達(dá) 3 英尺。較細(xì)的線纜更加靈活,一方面可實(shí)現(xiàn)更便捷的布線,另一方面更有利于大容量存儲設(shè)備外殼內(nèi)的空氣流通。[!--empirenews.page--]
串行鏈路可獲得高性能的部分原因是采用高級系統(tǒng)存儲器結(jié)構(gòu)來容納高速串行數(shù)據(jù)。這種高級主機(jī)控制器接口 (AHCI) 存儲器結(jié)構(gòu)可為控制、狀態(tài)以及命令列表數(shù)據(jù)表提供一個(gè)通用域。命令列表的每條記錄都包含用于編程 SATA 設(shè)備的信息以及一個(gè)用于在系統(tǒng)存儲器與設(shè)備之間傳輸數(shù)據(jù)、指向描述符表的指針。
大多數(shù) SATA 控制器不但支持熱插拔,而且還采用端口多路器來增加可連接至單個(gè) HBA 端口的設(shè)備數(shù)量。SATA 標(biāo)準(zhǔn)有一個(gè)很長的特性列表,但幾乎沒有 SATA 控制器可支持所有這些特性。常見特性包括:
· 支持AHCI 控制器規(guī)范1.1版;
· 集成SERDES PHY;
· 集成Rx與Tx數(shù)據(jù)緩存器;
· 支持SATA 電源管理特性;
· 每端口配備內(nèi)部 DMA 引擎;
· 多達(dá) 32 條記錄的硬件輔助原生命令排序 (NCQ);
· 32 位尋址;
· 支持端口乘法器;
· 支持 LED 工作;
· 機(jī)械控制開關(guān) (mechanical presence switch)。
由于 SATA 能夠存儲可延伸至太字節(jié)范圍的大量數(shù)據(jù),因此應(yīng)用非常廣泛,其中包括上網(wǎng)本、膝上型電腦、臺式機(jī)、多媒體設(shè)備以及便攜式數(shù)據(jù)終端等。此外,SATA 還可用于可能需要傳感器或系統(tǒng)監(jiān)控器存儲大量數(shù)據(jù)以待后續(xù)分析的工業(yè)應(yīng)用。
DDR2/移動(dòng)DDR
DDR2 是雙陪數(shù)據(jù)速率 (DDR) SDRAM規(guī)范的后繼標(biāo)準(zhǔn),這兩個(gè)標(biāo)準(zhǔn)互不兼容。DDR2 在總線時(shí)鐘信號的上升沿與下降沿傳輸數(shù)據(jù),并能夠以更高的總線速度運(yùn)行,從而可實(shí)現(xiàn)每個(gè)內(nèi)部時(shí)鐘周期四次的數(shù)據(jù)傳輸。
簡化型 DDR2 控制器包括以下設(shè)計(jì)塊:
· 存儲器控制;
· 讀取接口;
· 寫入接口;
· 以及 IO 塊。
這些塊以及它們與 DDR2 存儲器芯片及核心邏輯的關(guān)系見圖 2 所示。
圖 2:簡化型 DDR2 控制器的實(shí)施
存儲器控制塊發(fā)出存儲器對專用核心邏輯的訪問,反過來也是如此。讀取物理塊負(fù)責(zé)處理在各個(gè)讀取周期中采集數(shù)據(jù)的外部信號時(shí)序,而寫入物理塊則使用適當(dāng)?shù)耐獠啃盘枙r(shí)序管理時(shí)鐘與數(shù)據(jù)的發(fā)出。
字節(jié)寬度雙向數(shù)據(jù)選通 (DQS) 隨數(shù)據(jù) (DQ) 通過外部方式傳輸,用于采集目的。DQS 在讀取存儲器時(shí)由控制器通過邊緣對齊的方式傳輸,而在寫入存儲器時(shí)則采用中心對齊的方式。片上延遲鎖相環(huán) (DLL) 用于鎖住 DQS 及相應(yīng)的 DQ.這可在電壓及溫度發(fā)生變化時(shí)確保它們能夠彼此跟蹤。
DDR2 SRAM具有差分時(shí)鐘輸入,可降低時(shí)鐘輸入占空比變化時(shí)的影響。此外,DDR2 SRAM 還支持?jǐn)?shù)據(jù)掩碼信號,可在各個(gè)寫入周期中為數(shù)據(jù)位添加掩碼。
移動(dòng) DDR (MDDR) 也稱低功耗雙倍數(shù)據(jù)傳輸速率存儲器 (LPDDR),因?yàn)槠涔ぷ麟妷簽?1.8 V,而傳統(tǒng)存儲器工作電壓為 2.5 V 或 3.3 V,通常用于便攜式電子產(chǎn)品。此外,移動(dòng) DDR 存儲器還支持傳統(tǒng) DDR2 存儲器不具備的低功耗狀態(tài)。與所有 DDR 存儲器一樣,雙倍數(shù)據(jù)傳輸速率是通過器件時(shí)鐘上下沿同時(shí)傳輸數(shù)據(jù)實(shí)現(xiàn)的。
uPP
由于片上外設(shè)的數(shù)量受成本或其它限制條件的約束,系統(tǒng)設(shè)計(jì)人員往往想找出數(shù)據(jù)片上與片外傳輸?shù)男路椒?。一種策略是利用未使用視頻端口的資源,實(shí)際上是利用