可編程系統級芯片使設計靈活性最大化
——
可編程系統級芯片使設計靈活性最大化
近幾年來(lái),有關(guān)系統級芯片(SOC)原理的討論一直在持續著(zhù)。雖然這些器件已經(jīng)向世人展現了它們所具有的通過(guò)整合的方法來(lái)大幅度地縮減設計方案物理尺寸的能力,但許多設計師卻對其總體靈活性稍感不滿(mǎn)。
在某個(gè)特定的設計中,往往需要一種特殊的或“尚不具備”的功能。這種需要有可能迫使設計師不得不增設一些器件,以便能夠把他們所需要的特殊功能添加進(jìn)去。有時(shí)從某種意義上講,該SOC架構或許還會(huì )成為一種負擔(而并非一種可用的資源),因而導致設計師希望擁有更加優(yōu)越的替代選擇。
更加重要的是,大多數SOC都具有一定的專(zhuān)用性,因此是圍繞著(zhù)高級功能而開(kāi)發(fā)的,因而完全不適用于眾多的消費類(lèi)和工業(yè)產(chǎn)品設計。顯然,設計師需要的是一種能夠適合于更加廣泛的用途的、靈活性更高的解決方案。
應對這樣的需求,賽普拉斯微系統公司(Cypress MicroSystems)推出了名為PSoC(Programmable System-On-Chip,可編程系統級芯片)可編程的混合信號SOC。
雖然賽普拉斯微系統公司的PSoC的核心是一個(gè)8位微處理器,但事實(shí)上,它很少被稱(chēng)為“微控制器”,而是被稱(chēng)作一個(gè)具有嵌入式微控制器內核的混合信號陣列。
正像這種描述性更強的名稱(chēng)所暗示的那樣,PSoC是一種對于標準的“全數字式”微控制器設計、純粹的模擬設計以及介乎此二者之間的所有設計而言具有同等的上佳適用性的器件。
如果想了解PSoC,那么首先必須搞清一個(gè)新的概念。這種新概念指的就是被稱(chēng)為“用戶(hù)模塊”的通用且可配置的模擬、數字和混合信號積木式部件的概念。用戶(hù)模塊的主要任務(wù)就是向設計師提供幾組能夠由其進(jìn)行配置和互連的通用積木式部件,以便執行多種功能。
對于大多數設計師來(lái)說(shuō),復合可編程邏輯器件(CPLD)的“宏單元”是他們所熟悉的對用戶(hù)模塊最為貼近的類(lèi)比。每個(gè)單元(同樣,每個(gè)用戶(hù)模塊)都是根據核心功能來(lái)構筑的,當對其進(jìn)行配置時(shí),就會(huì )產(chǎn)生定制功能或板載外圍元件的最終結果。
PSoC包括多種用戶(hù)模塊,與CPLD的宏單元非常相似,這些用戶(hù)模塊也可由設計師隨意配置。不過(guò),需要牢記的是:與CPLD不同,PSoC還包括能夠完全以模擬方式(無(wú)需使用數字電路或CPU等等)來(lái)處理信號的用戶(hù)模塊。
事實(shí)上,當采用PSoC時(shí),實(shí)際上能夠創(chuàng )建一個(gè)“純模擬型”的設計方案,在這種方案中,CPU內核除了按設計師的規定在上電期間執行配置代碼以外根本不運行!此外,PSoC Designer開(kāi)發(fā)工具還能夠自動(dòng)生成該配置的全部代碼 …… 后文將對此做更加詳細的闡述。
你可能對此感驚訝。如果你駐足思考一下你所做過(guò)的許多設計,就有可能意識到有一些關(guān)鍵的“積木式部件”是你曾經(jīng)反復使用過(guò)的。賽普拉斯微系統公司的芯片設計人員也認識到了這一點(diǎn)。正是這種領(lǐng)悟導致了上述用戶(hù)模塊的開(kāi)發(fā)成功。
為了提供最大的靈活性并滿(mǎn)足大多數應用的需要,人們意識到有些基本積木式部件將是必須的,即:
?。?) 一個(gè)8位CPU內核。
?。?) 通用型數字用戶(hù)模塊。
?。?) 具有通信能力的通用型數字用戶(hù)模塊。
?。?) 模擬連續時(shí)間用戶(hù)模塊。
?。?) 模擬開(kāi)關(guān)電容器用戶(hù)模塊。
?。?) 確定各種信號輸入和輸出器件的線(xiàn)路的能力。
上面的“核心”功能列表形成了構筑PSoC器件系列的基本平臺。為了使該器件具有最大的靈活性和能力,許多附加部件也被融入其中。圖1示出了包含所有子系統的現行PSoC器件的方框圖。
由圖1可見(jiàn),PSoC包括了大多數“純數字型”微控制器的全部標準外圍元件以及眾多的新型部件和創(chuàng )新部件。

圖1,PSoC的內部結構
數字模塊
顯而易見(jiàn),列表的第一項——8位CPU內核是必不可少的。目前的PSoC系列的核心基于賽普拉斯半導體公司從其名為M8的USB控制器系列派生而來(lái)的成熟內核。這種哈佛(Harvard)架構內核能夠在24MHz的頻率下具有高達4MIPS的操作性能,并滿(mǎn)足了非??量痰腢SB睡眠功耗規范要求。該器件具有一個(gè)具有全面可編程性的內部CPU時(shí)鐘,甚至在正常操作期間也可對其加以改變。這意味著(zhù)該PSoC能夠實(shí)現一個(gè)全混合信號設計,而無(wú)需任何的外部元件(當然,電源除外)。
為了使該內核在PSoC中具有更高的能力,還增加了一些新型部件。這些部件包括一個(gè)硬件乘法-累加寄存器(MAC)、能夠被分割并用作嵌入式EEPROM的FLASH代碼空間、板載低電壓檢測以及嵌入式睡眠定時(shí)器等等。
該PSoC的CPU內核允許對所有由用戶(hù)模塊配置組成的特殊功能寄存器進(jìn)行存取操作。在這種場(chǎng)合,該內核還支持一種名為“動(dòng)態(tài)重構”的概念。這一能力使得PSoC能夠在固件的控制之下對其所有的用戶(hù)模塊進(jìn)行全面重構,并由此獲得一個(gè)全新的“個(gè)性”和功能。(參見(jiàn)附文《定義個(gè)性化的的動(dòng)態(tài)重構功能》)
我們給出的積木式部件列表的第二項和第三項形成了數字用戶(hù)模塊組的基礎。這些用戶(hù)模塊是通用型數字功能部件,它們支持面向各種“數字”板載外圍器件(包括計數器、定時(shí)器、脈寬調制器、UART、SPI、IrDA和CRC功能元件)的配置。
模擬功能
提到我們列表中的第四項(模擬連續時(shí)間用戶(hù)模塊),目前我們已經(jīng)擁有了一個(gè)用于形成純模擬連續時(shí)間積木式部件(比如:可編程增益放大器、模擬比較器、差分放大器和濾波器等不一而足)的框架。這些部件能夠在無(wú)需CPU等的參與的情況下運行(只需在上電時(shí)進(jìn)行初始化),并可在某些形式的“睡眠”或CPU暫停操作的條件下繼續運行。
圖2示出了PSoC的模擬連續時(shí)間用戶(hù)模塊的內部布線(xiàn)能力。

圖2,PSoC模擬連續時(shí)間用戶(hù)模塊
盡管我們列表中和第一項至第四項對大多數設計師而言都比較熟悉,但第五項“開(kāi)關(guān)電容器用戶(hù)模塊”恐怕就要稍顯陌生了。在討論開(kāi)關(guān)電容器用戶(hù)模塊之前,有必要了解有關(guān)PSoC的一個(gè)重要事項,這就是第六項所提到的:該PSoC不僅包括上述的所有積木式部件,還包括用于對這些積木式部件進(jìn)行內部互連、將外部信號輸入以及將內部信號輸出所必需的全部路由選擇資源。模擬信號傳送路徑也包括在內。
在某個(gè)特定的設計中,往往需要一種特殊的或“尚不具備”的功能。這種需要有可能迫使設計師不得不增設一些器件,以便能夠把他們所需要的特殊功能添加進(jìn)去。有時(shí)從某種意義上講,該SOC架構或許還會(huì )成為一種負擔(而并非一種可用的資源),因而導致設計師希望擁有更加優(yōu)越的替代選擇。
更加重要的是,大多數SOC都具有一定的專(zhuān)用性,因此是圍繞著(zhù)高級功能而開(kāi)發(fā)的,因而完全不適用于眾多的消費類(lèi)和工業(yè)產(chǎn)品設計。顯然,設計師需要的是一種能夠適合于更加廣泛的用途的、靈活性更高的解決方案。
應對這樣的需求,賽普拉斯微系統公司(Cypress MicroSystems)推出了名為PSoC(Programmable System-On-Chip,可編程系統級芯片)可編程的混合信號SOC。
雖然賽普拉斯微系統公司的PSoC的核心是一個(gè)8位微處理器,但事實(shí)上,它很少被稱(chēng)為“微控制器”,而是被稱(chēng)作一個(gè)具有嵌入式微控制器內核的混合信號陣列。
正像這種描述性更強的名稱(chēng)所暗示的那樣,PSoC是一種對于標準的“全數字式”微控制器設計、純粹的模擬設計以及介乎此二者之間的所有設計而言具有同等的上佳適用性的器件。
如果想了解PSoC,那么首先必須搞清一個(gè)新的概念。這種新概念指的就是被稱(chēng)為“用戶(hù)模塊”的通用且可配置的模擬、數字和混合信號積木式部件的概念。用戶(hù)模塊的主要任務(wù)就是向設計師提供幾組能夠由其進(jìn)行配置和互連的通用積木式部件,以便執行多種功能。
對于大多數設計師來(lái)說(shuō),復合可編程邏輯器件(CPLD)的“宏單元”是他們所熟悉的對用戶(hù)模塊最為貼近的類(lèi)比。每個(gè)單元(同樣,每個(gè)用戶(hù)模塊)都是根據核心功能來(lái)構筑的,當對其進(jìn)行配置時(shí),就會(huì )產(chǎn)生定制功能或板載外圍元件的最終結果。
PSoC包括多種用戶(hù)模塊,與CPLD的宏單元非常相似,這些用戶(hù)模塊也可由設計師隨意配置。不過(guò),需要牢記的是:與CPLD不同,PSoC還包括能夠完全以模擬方式(無(wú)需使用數字電路或CPU等等)來(lái)處理信號的用戶(hù)模塊。
事實(shí)上,當采用PSoC時(shí),實(shí)際上能夠創(chuàng )建一個(gè)“純模擬型”的設計方案,在這種方案中,CPU內核除了按設計師的規定在上電期間執行配置代碼以外根本不運行!此外,PSoC Designer開(kāi)發(fā)工具還能夠自動(dòng)生成該配置的全部代碼 …… 后文將對此做更加詳細的闡述。
你可能對此感驚訝。如果你駐足思考一下你所做過(guò)的許多設計,就有可能意識到有一些關(guān)鍵的“積木式部件”是你曾經(jīng)反復使用過(guò)的。賽普拉斯微系統公司的芯片設計人員也認識到了這一點(diǎn)。正是這種領(lǐng)悟導致了上述用戶(hù)模塊的開(kāi)發(fā)成功。
為了提供最大的靈活性并滿(mǎn)足大多數應用的需要,人們意識到有些基本積木式部件將是必須的,即:
?。?) 一個(gè)8位CPU內核。
?。?) 通用型數字用戶(hù)模塊。
?。?) 具有通信能力的通用型數字用戶(hù)模塊。
?。?) 模擬連續時(shí)間用戶(hù)模塊。
?。?) 模擬開(kāi)關(guān)電容器用戶(hù)模塊。
?。?) 確定各種信號輸入和輸出器件的線(xiàn)路的能力。
上面的“核心”功能列表形成了構筑PSoC器件系列的基本平臺。為了使該器件具有最大的靈活性和能力,許多附加部件也被融入其中。圖1示出了包含所有子系統的現行PSoC器件的方框圖。
由圖1可見(jiàn),PSoC包括了大多數“純數字型”微控制器的全部標準外圍元件以及眾多的新型部件和創(chuàng )新部件。

圖1,PSoC的內部結構
數字模塊
顯而易見(jiàn),列表的第一項——8位CPU內核是必不可少的。目前的PSoC系列的核心基于賽普拉斯半導體公司從其名為M8的USB控制器系列派生而來(lái)的成熟內核。這種哈佛(Harvard)架構內核能夠在24MHz的頻率下具有高達4MIPS的操作性能,并滿(mǎn)足了非??量痰腢SB睡眠功耗規范要求。該器件具有一個(gè)具有全面可編程性的內部CPU時(shí)鐘,甚至在正常操作期間也可對其加以改變。這意味著(zhù)該PSoC能夠實(shí)現一個(gè)全混合信號設計,而無(wú)需任何的外部元件(當然,電源除外)。
為了使該內核在PSoC中具有更高的能力,還增加了一些新型部件。這些部件包括一個(gè)硬件乘法-累加寄存器(MAC)、能夠被分割并用作嵌入式EEPROM的FLASH代碼空間、板載低電壓檢測以及嵌入式睡眠定時(shí)器等等。
該PSoC的CPU內核允許對所有由用戶(hù)模塊配置組成的特殊功能寄存器進(jìn)行存取操作。在這種場(chǎng)合,該內核還支持一種名為“動(dòng)態(tài)重構”的概念。這一能力使得PSoC能夠在固件的控制之下對其所有的用戶(hù)模塊進(jìn)行全面重構,并由此獲得一個(gè)全新的“個(gè)性”和功能。(參見(jiàn)附文《定義個(gè)性化的的動(dòng)態(tài)重構功能》)
我們給出的積木式部件列表的第二項和第三項形成了數字用戶(hù)模塊組的基礎。這些用戶(hù)模塊是通用型數字功能部件,它們支持面向各種“數字”板載外圍器件(包括計數器、定時(shí)器、脈寬調制器、UART、SPI、IrDA和CRC功能元件)的配置。
模擬功能
提到我們列表中的第四項(模擬連續時(shí)間用戶(hù)模塊),目前我們已經(jīng)擁有了一個(gè)用于形成純模擬連續時(shí)間積木式部件(比如:可編程增益放大器、模擬比較器、差分放大器和濾波器等不一而足)的框架。這些部件能夠在無(wú)需CPU等的參與的情況下運行(只需在上電時(shí)進(jìn)行初始化),并可在某些形式的“睡眠”或CPU暫停操作的條件下繼續運行。
圖2示出了PSoC的模擬連續時(shí)間用戶(hù)模塊的內部布線(xiàn)能力。

圖2,PSoC模擬連續時(shí)間用戶(hù)模塊
盡管我們列表中和第一項至第四項對大多數設計師而言都比較熟悉,但第五項“開(kāi)關(guān)電容器用戶(hù)模塊”恐怕就要稍顯陌生了。在討論開(kāi)關(guān)電容器用戶(hù)模塊之前,有必要了解有關(guān)PSoC的一個(gè)重要事項,這就是第六項所提到的:該PSoC不僅包括上述的所有積木式部件,還包括用于對這些積木式部件進(jìn)行內部互連、將外部信號輸入以及將內部信號輸出所必需的全部路由選擇資源。模擬信號傳送路徑也包括在內。
評論