XS1-A6A-64-FB96:高性能32位多核微控制器的深度剖析
在嵌入式系統(tǒng)設(shè)計(jì)領(lǐng)域,選擇一款合適的微控制器至關(guān)重要。今天咱們就來(lái)深入探討一下 XS1-A6A-64-FB96 這款 32 位多核微控制器,看看它有哪些獨(dú)特之處。
1. 核心特性概覽
1.1 多核架構(gòu)優(yōu)勢(shì)
XS1-A6A-64-FB96 屬于 XS1-A 系列,它將 xCORE 架構(gòu)的低延遲和時(shí)序確定性引入到主流嵌入式應(yīng)用中。與傳統(tǒng)微控制器不同,它能同時(shí)執(zhí)行多個(gè)實(shí)時(shí)任務(wù),并通過(guò)高速網(wǎng)絡(luò)在任務(wù)間進(jìn)行通信。這意味著咱們可以用軟件實(shí)現(xiàn)傳統(tǒng)上需要專(zhuān)用硬件的功能,大大提高了設(shè)計(jì)的靈活性。
1.2 具體特性亮點(diǎn)
- 邏輯核心:擁有六個(gè)實(shí)時(shí)邏輯核心,共享高達(dá) 500 MIPS 的處理能力。每個(gè)邏輯核心都有 16x32 位專(zhuān)用寄存器,159 條高密度 16/32 位指令(除除法外均為單時(shí)鐘周期執(zhí)行),還有 32x32→64 位 MAC 指令,可用于 DSP、算術(shù)和用戶(hù)自定義加密功能。
- 模擬數(shù)字轉(zhuǎn)換:配備 12 位 1MSPS 4 通道 SAR 模數(shù)轉(zhuǎn)換器,能滿(mǎn)足多種模擬信號(hào)采集需求。
- 電源管理:包含 1 個(gè) LDO、2 個(gè) DC - DC 轉(zhuǎn)換器和電源管理單元,還有看門(mén)狗定時(shí)器,保障系統(tǒng)的穩(wěn)定運(yùn)行。
- 時(shí)鐘與振蕩器:具備片上時(shí)鐘/振蕩器,包括晶體振蕩器、20MHz/31kHz 硅振蕩器,可根據(jù)不同需求選擇合適的時(shí)鐘源。
- 可編程 I/O:有 42 個(gè)通用 I/O 引腳,可配置為輸入或輸出,支持多種端口組合,如 16 個(gè) 1 位端口、6 個(gè) 4 位端口等,還具備 2 個(gè) xCONNECT 鏈接,端口采樣率最高可達(dá) 60 MHz。
- 內(nèi)存:64KB 內(nèi)部單周期 SRAM 用于代碼和數(shù)據(jù)存儲(chǔ),8KB 內(nèi)部 OTP 用于應(yīng)用啟動(dòng)代碼,還有 128 字節(jié)深度睡眠內(nèi)存。
- 硬件資源:包含 6 個(gè)時(shí)鐘塊、10 個(gè)定時(shí)器和 4 個(gè)鎖,為系統(tǒng)提供豐富的硬件支持。
- 安全特性:編程鎖可禁用調(diào)試并防止讀取內(nèi)存內(nèi)容,AES 引導(dǎo)加載程序確保外部閃存內(nèi)存中 IP 的保密性。
- 工作溫度范圍:有商業(yè)級(jí)(0 °C 至 70 °C)和工業(yè)級(jí)( - 40 °C 至 85 °C)兩種規(guī)格可選。
- 速度等級(jí):提供 5(500 MIPS)和 4(400 MIPS)兩種速度等級(jí)。
- 功耗:典型功耗在 500 MHz 時(shí)為 300 mW,睡眠模式下為 500 μW。采用 96 引腳 FBGA 封裝,間距為 0.8 mm。
2. 硬件資源詳解
2.1 邏輯核心
邏輯核心是處理器的關(guān)鍵部分。XS1-A6A-64-FB96 有 6 個(gè)活動(dòng)邏輯核心,指令通過(guò)共享的四級(jí)流水線(xiàn)發(fā)出。當(dāng)最多四個(gè)邏輯核心活動(dòng)時(shí),每個(gè)核心分配四分之一的處理周期;當(dāng)超過(guò)四個(gè)核心活動(dòng)時(shí),每個(gè)核心至少分配 1/n 個(gè)周期(n 為核心數(shù)量)。不過(guò),由于核心可能在 I/O 操作時(shí)延遲,其未使用的處理周期可被其他核心占用,所以實(shí)際性能可能高于預(yù)測(cè)的最小值,但無(wú)法保證。邏輯核心由事件觸發(fā)而非中斷,并且會(huì)運(yùn)行到完成,還可以暫停等待事件。
2.2 xTIME 調(diào)度器
xTIME 調(diào)度器負(fù)責(zé)處理 xCORE 瓷磚資源(如通道端、定時(shí)器和 I/O 引腳)產(chǎn)生的事件。它確保所有事件得到服務(wù)和同步,無(wú)需 RTOS。I/O 引腳產(chǎn)生的事件由硬件響應(yīng)端口處理,并直接饋送到相應(yīng)的 xCORE 瓷磚。xCORE 瓷磚還可以選擇等待指定時(shí)間過(guò)去,或等待通道上有數(shù)據(jù)可用。由于每個(gè)任務(wù)在自己的邏輯 xCORE 上運(yùn)行,所以不需要對(duì)任務(wù)進(jìn)行優(yōu)先級(jí)排序,也可以使用協(xié)作式多任務(wù)在單個(gè)核心上共享一組低優(yōu)先級(jí)任務(wù)。
2.3 硬件響應(yīng)端口
硬件響應(yīng)端口將 xCORE 瓷磚連接到一個(gè)或多個(gè)物理引腳,定義了連接到 XS1-A6A-64-FB96 的硬件與運(yùn)行在其上的軟件之間的接口。提供 1 位、4 位、8 位、16 位和 32 位端口的組合,端口的所有引腳要么提供輸出,要么提供輸入,不同方向的信號(hào)不能映射到同一端口。端口邏輯可以驅(qū)動(dòng)引腳高或低,也可以采樣引腳的值,還可以選擇等待特定條件。端口通過(guò)專(zhuān)用指令訪(fǎng)問(wèn),這些指令在單個(gè)處理器周期內(nèi)執(zhí)行。數(shù)據(jù)通過(guò)包含 SERDES 和傳輸寄存器的 FIFO 在引腳和核心之間傳輸,每個(gè)端口有一個(gè) 16 位計(jì)數(shù)器,可用于控制數(shù)據(jù)在端口值和傳輸寄存器之間傳輸?shù)臅r(shí)間。
2.4 時(shí)鐘塊
xCORE 設(shè)備包含一組可編程時(shí)鐘,稱(chēng)為時(shí)鐘塊,可用于控制端口執(zhí)行的速率。每個(gè) xCORE 瓷磚有六個(gè)時(shí)鐘塊,第一個(gè)時(shí)鐘塊提供瓷磚參考時(shí)鐘,默認(rèn)頻率為 100MHz,其余時(shí)鐘塊可以設(shè)置為不同的頻率。時(shí)鐘塊可以使用 1 位端口作為其時(shí)鐘源,允許使用外部應(yīng)用時(shí)鐘來(lái)驅(qū)動(dòng)輸入和輸出接口。在許多情況下,I/O 信號(hào)伴隨著選通信號(hào),xCORE 端口可以輸入和解釋外部源產(chǎn)生的選通信號(hào),并生成選通信號(hào)來(lái)伴隨輸出數(shù)據(jù)。
2.5 通道和通道端
邏輯核心通過(guò)在兩個(gè)通道端之間形成的點(diǎn)對(duì)點(diǎn)連接進(jìn)行通信。通道端是 xCORE 瓷磚上的資源,由程序分配。每個(gè)通道端有一個(gè)唯一的系統(tǒng)范圍標(biāo)識(shí)符,由唯一編號(hào)和其瓷磚標(biāo)識(shí)符組成。數(shù)據(jù)通過(guò)輸出指令傳輸?shù)酵ǖ蓝?,另一端?zhí)行輸入指令。數(shù)據(jù)可以在通道端之間同步或異步傳遞。
2.6 xCONNECT 開(kāi)關(guān)和鏈接
XMOS 設(shè)備提供可擴(kuò)展架構(gòu),多個(gè) xCORE 設(shè)備可以連接在一起形成一個(gè)系統(tǒng)。每個(gè) xCORE 設(shè)備有一個(gè) xCONNECT 互連,為系統(tǒng)中各種 xCORE 瓷磚上運(yùn)行的所有任務(wù)提供通信基礎(chǔ)設(shè)施。互連依賴(lài)于一組開(kāi)關(guān)和 XMOS 鏈接,每個(gè) xCORE 設(shè)備有一個(gè)片上開(kāi)關(guān),可以設(shè)置電路或路由數(shù)據(jù),開(kāi)關(guān)通過(guò) xConnect 鏈接連接。XMOS 鏈接提供兩個(gè)開(kāi)關(guān)之間的物理連接,開(kāi)關(guān)有一個(gè)路由算法,支持多種拓?fù)浣Y(jié)構(gòu),包括線(xiàn)、網(wǎng)格、樹(shù)和超立方體。鏈接可以在每個(gè)方向 2 根線(xiàn)或每個(gè)方向 5 根線(xiàn)的模式下運(yùn)行,可有效支持電路交換、流和分組交換數(shù)據(jù)。
3. 時(shí)鐘與啟動(dòng)機(jī)制
3.1 振蕩器
振蕩器模塊提供多種時(shí)鐘源選擇。它可以與外部諧振器(晶體或陶瓷)一起提供實(shí)時(shí)計(jì)數(shù)器和 xCORE 瓷磚的時(shí)鐘源,設(shè)計(jì)師可以選擇合適頻率和精度的外部諧振器。也有 20 MHz 硅振蕩器,可使設(shè)備在無(wú)需外部晶體的情況下啟動(dòng)和執(zhí)行代碼,但精度不如外部晶體。還有 31,250 Hz 振蕩器,可使實(shí)時(shí)計(jì)數(shù)器在設(shè)備處于低功耗模式時(shí)運(yùn)行。振蕩器可以通過(guò)封裝引腳、一組外圍寄存器和數(shù)字節(jié)點(diǎn)控制寄存器進(jìn)行控制。
3.2 PLL
PLL 用于根據(jù)低速外部振蕩器創(chuàng)建高速處理器時(shí)鐘。PLL 乘法值通過(guò)兩個(gè) MODE 引腳選擇,也可以通過(guò)軟件更改以加快瓷磚速度或降低功耗。MODE 引腳在系統(tǒng)復(fù)位解除后必須保持靜態(tài)值。如果需要不同的瓷磚頻率,必須在啟動(dòng)后重新編程 PLL 以提供所需的瓷磚頻率。
3.3 啟動(dòng)過(guò)程
設(shè)備通過(guò)將 RST_N 拉低來(lái)保持復(fù)位狀態(tài)。當(dāng)釋放 RST_N 使設(shè)備退出復(fù)位時(shí),處理器開(kāi)始內(nèi)部復(fù)位過(guò)程。大約 750,000 個(gè)輸入時(shí)鐘后,所有 GPIO 引腳啟用內(nèi)部上拉電阻,處理器以取決于 MODE0 和 MODE1 的時(shí)鐘速度啟動(dòng)。處理器啟動(dòng)過(guò)程根據(jù) MODE[3:2] 控制啟動(dòng)源,有從 SPI 主設(shè)備、xConnect 鏈接或 OTP 啟動(dòng)等多種方式。
4. 內(nèi)存管理
4.1 OTP
xCORE 瓷磚集成了 8 KB 一次性可編程(OTP)內(nèi)存以及一個(gè)安全寄存器,用于配置系統(tǒng)范圍的安全功能。OTP 以四個(gè)扇區(qū)存儲(chǔ)數(shù)據(jù),每個(gè)扇區(qū)包含 512 行 32 位數(shù)據(jù),可用于實(shí)現(xiàn)安全引導(dǎo)加載程序和存儲(chǔ)加密密鑰。安全寄存器的數(shù)據(jù)在電源開(kāi)啟時(shí)從 OTP 加載,OTP 中的所有額外數(shù)據(jù)被復(fù)制到 SRAM 并首先在處理器上執(zhí)行。OTP 內(nèi)存通過(guò)三個(gè)特殊 I/O 端口編程。
4.2 SRAM
xCORE 瓷磚集成了一個(gè) 64KB 的 SRAM 庫(kù),用于指令和數(shù)據(jù)存儲(chǔ)。所有內(nèi)部?jī)?nèi)存為 32 位寬,指令為 16 位或 32 位,支持字節(jié)(8 位)、半字(16 位)或字(32 位)訪(fǎng)問(wèn),并在一個(gè)瓷磚時(shí)鐘周期內(nèi)執(zhí)行。雖然沒(méi)有專(zhuān)用的外部?jī)?nèi)存接口,但可以通過(guò)適當(dāng)使用端口擴(kuò)展數(shù)據(jù)內(nèi)存。
4.3 深度睡眠內(nèi)存
XS1-A6A-64-FB96 設(shè)備包含 128 字節(jié)的深度睡眠內(nèi)存,用于在睡眠模式下存儲(chǔ)狀態(tài)。深度睡眠內(nèi)存是易失性的,如果設(shè)備輸入電源被移除,數(shù)據(jù)將丟失。
5. 模擬數(shù)字轉(zhuǎn)換
設(shè)備配備 12 位 1MSample/秒的逐次逼近寄存器(SAR)模數(shù)轉(zhuǎn)換器(ADC),有 4 個(gè)輸入引腳,通過(guò) ADC_SAMPLE 引腳控制采樣。采樣由寫(xiě)入端口或外部驅(qū)動(dòng)引腳觸發(fā),每個(gè)啟用的模擬輸入在采樣引腳的連續(xù)上升沿依次采樣。數(shù)據(jù)傳輸?shù)接脩?hù)在 ADC 初始化期間配置的通道端,可單個(gè)數(shù)據(jù)包或包含多個(gè)連續(xù)樣本的數(shù)據(jù)包傳輸。ADC 使用外部參考電壓(標(biāo)稱(chēng) 3V3),ADC 配置寄存器在附錄 F 中有詳細(xì)記錄。
6. 電源管理與監(jiān)控
6.1 電源供應(yīng)
XS1-A6A-64-FB96 設(shè)備可以由外部 5V 核心和 3.3V I/O 電源供電,也可以由單個(gè) 3.3V 電源供電。設(shè)備包含兩個(gè) DC - DC 降壓轉(zhuǎn)換器,可配置為接受 3.3 - 5V 電源輸入,并輸出模擬外設(shè)和數(shù)字節(jié)點(diǎn)所需的電路電壓(標(biāo)稱(chēng) 1.8V 和 1.0V)。
6.2 電源模式控制
設(shè)備在電源開(kāi)啟和關(guān)閉過(guò)程中會(huì)經(jīng)歷多個(gè)狀態(tài)。在 ASLEEP 狀態(tài)下設(shè)備靜止,在 AWAKE 狀態(tài)下運(yùn)行,其他狀態(tài)允許在 AWAKE 和 ASLEEP 之間進(jìn)行受控轉(zhuǎn)換。從 AWAKE 狀態(tài)到 ASLEEP 狀態(tài)的轉(zhuǎn)換通過(guò)寫(xiě)入通用控制寄存器啟動(dòng),睡眠請(qǐng)求只能在 AWAKE 狀態(tài)下發(fā)出。從 ASLEEP 狀態(tài)到 AWAKE 狀態(tài)的轉(zhuǎn)換由輸入或定時(shí)器觸發(fā)的喚醒請(qǐng)求啟動(dòng),設(shè)備僅在 ASLEEP 狀態(tài)下響應(yīng)喚醒刺激。
6.3 深度睡眠模式和實(shí)時(shí)計(jì)數(shù)器
設(shè)備正常工作模式為 AWAKE 模式,為了節(jié)省電源,可以進(jìn)入深度睡眠模式(ASLEEP),此時(shí)數(shù)字節(jié)點(diǎn)和大多數(shù)外設(shè)斷電。設(shè)備將保持在 ASLEEP 模式,直到滿(mǎn)足外部引腳狀態(tài)改變或?qū)崟r(shí)計(jì)數(shù)器達(dá)到設(shè)定值等條件。實(shí)時(shí)計(jì)數(shù)器在芯片喚醒時(shí)對(duì)振蕩器的時(shí)鐘滴答數(shù)進(jìn)行計(jì)數(shù),睡眠時(shí)可自動(dòng)切換到 31,250 Hz 硅振蕩器以節(jié)省電源。設(shè)計(jì)師需要在睡眠和喚醒時(shí)的時(shí)鐘精度、成本和深度睡眠功耗之間進(jìn)行權(quán)衡。
6.4 睡眠模式要求
在睡眠模式下,設(shè)備仍需通過(guò) VSUP 提供 3V3 或 5V0 電源,通過(guò) VDDIO 提供 3V3 電源,但功耗會(huì)降低。為了獲得最佳效果,應(yīng)關(guān)閉 XTAL 偏置和 XTAL 振蕩器,配置睡眠寄存器以禁用除 DCDC2 外的所有電源,將所有電源設(shè)置為 PFM 模式,屏蔽時(shí)鐘,斷言復(fù)位,確保所有 GPIO 和 JTAG 引腳靜止,不驅(qū)動(dòng)上拉或下拉。
7. JTAG 調(diào)試
JTAG 模塊可用于加載程序、邊界掃描測(cè)試、在線(xiàn)源級(jí)調(diào)試和編程 OTP 內(nèi)存。JTAG 鏈結(jié)構(gòu)包括調(diào)試 TAP、邊界掃描 TAP 和處理器 TAP,分別用于訪(fǎng)問(wèn)外設(shè)、進(jìn)行 I/O 引腳的邊界掃描以及訪(fǎng)問(wèn) xCORE 瓷磚、開(kāi)關(guān)和 OTP 以加載代碼和調(diào)試。JTAG 模塊可以通過(guò)將 TMS 保持高電平五個(gè)時(shí)鐘周期來(lái)復(fù)位。DEBUG_N 引腳用于同步多個(gè)處理器的調(diào)試,可在輸出和輸入模式下操作。
8. 板級(jí)集成要點(diǎn)
8.1 電源布局
XS1-A6A-64-FB96 設(shè)備的 DC - DC 轉(zhuǎn)換器輸入引腳需要合適的陶瓷電容,輸出引腳需要 LC 濾波器。電源供應(yīng)必須單調(diào)上升,輸入電壓不得超過(guò)規(guī)格。VDDIO 供應(yīng)需要一個(gè) 100nF X5R 或 X7R 陶瓷去耦電容,ADC 使用時(shí)需要在 AVDD 引腳附近放置一個(gè) 100nF X5R 或 X7R 陶瓷去耦電容,必要時(shí)可使用額外的 10uF 去耦電容和鐵氧體磁珠去除電源噪聲。
8.2 晶振布局
晶體振蕩器的 XI / XO 節(jié)點(diǎn)需要仔細(xì)布線(xiàn),這些節(jié)點(diǎn)高阻抗且對(duì)噪聲敏感,走線(xiàn)應(yīng)盡可能寬且短,并在連續(xù)的接地平面上布線(xiàn),避免靠近嘈雜的電源線(xiàn)或時(shí)鐘。
8.3 焊盤(pán)和焊膏
封裝為 96 引腳球柵陣列封裝,間距為 0.8mm,球徑為 0.4mm。焊盤(pán)寬度和間距應(yīng)允許使用標(biāo)準(zhǔn)設(shè)計(jì)規(guī)則應(yīng)用阻焊層,以減少焊錫短路。建議在每個(gè)接地球旁邊設(shè)置過(guò)孔到 PCB 的接地平面,以實(shí)現(xiàn)低電感接地連接和良好的熱性能。
8.4 濕度敏感性
XMOS 設(shè)備像所有半導(dǎo)體設(shè)備一樣,容易吸收水分。所有 XMOS 設(shè)備的濕度敏感性等級(jí)為 MSL 3,從封裝中取出后,在回流焊前有 168 小時(shí)的保質(zhì)期,前提是存儲(chǔ)溫度低于 30°C 且相對(duì)濕度低于 60%。如果設(shè)備超過(guò)這些值或濕度指示卡顯示水分過(guò)多,則在使用前應(yīng)進(jìn)行適當(dāng)烘烤。
9. 設(shè)計(jì)檢查清單
9.1 原理圖設(shè)計(jì)檢查
- 時(shí)鐘:確保 MODE0 和 MODE1 引腳設(shè)置正確,OSC_EXT_N 引腳連接正確,使用振蕩器時(shí)確保其為 1V8 振蕩器。
- USB ULPI 模式:如果使用 ULPI,確保 ULPI 信號(hào)連接到特定端口,并且內(nèi)部使用的端口未連接。
- 啟動(dòng):確保設(shè)備連接到 SPI 閃存進(jìn)行啟動(dòng),或通過(guò) OTP 或 JTAG 啟動(dòng),選擇的 SPI 閃存應(yīng)受 xflash 支持。
- JTAG、XScope 和調(diào)試:決定是否需要 XSYS 頭,如果包含 XSYS 頭,確保連接正確;如果不包含,需要設(shè)計(jì)一種方法來(lái)編程 SPI 閃存或 OTP。
- GPIO:確保沒(méi)有將輸入和輸出映射到同一多位端口。
- 多設(shè)備設(shè)計(jì):如果設(shè)計(jì)包含多個(gè) XMOS 設(shè)備,確保一個(gè)設(shè)備連接到 SPI 閃存進(jìn)行啟動(dòng),從鏈接啟動(dòng)的設(shè)備設(shè)置正確,包含 XSYS 頭時(shí),為相關(guān)引腳添加緩沖器。
9.2 PCB 布局設(shè)計(jì)檢查
- 接地球和接地平面:確保每個(gè)接地球有一個(gè)過(guò)孔,減少接地球周?chē)姆墙拥剡^(guò)孔,以創(chuàng)建良好的接地平面。
- 電源供應(yīng)去耦:確保 VSUP、1V0 和 1V8 去耦電容靠近相應(yīng)引腳,所有 PGND 網(wǎng)絡(luò)在連接到主接地平面之前連接在一起。
10. 總結(jié)
XS1-A6A-64-FB96 是一款功能強(qiáng)大、性能卓越的 32 位多核微控制器,在多核架構(gòu)、硬件資源、時(shí)鐘與啟動(dòng)機(jī)制、內(nèi)存管理、模擬數(shù)字轉(zhuǎn)換、電源管理等方面都有出色的表現(xiàn)。在實(shí)際設(shè)計(jì)中,我們需要根據(jù)具體需求合理選擇和配置各項(xiàng)功能,同時(shí)嚴(yán)格遵循設(shè)計(jì)檢查清單,確保設(shè)計(jì)的可靠性和穩(wěn)定性。大家在使用這款微控制器的過(guò)程中,有沒(méi)有遇到什么特別的問(wèn)題或者有什么獨(dú)特的應(yīng)用經(jīng)驗(yàn)?zāi)??歡迎在評(píng)論區(qū)分享交流。
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
41文章
3831瀏覽量
133906 -
多核微控制器
+關(guān)注
關(guān)注
0文章
11瀏覽量
6165
發(fā)布評(píng)論請(qǐng)先 登錄
XS1-A6A-64-FB96:高性能32位多核微控制器的深度剖析
評(píng)論