利用CoolRunner-II CPLD設計GPS系統(tǒng)
GPS已在汽車、移動電話、PDA甚至手表等越來越多的產(chǎn)品中出現(xiàn)。每家GPS供應商都推出了數(shù)十種GPS產(chǎn)品,令消費者不知如何選擇。
因此,產(chǎn)品的成功取決于差異化和專業(yè)化。Xilinx公司的CoolRunner-II CPLD是增加產(chǎn)品功能或與其它器件連接的理想芯片,能使GPS產(chǎn)品在不超出功耗預算的情況下從眾多同類產(chǎn)品中脫穎而出。
功耗優(yōu)勢
便攜式和儀表板式GPS設備都必須遵守嚴格的功耗預算。CoolRunner-II CPLD具有無需進入休眠模式狀態(tài)即可達到極低功耗的優(yōu)勢。最小型CoolRunner-II器件的靜態(tài)供電電流只有13μA。在某些便攜式應用中,具有一種休眠模式就足夠了,并且這些應用可以接受數(shù)百毫秒的喚醒時間。
不過,在某些情況下會丟失當前的設計狀態(tài)。當采用休眠模式時,整個設備都處于關閉狀態(tài)。必須依靠另一器件來輪詢中斷并激活喚醒序列。CoolRunner-II器件通過DataGATE功能來提供一種可避免設計困難的獨特休眠模式,DataGATE是一種自含式、用戶可配置電路,允許用戶根據(jù)需要停用器件的某些部分。
通過啟用DataGATE功能,在幾個納秒內即可關閉選定的任意輸入,從而將CPLD的功耗調節(jié)到更接近靜態(tài)功耗。該操作可以周期性地進行(例如在輪詢到某個中斷時),也可根據(jù)特定的操作狀態(tài)進行。這樣便可將CoolRunner-II器件的某些部分保持激活狀態(tài),而將其余部分置于待機狀態(tài)。
下面舉個例子來進一步說明。CPLD位于微處理器、移動SDRAM和SD Flash卡之間的地址和數(shù)據(jù)總線上。數(shù)據(jù)在各器件之間移動。CPLD監(jiān)測數(shù)據(jù)活躍性,并且根據(jù)特定功能阻斷數(shù)據(jù)流通。如果當前任務是從微處理器向SD卡傳輸數(shù)據(jù),則CPLD利用DataGATE功能阻斷往來于SDRAM的所有數(shù)據(jù)。
在CPLD內部編寫代碼即可解碼正在執(zhí)行的功能(通過監(jiān)視地址線或解析幀數(shù)據(jù)),然后開啟/關閉所需的數(shù)據(jù)通路。這是一個非常簡單的例子,其它可編程邏輯器件(PLD)利用輸出三態(tài)可能難以實現(xiàn)。
DataGATE的優(yōu)勢是可以對CPLD的輸入進行有效的三態(tài)控制。由于CPLD的I/O以及內核電路均處于靜態(tài),因此能夠降低功耗,而其它解決方案則要求整個PLD都處于激活模式。
安全性優(yōu)勢
GPS系統(tǒng)的價位使其成為產(chǎn)品仿制時一個頗具吸引力的目標。為了幫助防止仿制,可以利用CoolRunner-II CPLD的讀寫保護安全機制實現(xiàn)一種可防止通過過量生產(chǎn)進行仿制的安全系統(tǒng)。過量生產(chǎn)是指簽約制造商針對指定的生產(chǎn)批次過量訂購元件,然后過量生產(chǎn)與正版完全相同的產(chǎn)品。
讀寫保護安全機制的原理是系統(tǒng)必需與CPLD進行交互操作以執(zhí)行所需功能。有多種方法可以實現(xiàn)這種安全機制。最直接的解決方案是讓CPLD充當數(shù)據(jù)通信警察,指揮數(shù)據(jù)在電路板上的各個器件之間傳輸。
一種較復雜的解決方案需利用CPLD來實現(xiàn)密碼阻斷功能。這種方法是讓微處理器提交一串隨機數(shù)據(jù)流,該數(shù)據(jù)流經(jīng)CoolRunner-II器件加密后返回。然后將此數(shù)據(jù)解密并對照原始數(shù)據(jù)進行驗證。
CoolRunner-II CPLD的安全機制是通過多個編程位實現(xiàn)的,因此,如果想確定哪些位與安全機制相關,就必須從非易失性陣列內的數(shù)萬位中找出并使這些位失效。CoolRunner-II CPLD的讀寫安全機制可阻止對原型進行回讀和編程。因此,該器件既不允許提取已編程的JEDEC文件的內容,也不允許用修改的代碼覆蓋原型代碼。要對器件重新編程,必須先擦除整個器件中的代碼,而這樣做會丟失設計信息。
在所有這些流程中,一個關鍵因素是必須由有信譽的廠商(Xilinx或授權的Xilinx分銷商)向簽約制造商提供預編程的CPLD。這樣做可以防止過量生產(chǎn),因為僅通過多訂購空白CPLD而無法訪問編程文件是無法生產(chǎn)出產(chǎn)品的。
實現(xiàn)GPS設備的產(chǎn)品差異性
最初的消費型GPS設備十分簡單,僅以經(jīng)緯度的形式給出位置信息?,F(xiàn)在的GPS設備不僅能提供實時地圖和方向,而且還具有MP3播放或通過藍牙與移動電話集成等功能。此外,還有面向特定市場的功能各異的GPS系統(tǒng),例如為車載導航提供即時交通信息、供長跑或自行車運動員用來測速的超小型設備以及供釣魚者使用的帶聲納的設備,甚至還有用于監(jiān)視家養(yǎng)寵物的帶GPS功能的項圏。
每種產(chǎn)品都需要可連接不同設備的接口,這正是CoolRunner-II CPLD的優(yōu)勢所在。下面介紹CoolRunner-II CPLD的一些用途。如圖所示是Xilinx CPLD為GPS應用提供的一些增強功能。
1. SD卡接口
SD存儲器(有小型SD和微型SD等多種物理格式)接口已經(jīng)從幾年前相互競爭的各種存儲器接口中分劃出來。盡管MMC和Compact Flash等其它接口仍然在使用,但所占的市場份額很小。Flash卡主要用于具有圖片或MP3播放功能的產(chǎn)品,而這兩種功能在GPS手持設備中已日趨普遍。
2. 移動SDRAM接口
通過將CPLD用作存儲器接口,可以簡化微處理器的代碼。如果高端機型需要多個存儲器模塊但低端產(chǎn)品不需要,則可修改CPLD代碼而不必更換微處理器。
3. 電平轉換
在進入較新的消費領域時,GPS需要連接尚未針對低電壓工作優(yōu)化的元件。CoolRunner-II CPLD至少具有兩個I/O塊(在大型器件中增加到四個I/O塊),可輕松實現(xiàn)多電壓接口。支持的電壓標準包括1.5V、1.8V、2.5V、3.3V、SSTL2-1、SSTL3-1和HSTL-1。5V接口需要利用外部電路進行支持。
4. 鍵盤掃描儀
許多低端GPS機型由于成本或尺寸的限制而不能采用觸摸屏接口。甚至在昂貴的機型中,也會有幾個用于電源或音量控制等特定功能的按鈕。某些鍵盤或按鈕接口被用于大多數(shù)機型。這是CoolRunner-II CPLD的理想用法,因為CPLD在用戶不操作時保持靜態(tài),并且能夠立即響應用戶的按鍵操作而無需從休眠模式中喚醒。此外,還可以將其設計成先驗證用戶數(shù)據(jù),然后再喚醒系統(tǒng)其余部分。
例如,許多移動電話需要連續(xù)按兩個鍵才能喚醒,以避免意外按鍵操作。
5. 微處理器接口
CoolRunner-II CPLD的常見用途是端口擴展。許多微處理器沒有為必須與其通信的眾多器件提供足夠的I/O。CoolRunner-II CPLD允許產(chǎn)品的平臺設計無需改變內核處理器就可以增加和變更模塊。
6. 串行外設接口(SPI)
SPI是一種常見接口,可用于包括Flash存儲芯片、LCD、觸摸屏和溫度傳感器在內的多種外設。這種接口的廣泛使用可歸因于它是一種簡單的四線接口,并且能通過I2C或SMBus提升吞吐量。
本文小結
Xilinx CoolRunner-II CPLD在降低功耗、提高安全性以及為現(xiàn)今的GPS系統(tǒng)提供連接方案等方面都極具優(yōu)勢。借助Xilinx的各種小型封裝,這些器件可用于移動電話、寵物項圈和手表等極小型便攜式設備。在汽車鑰匙里嵌入GPS或許也已指日可待。
評論