EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 xiaoming11 于 2021-9-18 11:10 编辑
6 w, @3 i6 |- j% J2 H
% J2 N0 w; g, R- z; O1.DSP28355的最高频率为150MHZ5 r4 {; |% Y0 Y2 e
30MHZ晶振信号OSCCLK经锁相环10倍频(PLLCR设置)然后经过2分频(PLLSTS设置)产生150MHZ时钟信号
- A9 k2 Q$ o' O2.150MHZ :1)LSPCLK(低速时钟)-----------------------------SPI,SCI,IIC,MCBSP% s5 ^7 n) W ], H6 l+ @4 @
2) 1/2(75MHZ)-----------------------------------------ecan# B, r8 m& L# j3 M0 t
3) 150MHZ ---------------------------------------------EPWM,ECAP,EQEP,DMA,TIMER
- r1 h* w; g4 R: h8 ]- ^$ N4) HSPCLK(高速时钟)------------------------------------ADC
0 \, n+ W; B2 r' g/ x6 e7 x6 g, G3.改变时钟时钟频率必须等待系统时钟稳定后,才能继续完成其他操作
( s$ I3 A: n1 P; M# y8 D0 ~4.在PCLKCR0,PCLKCR1,PCLKCR3寄存器打开时钟模块(sysctrl();函数里) 看门狗:) f! v* T5 E1 a/ V1 ^1 S/ l1 v
1:看门狗:只要是一个定时器(8位计数器),当定时器时间到达最大值时会发出一个输出脉冲(看门狗复位信号(WDRST:将XRS拉低512个OSCCLK周期)和看门狗中断信号(WDINT))。
J# c: R# h0 Y) x4 H' q在程序正常运行过程中每次在看门狗定时器到达最大值之前要清除看门狗定时器。1 ]% n9 i% C n( Y
清除看门狗计数器方法 6 b/ ~" X' r# R& S' b. x
1)WDKEY=0X55+0XAA! G ]+ k9 G. D# s& m i/ e
2)XRS外部复位信号(低电平有效)
2 m% z7 k$ f- w3)看门狗自动复位信号WDRST
* c* b- q, `$ {9 J$ J4 a触发复位信号
; o" f! n0 c4 a& ?+ J1 g1)看门狗计数器的输出
; Q- \6 `, C1 K0 ^9 F1 j7 n" P* }6 |2)WDCHK不等于101: f- {( ~$ X# J& {; Q
2.WDENINT: 1:使能看门狗中断信号WDINT,屏蔽看门狗复位信号WDRST' ?/ `9 H5 R; N* [7 V' V3 W
0:使能看门狗复位信号WDRET,屏蔽看门狗中断信号WDINT CPU定时器TIMER0,1,2
2 v* p/ c* Z; q' G( A$ Q2 M1.工作原理:首先将周期寄存器值(prdh:prd)装载到32位计数器(TIMH:TIM)中,接着每经过TDDR+1个系统时钟周期递减一次,当计数器等于0时,定时器产生中断信号。, t+ ?4 k4 A0 T0 {
2.不用清除标志位,系统自动清除。
3 a& r2 Y7 T5 n& f; P2 I* s3.寄存器8 F: N. k- R9 x0 t% |
1)TCR.TRB 1:TIM重载PRD,PSC重载TDDR
. S0 W5 \- I* Y' n( Y2)TPR寄存器:(0~7位)TDDR, (8~15)PSC# y! U( A' }3 p- F" T( k( |
4.每个时钟周期源到来时,只要psch:psc的值大于0,psch:psc就会减1,当psch:psc减少到0之后重新加载TDDRH:TDDR中的值,同时定时器计数器(TIMH:TIM)减1。
, v/ A, s9 y; v9 f/ f' P5.定时器函数
1 w0 z! ]0 w) A$ q6 aConfigcputimer(&cputimer0,150,1 000 000) % ?, b8 B& M- ~1 p6 U+ F
哪个定时器 频率 周期
: X" n% O" \$ V& A' W; a时间=(频率*周期)/150 000 000 (150 000 000为时钟频率) 9 H1 G9 }( I, |; t- A5 Y
|