精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

國產(chǎn)APM32F103ZET6替換STM32F103ZET6經(jīng)驗(yàn)分享

21克888 ? 來源:廠商供稿 ? 2022-06-08 11:43 ? 次閱讀

隨著大變局時(shí)代的開啟,美國對中國科技的打壓,對中國芯片的鎖脖,ST芯片價(jià)格的一再高漲,直接推動了國產(chǎn)芯片的發(fā)展。國內(nèi)很多廠家也開始推出高性能、低價(jià)格的對標(biāo)ST產(chǎn)品。由于價(jià)格問題,我也不得不考慮更換芯片,看了一些測評,有人推薦這一款A(yù)PM32的單片機(jī),價(jià)格比ST同型號的便宜,果斷下單,以下是我使用APM32F103ZET6替換STM32F103ZET6的一些分享,參考了網(wǎng)上各路大神的資料后作的總結(jié)。

1從手冊中分析資源,基礎(chǔ)信息一模一樣

1.1引腳定義

由下圖可以看出相同封裝的引腳分布完全一致。





1.2結(jié)構(gòu)框圖

(1)都是M3內(nèi)核,總體與STM32F103ZET6架構(gòu)一致
外設(shè)上做了部分增加,APM32F103相較于STM32F103增加了I2C3和I2C4模塊,還增加了動態(tài)存儲控制器DMC,可外接SDRAM

(2)多了EMMC
APM32F103有一個(gè)特別的功能,它有EMMC(外部存儲器控制器),因此可以外接SDRAM,這使它可以存儲大量臨時(shí)數(shù)據(jù),提升讀取速度。如果不想外接也有SDRAM,APM32F103也有合封型號——APM32F103VCTxS。

(3)多了個(gè)FPU
如果在處理一些浮點(diǎn)數(shù)據(jù)的數(shù)學(xué)運(yùn)算時(shí),比如sin運(yùn)算,使用FPU可以加快運(yùn)算速度;STM32F103ZET6是沒有的,因此在替換過程中,如果使用FPU,且使用了APM32F103ZET6官方提供的浮點(diǎn)運(yùn)算庫,注意算法中數(shù)據(jù)處理的效率是有很大提升的。

但是APM32F103ZET6的FPU有些不好的地方是,只對庫中的數(shù)學(xué)運(yùn)算有明顯(提升至少5倍)加速效果,其它的運(yùn)算無明顯加速效果。

(4)多了個(gè)USB
STM32F103ZET6的CAN和USB共用一段SRAM,因此使用USB時(shí)可以使用CAN。




1.3存儲地址映射

經(jīng)過對比下面兩圖可以得出,基本外設(shè)地址都是一致的,對于多出的功能都占用了ST原來的保留地址,這說明APM32F103是可以完全兼容STM32F103的。




1.4時(shí)鐘

在某些應(yīng)用場景需要超頻使用(官方是不保證的),當(dāng)系統(tǒng)時(shí)鐘為96MHz、120MHz下,STM32F103ZET6的USB無法配置到48MHz,因此無法使用USB。但是APM32F103ZET6通過配置分頻系數(shù),當(dāng)系統(tǒng)時(shí)鐘為96MHz、120MHz時(shí),依然可以使用USB.

1.5最小系統(tǒng)電路

電源、時(shí)鐘、復(fù)位、燒錄接口、Boot電路一致。

2用STM32F103xE的Keil工程、代碼燒錄到APM32F103xE中,實(shí)現(xiàn)基本燒錄功能

在調(diào)試過程中使用的板子是APM32F103ZET6的mini板,使用的Keil工程是野火的例程。

2.1編譯工具

與ST完全相同,都可以使用keil和IAR。

2.2燒錄器

兼容ST,可以使用ST-LINK,還可以使用J-LINK和APEX-LINK。

2.3燒錄接口

支持JTAG和SWD。

2.4編譯下載

隨便找一個(gè)野火的STM32F103的代碼例程,驗(yàn)證一下不修改任何配置和ST的代碼是否可以直接燒錄使用


打開工程后點(diǎn)擊魔術(shù)棒,板子還是選擇STM32F103VE


接下來選擇自己使用的燒錄器,這里我用的是J-LINK


進(jìn)入setting,設(shè)置flashdownload,還是添加對應(yīng)型號的ST芯片


以上就配置結(jié)束了,然后再將例程里LED的引腳PB0和PB1修改成APM32103的LED引腳PE6和PE5





全部修改完成了,編譯下載后,兩個(gè)LED交替閃爍,說明驗(yàn)證成功,不用修改其他配置,選擇好燒錄器,直接燒錄ST代碼是可以使用的。

2.5脫機(jī)編程器

市場上買的量產(chǎn)燒錄器品牌(可以百度、淘寶搜索)有:周立功、希爾特、軒微、芯園、野火等,有些燒錄器添加了AMP32F103ZET6的型號,有些沒有。

本人只有芯園的燒錄器,選擇STM32F103ZET6的型號是可以燒錄APM32F103ZET6。

至于其它的燒錄器能否選擇STM32F103ZET6的型號燒錄APM32F103ZET6呢,由于沒有燒錄器,因此暫時(shí)無結(jié)論,后續(xù)有機(jī)會使用時(shí)再補(bǔ)充。

不過AMP32F103ZET6有官方的脫機(jī)編程器。

2.6JTAG ID不同

具體差異如下:

(1)APM32F103ZET6的信息如下:


(2)STM32F103ZET6的信息如下:


如果代碼中有使用JTAG ID作為判斷信息的話,在替換過程中會出問題。

3參數(shù)電氣特性的差異

在使用過程中,我們發(fā)現(xiàn)APM32F103ZE和STM32F103ZE的參數(shù)和電氣特性不一樣,在這種情況下,我們可能會遇到一些問題,以下通過手冊對比總結(jié)了一些模塊的差異。

3.1時(shí)鐘

3.1.1溫度、電壓的環(huán)境引起HSI的精度差異

APM32的主頻標(biāo)稱為96MHz,STM32的主頻標(biāo)稱為72MHz;在高低溫情況下,HSI作為時(shí)鐘源時(shí),APM32的時(shí)鐘精度在(-2.8~2.4)%,但STM32的時(shí)鐘精度在(-2.0~2.5)%,比APM32略高。

如果使用HSI作為系統(tǒng)時(shí)鐘,且對精度要求較高、使用場景是;如果使用場景是3.3V的工作電壓,且溫度為25℃時(shí),出廠精度都是±1%。

3.1.2HSE起振時(shí)間差異引起系統(tǒng)時(shí)鐘配置存在差異

在使用晶振作為HSE的時(shí)鐘源時(shí),APM32F103和STM32F103的起振溫度時(shí)間存在差異,STM32F103起振穩(wěn)定時(shí)間比APM32F103的快。

代碼中判斷是否起振穩(wěn)定的方式是使用軟件延時(shí)等待,設(shè)置的HSE_STARTUP_TIMEOUT數(shù)值是0x500,參考代碼如下:




當(dāng)晶振離開MCU的晶振連接引腳較遠(yuǎn),或者匹配電容不合理,或者使用貼片晶振而不是直插晶振時(shí),HSE_STARTUP_TIMEOUT的等待穩(wěn)定時(shí)間不足以使晶振起振,會出現(xiàn)無法起振的情況,導(dǎo)致系統(tǒng)時(shí)鐘為HSI的8MHz。

另外一方面,代碼運(yùn)行的速率差異,也會影響軟件延時(shí)等待的實(shí)際時(shí)間。

解決方法是調(diào)大HSE_STARTUP_TIMEOUT,例如設(shè)置HSE_STARTUP_TIMEOUT為0x5000

3.2FLASH

3.2.1APM32F103xE的頁擦?xí)r間、片擦?xí)r間、寫時(shí)間比STM32F103xE的快

通過對比兩種芯片的數(shù)據(jù)手冊,我發(fā)現(xiàn)兩者的Flash的性能參數(shù)有點(diǎn)區(qū)別:
(1)APM32的頁擦除時(shí)間是2.7~3.5ms,STM32是20~40ms,比STM32快約7倍。
(2)APM32的16bit編程時(shí)間是33.7~40.5us,STM32是40~70us,比STM32快約20%。

如果運(yùn)行的代碼中存在軟件延時(shí)等待擦寫時(shí)間,注意調(diào)整代碼。

3.2.2Flash等待周期的配置差異

手冊中系統(tǒng)頻率與訪問Flash等待時(shí)間關(guān)系如下(見用戶手冊):
(1)STM32F103ZET6的手冊



(2)APM32F103ZET6的手冊


然而兩家的Flash訪問速度也不同,有時(shí)候不會安嚴(yán)格的按照手冊配置,例如在自己編寫代碼配置系統(tǒng)時(shí)鐘為48MHz時(shí)、Flash預(yù)取使能、等待周期設(shè)置為0時(shí),就發(fā)現(xiàn)STM32F103ZET6可以正常工作,APM32F103ZET6就不能正常工作。

因此,在配置該參數(shù)時(shí),建議還是嚴(yán)格按照官網(wǎng)提供的參數(shù)配置。

PS:我看了極海官網(wǎng)上的FAQ,發(fā)現(xiàn)有些人因?yàn)榈却芷诓粔蚨霈F(xiàn)很多錯(cuò)誤,所以大家一定要盡量按照手冊上的選擇等待周期的個(gè)數(shù)!不確定夠不夠的,可以先設(shè)置多一個(gè),畢竟“多多益善”嘛~

3.2.3Flash擦寫過程中關(guān)閉中斷

在網(wǎng)上看到,APM32F103ZET6在執(zhí)行擦寫Flash時(shí),最好先關(guān)閉中斷,否則可能擦寫Flash失敗(個(gè)人沒有遇到過這個(gè)問題),而STM32F103ZET6則不需要,

3.3功耗

APM32F103較STM32F103相比,運(yùn)行、睡眠、停機(jī)功耗較小,待機(jī)功耗較大,但都是在10uA以下,電池功耗基本一致。

如果是電池供電、且運(yùn)行模式占用的運(yùn)行時(shí)間較多,使用APM32F103ZET6的工作時(shí)間是比STM32F103ZET6的工作時(shí)間長。如果產(chǎn)時(shí)間在低功耗模式運(yùn)行,工作時(shí)長則反之。

3.4GPIO

3.4.1GPIO配置為浮空輸入的抗干擾能力

眾所周知,在使用GPIO時(shí),應(yīng)配置相應(yīng)的GPIO工作模式(見用戶手冊)。
但是在用作EXTI或是USART_Rx時(shí),GPIO被配置為浮空輸入模式后,發(fā)現(xiàn)無法讀取穩(wěn)定電平,這是怎么一回事呢?

原來,APM32F103的GPIO在用作浮空輸入或復(fù)用推挽輸出時(shí),容易受到外界影響,導(dǎo)致讀取或輸出異常,此時(shí)有兩個(gè)解決方案:
①換一種工作模式,通過軟件修改成上拉輸入或推挽輸出;
②電壓容易受到干擾,那就外接一個(gè)上拉電阻,讓電平變穩(wěn)定。

3.5USBD與CAN共用

這是一個(gè)很驚喜的發(fā)現(xiàn)——APM32F103可以同時(shí)使用USBD和CAN!但是如果要實(shí)現(xiàn)這個(gè)目的,需要把CAN重新映射到復(fù)用引腳,此時(shí)是USBD2與CAN共用。
是的沒錯(cuò),APM32F103有兩個(gè)USBD,但是由于兩個(gè)USBD公用引腳、地址、寄存器、時(shí)鐘,所以相當(dāng)于只有一個(gè)USBD,只有在需要同時(shí)使用USBD和CAN時(shí),才啟用USBD2。

這里有兩個(gè)使用的注意點(diǎn):
①在USBD2的基地址偏移0x1000處寫0x0000 0001
②PA11和PA12引腳給USBD2使用,CAN使用其他引腳

3.6運(yùn)行代碼的速度有差異

相信有不少人都會用for或while循環(huán)做延時(shí),但是在實(shí)際運(yùn)用時(shí),發(fā)現(xiàn)軟件延時(shí)在時(shí)間的精度上會有誤差。

由此可見,APM和STM的芯片在代碼的執(zhí)行速度上有差異,大家千萬別把用在STM的延時(shí)循環(huán)直接套在APM上!可能會因?yàn)閱訒r(shí)間不夠長而導(dǎo)致系統(tǒng)時(shí)鐘頻率不對(別問我怎么知道的,血的教訓(xùn)[狗頭])。

當(dāng)然,用定時(shí)器或者直接用時(shí)鐘周期做精準(zhǔn)定時(shí)的話,那就noproblem了~

3.7Boot0引腳接地問題

正常情況下,從主存儲區(qū)(用戶Flash,地址為0x0800 0000)啟動,Boot0是必現(xiàn)接GND的。但是在查閱網(wǎng)上資料時(shí),發(fā)現(xiàn)STM32F103ZET6的Boot0不接GND也能穩(wěn)定從主存儲區(qū)啟動,APM32F103ZET6無法穩(wěn)定從主存儲區(qū)啟動,有時(shí)候可以、有時(shí)候不能。

在實(shí)際應(yīng)用中,如果是從主存儲區(qū)啟動,還是安安心心的按照官方的推薦將GND通過10kΩ電阻下拉到GND。

4總結(jié)

以上是在mini板上編寫了簡單的測試代碼,且在網(wǎng)上搜集、整理了資料進(jìn)行分析,STM32F103ZET6有的功能、APM32F103ZET6也有,而且APM32F103ZET6額外比STM32F103ZET6多了些功能。

初步判斷在不需要修改硬件、少量修改軟件(看具體使用了哪些模塊、哪些應(yīng)用場景)的情況下,可以使用APM32F103ZET6是可以替換STM32F103ZET6,另外,APM32F103ZET6在價(jià)格、供貨上也有優(yōu)勢,國產(chǎn)真的太香了,兄弟們還猶豫什么快下手。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 國產(chǎn)芯片
    +關(guān)注

    關(guān)注

    2

    文章

    245

    瀏覽量

    29651
  • ST芯片
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    5185
  • 中國科技
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    2452
收藏 人收藏

    評論

    相關(guān)推薦

    [3.2.1]--STM32F103ZET6的時(shí)鐘結(jié)構(gòu)

    時(shí)鐘STM32F103ZET6
    李開鴻
    發(fā)布于 :2022年11月12日 03:15:07

    STM32F103ZET6紅牛電路圖

    STM32F103ZET6紅牛電路圖:
    發(fā)表于 09-14 15:29 ?2076次下載
    <b class='flag-5'>STM32F103ZET6</b>紅牛電路圖

    STM32F103ZET6 V3.0核心板電路圖

    STM32F103ZET6 V3.0核心板電路圖。
    發(fā)表于 10-29 17:00 ?59次下載

    基于STM32F103ZET6示波器程序

    基于STM32F103ZET6示波器程序 非常好的源代碼
    發(fā)表于 12-29 17:25 ?225次下載

    STM32F103ZET6原理圖+PCB文件

    STM32F103ZET6的詳細(xì)資料,原理圖及PCB圖。
    發(fā)表于 05-10 15:12 ?0次下載

    STM32F103ZET6數(shù)據(jù)手冊

    STM32F103ZET6、芯片學(xué)習(xí)資料、資料齊全,全面介紹了STM32F103ZET6芯片,覆蓋范圍廣。
    發(fā)表于 05-13 15:39 ?739次下載

    stm32f103zet6電路圖

    stm32f103zet6電路圖,有需要的都可以看看。
    發(fā)表于 07-20 15:48 ?66次下載

    STM32F103ZET6最小系統(tǒng)原理圖和PCB

    STM32F103ZET6最小系統(tǒng)原理圖和PCB
    發(fā)表于 08-24 17:42 ?335次下載

    STM32F103ZET6網(wǎng)絡(luò)開發(fā)板原理圖

    STM32F103ZET6網(wǎng)絡(luò)開發(fā)板原理圖
    發(fā)表于 10-27 09:19 ?110次下載
    <b class='flag-5'>STM32F103ZET6</b>網(wǎng)絡(luò)開發(fā)板原理圖

    STM32f103zet6使用庫函數(shù)點(diǎn)亮一個(gè)LED

    STM32f103zet6使用庫函數(shù)點(diǎn)亮一個(gè)LED
    發(fā)表于 05-22 10:34 ?119次下載
    <b class='flag-5'>STM32f103zet6</b>使用庫函數(shù)點(diǎn)亮一個(gè)LED

    STM32F103ZET6——控制LED燈

    STM32F103ZET6——控制LED燈
    發(fā)表于 12-03 21:06 ?135次下載
    <b class='flag-5'>STM32F103ZET6</b>——控制LED燈

    STM32F103ZET6 - USB_HID -2 (IAP升級)

    *STM32F103ZET6 - USB_HID -2 (IAP升級)示例詳解: (參考 : https://blog.csdn.net/u014803614/article/details
    發(fā)表于 12-16 16:58 ?37次下載
    <b class='flag-5'>STM32F103ZET6</b> - USB_HID -2 (IAP升級)

    STM32f103ZET6最小系統(tǒng)板原理圖下載

    STM32f103ZET6最小系統(tǒng)板原理圖下載
    發(fā)表于 01-20 09:08 ?591次下載

    STM32F103ZET6最小系統(tǒng)原理圖

    STM32F103ZET6最小系統(tǒng)原理圖和PCB圖免費(fèi)下載。
    發(fā)表于 07-01 10:57 ?221次下載

    STM32F103ZET6 IAP超級終端

    STM32F103ZET6 IAP 超級終端資料分享
    發(fā)表于 11-21 15:24 ?10次下載