Microchip dsPIC30F1010/202X 系列芯片勘誤與數(shù)據(jù)手冊(cè)說(shuō)明
在電子設(shè)計(jì)領(lǐng)域,芯片的性能和穩(wěn)定性至關(guān)重要。Microchip 的 dsPIC30F1010/202X 系列芯片在眾多應(yīng)用中發(fā)揮著重要作用,但在實(shí)際使用過(guò)程中,我們也發(fā)現(xiàn)了一些硅片問(wèn)題。本文將詳細(xì)介紹這些問(wèn)題及其解決方法,希望能對(duì)各位電子工程師有所幫助。
文件下載:DM300023.pdf
一、芯片概述
dsPIC30F1010/202X 系列設(shè)備在功能上基本符合當(dāng)前的設(shè)備數(shù)據(jù)手冊(cè)(DS70178C),但存在一些本文中描述的異常情況。硅片問(wèn)題涉及特定的設(shè)備和版本 ID,具體信息可參考表 1。
1.1 硅片版本 ID
| 部件編號(hào) | 設(shè)備 ID | 硅片版本的修訂 ID | |||
|---|---|---|---|---|---|
| A0 | A1 | A2 | A3 | ||
| dsPIC30F1010 | 0x4040 | ||||
| dsPIC30F2020 | 0x4000 | 0x1000 | 0x1001 | 0x1002 | 0x1003 |
| dsPIC30F2023 | 0x4030 |
注:關(guān)于特定設(shè)備的設(shè)備和修訂 ID 的詳細(xì)信息,請(qǐng)參考“dsPIC30F 系列參考手冊(cè),第 4 節(jié)。程序存儲(chǔ)器”(DS70051)。
1.2 硅片版本識(shí)別
可以使用當(dāng)前版本的 MPLAB IDE 以及 Microchip 的編程器、調(diào)試器和仿真工具來(lái)識(shí)別硅片版本級(jí)別。具體步驟如下:
- 使用適當(dāng)?shù)?a target="_blank">接口將設(shè)備連接到硬件調(diào)試器。
- 打開(kāi)一個(gè) MPLAB IDE 項(xiàng)目。
- 為適當(dāng)?shù)脑O(shè)備和硬件調(diào)試器配置 MPLAB IDE 項(xiàng)目。
- 根據(jù)使用的 MPLAB IDE 版本執(zhí)行以下操作:
- 對(duì)于 MPLAB IDE 8,選擇“Programmer > Reconnect”。
- 對(duì)于 MPLAB X IDE,選擇“Window > Dashboard”并點(diǎn)擊“Refresh Debug Tool Status”圖標(biāo)。
- 根據(jù)使用的開(kāi)發(fā)工具,部件編號(hào)和設(shè)備修訂 ID 值將顯示在輸出窗口中。
如果無(wú)法提取硅片版本級(jí)別,請(qǐng)聯(lián)系當(dāng)?shù)氐?Microchip 銷(xiāo)售辦事處尋求幫助。
二、硅片問(wèn)題總結(jié)
2.1 PWM 模塊問(wèn)題
- 死區(qū)時(shí)間設(shè)置問(wèn)題:當(dāng)死區(qū)時(shí)間功能啟用時(shí),寫(xiě)入死區(qū)時(shí)間寄存器(DTRx 和 ALTDTRx)的值不能小于 0x0010,否則 PWMxH 和 PWMxL 輸出可能無(wú)法正常工作。解決方法是禁用死區(qū)時(shí)間或確保 DTRx 和 ALTDRx 的值為 0x0010 或更大。
- 占空比分辨率問(wèn)題:數(shù)據(jù)手冊(cè)中提到的 1.1 ns 占空比分辨率并非在所有情況下都適用,在某些范圍內(nèi)占空比分辨率為 16 ns。設(shè)計(jì)時(shí)應(yīng)盡量使 PWM 發(fā)生器在 1.1 ns 分辨率的范圍內(nèi)工作。
- 觸發(fā)問(wèn)題:PWM 特殊事件觸發(fā)和 PWM 單獨(dú)觸發(fā)在 PWM 周期開(kāi)始附近可能無(wú)法正常工作,TRIGx 或 SEVTCMP 的最小值應(yīng)為 0x0008。在固件中應(yīng)檢查 TRIGx 和/或 SEVTCMP 的值是否大于 0x0008 且小于 PWM 周期。
- 覆蓋功能問(wèn)題:PWM 覆蓋功能在某些情況下不能正常工作,當(dāng)只設(shè)置一個(gè)覆蓋位(OVRENH 或 OVRENL)時(shí),PWMxH 和 PWMxL 引腳不會(huì)顯示 OVRDAT<1:0> 位指定的狀態(tài)??梢允褂?GPIO 模塊來(lái)覆蓋 PWM 輸出。
- 占空比更新問(wèn)題:當(dāng)啟用即時(shí)占空比更新且加載到占空比寄存器的值小于或等于 0x0010 時(shí),PWM 輸出狀態(tài)會(huì)與預(yù)期相反。如果啟用即時(shí)占空比更新,不要將占空比寄存器加載小于或等于 0x0010 的值。
- 優(yōu)先級(jí)問(wèn)題:PWMx 引腳所有權(quán)的優(yōu)先級(jí)方案與數(shù)據(jù)手冊(cè)中描述的不同,實(shí)際由 IOCONx 寄存器中的輸出覆蓋數(shù)據(jù)位、電流限制覆蓋數(shù)據(jù)位和故障覆蓋數(shù)據(jù)位進(jìn)行與運(yùn)算確定。目前沒(méi)有解決方法。
- 抖動(dòng)問(wèn)題:PWM 輸出可能會(huì)出現(xiàn)與設(shè)備運(yùn)行速度成比例的抖動(dòng),最大抖動(dòng)可通過(guò)公式計(jì)算。應(yīng)使電源 PWM 模塊的參數(shù)誤差在應(yīng)用允許的范圍內(nèi)。
2.2 ADC 模塊問(wèn)題
- 全局軟件觸發(fā)問(wèn)題:使用全局軟件觸發(fā)進(jìn)行多次模數(shù)轉(zhuǎn)換時(shí),必須清除 ADSTAT 寄存器中的 PxRDY 位,否則無(wú)法啟動(dòng)新的轉(zhuǎn)換??梢园凑仗囟樞蚴謩?dòng)觸發(fā) ADC 轉(zhuǎn)換,或者選擇單獨(dú)軟件觸發(fā)。
- 采樣保持定時(shí)問(wèn)題:PWM - ADC 采樣保持觸發(fā)定時(shí)的分辨率實(shí)際為 41.6 ns,而不是數(shù)據(jù)手冊(cè)中指定的 8 ns。目前沒(méi)有解決方法。
- 中斷問(wèn)題:每個(gè) ADC 引腳對(duì)的單獨(dú)中斷在 dsPIC30F1010/202X Rev. A3 設(shè)備上不起作用??梢詫⒚總€(gè) ADC 引腳對(duì)配置為發(fā)起全局 ADC 中斷,并使用 ADBASE 寄存器創(chuàng)建跳轉(zhuǎn)表。
- 轉(zhuǎn)換速率問(wèn)題:ADC 模塊的最大轉(zhuǎn)換速率為 1.5 Msps,而不是數(shù)據(jù)手冊(cè)中指示的 2.0 Msps。目前沒(méi)有解決方法。
2.3 其他模塊問(wèn)題
- 輸出比較模塊:在某些條件下,輸出比較引腳會(huì)產(chǎn)生毛刺;當(dāng) Duty Cycle 寄存器值從 0x0000 更新到 0x0001 時(shí),會(huì)錯(cuò)過(guò)一個(gè)比較事件;在雙比較匹配模式下,當(dāng) OCxR 和 OCxRS 寄存器值差為 1 時(shí),可能會(huì)錯(cuò)過(guò)復(fù)位比較事件。
- SPI 模塊:SPI 模塊的從機(jī)選擇功能可能無(wú)法正常工作;在幀主模式下,如果 FRMDLY = 1,可能無(wú)法生成幀同步脈沖;當(dāng) SPI 模塊在主模式下配置為 1:1 預(yù)分頻因子時(shí),SMP 位無(wú)效。
- UART 模塊:UART 模塊存在多種問(wèn)題,如奇偶校驗(yàn)錯(cuò)誤、接收緩沖區(qū)溢出錯(cuò)誤、高波特率模式下接收數(shù)據(jù)損壞、UTXISEL0 位讀取問(wèn)題、自動(dòng)波特率功能不準(zhǔn)確等。針對(duì)不同問(wèn)題有相應(yīng)的解決方法,如加載偶數(shù)到波特率生成器寄存器、使用 16x 波特率選項(xiàng)等。
- I2C 模塊:I2C 模塊在總線沖突、10 位尋址模式等方面存在問(wèn)題,如總線沖突狀態(tài)位設(shè)置異常、I2CTRN 寄存器寫(xiě)入問(wèn)題、ACKSTAT 位狀態(tài)反映不準(zhǔn)確等。針對(duì)不同問(wèn)題有相應(yīng)的解決方法,如手動(dòng)檢查 IWCOL 位、輪詢(xún) SDA 線等。
- MCLR 模塊:當(dāng) dsPIC DSC SMPS 設(shè)備在啟用 PLL 的情況下運(yùn)行且發(fā)生欠壓事件時(shí),MCLR 引腳可能無(wú)法正常復(fù)位設(shè)備。建議使用外部欠壓復(fù)位(BOR)電路,并在軟件中進(jìn)行時(shí)鐘切換。
- CPU 模塊:十進(jìn)制調(diào)整指令 DAW.b 可能會(huì)錯(cuò)誤清除進(jìn)位位 C。在執(zhí)行 DAW.b 指令之前檢查進(jìn)位位狀態(tài),若進(jìn)位位被設(shè)置,在執(zhí)行后再次設(shè)置進(jìn)位位。
- PSV 模塊:在某些尋址模式下訪問(wèn) PSV 頁(yè)面的前四個(gè)字節(jié)時(shí)會(huì)發(fā)生地址錯(cuò)誤陷阱。避免使用特定尋址模式訪問(wèn)前四個(gè)字節(jié),或者使用 MPLAB? C30 版本 3.11 或更高版本的命令行開(kāi)關(guān) -merrata=psv_trap。
- FRC 模塊:當(dāng)振蕩器調(diào)諧寄存器(OSCTUN)設(shè)置為 '0b1111' 或 '0b1110' 時(shí),F(xiàn)RC 頻率與預(yù)期不符。應(yīng)使用其他允許的值設(shè)置 FRC 頻率。
三、數(shù)據(jù)手冊(cè)說(shuō)明
文檔中還對(duì)最新版本的設(shè)備數(shù)據(jù)手冊(cè)(DS70178C)進(jìn)行了排版修正和說(shuō)明,但目前文檔中未提及具體內(nèi)容。
四、總結(jié)
在使用 Microchip dsPIC30F1010/202X 系列芯片時(shí),我們需要充分了解這些硅片問(wèn)題,并根據(jù)實(shí)際情況采取相應(yīng)的解決方法。通過(guò)合理的設(shè)計(jì)和調(diào)試,我們可以最大程度地減少這些問(wèn)題對(duì)系統(tǒng)性能的影響。各位工程師在實(shí)際應(yīng)用中遇到類(lèi)似問(wèn)題時(shí),不妨參考本文提供的解決思路,希望能幫助大家順利完成設(shè)計(jì)任務(wù)。你在使用這款芯片時(shí)是否也遇到過(guò)類(lèi)似的問(wèn)題呢?歡迎在評(píng)論區(qū)分享你的經(jīng)驗(yàn)。
-
解決方法
+關(guān)注
關(guān)注
0文章
16瀏覽量
8592
發(fā)布評(píng)論請(qǐng)先 登錄
Microchip dsPIC30F1010/202X 系列芯片勘誤與數(shù)據(jù)手冊(cè)說(shuō)明
評(píng)論