ECE 3610 MICROPROCESSING SYSTEMS: A SPEECH RECORDER AND PLAYER. Using the Polling I/O Method

Size: px
Start display at page:

Download "ECE 3610 MICROPROCESSING SYSTEMS: A SPEECH RECORDER AND PLAYER. Using the Polling I/O Method"

Transcription

1 ECE 3610 MICROPROCESSING SYSTEMS: A SPEECH RECORDER AND PLAYER Using the Polling I/O Method 1

2 PROBLEM SPECIFICATION Design a microprocessing system to record and playback speech. Use a RED and GREEN LED to indicate the process. You may use any part from the following in your design: A basic micro-processor (You may use the HC11 or HSC12 instruction set). Three 512x8 ROM chips. Each ROM chip has one active high chip select (CS). One 256x8 ROM chip, with one active high chip select (CS). Eight 32Kx8 RAM chips. Each RAM chip has one active high chip select (CS). One 64x8 RAM chip, with one active high chip select (CS). Many 4-port PCIA chips. Each PCIA has one active high chip select (CS). Keypad with given truth table An ADC converter with the given specifications A DAC with the given specifications A square wave generator with the given specifications GREEN and RED LEDs 2

3 KEYPAD Example: R Pressed KP1 KP0 R S P V DD V SS 0 V 5 V KP1 KP0 R S P V DD V SS 5 V 0 V Power Supply KP1 (V) KP0 (V) FUNCTION 0 0 KEY NOT PRESSED 0 5 RECORD (R) PRESSED 5 0 PLAYBACK (P) PRESSED 5 5 STOP (S) PRESSED R P S 0 V 0 V Example: Key Not Pressed KP1 KP0 R S P V DD V SS Typically, one cannot press and release a key in less than 50 ms. 5 V 0 V Power Supply 3

4 GIVEN: SQUARE WAVE GENERATOR SQUARE WAVE GENERATOR F1 F0 V DD V SS SQ Power Supply From PCIA 0 V 5 V 5 V 0 V Example: 8 khz F1 F0 V DD V SS SQ To PCIA F1 (V) F0 (V) SQ Frequency (k Hz) Power Supply From PCIA 0 V 0 V 5 V 0 V F1 F0 V DD V SS Example: 0 V SQ 0 V To PCIA 4

5 GIVEN: Analog to Digital Converter (ADC) In general, and ADC periodically, converts an input analog voltage to an n-bit digital code output. The given ADC periodically converts an analog signal having FS=10.0 V (Range is V) to a sequence of 8-bit digital codes. The ADC requires a take next sample control input (TNS). This input should be a periodic square wave whose positive edge tells the ADC when to take the next sample. After receiving the TNS signal, the ADC converts the analog sample to an 8-bit digital representation, which takes a certain amount of time. When complete, the ADC outputs the 8-bit sample, and provides a negative edge on the Data Ready (DR) pin. The DR pulse lasts for 10 μs V 0.0 V Analog Representation of Signal Analog Input TNS ADC DR 8 Digital Output RAM Digital Representation of Signal 5

6 ADC: Converts an input analog voltage ( V) to a sequence of 8-bit digital codes. Input Voltage Output Code Example analog signal Sample Time RAM Code Produced Equal sampling intervals (assume Sampling Rate is 1000/s) 6

7 GIVEN: Digital to Analog Converter (DAC) In general, a DAC periodically, converts a sequence of digital codes to an analog output. The given DAC periodically converts a sequence of 8-bit digital codes to an analog signal having Range from 0.0 to 10.0 V, corresponding to codes from to The DAC requires a Convert Next Sample control input (CNS). This input should be a periodic square wave whose negative edge tells the DAC when to convert the next sample. RAM Digital Input 8 CNS DAC Analog output Sequence of digital codes 7

8 Digital to Analog Converter (DAC) RAM Digital Input 8 CNS DAC Analog output The given Digital to Analog Converter converts 8-bit digital samples to analog. The DAC needs a Convert Next Sample (CNS) to tell it when to convert the next digital sample to analog. DAC Output Original Analog Input CNS CNS CNS CNS CNS CNS Passing the DAC output through a Low Pass Filter would smoothen the edges, resulting in a signal which would more closely resemble the input signal Sequence Input to DAC 8

9 The user shall be able to control the system through the key pad. At any time the user can select the STOP, RECORD, or PLAYBACK function. For instance, during either playback or record, the user may select stop. Or, during record, the user may select stop or playback. The Keypad should be responsive. In other words, when a user presses a key, the system should execute that requested function immediately, without any perceived delay. 9

10 SOLUTION STARTS HERE 10

11 + 5V PowerOn/Reset Device MIC NMIn VMA Address Decoder IRQn φ2 ROM_CS SpRAM_CS SyRAM_CS PCIA_CS LPF AMP DR ADC TNS SQ SQUARE WAVE GENERATOR RESETn CBUS ABUS μp DBUS A15-A13 F1 F0 8 A8-A0 A8-A0 D7-D0 CS 512x8 ROM A14-A0 A14-A0 D7-D0 CS 32Kx8 SpRAM A5-A0 A5-A0 D7-D0 CS 64x8 SyRAM A4-A0 RS4-RS0 D7-D0 CS 4-Port PCIA PC6 PD0 PA7-PA0 PB7-PB0 PC7 CS PC4 PC5 PC1-PC0 PC2 PC3 D7-D0 D7-D0 D7-D0 D7-D0 8 2 CNS DAC For the record function, I am using the SWG to provide the TNS signal for the ADC (8 khz square wave). The μp will take a sample from the ADC and store it into SpRAM on each negedge of DR, and this corresponds to each period of the SWG clock. LPF AMP KEYPAD R P S RED LED GRN LED 11

12 + 5V PowerOn/Reset Device MIC NMIn VMA Address Decoder IRQn φ2 ROM_CS SpRAM_CS SyRAM_CS PCIA_CS LPF AMP DR ADC TNS SQ SQUARE WAVE GENERATOR RESETn CBUS ABUS μp DBUS A15-A13 F1 F0 8 A8-A0 A8-A0 D7-D0 CS 512x8 ROM A14-A0 A14-A0 D7-D0 CS 32Kx8 SpRAM A5-A0 A5-A0 D7-D0 CS 64x8 SyRAM A4-A0 RS4-RS0 D7-D0 CS 4-Port PCIA PC6 PD0 PA7-PA0 PB7-PB0 PC7 CS PC4 PC5 PC1-PC0 PC2 PC3 D7-D0 D7-D0 D7-D0 D7-D0 8 2 CNS DAC For the playback function, I am also using the SWG to provide my software a playback clock. The μp will send one speech sample from SpRAM to the DAC every period of this clock. Thus, speech recording and playback are done at the same rate. LPF AMP KEYPAD R P S RED LED GRN LED 12

13 + 5V PowerOn/Reset Device NMIn IRQn RESETn CBUS ABUS μp DBUS For the record function: The μp turns the green LED on. MIC VMA Address Decoder φ2 ROM_CS SpRAM_CS SyRAM_CS PCIA_CS LPF AMP DR ADC TNS SQ SQUARE WAVE GENERATOR A15-A13 F1 F0 8 A8-A0 A8-A0 D7-D0 CS 512x8 ROM A14-A0 A14-A0 D7-D0 CS 32Kx8 SpRAM A5-A0 A5-A0 D7-D0 CS 64x8 SyRAM A4-A0 RS4-RS0 D7-D0 CS 4-Port PCIA PC6 PD0 PA7-PA0 PB7-PB0 PC7 CS PC4 PC5 b7 IFRC b0 PC1-PC0 PC2 PC3 D7-D0 D7-D0 D7-D0 D7-D0 8 2 CNS DAC The analog speech signal is digitized by the ADC each posedge of the TNS (sampling clock). After conversion is completed, the ADC outputs the 8-bit digital code and pulses DR. The μp polls interrupt flag PC6 to determine if DR has been pulsed. LPF AMP KEYPAD R P S RED LED GRN LED 13

14 + 5V PowerOn/Reset Device MIC NMIn VMA Address Decoder IRQn φ2 ROM_CS SpRAM_CS SyRAM_CS PCIA_CS LPF AMP DR ADC TNS SQ SQUARE WAVE GENERATOR RESETn CBUS ABUS μp DBUS A15-A13 F1 F0 8 A8-A0 A8-A0 D7-D0 CS 512x8 ROM A14-A0 A14-A0 D7-D0 CS 32Kx8 SpRAM A5-A0 A5-A0 D7-D0 CS 64x8 SyRAM A4-A0 RS4-RS0 D7-D0 CS 4-Port PCIA PC6 PD0 PA7-PA0 PB7-PB0 PC7 CS PC4 PC5 PC1-PC0 PC2 PC3 D7-D0 D7-D0 D7-D0 D7-D0 8 2 CNS DAC For the record function (Cont d): When the IFRC6 flag is set, the μp reads the 8-bit sample and stores it into the Speech Buffer RAM (SpRAM), and then clears the flag. When the SpRAM becomes full the μp lights the RED and GREEN LEDs to indicate memory full, and then stops recording. LPF AMP KEYPAD R P S RED LED GRN LED 14

15 + 5V PowerOn/Reset Device MIC NMIn VMA Address Decoder IRQn φ2 ROM_CS SpRAM_CS SyRAM_CS PCIA_CS LPF AMP DR ADC TNS SQ SQUARE WAVE GENERATOR RESETn CBUS ABUS μp DBUS A15-A13 F1 F0 8 A8-A0 A8-A0 D7-D0 CS 512x8 ROM A14-A0 A14-A0 D7-D0 CS 32Kx8 SpRAM A5-A0 A5-A0 D7-D0 CS 64x8 SyRAM A4-A0 RS4-RS0 D7-D0 CS 4-Port PCIA PC6 PD0 PA7-PA0 PB7-PB0 PC7 CS PC4 PC5 PC1-PC0 PC2 PC3 D7-D0 D7-D0 D7-D0 D7-D0 8 2 CNS DAC For the playback function: The μp turns the red LED on. Playback of speech samples always begins at the start of the SpRAM. The μp polls the flag for PC7 (IFRC7) to determine when the next sample should be sent to the DAC. LPF AMP KEYPAD R P S RED LED GRN LED 15

16 + 5V PowerOn/Reset Device MIC NMIn VMA Address Decoder IRQn φ2 ROM_CS SpRAM_CS SyRAM_CS PCIA_CS LPF AMP DR ADC TNS SQ SQUARE WAVE GENERATOR RESETn CBUS ABUS μp DBUS A15-A13 F1 F0 8 A8-A0 A8-A0 D7-D0 CS 512x8 ROM A14-A0 A14-A0 D7-D0 CS 32Kx8 SpRAM A5-A0 A5-A0 D7-D0 CS 64x8 SyRAM A4-A0 RS4-RS0 D7-D0 CS 4-Port PCIA PC6 PD0 PA7-PA0 PB7-PB0 PC7 CS PC4 PC5 PC1-PC0 PC2 PC3 D7-D0 D7-D0 D7-D0 D7-D0 8 2 CNS DAC For the playback function (Cont d): When the flag becomes set, the μp reads an 8-bit sample from SpRAM and sends it to the DAC, pulses CNS, and then clears the flag. When the SpRAM becomes empty the μp lights the RED and GREEN LEDs to indicate memory empty, and then stops playing back. LPF AMP KEYPAD R P S RED LED GRN LED 16

17 Device A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 VMA φ2 ROM PCIA SyRAM SpRAM x x x x y y y y y y y y y x x x x x x x x y y y y y x x x x x x x y y y y y y y y y y y y y y y y y y y y y 1 1 ROM_CS = A15 A14 A13 VMA φ2 PCIA_CS = A15 A14 A13n VMA φ2 SyRAM_CS = A15 A14n A13n VMA φ2 SpRAM_CS = A15n VMA φ2 ROM_SA: FE00 ROM_EA: FFFF PCIA_SA: C000 PCIA_EA: C01F SyRAM_SA: 8000 SyRAM_EA: 803F SpRAM_SA: 0000 SpRAM_EA: 7FFF 17

18 PCIA EQUATES/MEMORY MAP PCI_BASE EQU $C000 CRA EQU $C000 DRA EQU $C001 DIRA EQU $C002 IERA EQU $C003 IFRA EQU $C004 PRA EQU $C005 CRB EQU $C008 DRB EQU $C009 DIRB EQU $C00A IERB EQU $C00B IFRB EQU $C00C PRB EQU $C00D CRC EQU $C010 DRC EQU $C011 DIRC EQU $C012 IERC EQU $C013 IFRC EQU $C014 PRC EQU $C015 Memory Address Memory Contents PCIA_BASE C000 CRA C001 DRA C002 DIRA C003 IERA C004 IFRA C005 PRA C006 C007 C008 CRB C009 DRB C00A DIRB C00B IERB C00C IFRB C00D PRB C00E C00F C010 CRC C011 DRC C012 DIRC C013 IERC C014 IFRC C015 PRC 18

19 ROM_BASE EQU $FE00 SpRAM_BASE EQU $0000 SyRAM_BASE EQU $

20 0000 7FFF F K x 8 SpRAM 64 x 8 SyRAM NOT USED The SpRAM is used for the Speech Buffer. The SyRAM is used variables and the stack. A ROM is placed at the top of the memory space, because the vector table is designed to be at the top of the memory space in the architecture of the basic μp we are studying in this course. The 4-Port PCIA is mapped from C000 to C01F. BFFF C000 C01F C020 FDFF FE00 FFFF 4-PORT PCIA NOT USED 512 x 8 ROM The 4 th port (Port D) is not used. 20

21 SOLUTION #1 POLLING METHOD These slides demonstrate the polling I/O method design for the speech recorder and player. Next set of slides show the interrupt I/O method design. 21

22 Power On or Hardware Reset Reset mops See Lecture 17 LDS StackSA Hardware Function PCIAINIT The polling subroutine will simultaneously poll the keypad for user function, the ADC for recording speech, and the DAC for playing back speech. Software Function BUFFINIT LEDINIT SWGINIT Do Polling 22

23 Enter CMD STOP P_PTR SBUF_BASE R_PTR SBUF_BASE PC1 PC0 KEYPAD R P S KP1 KP0 FUNCTION 0 0 KEY NOT PRESSED 0 5 RECORD (R) PRESSED 5 0 PLAYBACK (P) PRESSED 5 5 STOP (S) PRESSED ORG SpRAM_BASE SBUF_BASE DS.B BEND DS.B ORG SyRAM_BASE P_PTR DS.W 1 R_PTR DS.W 1 CMD DS.B 1 A KP A A % FILTER OUT UNWANTED BITS Next KP EQU N DRC A==0 Key Not Pressed? N Y CMD A UPDATE CMD CMD== REC? Y Record Subroutine N CMD== PLAY? Y Playback Subroutine N CMD== STOP? Y Stop Subroutine Processes the Last Key Pressed 23

24 ADC DR 8 SBUF_BASE 0000 During Recording RED LED GRN LED One 8-bit speech sample sent from ADC to RAM each 125 μs (8 khz). ORG SpRAM_BASE SBUF_BASE DS.B BEND DS.B ORG SyRAM_BASE P_PTR DS.W 1 R_PTR DS.W 1 CMD DS.B 1 BEND 7FFF When Full RED LED GRN LED 24

25 SBUF_BASE 0000 During Recording RED LED GRN LED 8 CNS DAC One 8-bit speech sample sent from RAM to DAC each 125 μs (8 khz). BEND 7FFF When Full RED LED GRN LED ORG SpRAM_BASE SBUF_BASE DS.B BEND DS.B ORG SyRAM_BASE P_PTR DS.W 1 R_PTR DS.W 1 CMD DS.B 1 25

26 PCIAINIT FLOW CHART (PORT A) ADC DR TNS 8 PCIA CLR DIRA BSET PRA, $FF PA7-PA0 Enter PCIAINIT BSET CRA, $01 Enable PortA: CRA0 1 Establish PA7-PA0 as input to receive the 8-bit sample from the ADC: DIRA % We don t care about the polarity on the data lines PA7-PA0, but choose something. PRA $FF Since we re not using interrupts, we need to disable interrupts on these bits for safety. IERA % We don t care about the flags of these bits of Port A, but clear them anyway: IFRA 0 Configure Port B CLR IERA BCLR IFRA, $FF 26

27 PCIAINIT FLOW CHART (PORT B) PCIA PD0 PB7-PB0 8 CNS DAC BSET DIRB, $FF BSET PRB, $FF LPF AMP Configure Port B Enable PortB: CRB0 1 BSET CRB, $01 Establish PB7-PB0 as output to send speech samples to the DAC: DIRB % We don t care about the polarity on the data lines PB7-PB0, but choose something. PRB $FF CLR IERB Not using interrupts on these pins, but need to disable interrupts on these bits for safety. IERB % BCLR IFRB, $FF We don t care about the flags of these bits of Port B, but clear them anyway: IFRB 0 Configure Port C 27

28 PCIAINIT FLOW CHART (PORT C) SQ SQUARE WAVE GENERATOR PC1-PC0 PC2 PC3 2 F1 F0 Enable PortC: CRC0 1 BSET CRC, $01 Establish PC5-PC4 as output to set the sampling frequency of the SWG; PC2-PC3 as output to drive the LEDs; PC6 as input to receive DR from the ADC; PC7 as input to receive the square wave; and PC1-PC0 as input to receive the Keypad code: DIRC % BSET DIRC, % BCLR DIRC, % BSET PRC, $80 BCLR PRC, $7F PC7 PC4 PC5 KEYPAD R P S RED LED GRN LED Configure Port C Configure the polarity of PC7 and PC6 to be positive and negative edge sensitive, respectively, to receive do next sample and DR signals, and don t care about the others. PRC % DR ADC TNS 8 PC6 CLR IERC Not using interrupts in this example. Need to disable interrupts on these bits for safety. IERC % BCLR IFRC, $FF Need to clear the flags IFRC7-6; may as well clear them all: IFRC 0 Configure Port D 28

29 PCIAINIT FLOW CHART (PORT D) PCIA PD0 PB7-PB0 8 CNS DAC BSET DIRD, $FF BSET PRD, $FF LPF AMP Configure Port D Enable PortD: CRD0 1 BSET CRD, $01 Establish PD0 as output to send CNS to the DAC: DIRB % We don t care about the polarity on the data lines PD7-PD0, but choose something. PRD $FF CLR IERD Not using interrupts on these pins, but need to disable interrupts on these bits for safety. IERD % BCLR IFRD, $FF We don t care about the flags of these bits of Port B, but clear them anyway: IFRD 0 RTS 29

30 PCIAINIT BSET CRA, $01 CLR DIRA BSET PRA, $FF CLR IERA BCLR IFRA, $FF BSET CRB, $01 BSET DIRB, $FF BSET PRB, $FF CLR IERB BCLR IFRB, $FF BSET CRC, $01 BSET DIRC, % BCLR DIRC, % BSET PRC, $80 BCLR PRC, $7F CLR IERC BCLR IFRC, $FF BSET CRD, $01 BSET DIRD, % BSET PRD, $FF CLR IERD BCLR IFRD, $FF RTS 30

31 SPEECH BUFFER INITIALIZATION SpRAM_BASE EQU $0000 SyRAM_BASE EQU $8000 ORG SpRAM_BASE SBUF_BASE DS.B BEND DS.B 1 ORG SyRAM_BASE P_PTR DS.W 1 R_PTR DS.W 1 CMD DS.B 1 Allocation of speech buffer RAM and variables. 32K = Speech buffer variables initialization. X SBUF_BASE P_PTR X R_PTR X Return BUFFINIT ldx #SBUF_BASE stx P_PTR stx R_PTR rts 31

32 ON EQU 1 OFF EQU 0 PCIA PC2 PC3 RED LED GRN LED RED_LED OFF GRN_LED OFF LEDINIT bclr DRC, % rts Return 32

33 NOFUNC EQU 0 REC EQU 1 PLAY EQU 2 STOP EQU 3 KP EQU DRC KP1 KP0 FUNCTION 0 0 KEY NOT PRESSED 0 1 RECORD (R) PRESSED 1 0 PLAYBACK (P) PRESSED 1 1 STOP (S) PRESSED KEYPAD PC1 PC0 R P S 33

34 F1 F0 SQ FREQUENCY (khz) 0 0 NONE khz: F1 0 F0 1 PC7 Return SQ SQUARE WAVE GENERATOR F1 F0 PC4 PC5 SWGINIT bclr DRC, % bset DRC, % rts 34

35 DO POLLING FLOW CHART Enter CMD STOP P_PTR SBUF_BASE R_PTR SBUF_BASE Next A KP A A % FILTER OUT UNWANTED BITS A==0 Key Not Pressed? N Y CMD A UPDATE CMD crec NOFUNC EQU 0 REC EQU 1 PLAY EQU 2 STOP EQU 3 Polling ldaa #STOP staa CMD ldx #SBUF_BASE stx P_PTR stx R_PTR next ldaa KP CMD= REC? PC1-PC0 CMD= Nanda N PLAY #% ? cmpa #NOFUNC beq crec update staa CMD crec N CMD= S? Y Y Y Record Playback Stop 2 KEYPAD R P S KP EQU DRC ORG P_PTR DS.W 1 R_PTR DS.W 1 CMD DS.B 1 SyRAM_BASE 35

36 DO POLLING FLOW CHART crec ldab CMD cmpb Enter #REC bne s1 CMD STOP jsr record P_PTR SBUF_BASE R_PTR bra SBUF_BASE next s1 cmpb #PLAY A KP A bne A % s2 FILTER OUT UNWANTED BITS jsr play bra next A=0 Y s2 cmpb #STOP? bne s3 N jsr stop s3 bra next CMD A UPDATE CMD NOFUNC EQU 0 REC EQU 1 PLAY EQU 2 STOP EQU 3 Next crec CMD= REC? Record Subroutine N s1 CMD= PLAY? Playback Subroutine ORG SpRAM_BASE SBUF_BASE DS.B BEND DS.B 1 ORG SyRAM_BASE P_PTR DS.W 1 R_PTR DS.W 1 CMD DS.B 1 N s3 N CMD= STOP? Y Y Y s2 Stop Subroutine 36

37 Enter Reset P_PTR Get R_PTR R_PTR == BEND+1? N GRN_LED ON RED_LED OFF recording Next Sample Ready? Y Clear DR Flag. Get Sample. Store Sample. Increment R_PTR. N stopr Y ADC DR TNS 8 GRN_LED ON RED_LED ON memory full Clear DR Flag Y R_PTR == BEND+1? PC6 PA7-PA0 N rtnr Return record ldx #SBUF_BASE stx P_PTR ldx R_PTR cpx #BEND+1 beq stopr bset DRC,% bclr DRC,% brclr IFRC,$40,rtnR bclr IFRC,$40 ldaa DRA staa 0,x PC2 inx PC3 stx R_PTR cpx #BEND+1 bne rtnr stopr bset DRC,% bclr IFRC,$40 rtnr rts RED LED GRN LED 37

38 playback Reset R_PTR Get P_PTR P_PTR == BEND+1? N GRN_LED OFF RED_LED ON playing Time To Output Next Sample? Y Clear SWG Flag Get Sample. Write Sample. Increment P_PTR. stopp N Y SQ SQUARE WAVE GENERATOR Y P_PTR == BEND+1? PC7 GRN_LED ON RED_LED ON memory empty Clear SQ Flag N rtnp Return playback ldx #SBUF_BASE stx R_PTR ldx P_PTR cpx #BEND+1 beq stopp PC2 PC3 bset DRC,% bclr DRC,% brclr IFRC,$80,rtnP bclr IFRC,$80 ldaa 0,x PD0 staa DRB PB7-PB0 BCLR DRD,$01 BSET DRD,$01 inx 8 stx P_PTR cpx #BEND+1 bne rtnp stopp bset DRC,% bclr IFRC,$80 rtnp rts RED LED GRN LED CNS DAC 38

39 Enter Return 39

40 SpRAM_BASE EQU $0000 SyRAM_BASE EQU $ K x 8 SpRAM ORG SpRAM_BASE SBUF_BASE DS.B BEND DS.B 1 7FFF F x 8 SyRAM NOT USED ORG SyRAM_BASE P_PTR DS.W 1 R_PTR DS.W 1 CMD DS.B 1 ORG SyRAM_BASE+$30 ESTACK DS.B 15 StackSA DS.B 1 BFFF C000 C01F C020 FDFF FE00 FFFF 4-PORT PCIA NOT USED 512 x 8 ROM 40

41 FIRMWARE: ASSEMBLY LANGUAGE IMAGE (1) CRA EQU $C000 DRA EQU $C001 DIRA EQU $C002 IERA EQU $C003 IFRA EQU $C004 PRA EQU $C005 CRB EQU $C008 DRB EQU $C009 DIRB EQU $C00A IERB EQU $C00B IFRB EQU $C00C PRB EQU $C00D CRC EQU $C010 DRC EQU $C011 DIRC EQU $C012 IERC EQU $C013 IFRC EQU $C014 PRC EQU $C015 NOFUNC EQU 0 REC EQU 1 PLAY EQU 2 STOP EQU 3 KP EQU DRC ROM_BASE EQU $FE00 SpRAM_BASE EQU $0000 SyRAM_BASE EQU $8000 ORG SpRAM_BASE SBUF_BASE DS.B BEND DS.B 1 ORG SyRAM_BASE P_PTR DS.W 1 R_PTR DS.W 1 CMD DS.B 1 BSET CRD, $01 BSET DIRD, % BSET PRD, $FF CLR IERD BCLR IFRD, $FF RTS ORG SyRAM_BASE+$30 ESTACK DS.B 15 StackSA DS.B 1 ORG $FFF8 ISR_Vector FDB Main_SA SWI_Vector FDB Main_SA NMI_Vector FDB Main_SA RESET_Vector FDB Main_SA Main_SA ORG ROM_BASE lds #StackSA jsr PIAINIT jsr BUFFINIT jsr LEDINIT jsr SWGINIT Loop jsr Polling bra Loop PCIAINIT BSET CRA, $01 CLR DIRA BSET PRA, $FF CLR IERA BCLR IFRA, $FF BSET CRB, $01 BSET DIRB, $FF BSET PRB, $FF CLR IERB BCLR IFRB, $FF BSET CRC, $01 BSET DIRC, % BCLR DIRC, % BSET PRC, $80 BCLR PRC, $7F CLR BCLR IERC IFRC, $FF 41

42 FIRMWARE: ASSEMBLY LANGUAGE IMAGE (2) BUFFINIT ldx #SBUF_BASE stx P_PTR stx R_PTR rts LEDINIT bclr DRC, % rts SWGINIT bclr DRC, % bset DRC, % rts Polling ldaa #STOP staa CMD ldx #SBUF_BASE stx P_PTR stx R_PTR next ldaa DRC 3, 30 anda #% , 31 cmpa #NOFUNC 5, 32 beq crec 6, 33 update staa CMD 7, crec ldab CMD 8, 34 cmpb #REC 9, 35 bne s1 10,36 jsr record 11, 28, 37 bra next 2, 29 s1 cmpb #PLAY bne s2 jsr play bra next s2 cmpb #STOP bne s3 jsr stop s3 bra next record ldx #SBUF_BASE 12, 38 stx P_PTR 13, 39 ldx R_PTR 14, 40 cpx #BEND+1 15, 41 beq stopr 16, 42 rec bset DRC,% , 43 bclr DRC,% , 44 brclr IFRC,$40,rtnR 19 bclr IFRC,$40 20 ldaa DRA 21 staa 0,x 22 inx 23 stx R_PTR 24 cpx #BEND+1 25 bne rtnr 26 stopr bset DRC,% bclr IFRC,$40 rtnr rts 1, 27 playback ldx #SBUF_BASE stx R_PTR ldx P_PTR cpx #BEND+1 beq stopp play bset DRC,% bclr DRC,% brclr IFRC,$80,rtnP bclr IFRC,$80 ldaa 0,x BCLR DRD,$01 staa DRB BSET DRD,$01 inx stx P_PTR cpx #BEND+1 bne rtnp stopp bset DRC,% bclr IFRC,$80 rtnp rts stop rts 42

43 SPEECH BUFFER MEMORY MAP Memory Address SBUF_BASE 0000 Memory Contents The BUFFER holds speech samples; It can hold a maximum of 32,768 samples. For a sampling rate of 8000 S/s, this means it can holds about 4s of speech. When the end of the SBUF is reached, the system stops the record process and shines the RED and GRN LEDs to indicate the buffer is full. BEND 7FFF 43

44 Memory Address P_PTR R_PTR CMD 8004 Allocated Stack end 8030 Memory Contents Analyzing the firmware, we see that the stack grows to its largest size when it enters the record, playback or stop subroutines in the polling routine. Therefore, we need to allocate a minimum of 4 locations for the stack. Note: we actually allocated 16 locations, for safety. The record and play pointers are stored in sys RAM as well. Actual StackEA StackSA 803C 803F Finally, the CMD is stored in SyRAM. 44

45 DETAILED ROM MEMORY MAP Memory Address Main_SA FE00 Main_EA???? Memory Contents Analyzing the firmware, we see that Main requires? 10 =? 16 bytes. Main_EA = FE00 +? -1 =? The IRQ, SWI, and NMI routines are the same as the RESET routine. IRQ Vector FFF8 Main_SA HB FFF9 Main_SA LB SWI Vector FFFA Main_SA HB FFFB Main_SA LB NMI Vector FFFC Main_SA HB FFFD Main_SA LB RESET Vector FFFE Main_SA HB FFFF Main_SA LB 45

46 ANALYSIS: MAX RECORDING TIME 1. How many speech samples can this system store in memory? Answer: Samples. 2. What is the maximum length of time of speech that can be recorded? Answer: S/8000 S/s = s. 46

47 ANALYSIS: PROCESSING TIME 3. What is the maximum amount of time required by the μp to read a sample, store it into memory, and be ready for the next sample? Can the processor keep up to the sampling rate? Will it miss any samples? ADC Conversion Time ADC Conversion Time DR 125 μs(1/8 khz) Processing Time 47

48 WORST CASE SCENARIO The maximum time is found by considering that DR is asserted immediately after the software checks for it. This means the software will have to make another round trip around the polling routine to check it again. record rtnr brclr IFRC,$40,rtnR rts Worst case: DR is asserted immediately after this instruction checks for it. In this case, software must do a round trip to get back to check the flag for DR again. 48

49 next ldaa DRC 3, 29 anda #% , 30 cmpa #NOFUNC 5, 31 beq crec 6, 32 staa CMD 7, crec ldab CMD 8, 33 cmpb #REC 9, 34 bne s1 10,35 jsr record 11,36 bra next 2, 28 record ldx #SBUF_BASE 12, 37 stx P_PTR 13, 38 ldx R_PTR 14, 39 cpx #BEND+1 15, 40 beq stopr 16, 41 rec bset DRC,% , 42 bclr DRC,% , 43 brclr IFRC,$40,rtnR 19, 44 bclr IFRC,$40 20 ldaa DRA 21 ;Record continuation staa 0,x 22 inx 23 stx R_PTR 24 cpx #BEND+1 25 bne rtnr 26 stopr bset DRC,% rtnr rts 1, 27 49

50 TRACING DIFFERENT PATHS (THREADS) FIND MAX PATH Analyzing the firmware, we see that the at most 44 instructions are required in the worst case. (See the numbered instructions.) If each instruction takes 4 cycles on average, then 176 cycles are required. For a clock speed of 2 MHz, this will take 88 μs. 125 μs(1/8 khz) Processing Time 88μs 50

Assignment 3: 68HC11 Beep Lab

Assignment 3: 68HC11 Beep Lab ASSIGNMENT 3: 68HC11 Beep Lab Introduction In this assignment, you will: Analyze the timing of a program that makes a beep, calculating the precise frequency of oscillation. Use an oscilloscope in the

More information

Tutorial Introduction

Tutorial Introduction Tutorial Introduction PURPOSE - To explain how to configure and use the in common applications OBJECTIVES: - Identify the steps to set up and configure the. - Identify techniques for maximizing the accuracy

More information

M68HC11 Timer. Definition

M68HC11 Timer. Definition M68HC Timer March 24 Adam Reich Jacob Brand Bhaskar Saha Definition What is a timer? A timer is a digital sequential circuit that can count at a precise and programmable frequency Built-in timer (like

More information

Tutorial Introduction

Tutorial Introduction Tutorial Introduction PURPOSE - To explain how to configure and use the Timebase Module OBJECTIVES: - Describe the uses and features of the Timebase Module. - Identify the steps to configure the Timebase

More information

Introduction to Mechatronics. Fall Instructor: Professor Charles Ume. Analog to Digital Converter

Introduction to Mechatronics. Fall Instructor: Professor Charles Ume. Analog to Digital Converter ME6405 Introduction to Mechatronics Fall 2006 Instructor: Professor Charles Ume Analog to Digital Converter Analog and Digital Signals Analog signals have infinite states available mercury thermometer

More information

o The 9S12 has a 16-bit free-running counter to determine the time and event happens, and to make an event happen at a particular time

o The 9S12 has a 16-bit free-running counter to determine the time and event happens, and to make an event happen at a particular time More on Programming the 9S12 in C Huang Sections 5.2 through 5.4 Introduction to the 9S12 Hardware Subsystems Huang Sections 8.2-8.6 ECT_16B8C Block User Guide A summary of 9S12 hardware subsystems Introduction

More information

o The 9S12 has a 16-bit free-running counter to determine the time and event happens, and to make an event happen at a particular time

o The 9S12 has a 16-bit free-running counter to determine the time and event happens, and to make an event happen at a particular time More on Programming the 9S12 in C Huang Sections 5.2 through 5.4 Introduction to the 9S12 Hardware Subsystems Huang Sections 8.2-8.6 ECT_16B8C Block User Guide A summary of 9S12 hardware subsystems Introduction

More information

Lab #10: Building Output Ports with the 6811

Lab #10: Building Output Ports with the 6811 1 Tiffany Q. Liu April 11, 2011 CSC 270 Lab #10 Lab #10: Building Output Ports with the 6811 Introduction The purpose of this lab was to build a 1-bit as well as a 2-bit output port with the 6811 training

More information

Analog Input & Output

Analog Input & Output EEL 4744C: Microprocessor Applications Lecture 10 Part 1 Analog Input & Output Dr. Tao Li 1 Read Assignment M&M: Chapter 11 Dr. Tao Li 2 To process continuous signals as functions of time Advantages free

More information

IR Rover. E155 Microprocessor Design Fall Abstract. By Stephen Friedman and Micah Garside-White

IR Rover. E155 Microprocessor Design Fall Abstract. By Stephen Friedman and Micah Garside-White IR Rover E155 Microprocessor Design Fall 2002 By Stephen Friedman and Micah Garside-White Abstract Our goal was to create a light-weight lego rover that could be remotely controlled using the built in

More information

PONG GAME FINAL PROJECT REPORT DECEMBER 12, 2002 E155. Reneé Logan & Philip Vegdahl

PONG GAME FINAL PROJECT REPORT DECEMBER 12, 2002 E155. Reneé Logan & Philip Vegdahl PONG GAME FINAL PROJECT REPORT DECEMBER 12, 2002 E155 Reneé Logan & Philip Vegdahl Abstract: Among the earliest computer games ever to hit the American household was pong. It is a fairly simple game based

More information

EKT 222 MICROPRESSOR SYSTEM. LAB 4 Extra : INTERFACING WITH OTHER I/O DEVICES

EKT 222 MICROPRESSOR SYSTEM. LAB 4 Extra : INTERFACING WITH OTHER I/O DEVICES EKT 222 MICROPRESSOR SYSTEM LAB 4 Extra : INTERFACING WITH OTHER I/O DEVICES LAB 4 Extra: Interfacing with Other IO devices Objectives: 1) Ability to create advance program instructions 2) Ability to use

More information

Scans and encodes up to a 64-key keyboard. DB 1 DB 2 DB 3 DB 4 DB 5 DB 6 DB 7 V SS. display information.

Scans and encodes up to a 64-key keyboard. DB 1 DB 2 DB 3 DB 4 DB 5 DB 6 DB 7 V SS. display information. Programmable Keyboard/Display Interface - 8279 A programmable keyboard and display interfacing chip. Scans and encodes up to a 64-key keyboard. Controls up to a 16-digit numerical display. Keyboard has

More information

ECE 4600 PROJECT. The 13 State Traffic Controller. Group #3 Anthony Ostrowski Jeffrey Ostrowski Derek Zoldos

ECE 4600 PROJECT. The 13 State Traffic Controller. Group #3 Anthony Ostrowski Jeffrey Ostrowski Derek Zoldos ECE 46 PROJECT The 3 State Traffic Controller Group #3 Anthony Ostrowski Jeffrey Ostrowski Derek Zoldos Presentation Outline! Background! Hardware Design by Anthony Ostrowski! Software Design by Jeff Ostrowski!

More information

I/O Interfacing. What we are going to learn in this session:

I/O Interfacing. What we are going to learn in this session: I/O Interfacing ECE 5: Digital System & Microprocessor What we are going to learn in this session: M6823 Parallel Interface Timer. egisters in the M6823. Port initialization method. How M6823 interfaces

More information

64CH SEGMENT DRIVER FOR DOT MATRIX LCD

64CH SEGMENT DRIVER FOR DOT MATRIX LCD 64CH SEGMENT DRIVER FOR DOT MATRIX LCD INTRODUCTION The (TQFP type: S6B2108) is a LCD driver LSI with 64 channel output for dot matrix liquid crystal graphic display systems. This device consists of the

More information

S6B CH SEGMENT DRIVER FOR DOT MATRIX LCD

S6B CH SEGMENT DRIVER FOR DOT MATRIX LCD 64 CH SEGMENT DRIVER FOR DOT MATRIX LCD June. 2000. Ver. 0.0 Contents in this document are subject to change without notice. No part of this document may be reproduced or transmitted in any form or by

More information

SignalTap Plus System Analyzer

SignalTap Plus System Analyzer SignalTap Plus System Analyzer June 2000, ver. 1 Data Sheet Features Simultaneous internal programmable logic device (PLD) and external (board-level) logic analysis 32-channel external logic analyzer 166

More information

Laboratory Exercise 4

Laboratory Exercise 4 Laboratory Exercise 4 Polling and Interrupts The purpose of this exercise is to learn how to send and receive data to/from I/O devices. There are two methods used to indicate whether or not data can be

More information

1. Keyboard and Panel Switch Scanning DX7 CIRCUIT DESCRIPTION The 4 bits BO ~ B3 from the sub-cpu (6805S) are input to the decoder (40H138). The decoder output is sent to the keyboard transfer contacts

More information

APPENDIX A ASSEMBLY CODE FOR THE SYSTEM (SELF-TEST CODE PLUS APPLICATION PROGRAM)

APPENDIX A ASSEMBLY CODE FOR THE SYSTEM (SELF-TEST CODE PLUS APPLICATION PROGRAM) APPENDIX A ASSEMBLY CODE FOR THE SYSTEM (SELF-TEST CODE PLUS APPLICATION PROGRAM) asmcode3.asm Assembled with CASM 01/30/1999 20:41 PAGE 1 1 ; This program contains the self-test of whole chip i.e. ROM,

More information

Data Conversion and Lab (17.368) Fall Lecture Outline

Data Conversion and Lab (17.368) Fall Lecture Outline Data Conversion and Lab (17.368) Fall 2013 Lecture Outline Class # 11 November 14, 2013 Dohn Bowden 1 Today s Lecture Outline Administrative Detailed Technical Discussions Lab Microcontroller and Sensors

More information

Implementing a Rudimentary Oscilloscope

Implementing a Rudimentary Oscilloscope EE-3306 HC6811 Lab #4 Implementing a Rudimentary Oscilloscope Objectives The purpose of this lab is to become familiar with the 68HC11 on chip Analog-to-Digital converter. This lab builds on the knowledge

More information

GALILEO Timing Receiver

GALILEO Timing Receiver GALILEO Timing Receiver The Space Technology GALILEO Timing Receiver is a triple carrier single channel high tracking performances Navigation receiver, specialized for Time and Frequency transfer application.

More information

HD66840/HD LVIC/LVIC-II (LCD Video Interface Controller) Description. Features

HD66840/HD LVIC/LVIC-II (LCD Video Interface Controller) Description. Features HD6684/HD6684 LVIC/LVIC-II (LCD Video Interface Controller) Description The HD6684/HD6684 LCD video interface controller (LVIC/LVIC-II) converts standard RGB video signals for CRT display into LCD data.

More information

Fast Quadrature Decode TPU Function (FQD)

Fast Quadrature Decode TPU Function (FQD) PROGRAMMING NOTE Order this document by TPUPN02/D Fast Quadrature Decode TPU Function (FQD) by Jeff Wright 1 Functional Overview The fast quadrature decode function is a TPU input function that uses two

More information

psasic Timing Generator

psasic Timing Generator psasic Timing Generator Fukun Tang psasic Design Review July 1-2 2009 University of Chicago 1 Diagram of 40Gs/s Sampling Chip CLOCK (80MHz) IN(1:32) Timing Generator with 2 DLLs interleaved PD CP LF φ1

More information

TV Synchronism Generation with PIC Microcontroller

TV Synchronism Generation with PIC Microcontroller TV Synchronism Generation with PIC Microcontroller With the widespread conversion of the TV transmission and coding standards, from the early analog (NTSC, PAL, SECAM) systems to the modern digital formats

More information

DUOLABS Spa. Conditional Access Module Hardware Brief. CA Module User Guide V0.2

DUOLABS Spa. Conditional Access Module Hardware Brief. CA Module User Guide V0.2 Conditional Access Module Hardware Brief CA Module User Guide V0.2 Index Conditional Access Module... 1 CA Module User Guide... 1 Revision history... Errore. Il segnalibro non è definito. Index... 1 Reference...

More information

Ocean Sensor Systems, Inc. Wave Staff, OSSI F, Water Level Sensor With 0-5V, RS232 & Alarm Outputs, 1 to 20 Meter Staff

Ocean Sensor Systems, Inc. Wave Staff, OSSI F, Water Level Sensor With 0-5V, RS232 & Alarm Outputs, 1 to 20 Meter Staff Ocean Sensor Systems, Inc. Wave Staff, OSSI-010-002F, Water Level Sensor With 0-5V, RS232 & Alarm Outputs, 1 to 20 Meter Staff General Description The OSSI-010-002E Wave Staff is a water level sensor that

More information

Point System (for instructor and TA use only)

Point System (for instructor and TA use only) EEL 4744C - Drs. George and Gugel Spring Semester 2002 Final Exam NAME SS# Closed book and closed notes examination to be done in pencil. Calculators are permitted. All work and solutions are to be written

More information

EXPERIMENT 2: Elementary Input Output Programming

EXPERIMENT 2: Elementary Input Output Programming EXPERIMENT 2: Elementary Input Output Programming Objectives Introduction to the Parallel Input/Output (I/O) Familiarization to Interfacing with digital inputs and outputs such as switches, LEDs and 7-segment.

More information

Chapter 18. DRAM Circuitry Discussion. Block Diagram Description. DRAM Circuitry 113

Chapter 18. DRAM Circuitry Discussion. Block Diagram Description. DRAM Circuitry 113 DRAM Circuitry 113 Chapter 18 DRAM Circuitry 18-1. Discussion In this chapter we describe and build the actual DRAM circuits in our SK68K computer. Since we have already discussed the general principles

More information

Model Solution and marking scheme for Examination Paper EEE305J1: Microcontroller Systems 2004/5 General Observations

Model Solution and marking scheme for Examination Paper EEE305J1: Microcontroller Systems 2004/5 General Observations Model Solution and marking scheme for Examination Paper EEE305J1: Microcontroller Systems 2004/5 General Observations Design questions like A1 below are extremely difficult to mark, not least because there

More information

NS8050U MICROWIRE PLUSTM Interface

NS8050U MICROWIRE PLUSTM Interface NS8050U MICROWIRE PLUSTM Interface National Semiconductor Application Note 358 Rao Gobburu James Murashige April 1984 FIGURE 1 Microwire Mode Functional Configuration TRI-STATE is a registered trademark

More information

64CH SEGMENT DRIVER FOR DOT MATRIX LCD INTRODUCTION FEATURES 100 QFP-1420C

64CH SEGMENT DRIVER FOR DOT MATRIX LCD INTRODUCTION FEATURES 100 QFP-1420C INTRODUCTION The KS0108B is a LCD driver LSl with 64 channel output for dot matrix liquid crystal graphic display systems. This device consists of the display RAM, 64 bit data latch, 64 bit drivers and

More information

Analog-to-Digital Converter

Analog-to-Digital Converter 5 5.1 Objectives: The TM4C is equipped with an analog-to-digital (ATD) conversion system that samples an analog (continuous) signal at regular intervals and then converts each of these analog samples into

More information

AD9884A Evaluation Kit Documentation

AD9884A Evaluation Kit Documentation a (centimeters) AD9884A Evaluation Kit Documentation Includes Documentation for: - AD9884A Evaluation Board - SXGA Panel Driver Board Rev 0 1/4/2000 Evaluation Board Documentation For the AD9884A Purpose

More information

Interfacing Analog to Digital Data Converters. A/D D/A Converter 1

Interfacing Analog to Digital Data Converters. A/D D/A Converter 1 Interfacing Analog to Digital Data Converters A/D D/A Converter 1 In most of the cases, the PPI 8255 is used for interfacing the analog to digital converters with microprocessor. The analog to digital

More information

NT7108. Neotec Semiconductor Ltd. 新德科技股份有限公司 NT7108 LCD Driver. Copyright: NEOTEC (C)

NT7108. Neotec Semiconductor Ltd. 新德科技股份有限公司 NT7108 LCD Driver. Copyright: NEOTEC (C) Copyright: NEOTEC (C) 2002 http:// All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electric or mechanical,

More information

New GRABLINK Frame Grabbers

New GRABLINK Frame Grabbers New GRABLINK Frame Grabbers Full-Featured Base, High-quality Medium and video Full capture Camera boards Link Frame Grabbers GRABLINK Full Preliminary GRABLINK DualBase Preliminary GRABLINK Base GRABLINK

More information

M66004SP/FP M66004SP/FP MITSUBISHI DIGITAL ASSP ASSP 16-DIGIT 5X7-SEGMENT VFD CONTROLLER 16-DIGIT 5 7-SEGMENT VFD CONTROLLER

M66004SP/FP M66004SP/FP MITSUBISHI DIGITAL ASSP ASSP 16-DIGIT 5X7-SEGMENT VFD CONTROLLER 16-DIGIT 5 7-SEGMENT VFD CONTROLLER ASSP M664SP/FP M664SP/FP 6-DIGIT 5X7-SEGMENT FD CONTROLLER 6-DIGIT 5 7-SEGMENT FD CONTROLLER DESCRIPTION The M664 is a 6-digit 5 7-segment vacuum fluorescent display (FD) controller using the silicon gate

More information

Ocean Sensor Systems, Inc. Wave Staff III, OSSI With 0-5V & RS232 Output and A Self Grounding Coaxial Staff

Ocean Sensor Systems, Inc. Wave Staff III, OSSI With 0-5V & RS232 Output and A Self Grounding Coaxial Staff Ocean Sensor Systems, Inc. Wave Staff III, OSSI-010-008 With 0-5V & RS232 Output and A Self Grounding Coaxial Staff General Description The OSSI-010-008 Wave Staff III is a water level sensor that combines

More information

Chapter 11 Sections 1 3 Dr. Iyad Jafar

Chapter 11 Sections 1 3 Dr. Iyad Jafar Data Acquisition and Manipulation Chapter 11 Sections 1 3 Dr. Iyad Jafar Outline Analog and Digital Quantities The Analog to Digital Converter Features of Analog to Digital Converter The Data Acquisition

More information

BASCOM-TV. TV Code Features: ICs supported: BASCOM versions:

BASCOM-TV. TV Code Features: ICs supported: BASCOM versions: BASCOM-TV With this software module you can generate output directly to a TV - via an RGB SCART connection - from BASCOM (AVR), using a just few resistors and a 20 MHz crystal. Write your program with

More information

LCD Triplex Drive with COP820CJ

LCD Triplex Drive with COP820CJ LCD Triplex Drive with COP820CJ INTRODUCTION There are many applications which use a microcontroller in combination with a Liquid Crystal Display. The normal method to control a LCD panel is to connect

More information

4 or 8 channel 24-bit audio A/D converter with analog and AES/EBU inputs COPYRIGHT 2017 AXON DIGITAL DESIGN BV ALL RIGHTS RESERVED

4 or 8 channel 24-bit audio A/D converter with analog and AES/EBU inputs COPYRIGHT 2017 AXON DIGITAL DESIGN BV ALL RIGHTS RESERVED ADC44 ADC48 4 or 8 channel 24-bit audio converter with analog and AES/EBU inputs A Synapse product COPYRIGHT 2017 AXON DIGITAL DESIGN BV ALL RIGHTS RESERVED NO PART OF THIS DOCUMENT MAY BE REPRODUCED IN

More information

Vorne Industries. 2000B Series Buffered Display Users Manual Industrial Drive Itasca, IL (630) Telefax (630)

Vorne Industries. 2000B Series Buffered Display Users Manual Industrial Drive Itasca, IL (630) Telefax (630) Vorne Industries 2000B Series Buffered Display Users Manual 1445 Industrial Drive Itasca, IL 60141849 (60) 875600 elefax (60) 875609 Page 2 2000B Series Buffered Display 2000B Series Buffered Display Release

More information

Experiment: FPGA Design with Verilog (Part 4)

Experiment: FPGA Design with Verilog (Part 4) Department of Electrical & Electronic Engineering 2 nd Year Laboratory Experiment: FPGA Design with Verilog (Part 4) 1.0 Putting everything together PART 4 Real-time Audio Signal Processing In this part

More information

Interfacing the TLC5510 Analog-to-Digital Converter to the

Interfacing the TLC5510 Analog-to-Digital Converter to the Application Brief SLAA070 - April 2000 Interfacing the TLC5510 Analog-to-Digital Converter to the TMS320C203 DSP Perry Miller Mixed Signal Products ABSTRACT This application report is a summary of the

More information

APPLICATION NOTE VACUUM FLUORESCENT DISPLAY MODULE

APPLICATION NOTE VACUUM FLUORESCENT DISPLAY MODULE AN-E-3237A APPLICATION NOTE VACUUM FLUORESCENT DISPLAY MODULE GRAPIC DISPLAY MODULE GP92A1A GENERAL DESCRIPTION FUTABA GP92A1A is a graphic display module using a FUTABA 128 64 VFD. Consisting of a VFD,

More information

Special Applications Modules

Special Applications Modules (IC697HSC700) datasheet Features 59 1 IC697HSC700 a45425 Single slot module Five selectable counter types 12 single-ended or differential inputs TTL, Non-TTL and Magnetic Pickup input thresholds Four positive

More information

EECS150 - Digital Design Lecture 12 - Video Interfacing. Recap and Outline

EECS150 - Digital Design Lecture 12 - Video Interfacing. Recap and Outline EECS150 - Digital Design Lecture 12 - Video Interfacing Oct. 8, 2013 Prof. Ronald Fearing Electrical Engineering and Computer Sciences University of California, Berkeley (slides courtesy of Prof. John

More information

A/D and D/A convertor 0(4) 24 ma DC, 16 bits

A/D and D/A convertor 0(4) 24 ma DC, 16 bits A/D and D/A convertor 0(4) 24 ma DC, 6 bits ZAT-DV The board contains independent isolated input A/D convertors for measurement of DC current signals 0(4) ma from technological convertors and sensors and

More information

Experiment 3: Basic Embedded System Analysis and Design

Experiment 3: Basic Embedded System Analysis and Design University of Jordan Faculty of Engineering and Technology Department of Computer Engineering Embedded Systems Laboratory 0907334 3 Experiment 3: Basic Embedded System Analysis and Design Objectives Empowering

More information

V6118 EM MICROELECTRONIC - MARIN SA. 2, 4 and 8 Mutiplex LCD Driver

V6118 EM MICROELECTRONIC - MARIN SA. 2, 4 and 8 Mutiplex LCD Driver EM MICROELECTRONIC - MARIN SA 2, 4 and 8 Mutiplex LCD Driver Description The is a universal low multiplex LCD driver. The version 2 drives two ways multiplex (two blackplanes) LCD, the version 4, four

More information

8 X 8 KEYBOARD INTERFACE (WITHOUT INTERRUPT SIGNAL)

8 X 8 KEYBOARD INTERFACE (WITHOUT INTERRUPT SIGNAL) UNIT 4 REFERENCE 1 8 X 8 KEYBOARD INTERFACE (WITHOUT INTERRUPT SIGNAL) Statement: Interface an 8 x 8 matrix keyboard to 8085 through 8279 in 2-key lockout mode and write an assembly language program to

More information

SDA 3302 Family. GHz PLL with I 2 C Bus and Four Chip Addresses

SDA 3302 Family. GHz PLL with I 2 C Bus and Four Chip Addresses GHz PLL with I 2 C Bus and Four Chip Addresses Preliminary Data Features 1-chip system for MPU control (I 2 C bus) 4 programmable chip addresses Short pull-in time for quick channel switch-over and optimized

More information

Hello and welcome to this presentation of the STM32L4 Analog-to-Digital Converter block. It will cover the main features of this block, which is used

Hello and welcome to this presentation of the STM32L4 Analog-to-Digital Converter block. It will cover the main features of this block, which is used Hello and welcome to this presentation of the STM32L4 Analog-to-Digital Converter block. It will cover the main features of this block, which is used to convert the external analog voltage-like sensor

More information

PCI-DAS6034, PCI-DAS6035, and PCI-DAS6036

PCI-DAS6034, PCI-DAS6035, and PCI-DAS6036 PCI-DAS6034, PCI-DAS6035, and PCI-DAS6036 Specifications Document Revision 1.2, February, 2010 Copyright 2010, Measurement Computing Corporation Typical for 25 C unless otherwise specified. Specifications

More information

Radio Clock with DCF77

Radio Clock with DCF77 Radio Clock with DCF77 by Nicolas L. F. September 2011 Abstract Since the 1980s radio clocks have been popular, and in this article Nicolas guides us through the creation of his own radio clock using the

More information

Analog-to-Digital Conversion (Part 2) Microcomputer Architecture and Interfacing Colorado School of Mines Professor William Hoff

Analog-to-Digital Conversion (Part 2) Microcomputer Architecture and Interfacing Colorado School of Mines Professor William Hoff Analog-to-Digital Conversion (Part 2) Charge redistribution network Instead of a resistor ladder for the D/A converter, the microcontroller uses an-all capacitor system to generate the known voltages It

More information

Chapter 4: One-Shots, Counters, and Clocks

Chapter 4: One-Shots, Counters, and Clocks Chapter 4: One-Shots, Counters, and Clocks I. The Monostable Multivibrator (One-Shot) The timing pulse is one of the most common elements of laboratory electronics. Pulses can control logical sequences

More information

BE1-81O/U Frequency Protection. Washington State University Hands-On Relay School.

BE1-81O/U Frequency Protection. Washington State University Hands-On Relay School. Frequency Protection Washington State University Hands-On Relay School www.basler.com Relay Benefits As many as four independent, adjustable frequency setpoints and time delays Each setpoint has output

More information

ANALOG I/O MODULES AD268 / DA264 / TC218 USER S MANUAL

ANALOG I/O MODULES AD268 / DA264 / TC218 USER S MANUAL UM-TS02 -E026 PROGRAMMABLE CONTROLLER PROSEC T2-series ANALOG I/O MODULES AD268 / DA264 / TC218 USER S MANUAL TOSHIBA CORPORATION Important Information Misuse of this equipment can result in property damage

More information

Design and Implementation of Timer, GPIO, and 7-segment Peripherals

Design and Implementation of Timer, GPIO, and 7-segment Peripherals Design and Implementation of Timer, GPIO, and 7-segment Peripherals 1 Module Overview Learn about timers, GPIO and 7-segment display; Design and implement an AHB timer, a GPIO peripheral, and a 7-segment

More information

Display Technology. Images stolen from various locations on the web... Cathode Ray Tube

Display Technology. Images stolen from various locations on the web... Cathode Ray Tube Display Technology Images stolen from various locations on the web... Cathode Ray Tube 1 Cathode Ray Tube Raster Scanning 2 Electron Gun Beam Steering Coils 3 Color Shadow Mask and Aperture Grille 4 Liquid

More information

Digital (5hz to 500 Khz) Frequency-Meter

Digital (5hz to 500 Khz) Frequency-Meter Digital (5hz to 500 Khz) Frequency-Meter Posted on April 4, 2008, by Ibrahim KAMAL, in Sensor & Measurement, tagged Based on the famous AT89C52 microcontroller, this 500 Khz frequency-meter will be enough

More information

The part chosen for the encoder was the Hamatsu P5587 photoreflector. The device

The part chosen for the encoder was the Hamatsu P5587 photoreflector. The device Description of Shaft Encoder Construction and Testing Louis Brandy The part chosen for the encoder was the Hamatsu P5587 photoreflector. The device consists of an IR emitter and a phototransistor pair.

More information

T 2 : WR = 0, AD 7 -AD 0 (μp Internal Reg.) T 3 : WR = 1,, M(AB) AD 7 -AD 0 or BDB

T 2 : WR = 0, AD 7 -AD 0 (μp Internal Reg.) T 3 : WR = 1,, M(AB) AD 7 -AD 0 or BDB Lecture-17 Memory WRITE Machine Cycle: It also requires only T 1 to T 3 states. The purpose of memory write machine cycle is to store the contents of any of the 8085A register such as the accumulator into

More information

AN-605 APPLICATION NOTE

AN-605 APPLICATION NOTE a AN-605 APPLICAION NOE One echnology Way P.O. Box 906 Norwood, MA 006-906 el: 7/39-4700 Fax: 7/36-703 www.analog.com Synchronizing Multiple AD95 DDS-Based Synthesizers by David Brandon INRODUCION Many

More information

UNIT V 8051 Microcontroller based Systems Design

UNIT V 8051 Microcontroller based Systems Design UNIT V 8051 Microcontroller based Systems Design INTERFACING TO ALPHANUMERIC DISPLAYS Many microprocessor-controlled instruments and machines need to display letters of the alphabet and numbers. Light

More information

Lecture-47 INTEL 8085A INTERRUPT STRUCTURE

Lecture-47 INTEL 8085A INTERRUPT STRUCTURE Lecture-47 INTEL 8085A INTEUPT STUCTUE There are five interrupt inputs TAP, ST7.5, ST6.5, ST5.5 and INT. TAP is a non-maskable interrupt, that is, it cannot be disabled by an instruction. ST7.5, ST6.5,

More information

The measurements are stored in non-volatile memory, which retains data even when the power down.

The measurements are stored in non-volatile memory, which retains data even when the power down. Data Sheet: DSTAR.545.R1.ENG www.aep.it FAST Professional Handheld Indicator Dynamicstar is an professional indicator, ergonomic, extremely versatile and simple to use for measures FORCE, WEIGHT, PRESSURE,

More information

Using hardware interrupts for timing visual displays and reaction-time key interfacing on the Commodore 64

Using hardware interrupts for timing visual displays and reaction-time key interfacing on the Commodore 64 Behavior Research Methods, Instruments, & Computers 1988, 20 (/), 41-48 Using hardware interrupts for timing visual displays and reaction-time key interfacing on the Commodore 64 RICHARD D. WRIGHT The

More information

HT162X HT1620 HT1621 HT1622 HT16220 HT1623 HT1625 HT1626 COM

HT162X HT1620 HT1621 HT1622 HT16220 HT1623 HT1625 HT1626 COM Crystalfontz Thiscontrolerdatasheetwasdownloadedfrom htp:/www.crystalfontz.com/controlers/ HT1620 RAM Mapping 324 LCD Controller for I/O MCU Features Logic operating voltage: 2.4V~3.3V LCD voltage: 3.6V~4.9V

More information

EDA385 Bomberman. Fredrik Ahlberg Adam Johansson Magnus Hultin

EDA385 Bomberman. Fredrik Ahlberg Adam Johansson Magnus Hultin EDA385 Bomberman Fredrik Ahlberg ael09fah@student.lu.se Adam Johansson rys08ajo@student.lu.se Magnus Hultin ael08mhu@student.lu.se 2013-09-23 Abstract This report describes how a Super Nintendo Entertainment

More information

CSE140L: Components and Design Techniques for Digital Systems Lab. CPU design and PLDs. Tajana Simunic Rosing. Source: Vahid, Katz

CSE140L: Components and Design Techniques for Digital Systems Lab. CPU design and PLDs. Tajana Simunic Rosing. Source: Vahid, Katz CSE140L: Components and Design Techniques for Digital Systems Lab CPU design and PLDs Tajana Simunic Rosing Source: Vahid, Katz 1 Lab #3 due Lab #4 CPU design Today: CPU design - lab overview PLDs Updates

More information

PicoScope 6407 Digitizer

PicoScope 6407 Digitizer YE AR HIGH PERFORMANCE USB DIGITIZER Programmable and Powerful 1 GHz bandwidth 1 GS buffer size 5 GS/s real-time sampling Advanced digital triggers Built-in function generator USB-connected Signals Analysis

More information

IT T35 Digital system desigm y - ii /s - iii

IT T35 Digital system desigm y - ii /s - iii UNIT - III Sequential Logic I Sequential circuits: latches flip flops analysis of clocked sequential circuits state reduction and assignments Registers and Counters: Registers shift registers ripple counters

More information

Kramer Electronics, Ltd. USER MANUAL. Model: FC Analog Video to SDI Converter

Kramer Electronics, Ltd. USER MANUAL. Model: FC Analog Video to SDI Converter Kramer Electronics, Ltd. USER MANUAL Model: FC-7501 Analog Video to SDI Converter Contents Contents 1 Introduction 1 2 Getting Started 1 3 Overview 2 4 Your Analog Video to SDI Converter 3 5 Using Your

More information

ELCT706 MicroLab Session #3 7-segment LEDs and Analog to Digital Conversion. Eng. Salma Hesham

ELCT706 MicroLab Session #3 7-segment LEDs and Analog to Digital Conversion. Eng. Salma Hesham ELCT706 MicroLab Session #3 7-segment LEDs and Analog to Digital Conversion 7-Segment LED Display g f com a b e d com c P 7-Segment LED Display Common Cathode - Com Pin = Gnd - Active high inputs - Example

More information

Low-Cost Voice Recognition

Low-Cost Voice Recognition INK T H E C O M P U T E R A P P L I C A T I O N S J O U R N A L Low-Cost Voice Recognition Brad s Tiny Voice based on an HC705 and powered off a 9-V battery can be trained to recognize up to 16 command

More information

MACROVISION RGB / YUV TEMP. RANGE PART NUMBER

MACROVISION RGB / YUV TEMP. RANGE PART NUMBER NTSC/PAL Video Encoder NOT RECOMMENDED FOR NEW DESIGNS NO RECOMMENDED REPLACEMENT contact our Technical Support Center at 1-888-INTERSIL or www.intersil.com/tsc September 2003 DATASHEET FN4284 Rev 6.00

More information

PicoScope 6407 Digitizer

PicoScope 6407 Digitizer YE AR PicoScope 6407 Digitizer HIGH PERFORMANCE USB DIGITIZER Programmable and Powerful 1 GHz bandwidth 1 GS buffer size 5 GS/s real-time sampling Advanced digital triggers Built-in function generator

More information

PEP-II longitudinal feedback and the low groupdelay. Dmitry Teytelman

PEP-II longitudinal feedback and the low groupdelay. Dmitry Teytelman PEP-II longitudinal feedback and the low groupdelay woofer Dmitry Teytelman 1 Outline I. PEP-II longitudinal feedback and the woofer channel II. Low group-delay woofer topology III. Why do we need a separate

More information

8-BIT MCU WITH SINGLE VOLTAGE FLASH MEMORY, DATA EEPROM, ADC, TIMERS, SPI

8-BIT MCU WITH SINGLE VOLTAGE FLASH MEMORY, DATA EEPROM, ADC, TIMERS, SPI 8-BIT MCU WITH SINGLE VOLTAGE FLASH MEMORY, DATA EEPROM, ADC, TIMERS, SPI Memories.5K bytes single voltage Flash Program memory with read-out protection, In-Circuit Programming and In-Application Programming

More information

Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment

Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment Artisan Technology Group is your source for quality new and certified-used/pre-owned equipment FAST SHIPPING AND DELIVERY TENS OF THOUSANDS OF IN-STOCK ITEMS EQUIPMENT DEMOS HUNDREDS OF MANUFACTURERS SUPPORTED

More information

AN1324 APPLICATION NOTE

AN1324 APPLICATION NOTE AN1324 APPLICATION NOTE CALIBRATING THE RC OSCILLATOR OF THE ST7FLITE0 MCU USING THE MAINS by Microcontroller Division Applications 1 INTRODUCTION The ST7FLITE0 microcontroller contains an internal RC

More information

4 of 40. Multi-ASIC reset synchronization Good Multi-Flip-Flop. Synthesis issues with reset nets. 3 of 40. Synchronous Resets? Asynchronous Resets?

4 of 40. Multi-ASIC reset synchronization Good Multi-Flip-Flop. Synthesis issues with reset nets. 3 of 40. Synchronous Resets? Asynchronous Resets? Synchronous Resets? Asynchronous Resets? I am so confused! How will I ever know which to use? &OLIIRUG(&XPPLQJV 'RQLOOV 6XQEXUVW'HVLJQ,Q /&'(QJLQHHULQJ OLII#VXQEXUVWGHVLJQRP PLOOV#OGPHQJRP ZZZVXQEXUVWGHVLJQRP

More information

82C55A CHMOS PROGRAMMABLE PERIPHERAL INTERFACE

82C55A CHMOS PROGRAMMABLE PERIPHERAL INTERFACE Y Y Y Y Y 82C55A CHMOS PROGRAMMABLE PERIPHERAL INTERFACE Compatible with all Intel and Most Other Microprocessors High Speed Zero Wait State Operation with 8 MHz 8086 88 and 80186 188 24 Programmable I

More information

Amplification. Most common signal conditioning

Amplification. Most common signal conditioning 1. Labview basics virtual instruments, data flow, palettes 2. Structures for, while, case,... editing techniques 3. Controls&Indicators arrays, clusters, charts, graphs 4. Additional lecture State machines,

More information

LCD Direct Drive Using HPC

LCD Direct Drive Using HPC LCD Direct Drive Using HPC INTRODUCTION Liquid Crystal Displays (LCD) are used in a wide variety of applications They are extremely popular because of their low power consumption Manufacturers of Automobiles

More information

Project Final Report. Z8 Arcade! 4/25/2006 James Bromwell,

Project Final Report. Z8 Arcade! 4/25/2006 James Bromwell, Project Final Report Z8 Arcade! 4/25/2006 James Bromwell, bromwell@gwu.edu Project Abstract Z8 Arcade! is an extension of the presentation on adding a composite video output line to the Z8 project board,

More information

Tiptop audio z-dsp.

Tiptop audio z-dsp. Tiptop audio z-dsp www.tiptopaudio.com Introduction Welcome to the world of digital signal processing! The Z-DSP is a modular synthesizer component that can process and generate audio using a dedicated

More information

SPECIFICATION NO Model 207 Automatic GTAW Welding System

SPECIFICATION NO Model 207 Automatic GTAW Welding System 1.0 Introduction The Model 207 is a completely self-contained Gas Tungsten Arc Welding (GTAW) System requiring only input power, inert gas and AMI Welding Head (or manual torch) for operation. Its small

More information

TABLE 3. MIB COUNTER INPUT Register (Write Only) TABLE 4. MIB STATUS Register (Read Only)

TABLE 3. MIB COUNTER INPUT Register (Write Only) TABLE 4. MIB STATUS Register (Read Only) TABLE 3. MIB COUNTER INPUT Register (Write Only) at relative address: 1,000,404 (Hex) Bits Name Description 0-15 IRC[15..0] Alternative for MultiKron Resource Counters external input if no actual external

More information

AC182A 8 Input x 8 Output S-Video Matrix Switch with Audio

AC182A 8 Input x 8 Output S-Video Matrix Switch with Audio Heading AC180A 8 Input x 8 Output Composite Video Matrix Switch with Audio MARCH 2005 AC180A AC182A AC182A 8 Input x 8 Output S-Video Matrix Switch with Audio CUSTOMER SUPPORT INFORMATION Order toll-free

More information

Decade Counters Mod-5 counter: Decade Counter:

Decade Counters Mod-5 counter: Decade Counter: Decade Counters We can design a decade counter using cascade of mod-5 and mod-2 counters. Mod-2 counter is just a single flip-flop with the two stable states as 0 and 1. Mod-5 counter: A typical mod-5

More information

11. Sequential Elements

11. Sequential Elements 11. Sequential Elements Jacob Abraham Department of Electrical and Computer Engineering The University of Texas at Austin VLSI Design Fall 2017 October 11, 2017 ECE Department, University of Texas at Austin

More information