This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] LMK04610:编程顺序错误- PLL2未锁定

Guru**** 2502205 points
Other Parts Discussed in Thread: LMK04610

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/clock-timing-group/clock-and-timing/f/clock-timing-forum/1249515/lmk04610-programming-order-wrong---pll2-is-not-locked

器件型号:LMK04610

您好!

我将在我自己的 PCB 上使用 lmk04610。 我正在尝试使用具有 SPI 的软件通过我的 FPGA Arm 内核对其进行配置。

我可以看到写入和读取工作非常出色。

我要尝试做的是锁定 PLL2。 正如我通过使用范围/检查寄存器0xBE 读取 STATUS0/检查 STATUS0所看到的那样、PLL2不会锁定。

另外、我可以看出、通过查看输出时钟、时钟是不正确的、例如、如果我尝试获得120MHz、我将获得111MHZ。 使用差分探头进行检查。  

这里是我的 PCB 设计:

如您所见、我有10MHz 的 CLKIN0输入。

我只需要 PLL2、因为我不使用 VCXO、所以 PLL1关断。

这是我使用的寄存器:

R0	0x000000
R1	0x000100
R2	0x000200
R3	0x000346
R4	0x000438
R5	0x000503
R6	0x000611
R7	0x000700
R8	0x000800
R9	0x000900
R10	0x000A00
R11	0x000B00
R12	0x000C51
R13	0x000D08
R14	0x000E00
R15	0x000F00
R16	0x00100E
R17	0x001100
R18	0x001204
R19	0x001304
R20	0x001400
R21	0x001508
R22	0x001648
R23	0x001700
R24	0x001800
R25	0x001919
R26	0x001A0A
R31	0x001F00
R32	0x002001
R33	0x002100
R34	0x002278
R39	0x002714
R40	0x002808
R41	0x002914
R42	0x002A08
R43	0x002B00
R44	0x002C44
R45	0x002D00
R46	0x002E30
R47	0x002F08
R48	0x003001
R49	0x00310C
R50	0x003200
R51	0x003300
R52	0x003463
R53	0x003518
R54	0x003603
R55	0x003700
R56	0x003802
R57	0x003918
R58	0x003A03
R59	0x003B00
R60	0x003C02
R61	0x003D00
R62	0x003E63
R63	0x003F00
R64	0x004063
R65	0x004118
R66	0x004203
R67	0x004300
R68	0x00440C
R69	0x004500
R70	0x00460C
R71	0x004700
R72	0x004808
R73	0x004900
R74	0x004A05
R75	0x004B00
R76	0x004C08
R77	0x004D00
R78	0x004E30
R79	0x004F00
R80	0x005030
R81	0x005100
R82	0x005230
R83	0x005300
R84	0x005430
R85	0x005500
R86	0x005605
R87	0x005718
R88	0x00583F
R89	0x005961
R90	0x005A0A
R91	0x005B02
R92	0x005C02
R93	0x005D00
R94	0x005E00
R95	0x005F61
R96	0x0060A8
R97	0x006100
R98	0x006278
R99	0x006300
R100	0x006440
R101	0x006500
R102	0x006600
R103	0x006700
R104	0x006800
R105	0x006900
R106	0x006A09
R107	0x006B01
R108	0x006C01
R109	0x006D28
R110	0x006E27
R111	0x006F00
R112	0x007000
R113	0x007100
R114	0x007214
R115	0x007300
R116	0x00741E
R117	0x007500
R118	0x007601
R119	0x007701
R120	0x0078FF
R121	0x007900
R122	0x007A86
R123	0x007BA0
R124	0x007C08
R125	0x007D00
R126	0x007E00
R127	0x007F34
R128	0x00801F
R129	0x008100
R130	0x008200
R131	0x008300
R132	0x00840F
R133	0x008501
R134	0x008601
R135	0x008700
R136	0x008840
R137	0x008900
R138	0x008A00
R139	0x008B40
R140	0x008C00
R141	0x008D80
R142	0x008E00
R143	0x008F40
R144	0x009000
R145	0x009100
R146	0x009280
R147	0x009380
R148	0x009404
R149	0x009502
R150	0x009610
R151	0x009720
R152	0x009820
R153	0x009980
R155	0x009B00
R156	0x009C20
R171	0x00AB00
R172	0x00AC00
R173	0x00AD00
R175	0x00AF00
R176	0x00B001
R190	0x00BE03
R246	0x00F600
R247	0x00F700
R249	0x00F907
R250	0x00FAD7
R252	0x00FC00
R253	0x00FD00
R254	0x00FE00
R255	0x00FF00
R256	0x010000
R257	0x010100
R258	0x010200
R259	0x010300
R260	0x010400
R261	0x010500
R262	0x010600
R263	0x010700
R264	0x010800
R265	0x010900
R266	0x010A00
R267	0x010B00
R269	0x010D00
R270	0x010E00
R272	0x011000
R273	0x011100
R274	0x011200
R277	0x011500
R278	0x011600
R279	0x011700
R281	0x011900
R282	0x011A00
R292	0x012408
R295	0x012704
R296	0x012801
R297	0x012905
R298	0x012A01
R299	0x012B04
R300	0x012C05
R301	0x012D04
R302	0x012E01
R304	0x013005
R305	0x013105
R307	0x013305
R308	0x013405
R309	0x013505
R312	0x013805
R313	0x013905
R314	0x013A05
R316	0x013C05
R317	0x013D05
R320	0x01400A
R321	0x014109
R322	0x014240
R323	0x014300
R325	0x014500
R326	0x01466C
R329	0x014900
R330	0x014A00
R331	0x014B00
R332	0x014C00
R334	0x014E00
R336	0x015000
R337	0x015107
R338	0x015207
R339	0x015307

以下是配置这些寄存器的 C 代码:

快速说明:

使用外部 RESETn 复位 PLL

2.写寄存器0x0复位 PLL 的值0x81并且1ms 后再写0x00

  如数据表所述、设置寄存器0x11、0x85、0x86到0x00、寄存器0xF6到0x02

4. 按升序将寄存器0写入末尾。

5.再次向寄存器0xF6写入值0x02

6.向寄存器0x85写入0x00

7.向0x86写入0x00

8.将0x01写入0x11

9.向0xAD 写入0x30

10.等待20ms

11.用0x00写 AD

12.从 FPGA 输入端读取 STATUS0以及从寄存器0xBE、并进行检查示波器- 状态0不是"1"。 另外、我可以说 PLL2没有被锁定!

此顺序由数据表指南提供。 我错了什么?!

ST_DATA_TO_SPI_u38.分离 器_init[0]= 0x000000;//R0
ST_DATA_TO_SPI_u38.分离 器_init[1]= 0x000100;//r1
ST_DATA_TO_SPI_u38.separ_init[2]= 0x000200;//R2
ST_DATA_TO_SPI_u38.分离 器_init[3]= 0x000346;//r3
ST_DATA_TO_SPI_u38.分离 器_init[4]= 0x000438;//R4
ST_DATA_TO_SPI_u38.SELER_INIT[5]= 0x000503;//R5
ST_DATA_TO_SPI_u38.分离 器_init[6]= 0x000611;//R6
ST_DATA_TO_SPI_u38.分离 器_init[7]= 0x000700;//R7
ST_DATA_TO_SPI_u38.separ_init[8]= 0x000800;//R8
ST_DATA_TO_SPI_u38.分离 器_init[9]= 0x000900;//R9
ST_DATA_TO_SPI_u38.分离 器_init[10]= 0x000A00;//R10
ST_DATA_TO_SPI_u38.分离 器_init[11]= 0x000B00;//R11
ST_DATA_TO_SPI_u38.separ_init[12]= 0x000C51;//R12
ST_DATA_TO_SPI_u38.separ_init[13]= 0x000D08;//R13
ST_DATA_TO_SPI_u38.分离 器_init[14]= 0x000E00;//R14
ST_DATA_TO_SPI_u38.分离 器_init[15]= 0x000F00;//R15
ST_DATA_TO_SPI_u38.分离 器_init[16]= 0x00100E;//R16
ST_DATA_TO_SPI_u38.分离 器_init[17]= 0x001100;//R17
ST_DATA_TO_SPI_u38.分离 器_init[18]= 0x001204;//R18
ST_DATA_TO_SPI_u38.分离 器_init[19]= 0x001304;//R19
ST_DATA_TO_SPI_u38.分离 器_init[20]= 0x001400;//R20
ST_DATA_TO_SPI_u38.separ_init[21]= 0x001508;//R21
ST_DATA_TO_SPI_u38.separ_init[22]= 0x001648;//R22
ST_DATA_TO_SPI_u38.SELER_INIT[23]= 0x001700;//R23
ST_DATA_TO_SPI_u38.分离 器_init[24]= 0x001800;//R24
ST_DATA_TO_SPI_u38.分离 器_init[25]= 0x001919;//R25
ST_DATA_TO_SPI_u38.分离 器_init[26]= 0x001A0A;//R26
ST_DATA_TO_SPI_u38.分离 器_init[27]= 0x001F00;//R31
ST_DATA_TO_SPI_u38.分离 器_init[28]= 0x002001;//R32
ST_DATA_TO_SPI_u38.分离 器_init[29]= 0x002100;//R33
ST_DATA_TO_SPI_u38.SELER_INIT[30]= 0x002278;//R34
ST_DATA_TO_SPI_u38.分离 器_init[31]= 0x002714;//R39
ST_DATA_TO_SPI_u38.分离 器_init[32]= 0x002808;//R40
ST_DATA_TO_SPI_u38.separ_init[33]= 0x002914;//R41
ST_DATA_TO_SPI_u38.分离 器_init[34]= 0x002A08;//R42
ST_DATA_TO_SPI_u38.separ_init[35]= 0x002B00;//R43
ST_DATA_TO_SPI_u38.分离 器_init[36]= 0x002C44;//R44
ST_DATA_TO_SPI_u38.SELER_INIT[37]= 0x002D00;//R45
ST_DATA_TO_SPI_u38.分离 器_init[38]= 0x002E30;//R46
ST_DATA_TO_SPI_u38.分离 器_init[39]= 0x002F08;//R47
ST_DATA_TO_SPI_u38.分离 器_init[40]= 0x003001;//R48
ST_DATA_TO_SPI_u38.分离 器_init[41]= 0x00310C;//R49
ST_DATA_TO_SPI_u38.separ_init[42]= 0x003200;//R50
ST_DATA_TO_SPI_u38.separ_init[43]= 0x003300;//R51
ST_DATA_TO_SPI_u38.分离 器_init[44]= 0x003463;//R52
ST_DATA_TO_SPI_u38.分离 器_init[45]= 0x003518;//R53
ST_DATA_TO_SPI_u38.分离 器_init[46]= 0x003603;//R54
ST_DATA_TO_SPI_u38.分离 器_init[47]= 0x003700;//R55
ST_DATA_TO_SPI_u38.分离 器_init[48]= 0x003802;//R56
ST_DATA_TO_SPI_u38.分离 器_init[49]= 0x003918;//R57
ST_DATA_TO_SPI_u38.分离 器_init[50]= 0x003A03;//R58
ST_DATA_TO_SPI_u38.分离 器_init[51]= 0x003B00;//R59
ST_DATA_TO_SPI_u38.分离 器_init[52]= 0x003C02;//R60
ST_DATA_TO_SPI_u38.分离 器_init[53]= 0x003D00;//R61
ST_DATA_TO_SPI_u38.分离 器_init[54]= 0x003E63;//R62
ST_DATA_TO_SPI_u38.分离 器_init[55]= 0x003F00;//R63
ST_DATA_TO_SPI_u38.分离 器_init[56]= 0x004063;//R64
ST_DATA_TO_SPI_u38.separ_init[57]= 0x004118;//R65
ST_DATA_TO_SPI_u38.separ_init[58]= 0x004203;//R66
ST_DATA_TO_SPI_u38.分离 器_init[59]= 0x004300;//R67
ST_DATA_TO_SPI_u38.分离 器_init[60]= 0x00440C;//R68
ST_DATA_TO_SPI_u38.分离 器_init[61]= 0x004500;//R69
ST_DATA_TO_SPI_u38.分离 器_init[62]= 0x00460C;//R70
ST_DATA_TO_SPI_u38.SELER_INIT[63]= 0x004700;//R71
ST_DATA_TO_SPI_u38.separ_init[64]= 0x004808;//R72
ST_DATA_TO_SPI_u38.分离 器_init[65]= 0x004900;//R73
ST_DATA_TO_SPI_u38.separ_init[66]= 0x004A05;//R74
ST_DATA_TO_SPI_u38.分离 器_init[67]= 0x004B00;//R75
ST_DATA_TO_SPI_u38.分离 器_init[68]= 0x004C08;//R76
ST_DATA_TO_SPI_u38.分离 器_init[69]= 0x004D00;//R77
ST_DATA_TO_SPI_u38.分离 器_init[70]= 0x004E30;//R78
ST_DATA_TO_SPI_u38.分离 器_init[71]= 0x004F00;//R79
ST_DATA_TO_SPI_u38.separ_init[72]= 0x005030;//R80
ST_DATA_TO_SPI_u38.分离 器_init[73]= 0x005100;//R81
ST_DATA_TO_SPI_u38.separ_init[74]= 0x005230;//R82
ST_DATA_TO_SPI_u38.分离 器_init[75]= 0x005300;//R83
ST_DATA_TO_SPI_u38.分离 器_init[76]= 0x005430;//R84
ST_DATA_TO_SPI_u38.分离 器_init[77]= 0x005500;//R85
ST_DATA_TO_SPI_u38.分离 器_init[78]= 0x005605;//R86
ST_DATA_TO_SPI_u38.分离 器_init[79]= 0x005700;//R87
ST_DATA_TO_SPI_u38.separ_init[80]= 0x00583F;//R88
ST_DATA_TO_SPI_u38.separ_init[81]= 0x005961;//R89
ST_DATA_TO_SPI_u38.分离 器_init[82]= 0x005A0A;//R90
ST_DATA_TO_SPI_u38.分离 器_init[83]= 0x005B02;//R91
ST_DATA_TO_SPI_u38.分离 器_init[84]= 0x005C02;//R92
ST_DATA_TO_SPI_u38.分离 器_init[85]= 0x005D00;//R93
ST_DATA_TO_SPI_u38.分离 器_init[86]= 0x005E00;//R94
ST_DATA_TO_SPI_u38.分离 器_init[87]= 0x005F61;//R95
ST_DATA_TO_SPI_u38.分离 器_init[88]= 0x0060A8;//R96
ST_DATA_TO_SPI_u38.分离 器_init[89]= 0x006100;//R97
ST_DATA_TO_SPI_u38.separ_init[90]= 0x006278;//R98
ST_DATA_TO_SPI_u38.分离 器_init[91]= 0x006300;//R99
ST_DATA_TO_SPI_u38.分离 器_init[92]= 0x006440;//R100
ST_DATA_TO_SPI_u38.分离 器_init[93]= 0x006500;//R101
ST_DATA_TO_SPI_u38.分离 器_init[94]= 0x006600;//R102
ST_DATA_TO_SPI_u38.分离 器_init[95]= 0x006700;//R103
ST_DATA_TO_SPI_u38.分离 器_init[96]= 0x006800;//R104
ST_DATA_TO_SPI_u38.分离 器_init[97]= 0x006900;//R105
ST_DATA_TO_SPI_u38.分离 器_init[98]= 0x006A09;//R106
ST_DATA_TO_SPI_u38.分离 器_init[99]= 0x006B01;//R107
ST_DATA_TO_SPI_u38.分离 器_init[100]= 0x006C01;//R108
ST_DATA_TO_SPI_u38.分离 器_init[101]= 0x006D28;//R109
ST_DATA_TO_SPI_u38.分离 器_init[102]= 0x006E27;//R110
ST_DATA_TO_SPI_u38.分离 器_init[103]= 0x006F00;//R111
ST_DATA_TO_SPI_u38.分离 器_init[104]= 0x007000;//R112
ST_DATA_TO_SPI_u38.分离 器_init[105]= 0x007100;//R113
ST_DATA_TO_SPI_u38.分离 器_init[106]= 0x007214;//R114
ST_DATA_TO_SPI_u38.分离 器_init[107]= 0x007300;//R115
ST_DATA_TO_SPI_u38.分离 器_init[108]= 0x00741E;//R116
ST_DATA_TO_SPI_u38.分离 器_init[109]= 0x007500;//R117
ST_DATA_TO_SPI_u38.分离 器_init[110]= 0x007601;//R118
ST_DATA_TO_SPI_u38.分离 器_init[111]= 0x007701;//R119
ST_DATA_TO_SPI_u38.分离 器_init[112]= 0x0078FF;//R120
ST_DATA_TO_SPI_u38.分离 器_init[113]= 0x007900;//R121
ST_DATA_TO_SPI_u38.分离 器_init[114]= 0x007A86;//R122
ST_DATA_TO_SPI_u38.分离 器_init[115]= 0x007BA0;//R123
ST_DATA_TO_SPI_u38.分离 器_init[116]= 0x007C08;//R124
ST_DATA_TO_SPI_u38.分离 器_init[117]= 0x007D00;//R125
ST_DATA_TO_SPI_u38.分离 器_init[118]= 0x007E00;//R126
ST_DATA_TO_SPI_u38.分离 器_init[119]= 0x007F34;//R127
ST_DATA_TO_SPI_u38.分离 器_init[120]= 0x00801F;//R128
ST_DATA_TO_SPI_u38.分离 器_init[121]= 0x008100;//R129
ST_DATA_TO_SPI_u38.SELER_INIT[122]= 0x008200;//R130
ST_DATA_TO_SPI_u38.分离 器_init[123]= 0x008300;//R131
ST_DATA_TO_SPI_u38.分离 器_init[124]= 0x00840F;//R132
ST_DATA_TO_SPI_u38.separ_init[125]= 0x008501;//R133
ST_DATA_TO_SPI_u38.分离 器_init[126]= 0x008601;//R134
ST_DATA_TO_SPI_u38.separ_init[127]= 0x008700;//R135
ST_DATA_TO_SPI_u38.分离 器_init[128]= 0x008840;//R136
ST_DATA_TO_SPI_u38.分离 器_init[129]= 0x008900;//R137
ST_DATA_TO_SPI_u38.分离 器_init[130]= 0x008A00;//R138
ST_DATA_TO_SPI_u38.分离 器_init[131]= 0x008B40;//R139
ST_DATA_TO_SPI_u38.分离 器_init[132]= 0x008C00;//R140
ST_DATA_TO_SPI_u38.分离 器_init[133]= 0x008D80;//R141
ST_DATA_TO_SPI_u38.分离 器_init[134]= 0x008E00;//R142
ST_DATA_TO_SPI_u38.separ_init[135]= 0x008F40;//R143
ST_DATA_TO_SPI_u38.分离 器_init[136]= 0x009000;//R144
ST_DATA_TO_SPI_u38.分离 器_init[137]= 0x009100;//R145
ST_DATA_TO_SPI_u38.separ_init[138]= 0x009280;//R146
ST_DATA_TO_SPI_u38.分离 器_init[139]= 0x009380;//R147
ST_DATA_TO_SPI_u38.separer_init[140]= 0x009404;//R148
ST_DATA_TO_SPI_u38.separer_init[141]= 0x009502;//R149
ST_DATA_TO_SPI_u38.分离 器_init[142]= 0x009610;//R150
ST_DATA_TO_SPI_u38.SELER_INIT[143]= 0x009720;//R151
ST_DATA_TO_SPI_u38.分离 器_init[144]= 0x009820;//R152
ST_DATA_TO_SPI_u38.分离 器_init[145]= 0x009980;//R153
ST_DATA_TO_SPI_u38.SELER_INIT[146]= 0x009B00;//R155
ST_DATA_TO_SPI_u38.分离 器_init[147]= 0x009C20;//R156
ST_DATA_TO_SPI_u38.分离 器_init[148]= 0x00AB00;//R171
ST_DATA_TO_SPI_u38.分离 器_init[149]= 0x00AC00;//R172
ST_DATA_TO_SPI_u38.分离 器_init[150]= 0x00AD00;//R173
ST_DATA_TO_SPI_u38.分离 器_init[151]= 0x00AF00;//R175
ST_DATA_TO_SPI_u38.分离 器_init[152]= 0x00B001;//R176
ST_DATA_TO_SPI_u38.分离 器_init[153]= 0x00BE03;//R190
ST_DATA_TO_SPI_u38.分离 器_init[154]= 0x00F600;//R246
ST_DATA_TO_SPI_u38.separ_init[155]= 0x00F700;//R247
ST_DATA_TO_SPI_u38.分离 器_init[156]= 0x00F907;//R249
ST_DATA_TO_SPI_u38.SELER_INIT[157]= 0x00FAD7;//R250
ST_DATA_TO_SPI_u38.SELER_INIT[158]= 0x00FC00;//R252
ST_DATA_TO_SPI_u38.分离 器_init[159]= 0x00FD00;//R253
ST_DATA_TO_SPI_u38.分离 器_init[160]= 0x00FE00;//R254
ST_DATA_TO_SPI_u38.分离 器_init[161]= 0x00FF00;//R255
ST_DATA_TO_SPI_u38.分离 器_init[162]= 0x010000;//R256
ST_DATA_TO_SPI_u38.分离 器_init[163]= 0x010100;//R257
ST_DATA_TO_SPI_u38.分离 器_init[164]= 0x010200;//R258
ST_DATA_TO_SPI_u38.分离 器_init[165]= 0x010300;//R259
ST_DATA_TO_SPI_u38.分离 器_init[166]= 0x010400;//R260
ST_DATA_TO_SPI_u38.分离 器_init[167]= 0x010500;//R261
ST_DATA_TO_SPI_u38.分离 器_init[168]= 0x010600;//R262
ST_DATA_TO_SPI_u38.分离 器_init[169]= 0x010700;//R263
ST_DATA_TO_SPI_u38.分离 器_init[170]= 0x010800;//R264
ST_DATA_TO_SPI_u38.分离 器_init[171]= 0x010900;//R265
ST_DATA_TO_SPI_u38.分离 器_init[172]= 0x010A00;//R266
ST_DATA_TO_SPI_u38.分离 器_init[173]= 0x010B00;//R267
ST_DATA_TO_SPI_u38.分离 器_init[174]= 0x010D00;//R269
ST_DATA_TO_SPI_u38.分离 器_init[175]= 0x010E00;//R270
ST_DATA_TO_SPI_u38.separ_init[176]= 0x011000;//R272
ST_DATA_TO_SPI_u38.SELER_INIT[177]= 0x011100;//R273
ST_DATA_TO_SPI_u38.SELER_INIT[178]= 0x011200;//R274
ST_DATA_TO_SPI_u38.分离 器_init[179]= 0x01175;//R277
ST_DATA_TO_SPI_u38.分离 器_init[180]= 0x011600;//R278
ST_DATA_TO_SPI_u38.SELER_INIT[181]= 0x011700;//R279
ST_DATA_TO_SPI_u38.分离 器_init[182]= 0x011900;//R281
ST_DATA_TO_SPI_u38.分离 器_init[183]= 0x011A00;//R282
ST_DATA_TO_SPI_u38.分离 器_init[184]= 0x012408;//R292
ST_DATA_TO_SPI_u38.分离 器_init[185]= 0x012704;//R295
ST_DATA_TO_SPI_u38.分离 器_init[186]= 0x012801;//R296
ST_DATA_TO_SPI_u38.分离 器_init[187]= 0x012905;//R297
ST_DATA_TO_SPI_u38.分离 器_init[188]= 0x012A01;//R298
ST_DATA_TO_SPI_u38.分离 器_init[189]= 0x012B04;//R299
ST_DATA_TO_SPI_u38.分离 器_init[190]= 0x012C05;//R300
ST_DATA_TO_SPI_u38.分离 器_init[191]= 0x012D04;//R301
ST_DATA_TO_SPI_u38.分离 器_init[192]= 0x012E01;//R302
ST_DATA_TO_SPI_u38.分离 器_init[193]= 0x013005;//R304
ST_DATA_TO_SPI_u38.separ_init[194]= 0x013105;//R305
ST_DATA_TO_SPI_u38.分离 器_init[195]= 0x013305;//R307
ST_DATA_TO_SPI_u38.SELER_INIT[196]= 0x013405;//R308
ST_DATA_TO_SPI_u38.SELER_INIT[197]= 0x013505;//R309
ST_DATA_TO_SPI_u38.分离 器_init[198]= 0x013805;//R312
ST_DATA_TO_SPI_u38.分离 器_init[199]= 0x013905;//R313
ST_DATA_TO_SPI_u38.分离 器_init[200]= 0x013A05;//R314
ST_DATA_TO_SPI_u38.分离 器_init[201]= 0x013C05;//R316
ST_DATA_TO_SPI_u38.分离 器_init[202]= 0x013D05;//R317
ST_DATA_TO_SPI_u38.separ_init[203]= 0x01400A;//R320
ST_DATA_TO_SPI_u38.分离 器_init[204]= 0x014109;//R321
ST_DATA_TO_SPI_u38.分离 器_init[205]= 0x014240;//R322
ST_DATA_TO_SPI_u38.分离 器_init[206]= 0x014300;//R323
ST_DATA_TO_SPI_u38.分离 器_init[207]= 0x014500;//R325
ST_DATA_TO_SPI_u38.分离 器_init[208]= 0x01466C;//R326
ST_DATA_TO_SPI_u38.分离 器_init[209]= 0x014900;//R329
ST_DATA_TO_SPI_u38.分离 器_init[210]= 0x014A00;//R330
ST_DATA_TO_SPI_u38.分离 器_init[211]= 0x014B00;//R331
ST_DATA_TO_SPI_u38.separ_init[212]= 0x014C00;//R332
ST_DATA_TO_SPI_u38.分离 器_init[213]= 0x014E00;//R334
ST_DATA_TO_SPI_u38.SELER_INIT[214]= 0x015000;//R336
ST_DATA_TO_SPI_u38.分离 器_init[215]= 0x015107;//R337
ST_DATA_TO_SPI_u38.SELER_INIT[216]= 0x015207;//R338
ST_DATA_TO_SPI_u38.分离 器_init[217]= 0x015307;//R339

u16 addr = 0x0;
u32 data1;
//init SPI
init_lmk04610_spi ();

//////// LMK04610/////的建议编程序列
// POR 的默认编程序列包括:
// 1. 切换 RESETn 引脚高电平-低电平-高电平
// 2. 使用寄存器0x0011位对所有寄存器进行编程0 = 0 //启动
//-Register 0x85 = 0x00 //PLL2_LD_Wndw_SIZE [7:0]
//-Register 0x86 = 0x00 //PLL2_LD_wndw_size_initial
//-寄存器0xF6 = 0x02 //PLL2_DLD_EN
// 3. 对寄存器0x0011的位0 = 1以启动器件//启动
// 4. 启用 PLL2数字锁定检测
//-0xAD = 0x30 //PLL2_CTRL
//-延迟20ms
//-0xAD = 0x00 //PLL2_CTRL


DeviceConfiguration.ControlBits.PLL_RESET = 1;
XIL_Out32 (FPGA_CONTROL_ADDR、DeviceConfiguration.Control);
USleep (1000);
DeviceConfiguration.ControlBits.PLL_RESET = 0;
XIL_Out32 (FPGA_CONTROL_ADDR、DeviceConfiguration.Control);
USleep (1000);
DeviceConfiguration.ControlBits.PLL_RESET = 1;
XIL_Out32 (FPGA_CONTROL_ADDR、DeviceConfiguration.Control);
睡眠(1);


//重置芯片
ST_DATA_TO_SPI_u38.分离 器_init[0]=0x000081;
lmkWriteReg (st_data_to_spi_u38.separator_init[0]>8、st_data_to_spi_u38.splifier_init[0]);

USleep (1000);
//释放复位芯片
ST_DATA_TO_SPI_u38.分离 器_init[0]=0x000000;
lmkWriteReg (st_data_to_spi_u38.separator_init[0]>8、st_data_to_spi_u38.splifier_init[0]);
睡眠(1);

ST_DATA_TO_SPI_u38.分离 器_init[17]= 0x001100;//R17 0x11 //启动
ST_DATA_TO_SPI_u38.separ_init[125]= 0x008500;//R133 0x85 //PLL2_LD_wndw_size[7:0]
ST_DATA_TO_SPI_u38.separator_init[126]= 0x008600;//R134 0x86 //PLL2_LD_wndw_size_initial
ST_DATA_TO_SPI_u38.SELER_INIT[154]= 0x00F602;//R246 0xF6 //PLL2_DLD_EN

for (WRITE_NO = 0;WRITE_NO <= 217;WRITE_NO++){
lmkWriteReg (st_data_to_spi_u38.separator_init[write_no]>>8、st_data_to_spi_u38.splifier_init[write_no]);
usleep (100);

USleep (10000);//5
ST_DATA_TO_SPI_u38.separer_init[154]= 0x00F602;//R154 0xF6
lmkWriteReg (st_data_to_spi_u38.separator_init[154]>8、st_data_to_spi_u38.splifier_init[154]);

USleep (10000);
ST_DATA_TO_SPI_u38.separ_init[125]= 0x008500;//R133 0x85 //PLL2_LD_wndw_size[7:0]
lmkWriteReg (st_data_to_spi_u38.separator_init[125]>8、st_data_to_spi_u38.splifier_init[125]);


USleep (10000);
ST_DATA_TO_SPI_u38.separator_init[126]= 0x008600;//R134 0x86 //PLL2_LD_wndw_size_initial
lmkWriteReg (st_data_to_spi_u38.separer_init[126]>8、st_data_to_spi_u38.splifier_init[126]);

ST_DATA_TO_SPI_u38.分离 器_init[17]= 0x001101;//R17 0x11 //启动
lmkWriteReg (st_data_to_spi_u38.separator_init[17]>8、st_data_to_spi_u38.splifier_init[17]);

睡眠(2);


ST_DATA_TO_SPI_u38.分离 器_init[150]= 0x00AD30;//R173
lmkWriteReg (st_data_to_spi_u38.separator_init[150]>8、st_data_to_spi_u38.splifier_init[150]);
睡眠(20000毫升);

ST_DATA_TO_SPI_u38.分离 器_init[150]= 0x00AD00;//R173
lmkWriteReg (st_data_to_spi_u38.separator_init[150]>8、st_data_to_spi_u38.splifier_init[150]);

sleep (1);//等待3秒钟使时钟稳定
//读取状态寄存器
uint32_t STATUS_IN = Xil_In32 (0x80000000+0x00A4);//


xil_printf ("-成功运行 lmk04610配置%x \r\n"、STATUS_IN);


xil_printf ("\r\n\r\n ");
addr = st_data_to_spi_u38.splifier_init[153]>>8;
DAT = lmkReadReg (addr);//虚拟读取
DATA1 = addr << 8|dat;
xil_printf ("st_data_to_spi_u38.separer_init[%d]= 0x%x;\r\n"、write_no、data1);
usleep (100);

谢谢  

O·K·奥弗

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、我刚移除了输入 clock0中的50k Ω、这解决了问题。