home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / MATH / VISSIM.ZIP / DIG_PLL.VSM < prev    next >
Text File  |  1994-02-25  |  9KB  |  355 lines

  1. ; VisSim Block Diagram Format (VBDF)
  2. ; Copyright (C) 1989-1994 Visual Solutions
  3. PV=1.500
  4. PS=0
  5. PE=2
  6. PP=5e-005
  7. PI=170
  8. PX=5e-005
  9. PN=1e-006
  10. PL=5
  11. PT=1e-005
  12. Pn=-8,4,14,"Times New Roman"
  13. Pc=99
  14. Po=0.01,50,664
  15. PD=800x600
  16. Pf=0x0
  17. Pr="stub"
  18. Ps=1565,0,0,1089,0,0
  19. Pd=777
  20. PM=1,1,1,1
  21. N.1="summingJunction"*61x35<M>
  22. N.2="plot"*73x11*101x32
  23. pt="VCO Freq Output (pps), Input (pps)"
  24. px="Time (sec)"
  25. pax=0
  26. pf=H
  27. pc=8000
  28. pm=10
  29. pL.0="VCO FREQ out"
  30. pL.1="INPUT FREQ"
  31. N.3="integrator"(1,1)*104x32<M>
  32. N.4="gain"(50)*43x42<M>
  33. N.5="Compound"*53x46#2,2<MC>
  34. n="VCO"
  35. Ms=1559,0,0,1064,0,0
  36. N.6="Compound"*80x40#1,1<MC>
  37. n="LoopFilter"
  38. Ms=1559,0,0,1064,0,0
  39. N.7="comment"*1x23*93x9<M>
  40. C="Typical Loop Filter for Phase Locked Loop
  41. "
  42. N.8="Compound"*56x40#1,1<MC>
  43. n="PD-LPF"
  44. Ms=1559,0,0,1064,0,0
  45. N.9="Compound"*104x42#1,1<MC>
  46. n="Filter 3pole"
  47. Ms=634,0,0,469,0,0
  48. N.10="comment"*99x2*62x12<M>
  49. C="Three Pole Active Low Pass Filter 
  50. Klesov Systems Science: MzF  1992"
  51. N.11="Compound"*40x42#1,1<MC>
  52. n="Filter 2pole"
  53. Ms=1559,0,0,1064,0,0
  54. N.12="comment"*108x5*52x8<M>
  55. C="Two Pole Active Low Pass Filter"
  56. N.13="plot"*73x40*101x32
  57. pt="PD Output (red), PDLPF Out (blue)"
  58. px="Time (sec)"
  59. pax=0
  60. pf=H
  61. pc=8000
  62. pm=10
  63. N.14="variable"*76x26<M>
  64. n="PDLPFOUT"
  65. N.15="variable"*17x51
  66. n="PDLPFOUT"
  67. N.16="comment"*29x14*130x59<M>
  68. C="This block diagram was created by Klesov Systems Science.  (301) 593-6837
  69.  
  70.  
  71. DIGITAL PHASE LOCKED LOOP, SIMPLE MODEL
  72.  
  73. 1)  Phase locked loops are very easy to model with VisSim.
  74. 2)  Phase locked loops are very difficult to design.  Parameter values are very critical and it is                        difficult to casually determine them.
  75. 3)  Model shown here contains 
  76.     a) INPUTS: 1. Constant Frequency Source, 2.  Arbitrary signal
  77.     b) Phase Locked Loop
  78.         i)   Phase Detector - CD4035 followed  by very sharp cutoff low pass filter
  79.         ii)  Loop Filter - one zero/one pole
  80.         iii) Digital  voltage-controlled oscillator (VCO)
  81.     c) Plots of relevent variables
  82. 4)  You are encouraged to modify model, vary parameters, explore other variations.
  83. 5)  References for this model include
  84.     a) Frequency Synthesizers- 3rd Ed - Vadim Manassewitsch- 1987
  85.     b) Phase-Locked Loops - Alain Blanchard- 1976
  86.     c) Phase Lock Techniques - 2nd Ed - Floyd M. Gardner - 1979
  87.     d) Phase Locked Loop Circuit Design - Dan H. Wolaver - 1991
  88.     e) Unpublished Reports on Motor Control Phase Locked Loops by Morris Frayman"
  89. N.17="Compound"*12x13<C>
  90. n="PRESS RIGHT MOUSE BUTTON FOR INFO"
  91. Ms=1567,0,0,1090,0,0
  92. N.18="wireLabel"*60x18<M>
  93. n="Phase Det=Mult & LPF "
  94. N.19="wireLabel"*11x28
  95. n="VCO freq (pps)"
  96. N.20="wireLabel"*5x14<M>
  97. n="Nominal VCO FREQ (pps)"
  98. N.21="wireLabel"*36x44<M>
  99. n="VCO Gain Constant (pps/volt)"
  100. N.22="wireLabel"*139x16<M>
  101. n="VCO output"
  102. N.23="wireLabel"*130x63<M>
  103. n="VCO Frequency output"
  104. N.24="wireLabel"*6x67<M>
  105. n="Command Voltage"
  106. N.25="comment"*2x2*65x9
  107. C="This block diagram simulates a digital phase-locked loop.
  108.  
  109. Select from several inputs.    (1) Constant   (2)  Arbitrary Input
  110. Arbitrary input can be adjusted.
  111. Note how well digital loop tracks input signal."
  112. N.26="wireLabel"*112x34<M>
  113. n="wo in pps"
  114. N.27="Compound"*85x46#1,1<MC>
  115. n="PulseGen"
  116. Ms=1567,0,0,1090,0,0
  117. N.28="quantize"(1)*80x42<M>
  118. N.29="summingJunction"*96x39<M>
  119. N.30="crossDetect"(0.5)*118x39<M>
  120. N.31="abs"*60x39<M>
  121. N.32="comment"*18x2*77x10<M>
  122. C="Acts as pulse generator that produces pulses every time input signal increases by 1 unit.  Based on earlier Digital angle encoder.
  123. Klesov Systems Science ...MzF  1992"
  124. N.33="wireLabel"*71x47<M>
  125. n="Set to 2x slit spacing"
  126. N.34="wireLabel"*114x33<M>
  127. n="Set level to slit spacing"
  128. N.35="gain"(0.5)*30x39<M>
  129. N.36="Compound"*17x40#2,2<MC>
  130. n="PD4035"
  131. Ms=1567,0,0,1090,0,0
  132. N.37="or"*42x33<M>
  133. N.38="summingJunction"*37x54<M>
  134. N.39="sampleHold"(0)*62x26<M>
  135. N.40="summingJunction"*56x49<MR>
  136. N.41="limit"(0,3)*83x28<M>
  137. N.42=">"*125x21<M>
  138. N.43="const"(1.5)*112x23<M>
  139. N.44="unitDelay"(0)*77x47<MR>
  140. N.45="wireLabel"*2x14<M>
  141. n="Reference Pulses"
  142. N.46="wireLabel"*3x64<M>
  143. n="Return Pulses"
  144. N.47="wireLabel"*94x30<M>
  145. n="state#"
  146. N.48="wireLabel"*142x25<M>
  147. n="PFD output"
  148. N.49="wireLabel"*134x58<M>
  149. n="PFD state# output"
  150. N.50="comment"*34x0*69x17<M>
  151. C="KLESOV SYSTEMS SCIENCE  (301) 593-6837
  152. Phase/Frequency Detector based on CD4035 chip
  153. Limiter determines number of register stages: set min=0, max= #stages
  154. Constant to \">\" Block determines register used for output.
  155.  
  156. "
  157. N.51="wireLabel"*108x16<M>
  158. n="selects output register"
  159. N.52="summingJunction"*147x29<M>
  160. N.53="const"(-0.5)*133x32<M>
  161. N.54="comment"*39x1*68x18<M>
  162. C="KLESOV SYSTEMS SCIENCE: 1992
  163.  
  164. 5 POLE Low pass filter consisting of a two pole filter followed by a three pole low pass filter.
  165. Cutoff at about 70Hz = 435rps"
  166. N.55="const"(100)*93x35<M>
  167. N.56="wireLabel"*22x36<M>
  168. n="Kpd"
  169. N.57="Compound"*110x37#2,2<MC>
  170. n="Digital VCO"
  171. Ms=1567,0,0,1090,0,0
  172. N.58="wireLabel"*138x57<M>
  173. n="OUTPUT PULSES"
  174. N.59="wireLabel"*139x22<M>
  175. n="Command Voltage"
  176. N.60="variable"*37x40<M>
  177. n="PDOUT"
  178. N.61="variable"*29x43
  179. n="PDOUT"
  180. N.62="Compound"*6x38#0,1<C>
  181. n="ArbitraryInput"
  182. Ms=1567,0,0,1090,0,0
  183. N.63="sinusoid"(0,1,2)*68x30<M>
  184. N.64="summingJunction"*100x30#9,1<M>
  185. N.65="sinusoid"(0.2,1.7,1.3)*65x33<M>
  186. N.66="sinusoid"(0.3,3.6,0.89)*62x36<M>
  187. N.67="sinusoid"(0.1,15.8,0.5)*60x39<M>
  188. N.68="sinusoid"(0.1,21.5,2.1)*62x42<M>
  189. N.69="sinusoid"(0,7,0.9)*66x44<M>
  190. N.70="sinusoid"(0.1,16,3.1)*69x47<M>
  191. N.71="sinusoid"(0.4,4.5,0.5)*71x50<M>
  192. N.72="const"(45)*83x53<M>
  193. N.73="gain"(4.5)*145x42<M>
  194. N.74="comment"*25x4*86x23<M>
  195. C="KLESOV SYSTEMS SCIENCE: 1992
  196.  
  197. Create arbitrary input by selecting amplitude, frequency, and phase of the sinusoids.  Can also add other VisSim sources to make signal as complex as desired.
  198. Select \"DC level\" constant so that it is close to nominal frequency of VCO."
  199. N.75="wireLabel"*70x57<M>
  200. n="\"DC level\" constant"
  201. N.76="integrator"(0,0)*28x32<R>
  202. N.77="Compound"*8x32#1,1<CR>
  203. n="PulseGen"
  204. Ms=694,0,0,350,0,0
  205. N.78="quantize"(1)*80x47<M>
  206. N.79="summingJunction"*96x39<M>
  207. N.80="crossDetect"(0.5)*118x39<M>
  208. N.81="abs"*61x39<M>
  209. N.82="comment"*18x2*133x26<M>
  210. C="Acts as digital angle encoder that produces pulses every time a \"slit\" is crossed.  Set resolution of quantizer to spacing of two slits; set crossDetect to spacing of one slit...
  211. Klesov Systems Science ...MzF ...1/29/92
  212.  
  213. Factor selected according to lines per encoder disc. Factor=Lines/(4*Pi)  when quantizer set to 1 and crossDetect set to 0.5"
  214. N.83="wireLabel"*71x50<M>
  215. n="Set to 2x slit spacing"
  216. N.84="wireLabel"*109x33<M>
  217. n="Set level to slit spacing"
  218. N.85="wireLabel"*23x43<M>
  219. n="Factor: 500 line Encdr"
  220. N.86="gain"(0.5)*32x39<M>
  221. N.87="wireLabel"*68x56<M>
  222. n="feedback pulses"
  223. N.88="wireLabel"*4x36<M>
  224. n="from VCO output"
  225. N.89="Compound"*5x22#1,2<C>
  226. n="Digital Phase Lock Loop"
  227. Ms=1559,0,0,1064,0,0
  228. N.90="wirePositioner"*9x33<M>
  229. N.91="wirePositioner"*16x57<M>
  230. N.92="variable"*36x44<M>
  231. n=":PFDstate"
  232. N.93="variable"*138x61<M>
  233. n=":PFDstate"
  234. N.94="abs"*141x39<M>
  235. N.95="abs"*148x39<M>
  236. N.96="transferFunction"*39x37<M>
  237. n="transferFunction"
  238. Xg=6227740
  239. Xn="1 "
  240. Xd="1 240.665 81141.2 6.22774e+006 "
  241. Xi="0 "
  242. N.97="transferFunction"*70x39<M>
  243. n="transferFunction"
  244. Xg=169119
  245. Xn="1 "
  246. Xd="1 56.7225 169119 "
  247. Xi="0 "
  248. N.98="transferFunction"*35x39<M>
  249. n="transferFunction"
  250. Xg=2
  251. Xn="1 10 "
  252. Xd="1 0 "
  253. Xi="0 "
  254. N.99="wirePositioner"*108x53<MR>
  255. I.1.i1=5.i1
  256. I.1.i2=4.o1
  257. I.2.i2=89.o1
  258. I.2.i4=62.o1
  259. I.3.i1=1.o1
  260. I.4.i1=5.i2
  261. G.5=1,4,3,20,21,22,23,24,
  262. I.5.o1=3.o1
  263. I.5.o2=1.o1
  264. I.5.i1=57.i1
  265. I.5.i2=57.i2
  266. G.6=7,98,
  267. I.6.o1=98.o1
  268. I.6.i1=8.o1
  269. G.8=9,11,54,
  270. I.8.o1=9.o1
  271. I.8.i1=60.o1
  272. G.9=10,96,
  273. I.9.o1=96.o1
  274. I.9.i1=11.o1
  275. G.11=12,97,
  276. I.11.o1=97.o1
  277. I.11.i1=8.i1
  278. I.13.i1=61.o1
  279. I.13.i2=15.o1
  280. I.14.i1=8.o1
  281. G.17=16,
  282. G.27=28,29,30,31,32,33,34,35,88,94,
  283. I.27.o1=94.o1
  284. I.27.i1=5.o1
  285. I.28.i1=31.o1
  286. I.29.i1=31.o1
  287. f29.2.i=-
  288. I.29.i2=28.o1
  289. I.30.i1=29.o1
  290. I.31.i1=35.o1
  291. I.35.i1=27.i1
  292. G.36=37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,90,91,
  293. I.36.o1=52.o1
  294. I.36.o2=41.o1
  295. I.36.i1=89.i1
  296. I.36.i2=99.o1
  297. I.37.i1=90.o1
  298. I.37.i2=91.o1
  299. I.38.i1=90.o1
  300. f38.2.i=-
  301. I.38.i2=91.o1
  302. I.39.i1=37.o1
  303. I.39.i2=40.o1
  304. I.40.i1=44.o1
  305. I.40.i2=38.o1
  306. I.41.i1=39.o1
  307. I.42.i1=41.o1
  308. I.42.i2=43.o1
  309. I.44.i1=37.o1
  310. I.44.i2=41.o1
  311. I.52.i1=42.o1
  312. I.52.i2=53.o1
  313. G.57=5,27,58,59,
  314. I.57.o1=5.o2
  315. I.57.o2=27.o1
  316. I.57.i1=55.o1
  317. I.57.i2=6.o1
  318. I.60.i1=36.o1
  319. G.62=63,64,65,66,67,68,69,70,71,72,73,74,75,
  320. I.62.o1=73.o1
  321. I.64.i1=63.o1
  322. I.64.i2=65.o1
  323. I.64.i3=66.o1
  324. I.64.i4=67.o1
  325. I.64.i5=68.o1
  326. I.64.i6=69.o1
  327. I.64.i7=70.o1
  328. I.64.i8=71.o1
  329. I.64.i9=72.o1
  330. I.73.i1=64.o1
  331. I.76.i1=62.o1
  332. G.77=78,79,80,81,82,83,84,85,86,95,
  333. I.77.o1=95.o1
  334. I.77.i1=76.o1
  335. I.78.i1=81.o1
  336. I.79.i1=81.o1
  337. f79.2.i=-
  338. I.79.i2=78.o1
  339. I.80.i1=79.o1
  340. I.81.i1=86.o1
  341. I.86.i1=77.i1
  342. G.89=6,8,14,18,26,36,55,56,57,60,87,92,93,99,
  343. I.89.o1=57.o1
  344. I.89.o2=93.o1
  345. I.89.i1=77.o1
  346. I.90.i1=36.i1
  347. I.91.i1=36.i2
  348. I.92.i1=36.o2
  349. I.94.i1=30.o1
  350. I.95.i1=80.o1
  351. I.96.i1=9.i1
  352. I.97.i1=11.i1
  353. I.98.i1=6.i1
  354. I.99.i1=57.o2
  355.