找回密码
 注册
关于网站域名变更的通知
查看: 1445|回复: 3
打印 上一主题 下一主题

ARM_ cortex M4国产处理器(AT32F403ZGT6)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-6 10:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
一、AT32F403ZGT6介绍
  • 效能/性能
    4 q; y' D5 n' \7 w+ M$ k
    • ARM® Cortex®-M4主频最
      . f' G& u1 Q' @9 ?9 }( D( I高200MHz
    • 单精度浮点运算单元
    • 內存执行零等待技术
    • 2.6V ~ 3.6V 供电电压
    • I/Os 可承受 5V 电平
    • 温度范围-40 ~ +85°C
      & h/ f6 J5 N& }5 Q$ i3 w

      % a; p& p$ b% ^6 z
  • 內存; a+ f3 i, q% p  X/ s
    • 高达1MB闪存
    • 高达224KB SRAM
      / t* E0 h5 e( t: `
      $ ]* u" m2 r$ x( A# ?0 I, [
  • 时钟
    ' Y2 A# C* }/ S3 `* ]
    • PLL (200 MHz输出)
    • 外部高速 4 ~ 16 MHz晶体振荡器
    • 内部高速 8MHz RC振荡器(-40°C ~ 85°C)
    • 外部低速 32.768kHz RTC 晶体振荡器
    • 内部低速 40kHz RC振荡器
      1 l8 _4 r% E. d/ a( [2 P1 d6 \* ]2 j* E
      4 f' z. }1 Z2 K
  • 复位和电源管理
    • 上电/断电复位(POR/PDR)
    • 可编程电压监测器(PVD)) ?" c, H. q5 i( X9 w6 @/ L

      % G! j# W( u7 Z" h
  • 仿真高性能外设0 O+ Y8 h( t: t6 B3 f; d
    • 3组2M采样速率12位A/D转换器(21通道)
    • 2通道12位D/A转换器' ^1 |  a( U: W0 S6 }

      ; s' A3 q$ g! M: Z
    6 `+ G& c0 R- S5 }- A. D- D

4 E0 P9 A' `2 l* h) r3 S
  • 定时器
    ; \1 y. ~$ F; L6 \/ _9 o. b$ Y! C9 E
    • 3个16位带死区控制PWM高级控制定时器
    • 2个32位, 8个16位通用定时器
    • 2个看门狗定时器(独立和窗口型)
    • 2个16位基本定时器(驱动DAC)
    • 1个系统时间定时器: 24位自减型
      9 ~; m4 K+ x9 m% `& H$ T" h

      / G9 B& S8 `& i. E$ p* |9 v
  • 外设接口6 s4 \. @  y$ E, f/ y- o
    • 3 x I2C
    • 4 x SPI / I2S (SPI可达50MHz)
    • 3 x USART + 2 x UART
    • 2 x SDIO
    • USB 2.0 全速接口
    • CAN 2.0B
      " n) W6 Y/ @# V1 [7 i) T

      . j3 r, Z$ ^8 f* b9 [( |
  • DMA
    3 m  k$ B; f# W+ ]! P' i
    • 12通道, 支持定时器、ADC、DAC、SDIO、I2S、SPI、I2C和USART, \/ @" y7 V# L2 t$ D
      7 |' o; n- ]$ p% I
  • XMC
    0 R# i& k" t. u2 C1 _9 F, {6 U
    • 支持CF卡、SRAM、PSRAM、NOR和NAND存储器
    • 支持并行LCD接口, 兼容8080/6800模式2 P# ?4 f. Z* G, W: |8 v* |

      # j, q/ Q2 W( B, x
  • SPIM
    6 d% s6 z9 h" B: g
    • 外部 SPI Flash memory 扩展(程序执行/数据储存/程序与数据可加密)
      2 p; U- J, O: c9 f
      + D/ L+ l; L* V
  • 封装4 V( \4 x& K* J  q
    • 48/64/100/144-pin LQFP
    • 48-pin QFN2 P( K, M, l, K; _9 F$ V6 ^$ O+ @

    6 \$ s) g' B1 e' C1 |6 k
% o  ^4 L% M. P5 U
/ I7 N' S% i' [3 D5 y( f
( ~4 B% H  s$ \: B
/ q( Q) S* x+ i" a5 b
( f* [8 a- V7 B; i( h' p: m% s8 n
) s9 b1 f' |3 d4 n5 T0 l! ]

* k- j& g$ X% u/ l8 q
7 G7 P9 J, H6 |& L3 @% b

' q) _. [% a7 A
$ T  I$ ~  g1 a7 F

4 B1 N, o5 g4 k# Y7 b& w- N: t& f' u. e9 A4 x, K. _
  ^& w# J: v" a3 c2 l2 D7 L

7 N& T' U3 {+ [0 n) d

4 i- G' N. `& L8 _/ q1 `" X
! v: X. ~# W  [' i) |( j( I

$ n# G; N9 U9 V1 H1 w, d) V, J' a( y) h- R

- L9 K: T8 U  s2 ]3 q/ G; x7 b4 K0 I' `4 K' S1 m

  _' X# D) s. V; l; ^+ p7 D" \" l& a# J0 Z7 n

8 |3 T$ E% {- G2 L: p, J; X) t& f& M2 A, `! _5 T# f
+ }% q( M" i: O  d; F( t. u+ \
/ G4 j1 H+ Y( d% p

& q1 S! R2 \9 Q  x! a
6 ?0 {  K1 g3 c4 v* v% `* h
2 k  ~$ W/ s4 }! f6 N
# N. O/ |5 x! r1 A

$ T3 T% J, |9 _9 d7 G6 L+ o7 A( u0 P0 a4 V

' B5 Y6 L. n: q3 h& o/ A2 E
: G' t& z4 `3 O" i. Z
' y' z9 e3 q$ z

. d- S3 }. r3 d

0 s; R2 W, `: c6 u* F" @# `- f8 X8 j. l+ ]# X8 ]) |: q

. R- F! G; G* o$ A; q, v- c
. h# x& e4 E. q* Q' s6 |. O. [
2 k/ O# ?" a% A( b& K) r+ Z
& ^$ @% I( L+ o
" P3 b6 w, ~1 P/ Y2 O

& H, z4 h5 u1 o* ]
4 u. j) G8 R  J$ R( O- r
0 u, R; q; K+ y' z0 ^

- D6 K! @7 W8 p+ s+ o( ^, @& b* g
/ e( q# v* G2 ~/ [0 s( P
2 w, I) u, t' w+ j" D# }
7 Y" `3 t9 V3 Q+ q

8 d5 u9 [# @+ h! ^二、点亮LED灯4 r/ y2 }% s. O7 K

9 n7 J: ]& e/ Z点亮LED并结合系统滴答时钟进行精确延时
% [* b, r% P) g( I* s; G
  • #include "systick.h"
    $ r1 ?( S" B& g. {+ v
  • 9 G) D; W. B- M9 X

  • # s4 K1 h$ V6 H9 U% e
  • static u8 fac_us;
    / w3 e$ I) C6 u! L8 t+ x
  • static u16 fac_ms;
    3 h  `3 h$ H1 V% F4 e) h

  • ; s% B8 ^* E: p) E; F- M
  • void systick_init(u8 sys_clock)9 r. o% a7 W7 h" @# W
  • {$ c: H( l$ c% |0 Q' U
  •         SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);( Q# w2 S. N" q) ?1 {* W8 k
  •         
    1 t0 k) h$ N4 B7 w, e( C2 m6 k
  •         fac_us=sys_clock;- ^4 u3 t+ F5 \( r7 e1 l& ~
  •         fac_ms=(u16)fac_us*1000;
    ' X. w/ v# y% r3 F
  • }
    4 J4 V& b/ t6 k+ b0 [
  • ( {- r/ T8 O# j2 M8 C3 S- [! o% Z* g
  • //'nus'<=83886# b3 D& q0 }5 j
  • void delay_us(u32 nus)6 A& p1 `8 i; n4 V, u- e
  • {
    # S4 x/ N. T8 ^, z" K, i
  •         u32 temp;; k5 I! i: T0 e! Y+ n, K) G5 u7 ~1 k
  •         0 j2 E5 Q& L# x: i6 j2 c
  •         SysTick->VAL=0;
    6 n* d( s) ~  Y
  •         SysTick->LOAD=nus*fac_us;
    $ U3 ~( b+ v- o
  •         SysTick->CTRL|=0x01;
    ! S6 Q! a3 F  s4 ^3 z
  •         ! @9 s$ L4 ~' W( J. w; Z- ^) O
  •         do& b$ A7 C( V- {: }* ~( A' e
  •         {3 Q/ Q) z+ a+ F  l, ]
  •                 temp=SysTick->CTRL;
    7 k" F3 r0 ?' F" H4 H+ D5 k
  •         }while((temp&0x01)&&!(temp&(1<<16)));3 o0 V7 z3 @5 X; T, [# d8 {
  •         SysTick->CTRL&=~0x01;8 t4 j" [0 o+ P6 s( i; V
  •         SysTick->VAL=0;
    6 u! j$ a4 q% z* n, y8 c
  • }: u0 y1 H$ `# f1 L

  •   d  n3 n4 B8 U; B
  • //'nus'<=83
    9 j) W, q0 I  U: A6 w
  • static void delay_nms(u8 nms). L$ V" O7 B- i: p
  • {
    0 D2 I2 n! B" l
  •         u32 temp;7 Y9 @1 g! T9 `- u& l
  •         
    ; F1 X0 i- s+ `' A
  •         SysTick->VAL=0;
    ; M$ x5 l% _4 S; {$ A/ i
  •         SysTick->LOAD=nms*fac_ms;$ H( Y8 s5 f7 U/ E- \
  •         SysTick->CTRL|=0x01;
    * Q" M$ j9 ^8 @' L4 T% x
  •         
    8 k" Q% j* }3 \; r& U$ x7 i0 z
  •         do/ _& f2 x2 ^# M7 i# H
  •         {) A& b) E6 f6 r. A' k
  •                 temp=SysTick->CTRL;
    / H5 e2 p* {+ h/ b* q- U% Q; x
  •         }while((temp&0x01)&&!(temp&(1<<16)));
    - ^$ {' l' U6 Y: P9 c+ K* Q
  •         SysTick->CTRL&=~0x01;, a$ x% Y4 {) O; f( h4 o
  •         SysTick->VAL=0;7 l+ [" _/ H5 b# L: k2 p
  • }2 k- G$ c( F8 n9 e9 s0 l* z
  • 4 M$ b# X3 J, c) c' ?, |. g
  • & B; @7 K; O) A, q: P+ `8 E: N
  • void delay_ms(u32 nms)" X$ `1 O9 w# w; ?- ?# q
  • {* o: F. m) U. @8 ?0 q
  •         u8 yushu=nms%50;
    ' x3 s" W4 P& m' K  U. y! h/ `
  •         u32 zhengshu=nms/50;$ n* N5 A& n) Y: I% B, k6 [8 ~
  •         # O8 D; d: v1 F% }: d
  •         while(zhengshu)
    . ?4 }( T0 `. E, p' e/ R* v# S$ r$ D8 k
  •         {6 B2 S% S5 d. q- H; n
  •                 delay_nms(50);
    $ s4 r/ S2 {, Q5 }6 b( j
  •                 zhengshu --;
    % v0 q/ C' Y# [/ g6 z
  •         }) ~8 |! Q8 f' [4 T
  •         if(yushu), L7 r+ D/ B7 f- J- q+ K+ W) H! |
  •         {% l7 s) Y' G' k6 r1 K7 |% \1 |
  •                 delay_nms(yushu);
    7 G2 z. h* j' m7 m, D- J
  •         }' Z' u9 F' p4 R/ [" C
  • }/ |+ b+ s) d' c) _! Q. g
  • 5 G" i& S% E% n; E1 y6 u  V4 M

( O( l9 R3 H$ |& A3 l2 t$ t$ ?# W7 X. J! M- T+ t+ C$ {

- D8 S. u/ G& F+ G$ X9 V' f3 N# P
  • #include "led.h"4 z  o& P6 l5 K
  • 4 T. c" J% u4 }0 }2 L2 V

  • 6 r; |0 w/ E2 ]( E) P
  • void led_config(void)% D5 Z4 e# r8 F7 j, R" S+ }
  • {
    8 I" ~! O( X. f
  •         GPIO_InitType GPIO_Initstructure;
    * ~$ U7 j8 D' }; a6 e, D
  •         ) A8 H7 _* E7 L" A
  •         RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOD,ENABLE);
    . b2 w& s: Y; z) k
  •         
    7 E( z- g' _  j. {5 |- [
  •         GPIO_Initstructure.GPIO_MaxSpeed=GPIO_MaxSpeed_50MHz;4 }# e0 g4 l; w' S
  •         GPIO_Initstructure.GPIO_Mode=GPIO_Mode_OUT_PP;4 A0 a5 R4 h2 K( N$ X& W7 G- P2 }# D
  •         GPIO_Initstructure.GPIO_Pins=GPIO_Pins_13|GPIO_Pins_14|GPIO_Pins_15;
    & k# [) [4 A  A2 f# \+ T  h: X1 m
  •         0 P" g- C( ]  H/ [  T) m" j
  •         GPIO_Init(GPIOD,&GPIO_Initstructure);4 _% B( [* [$ K% [
  •         8 i6 {+ q6 g. X! i+ U3 E
  •         GPIO_SetBits(GPIOD,GPIO_Pins_13|GPIO_Pins_14|GPIO_Pins_15);' H6 y& }- I% u9 w3 n
  • }
    3 n. ~; B0 @* w4 m" G
  • 8 ~; ?3 ~+ T; J$ p) B

  • ) w. {2 N+ q; Q, ^6 r  v# S. }
  •         4 _' p" C2 ]$ m; Y4 i7 j( z  b+ l2 ~
  • $ _. j. ~* U3 m# |/ @4 M/ m
  • - a2 U# z' G" z7 Z- l. u
$ r& K: W( M6 H+ @: l

3 l9 w; L, @2 C+ J; C1 j4 o5 c% G' f
$ q) E9 H# p- m, N# j7 B) f$ V

1 R0 P% [" i  @6 |1 E

/ b% B/ c. N: ]" n: |- B三、简单总结, I9 s2 f' j/ f8 X
通过试用并对比了STM32、GD32和华芯威特等M4处理器,该处理器系统时钟在同系列里具有较高主频,丰富的外设,且代码风格与STM32很像,在国产mcu中具有较高的性价比。
# ?5 t# N2 R$ |3 B7 M: k! |6 j$ F  O$ l6 D/ a8 M
; V' ^4 X6 A% n  v5 _% Q7 V/ q

! }! r% [" }7 y- O

, Z7 S0 D2 y) `3 \: a8 o6 |) D; U) O/ t

0 C9 x- p6 G: f/ U  i
* A; o1 r4 f0 Q0 e3 c
/ D0 R; O) A1 q& [9 l2 B

$ K- k# J, Q( l7 D
* `6 P' F% p6 r; i/ y6 Y' t

+ o6 S2 n( z' R+ d* z! K6 p5 D
( M) P4 Q! L: U. a, ~% w$ n- q& O- r
( W+ Q9 M# k. z# G3 v/ ?8 [' |# ]
7 t5 `" X2 o3 w2 x/ v

/ v6 W3 O4 r' e( u" Y9 P8 u( }

6 N; r5 W7 J+ Z7 X+ i
0 v0 F+ D9 y/ S' M

9 w, [! m+ c4 V+ X5 y5 _6 S
. f4 d$ v6 Q# A$ K- j; ]4 g  e& `1 b

! i/ I1 H! e) X1 S1 a/ B5 S
* T& V7 G; s9 M, L  S

$ r- j+ n6 S: t
7 d0 N, Q* ~/ W0 y% L7 A

该用户从未签到

3#
发表于 2019-9-21 15:04 | 只看该作者
请问这款,有没有源码

该用户从未签到

4#
发表于 2019-9-23 09:20 | 只看该作者
写得有点乱!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 01:41 , Processed in 0.171875 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表