色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

國產APM32F103ZET6替換STM32F103ZET6經驗分享

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

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

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

1.1引腳定義

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





1.2結構框圖

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

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

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

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

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




1.3存儲地址映射

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




1.4時鐘

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

1.5最小系統電路

電源、時鐘、復位、燒錄接口、Boot電路一致。

2用STM32F103xE的Keil工程、代碼燒錄到APM32F103xE中,實現基本燒錄功能

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

2.1編譯工具

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

2.2燒錄器

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

2.3燒錄接口

支持JTAG和SWD。

2.4編譯下載

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


打開工程后點擊魔術棒,板子還是選擇STM32F103VE


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


進入setting,設置flashdownload,還是添加對應型號的ST芯片


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





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

2.5脫機編程器

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

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

至于其它的燒錄器能否選擇STM32F103ZET6的型號燒錄APM32F103ZET6呢,由于沒有燒錄器,因此暫時無結論,后續有機會使用時再補充。

不過AMP32F103ZET6有官方的脫機編程器。

2.6JTAG ID不同

具體差異如下:

(1)APM32F103ZET6的信息如下:


(2)STM32F103ZET6的信息如下:


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

3參數電氣特性的差異

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

3.1時鐘

3.1.1溫度、電壓的環境引起HSI的精度差異

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

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

3.1.2HSE起振時間差異引起系統時鐘配置存在差異

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

代碼中判斷是否起振穩定的方式是使用軟件延時等待,設置的HSE_STARTUP_TIMEOUT數值是0x500,參考代碼如下:




當晶振離開MCU的晶振連接引腳較遠,或者匹配電容不合理,或者使用貼片晶振而不是直插晶振時,HSE_STARTUP_TIMEOUT的等待穩定時間不足以使晶振起振,會出現無法起振的情況,導致系統時鐘為HSI的8MHz。

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

解決方法是調大HSE_STARTUP_TIMEOUT,例如設置HSE_STARTUP_TIMEOUT為0x5000

3.2FLASH

3.2.1APM32F103xE的頁擦時間、片擦時間、寫時間比STM32F103xE的快

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

如果運行的代碼中存在軟件延時等待擦寫時間,注意調整代碼。

3.2.2Flash等待周期的配置差異

手冊中系統頻率與訪問Flash等待時間關系如下(見用戶手冊):
(1)STM32F103ZET6的手冊



(2)APM32F103ZET6的手冊


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

因此,在配置該參數時,建議還是嚴格按照官網提供的參數配置。

PS:我看了極海官網上的FAQ,發現有些人因為等待周期不夠而出現很多錯誤,所以大家一定要盡量按照手冊上的選擇等待周期的個數!不確定夠不夠的,可以先設置多一個,畢竟“多多益善”嘛~

3.2.3Flash擦寫過程中關閉中斷

在網上看到,APM32F103ZET6在執行擦寫Flash時,最好先關閉中斷,否則可能擦寫Flash失敗(個人沒有遇到過這個問題),而STM32F103ZET6則不需要,

3.3功耗

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

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

3.4GPIO

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

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

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

3.5USBD與CAN共用

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

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

3.6運行代碼的速度有差異

相信有不少人都會用for或while循環做延時,但是在實際運用時,發現軟件延時在時間的精度上會有誤差。

由此可見,APM和STM的芯片在代碼的執行速度上有差異,大家千萬別把用在STM的延時循環直接套在APM上!可能會因為啟動時間不夠長而導致系統時鐘頻率不對(別問我怎么知道的,血的教訓[狗頭])。

當然,用定時器或者直接用時鐘周期做精準定時的話,那就noproblem了~

3.7Boot0引腳接地問題

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

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

4總結

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 國產芯片
    +關注

    關注

    2

    文章

    269

    瀏覽量

    29860
  • ST芯片
    +關注

    關注

    0

    文章

    5

    瀏覽量

    5221
  • 中國科技
    +關注

    關注

    0

    文章

    9

    瀏覽量

    2485
收藏 人收藏

    評論

    相關推薦

    [3.2.1]--STM32F103ZET6的時鐘結構

    時鐘STM32F103ZET6
    李開鴻
    發布于 :2022年11月12日 03:15:07

    怎樣用GD32F103ZET6替換STM32F103ZET6芯片呢

    怎樣用GD32F103ZET6替換STM32F103ZET6芯片呢?有哪些操作流程呢?
    發表于 10-22 06:51

    STM32F103ZET6紅牛電路圖

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

    STM32F103ZET6 V3.0核心板電路圖

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

    基于STM32F103ZET6示波器程序

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

    STM32F103ZET6原理圖+PCB文件

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

    STM32F103ZET6數據手冊

    STM32F103ZET6、芯片學習資料、資料齊全,全面介紹了STM32F103ZET6芯片,覆蓋范圍廣。
    發表于 05-13 15:39 ?743次下載

    stm32f103zet6電路圖

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

    STM32F103ZET6最小系統原理圖和PCB

    STM32F103ZET6最小系統原理圖和PCB
    發表于 08-24 17:42 ?338次下載

    STM32F103ZET6網絡開發板原理圖

    STM32F103ZET6網絡開發板原理圖
    發表于 10-27 09:19 ?110次下載
    <b class='flag-5'>STM32F103ZET6</b>網絡開發板原理圖

    STM32f103zet6使用庫函數點亮一個LED

    STM32f103zet6使用庫函數點亮一個LED
    發表于 05-22 10:34 ?119次下載
    <b class='flag-5'>STM32f103zet6</b>使用庫函數點亮一個LED

    STM32F103ZET6——控制LED燈

    STM32F103ZET6——控制LED燈
    發表于 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
    發表于 12-16 16:58 ?37次下載
    <b class='flag-5'>STM32F103ZET6</b> - USB_HID -2 (IAP升級)

    STM32F103ZET6最小系統原理圖

    STM32F103ZET6最小系統原理圖和PCB圖免費下載。
    發表于 07-01 10:57 ?224次下載

    STM32F103ZET6 IAP超級終端

    STM32F103ZET6 IAP 超級終端資料分享
    發表于 11-21 15:24 ?10次下載
    主站蜘蛛池模板: 国产免费麻传媒精品国产AV | 摸董事长的裤裆恋老小说 | 久草热8精品视频在线观看 久草青青在线 | 中文字幕在线永久 | 综合精品欧美日韩国产在线 | 推倒美女总裁啪啪 | 日本久久道一区二区三区 | 在线日韩欧美一区二区三区 | 国产精品免费视频播放 | 国产成在线观看免费视频 | AV天堂午夜精品一区 | 國產麻豆AVMDXMDX | 亚洲精品视频久久 | 久久精视频 | 好看的电影网站亚洲一区 | 67194成在线观看免费 | 又爽又黄又粗又大免费视频 | 国产午夜亚洲精品区 | 69成人免费视频 | 中字幕视频在线永久在线观看免费 | 97精品国产自产在线观看永久 | 麻豆国产99在线中文 | 亚洲成色爱我久久 | 黄片a级毛片 | 入禽太深免费高清在线观看5 | 日本午夜精品久久久无码 | 爱爱好爽好大好紧视频 | 日韩在线看片中文字幕不卡 | 久久精品成人免费网站 | 亚洲成人免费在线 | 国产AV综合手机在线观看 | 久久成人免费观看全部免费 | 国产精品99久久久精品无码 | 国产亚洲精品免费视频 | 成年人视频在线免费观看 | 亚洲精品乱码电影在线观看 | 恋老视频 国产国佬 | 亚洲欧美精品无码大片在线观看 | 老奶奶50p| 日本大片免a费观看视频 | 精品国产90后在线观看 |