throbber

`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`File Name: EXEC_A.ASM
`
`{8436985: }
`
`
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-1
`
`

`

`
`
`;
`LIST P=16C71, F=INHX8M, C=240
`;================================================================
`;Module Name : EXEC_A.ASM Date: 05\18\93
`;File Name : c:\picstart\brakesrc\exec_a.ASM Revision: 0.0.1.1
`;Author : Stephen A. Zavodny
`;
`; | Revision | Name | Date |
`; +------------------------------+-------------------+--------+
`; | Revised to include Level Out | S A Zavodny |05/18/93|
`; | and Brakelight Drive Out | | |
`; | | | |
`; +------------------------------+-------------------+--------+
`;
`;Identification: Company: Tekonsha Engineering
`; 537 N Church St.
`; Tekonsha, MI 49092
`; (517) 767-4142
`; Project: Next Generation Controller
`; Language: PIC 16CXX Assembly Language
`; Target Machine: MICROCHIP PIC 16C71
`;
`;===============================================================
`; REGISTER AND I/O DEFINITIONS, CONSTANT EQUATE STATEMENTS.
`;===============================================================
`; Include Sysmbol Definitions/Equates
`;
`include "c:\picstart\brakesrc\brake_a.h"
`;
`;===============================================================
`; MACRO INSTRUCTION ROUTINES
`;===============================================================
`; Move Register to Register Macro
`;
`MOVE MACRO FILE1,FILE2
` movf FILE1,w
` movwf FILE2
`ENDM
`;
`;---------------------------------------------------------------
`; Move Literal to Register Macro
`;
`MOVELF MACRO FILE1,FILE2
` movlw FILE1
` movwf FILE2
`ENDM
`;
`;===============================================================
`; MAIN ROUTINES
`;===============================================================
`; Interrupt Manager [Called by All Interrupt Sources]
`;
`
`{8436985: }
`
`
`2
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-2
`
`

`

`
`
`; Include Interrupt Handler & Reset Vector Table
`;
`include "c:\picstart\library\intrsubs\vector_b.asm"
`;
`;---------------------------------------------------------------
`; Main Routine [Called by Reset Manager]
`; (Initializes Registers, and Timers)
`;
`;
`MAIN bsf STAT,RP0 ;Switch to Upper Reg. Bank
` movlw 0x00 ;Option Register Init Value
` movwf OPTN ;Initialize Option Register
` movlw 0x73 ;Port RB Setup Init Value
` movwf TRISB ;Initialize Port RB Config Reg
` bcf STAT,RP0 ;Switch to Lower Reg. Bank
` bcf RB,PWMOUT ;Clr PWMOUT to Initial State
` bcf RB,BRKLITEO ;Clr Brake Lite Driver
` bcf RB,LEVELED ;Set Inert Sensor Leved Out
`;
`;---------------------------------------------------------------
`; Include Initiate Memory Service Routine
`include "c:\picstart\brakesrc\initmem.asm"
`;---------------------------------------------------------------
`;
` movlw RTCINTA
` movwf RTCC
` movlw INTCONSET
` movwf INTCON
`;
`;
`EXEC movf PWMCNT,W ;Is this the 128 PWM count?
` sublw 0x7F ;Revised PWM Bit Count 3/1/93
` btfss STAT,Z
` goto EXEC ;if not goto BACK_GND loop
`;
`; [Timing Manager controls operation of tming counter]
`;
`TMMAN clrf PWMCNT ;Otherwise clear PWMCNT &
` clrf SHRTCNT ;Clear Short Count Register
` incf WDCTNR ;Inc WD Timer SWR RST Counter
` incf RTMRCNT ;Inc Rmp Timer Update Rate Cntr
`;
`; [Checks for Watch Dog Timer Software Reset Time]
`;
`WDTST movf WDCTNR,W ;Tst WDCTNR for WDT Clear Time
` sublw 0x05 ;5*3.33mS PWM Times (~16.7mS)
` btfss STAT,Z ;
` goto RMPTME ;If Not WDT Clr Time goto RMPTME
`RWDT clrwdt ; else Clear WDT Hardware
` clrf WDCTNR ;and Clr WDTCTNR to Rst WDT RST Logic
`;
`; [Ramp Time Manager checks for Ramp Timer Update Time]
`
`{8436985: }
`
`
`3
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-3
`
`

`

`
`
`;
`RMPTME movf RTMRCNT,W ;Tst RTMRCNT for RAMPTMR Update
` sublw 0x1E ;30*3.33mS PWM Times ~0.0999 S
` btfss STAT,Z ;
` goto EXEC ;If not Ramp Up Time goto EXEC
` incf RAMPTMR ;else, inc Ramp Timer and...
` clrf RTMRCNT ; reset Ramp Time Counter
`;
`; [PWM Calculator Computes the desired %DC Output]
`;
`PWMCALC movf RB,W ;Determine Controller Type
` andlw 03 ;
` movwf FEATURE ;Load System Feature>FEATURE
` movwf INERTADR ;Load Inertial Sensor Address
` call BACKGND ;Call PWM Scaling Inputs
`;
`; [[Brake Light Driver Active Test Logic]]
`; (This Routine checks the status of the Manual Control Brake
`; Lite Driver, If it is set the system assumes that a Manual
`; Braking Event is in progress, and the Brake Light Test
`; and Automatic Brake Operation are invalid at this time.)
`;
`BRKLITE btfsc RB,BRKLITEO ;Test Brakelite Driver active (HIGH)
` goto MANINIT ; If Active then skip Brklite Tst
`;
`; [[Brake Light Test Logic (Active High Mod 5/18/93)]]
`;
`BRKLIT btfsc RB,BRAKELITE ;Test for Brakelite active (HIGH)
` goto AUTOTST ;If Active, goto Autobrake Tst
`MANINIT clrf AUTODC ; else Clear % Autodc
` movf MANDC,W ; Test for Manual %DC > 0
` btfsc STAT,Z ;If MANDC = 00Hex
` bcf RB,BRKLITEO ; then Clear Brake Lite Driver
` goto INRTMAN ; Calc Manual %DC [INRTMAN]
`;
`; [Brake Active Control Logic]
`;
`AUTOTST movf FEATURE,W ;Test for Time Activator Mode
` btfss STAT,Z ;if Feature <> 00Hex
` goto INRTAUTO ; then goto Inert Auto PWM
`;
`; [Ramped Brake Control Logic]
`;
`TMRAUTO call RAMPPWM ; else call Ramp PWM Calculator
` movwf AUTODC ;Load Automatic Brake % DC
`;
`; [Analog Manual Brake Control Logic]
`;
`ANALMAN call ANALPWM ;Call Analog PWM Calculator
`MANDCLD movwf MANDC ;Load Manual Brake % DC
`;
`; [Manual Brake Light Drive Logic]
`
`{8436985: }
`
`
`4
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-4
`
`

`

`
`
`;
` movf MANDC,W ;Test for Manual %DC > 0
` btfss STAT,Z ;If MANDC > 00Hex
` bsf RB,BRKLITEO ; then Set Brake Lite Driver
`; else continue...
`;
`; [Calculate the Scaled PWM Output % Duty Cycle]
`;
`PWMSCL call PWMSOUT ;Call PWM Output Scaling Routine
`;
` goto EXEC ;Return to Exec
`;
`; [Inertial Sensor PWM Control Logic]
`;
`INRTAUTO call INRTPWM ;Call Inertial PWM Calculator
` movwf AUTODC ;Load Inertial % DC
`INRTMAN movlw 0x02 ;Test for Brake Controller Type
` subwf FEATURE,W ;
` btfsc STAT,C ; if neither Timer or Voyager
` goto CMNDMAN ; then goto Cmndr Man Brake Logic
` clrf RAMPTMR ; else Clear Ramp Up Timer,
` goto ANALMAN ; Goto Analog Manual % DC Calc
`;
`; [Commander Type Ramped Manual Brake Logic]
`;
`CMNDMAN clrw ;Clear Temp Manual % DC
` btfss RB,MAN_BRAKE ;Test for Manual Brake SW Active
` goto CMANRMP ; if Active goto CMNDR Man Ramp
` clrf RAMPTMR ; else Clear Ramp Up Timer,
` goto MANDCLD ; goto Manual PWM Load
`;
`; [Commander Type Manual Brake Active Logic]
`;
`CMANRMP call RAMPPWM ; else call RAMP PWM Calculator
` goto MANDCLD ;goto Manual Brake PWM Load
`;
`;
`;===============================================================
`; Brake Controller Subroutine Listings
`;===============================================================
`;
`; Include Background Loop SWR Routine
`include "c:\picstart\brakesrc\backgnd.asm"
`;---------------------------------------------------------------
`; Include ADC Converter SWR Routine
`include "c:\picstart\library\adcsubs\adcnvrt.asm"
`;---------------------------------------------------------------
`; Include RAMPED PWM Calculator SWR Routine
`include "c:\picstart\brakesrc\RAMP.asm"
`;---------------------------------------------------------------
`; Include Analog PWM Calculator SWR Routine
`include "c:\picstart\brakesrc\ANALOG.asm"
`
`{8436985: }
`
`
`5
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-5
`
`

`

`
`
`;---------------------------------------------------------------
`; Include Inertial PWM Calculator SWR Routine
`include "c:\picstart\brakesrc\INERT.asm"
`;---------------------------------------------------------------
`; Include PWM Output Scaling SWR Routine
`include "c:\picstart\library\pwmsubs\pwmout.asm"
`;---------------------------------------------------------------
`; Include 8X8 Multiplier SWR Routine
`include "c:\picstart\library\mathsubs\mult8x8f.asm"
`;---------------------------------------------------------------
`; Include PWM Modulator SWR Routine
`include "c:\picstart\library\pwmsubs\pwmman_a.asm"
`;---------------------------------------------------------------
`; Include Inertial Sensor Conversion Table
`include "c:\picstart\brakesrc\icnvrsn.tbl"
`;
`;===============================================================
`; End of Brake Controller Software Listing
`END
`;===============================================================
`;
`
`
`
`
`
`
`{8436985: }
`
`
`6
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-6
`
`

`

`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`File Name: ICNVRSN.TBL
`
`
`
`{8436985: }
`
`
`7
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-7
`
`

`

`
`
`;---------------------------------------------------------------
`;
`; Inertial Conversion Table [Called by INERT]
`; (This Table Convertes the Inertial Sensor Input to PWM %DC)
`; ** [Note: This Table is Subject to Significant Change !!!] **
`;
`ICNVSN org 0x300
` addwf PC,1
` org 0x31A
`INRT19 retlw 0xFF ;
`INRT1A retlw 0xFE ;
`INRT1B retlw 0xFB ;
`INRT1C retlw 0xF8 ;
`INRT1D retlw 0xF4 ;
`INRT1E retlw 0xF1 ;
`INRT1F retlw 0xED ;
`INRT20 retlw 0xEA ;
`INRT21 retlw 0xE7 ;
`INRT22 retlw 0xE3 ;
`INRT23 retlw 0xE0 ;
`INRT24 retlw 0xDC ;
`INRT25 retlw 0xD9 ;
`INRT26 retlw 0xD6 ;
`INRT27 retlw 0xD2 ;
`INRT28 retlw 0xCF ;
`INRT29 retlw 0xCC ;
`INRT2A retlw 0xC8 ;
`INRT2B retlw 0xC5 ;
`INRT2C retlw 0xC1 ;
`INRT2D retlw 0xBE ;
`INRT2E retlw 0xBB ;
`INRT2F retlw 0xB7 ;
`INRT30 retlw 0xB4 ;
`INRT31 retlw 0xB0 ;
`INRT32 retlw 0xAD ;
`INRT33 retlw 0xAA ;
`INRT34 retlw 0xA6 ;
`INRT35 retlw 0xA3 ;
`INRT36 retlw 0x9F ;
`INRT37 retlw 0x9C ;
`INRT38 retlw 0x99 ;
`INRT39 retlw 0x95 ;
`INRT3A retlw 0x92 ;
`INRT3B retlw 0x8F ;
`INRT3C retlw 0x8B ;
`INRT3D retlw 0x84 ;
`INRT3E retlw 0x81 ;
`INRT3F retlw 0x7E ;
`INRT40 retlw 0x7A ;
`INRT41 retlw 0x77 ;
`INRT42 retlw 0x73 ;
`INRT43 retlw 0x70 ;
`
`{8436985: }
`
`
`8
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-8
`
`

`

`
`
`INRT44 retlw 0x6D ;
`INRT45 retlw 0x69 ;
`INRT46 retlw 0x66 ;
`INRT47 retlw 0x62 ;
`INRT48 retlw 0x5F ;
`INRT49 retlw 0x5C ;
`INRT4A retlw 0x58 ;
`INRT4B retlw 0x55 ;
`INRT4C retlw 0x51 ;
`INRT4D retlw 0x4E ;
`INRT4E retlw 0x4B ;
`INRT4F retlw 0x47 ;
`INRT50 retlw 0x44 ;
`INRT51 retlw 0x41 ;
`INRT52 retlw 0x3D ;
`INRT53 retlw 0x3A ;
`INRT54 retlw 0x36 ;
`INRT55 retlw 0x33 ;
`INRT56 retlw 0x30 ;
`INRT57 retlw 0x2C ;
`INRT58 retlw 0x29 ;
`INRT59 retlw 0x25 ;
`INRT5A retlw 0x22 ;
`INRT5B retlw 0x1F ;
`INRT5C retlw 0x1B ;
`INRT5D retlw 0x18 ;
`INRT5E retlw 0x14 ;
`INRT5F retlw 0x11 ;
`INRT60 retlw 0x0E ;
`INRT61 retlw 0x0A ;
`INRT62 retlw 0x07 ;
`INRT63 retlw 0x03 ;
`INRT64 retlw 0x00 ;
`INRT65 retlw 0x00 ;
`INRT66 retlw 0x00 ;
`INRT67 retlw 0x00 ;
`;
`
`
`
`
`
`
`{8436985: }
`
`
`9
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-9
`
`

`

`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`File Name: INERT.ASM
`
`{8436985: }
`
`
`10
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-10
`
`

`

`
`
`;---------------------------------------------------------------
`;
`; Inertial PWM Subroutine [Called by EXEC (Several Places)]
`; (This Routine Calculates the Inertial PWM %DC)
`; ** [Note: This Routine is Subject to Significant Change !!!] **
`;
`INRTPWM movf INERTADR,W ;Setup ADC Routine for INERTPWM
` movwf ADCSEL ;Write Analog Input Mux Address
` call ADCVTR ;Call ADConverter Subroutine
` movwf TEMP ;Subtract IOFFSET
`;
`; [Test for Out-of-Range Inert Values]
`;
` movlw 0x1A ;Test for Out-of-Range High
` subwf TEMP,W ;
` btfss STAT,C ;If INERT < 19Hex
` goto INRTORH ; Goto Out of Range High
` movlw 0x63 ;Test for Out-of-Range Low
` subwf TEMP,W ;
` btfsc STAT,C ;If INERT > 64Hex
` goto INRTORL ; Goto Out of Range Low
`;
`; [Call Inert to %DC Conversion Table]
`;
` movlw 0x03 ;
` movwf PCLATH ;
` movf TEMP,W ;Reload Inert Sensor Value
` call ICNVSN ;Call Conversion Table
` clrf PCLATH ;
` goto IFLTR ;Goto Inert Filter Routine
`;
`; [Inert ADC Value Out-of-Range High Logic]
`;
`INRTORH movlw 0xFF ;Returns FFHex
` goto IFLTR ;Goto Inert Filter Routine
`;
`; [Inert ADC Value Out-of-Range Low Logic]
`;
`INRTORL movlw 0x00 ;Returns 00Hex
` goto IFLTR ;Goto Inert Filter Routine
`;
`; [Inertial Sensor Low Pass Filter]
`; Calculates Average of Two Samples
`;
`IFLTR movwf INERT0 ;Store Latest Inert Sample
` addwf INERT1,0 ;Sum Current and Last Samples
` movwf TEMP ;Save Sample Sum
` rrf TEMP,1 ;Scale Sum (Calc Averag)
` movf TEMP,W ;Updates Last Sample Register
` movwf INERT1 ; ...Cont....
` movf TEMP,W ;Updates current Sensor Average
`;
`
`{8436985: }
`
`
`11
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-11
`
`

`

`
`
`; [Inertial Sensor Level Scaling Logic]
`;
` movf INRTINIT,W ;
` bcf STAT,C ;
` subwf TEMP,W ;
` btfss STAT,C ;
` clrw ;
`;
`;
`;
` return ;Return to Calling Routine
`;
`;
`
`
`
`
`
`{8436985: }
`
`
`12
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-12
`
`

`

`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`File Name: ANALOG.ASM
`
`{8436985: }
`
`
`13
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-13
`
`

`

`
`
`;---------------------------------------------------------------
`;
`; Analog PWM Subroutine [Called by EXEC (Several Places)]
`; (This Routine Calculates the Analog PWM %DC)
`;
`ANALPWM MOVELF ANALIN,ADCSEL ;Setup ADC Routine for AnalPWM
` call ADCVTR ;Call ADConverter Subroutine
` return ;Return to Calling Routine
`;
`
`
`
`
`
`{8436985: }
`
`
`14
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-14
`
`

`

`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`File Name: BACKGND.ASM
`
`
`
`{8436985: }
`
`
`15
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-15
`
`

`

`
`
`;===============================================================
`;
`; Background Loop Routine [Called By Exec]
`; (Back Ground checks for Offset and Gain/Attenuation
`; values, and computes Maximum PWM Duty Cycle [MAXOUT])
`;
`BACKGND MOVELF GAINADR,ADCSEL ;Setup ADC Subroutine for ATTEN
` call ADCVTR ;Call ADConverter Subroutine
` movwf ATTEN ;Store Attenuation Update
`MAXPWM movf ATTEN,W ;Calculated MAXOUT where...
` sublw MAXM ; MAXOUT=MAX-ATTEN
` movwf MAXOUT ;
` btfss STAT,C ;Is result < 0 ?
` clrf MAXOUT ;Clear MAXOUT if so
`;
`; [Inertial Sensor Leveled Test Software Logic]
`;
` MOVE INERTADR,ADCSEL ;Setup ADC Subroutine for INERT
` call ADCVTR ;Call ADConverter Subroutine
` movwf TEMP ;Store Inert Input Temp
` sublw ISLVLDH ;Compare Inrt In to Hgh Thresh
` btfsc STAT,C ;If I-Sensor<Threshold
` goto NLEVELD ; Then Clear Leveled Lamp
` movf TEMP,W ;Load Inrt Sensor Out to W Reg
` sublw ISLVLDL ;Compare Inrt In to Low Thresh
` btfss STAT,C ;If I-Sensor>Threshold
` goto NLEVELD ; Then Clear Leveled Lamp
`;
`; [[I-Sensor Leveled, Set Level Lamp]]
`;
`LEVELD bsf RB,LEVELED ;Turns on the LEVELED LED
`;
`; [[Determine New Inert Sensor Zero Point Value]]
`;
` movlw 0x03 ;Set up PCLATH for Table Lookup
` movwf PCLATH ;to address 03XX
` movf TEMP,W ;Setup Lookup Table Index
` call ICNVSN ;Call Lookup Table
` clrf PCLATH ;Clear PCLATH to Addr 00XX
` movwf INRTINIT ;Save Inert Sensor INIT Value
`;
` return ;Return
`;
`; [[I-Sensor Not Leveled, Clear Level Lamp]]
`;
`NLEVELD bcf RB,LEVELED ;Turns on the LEVELED LED
` return ;Return
`
`
`
`
`
`
`{8436985: }
`
`
`16
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-16
`
`

`

`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`File Name: BRAKE.&H
`
`
`
`{8436985: }
`
`
`17
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-17
`
`

`

`
`
`;
`;====================================================================
`; REGISTER AND I/O DEFINITIONS, CONSTANT EQUATE STATEMENTS.
`;====================================================================
`;
`; Special Function Register Definitions
`;
`RTCC equ 0x01 ;Real Time Clock Counter Register
`PC equ 0x02 ;Program Counter
`STAT equ 0x03 ;CPU Status Register
`FSR equ 0x04 ;File Select Register
`RA equ 0x05 ;Port RA Read/Write Register
`RB equ 0x06 ;Port RB Read/Write Register
`ADCON0 equ 0x08 ;ADC Configuration Register 0
`ADRES equ 0x09 ;ADC Result Register
`PCLATH equ 0x0A ;
`INTCON equ 0x0B ;Interrupt Configuration Register
`W equ 0x0 ;CPU General Purpose Register/Accumulator
`;
`; The following Register Addresses Require the Upper
`; Register Page be Selected via STATUS Reg, Bit RP0=1
`;
`OPTN equ 0x81 ;Timer Options Register [Addr 81H]
`TRISA equ 0x85 ;Port A Tristate Driver Cntrl Reg [Addr 85H]
`TRISB equ 0x86 ;Port B Tristate Driver Cntrl Reg [Addr 86H]
`ADCON1 equ 0x88 ;ADC Configuration Register 1 [Addr 88H]
`;
`;Input Definitions:
`; (Digital)
`;
`BRAKELITE equ 0x06 ;RB6 Brake Light Input
`CURRENT equ 0x04 ;RB4 Tst Bit Output Current Sense Mod 3/25/93
`MAN_BRAKE equ 0x05 ;RB5 Manual Brake Input
`;OFFST_SEL equ 0x04 ;RB4 Offset Level Select Input [Disabled]
`FEATURE_0 equ 0x00 ;RB0 Ftr Bit 3210 Feature Selected
`FEATURE_1 equ 0x01 ;RB1 XX00 Time Actuator
`FEATURE_2 equ 0x02 ;RB2 XX01 Inert w Man Hndbrk
`FEATURE_3 equ 0x03 ;RB3 XX10 Inert w Rmpd Hndbrk
`; XX11 Reserved
`; (Analog)
`;
`ATTENIN equ 0x00 ;RA0/AIN0 Attenuation Input 0% to 100% DC
`SLOPEIN equ 0x01 ;RA1/AIN1 Ramp Time/Slope Input 3 to 10 Sec
`ANALIN equ 0x02 ;RA2/AIN2 Analog Brake Level 0% to 100% DC
`;CURRENT equ 0x03 ;RA3/AIN3 Output Current Sense
`INERTIN equ 0x00 ;RA0/AIN0 Mode 0-Time Activator (Not Req.)
`; RA1/AIN1 Mode 1-Inert. w Man Hndbrk
`; RA2/AIN2 Mode 2-Inert. w Rmpd Hndbrk
`;
`; Output Definations:
`;
`PWMOUT equ 0x07 ;RB7 PWM Brake Level Output (PWM)
`
`{8436985: }
`
`
`18
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-18
`
`

`

`
`
`;
`; Memory
`; (Variables)
`;
`ATTEN equ 0x0C ;Attenuation Factor 0-100% DC
`AUTODC equ 0x0D ;Automatic Braking Factor 0-100% DC
`DCOUT equ 0x0E ;Output Braking Duty Cycle 0-97.7%
`FEATURE equ 0x0F ;Scaled Feature settings
`H_BYTE equ 0x10 ;8X8 Mult Subroutine Result High Byte
`INERTADR equ 0x11 ;Inertial Sensor ADC Input Address
`INTW equ 0x12 ;Inter. Serv. Routine W Register Store
`INTSTAT equ 0x13 ;Inter. Serv. Routine CPU Status Store
`ADCSEL equ 0x14 ;ADC Mux Select Address
`MANDC equ 0x15 ;Manual Braking Factor 0-100% DC
`MAXOUT equ 0x16 ;Max Output Duty Cycle
`MULCND equ 0x17 ;8X8 Mult Subroutine 8 Bit Multiplicand
`MULPLR equ 0x18 ;8X8 Mult Subroutine 8 Bit Multiplier
`OFFSET equ 0x19 ;Offset % Duty Cycle 0% or 10% DC
`ADCTMR equ 0x1A ;ADC Startup Delay Timer
`PWMCNT equ 0x1B ;PWM Subroutine Counter 0 to 256 dec
`RAMPTMR equ 0x1C ;Ramp Funct Timer 0 to 10 s @ 0.1s update
`RTMRCNT equ 0x1D ;Ramp Timer Update Rate Counter
`SLOPE equ 0x1E ;Ramp Time/Slope Vaiable [3 sec to 10 sec]
`TEMP equ 0x1F ;Temporary ALU Storage Register
`WDCTNR equ 0x20 ;Software Watch Dog Timer Reset Counter
`SCALE equ 0x21 ;PWM Output Scaling Scratchpad Memory
`INTZ equ 0x22 ;Inter. Serv. Routine STATUS Z-BIT Store
`L_BYTE equ 0x23 ;8X8 Mult Subroutine Result Low Byte
`INERT0 equ 0x24 ;Inert Sensor Filter New Sample Reg
`INERT1 equ 0x25 ;Inert Sensor Filter Old Sample Reg
`SHRTCNT equ 0x26 ;Short/Overcurrent Fault Counter
`;
`; (Constants)
`;
`ANALADR equ 0x02 ;Analog Braking Sensor Input ADC Addr
`ADCDLY equ 0x0D ;10uS ADC Setup Delay [N=(Delay-250nS)/750nS]
`ADCINIT0 equ 0x80 ;ADCON0 Initialization Value
`ADCINTMSK equ 0x02 ;ADC Interrupt Mask Byte
`ADCMSK equ 0x18 ;ADC Multiplexer Address Mask
`ADCSETUP0 equ 0x81 ;ADCON0 Register Setup Byte
`ADCSETUP1 equ 0x00 ;ADCON1 Register Setup Byte
`GAINADR equ 0x00 ;Gain/Attenuation Input ADC Add
`INTCONSET equ 0xA0 ;INTCON Register Setup Byte, Clears All
`; Interrupts, Disables All Inter Sources
`; Except RTCC, and ENABLES the Interrupt
`; Logic.
`INTMANSET equ 0x20 ;INTCON Register Setup Byte, Clears All
`; Interrupts and Disables All Inter Sources
`; Except RTCC.
`INTMSK equ 0x07 ;INTCON Interrupt Mask Byte
`ISCALE equ 0x04 ;Inertial Sensor Scaling Byte [TBD]
`IOFFSET equ 0x19 ;Inertial Sensor Offset Byte [TBD]
`
`{8436985: }
`
`
`19
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-19
`
`

`

`
`
`MAXM equ 0xFA ;Maximum %DC Output [97.7% for Flting GND]
`OPTINIT equ 0x48 ;Option SFR Initialization Value
`RBINIT equ 0x7F ;RB Control Register Initialization Value
`RTCINTA equ 0xCE ;RTCC 12.5uS Timeout Value
`RTCINTB equ 0xD5 ;RTCC 10.5uS Timeout Value
`RTMRCNST equ 0x1E ;Ramp Timer Update Rate [1 dec =3.33mS]
`SETOFFSET equ 0x1A ;Offset Selected Value [(%OFFSET*256)/100%]
`SHORTADR equ 0x03 ;Current Sensor Input ADC Addr
`SHRTFLT equ 0x05 ;Short/Over Current Fault Count Threshold
`SHUTDWNI equ 0x76 ;Shutdwn Irs Current [2(AIN3)+2>=SHUTDWNI]
`SLOPEADR equ 0x01 ;Ramp Time/Slope Input ADC Addr
`WDTMRCNT equ 0x05 ;WD Timer SWR Rst Cntr Rate [1 dec =3.33mS]
`;
`; (Special Function Register Bit Definitions)
`;
`C equ 0x0 ;Carry Bit, Status Register
`DC equ 0x1 ;Decimal (Least Sig Nibble), Status Register
`Z equ 0x2 ;Zero Bit, Status Reqiter
`PD equ 0x3 ;
`TO equ 0x4 ;Timer 0 Input
`RBIF equ 0x0 ;Port RB Interrupt Flag
`INTIF equ 0x1 ;Ext Interrupt Input Flag
`RTIF equ 0x2 ;Real Time Counter Interrupt Flag
`ADIF equ 0x1 ;ADC Done Interrupt Flag
`DONE equ 0x2 ;ADC Done Status Flag, ADCON0 Register
`GO equ 0x2 ;ADC Conversion Start Cmnd, ADCON0 Register
`RP0 equ 0x5 ;Status Register, Register Page Select Bit
`;
`;
`
`
`
`
`
`{8436985: }
`
`
`20
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-20
`
`

`

`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`File Name: BRAKE.CFG
`
`
`
`{8436985: }
`
`
`21
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-21
`
`

`

`
`
`[PCIB]
`Base=300
`
`[Serial]
`Port=0 19200 0
`
`[Processor]
`Type=30
`Mode=0 256 0 1 1 0 0 0
`
`[Pod]
`Cntl2=221
`Freq=16000000.000000
`
`[Code]
`File=C:\BRAKESRC\EXEC_A.OBJ
`
`[Window]
`Main=1 0 0 0 0
`Regs=1 8 25 1c9 a4
`Stack=0 8 25 1c9 a4
`Stack_Status=0 8 25 1c9 a4
`ProgLo=0 8 25 1c9 a4
`ProgHi=0 8 25 1c9 a4
`Trace=1 8 a0 15c 1dd
`SFR=1 198 108 278 1dd
`Timer=0 198 108 278 1dd
`Counter=0 198 108 278 1dd
`Modify=1 f8 c6 1be 1c7
`Run=1 1e8 36 26c d9
`Browse=0 1e8 36 26c d9
`Force=0 1e8 36 26c d9
`EEPROMMem=0 1e8 36 26c d9
`
`[Watch]
`Num=0
`
`[Break]
`Num=1
`Name[0]=90 90 1 Range#1 0x90 0x90
`
`[Trace]
`Num=1
`Name[0]=84 a0 1 Range#1 BACKGND 0xA0
`
`[Arm]
`Num=0
`
`[Trig]
`Num=0
`
`
`
`
`{8436985: }
`
`
`22
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-22
`
`

`

`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`File Name: BRAKE.H
`
`
`
`{8436985: }
`
`
`23
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-23
`
`

`

`
`
`;
`;====================================================================
`; REGISTER AND I/O DEFINITIONS, CONSTANT EQUATE STATEMENTS.
`;====================================================================
`;
`; Special Function Register Definitions
`;
`RTCC equ 0x01 ;Real Time Clock Counter Register
`PC equ 0x02 ;Program Counter
`STAT equ 0x03 ;CPU Status Register
`FSR equ 0x04 ;File Select Register
`RA equ 0x05 ;Port RA Read/Write Register
`RB equ 0x06 ;Port RB Read/Write Register
`ADCON0 equ 0x08 ;ADC Configuration Register 0
`ADRES equ 0x09 ;ADC Result Register
`PCLATH equ 0x0A ;
`INTCON equ 0x0B ;Interrupt Configuration Register
`W equ 0x0 ;CPU General Purpose Register/Accumulator
`;
`; The following Register Addresses Require the Upper
`; Register Page be Selected via STATUS Reg, Bit RP0=1
`;
`OPTN equ 0x81 ;Timer Options Register [Addr 81H]
`TRISA equ 0x85 ;Port A Tristate Driver Cntrl Reg [Addr 85H]
`TRISB equ 0x86 ;Port B Tristate Driver Cntrl Reg [Addr 86H]
`ADCON1 equ 0x88 ;ADC Configuration Register 1 [Addr 88H]
`;
`;Input Definitions:
`; (Digital)
`;
`BRAKELITE equ 0x06 ;RB6 Brake Light Input
`CURRENT equ 0x04 ;RB4 Tst Bit Output Current Sense Mod 3/25/93
`MAN_BRAKE equ 0x05 ;RB5 Manual Brake Input
`;OFFST_SEL equ 0x04 ;RB4 Offset Level Select Input [Disabled]
`FEATURE_0 equ 0x00 ;RB0 Ftr Bit 3210 Feature Selected
`FEATURE_1 equ 0x01 ;RB1 XX00 Time Actuator
`FEATURE_2 equ 0x02 ;RB2 XX01 Inert w Man Hndbrk
`FEATURE_3 equ 0x03 ;RB3 XX10 Inert w Rmpd Hndbrk
`; XX11 Reserved
`; (Analog)
`;
`ATTENIN equ 0x00 ;RA0/AIN0 Attenuation Input 0% to 100% DC
`SLOPEIN equ 0x01 ;RA1/AIN1 Ramp Time/Slope Input 3 to 10 Sec
`ANALIN equ 0x02 ;RA2/AIN2 Analog Brake Level 0% to 100% DC
`;CURRENT equ 0x03 ;RA3/AIN3 Output Current Sense
`INERTIN equ 0x00 ;RA0/AIN0 Mode 0-Time Activator (Not Req.)
`; RA1/AIN1 Mode 1-Inert. w Man Hndbrk
`; RA2/AIN2 Mode 2-Inert. w Rmpd Hndbrk
`;
`; Output Definations:
`;
`PWMOUT equ 0x07 ;RB7 PWM Brake Level Output (PWM)
`
`{8436985: }
`
`
`24
`
`Horizon Exhibit 2014
`Curt Manufacturing, LLC,v.Horizon Global Americas Inc. - IPR2019-00625
`2014-24
`
`

`

`
`
`;
`; Memory
`; (Variables)
`;
`ATTEN equ 0x0C ;Attenuation Factor 0-100% DC
`AUTODC equ 0x0D ;Automatic Braking Factor 0-100% DC
`DCOUT equ 0x0E ;Output Braking Duty Cycle 0-97.7%
`FEATURE equ 0x0F ;Scaled Feature settings
`H_BYTE equ 0x10 ;8X8 Mult Subroutine Result High Byte
`INERTADR equ 0x11 ;Inertial Sensor ADC Input Address
`INTW equ 0x12 ;Inter. Serv. Routine W Register Store
`INTSTAT equ 0x13 ;Inter. Serv. Routine CPU Status Store
`ADCSEL equ 0x14 ;ADC Mux Select Address
`MANDC equ 0x15 ;Manual Braking Factor 0-100% DC
`MAXOUT equ 0x16 ;Max Output Duty Cycle
`MULCND equ 0x17 ;8X8 Mult Subroutine 8 Bit Multiplicand
`MULPLR equ 0x18 ;8X8 Mult Subroutine 8 Bit Multiplier
`OFFSET equ 0x19 ;Offset % Duty Cycle 0% or 10% DC
`ADCTMR equ 0x1A ;ADC Startup Delay Timer
`PWMCNT equ 0x1B ;PWM Subroutine Counter 0 to 256 dec
`RAMPTMR equ 0x1C ;Ramp Funct Timer 0 to 10 s @ 0.1s update
`RTMRCNT equ 0x1D ;Ramp Timer Update Rate Counter
`SLOPE equ 0x1E ;Ramp Time/Slope Vaiable [3 sec to 10 sec]
`TEMP equ 0x1F ;Temporary ALU Storage Register
`WDCTNR equ 0x20 ;Software Watch Dog Timer Reset Counter
`SCALE equ 0x21 ;PWM Output Scaling Scratchpad Memory
`INTZ equ 0x22 ;Inter. Serv. Routine STATUS Z-BIT Store
`L_BYTE equ 0x23 ;8X8 Mult Subroutine Result Low Byte
`INERT0 equ 0x24 ;Inert Sensor Filter New Sample Reg
`INERT1 equ 0x25 ;Inert Sensor Filter Old Sample Reg
`SHRTCNT equ 0x26 ;Short/Overcurrent Fault Counter
`;
`; (Constants)
`;
`ANALADR equ 0x02 ;Analog Braking Sensor Input ADC Addr
`ADCDLY equ 0x0D ;10uS ADC Setup Delay [N=(Delay-250nS)/750nS]
`ADCINIT0 equ 0x80 ;ADCON0 Initialization Value
`ADCINTMSK equ 0x02 ;ADC Interrupt Mask Byte
`ADCMSK equ 0x18 ;ADC Multiplexer Address Mask
`ADCSETUP0 equ 0x81 ;ADCON0 Register Setup Byte
`ADCSETUP1 equ 0x00 ;ADCON1 Register Setup Byte
`GAINADR equ 0x00 ;Gain/Attenuation Input ADC Add
`INTCONSET equ 0xA0 ;INTCON Register Setup Byte, Clears All
`; Interrupts, Disables All Inter Sources
`; Except RTCC, and ENABLES the Interrupt
`; Logic.
`INTMANSET equ 0x20 ;INTCON Register Setup Byte

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket