Running AVRs at 20MHz (EP 54)

Поделиться
HTML-код
  • Опубликовано: 24 дек 2024

Комментарии • 49

  • @deepblueskyshine
    @deepblueskyshine Год назад +1

    Long ago, other people run popular among chinese bootleggers, german designed component tester at exeeding specifications 24MHz using ubiquitous cristals - stable without problems, but requires little code editing and recompiling.

    • @DoctorRGPlague
      @DoctorRGPlague  Год назад

      Yes, some will overclock them, but I prefer to stay within specs. Thanks for watching!

  • @perlguiman
    @perlguiman Год назад +2

    Perfect level of weird and informative. I have a whole bag of avrs so definitely useful!

    • @DoctorRGPlague
      @DoctorRGPlague  Год назад

      Glad to hear. Thank you and good luck with all the AVRs!

    • @DoctorRGPlague
      @DoctorRGPlague  Год назад

      @tripplefives1402 - I do not think we will see AVRs go away anytime soon. There are still close to 280 8-bit varieties that are still in production, and that doesn't include other AVRs such as the 8/16-bit and 32-bit versions. Also, new AVRs are currently in development and are planned to be released in the near future. This would not be the case if there were plans to phase AVRs out. As an engineer, I have many FAE contacts for various manufacturers including Microchip (the manufacturer of AVRs), so if this were to be true, I would find out in short time. I believe this idea stemmed from the ATmega328 (popularly used in Arduinos) being moved from "In Production" to "Not Recommended for New Designs". This happened quite a while ago, and they still haven't moved that variant to "End of Life". The other variants of the '328, which include the '48, '88, and '168, are still in production. The '328 was to be replaced with the '328PB version, which is currently "In Production". Unfortunately, the '328PB is not being produced in a DIP package but can still be used on breadboards with a protoboard adapter. Until we start seeing AVRs moving from "In Production" to "Not Recommended for New Designs" in droves, I would not be concerned with them supposedly being "phased out". Thank you for your concern, and thanks for watching!

  • @TheDeveloperGuy
    @TheDeveloperGuy Год назад

    The amount of useful technical info is astounding, the process is great, detailed.

  • @jameshchiang
    @jameshchiang Год назад +2

    Burgmann riding EE lecturer in a costume, what a cool channel!

    • @DoctorRGPlague
      @DoctorRGPlague  Год назад

      We love those Burgmans! Thanks for the comment!

  • @carlossantiago4845
    @carlossantiago4845 Год назад +1

    There was a step in the voltage of over a volt (not monotonic) at time stamp 4:18, please explain why this was not discussed as you mentioned, the power supply should be monotonic.

    • @DoctorRGPlague
      @DoctorRGPlague  Год назад +1

      You are correct that there was a slight step in voltage that was not monotonic. This occurred at about 0.7V. What I failed to mention in the video is that the AVR that I am using has a power-on-reset that occurs at a minimum of 1.1V (1.4V typical and 1.6V maximum). because of this, any non-monotonic behavior below 1.1V during startup should not be an issue as long as the power-up from 1.1V on up to the operating voltage is monotonic. If there are any issues then there are several options to rectify the situation, including enabling the brown-out voltage detector or using an external MCU supervisor. The OKI-78SR-5 regulator that produced this step in voltage has been tested extensively by me, and I have not had any issues with power-up failures. Thanks for the comment!

  • @user-rs8zg8ey2b
    @user-rs8zg8ey2b Год назад

    At work when we went from 16mhz to 20mhz we found a random number of chips would not flash using FLIP (this is upto 40% of the device , even at the lowest 9600 baud rate. I tried everything (replacing the mpu/crystal/caps) and no luck. Get this, I found a old flip manual and there is "programming pairs", wth is that,,, it is pairs of mpu clock and programming rate that are happy, at 16mhz, almost all baud rates are fine, but jump to 20mhz and there is not one happy pair. How did I fix this, I connect a 30 to 130pf cap across the crystal (yep across it), this dramatically changes the freq (~40 to 50mhz) and it programs fine and verifies fine every time. Then remove the cap and all good. Thoughts?
    What I need is a programmer that goes lower than 9600baud (~8000baud), I tried one, it sorta worked, programmed and verified, but would not run the code. Where Atmel Flip does, Ideas/thoughts? TIA

  • @FoxRiverBridge
    @FoxRiverBridge Год назад +2

    I like how this guy dresses up like death and then gives a wholesome and educational presentation

    • @DoctorRGPlague
      @DoctorRGPlague  Год назад

      Thank you. I do my best!

    • @codures
      @codures Год назад

      Technically speaking, it is not "death", it is a filtering device mimicking the masks used during the great plague. Legend goes sir Isaac Newton discovered gravity while in lockdown during that period.

  • @balticspirit3082
    @balticspirit3082 Год назад

    Great chanel! It deserves more attention!

  • @YanickT
    @YanickT Год назад

    Thank you for the /8 fuse trick. I didn't know we could change this on the fly.

    • @YanickT
      @YanickT Год назад

      ;To be sure to run without clk division, working awesome.
      ldi R16, $80
      sts CLKPR, R16
      clr R16
      sts CLKPR, R16

    • @DoctorRGPlague
      @DoctorRGPlague  Год назад

      Glad it helped! Thanks for the comment!

  • @migry
    @migry Год назад

    Another interesting and excellent video.. Nice to see you back again!
    Thanks for the warning about the power on ramp of cheap Chinese power supplies!
    Also I didn't see how the code could toggle the pin. You seem to be writing the same value to the port. I am unfamiliar with Atmel Studio and the AVR #defines. I expected you to write a '1' to the port, then delay, a '0' to the port then delay, just to make things clear for the viewer. However I have a sort of recollection that the AVR has a toggle register, but I googled and nothing came up. Found it now, writing to the PINx register results in a toggle of pins on PORTx.
    I am used to AVRs in the context of the Arduino world/GUI. They are a cheap, nicely designed microcontroller. It's always helpful to learn some of the lower level details. 👍

  • @registromalplena2514
    @registromalplena2514 Год назад +1

    Also glad I am not the only one wearing a Plague Doctor mask around the house.

  • @re-make-tr
    @re-make-tr Год назад +1

    perfect pls more content make !

  • @EdwardYamunaque
    @EdwardYamunaque Год назад +3

    I Love AVRs

    • @DoctorRGPlague
      @DoctorRGPlague  Год назад

      Yes, they are great little microcontrollers, and my go-to for a simple 8-bit processor. Thanks for commenting!

  • @registromalplena2514
    @registromalplena2514 Год назад

    Not criticizing but I got confused and had to look up when you said '1 second or one hertz' if I understand you meant half a Hz?

    • @DoctorRGPlague
      @DoctorRGPlague  Год назад

      No, I did mean 1 Hertz (which is a 1 second period). Let me explain. One half Hertz (0.5 Hertz) would equate to a 2 second period (remember that frequency and period are reciprocals of each other, so 1/(0.5 Hertz) = 2 seconds), and if you watch the LED blinking in the video you will notice that it did not take 2 seconds for the LED to blink. It was blinking once each second. The period represents the amount of time before the pattern repeats. The pattern is to turn the LED on for 500ms then off for 500ms (the LED is toggled every 500ms using the PIN register toggle feature). So, the full pattern consists of 500ms ON plus 500ms OFF which equals 1 second (the period). Then taking the reciprocal of that gives us 1 Hertz (1/(1 second) = 1 Hertz). Hopefully that makes sense. Thanks for the comment!

  • @carlossantiago4845
    @carlossantiago4845 Год назад

    Why did the Led blink, you did not invert the bit on every other cycle?

    • @LambdaJack
      @LambdaJack Год назад +1

      That's a feature of PIN, rather than PORT, SFR.

    • @DoctorRGPlague
      @DoctorRGPlague  Год назад +1

      As another commenter mentioned, it has to do with the PIN register. From the datasheet: "Writing a logic one to PINxn toggles the value of PORTxn, independent on the value of DDRxn." Therefore, each time I wrote a '1' to the PIN register, the output to the LED did in fact toggle. Thank you!

  • @yomboprime
    @yomboprime Год назад

    Hi! Just subscribed. I admit the thing that made me click the video thumbnail was seeing the mask. I thougth "This must be cool".
    Also I have a bunch of Atmega 328P lying around which I haven't been able to program because they don't have bootloader (I even have an AVR programmer).

    • @yomboprime
      @yomboprime Год назад

      BTW, Bach is also one of my favorites.

    • @DoctorRGPlague
      @DoctorRGPlague  Год назад +1

      You don't need bootloader if you program them directly using an ICE programmer (not installed in an Arduino for instance). I never use bootloader. But that's just my preference. Thanks for subscribing, and thanks for the comment!

    • @yomboprime
      @yomboprime Год назад

      Thanks for the tip! @@DoctorRGPlague

  • @saduniwathsala
    @saduniwathsala Год назад

    Nice👍

  • @stylesoftware
    @stylesoftware Год назад

    Nice

  • @petermuller608
    @petermuller608 Год назад

    I should slow down in LSD binges, seeing black death medics discussing AVR overclocking

  • @gothesouthway
    @gothesouthway Год назад +2

    This video is so sick *COUGH COUGH*

  • @AjinkyaMahajan
    @AjinkyaMahajan Год назад +1

    wow, you made the whole video wearing that damn mask !!!
    nice demonstration of microcontroller circuits