Generic Serial Remember To Change Idvendor
SET_PARAMETER //set delays to be used by other instructions SET_T1T2 //T1 & T2 1 //T1=1us 100 //T2=100us EN_VPP_VCC //Vpp & Vcc = 0 0x0 SET_CK_D //Clock and Data as output and 0 0x0 EN_VPP_VCC //Vpp enabled 0x4 NOP //small delay EN_VPP_VCC //Vdd+Vpp enabled 0x5 NOP //small delay LOAD_CONF //program counter to 0x2000 0xFF //fake config 0xFF //fake config INC_ADDR_N //increment address by 6 0x06 READ_DATA_PROG//read DevID. In addition to ICSP commands other instructions manage the programmer, control programming voltages, execute precise delays, communicate via I2C or SPI bus. Every instruction is executed in at least 40 us, due to the interpreter loop execution time. ICSP commands use T1 or T2 as values for delays; all instructions return an echo, with the exception of FLUSH, which immediately sends the output buffer and stops the execution of current packet. In case an instruction doesn't have enough parameters it returns an error (0xFE) and the execution of current packet is halted. The state of USB connection is signaled by LED2: it blinks at 4 Hz during enumeration, at 1 Hz in normal operation.
It also comes with password management and a secure browser.
LED1 shows when there are instructions being executed. Following is the list of all instructions: Instruction Value Parameters Answer Notes NOP 0x00 none echo no operation PROG_RST 0x01 none echo + 10B programmer reset; sends fw version (3B), ID (3B), ' RST' string PROG_ID 0x02 none echo+ 6B sends fw version (3B), ID (3B) CHECK_INS 0x03 1B echo + 1B if specified instruction exists returns its code, otherwise returns error (0xFE) FLUSH 0x04 none none flushes output buffer (sends 64B) and stops command interpreter for the current packet. D 0.25156*z - 0.24844 C1 - C2 z -1 C = --- = ------------------- = ----------- err z - 1 1 -z -1 Remember that z -1 represents a delay of one clock cycle. Next we must deal with quantization and calculation errors.
A/D converter is 10 bits wide, and is triggered by timer2; at the end of conversion an interrupt calls the regulation routine, which calculates the new duty cycle for the PWM peripheral, also 10 bits wide. On the feedback path it's necessary to include a voltage divider in order to limit ADC input voltage to [0,5V]; R1 and R2 do this. So the block diagram is modified as follows: a=12/34 Vu=C'H(Vi-aVu).
D pwm/1024 pwm C1' - C2'z -1 C'= --- = ------------ = ------- = ------------ err [err]/1024*5 [err]*5 1 -z -1 pwm(1 - z -1)=[err](5*C1/a - 5*C2/a z -1)=[err](3.564 - 3.52 z -1) It's clear that integer multiplications can't be used with these coefficients; the easiest solution is to work with fractional values (i.e. Divide output by 2 N and multiply coefficients accordingly); considering that pwm output is 10 bits wide and left-aligned, we can easily work with values divided by 64.
Pwm(1 - z -1)=[err](k1 - k2 z -1)/64 k1=5C1/a*64=228.12 ~ 228 k2=5C2/a*64=225. Raymond Carver They Re Not Your Husband Pdf File. 25 ~ 225 Following are step responses of continuous-time system (blue), discrete-time system (red), discrete-time system with approximate cefficients (green); As you can see they're almost coincident. For all calculations I used, an open source mathematical modeling tool; version 3 has just been released, and it can be used also under the famous windows (almost)operating system. Invalid Inconsistent License Key Solidworks Simulation. If someone is interested are the modeling scripts I used.
The real code for the control function was written in assembly; this is necessary for performance reasons. In fact our C compiler calls a library function to perform multiplications, so it has to save many variables on the stack causing a delay; in this case the resulting execution time had reached 50 us, which is a significant fraction of the sampling period. Instead, by avoiding function calls and manually coding the 16x8 bit multiplication (see k1 & k2), the execution time is down to 12 us. Some real waveforms: Power-up transient, 50 ms/div Step response to load change (load on top trace, AC coupled output on bottom tr.), 50ms/div Step response to set point change (from 11,5 to 12,5 V), 50 ms/div How to contribute The best way to contribute to this project is to build it, use it, and report bugs or suggestions. Also there are still many devices to test; check the list in. Whoever has the know-how and patience can also expand support to other devices. Or if you have a device that is not supported you can send it to me so that I can work on it.
If you find this project useful write me a couple of lines:, and if you modified it show me your work. On SourceForge you can find some where you can discuss about this project; you could also or write a (hopefully positive) review. Downloads Schematic diagram and pcb:,, Firmware: or (.hex) or (with reduced functionality, see ).
Generic RNDIS (PROTOTYPE--Remember to change idVendor): Drivers List 4 drivers are found for ‘Generic RNDIS (PROTOTYPE--Remember to change idVendor)’. To download the needed driver, select it from the list below and click at ‘Download’ button. Please, ensure that the driver version totally corresponds to your OS requirements in order to provide for its operational accuracy. Version: 6.1.6965.0 Date: 2007-05-31 File Size: 12.11M Supported OS: Windows XP 64bit, Windows Vista 64bit, Windows 7 64bit, Windows 8 64bit Version: 5.1.2600.2781 Date: 2005-10-28 File Size: 9.02K Supported OS: Windows XP, Windows Vista 32bit, Windows 7 32bit, Windows 8 32bit Version: 5.1.2600.2781 Date: 2005-10-28 File Size: 4.22M Supported OS: Windows XP, Windows Vista 32bit, Windows 7 32bit, Windows 8 32bit. Generic RNDIS (PROTOTYPE--Remember to change idVendor): Supported Models of Laptops We have compiled a list of popular laptops models applicable for the installation of ‘Generic RNDIS (PROTOTYPE--Remember to change idVendor)’. By clicking at the targeted laptop model, you’ll be able to look through a comprehensive list of compatible devices.
# Manufacturer Model Devices 1 LG R460-L.AAD60B6 2 Lenovo ThinkCentre M58p (6234AC5) 3 Olidata K8V-MX 97913009 4 HP P6-2121eom 5 Sony PCG-F807K(DE) 6 Lenovo ThinkPad T60 (1951WU6) 7 HP Pavilion ze4200 (DK581A) 8 IBM 2525AP5 9 Sony PCG-FR285M(ES) 10 HP Pavilion ze4300 (DK581A) 11 NEC EASYNOTE P910R00006 12 IBM 1861AL7 13 HP Pavilion ze4300 (DA720AV) 14 Toshiba S2410-303 15 ASUS 1008PG 16 Lenovo ThinkPad X200 (7459ZBB) 17 IBM NetVista personal computer (6578DSG) 18 DTK MaxForce G40 19 IBM 4840532 20 IBM 81716HU.