新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 可編程系統(tǒng)芯片的設計構架

可編程系統(tǒng)芯片的設計構架

——
作者:賽普拉斯半導體國際有限公司 翁小平 時間:2007-01-26 來源:《世界電子元器件》 收藏

引言

到目前為止,有三種技術對電子工程師設計電子產(chǎn)品的模式產(chǎn)生了重大而又深遠的影響,它們是:可編程微控制器(mcu),可編程邏輯陣列和可編程模擬陣列。與采用多個分立元件及單一功能的模擬與數(shù)字集成電路組成的電子系統(tǒng)相比,采用可編程技術和包含可編程芯片在內的電子系統(tǒng)將具有更簡單的結構、更強的性能和更低的成本。而采用可編程技術也使電子工程師的智慧和想象力得到了更大的發(fā)揮,設計出來的產(chǎn)品智能化程度更高。

本文引用地址:http://m.butianyuan.cn/article/20907.htm

mcu自問世以來就受到電子開發(fā)工程師的青睞。由于它的可編程能力和可程序控制性能使得mcu得到廣泛使用。然而,不同的用戶根據(jù)不同的項目要求希望mcu能包含比以前更多的周邊資源來進一步降低系統(tǒng)成本。事實上,現(xiàn)今的mcu廠商大都能提供多種系列多個型號的mcu供用戶選擇。因為指令系統(tǒng)和硬件結構的不兼容,設計工程師花在選型上的時間已經(jīng)占據(jù)整個開發(fā)時間的相當?shù)谋壤,F(xiàn)在mcu的發(fā)展趨勢是系統(tǒng)在片芯片(system on chip,soc),它是將微處理器核和所有的周邊設備包括timer、pwm、adc、dac、uart、spi、i2c、can、e2prom、usb等等全部集成在一個芯片里,力圖能滿足所有設計工程師的需要。

可編程邏輯陣列可以整合系統(tǒng)設計過程中大量的邏輯運算功能,提高系統(tǒng)的可靠性。它已經(jīng)歷了門陣列(gal)、可編程邏輯器件(pld)、復雜可編程邏輯器件(cpld)和現(xiàn)場可編程門陣列(fpga)四個發(fā)展階段。由于它具有高速度,高集成,高性能,并且可用vhdl和verilog程序編程,因而得到了越來越多的應用。

可編程模擬陣列(fpaa)由多個可編程模擬模塊組成,可編程模擬模塊采用開關電容、運算放大器和多路開關有機組合并通過時鐘信號的作用,可以實現(xiàn)模擬信號的放大、比較、多種有源濾波和ad轉換等諸多模擬功能。目前制造現(xiàn)場可編程模擬陣列的公司有anadigm和萊迪思(lattice)等。雖然由于價格的原因fpaa還沒有被廣泛使用,但fpaa包含多個可編程模擬模塊,可以集多種模擬功能于一體,省略了許多外圍的無源元件和pcb的面積,對模擬工程師仍然具有一定的吸引力。

賽普拉斯半導體基于微處理器的psoc,不僅具有mcu的可編程能力,還包含了部分可編程邏輯運算功能,同時也提供了可編程模擬陣列,集三種可編程能力與一體。其中的周邊數(shù)字功能(如timer、counter、pwm、uart、spi)由與可編程模擬陣列相對應的可編程數(shù)字陣列提供。通過對寄存器的配置或控制,三者之間可以相互作用,協(xié)調工作,是真正的可編程系統(tǒng)級芯片。


psoc的功能框圖

psoc主要由psoc核、數(shù)字陣列、模擬陣列和附加的系統(tǒng)資源所組成。其中psoc的核就是稱之為m8c的8位微處理器,以及相應的flash存儲器、sram、srom和兩個數(shù)字時鐘源。而數(shù)字陣列則包含至少一排(4個)的數(shù)字模塊,模擬陣列則包含至少一列(3個)的模擬模塊,附加的系統(tǒng)資源主要有數(shù)字時鐘、乘加器、抽樣濾波器、i2c、系統(tǒng)復位(包括por和lvd)、開關泵、內部電壓參考和io模擬輸入多路器。雖然psoc 的核心是一個8 位微處理器,但因為數(shù)字陣列中的數(shù)字模塊和模擬陣列中模擬模塊的通用性和可配置性,所以psoc不僅可以處理數(shù)字信號而且可以處理模擬信號,它又被稱作是一個具有嵌入式微控制器內核的混合信號陣列。

在psoc的數(shù)字陣列和模擬陣列中,一個模塊或幾個模塊可以被配置成一個用戶模塊,用戶模塊的主要任務就是向設計師提供幾組能夠由其進行配置和互連的通用積木式部件,以便執(zhí)行多種功能。對于大多數(shù)設計師來說,復合可編程邏輯器件(cpld)的“宏單元”是他們所熟悉的對用戶模塊最為貼近的類比。每個單元(同樣,每個用戶模塊)都是根據(jù)核心功能來構筑的,當對其進行配置時,就會產(chǎn)生定制功能或板載外圍元件的最終結果。例如,用一個數(shù)字模塊可以配置一個8位的定時器或一個8位的pwm;用兩個數(shù)字模塊可以配置一個16位的pwm或一個uart,用一個模擬模塊可以配置一個放大器或一個比較器,用兩個模擬模塊可以配置一個低通濾波器或一個帶通濾波器;用一個數(shù)字模塊和一個模擬模塊可以配置一個⊿-∑adc。psoc的集成開發(fā)環(huán)境已經(jīng)提供了幾十種常用的用戶模塊供用戶選擇。這些數(shù)字和模擬單元也可由設計師自己配置,構造用戶自己獨一無二的用戶模塊。


psoc的內核采用哈佛(harvard)架構,在24mhz 的頻率下具有高達4mips 的操作性能,并可以滿足苛刻的usb 睡眠功耗規(guī)范要求。該器件具有一個具有全面可編程性的內部cpu 時鐘,甚至在正常操作期間也可對其加以改變。它有2-32k的flashc程序存儲空間,128-2k的ram,這意味著psoc 能夠實現(xiàn)一個全混合信號設計,而無需任何的外部元件。psoc 的cpu 內核允許對所有由用戶模塊配置組成的特殊功能寄存器進行存取操作。在這種場合,該內核還支持一種名為“動態(tài)重構”的概念。這一非常強大的能力使得psoc 能夠在硬件的控制之下對其所有的用戶模塊進行全面重構,并由此獲得一個全新的“個性”和功能。該能力使得psoc的資源得到更充分的利用,120%的資源利用率在psoc已經(jīng)成為可能。


psoc的數(shù)字模塊

數(shù)字陣列由一個或幾個數(shù)字排組成,而一個數(shù)字排包含四個數(shù)字模塊。這四個數(shù)字模塊包括兩個基本的數(shù)字模塊(dbb)和兩個通信的數(shù)字模塊(dcb)。每一個數(shù)字模塊都可以被構造成為一個獨立的數(shù)字功能塊。其中的數(shù)字功能包括:定時器、計數(shù)器、pwm、偽隨機碼發(fā)生器(prs)和crc校驗。幾個數(shù)字模塊組合起來可以組成一個位數(shù)超過8位的數(shù)字功能塊。如,三個數(shù)字模塊可以構造成為一個24位的pwm。通信的數(shù)字模塊可以構造主或從的spi和全雙工的uart。每一個數(shù)字模塊的輸入和輸出都可以通過排輸入總線或排輸出總線或排廣播總線與其他數(shù)字模塊相連。每一個數(shù)字模塊的輸入和輸出也可以經(jīng)由排的輸入和輸出總線到全局的輸入和輸出總線(奇的或偶的)與任一通用的i/o口相連。排輸出總線中相鄰的兩根線可以實施任何一種硬件邏輯運算(可編程邏輯功能)。數(shù)字模塊的輸出也可以作為模擬sc模塊的時鐘同步信號提供給模擬模塊,見圖2。

數(shù)字模塊由數(shù)據(jù)通道、輸入多路器、輸出多路器、構造寄存器和相應的數(shù)據(jù)鏈路所組成,其框圖見圖3。每一個數(shù)字模塊都有7個寄存器來控制和決定它的功能和狀態(tài)。功能寄存器主要用于選擇這個模塊將要實施的功能;輸入寄存器主要用于選擇模塊所采用的時鐘源和數(shù)據(jù)源。輸出寄存器主要用于選擇模塊的輸出通路和輸出方式。數(shù)據(jù)通道包含三個數(shù)據(jù)寄存器(dr0、dr1、dr2)和一個控制寄存器,作為不同的功能塊,這些寄存器的作用也是不一樣的。當一個數(shù)字模塊被作為定時器、計數(shù)器和pwm時,dr0、dr1和dr2被分別作為周期寄存器,向下計數(shù)器和比較寄存器;而一個數(shù)字模塊被作為prs和crc時,dr0、dr1和dr2被分別作為多項式寄存器,移位寄存器和種子寄存器;當一個數(shù)字模塊被作為spi和uart時,dr0、dr1和dr2被分別作為輸入緩沖器,移位寄存器周和輸出緩沖器。另外每一個數(shù)字模塊都有一個中斷屏蔽位來確定這個模塊是允許還是禁止中斷。每一個數(shù)字模塊都有一個對應的中斷向量和相應的中斷服務程序。

由于數(shù)字模塊的可構造性和可組合性,psoc的數(shù)字模塊還可以實現(xiàn)其他的數(shù)字功能,如數(shù)字緩沖器、數(shù)字反向器、紅外接受器和紅外發(fā)射器等等。

psoc的模擬模塊

psoc的模擬陣列被設計成按列來排列。不同型號的psoc,它的列數(shù)目是不一樣的。一般它的數(shù)目是1、2或4列。每一列有3個模擬模塊。每一列的第一個模塊被稱為連續(xù)時間的模擬模塊(act),而第二和第三個模塊被稱為開關電容模擬模塊(asc)。每一列都有一個輸入時鐘多路選擇器,可以選擇的時鐘信號可以是系統(tǒng)的時鐘,也可以是來自數(shù)字模塊的時鐘信號,它主要用于開關電容模擬模塊,它的頻率大小可以大致確定輸入到開關電容模擬模塊的模擬信號的頻寬。每一列也都有一個模擬總線和一個比較總線,模擬總線可以將模擬模塊輸出的模擬信號路由到這一列其他模擬模塊,也可以經(jīng)緩沖器輸出到i/o口。比較總線可以連接到作為比較功能的模擬模塊的輸出,比較總線經(jīng)模擬lut(帶緩沖的邏輯運算器)可以被路由到任一個數(shù)字模塊,lut上信號的跳變也可以產(chǎn)生中斷,觸發(fā)中斷服務程序。通過模擬lut,相鄰兩列比較總線也可以實施任何一種硬件邏輯運算(可編程邏輯功能)。

連續(xù)時間的模擬模塊以一個軌之軌、低漂移、低噪聲的運算放大器為核心,見圖4,在其外圍集成了多個由寄存器控制的多路選擇器和電阻網(wǎng)絡。通過多路選擇器可以選擇運放某一個輸入端的基準電壓,和另一個輸入端的模擬信號路由,結合多路選擇器和電阻網(wǎng)絡可以選擇運放的放大倍數(shù)或比較器的閥值電壓。這一個模擬模塊最基本的功能是用作可編程放大器或可編程模擬比較器,也可用作過零檢測或下一級模擬輸入的預處理。與其他模擬模塊組合可以實施更為復雜的模擬功能,如儀表放大器,信號的調制和解調等等。這個模塊還包含一個低功耗的模擬比較器,它和運放有相同的輸入和輸出,它用于在sleep方式時,雖然運放已經(jīng)停止工作,外部事件仍然可以通過這個比較器來產(chǎn)生中斷喚醒psoc。

這個模塊的輸出有三個出口,分別可以輸出到模擬總線(abus)、比較總線(cbus)和本地輸出(out、gout、lout),本地輸出主要是用于和鄰近的模擬模塊相連。


開關電容模擬模塊又有c型的開關電容模塊(圖5)和d型的開關電容模塊(圖6)兩種類型。這兩種類型在每一模擬列各有一個。開關電容模擬模塊以一個軌之軌、低漂移、低噪聲的運算放大器為核心,在其外圍集成了多個由寄存器控制的多路選擇器和四個(d型三個)可由用戶設定的開關電容網(wǎng)絡。多路選擇器用于選擇模擬輸入的參考電壓和模擬輸入信號的路由以及信號和開關電容的拓撲形式。四個電容網(wǎng)絡中的三個acap、bcap和ccap位于運放的輸入端被稱為輸入開關電容網(wǎng)絡,而另一個電容網(wǎng)絡fcap則被稱為反饋開關電容網(wǎng)絡。輸入開關電容網(wǎng)絡中輸入電容的設定范圍從0到31個電容單位(每個電容單位大約為0.05pf),反饋開關電容僅可設定16和32電容單位。另外每一個模擬列都有一個分頻器將列時鐘信號4分頻產(chǎn)生 1和 2來控制模塊里的十多個模擬開關,使它們同步協(xié)調工作,實現(xiàn)諸多的模擬功能。這個模塊的輸出也有三個出口,分別可以輸出到模擬總線(abus)、比較總線(cbus)和本地輸出(out),本地輸出主要是用于和鄰近的模擬模塊相連。

d型的開關電容模塊和c型的開關電容模塊的區(qū)別在于d型沒有ccap輸入開關電容網(wǎng)絡,但是它的bcap輸入開關電容網(wǎng)絡較c型有更大的靈活性。

基于開關電容理論的開關電容模塊可以實現(xiàn)放大、比較、積分、微分、ad等基本的模擬功能。而幾個開關電容模塊的組合、開關電容模塊與連續(xù)時間的模擬模塊的組合或模擬模塊與數(shù)字模塊的組合,使得psoc對模擬和數(shù)字以及模數(shù)混合信號的處理能力變得非常強大。例如,在psoc的集成開發(fā)環(huán)境designer里已經(jīng)可以提供的adc用戶模塊的數(shù)量有數(shù)十個,adc分辨率從6位到14位,轉換速度從幾個sps到50ksps,adc的種類有sar、增量型和⊿-∑adc。同樣,designer也可以提供濾波器用戶模塊,包括二階和四階的波特瓦爾茲、契比雪夫、貝塞爾濾波器,有低通、帶通和帶阻濾波器。模擬模塊已經(jīng)可以實現(xiàn)的功能還包括dac、采樣保持、調制解調、正弦波發(fā)生器和檢測器、dtmf發(fā)生器、fsk調制、邊帶分離等等。


psoc功能模塊的構造

psoc功能模塊的構造是通過配置相應的寄存器來實現(xiàn)的。一個數(shù)字塊有7個寄存器,而一個模擬塊有4個寄存器用來構造模塊的功能、輸入信號的選擇、輸出信號的路由并提供模塊的狀態(tài)信息。另外還有許多寄存器用于對全局的系統(tǒng)資源、模塊的周邊設備、多功能io口的配置。全局的系統(tǒng)資源包括時鐘系統(tǒng)、電源管理系統(tǒng)、中斷及其使能、模擬參考電壓等等;模塊的周邊設備包括排的輸入和輸出總線、全局的輸入和輸出數(shù)字總線、模擬的輸入多路選擇器、模擬總線、比較總線、數(shù)字和模擬的lut等。有兩種方式可以產(chǎn)生用戶所希望的功能模塊:常用的功能模塊可以從psoc的集成開發(fā)環(huán)境designer所提供的用戶模塊集中選擇,只要進行簡單的參數(shù)設置即可實現(xiàn)。模塊的調用,參數(shù)的修改,數(shù)據(jù)的采集可以直接調用designer所提供的相應模塊的api函數(shù);常用的功能模塊,用戶可以自行直接設置模塊寄存器的值、時鐘信號的頻率和輸入輸出的路由,生成用戶自己獨特的用戶模塊。

所謂“動態(tài)重構”的概念,是指用戶希望在不同的時候使用同一個或多個模塊實施不同的功能,可以在開始構造模塊時對同一個或多個模塊實施雙重或多重構造,程序在運行時首先使用初始構造,在運行過程中需要使用二重或其他構造時,可以先卸載正在使用的構造,隨后裝載欲使用的構造,并可反復多次來回重復使用。psoc支持動態(tài)重構,使得psoc的模擬和數(shù)字模塊具有一塊兩用和一塊多用的能力。較其他mcu、psoc具有更高的資源利用率和資源分配的靈活性,系統(tǒng)的成本也更低。



關鍵詞:

評論


相關推薦

技術專區(qū)

關閉