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