Тёмный

GPIO over SPI over GPIO - IO from Scratch - Part 5 

James Sharman
Подписаться 23 тыс.
Просмотров 7 тыс.
50% 1

Опубликовано:

 

30 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 66   
@weirdboyjim
@weirdboyjim 9 месяцев назад
Join us on Discord: discord.gg/jmf6M3z7XS Follow me on Twitter: twitter.com/WeirdBoyJim Support the channel on Patreon: www.patreon.com/JamesSharman
@Peter_S_
@Peter_S_ 8 месяцев назад
In my mind this is easily the best CPU engineering series on this platform. Brilliant work, James!
@TroySchrapel
@TroySchrapel 8 месяцев назад
100% agree
@weirdboyjim
@weirdboyjim 8 месяцев назад
Very generous thanks! I can only try my best!
@mike44njdevils1
@mike44njdevils1 6 месяцев назад
What I find intriguing about watching this series: Even though I have very little coding experience, I'm having almost no issues following James' coding. Well done!
@weirdboyjim
@weirdboyjim 6 месяцев назад
That is good to hear! In many regards assembly language is really easy to follow once you have a rough idea of what the instructions do (and good naming helps with that!).
@rimmersbryggeri
@rimmersbryggeri 6 месяцев назад
@@weirdboyjim That's what I thought, assembly is much more logical than high level languages.
@captainboing
@captainboing 8 месяцев назад
Nicely done James. Have to say I like your style of video with all the umming and ahing and pauses as your brain ticks 😀 makes everything feel like we are right there with you.
@weirdboyjim
@weirdboyjim 8 месяцев назад
Glad you like them! I make "project" videos rather than "Here's one I made earlier but I'll pretend to to build it for you videos"
@DanDrown
@DanDrown 8 месяцев назад
You mentioned looking at your RTC drift over a longer time period. The 32khz crystals typically have a spec of +/-30ppm, which is about +/-2.6 seconds/day. It's highly dependent upon the temperature of the crystal, and some RTCs even have methods of adjusting the frequency to compensate. The DS3231 is one example of that, but it's an I2C device instead of SPI.
@weirdboyjim
@weirdboyjim 8 месяцев назад
I bought a splashproof lcd clock for my bathroom and it drifts faster than this circuit, I proberbly shouldn't complain.
@akkudakkupl
@akkudakkupl 8 месяцев назад
HPIB over GPIO over I2C over GPIO over SPI over GPIO, just to be ready for anything that might need to be connected to! ;-)
@weirdboyjim
@weirdboyjim 8 месяцев назад
Might need UART in there as well!
@akkudakkupl
@akkudakkupl 8 месяцев назад
@@weirdboyjim You have one of those already though ;-) could add that to the chain, just to make it even more confusing though!
@TroySchrapel
@TroySchrapel 9 месяцев назад
That's awesome, James. I still need to add SPI to my HBC-56. I've added it to my PICO-56 for SDCard support, but the real metal (HBC-56) can't do it yet.
@weirdboyjim
@weirdboyjim 9 месяцев назад
Thanks Troy! SD cards are a cool little bridge between small digital circuits and something that can easily plug into a modern PC!
@kestergreen3844
@kestergreen3844 29 дней назад
Really great to see you using this chip. In part 4 I was thinking about the commodore 64 CIA chip which had the clock aswell as the GPIO feature your implementing today.
@weirdboyjim
@weirdboyjim 18 дней назад
SPI really does add some interesting possibilities. I feel conflicted over using these more complex devices though.
@kestergreen3844
@kestergreen3844 17 дней назад
​@@weirdboyjim Floppy disks are complex devices. You're swapping one for another. It's actually great. I was telling my partner today how good it is that you're exploring beyond the hardware by developing OS features. You're surpassing the point in a project where other RU-vidrs finish up at. Can't wait to see more!
@peter.stimpel
@peter.stimpel 9 месяцев назад
Happy James = Happy viewer. Im more than happy Im allowed to user higher level languages at work.
@weirdboyjim
@weirdboyjim 9 месяцев назад
Glad you are still enjoying the project Peter!
@peter.stimpel
@peter.stimpel 9 месяцев назад
@@weirdboyjim the memories, you know ...
@edgeeffect
@edgeeffect 8 месяцев назад
I dunno... I'm constantly wishing could do ASM at work.
@TomStorey96
@TomStorey96 8 месяцев назад
I have an RTC that runs faster during the cooler months and slower during the warmer months. I included a trimmer capacitor in the oscillator circuit and managed to get it down to 1-2 seconds a month, as long as I don't go away on business travel and turn the heating off, at which point it can drift a few more seconds. I don't know how practical it is, but moving the RTC to a warmer part of the house and testing it there would be an interesting experiment too. Some other RTCs I have allow you to add or subtract ticks to/from an internal counter to compensate for temperature swings. It's quite an interesting challenge to keep accurate time when you have no reference.
@weirdboyjim
@weirdboyjim 8 месяцев назад
The whole subject area is very interesting! For this build I'll probably satisfy myself with setting it every now and then.
@nickphillips528
@nickphillips528 8 месяцев назад
I dont know if JAM-2 will involve alot of breadboards, but I wonder if you could make little PCB's that do nothing more than act as a mini bus for when you want to move 8 outputs to an LED bar - as an alternative to cutting 8 wires each time. Might need a few for common layouts. A bit like your backplane interconnects - but 2 / 3 pins wide & 20 or so long. Probably would not look as nice mind you.
@weirdboyjim
@weirdboyjim 8 месяцев назад
I have a number of different ideas on how to do bits like this differently. I don't mind a little bit like this, there is something therapeutic about poking some wires into breadboards. I do have ideas to create some modules to simplify some of the common combinations.
@UntrackedEndorphins
@UntrackedEndorphins 8 месяцев назад
Never thought about it but, Serial Out/Serial In makes so much more sense than MISO/MOSI
@weirdboyjim
@weirdboyjim 8 месяцев назад
The MISO/MOSI notation tries to resolve the issue that Serial Out on one device goes to Serial In on the other and the wording can start to get tricky when you talking about multiple devices.
@TomStorey96
@TomStorey96 8 месяцев назад
I would also say it is heavily influenced by the whole master/slave wording thing.
@helmutzollner5496
@helmutzollner5496 8 месяцев назад
Great demo. Thanks James!
@weirdboyjim
@weirdboyjim 8 месяцев назад
Glad you liked it!
@twobob
@twobob 8 месяцев назад
Only a game dev uses the word "Occluded" correctly :D "I hadn't read the documentation enough"... Looks across at the 90 page PDF that just landed for me to adjust a dongle routine, in Pascal. Oh really? not reading the docs? What's that like? :) Great progress on this. Smooth as ever
@weirdboyjim
@weirdboyjim 8 месяцев назад
Thanks twobob! Hey! I only missed one small detail that completely inverted the meaning of a register!
@OscarSommerbo
@OscarSommerbo 8 месяцев назад
I happy to hear that you are going to replace bit banging with circuitry. Nothing wrong with bit banging, but it does eat cpu cycles.
@weirdboyjim
@weirdboyjim 8 месяцев назад
I mostly thinking about getting the increased transfer speed.
@edgeeffect
@edgeeffect 8 месяцев назад
Oooh hello 23S08 my old mate. It's been a couple of years now since we spent so much time together. This is a ridiculous idea but... imagine having a 23S08 bit banging SPI to another 23S08 which is bit-banging SPI again and again to ludicrous proportions. ;)
@TSteffi
@TSteffi 8 месяцев назад
You do that 100 times and the data rate will be slow enough to hook up a mechanical actuator that moves something. Like you can have 2 servos one with a red flag attached and one with a white flag. The data and clock would make the servos move the flags. Then you put the whole contraption at a window and have your neighbor across the street point a camera at the window and try decoding the data stream. Then set up the same in reverse for full duplex. At that point, you should be able to wirelessly read and write an SD from across the street. Very, very slowly.
@weirdboyjim
@weirdboyjim 8 месяцев назад
It might be a fun experiment to do one day!
@kirknelson156
@kirknelson156 8 месяцев назад
I learned some assembly on a trs-80 model III back in the early 80's, trying to follow what you were coding well clearly I've forgotten a lot
@weirdboyjim
@weirdboyjim 8 месяцев назад
I try to limit the amount of coding but sometimes I can't avoid it.
@kirknelson156
@kirknelson156 8 месяцев назад
don't I found it interesting but just sad that its been so long for me that I can no longer follow it like I could 30 some years ago. I took classes on basic, assembly, cobol and Pascal, and now I remember almost none of it. ended up dropping out of collage and joined the navy as an electronics tech. @@weirdboyjim
@teknifix
@teknifix 8 месяцев назад
Your RTC crystal should need some small capacitors (22pF I believe) to operate correctly. It's possible the chip might handle it but it would be worthwhile to check. If they're necessary the crystal will not be putting out a clean signal and you will get incorrect operation. If you covered that in your last video and I'm an idiot I apologize. :)
@weirdboyjim
@weirdboyjim 8 месяцев назад
I expected the capacitors to be there, but the data sheet doesn't have them. I can only assume they are either not needed or included internally.
@m1geo
@m1geo 8 месяцев назад
32kHz don't usually need caps.
@TomStorey96
@TomStorey96 8 месяцев назад
If you need any capacitance it will be detailed in the datasheet of the crystal. It's not always 22pF. I have some 32768hz crystals that are spec'd for 6pF for example.
@weirdboyjim
@weirdboyjim 8 месяцев назад
Ahh, that's interesting. Unfortunately these crystals were an ebay special. I'll have a dig around and see what I can find.
@OriginalJetForMe
@OriginalJetForMe 8 месяцев назад
SPI is full-duplex, or can be, no? As you’re clocking bits out, valid bits can be coming in. Perhaps not relevant for this chip, but maybe others?
@weirdboyjim
@weirdboyjim 8 месяцев назад
Yes it is! Shifting bit's out and in happens at the same time but it's very common (as with these devices) that only one is relevant. For speed reasons when bit banging you specialize the code.
@andymouse
@andymouse 8 месяцев назад
Very cool !...cheers.
@weirdboyjim
@weirdboyjim 8 месяцев назад
Thanks AndyMouse!
@your_utube
@your_utube 8 месяцев назад
Thanks James!
@weirdboyjim
@weirdboyjim 8 месяцев назад
You are welcome!
@RealEngineer
@RealEngineer 8 месяцев назад
Great video as always 🎉🎉🎉
@weirdboyjim
@weirdboyjim 8 месяцев назад
Thanks! Glad you liked it!
@KeinNiemand
@KeinNiemand 8 месяцев назад
You should somehow connect your computer to the inernet
@weirdboyjim
@weirdboyjim 7 месяцев назад
Would be fun but the barrier to that is limited memory, TCP/IP Packets can be up to 64k which would fill the whole of my memory.
@TooSlowTube
@TooSlowTube 7 месяцев назад
What CPU is this written for?
@weirdboyjim
@weirdboyjim 7 месяцев назад
This is a side series interfacing peripherals to a home made cpu of my own design - ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-3iHag4k4yEg.html
@TooSlowTube
@TooSlowTube 7 месяцев назад
@@weirdboyjim I see. Thanks.
@TheRealBobHickman
@TheRealBobHickman 8 месяцев назад
If I had a dollar for every time I fixed going the wrong way by first going the wrong way even more... :P
@weirdboyjim
@weirdboyjim 8 месяцев назад
Good to know I'm not the only one Bob!
@sparthir
@sparthir 8 месяцев назад
The only issue I have with this is you coding in light mode. ;)
@weirdboyjim
@weirdboyjim 8 месяцев назад
When I started programming there was no theme modes, I got used to sticking with the defaults.
@wiwingmargahayu6831
@wiwingmargahayu6831 8 месяцев назад
eevblog youtube channel
@weirdboyjim
@weirdboyjim 8 месяцев назад
Not sure what you are saying here? I familiar with the eevblog channel.
Далее
Hardware SPI - IO from Scratch - Part 6
26:14
Просмотров 7 тыс.
ZX Spectrum, Expansion Port Research
40:45
Просмотров 9 тыс.
Porting Bad Apple to the Homebrew CPU!
30:56
Просмотров 10 тыс.
Hardware SPI Continued - IO from Scratch - Part 7
31:13
SPI: The serial peripheral interface
33:00
Просмотров 691 тыс.
Output PCB - VGA from Scratch - Part 18
1:22:14
Просмотров 10 тыс.
SPI (Bit Banging)- IO from Scratch - Part 4
30:04
Просмотров 10 тыс.
The Madness of Z80 I/O
22:52
Просмотров 75 тыс.
Storage (SD Card Support) - IO from Scratch - Part 8
26:10
Tile Data PCB - VGA from Scratch - Part 14
29:38
Просмотров 8 тыс.