News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

New Member, trying to find a forum for Motorola 68HC11 help

Started by Xnke, April 01, 2017, 04:13:57 PM

Previous topic - Next topic

Xnke

So I am a gearhead-I run a business making custom engine parts and I do custom fuel injection installations. I have used varous systems in the past, however I am more and more coming into using GM computers and systems-they are well documented, well supported and there are many programmers out there than are familiar with them. Before I can recommend them to customers (I don't sell programs, tunes, or computers, I just assist with getting them installed using the hardware I build for them) I need to be able to demonstrate how well they work and how stable they are in my own vehicle.

However, the system I chose to work with, while well documented, does not support the manifold pressure sensor I am using, and the programming has not been yet modified. It does run *very* well in non-supercharged form, and the initial testing showed that while the new program interprets the sensor's signal correctly, i.e. the ADC is done properly, the sensor is only read one time and then never updates again-if I can get it to update again, then the patch *should* work properly.

I have a complete disassembly that is known to be accurate and I have a patch that *should* have worked-the programmer who is writing the code is baffled as to why it doesn't work the way we had hoped. He is now swamped with home and family work, so he has very little time to help me now.

The hardware uses two different 68HC11 processors tied together over the SPI link, and I have the disassembled code for both sides. A patch has to be applied to both sides, although one side is only to pad space for the fix and to receive the emulated signal from the other side-there is very little to no room to work on that side.

I've worked with the Atmel ATmega128, in my limited C, but I've never worked in assembler before. If anyone here can help, it would be much appreciated-I will gladly respond with the disassembly, the patch that doesn't quite work, and as much detail as I can possibly provide-I also have picked up a book on working with the MC68HC11 that goes over assembly as well however I am not sure if the level of detail will be enough to help me.

Thanks for your help,

Jake

dedndave

the 68HC11 instruction set is very similar to the original 6800 series
they added multiply and divide
and, they added an index register
a few other little odds and ends

K_F

'Sire, Sire!... the peasants are Revolting !!!'
'Yes, they are.. aren't they....'

K_F

With engine control systems you're looking at optimised assembly programming, tight interrupt controls and timing.
C programming and above doesn't cut it at this level.. unless you want a buggy engine with springs, nuts and bolts flying out in all directions (excuse the pun  :lol:).

I'd suggest study the manuals in my previous post links.

I've looked at updating many ancient micro-controller 'systems' , and without the original documentation, methods, ideas and implementation... it's just not worth it.. DUMP IT AND RUN !
;)
'Sire, Sire!... the peasants are Revolting !!!'
'Yes, they are.. aren't they....'

Siekmanski

If I may suggest an other microcontroller family....

I'm totally in love with the ATmel microcontrollers.  :icon_redface:
They are easy to program in assembly and there is a large community out there ( forums all over the net ) using them.
And they are very cheap

For example the ATmega328 ( USD 1.96 )

Features
• High Performance, Low Power AVR® 8-Bit Microcontroller
• Advanced RISC Architecture
– 131 Powerful Instructions – Most Single Clock Cycle Execution
– 32 x 8 General Purpose Working Registers
– Fully Static Operation
– Up to 20 MIPS Throughput at 20 MHz
– On-chip 2-cycle Multiplier
• High Endurance Non-volatile Memory Segments
– 4/8/16/32K Bytes of In-System Self-Programmable Flash program memory
– 256/512/512/1K Bytes EEPROM
– 512/1K/1K/2K Bytes Internal SRAM
– Write/Erase Cycles: 10,000 Flash/100,000 EEPROM
– Data retention: 20 years at 85°C/100 years at 25°C(1)
– Optional Boot Code Section with Independent Lock Bits
In-System Programming by On-chip Boot Program
True Read-While-Write Operation
– Programming Lock for Software Security
• Peripheral Features
– Two 8-bit Timer/Counters with Separate Prescaler and Compare Mode
– One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture
Mode
– Real Time Counter with Separate Oscillator
– Six PWM Channels
– 8-channel 10-bit ADC in TQFP and QFN/MLF package
Temperature Measurement
– 6-channel 10-bit ADC in PDIP Package
Temperature Measurement
– Programmable Serial USART
– Master/Slave SPI Serial Interface
– Byte-oriented 2-wire Serial Interface (Philips I2C compatible)
– Programmable Watchdog Timer with Separate On-chip Oscillator
– On-chip Analog Comparator
– Interrupt and Wake-up on Pin Change
• Special Microcontroller Features
– Power-on Reset and Programmable Brown-out Detection
– Internal Calibrated Oscillator
– External and Internal Interrupt Sources
– Six Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, Standby,
and Extended Standby
• I/O and Packages
– 23 Programmable I/O Lines
– 28-pin PDIP, 32-lead TQFP, 28-pad QFN/MLF and 32-pad QFN/MLF
• Operating Voltage:
– 1.8 - 5.5V
• Temperature Range:
– -40°C to 85°C
• Speed Grade:
– 0 - 4 MHz@1.8 - 5.5V, 0 - 10 MHz@2.7 - 5.5.V, 0 - 20 MHz @ 4.5 - 5.5V
• Power Consumption at 1 MHz, 1.8V, 25°C
– Active Mode: 0.2 mA
– Power-down Mode: 0.1 μA
– Power-save Mode: 0.75 μA (Including 32 kHz RTC)
Creative coders use backward thinking techniques as a strategy.