Digital PDFs
Documents
Guest
Register
Log In
XX-62D3F-E4
May 2000
36 pages
Original
5.0MB
view
download
Document:
KW12 Seminar
Order Number:
XX-62D3F-E4
Revision:
0
Pages:
36
Original Filename:
http://bitsavers.org/pdf/dec/pdp12/diagnostics_set2/KW12_Seminar.pdf
OCR Text
SALESMEN'S SEMINAR KW12 .REAL TIME CLOCK .Introduction ·The KW12 Clock is an exceedingly flexible tool. The 1 " following discussion is designed to present a functional "bigpieture" description of the Clock and its features. Puls~ Generator - counting Rate · KW12 has a Variable Time Base. _,,~ , .· '··" •• selected by prog:r-am control. ~, , External input 400 The counting rate is 100 cps kc··7 100 kc·~ '- 1 kc .. "10 kc The external input line enables the u·ser to utilize external events (such-as line frequency) as a time base or to simply count external events. The crystal-controlled pulse generator has an accuracy of .01% at 400 ~c. Counter Register . Each generated pulse causes the counter to be incremented by one. \ . - 20 ii) SALESMEN'S SEMINAR KW12 . REAL TIME CLOCK The counter is a 12-bit register and counts up to 7777 8 and then "overflows" on the next pulse. can be detected by an interrupt, The overflow flag skip instruction, . and/or read status instruction. · Counter Register (12-bit Counter) Overflow Flag 100 cps External Input 1 kcs Note: · Each time the counter reaches 7777 8 + l, program-detectable ~verf low flag is the set~ ·Buffer/Preset Register The buffer/preset register ties the Clock to the PDP-12 accumulator. It has two functions: - 21 - SALESMEN'S SEMINAR KW12 REAL TIME CLOCK 1. To read the current contents of the counter into the AC (to see what "time" it is). 2. To set the counter to a desired starting value and allow it to count up from that number to overflow. This means that the user may select not only the pulse generation or counting rate, but may also determine how many counts will cause a detectable overflow. PDP-12 Accumulator 12 bit Buffer/Preset Register 12 bit Counter Register 12 bit ·Pulse Generator The user program can read the counter by loading its contents into the AC through the buffer/preset register. The user program can initialize the counter to a start- • . ing quantity by loading the counter from the AC through the buffer/preset register. \ - 22 SALESMEN'S SEMINAR KW12 REAL TIME CLCCK It can now be seen that under program control: 1. Counting rate is selected. 2. Counter overflow is detected. 3. Contents of counter can be transferred to AC. 4. Counter can be reset to a known value from AC. ·.The question now is how does the program know when it should read and/or reset the clock counte~. This depends upon the status of the real-world events with which the program is dealing. External events (pulses) are detected on three input channels. (C~.:. .. Input Synchronizers .f Each of the three input channels incorporates a Schmitt trigger wi~h pulse generator and associated logic. The clock control panel allows selection of 0 1) Input signal voltage threshold (±°S volt range). 2) E~ther positive- or negative-going slope. +5 -5 When these preselected conditions are met, the input signal is converted to a program-detectable event. When such an event priate action, occ~,rs, the program can take appro- such as reading or resetting the counter, menting an event tally, etc. - 23 - incre- SALESMEN'S SEMINAR KW12 REAL TIME CLOCK Accumulator 12 4p. · Input C11nnnels #3 Clock Controller Buff er/Preset 12 Overf low -- ,~ ~ #2 ·• #1 • .. Counter 12 li- '-------~---'---~--~--------"' 1 00 cps I 400 kc / / \ " " - 1 kc 100 kc 10 kc Pulse Generator Note that external input channels are selected under program control. The voltage threshold and signal slope are selected via the control panel. -· ·, Input Control Panel Source Line Freq Input 1 + Output 1 24 Threshold SALESMEN'S SEMINAR KW12 REAL TIME CI,OCK Jacks· - Input 1 and Output 1 are phone jacks. The output is available for daisy-chaining to another input, A/D converter, Source etc. Input signal slope selection. Also line voltage selection for 60-cycle/50-cycle timing or counting. Threshold coarse ±s volt selection. Program control of the clock-includes the use of three managing registers. AC . Clock Control Register 12 ,~ Buffer/Preset #3 .. . ' Clock Enable ~egiste~ · 12 Overf l ow r- ~ Counter #2 • #3 • • Clock Status Register 12 "----------'-----------------~--"" . - Clock Control Register This register selects the counting rate and mode of clock operation. It is initialized through 8-mode IOT instruc- tion 6132 - CLLR (Load clock control register from AC). 25 SALESMEN'S SEMINAR KW12 REAL TIME CLOCK AC 1011 !2 I l 3 141 s I '--y--/ Ly--' counting Rate Select Mode Select 1 Input Simulation (For Diagnostic Progranuning) Counting Rate AC~..:. 2 trt:'. ~· .. 000 STOP 001 400 kc 010 100 kc 011 10 kc 100. 1 kc 101 100 cps i·10 ·count from channel 1 111 STOP Modes of Clock Operation AC3_5 Free Running Mode - Counter runs at selected rate, and overflow occurs every 409610 counts. This mode is probably not too useful except for producing overflow "ticks" every (counting rate x 4096) second. easy to understand Counting - 26 - ,. ......@¥14@ It is SALESMEN'S SEMINAR KW12 REAL TIME CLOCK Free Runnin9' Mode with Preset - Counter runs a' selected rate, and when overflow occurs, the contents of the buff er/preset register are transferred to the counter and counting continues. This mode allows for an overflow event to occur at predetermined time intervals. The buffer/preset register is usually initialized ~.··· . . to the negative value (two's compliment) of the numI • I ber of· counts desired before overflow . I Note that the overflow flag set in the above two modes remains set until cleared by IOT instruction 6135. Event Timing Mode with no resetting. Counter runs at selected rate, and on the occurence of an event on a· selected input channel, the contents of the counter are transferred to the buffer/preset register and the counter continues to count. This mode is useful for determining the total elapsed time from one initial event to subsequent events. 27 SALESMEN'S SEMINAR KW12 REAL TIME CLOCK A poststimulus histogram (PST) could be generated using this mode. A stimulus could be issued to a subject and the time to succeeding neuron firings could be determined tl Neuron Firings +-,--->t ' f2 Stirn 0'11 3 t t3 Event Timing with Resetting to.Zero - Counter runs at selected rate. Events on channels 1 and 2 can cause the transfer of the counter to the buffer pre'. ' . , . ' ... _,,·. .set register and the counter will continue to count. .. An event on channel 3, however, will cause the counter to be cleared after its contens have been transferred to the buffer/preset register. This mode is useful in "restarting" the counter on one external event, but not on the others. For the above example, another stimulus on channel 3 could cause clearing of counter for timing following neuron firing with respect to the second stimulus. It can also be used to record the time between events. !!. '; ,; . .;.. 28 - . . . SALESMEN'S SEMINAR h'Wl 2 REAL TIME CLOCK Clock Initiated A/D Conversion 100 000 001 except that the occurrence of 11~ 010 overflow will trigger the A/D 111 011 converter if fast-sample 101 are identical to func~ tion is set. CLock Enable Register The "who_ will do it" register Selects the inputchannels which are ·to be active ·during the program run. 2. Contrbl.s interrupt enabling for external. events and overflow flag.· 3.· Allows initializing of counter from buffer/preset register. Channel 2 interrupt enable• enabl~ ~·· · ·channel 1· intern1pt t 5-.-,4--1s......J I GI 1 Is I t . . 1' Channel 1 1'. Tr ans f ~r 1,..c_o_n_t_e_n_t-.s-.-o-f--0...verf low buffer preset regis- interrupt enable·· ter to counter (inclusive or) if mode 001 and overflow is · cleared. enable . .. Channel 3 interrupt enable l l l1tj1if 9 1' . ~· Channel 2 ·channel 3 · enable enable This register is loaded from AC by IOT 61~4 CLBN (Load Clock Enable register). . . ·. ·:.:·· ... ,, .{'.. •.·::~ . ·"' .':'' au 29 "."'.. 1.. ; SALESMAN'S SEMINAR KW12 REAL TIME CLOCK ~lock Status Register This is the "who done it" register. When an external event or overflow occurs, a bit is set in this register and the entire register is available for program interrogation. If more than one event occurs before this register is iead, another bit is set indicating an event overlap condition. If the overlap,event is on the same channel as the first event, a "pre-event" bit is set. Event Channel l [0I1I2 I Event Channel 2 ~ 1617181 .J,. t 1' Pre-event Channel 1 Overflow t' Pre-event Channel 2 Event Channel 3 (1¥1~ Pre-event Channel 3 The status register is transferred to the AC with IOT 6135 CLSA (Clock Status to AC) iriclusive or reading the status register cl,ears all event indicators including the overflow flag. Clock Handling Instructions (8 Mo l:it:.) 6137 CLCA Clock Counter to AC AC cleared first, then the counter contents is transferred to the buff er/preset register e th~n 6136 CLBA to AC. Buff er Preset to AC AC cleared first. - 30 - SALESMEN'S SEMINAR KW12 REAL TIME CLOCK 6133 CLAB AC to Buff er Preset AC is unchanged. Previous contents of buffer preset are unchanged. 6131 CLSK Skip on Clock Interrupt KW12 REAL TIME CLOCK SUBROUTINE SETUP PACKAGE {The subroutine described below is contained on the Demo Tape. It is listed in the DIAL Index as KW12SUB.) ' ' Abstract This package of subroutines contains the necessary fixed clock enable register, and the clock counter.. It is emphasized that this subroutine package is designed to initialize the clock. Clock interrupts must be handled using the CLSA (6135) instruction. Requirements Storage This package of subroutines uses 137 (octal) or 95 (decimal) locations. Location The first location of this subroutine package should be assembled into the first location of any 8-mode page with the rest of the program following in successive locations. The subroutine is preset; to start in location (6000) 8 of bank·~ unless changed by the user. .:.. '31 - .. SALESMEN'S SEMINAR KW12 REAL TIME CLOCK Usage Calling Sequence This subroutine package has five 8-mode entry points that are indirectly called as follows: JMS I .+l KWxxxx I Indirect jump to subroutine I whose location is contained I in the.location immediately I following the JMS In using one of the entry points, the subroutine will look· for data contaihed in the .third, fourth, and fifth locations following the JMS. · ·rri all cases except where the clock counter is to be-read, ·the AC and link of the main program are preserved. The entry point KWMEASure is used to set up the clock to measure events or intervals of time •. The working contents . of the clock control register, clock enable register, and the number of counts to overflow are specified in the locations following the JMS as follows: .+l .+2 JMS I .+l KWMEAS C1C2C3C4 I JMS to,entry point KWMEAS I clock control register setting I No. of counts to overflow .+3 .+4 / clock enable register setting .+5 I control returns here - 32 SALESMEN'S SEMINAR KW12 REAL TIME CLOCK 0 e Other entry points are used as follows: .+l JMS I .+l KWSTOP I I I I I Stop the clock but preserve software control, enable, and buff er registers Control returns here with AC and link preserved JMS I .+l KWCONTinue . I I / I I Restart the clock using the settings contained in the software registers-. Control returns here with the AC and link preserved JMS I .+l KW READ / Read the clock counter into the AC / If overflow has occurred, set · /link= l, .otherwise link=¢ / Control returns here .+2 .+l .+2 .+1 .+2 .. / In the process of performing the / read, the buffer preset register ·'/ is restored to the contents of .I KWBUFF. Examples The following is a program to ring the Teletype bell 1 time per second. Begin, JMS I .+1 KWMEAS 51¢¢ ¢144 .¢1¢¢ ;. Check, CLSK JMP check CLSA CIA / JMS indirectly to I loc KWMEAS I rate = 1¢¢ Hz Mode = l / 144 octal or 100 decimal counts I to overflow / interrupt on clock overflow / (6131) skip on clock interrupt / Wait / Clear Clock Flag (6135) ·I Clear AC - .33 - SALESMEN'S SEMINAR KW12 REAL TIME CLOCK TAD I Load 207 into AC I Check Teletype flag K207 TSF JMP .-1 TLS JMP check K207, I output AC to Teletype I Go back and wait for next ·/clock overflow / Symbol definition 0207 / I append KW12 set up subroutine package ~ The following is a program that will ring the Teletype bell . after counting 60 events on external channel 1. Begin, JMS I .+l KWMEAS 610'0' 0'074. / JMS indirectly to / location KWMEAS I Rate = chan 1 Mode = 1 /Interrupt after (74) 8 or (60) 10 / counts / I I I I I Check, CLSK JMPCHCK CLSA CLA / / / / TAD K207 TSF JMP .-1 TLS JMP CHECK K207, 0207 I I / I Enable chan 1 input interrupt on overflow (6131) skip on clock interrupt Wait Clear clock flag (6135) Clear AC Load AC with .(207) 8 Test Teletype flag· Wait Ring bell Jump to wait loop Symbol definition append KW12 setup subroutine package barn 11/25/69 - 4L. 34 - .4 I ., SALESMEN'S SEMINAR KW12 REAL TIME CLOCK (_ CO·· 6133 CLAB AC to Buffer Preset AC is unchanged. Previous contents of buffer preset are unchanged. CLSK 6131 Skip on Clock Interrupt KW12 RE..Z\.L TI.ME CLOCK SUBROUTINE SETUP PACKAGE (The subroutine described below is contained on the Demo Tape. It is listed in the DIAL Index as KW12SUB.) Abstract This package of subroutines contains the necessary fixed protocol iequired to start the K\'112. The main program.need only specify the working settings of the clock control register, the. clock enable register, and the clock counter. It is emphasized that this subroutine package is designed to initialize the clock. Clock interrupts must be handled using the CLSA (6135) instruction. ~eguirements Stora9.e '!'his package of subroutines uses 137 (octal) or 95 (decimal) locations. Location •. The first location of this subroutine package should be assembl.ed e into the first lcication of any 8-mode page with the rest of the 0 program follm·ling in successive locations. The subroutine is pre-· ""'......... )""' set to start in location. (6000) 8 of bank~ unless changed by the 1 1sor L.-31. ¥... ¥4. A ¥. J SALESMEN Is SEMINJ.\R KW12 REAL TIME CLOCK (j· .. 0 \c). ;· Usage Calling Sequence This subroutine package has five 8-mode entry points that are indirectly called as follows: .. JMS I .+l KWxx xx / Indirect jump to subroutine I whose location is contained / in the location inunediately . I following the JMS In using one of the entry points, the subroutine will look for data contained in the third, fourth, and fifth locations following the JMS. ... In all cases except where the clock counter is to be read, the AC and link of the main program 0 are preserved. The entry point KWMEASure is used to set up the clock to measure events or intervals of time. The working contents of the clock control register, clock enable register, and the number of counts to overflow are specified in the locations following the JMS as follows: JMS I .+l .+2 e ./'" ·, ....:;.:::.-·· .+3 .+4 .+1 I<WMEAS C1C2C3C4 BUFF E1E2E3E4 .+s I JMS to entry point JGV:ME.~S . I clock control register setting I No. of counts to overflow I clock enable register setting I control returns here - 32 ... !4SfLAbi,,.4 :;;a:s;;_e g .·- A . . MA A_ A. X_-,, )$¥.!_.¥UP. $&PM-\4S...f44... ·... ?44A\4l 0 " SALESMEN s SEMINAR KW12 REAL TIME CLOCK I Other entry points are used as follows: .+r .+2 JMS I .+l KWSTOP ; I / / / / / Stop the clock but preserve software control, enable, and buffer registers Control ret~rns here with AC and link preserved . .+1 JMS I .+l l<WCONTinue I Restart the cloc~ using ·JMS I .+l l<WREAD I Read the clock counter into the AC .+2 .+1 .+2 / the settings contained in the / soft~are registers /·Control returns here with the AC / and link preserved / If overflow has occurred, set / link = l, otherwise link = ¢ I Control ~eturns here / In the process of performing the / read, the buff er preset register / is restored to the contents of I l<WBUFF. Examples The following is a program to ring the Teletype bell 1 time per second. 51¢¢ ¢144 I JMS indirectly to I loc KWMEAS I rate = 1¢§f Hz Mode = 1 I 144 octal or 100 decimal counts ¢1¢¢ I interrupt on clock overflow Begin, JMS I .+l l<WMEAS / to overflow e 0 Check, CLSK JMP check CLSA. CLA / (6131) skip on clock interrupt I Wait / Clear Clock Flag (6135) I Clear AC - 33 - • KW12SUBC KW12, REAL TIME CLOCK, SUBROUTINE SETUP PACKAGE G· 1.0 ABSTRACT This package of subroutines contains the necessary fixed protocol required to start the KW12. The main program need only specify the working settings of the clock control register, the clock enable register, and the buffer register. It is emphasized that this subroutine package is designed to initialize the clock. Clock in- terrupts must be handled using the CLSA (6135) instruction. 2.0 REQUIREMENTS 2.1 STORAGE 137 octal or 95 decimal locations are used by the KW12 subroutine •. package. 2.2 Location The first location of this subroutine package should be assembled into the first location of any 8-mode page with the rest of the program following in successive locations. The subroutine is preset to start in location 6000 8 of bank ¢ unless changed by the user. 2.3 Equipment Basic PDP-12A or B with KW12 option. KW12SUBC-l 3.0 USAGE 3.1 Calling Sequence This subroutine has five 8-mode entry points that are indirectly called, as follows: JMS I .+l KWxx xx /INDIRECT JUMP TO SUBROUTINE /WHOSE LOCATION IS CONTAINED /IN THE LOCATION IMMEDIATELY /FOLLOWING THE JMS In using one of the entry points, the subroutine will look for data contained in the third, fourth, and fifth locations following the JMS. In all cases, except where the clock counter is to be read, the AC and link of the main program are preserved. 4.0 DESCRIPTION 4.1 Discussion The entry point KWM.EASure is used to set up the clock to measure events or intervals of time. The working contents of the clock control register, clock enable register, and the number of counts to overflow are specified in the locations following the JMS as follows: ·~ :;;_ " • JMS I .-rl .-rl K\\TMEAS • -r-3 ~fl~~C3C4 .-r2 .-t4 .+5 /JMS TO ENTRY POINT KWMEAS /CLOCK CONTROL REGISTER SETTING /NO. OF COUNTS TO OVERFLOW /CLOCK ENABLE REGISTER SETTING /CONTROL RETURNS HERE E1E2E3E4 The first two octal digits of the control register setting control the rate and mode of the clock respectively. The last two digits are used to simulate inputs from the external channels. The inter- pretation of c 1 is as follows: C1 Rate ~ STOP l 400 KHz 2 100 KHz 3 10 KHz 4 1 KHz 5 100 Hz 6 Count occurrences of events on external channel 1 if E3 2. KW12SUBC-3 . Ai _,.it 4 4 - .. E44 . . MM# ±; . . . . . ¥SU\. . . .44;. .%1., 4:. ;. e , The interpretation of C2 1 the mode control, is as follows: : C2 Mode '¢ Counter runs at selected rate and overflow is set after 4096 counts. The counter continues.to run and the overflow must be cleared by the IOT 6135. 1 Counter runs at selected rate. Upon occurrence of overflow caused by the most significant bit of the counter going from 1 to ¢, the contents of the buffer preset register is transferred to the counter. 2 counter runs at selected rate. Upon occurrence of an event . on an enabled channel, the· contents of the counter are transferred to the buffer preset register and the counter continues to run. 3 Counter runs at selected rate. upon occurrence of an input event on channel 3, the contents of the counter is transferred to the buffer preset register· and the counter is reset to ¢ from which it continues counting. Inputs on channels l and 2 behave as if c 2 ;:2 • ! • ·~ . ·{ . l •.. , .' KW12SUBC-4 .. .. 4 The counter runs at the selected rate and overflows every 4096 counts. Upon the occurrence of an overflow, an A/D conversion is initiated if the fast sample mode is in use. overflow must be cleared by the 6135 instruction. Note that when in this mode A/D conversions are inhibited unless a clock overflow occurs. 5 This is treated as the combination of (C2:::: 4) and (c 2 == l) 6 (c 2 ::: 4) and (c 2 ::::. 2) 7 BUFF is an octal number from 1 - 77779 and is the number of desired counts to occur before the counter overflows. The subroutine places the 2's complement of BUFF in the buffer preset register and initially in the counter. ., t The last 3 digits of the enable register setting are interpreted f i, I as follows: 1 KW12SUBC-5 Function 0,2,4,6 No Function 1,3,5,7 Cause clock interrupt on counter overflow. KW12SUBC-6 . ,/ . Upon entering the KW12 setup subroutine package at point KWMEASure, the subroutine retrieves the locations • 2, • 3, and • 4, considering the location (.) to be the locations of the JMS I • 1. "· The contents of these locations are stored.in software created control (KWCONR), enable (KWENAB), and buffer registers (KWBUFF). the clock is set up to perform the specified tasks. Then Control is returned to location • 5 with the AC and link preserved and the ' clock running. Other entry points are used as follows: JMS I .-+l KW STOP • .+l /CONTROL RETURNS HERE WITH AC /AND LINK PRESERVED .+2 :... /STOP THE CLOCK BUT PRESERVE /SOFTWARE CONTROL, ENABLE, AND /BUFFER REGISTERS ... ,: • •+l e JMS I .-f'l KWCONTine /RESTART THE CLOCK USING /THE SETTINGS CONTAINED IN /THE SOFTWARE REGISTERS /CONTROL RETURNS HERE WITH /THE AC AND LINK PRESERVED JMS I .+l KWREAD /READ THE CLOCK COUNTER INTO /THE AC. IF OVERFLOW HAS /OCCURRED, SET LINK:. 1, /OTHERWISE LINK= }d /CONTROL RETURNS HERE .+2 .. • .+1 ." «. '' .+2 /IN THE PROCESS OF PERFORMING /THE READ, THE BUFFER PRESET /REGISTER IS RESTORED TO THE /CONTENTS OF KWBUFF • . / .·:. ,,.,,, . ~~ ·..:~~ KW12SUBC-7 •:!!£ -- . gggg4$!IL4 . .: tJ. 44¢is:ti; . . "" • .+l /INITIALIZES THE CLOCK AND /CLEARS SOFTWARE CONTROL, /ENABLE, AND BUFFER REGISTERS. /CONTROL RETURNS TO MAIN /PROGRAM HERE WITH AC AND /LINK PRESERVED. JMS I .+l KWINIT • .,..2 EXAMPLES 4.2 The following is- a program to ring the Teletype bell l time per second: ¢1¢¢ /JMS INDIRECTLY TO /LOC KWMEAS /RATE ::. 1¢¢ Hz, MODE = 1 /144 OCTAL or 1¢¢ DECIMAL COUNTS /TO OVERFLOW. /INTERRUPT ON CLOCK OVERFLOW CHECK, CLSK JMP CHECK CLSA CLA TAD K207 /(6131) SKIP ON CLOCK INTERRUPT /wAIT /CLEAR CLOCK FLAG (6135) /CLEAR AC /LOAD 207 INTO AC BEGIN, JMS I .-rl KWMEAS 51¢¢ ¢144 .· ... ,, .. : ~ ·.: .' '' J ··"'l ···~ ,,.. ··::·-"' . . ' . KW12SUBC-8 ,• ~ ~j -···.-·-.-t e:;xz;;. n .• 4.J.w- # TSF JMP TLS JMP ' /CHECK TELETYPE FLAG .-1 I CHECK /OUTPUT AC TO TELETYPE /GO BACK AND WAIT FOR NEXT /CLOCK OVERFLOW /SYMBOL DEFINITION K207, 0207 ' /APPEND KW12 SETUP SUBROUTINE /PACKAGE The following is a program that will ring the Teletype bell ' . after counting 60 events on external channel l: BEGIN, JMS I KWMEAS /Jt.1S INDIRECTLY TO /LOCATION KWr-'lEAS /RATE= CHAN 1, MODE = 1 /INTERRUPT AFTER (74) 8 or I (60) 10 COUNTS /ENABLE CHAN 1 INPUT /INTERRUPT ON OVERFLOW .+l 61¢¢ ¢¢74 ¢12¢ KW12SUBC-9 • > -:. ·.... i .... @@¢! -• CHECK, CLSK JMP CHECK CLSA CLA TAD K207 TSF JMP .-1 TLS JMP CHECK K207, 0207 /(6131) SKIP ON CLOCK INTERRUPT /WAIT /CLEAR CLOCK FLAG (6135) /CLEAR AC /LOAD AC WITH (207) /TEST TELETYPE FLAGS /WAIT /RING BELL /JUMP TO WAIT LOOP /SYMBOL DEFINITION /APPEND KWl2 SETUP SUBROUTINE /PACKAGE e! KW12SUBC-10 .DFRQANA or FRQANA Original Author: A. M. Engebretson IJ1ified to run under the PDP-12 DEMO Monitor by: Jerre Caputo, DEC, Washington, D. c . . ~sTn~cT- 1(\ ff' \'\ t,1 r. ~-OCJl:aut, performs frequency analysis resulting in sixty-four component cosine, sine, and rms spectra. displays can be scaled; ~rformed Data. and spectrum 0 visually the accuracy of the analysis. RETRIEVE DATA (2 BLOCKS) STARTING AT BLOCK UNIT '·., h'A o1_-T'.Jr-D.... \l I ~r JYPeS' the/firs~ of t~? c~msecutive LINCtape blocks to --· ,,,.\ w~···tr '"'L"" IZ£ 1 u R._.J ~- 1r .. be analyzedv)' Uading zeros must be typed., and Ute bteek nuttt~ -:-tnast be £oll.sw~y~-ing_,tha-,.RE-TURN<~key·;.~ The user then types the tape unit number to be read, 0 - 7, followed by f'tof...A Ii'<~ LINEFEED. ~ .i ~nthesis -of. ., the original data ~, (µ_.., p.A)/y.=ti C'/.i,4_\.o from the sine and cosine components to check \)../1 ,.... • The two blocks specified are read in and displayed. '\ .:--.. r;::"J CCV,,0 . data I may then be scaled -hnger by typing L to increase a •rb FRQANA-1 &1#4414$- .&it.... """.-·. A . AP?,_.,._.; ..._zp._ .... .J$tl!($44U,¢ ... Jt.4_. 4~, .....4@. .......c."1@¥®\ __ _ the vertical scale by 50 ' 9=1e vertical scale by 50 ~ To perfoxm the frequency analysis, tl:le l:lser-type~ F. When the analysis is complete, the display will reappear according to which display option previously has been chosen. Display options are summarized in Table 1. / To compute the resynthesized waveform from the frequency components, ~ type1 T. A9ain, the display will reappear according to the display option that had been chosen. Whe~b&. .~~splay option is I, Sol:- input data, the second trace 'l.~i:l-be J...S the resynthesized waveform. The input data can be compared with t~e resynthesized waveform by turning /.nob 1. Knob 1 is trace separ. a·.to~,, affectin.~ only the vertical display of the • ~- \l. . \l.1i 't'l 1) \.:.~ 'tJ_J..t.,;l -~-J.,......, data. Whe~fully counterclockwise; the top trace is the original data. ·;. At any time. dut.ing operation, a different display may be selected by typing the appropriate key. To select the input data and resynthesized waveform display, the user types I. This is the display that appears immediately after program start or restart. FRQANA-2 .·-: ;_-; .... . .. A.. Ji ..n I ' . I ""·--rt,. .fU C.Ol't·.. i) i ·'" ' rv th) ! ),.)1../.'.l --rei ~eype..s c,.j-ih~- frequency component displayt appear$. . • /;,, f . t h the cosine components on the left and the sine components on the right.will appear.. These can be scaled using /nob 2. To select an rms spectrum for display, type P. This display ~~sohs~i~ by Khob 2. ' 0- Each bar in the graph of the components and the rms spectr-tmr represents a single frequency component from l to 64, i.e., the first bar is the component for the l cycle signal generator and the third bar is the component for the 3 cycle signal generatorp etc., up'through 64. The absolute frequency of the analyzed waveform components can only be obtained by taking the time period . represented by the 512 data points sampled: this will 1 9ry depending on the sampling rate used to collect the data. If the sampling rate were 512 pts./sec. when the data was - ~ represen-g; the absolute taken, then each bar of the graph....wonld components of the frequency domains 1 through 64. If the rate were 1024 pts./sec., then the bars ~GuM· represent5£requencies 2,4 ••• 128 cps. I.. If,·. at any time, the user wishes to select new input data for analysis, he simply types R to ~~;~0-}£~~.f· 1 ocJ \.tVt FRQANA-3 1" - J J1. ~KNOB COMMANDS ~ ·Knob 1 Trace separator (original data and resynthesized Knob 2 Modify spectrum scale data) TELETYPE COMMANIB F - Generate ~ourier Coefficients T - ~esynthesize F\.;<~~ s - ~data ~a~le;r ~;y lnrlf f:;IJ!().1~ - .Merke' data larger by half L p . \!' - Display ~wer spectrum c - Display sine and cosine ~omponents Display ~put data (and resynthesized data if T has been typed) I A e 'PR ~\6 \A t~~\V -\l~~trieve· data from tape R ·>. RAM OPE.a.ION FRQ NA unler 'he DEMO I · I ,~~.r. relies he.aVlJ:~n overlay~pabilities ' ;( /' and uses: DEMO Monitor comrnan"ds RETV x(OPR 5} I blo k fbmber o key vrd I \ o obtain the I I FR ~NA and OK~PR 12) and :KBD./(OPR 15) to handle commands. When FRQANA is loaded under the DEMO Monitor, an attempt is made to load blocks containing cosine tables into the second 4K of core. If there is no second 4K, the load is not completed: this will not affect program operation. The program starts at LINC location 20 and control is immed.iately transferred to code in LINC segment 2 to set up data retrieval procedures for later 4l.erlays. . · FRQANA:..4 .. ·-EM-·-~-· ... # - '" ,, ... .,..,,, .... __ L _ ._ .P. ;:... . (IL. ·. to query the user concerning data blocks to be analyzed. This code is assembled in the same segment as DEMO Summary and Help Text, and the two tape blocks containing this data (blocks 4 '1a 5, Table 4) are transferred directly to the help frame blocks used by the DEMO Monitor and stored as source files. Immediately after Line Feed is pressed in the QANDA routine, LINC segments 2 and 3 of the program are overlaid with input data and cosine tables. The program then begins operation, as described in the USAGE section. Whenever R is typed, LINC segments 2 and 3 are overlaid with · QANDA and text to query the user. The commands to do this are the same as those used during program initialization. Memory allocations at query time and at run time are described j1 Tables 2 and 3. To avoid confusion and illustrate the · complete contents of core, both LINC segments and PDP-8 absolute . addresses are given. .\Table 4. Tape block allocation is illustrated in The block numbers listed are relative to the starting ·block number on tape. WARNING :The name of the program, .DFRQANA, is specified in the retrieve ·t file set up in relative block number 5 at location 334 of FRQANA • "' . : t • ! .' i FRQANA-5 If the name under the DEMO Monitor is changed, then this tape block must be changed also. TABLE 2 MEMORY ALLOCATION AT QUERY TIME LINC Segment MemBlks 0-l 0-7 2 0-l~ 4000-4577 Program 2 1-3 4600-5777 Unused core 2 1 6000-6377 Program summary text, help text 2 2 6400-6777 Help text, retrieve data text, code to handle subsequent overlays 3 3-4 7000-7777 QANDA and code to display text, decode answers • PDP-8 Location Contents 0-3777 DEMO Monitor .,., . FRQANA-6 ,,_-'." .. i t. a ·-· ... .. t ...... :. .. L ...4 ;,..; ... _.. uw..J _rate_;. ht.@. ±.- _ ~ m .,i..;ijt -• L !~ ----A .... MemBlks PDP-8 Location Contents 0-1 0-7 0-3777 DEMO Monitor 2 0-l!a 4000-4577 Program 2 1 4600-46771 Sine spectrum 2 1 4700-4777 1 Cosine spectrum 2 2-3 5000-5777 Synthesized time function 3 0-1 6000-6777 Input data 3 2-3 7000-7777 Cosine table Gr.INC Segment 1 Note that each section is 64 words long, i.e., each word in the sine table contains the value of the sine component ~ssociated with a frequency component and likewise for the cosine component table. After F has been typed, these tables are filled with sine and cosine data representing the phase angle and amplitude of the 64 signal generators. These 64 generators, when run out mathematically as in the FOURIER series computation, will regenerate the original data almost as accurately as when it was taken. The way to produce a notch filter effect then would be to attenuate to zero whichever of 0 the sine-cosine components representing the frequency genera- .' tor are to be removed from the signal, e.g. to remove 60 cycle from the signal zero the 60th sine and cosine component of core from the console using the switch registers and deposit key. -The above example assumes 512 pt/sec. sample rate at data taking time. FRQANA-7 I .~ . -- . .! · · ; 400 @ .,-,, ... , \_ ,,T . __ .. VU .... . W .4 .Af\91f#, ....Lo·¥Ab ..._/;;tt?(_.§A? .k. M. )! - l!JA.4-4.#,.Ak. it-. M!.P~ ... -,,,.. ~ ... ... J_,___ £__ Q______ ___4\!;tQjZ:S~&.(1@4AJA$$_,..,K_4,lif"' Relative Block No. Contents Residence in Core 1 Standard DIAL header block Never gets to core 2 FRQANA 4000-4377 3 FRQANA 4400-4777 4 Summary-Help 1 6000-6377 5 Help 2 - Retrieve 6400-6777 6 QANDA 7000-7377 7 QANDA 7400-7777 10 Cosine Table 10000-10377 11 Cosine Table 10400-10777 f I l f I II I ! FRQANA-8
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies