content/eip545b_3.rst

Fri, 26 Jan 2018 23:32:39 +0100

author
David Douard <david.douard@logilab.fr>
date
Fri, 26 Jan 2018 23:32:39 +0100
changeset 76
aa1c62f79518
child 77
9ba7fe3d0a22
permissions
-rw-r--r--

[eip545b] part 3

76
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
1 ========================================
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
2 EIP 545B RF Frequency Counter - Part 3
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
3 ========================================
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
4
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
5 :author: David Douard
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
6 :Category: Electronics
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
7 :Tags: test equipment, RF, EIP, 545B, counter
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
8 :series: EIP545B Frequency Counter
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
9 :series_index: 3
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
10
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
11
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
12 Default settings
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
13 ================
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
14
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
15 One of the annoying thing with this 'SPECIAL' edition of the firmware are the
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
16 default settings:
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
17
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
18 - Frequency Offset -160MHz
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
19 - Resolution 5 digits
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
20
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
21 One of my goals while disassembling the formware was to 'fix' these defaults
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
22 settings. I was wondering wether they where located in an undocumented part of
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
23 the EEPROM or directly as hardcoded values in the firmware itself.
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
24
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
25 I have partially understood the setup routine, the one called from the RST
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
26 vector; the interrupt vector is located at addresses 0xFFF2-0xFFFF, with the
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
27 RST routine address being at 0xFFFE. In my case, the RST handler is located at
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
28 0x5F19:
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
29
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
30 ::
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
31
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
32 FFF2 svec_SWI3 FDB hdlr_SWI3 ;08 20
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
33 FFF4 svec_SWI2 FDB hdlr_SWI2 ;9E 90
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
34 FFF6 svec_FIRQ FDB hdlr_FIRQ ;48 45
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
35 FFF8 svec_IRQ FDB hdlr_IRQ ;70 F1
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
36 FFFA svec_SWI FDB hdlr_NMI ;00 00
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
37 FFFC svec_NMI FDB hdlr_NMI ;00 00
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
38 FFFE svec_RST FDB hdlr_RST ;5F 19
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
39
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
40
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
41 But completely disassembling the whole RST routine is slow and difficult. At
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
42 some point, I found that a smarter approach would be to compare the content of
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
43 the RAM after a fresh start and after having modified some configuration
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
44 values, like the Frequency Offset.
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
45
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
46 The RAM addresses where the offset values are documented in the Service Manual,
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
47 unfortunately, each model as its how address map, and no available Service
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
48 Manual covers the EIP 545B. So I first needed to find where the frequency
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
49 offset is stored in RAM so I can then look where this area is modified in the
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
50 firmware.
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
51
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
52 Thanks to the TEST10 allowing to read any address in the address space (be it
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
53 RAM, EEPROM, EPROM or even I/O registers), I wrote a simple Python script to
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
54 read the whole content of the RAM via GPIB.
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
55
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
56 It's very slow, since I did not find a way using GPIB commands to read 2 memory
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
57 addresses without quitting the TEST10 mode between to reads. And I had to add
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
58 several sleep() since the EIP is pretty slow to respond to GPIB commands. A
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
59 complete dump of the 2ko RAM took somethin like 15 or 20 minutes.
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
60
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
61 I did not even wrote a script, in fact, just throw some code in an IPython
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
62 session. However, the crude code looks like:
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
63
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
64
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
65 .. code-block:: python
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
66
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
67 import serial
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
68 cnx = serial('/dev/ttyUSB0', baudrate='115200')
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
69 cnx.write('++addr 17\r\n')
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
70
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
71 def rd(x):
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
72 cnx.write('TA10\r\n')
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
73 time.sleep(0.1)
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
74 cnx.write('%04X\r\n' % x)
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
75 time.sleep(0.1)
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
76 cnx.write('++read\r\n')
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
77 time.sleep(0.05)
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
78 r = cnx.read_all()
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
79 cnx.write('TP\r\n')
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
80 return r
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
81
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
82 def getmem(n=0x800):
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
83 out = []
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
84 for x in range(n):
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
85 v = rd(x).strip()
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
86 v = v.split('-')
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
87 out.append(v)
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
88 time.sleep(0.5)
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
89 return out
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
90
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
91 ramcontent = getmem()
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
92 # [...] write ramcontent in a file
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
93
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
94
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
95 This allowed me to quickly find where the Frequency Offset is stored:
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
96 0x0276-0x027C (using the format described in the service manual).
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
97
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
98 For the number of digits, I'm not sure yet, but it looks to be located at
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
99 0x0045 or 0x0046.
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
100
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
101 So I could then look for this Freq. Offset address (OxO276) in the firmware:
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
102 It's used directly only a couple of times in the code, one of them lloking
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
103 like:
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
104
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
105 ::
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
106
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
107 6118 LDX #M0276 ;8E 02 76
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
108 611B LDA #$01 ;86 01
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
109 611D STA ,X ;A7 84
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
110 611F STA $02,X ;A7 02
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
111 6121 LDA #$60 ;86 60
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
112 6123 STA $03,X ;A7 03
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
113
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
114
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
115 in which we can see that the value 0x01 (from register A) is stored at address
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
116 0x0276 and 0x278 (thanks to the STA $02,X instruction, with X being 0x0276 when
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
117 this former instruction is executed, it stores the content of A (0x01) at
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
118 addres 0x0276+2=0x278), and the value 0x60 is stored at 0x0279 (STA $03,X).
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
119
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
120 It worth noting that this snip of code is executed shortly after intializing the
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
121 RAM content to zero.
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
122
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
123 So the result of this piece of code is that the content of the RAM at this
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
124 0x0276 address is:
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
125
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
126 ..
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
127
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
128 01 00 01 60 00 00 00
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
129
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
130 ie., conververted in frequency: -160MHz, the initial value I want get rid of!.
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
131
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
132 So I just have to replace these code by NOP instructions and it should be fine
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
133 for the Frequency Offset, which I haven't done yet (I was waiting for a cheap
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
134 EPROM eraser from eb, which just arrived).
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
135
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
136 Now I also want to fix the initial resolution setup, which I haven't figured
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
137 out yet.
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
138
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
139
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
140 The sensitivity problem
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
141 =======================
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
142
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
143 I have also investigated a bit the sensitivity problem I have on band 3: I can
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
144 hardly detect signals lower than -10dBm at 1 or 2GHz, where it should be able
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
145 to catch a -30dBm.
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
146
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
147 I've tried to recalibrate (on that frequency range) the YIG filter, it did not
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
148 help.
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
149
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
150 Following the advise of HighPrecision on the eevblog forum, I did give a check
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
151 at the SMD capacitors in the IF amplifier/detector detector part of A201. I
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
152 still need to investigate more, but I haven't found an obvious culprit in
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
153 there.
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
154
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
155 But since I had disassembled the A203 unit, I also gave a closer look at the
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
156 YIG filter itself, taking pictures with my small USB microscope.
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
157
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
158 On one side is the ceramic support for connections from the output YIG coupling
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
159 loop:
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
160
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
161 .. image:: {filename}images/eip545b/yig_top.jpg
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
162 :alt: Top view of the YIG filter
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
163
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
164 On the bottom side, we can see the YIG spheres and the coupling loops:
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
165
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
166 .. image:: {filename}images/eip545b/yig_bottomn.jpg
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
167 :alt: Top view of the YIG filter
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
168
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
169 So this filter consists in a 2 stage bandpass filter (with input and output
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
170 couplig loops at 90° each other).
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
171
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
172 Having a closer look, the problem appears:
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
173
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
174 .. image:: {filename}images/eip545b/yig_broken.jpg
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
175 :alt: Broken stage 1 of the YIG filter
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
176
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
177 As can been seen there, the YIG sphere took off the holding rod. Tha cage made
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
178 of the 2 coupling loops is small enough the sphere stayed there, but it is not
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
179 at the center of the 2 loops any more, nor it is correctly orientated. No
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
180 surprise the input signal is so low (in fact the suprise is that is still works
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
181 somehow).
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
182
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
183 I tried to move the sphere a bit, using a sharp (as sharp as possible) wooden
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
184 stick under the USB microscope, but it is really hard to orientate the sphere
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
185 (which diameter is around 0.1 or 0.2mm).
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
186
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
187 I'll try again, just in case, since I can see the mark of the rod on the
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
188 sphere, I think I may be able to roughly reorientate the sphere, but it is
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
189 really hard to do without micrometric actuators.
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
190
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
191 Meanwhile, I've bought on eb a cheap (20$) A203 assembly. It's not exactly the
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
192 same model (it's probably one for the 26.5GHz version, according to
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
193 HighPrecision), we'll see if it works. I hope it's a 127MHz version, otherwise
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
194 I'll have to replace the YIG filter (A201) on my A203 unit with this one.
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
195
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
196 By the way, for thoses interested, I found these 2 documents interesting to
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
197 begin to understand how a YIG oscillator and a YIG filter works:
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
198
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
199 - `YIG TUNED OSCILLATORS`_
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
200 - `YIG TUNED FILTERS`_
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
201
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
202 .. _`YIG TUNED FILTERS`: http://www.microlambdawireless.com/uploads/files/pdfs/ytfdefinitions2.pdf
aa1c62f79518 [eip545b] part 3
David Douard <david.douard@logilab.fr>
parents:
diff changeset
203 .. _`YIG TUNED OSCILLATORS`: http://www.microlambdawireless.com/uploads/files/pdfs/ytodefinitions2.pdf

mercurial