UART & FPGA Bluetooth connection | Road to FPGAs

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 ส.ค. 2024
  • Best & Fast Prototype ($2 for 10 PCBs): www.jlcpcb.com
    In this forth part of FPGA and verilog, we will create a full UART comunication in Verilog. See the codes used for this example below and read the comments. Thanks!
    Help my projects on Patreon : / electronoobs
    my Q&A page: electronoobs.co...
    Canal en Español: / electronoobs en español
    -----------------LINKS-------------------
    Tutorial webpage: www.electronoo...
    UART project files: www.electronoo...
    Downlaod the App: www.electronoo...
    Schematic: www.electronoo...
    Part 3 video: • Synthesis - blink, cou...
    Part 2 video: • Verilog intro - Road t...
    Part 1 video: • Basic Logic Gates - Ro...
    Quartus LITE downlaod: dl.altera.com/?...
    (software free for students) Create an account using real + fake data if you want. Then downlaod the free licence softwares.
    FPGA Cyclone IV EP4CE6: rover.ebay.com...
    COUPONS
    ____________________________
    FPGA Cyclone IV EP4CE6: rover.ebay.com...
    Dual Ch Oscilloscope (266€):www.gearbest.c...
    Electrical Tools: www.gearbest.c...
    PRINTERS
    -------------------------------------
    Ender 3(155€): www.gearbest.c...
    SparkMaker SLA: www.gearbest.c...
    Crealitu CR10: www.gearbest.c...
    Coupon code: "11CR10EU" or "11CR10US"
    ANET E10 (219$): www.gearbest.c...
    Coupon code: "Anete10us"
    TEVO Tarantula (175$): www.gearbest.c...
    Coupon code: "Tarantulaus"
    Creality CR10 MINI: www.gearbest.c...
    COUPON: CR10MINI
    Anet A8: www.gearbest.c...
    Coupon code: "A8KIDA"
    Like share and subscribe to motivate me. Thank you

ความคิดเห็น • 57

  • @ELECTRONOOBS
    @ELECTRONOOBS  5 ปีที่แล้ว +8

    Hi guys. If you want to help my projects: www.patreon.com/ELECTRONOOBS
    Thank you very much, enjoy!

  • @gavinc1998
    @gavinc1998 6 หลายเดือนก่อน

    The additional notes are a nice touch that I wish more technical creators would add. Good job.

  • @fluiditynz
    @fluiditynz 2 ปีที่แล้ว +1

    I was surprised how much high level programing was already on the bluetooth module, I was prepared to be jealous of you programming the high level into the FPGA 😅 I have played a little with AHDL about 20 years ago in a fun little project where I captured certain bus addresses to switch certain external memory pages in place of the true smaller memory address map of a microprocessor. I remember there were no gotchas, it just worked. There is a little brain hurt at first and then it's just another programming language. Good to see another modern inventor with a wide scope of creative tools!

  • @aminezitouni8427
    @aminezitouni8427 5 ปีที่แล้ว +5

    Embedded systems such as FPGA and DSP interested me a lot and I intend to do future projects with them, thank you for this series of videos.

  • @UpcycleElectronics
    @UpcycleElectronics 5 ปีที่แล้ว +5

    Wow. I was not going to get one of these Cyclone IV boards but your doing great stuff here. I need one of these so I can follow along myself. I think this is probably the most useful project you've uploaded so far.
    Thanks dude.
    -Jake

    • @UpcycleElectronics
      @UpcycleElectronics 5 ปีที่แล้ว +2

      You should think about creating a generic gerber file for people to order from JLCpcb if they want. I wouldn't do a project specific type of file either. I've been etching my own SMD to DIP breakout boards for TO-252, TO-263, SOT23, SOT-23-5, and SOT-23-6 footprints. I haven't seen those available at all on eBay or AliEx. I ordered a bunch of different TO-252 and TO-263 MOSFETs that are sold on AliEx dirt cheap. The most effective one so far has been the 06N03LA N Channel MOSFET. I got a bunch of them for $0.02 each. They are a good replacement for IRFZ44's but they are only available in a TO-252 package. Another breakout I've been etching is a SOP-8 with the standard pinout for MOSFETs. That FET package is also available really cheap on AliEx and they tend to be super useful because this package is so popular with lithium battery protection circuits especially the P Channel variety as they have ultra low Vgs thresholds and super low on resistance. I generally buy the premade SMD breakouts if they are cheap and available but there are several SMD packages like these that are not sold. If I were in your position and really wanted to get more people placing their first order with JLCpcb, I would create a few gerber files with the most useful stuff I would like to have or would find useful, then I would try to make it as easy as possible for people to place an order using the files I created. This could get a lot more people placing a first order even though they do not have a design they are ready to upload yet.
      I was even thinking about creating my own etch transparencies kind of like this to use for footprint identification. I'm sure you are aware of the PCB measuring rulers that also have a bunch of footprints for identification. I have been thinking about making my own version but instead of a ruler with footprints I would make centimeter and millimeter tick marks without the usual linear numbers, just tick marks. Then create a bunch of SMD footprints next to the tick marks. Instead of just a ruler with footprints, the design would be a full set of SMD to DIP adaptors that could be broken out at any time. Even after a ruler is broken down for one of the adaptors the other pieces could still be used as a ruler and it would not seem devalued so long as the number scale was missing.
      ...just some ideas ;)
      -Jake

    • @ibzih
      @ibzih 3 ปีที่แล้ว +1

      @@UpcycleElectronics Although I understood half of what you wrote, I still appreciate your effort for writing this long comment :)

  • @amentothatt
    @amentothatt 2 ปีที่แล้ว

    you don't need to hide your thumbs downs. your videos are gold!

  • @hippie-io7225
    @hippie-io7225 5 ปีที่แล้ว +26

    If all electronic engineering professors taught as well as you do, an engineering program would be 1 year not 5 years!!

  • @JonathanKayne
    @JonathanKayne 5 ปีที่แล้ว +2

    Just wanted to give you some feedback on the use of the verilog in this project. I actually used this in my MIDI stepper synth I'm working on and I ran into a few issues.
    The main thing I want to point out is your baud rate generator. It is unnecessary. It is way better to just use the 50 MHz clock and count the number of clock cycles that would equate to 8/16 ticks. I had a lot of data that just wouldn't get processed because of this.
    For the case of my project, I had a 31250 baud uart so I just counted 800 and 1600 clock cycles and all my problems went away.
    The only other stuff was the fact that you really don't need a next state. The two states with the enable work just as well.
    Everything else I had to do was just modification for my project specifically.

  • @11harinair
    @11harinair 4 ปีที่แล้ว +2

    Hi, thanks for the tutorial. I managed to get RX and TX working without the baudrate generator by counting the 50MHz clock directly for the required half-width and full-width counts.
    In the UART_232.zip I downloaded from your website, UART_tx.v needs a couple of fixes. The Tx output needs to be initialized to 1 so the line is high at start. Then in the 'write data out to tx' code, the first time you reach the full pulse-width count, you need to reset the counter to 0.

  • @mukulsharma8616
    @mukulsharma8616 5 ปีที่แล้ว +4

    Plz be so kind as to make video on digital alarm clock using verilog.keep up the good work 👍

  • @Nono-hk3is
    @Nono-hk3is 5 ปีที่แล้ว +2

    You make very good visual aides.

  • @omer1862
    @omer1862 3 ปีที่แล้ว

    hi from turkey , you are very good instructor :)

  • @ScienceLab760
    @ScienceLab760 5 ปีที่แล้ว +3

    Nice work and good explanation, thanks for share, maybe later you can explain how programming fpga using blocks symbols diagrams, for example in quartus ii.

  • @joetke
    @joetke 5 ปีที่แล้ว

    Excellent pedagogy. Thank you.

  • @vishal01mehra
    @vishal01mehra 5 ปีที่แล้ว

    Good to know more about UART.

  • @heyitsme293
    @heyitsme293 ปีที่แล้ว

    very well explained!!!

  • @squidyPet
    @squidyPet 4 ปีที่แล้ว +1

    Excuse me for a question but are you from russia? Your accent is so clear ;)

  • @user-yv1ut5wu4w
    @user-yv1ut5wu4w 4 ปีที่แล้ว +1

    Good!

  • @Aemilindore
    @Aemilindore 5 ปีที่แล้ว +1

    Thanks so much. Really nice clear explanation

    • @Aemilindore
      @Aemilindore 5 ปีที่แล้ว +1

      subbed to your patrion. Not much but its what I could. I hope many people do the same. All the best.

  • @adarshjambhulkar5815
    @adarshjambhulkar5815 5 ปีที่แล้ว +2

    PlZ make a beginner video series on how make a programing for arduino

  • @callistuspanigeorge2224
    @callistuspanigeorge2224 3 ปีที่แล้ว +1

    Thank you so much. With your help I have successfully implemented uart receive on my spartan 6 fpga. Can you please help me how to recieve multiple bytes of unknown length and a control signals goes high when all bytes are received?

  • @hieuvu6543
    @hieuvu6543 2 ปีที่แล้ว

    good job

  • @MCsCreations
    @MCsCreations 5 ปีที่แล้ว +1

    Pretty awesome job, dude. 😊

  • @captivator13
    @captivator13 3 ปีที่แล้ว

    U're good bro 👍🏻
    Sam 🎵

  • @vidanatural_oficial
    @vidanatural_oficial 5 ปีที่แล้ว +1

    very nice channel

  • @sameerhejen
    @sameerhejen 5 ปีที่แล้ว +1

    Dear how to make 2 motor 1 control like switch to other motor if I want 2 pan tilt using

  • @xxxd6068
    @xxxd6068 5 ปีที่แล้ว +1

    Hey it's an good video but I don't have FGPA board and I want to do to anyway thanks for an good video

  • @vallimaylvalliappan9489
    @vallimaylvalliappan9489 2 หลายเดือนก่อน

    what is the purpose of tick signal?

  • @bilzoo20001
    @bilzoo20001 5 ปีที่แล้ว +2

    So does your Top module not implement the ability to Tx data? It looks like the Tx module itself does, I guess it wouldn't be hard to wire up the IO in the Top module if you needed it.

    • @ELECTRONOOBS
      @ELECTRONOOBS  5 ปีที่แล้ว +2

      Yes te TX module works. But for this example I had no data to send from the fpga. Only receive.

  • @electronic7979
    @electronic7979 5 ปีที่แล้ว +1

    Useful video 👍 👍

  • @huizhao2963
    @huizhao2963 5 ปีที่แล้ว

    thank you very much!

  • @mancio92M
    @mancio92M 5 ปีที่แล้ว +1

    woowww FPGA tutorial !!!

  • @pakotzintote
    @pakotzintote 4 ปีที่แล้ว

    creo que estoy mal pero, no es mejor con un microcontrolador?, cuál es la verdadera ventaja de usar fpga aparte de la velocidad de procesamiento?

  • @vallimaylvalliappan9489
    @vallimaylvalliappan9489 2 หลายเดือนก่อน

    what is the purpose of the usb blaster @10:06

  • @justinneumann1492
    @justinneumann1492 4 ปีที่แล้ว

    Any chance you could show me how to add an even parity bit. I can't find any examples

  • @rituamritapalo3515
    @rituamritapalo3515 4 ปีที่แล้ว +1

    can you send the vhdl code for it please
    thank you

  • @yurkshirelad
    @yurkshirelad 2 ปีที่แล้ว

    Brilliant!

  • @jacksonmgani4411
    @jacksonmgani4411 2 ปีที่แล้ว

    Thanks for this tutorial, but I want to know how can I control multible gsm module from same webpage, lets say each gsm module is connected to one arduino where I need to be able to control LED from each arduino from a webpage.

  • @glynnmason8205
    @glynnmason8205 ปีที่แล้ว

    its been w while since you did this video would you do another for fpga's

  • @surajchauhan-ug4fl
    @surajchauhan-ug4fl 4 ปีที่แล้ว

    Please make a video on isolated rs485

  • @khevanapurohit4440
    @khevanapurohit4440 6 หลายเดือนก่อน

    Is this possible on cyclone 2 fpga?

  • @surflaweb
    @surflaweb 4 ปีที่แล้ว +1

    This is hard code.. a normal person can't understand it how you can?

  • @dhanasekarsekar3394
    @dhanasekarsekar3394 2 ปีที่แล้ว

    Active serial configuration device: EPCS4N altera pls help me

  • @denizyldrm8244
    @denizyldrm8244 5 ปีที่แล้ว

    hello I've got all the code of the project I've installed on the card but I'm trying to run zybo 7000 card on the leds but it works.
    Need to do a different operation when installing the code to the card?

  • @denizyldrm8244
    @denizyldrm8244 5 ปีที่แล้ว

    merhaba ben kart üzerine yüklediğim projenin tüm kodunu aldım ama zybo 7000 kartını ledlerde çalıştırmaya çalışıyorum ama işe yarıyor.
    Kodu karta takarken farklı bir işlem yapmanız mı gerekiyor?

  • @mohamedmazighe7044
    @mohamedmazighe7044 5 ปีที่แล้ว

    Hello electronoobs it's greatly , can you do something about implimentation the architeture on (fpga Soc system NIOS II)

  • @fikrimalik4500
    @fikrimalik4500 4 ปีที่แล้ว

    Hye bro, can you teach me how to see it by timing diagram?

  • @paulspark7287
    @paulspark7287 4 ปีที่แล้ว

    @Electronoobs
    Why can't I transmit even characters back to my PC into PuTTY? If I set TxData to 65, I get an 'A'. If I set TxData to 67, I get a 'C'. So why can't I set it to 66 and get a 'B'? PuTTY is set to 8 databits, no parity. It displays rubbish for any even character I transmit.
    For example:
    wire [7:0] TxData = 65 ; // Data to transmit - transmit 'A' character - WORKS OK
    wire [7:0] TxData = 66 ; // Data to transmit - transmit 'B' character - FAILS
    wire [7:0] TxData = 67 ; // Data to transmit - transmit 'C' character - WORKS OK

  • @hasmanking
    @hasmanking 4 ปีที่แล้ว

    i wish this was done for vhdl, anyone know how???

  • @akeemlouigarde4946
    @akeemlouigarde4946 3 ปีที่แล้ว

    ok

  • @LimbaZero
    @LimbaZero 5 ปีที่แล้ว

    It seems hobby/makers are going to use FPGA little more. Arduino have first board that use FPGA (Cyclone 10 LP). The current documentation is little bit missing.

  • @D4no00
    @D4no00 5 ปีที่แล้ว +3

    Programming an FPGA is pain in the ass, it's nice if you want to learn how everything works at low level but takes a lot of time and effort if you want to make something more advanced.