EmbeddedRelated.com

Michael Morris (@M65C02A)

Michael has 30+ years of experience in aerospace/defense/commercial electronics. In his career Michael has worked in analog, video, RF, digital electronics and developed software/firmware for embedded processors in Fortran, Pascal, C/C++, Ada, and assembler. Michael has extensive experience with Xilinx FPGAs. As a hobby, Michael enjoys vintage computers and re-implementing classic microcomputers using HDLs and FPGAs.

Use DPLL to Lock Digital Oscillator to 1PPS Signal

Michael MorrisMichael Morris July 24, 20168 comments

Michael Morris demonstrates a practical DPLL that locks a Direct Digital Synthesizer to a GPS 1PPS signal, achieving sub-microsecond alignment and removing reference-oscillator frequency error. The design uses a Phase-Frequency Detector for 0 degree phase lock, a multiplier-free α-filter, and a limiter to prevent saturation, and includes coast and re-lock logic plus a synthesizable Verilog reference core.


Fit Sixteen (or more) Asynchronous Serial Receivers into the Area of a Standard UART Receiver

Michael MorrisMichael Morris March 29, 20155 comments

Michael Morris shows how to pack many asynchronous serial receivers into the area of a single UART by treating FPGA LUTs as writable storage and sharing logic. Using a 4-bit channel counter, microprogrammed state machine, and time-multiplexed baud/sample resources, he fits 16 receive channels (12 used for Caller ID) into a Spartan II XC2S30 and explains input synchronization, filtering, and the multi-channel FIFO approach.


Use Microprogramming to Save Resources and Increase Functionality

Michael MorrisMichael Morris March 21, 2015

Microprogramming can rescue an overfull FPGA, Michael Morris shows, by compressing control logic and time-multiplexing FIFO storage. He replaces an ABEL state machine with a small microprogram ROM that uses block RAM for deep Rx/Tx FIFOs and LUT RAM for pointers and counters, freeing about 25 percent of the device. The article includes Verilog comparisons, resource tables, and a microassembler link to reproduce the approach.


Re: Formal Verification of Software

Reply posted 5 years ago (07/26/2021)
That’s too bad you weren’t able to use it, but glad that you were successful

Re: Formal Verification of Software

Reply posted 5 years ago (07/23/2021)
...

Re: Why CRC with EPROM?

Reply posted 5 years ago (06/26/2021)
Another approach with similar error detection capabilities to CRCs, but which doesn't require bit-level manipulations and bit shifting, is the Fletcher's Checksum.I've...

Re: Design of the A/D converter driver interface

Reply posted 6 years ago (01/08/2021)
Your defined interface appears to cover most of the bases. However, to answer your question regarding whether your driver definition is appropriate or not, you...

Re: extended memory move operations in 8051

Reply posted 7 years ago (03/25/2019)
To the best of my recollection, your comments accurately describe what the code snippets will do.MOVX A,@DPTR will only temporarily affect the upper address bus...

Re: Preventing Forum Fatigue

Reply posted 8 years ago (01/18/2019)
This situation occasionally occurs on all forums like this one. Helpful suggestions encourage additional questions.I don't think that a blanket policy like that...

Re: AMD 188 understanding with EEPROM

Reply posted 9 years ago (06/16/2017)
Generally, the AMD 188 processors, the Am188ER and Am188ES, have two chip select outputs, nUMCS and nLMCS, which split the 1MB address space in half on reset and...

Re: BusOff state question

Reply posted 9 years ago (05/10/2017)
IOWs, are you using DeviceNet, CAN-Open, CAN Kingdom, or any such higher level protocol?BTW. what CAN transceiver does your implementation use?

Re: BusOff state question

Reply posted 9 years ago (05/10/2017)
I can't say that we'll be able help solve your problem, or even suggest a reasonable path to diagnosing the problem described. However, I think that you need to...

Use this form to contact M65C02A

Before you can contact a member of the *Related Sites:

  • You must be logged in (register here)
  • You must confirm you email address