宏晶新推出的STC16單片機(jī),有哪些方面的不足?
轉(zhuǎn)自 | 嵌入式ARM
STC16F單片機(jī)是STC(宏晶科技)新推出的一款16位單片機(jī),功能強(qiáng)大,有40K內(nèi)存、128K Flash,內(nèi)置USB/PWM/ADC/SPI/IIC/CAN/LIN等外設(shè),可以簡(jiǎn)單理解為STC8H的高性能版本。
目前,STC16F40K128-LQFP64已經(jīng)開(kāi)始送樣。STC16的特點(diǎn)是:16位8051,準(zhǔn)32位機(jī),多累加器結(jié)構(gòu),CAN/Lin,16位加減乘除指令,再高配32位乘除單元,單精度浮點(diǎn)運(yùn)器,計(jì)算能力直指M4,力壓M3,橫推M0。
根據(jù)部分宏晶供應(yīng)商介紹,實(shí)際上STC16是個(gè)32位的8051,為了編譯器,被閹割成16位機(jī),內(nèi)部32位訪(fǎng)問(wèn),用戶(hù)看到的是16位。傳統(tǒng)8051的位都支持,后續(xù)版本加強(qiáng)擴(kuò)充的位。
供應(yīng)商表示,STC16是STC8051的自然延伸,管腳兼容,擁有相同時(shí)鐘頻率,是碾壓M0的存在。M0是閹割的16位機(jī),還沒(méi)除,位操作不方便。STC16有指令集16位乘除,再加 32位乘除單元和單精度浮點(diǎn)運(yùn)算器,ARM的話(huà)直接上STC32M4。
不過(guò),近期,一位21ic壇友提出了靈魂拷問(wèn),引發(fā)了網(wǎng)友的討論。
用戶(hù)tzgok表示,在看了幾天STC16F的資料,感覺(jué)如下這2個(gè)主要問(wèn)題不解決,國(guó)內(nèi)的技術(shù)員很難全面使用它。
1、開(kāi)發(fā)環(huán)境問(wèn)題: 如果后續(xù)得不到KEIL全面的編譯和調(diào)試支持,開(kāi)發(fā)和使用會(huì)很麻煩,至于第三方提供的“圖形化編程”,這玩意只適合學(xué)生玩玩,套用老姚的話(huà)就是,“不要和趨勢(shì)作對(duì),你要跟著行情走”,目前KEIL就是趨勢(shì),而且KEIL這20多年累積的經(jīng)驗(yàn),不是任何一個(gè)新出的小軟件可以替代的,更何況全球無(wú)數(shù)的技術(shù)員在使用它。
2、芯片性能問(wèn)題:STC16F本身定位為16位MCU,但最高工作頻率只有33MHZ,這太雞肋了,如果不能運(yùn)行到100MHZ以上,那么16位MCU就毫無(wú)優(yōu)勢(shì),因?yàn)?6位的目標(biāo)應(yīng)該是:價(jià)格和功耗接近8位機(jī),功能和速度接近32位機(jī)。現(xiàn)在連STC8H都跑到48MHZ了,更別說(shuō)100MHZ的C8051F120,而STC16F居然只有33MHZ,這個(gè)太遺憾,說(shuō)難聽(tīng)點(diǎn),這個(gè)運(yùn)行速度就是——雞肋。
用戶(hù)autopccopy認(rèn)為,STC16 就是增強(qiáng)Intel C251內(nèi)核,當(dāng)然使用 KEIL 四駕馬車(chē)之一 的C251 完善支持。速度稱(chēng)以后會(huì)72M ~ 140M,一步一步來(lái)。既有高速度也有開(kāi)發(fā)的便利性,STC16承上啟下。打通8-16-32的產(chǎn)品線(xiàn)。
但tzgok認(rèn)為,目前STC16還有四個(gè)痛點(diǎn): 1、目前無(wú)法在線(xiàn)仿真。
2、目前的有效FLASH是60K可用,另外60K無(wú)法使用。
3、要到后期版本才推出更高頻率的版本。 4、目前的EEPROM/IAP也不能用;以后會(huì)增加DMA功能。
“STC的51就是攪局兒的,雖然我用了10年STC,但最后還是放棄了,因?yàn)樵?jīng)給予很多希望,但最后發(fā)現(xiàn)這家伙就是個(gè)混世魔王,從頭到尾不能仿真,我就不了解為啥還有些人在使用,現(xiàn)在我轉(zhuǎn)向了深圳賽元的,能仿真,手冊(cè)例程非常正規(guī),用的很爽”,用戶(hù)taobaofarmer無(wú)奈說(shuō)出心聲。
他還說(shuō):“我在用國(guó)產(chǎn)賽元8051,性能很高,文檔例程寫(xiě)的很好,有自己的仿真器,仿真很完善,整個(gè)產(chǎn)業(yè)鏈都挺完善的,不像STC,官網(wǎng)亂的跟一窩螞蟻似的,永遠(yuǎn)不能仿真,市場(chǎng)就是這樣,總是用先進(jìn)的價(jià)格低廉的東西淘汰老舊落后的東西,STC估計(jì)也蹦噠不了多久了,但因?yàn)檫€是有一批學(xué)習(xí)能力差的不能升級(jí)的用戶(hù),等到這批用戶(hù)再被淘汰了,那STC倒閉也就差不多到時(shí)候了?!?/span>
用戶(hù)coody表示,這幾天測(cè)試了STC16F的樣片,使用KEIL C251的編譯器,主要是測(cè)試其擴(kuò)展的硬件整數(shù)運(yùn)算單元、硬件單精度浮點(diǎn)單元,單精度浮點(diǎn)運(yùn)算速度比不帶硬件浮點(diǎn)的M0、M3快得多。整數(shù)運(yùn)算速度速度也很快。
測(cè)試了DFT、FFT、Goertzel濾波算法軟解DTMF,采樣市電交流電壓電流計(jì)算電壓電流有效值、有功功率、功率因素。
其中FFT運(yùn)算最耗時(shí)間,跑30MHz,ADC使用32K采樣,256點(diǎn)FFT(8ms),頻點(diǎn)分頻率125Hz,int整數(shù)運(yùn)算,蝶形計(jì)算時(shí)間為4.24ms,128頻點(diǎn)幅度計(jì)算為0.7ms,計(jì)算過(guò)程中,ADC會(huì)持續(xù)32K采樣。這個(gè)速度非常滿(mǎn)意,F(xiàn)FT分析是實(shí)時(shí)連續(xù)的。
數(shù)字濾波也比較耗時(shí)間,我常用8階IIR數(shù)字濾波器,32位有符號(hào)整數(shù)運(yùn)算耗時(shí)20us,這個(gè)非常好,滿(mǎn)足40KHz以?xún)?nèi)的采樣速度要求。單精度運(yùn)算耗時(shí)53us,已經(jīng)滿(mǎn)足低速的要求(采樣16KHz以下)。
“我覺(jué)得 STC 最大的絆腳石,是沒(méi)有完善的庫(kù)函數(shù)。51芯片寄存器少,做大一點(diǎn)的項(xiàng)目已經(jīng)有些復(fù)雜了,更不用說(shuō) STC16、ARM 和 RISC-V 了。如果官方一直不給庫(kù)函數(shù),那將是開(kāi)發(fā)者的噩夢(mèng),將會(huì)限制芯片的推廣”,用戶(hù)guysxpf這樣說(shuō)。
你怎么看待STC16以及STC本身?歡迎留言交流。
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!