CH32VXX系列串口可能有硬件BUG

主機采用CH32V307RCT6 運行于(125MHz),? 從機采用STM32F103, 運行于(72MHz),? ?設(shè)置一個波特率,如115200, 會出現(xiàn)兩者都有一定的 誤差。? ?主機CH32V與從機STM32的發(fā)送接收均采用? DMA,? ?主機CH32V通過 modbus讀取 STM32F103的數(shù)據(jù), 當(dāng)讀取寄存器個數(shù)在 30個以內(nèi)時,? 基本不出現(xiàn)失敗,? 當(dāng)讀取寄存器個數(shù)在 120個時, 出現(xiàn)失敗的概率很高。? ?為了進一步測試, 主機CH32V發(fā)送采用一個串口(設(shè)置停止位為2個),? 接收采用另一個串口(設(shè)置停止位為1個)。? ? STM32停止位設(shè)置位1.5個。 這種配置對 CH32V的接收 是最友好的, 可是依然會出現(xiàn)失敗概率, 會低很多。

STM32是批量產(chǎn)品, 穩(wěn)定工作了很多年了。? ?抓示波器波形,? 發(fā)現(xiàn)stm32每次都返回數(shù)據(jù),? CH32V調(diào)試發(fā)現(xiàn) CRC錯誤或 少數(shù)據(jù)。? ?當(dāng)波特率達到 2M時,? CH32V更是 有 40%以上的錯誤。? ? 感覺CH32V串口的重同步機制有 BUG,? ? 芯片的errata哪里可以下載

以前電腦地線斷了漏電,估計也是電源群脈沖影響?然后CH32V307串口 DMA不停的接收到亂七八糟的數(shù)據(jù),那時心態(tài)差點崩了…


兩臺 CH32VXXX進行主從通訊,可以正常進行, 只要與 STM32F103VC系列(從機)通訊,問題就存在


問題大概已經(jīng)找到了,STM32F103 串口1(PB6) 在發(fā)送長數(shù)據(jù)時,每幾十個字節(jié)就會產(chǎn)生50ns的尖峰,注意是ns級別的, 直接用示波器抓到的,在大部分的情況下, 50ns的尖峰都無法通過隔離器件。? ?就算不隔離電腦端的串口也無法識別該尖峰,會過濾掉, 但是CH32Vxxx系列,很可能包括 CH32Fxxx系列, 會將該尖峰作為一個位的開啟或一個字節(jié)的開啟。 導(dǎo)致最后整體接收數(shù)據(jù)有誤.? 目前在CH32V的串口接收引腳前, 加入RC濾波, R=100R, C = 1nf, 時間常數(shù)約為 100ns, 可以將該尖峰變成一個小突起, CH32V就可以完全正確的接收該長串?dāng)?shù)據(jù), 因此可以得出結(jié)論,CH32XXX系列 在串口接收 濾波方面 是存在一定問題的,無法消除 50ns級別的尖峰,? 即使波特率是115200時也是同樣存在.不知道為什嗎STM32F103會發(fā)送該50ns的尖峰, 估計也是硬件問題.? ?WCH廠家能否確認該問題, 望盡快試驗告之.只有采用STM32F103做從機 才會出現(xiàn)該問題,其他MCU未全測試.下圖通訊速率為1M, 濾波后可通訊. 8d19b9f7fb7969d0426df597e7ef2ed.jpg


如果串口濾波問題不解決, CH32XXX系列 串口通訊在 群脈沖測試時,特別是電源線之間的群脈沖,? 會表現(xiàn)很差勁,? 這個50ns約為 20M左右的 脈沖, 剛好是群脈沖頻率范圍。? CH32V的串口接收加入RC濾波后,? 作為主機 與 STM32F103(從機)進行MODBUS通訊,? ?每秒通訊10次,? 1M波特率,? 每次120個寄存器,? 測試一小時,? 每次都通訊成功,? ?去掉 RC濾波后, 基本上失敗概率60%以上。?? ?所有測試均在 無干擾環(huán)境下進行。??


國產(chǎn)芯片的測試真是讓人痛心, 測了好多種國產(chǎn)MCU了, 沒有一個讓人省心的。? HC32F460系列的DMA有BUG,? WCH的串口濾波 又是大BUG,? ?降低波特率只能降低出錯概率, 不能完全避免, 用國產(chǎn)芯片的同志們應(yīng)該能夠體會到的。? 現(xiàn)在我們支持國產(chǎn), 國產(chǎn)芯片也要爭氣啊。? ?本人是20多年的老工程師了, 浙大碩士,總工。? ?本人測試過 10幾款 MCU了,? 國內(nèi)的,進口的。? ?不要懷疑本人的判斷,? 基本上都是在大量試驗的基礎(chǔ)上做出的,? 本人對FPGA也有開發(fā)經(jīng)歷, 對這些硬件BUG也能分析個8,9不離十。? 我敢斷定 WCH的芯片的串口通訊在群脈沖下會有 大問題。?


關(guān)注一下


看描述是STM32F103有BUG, hhh


問題不能這么說,? stm32作為從機,? 其他主機與stm32的通訊也是正常的。? 也就是所, stm32發(fā)出人50ns的尖峰 雖然不合常理, 但是不影響其他主機的通訊。? 但是 ch32V系列會被影響。? 我們不能看到stm32f1的BUG,? 就忽略了CH32V的BUG.??


我們芯片過EFT群脈沖測試不會有問題。我們很多量產(chǎn)客戶使用我們芯片做的產(chǎn)品也會去過EFT群脈沖認證測試,從市場端得到的認證反饋沒有任何問題。

另外按照我們芯片串口設(shè)計50ns的尖峰脈沖也不會別誤認為是有效電平。串口設(shè)計中使用過采樣技術(shù)來區(qū)分數(shù)據(jù)還是噪音。按照您當(dāng)前1M的波特率劃分16等份后每一次采樣是62.5ns,理論上50ns的脈沖最多會被采樣一次,接收數(shù)據(jù)仍然會為0。所以您這邊遇到的問題我們這邊會再實測驗證一下,測試過程中可能會有一些細節(jié)需要溝通,如果方便麻煩添加一下我的微信:18951773083或者記錄一下我的郵箱:wangyy@wch.cn,方便后續(xù)進一步的細節(jié)溝通。

image.png



問題是在波特率是115200的時候, 也是會出現(xiàn)問題。 這個50ns脈沖按理應(yīng)該采集不到, 但是我這邊用 ch32v203c8t6測試 也是過不了。? ?采用RC濾波以后就可以過,? 這個如何解釋。



話題扯開點:我也發(fā)現(xiàn)這STM32F103VC問題很大!

一塊電機板經(jīng)常出問題,然后重新燒寫一次程序就又OK;

IO端口很脆弱,兩路輸出一個高一個低不小心連一起,芯片就開始發(fā)燙,即使撤去了短路,芯片還是發(fā)燙,就這么壞了……

不懂技術(shù)的老板很自信的認為他是買到國產(chǎn)高仿了。


話再說回來,Errata確實很重要!

這個還希望沁恒能有更開放的心態(tài)來面對。

現(xiàn)在的芯片問題,要么隱藏在參考手冊內(nèi),要么去外設(shè)庫看蛛絲馬跡,然后看到某家芯片賣的便宜都不敢買:心想會不會是有Bug的版本。


看描述,這不是STM32有bug么?怎么怪到CH32頭上了


這些濾波問題,老牌芯片廠家肯定都吃過虧,所以早解決了。所以工業(yè)抗干擾能力會好一些。

廠家吃過虧,遇到過問題,本身也是一種經(jīng)驗積累。


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频