PLD和數(shù)據(jù)通路來釋放微控制器中CPU資源
根據(jù)數(shù)據(jù)通路的具體設(shè)計,其可能會做一系列復(fù)雜操作,如表1顯示。
表1:數(shù)據(jù)通路函數(shù)的實現(xiàn)舉例。
這個函數(shù)選擇模塊實際上可以是一個小容量的SRAM,預(yù)加載所需的函數(shù)選擇位,SRAM的地址線可以用來選擇運行哪個操作。最后,多數(shù)據(jù)通路可以用進(jìn)位和移位信號鏈在一起,以便可以進(jìn)行多字節(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)機(jī)和控制寄存器。有兩個鏈路路徑,一個用于PLD,一個用于數(shù)據(jù)通路。由一個路由通道來連接各UDB子塊之間以及UDB之間的信號。PLD配置、數(shù)據(jù)通路和路由通過寫入UDB配置寄存器來實現(xiàn)。
UDB的PLD設(shè)計在圖1中進(jìn)行了描述。如圖4,UDB數(shù)據(jù)通路類似于圖2所示的基本的數(shù)據(jù)通路,但是它更精密復(fù)雜,因為擁有更多寄存器和更多的功能。
圖4:UDB數(shù)據(jù)通路框圖。
* 8位ALU可以實現(xiàn)所有的七個基本函數(shù)—遞增、遞減、加、減、與、或以及異或,并且它有單獨的位移和位掩碼模塊來進(jìn)行ALU結(jié)果后處理(8位ALU傳輸功能只需通過ALU傳送一個值到位移和位掩碼模塊)。位移模塊可以做左位移、右位移、半字節(jié)交換和傳輸。掩碼模塊可以和單獨的掩碼寄存器里的內(nèi)容逐位相與(圖中未顯示)。
* 操作可以使用兩個累加器(A0,A1)和兩個數(shù)據(jù)寄存器(D0,D1)來完成。兩個FIFO寄存器(F0、F1)可用來在數(shù)據(jù)通路和CPU之間傳輸數(shù)據(jù)。FIFO深度可達(dá)4字節(jié)。這一結(jié)構(gòu)可以使多任務(wù)處理變得簡單;在不同的時間,獨立操作可以在寄存器子集完成。例如,A0、D0、F0可以用于一個任務(wù),而A1、D1、F1則可用于不同的任務(wù)。
* 廣泛的狀態(tài)條件(例如:比較、零檢測、所有個體檢測、溢出檢測)可以應(yīng)用到累加器,數(shù)據(jù)寄存器,以及路由到器件其它地方。
相關(guān)推薦
技術(shù)專區(qū)
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機(jī)
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線
- 開關(guān)電源
- 單片機(jī)
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩(wěn)壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機(jī)控制
- 藍(lán)牙
- PLC
- PWM
- 汽車電子
- 轉(zhuǎn)換器
- 電源管理
- 信號放大器
評論