發(fā)個貼記下我這兩周用CH552G ,這兒人來得不多,同步發(fā)到數(shù)碼之家,碼字辛苦,看能從WCH掙個CH554或559的學習板么。
8月底買的芯片,上周一開始焊,上周五測試完CDC,這周合體SWIM,很快OK,這兩天在做各種測試。
發(fā)個貼記下我這兩周用CH552G ,這兒人來得不多,同步發(fā)到數(shù)碼之家,碼字辛苦,看能從WCH掙個CH554或559的學習板么。
8月底買的芯片,上周一開始焊,上周五測試完CDC,這周合體SWIM,很快OK,這兩天在做各種測試。
很久就要找低管腳的USB芯片,臺系的尋常用戶沒法接觸,CY有低速芯片,也很不好找,突然論
壇看到出了CH551-554,第一時間買了CH552G,前段時間在各種玩JLINK-OB,好吧,就學學他在
調(diào)試器上做個CDC,SWD調(diào)試JLINK做得很完美了,那就做個SWIM學習STM8吧,STM8也是很火熱的
片子。
哦,重要的事情說三遍:
DIY的不是STLINK,是SWIM+CDC,僅能刷,調(diào)STM8,并有一個USB轉串口;
DIY的不是STLINK,是SWIM+CDC,僅能刷,調(diào)STM8,并有一個USB轉串口;
DIY的不是STLINK,是SWIM+CDC,僅能刷,調(diào)STM8,并有一個USB轉串口;
在CH552上做之前,先在STM32上走了遍全過程,畢竟STM32能RAM跑直接看結果,反復試不用燒
。
實驗要做到CDC支持做有標準波特,所以CH552G選擇運行在24M,如果跑32M,115200要大2.12%,
雖然能用看著不爽。
波特支持23----1.5Mbps,30K以下誤差不會大于1%,1.5M,750K,500K,375K,250K,125K無誤
差支持,所有數(shù)字描述基于CPU主頻是24M。不刷SWIM時CDC刷1.5M做過壓力測試不掉字,測試方
法是用另一個STM32輸出10000個字節(jié),間或850ms便于停下來觀察,低4位是0,掉字很明顯,觀
察過2000次以上循環(huán)不掉。
刷SWIM同時CDC可以工作在115200全速收或發(fā)互相無影響,但不建議這么做也無必要。測試也是
用STM32輸出10000個字節(jié)/115200,同時SWIM讀STM8S103F,證實無影響。
有邏輯分析儀抓圖看工作效能還可以。方法是在RX數(shù)據(jù)搬到USB之前取反LED,然后USB中斷再取
反,一般大約150US,按1.5Mbps計算,64個字節(jié)約420us,CPU還有約270us閑暇,加上RX緩沖,
估算主機取延遲一次500us不丟,性能再降肯定丟。
SWIM性能如下,用邏輯分析儀判讀的:
山上的STLINK STM8S103F寫入時間:5'56--5'771 ?715ms ? ?
讀1'607.2---1'782.8=175.8ms 校驗898.5-1'74.3=175.8ms
CH552 DIY:?
write 80--751 ?671ms
read 57.3--201.3 =144ms
105K6 32KB
write:104--1'607 ?1.5秒
速度要比山上的快點點,105K6因為是大頁面,自身比103與入速度差不多快一倍,這是器件性
能與SWIM無關。
特意挑了個搬數(shù)據(jù)加上傳花費200us的細節(jié),看前后的寬度要明顯窄點,波形的底部在跑LOOP,
當然也不完全是空閑,還要在中斷中處理接收到緩沖,開銷約50CK。1.5Mbps每字節(jié)160CK,尚有100左右CK空閑。
SWIM&CDC-RX同時工作波形_CH2.RX_CH4.LED_CH5.SWIM_CH7.SWIMRST
RX接收的同時,SWIM(STVP)讀STM8S103 8K FLASH
展開看波形細節(jié)
看圖3工況顯示,RX還在有條不紊的接收,并通過USB上傳到HOST,對刷SWIM并無明顯影響。
最后,亮作案現(xiàn)場及作案兇器
還有一張硬件信息圖
學習USB必備工具
片花,寫8S105K6,32KB FLASH,前面是寫,后面是讀校驗,STVP操作,可以看大概耗時。
樓主真厲害~??!
? ? ? ? ? ? ? ? ? ? ? ? ? ?
樓主真厲害~!!
? ? ? ? ? ? ? ? ? ? ? ?
哥,能獎勵一片CH554實驗板么?