當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]PLD和數(shù)據(jù)通路來釋放微控制器中CPU資源

本文介紹了一種采用PLD和數(shù)據(jù)通路(datapath)來解放微控制器系統(tǒng)中CPU任務(wù)的方案。在大多數(shù)微控制器結(jié)構(gòu)中,智能的CPU身邊總會環(huán)繞著一系列不可編程的外設(shè)。外設(shè)的功能有限,通常它們只負(fù)責(zé)數(shù)據(jù)形式的轉(zhuǎn)換。例如,I2C外設(shè)只是實現(xiàn)串行和并行數(shù)據(jù)格式之間的轉(zhuǎn)換,而ADC則實現(xiàn)模擬到數(shù)字信號的轉(zhuǎn)換。CPU因此不得不完成所有的數(shù)據(jù)處理工作,實際上它還能做些更有用的事情。此外,管理外設(shè)將會導(dǎo)致CPU固件異常復(fù)雜,并可能需要一個快速高效的CPU在實時的時序限制下執(zhí)行這些固件。這又會導(dǎo)致更多的潛在程序漏洞,從而需要使用更復(fù)雜和昂貴的調(diào)試設(shè)備等。

  但是如果外設(shè)具備足夠的復(fù)雜度、靈活度與智能,是否能有效地減輕CPU的許多任務(wù)呢?本文將展示如何把智能、靈活、低成本、可定制的數(shù)字外圍設(shè)備設(shè)計到微控制器并配置,以幫助實現(xiàn)穩(wěn)定的分布式系統(tǒng)設(shè)計。

  智能邏輯選擇—PLD還是數(shù)據(jù)通路?

  通常有兩種方法構(gòu)建一個智能的可配置外設(shè)。首先是使用PLD。如圖1所示,PLD有一個驅(qū)動若干宏單元的積和(sum of products)邏輯門陣列。“T”和“C”符號表示每一個乘積項都能產(chǎn)生一個真值或補數(shù)(反向)輸出,這樣無論是正、負(fù)邏輯都可以支持。

  

 

  圖1:一個PLD實例(包括12個輸出項、8個乘積項、4個宏單元)。

  圖1顯示了一個簡單的PLD例子。PLD可以有成百上千的宏單元,每個宏單元最高由16個乘積項驅(qū)動。乘積項里的與門和或門可以互聯(lián)形成高度靈活的定制邏輯功能。宏單元是典型的時鐘架構(gòu),它們的輸出可以反饋到乘積項陣列,因此允許創(chuàng)建狀態(tài)機。

  大規(guī)模PLD可以用來形成復(fù)雜的邏輯功能,甚至是完全的CPU,因此PLD當(dāng)然可以用來實現(xiàn)智能數(shù)字外設(shè)。然而,很多門可能只是實現(xiàn)諸如計數(shù)器或加法器等簡單的邏輯功能,但對于更復(fù)雜功能的實現(xiàn),基于PLD的方案就會變得很貴。從某種程度上說,使用真正的CPU會更合理。

  CPU的一個非常簡單的形式是基于算術(shù)邏輯單元(ALU)的數(shù)據(jù)通路,也稱為納米處理器(nano-processor)。數(shù)據(jù)通路只是實現(xiàn)幾個常用函數(shù),但會比使用PLD實現(xiàn)的效率更高。圖2:顯示了一個基于ALU的簡單的數(shù)據(jù)通路。典型的ALU可以進行各種操作,通常是8位操作:向上計數(shù)(遞增)、向下計數(shù)(遞減)、加、減、邏輯與、邏輯或、邏輯異或,左位移、右位移。這里有兩個8位累加器,它們能夠為ALU輸出充當(dāng)輸入數(shù)據(jù)寄存器或存儲器。一個輸入時鐘信號沿產(chǎn)生一次操作。函數(shù)選擇寄存器用來控制:

  

 

  圖2:基于ALU的數(shù)據(jù)通路。

  * 產(chǎn)生什么操作。

  * 該操作的源寄存器。

  * 輸出的目的寄存器。[!--empirenews.page--]

根據(jù)數(shù)據(jù)通路的具體設(shè)計,其可能會做一系列復(fù)雜操作,如表1顯示。

 

  

 

  表1:數(shù)據(jù)通路函數(shù)的實現(xiàn)舉例。

  這個函數(shù)選擇模塊實際上可以是一個小容量的SRAM,預(yù)加載所需的函數(shù)選擇位,SRAM的地址線可以用來選擇運行哪個操作。最后,多數(shù)據(jù)通路可以用進位和移位信號鏈在一起,以便可以進行多字節(jié)操作數(shù)。

  由于數(shù)據(jù)通路只有少數(shù)特定功能函數(shù),很容易優(yōu)化設(shè)計,因此其創(chuàng)建成本較低。然而,對于實現(xiàn)復(fù)雜的邏輯,數(shù)據(jù)通路遠(yuǎn)遠(yuǎn)沒有PLD那么靈活。那么,對于創(chuàng)建智能、靈活、低成本的數(shù)字外設(shè)來說,哪一種方法是更好的呢?是PLD還是數(shù)據(jù)通路?答案是,將兩者相結(jié)合。下面是一個實例,來看看是如何實現(xiàn)的。

  通用數(shù)字模塊

  同時使用PLD和數(shù)據(jù)通路的系統(tǒng)實例是賽普拉斯半導(dǎo)體的PSoC3和PSoC5芯片。每個系統(tǒng)包含最高24個通用數(shù)字邏輯子系統(tǒng),稱為通用數(shù)字模塊(UDB),其結(jié)構(gòu)如圖3所示。一個UDB包含兩個圖1所示的PLD,一個數(shù)據(jù)通路以及狀態(tài)機和控制寄存器。有兩個鏈路路徑,一個用于PLD,一個用于數(shù)據(jù)通路。由一個路由通道來連接各UDB子塊之間以及UDB之間的信號。PLD配置、數(shù)據(jù)通路和路由通過寫入UDB配置寄存器來實現(xiàn)。

  UDB的PLD設(shè)計在圖1中進行了描述。如圖4,UDB數(shù)據(jù)通路類似于圖2所示的基本的數(shù)據(jù)通路,但是它更精密復(fù)雜,因為擁有更多寄存器和更多的功能。

  

 

  圖4:UDB數(shù)據(jù)通路框圖。

  * 8位ALU可以實現(xiàn)所有的七個基本函數(shù)—遞增、遞減、加、減、與、或以及異或,并且它有單獨的位移和位掩碼模塊來進行ALU結(jié)果后處理(8位ALU傳輸功能只需通過ALU傳送一個值到位移和位掩碼模塊)。位移模塊可以做左位移、右位移、半字節(jié)交換和傳輸。掩碼模塊可以和單獨的掩碼寄存器里的內(nèi)容逐位相與(圖中未顯示)。

  * 操作可以使用兩個累加器(A0,A1)和兩個數(shù)據(jù)寄存器(D0,D1)來完成。兩個FIFO寄存器(F0、F1)可用來在數(shù)據(jù)通路和CPU之間傳輸數(shù)據(jù)。FIFO深度可達4字節(jié)。這一結(jié)構(gòu)可以使多任務(wù)處理變得簡單;在不同的時間,獨立操作可以在寄存器子集完成。例如,A0、D0、F0可以用于一個任務(wù),而A1、D1、F1則可用于不同的任務(wù)。

  * 廣泛的狀態(tài)條件(例如:比較、零檢測、所有個體檢測、溢出檢測)可以應(yīng)用到累加器,數(shù)據(jù)寄存器,以及路由到器件其它地方。[!--empirenews.page--]靈活的路由

 

  雖然UDB在PLD和數(shù)據(jù)通路兩個子系統(tǒng)都有很多特色,但廣泛的數(shù)字路由讓它們?nèi)缁⑻硪?。信號可以在PLD和數(shù)據(jù)通路之間路由,遍及整個UDB和器件的其它地方,形成了復(fù)雜的數(shù)字系統(tǒng)互連(DSI)結(jié)構(gòu)。

  實例

  本例中,用一個UDB數(shù)據(jù)通路來創(chuàng)建一個帶重載(reload)功能的8位數(shù)字計數(shù)器。為了實現(xiàn)這點,連接一個狀態(tài)條件回到控制存貯SRAM地址線,如圖5所示。

  

 

  圖5:用UDB數(shù)據(jù)通路創(chuàng)建帶重載功能的計數(shù)器。

  在這個設(shè)計中,A0是計數(shù)寄存器,D0是重載寄存器。需要兩個函數(shù),一個用來遞減計數(shù),一個從周期寄存器重載計數(shù)器;這些函數(shù)在控制儲存RAM里預(yù)載了。

  邏輯如下:當(dāng)A0不為0時,狀態(tài)輸出將會變低,在地址0會執(zhí)行遞減操作。當(dāng)A0為0時,狀態(tài)輸出將為高,在地址1會執(zhí)行重載操作。

  所有操作都發(fā)生在時鐘輸入的上升沿,可以記錄時鐘沿數(shù)量。時鐘輸入可以來自各種時鐘源。狀態(tài)輸出可以通過DSI路由,包括到DMA和中斷請求輸入。使用數(shù)據(jù)通路鏈和掩碼模塊,該計數(shù)器的大小可以是任何位數(shù),不受限于8的倍數(shù)。

  圖5所示為減法計數(shù)器。它可以很容易的轉(zhuǎn)換成加法計數(shù)器,可以通過使用不同的狀態(tài)輸出(A0= =D0)和控制存儲SRAM里的不同函數(shù):A0=A0+1和A0=A0A0。異或任何值的結(jié)果永遠(yuǎn)為0。

  通過使用PLD這個簡單的設(shè)計可以創(chuàng)造更復(fù)雜的應(yīng)用。以一個紅綠燈控制器為例,紅綠燈控制器周期由綠、黃、紅三種狀態(tài)構(gòu)成,因此需要一個狀態(tài)機。每個狀態(tài)變化到下一個狀態(tài)之前會持續(xù)一定時間,所以必需有一個計數(shù)器。為了簡單起見,假設(shè)“綠燈”時間和“紅燈”是相同,但“黃燈”時間不同。

  只需要使用3個數(shù)據(jù)通路寄存器(假設(shè)為8位計數(shù)值)就可以實現(xiàn)這個時序結(jié)構(gòu)。A0為計數(shù)寄存器,D0為“綠”和“紅”狀態(tài)保持計數(shù)器重載值,D1為“黃”狀態(tài)保持計數(shù)器重載值。模塊框圖如圖6顯示。

  

 

  圖6:采用UDB PLD和數(shù)據(jù)通路構(gòu)建的紅綠燈控制器框圖

  要保存在控制存儲RAM里的操作是:

  A0 = A0 - 1 // 計數(shù)

  A0 = D0 // 重載“綠”或“紅”

  // 計數(shù)值

  A0 = D1 //重載“黃”值

  狀態(tài)機在PLD里實現(xiàn)。數(shù)據(jù)通路條件輸出反饋到PLD,以表明需要改變狀態(tài)了。PLD也有這樣的邏輯,根據(jù)當(dāng)前的狀態(tài)和從數(shù)據(jù)通路反饋的信號,控制執(zhí)行哪個數(shù)據(jù)通路操作和哪個燈要點亮。

  超越基礎(chǔ)

  紅綠燈控制器是一種簡單的應(yīng)用類型,通常使用CPU編程。然而,我們已經(jīng)看到,除了初始化代碼,這個功能可以完全和CPU沒關(guān)系而可以由智能的可配置外設(shè)完成。這個功能可以很容易地擴展以支持附加需求,例如轉(zhuǎn)換信號、行人行走信號、車輛檢測傳感器、流量/緊急事件轉(zhuǎn)發(fā)器。

   [!--empirenews.page--]CPU需要做什么

 

  通過使用PLD和數(shù)據(jù)通路的有效組合,可以創(chuàng)建智能的、靈活的、低成本的外設(shè),以減輕CPU的負(fù)擔(dān)。然而,如果這么多的功能都由外設(shè)處理了,那還留著CPU做什么呢?在許多情況下,CPU不需要做很多事,在某些情況下系統(tǒng)初始化后,CPU就可以關(guān)掉了。不過,更實用的方案是使用CPU做CPU能做得最好的事情,例如:

  * 復(fù)雜的計算

  * 字符串和文本處理

  * 數(shù)據(jù)庫管理

  * 通信管理

  * 系統(tǒng)管理

  例如,在我們的紅綠燈應(yīng)用中,CPU可以用于以下幾個方面:

  * 檢測車輛闖紅燈

  * 使用相機拍攝牌照

  * 從照片上提取車牌文字信息

  * 從國家數(shù)據(jù)庫中查閱車主信息,以及向車主發(fā)送罰單

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉