|
First of all thanks for all the answers to my question regarting microcontrollers a few days ago.
I have ordered a small programmer/debugging device for PIC microcontrollers. I intend to use the 18FXXX family in DIP packages, at VCC = 5V and 10 MHz (internal) clock.
I can probably use them only for jobs where the timing is not chritical. Even at maximum clock frequency the controller can execute only two instructions per CPU clock pulse. That is not fast enough for address calculations/decoding or similar logic which has only two or three CPU clock pulses time. These things may fall to discrete logic again, unless I can get some suitable CPLDs.
These Lattice CPLDs[^] look good. I can put them in sockets, they run at 5V, they are very fast, there seem to be plenty of gates and pins for my purposes and they do not cost so much. Nice and well, but how do you program these things. You get some sort of IDE from the manufacturer, but I can't find any programming device. That must be some sort of insider joke, because even the data sheet does not mention how the CPLD is actually programmed.
Back to the PIC: I intend to use the PIC's parallel slave port. For one thing, that's a sinister sounding name, so I must use it. And then it's also really practical because it let's the microcontroller look like one of the many I/O devices on the bus. That fits well into my existing design for memory mapped I/O devices. Now there will be some microcontrollers among them and nothing else changes.
I have read that newer PICs have an improved parallel slave port. Instead of a single 8 bit input/output register it then has four, selected by two additional address lines. It would be really useful, but I have forgotten the name of this feature. Now I'm searching documentation like mad, but all I find is information on the oldschool single register PSP. Does anyone know the correct name? Maybe the 18FXXXX PICs did not have this feature yet. Or maybe I'm just looking for the wrong names.
P.S.: There is also the parallel master port, but there should only be one bus master (the CPU), otherwise bad things are bound to happen.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Hmmm, sounds good. The Lattice part I haven't played with, some of their other parts need a programmer/debugger that it not cheap (the Lattice ICE with it's very fragile socket header). I think you are right the PIC18F family don't have that feature which if I remember rightly was for graphics use I am pretty sure 24 family has it.
|
|
|
|
|
Found it. It's the Enhanced Parallel Slave Port (EPSP) and it's the buffered mode I was looking for. It's not suited for what I intended to do. The oldschool PSP will have to do, I guess. it's the only way I get input data onto the bus in time without having the CPU do WAIT states.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Once you start playing with them you'll never turn back.
Good luck on your journey grasshopper!
Everyone has a photographic memory; some just don't have film. Steven Wright
|
|
|
|
|
We shall see. At the moment I can't use them for anything time critical, even with a 42 year old CPU chugging along at 5 MHz. But at least I can use them very well for managing CPU operating modes, managing interrupts, reading the PS/2 ports or bootloading the BIOS from a tiny serial ROM after a reset. This way I can scratch the ROM from my memory map and have more paged RAM for the BIOS and the OS. Looks like we are headed for an 8 bit computer with up to 16 Mb RAM.
The problem is, that all those address calculations, all the registers to extend the address bus and all the decoding still has to be done with discrete logic. A microcontroller would be far too slow, even at the highest clock frequency. I hope I can go with the CPLD for that part.
At least all this also opens up some unusual options that will make the computer resemble the original Elf a little more. It was designed by the engineer who designed the CPU, after all.
By controlling the processor's operating modes with a microcontroller, I can add an interface to plug in a hex keyboard (or data switches), LED displays and control switches to operate it like the original Elf, using the LOAD mode to enter and display bytes from the keypad without any software inbetween. Plug out the hex keyboard and it will use a simple power on reset and automatically use the LOAD mode to quickly load the BIOs and then go to RUN mode.
The second thing would be to use the microcontroller's oscillator to provide the CPU's clock from its internal oscillator. Obviously we could then run the CPU at different speeds, but the best part would be to stop the clock completely. The CPU has no dynamic registers that could be corrupted and therefore has no minimum frequency. You can halt it completely that way and then resume as if nothing had happened. In the old days some people built a simple logic to let the clock run until the CPU signaled an instruction fetch cycle on the bus and then halt it. After pushing a button, it would resume until the next instruction was fetched. This way you could single step complete instructions, examine the state of the system as long as you liked and continue whenever you liked.
And yes, I'm saving pounds of discrete logic ICs and a lot of space on the boards.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
You'll always need discrete logic chips, I have a ton of them + sensors of all kinds.
But the brains that drives them is cheap, easy to work with and actually kinda fun.
Everyone has a photographic memory; some just don't have film. Steven Wright
|
|
|
|
|
|
A friend of my lost years of photos (kids mostly) for a disk failure...
He want's to do backup from now - on a single external drive... We all know that is not safer than a single internal disk...
I gave him 3 ideas:
1. RAID in the computer
2. RAID outside the computer (NAS)
3. Cloud (from Google Drive to ctera)
I would like ideas, that would save him money and burden too...
"The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge". Stephen Hawking, 1942- 2018
|
|
|
|
|
NAS.
Cloud has four problems:
* Upload speed is much slower than download speed;
* Cost is periodical and much more frequent than the occasional replacement for a NAS;
* Data are "up in the air" on another one's server. No thanks;
* Conditions may vary unilaterally, see OneDrive.
GCS d-- s-/++ a- C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- ++>+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
|
|
NAS is good, but ... it's best when combined with a regimen of air-gapped USB backups. Two 4TB USB3 external HDDs will cost less than a single RAID NAS (think around £150 ~ £200 the pair) and provide much better protection from malware (Ransomware in particular just loves NAS storage).
Combine that with twice monthly disk images - alternating between the two drives - via AOMEI Backupper and he can't lose much data regardless of what happens.
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I see... And I can set AOMEI up to do that alone? Say one week to disk A and the other on Disk B? My friend is not so technical and I do not wish to visit him that frequently...
"The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge". Stephen Hawking, 1942- 2018
|
|
|
|
|
No - the whole idea is that backups should be air-gapped, so having them permanently plugged in renders the backups themselves vulnerable. For example, if they are plugged into a PC and the PSU breaks down, it can do enormous damage to all connected devices (I've had HDD's and mice fried when PSUs fail and pump too many volts down th +5 and +12 lines).
Simplest way is label them: "1st of month" and "15th of month" and he just plugs in the appropriate drive to do the backup. (You can Schedule Windows Backup with AOMEI Backupper Software[^] - I don't know if it's in the free version, but it comes up on BitsDuJour quite often as a free, legal, and licenced download if it isn't).
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I've been experimenting with AOMEI backup (free version) and, thus far, every repeated backup in a sequence is an Incremental or Differential. I have not managed to persuade it to always do Full backups. That doesn't mean that it can't do it; it just means that if it is possible, then I haven't yet cracked how to do it. It is a slow exploration as I wait for the once-a-week cycles as I haven't enough disc space to do dailies.
FWIW: NAS unit with pair 3TB drives (largest size the NAS unit can handle) in the garage on homeplug Ethernet network. The PC is at the other side of the house.
|
|
|
|
|
Is it plausible that your suggested setup would be massive overkill for some photos of the kids? If you were talking about operational data in a business, then possibly, but hey, it's not.....
If it was me (and obviously depending on the quantity), then copying them between a coupe of phones (mine, Mrs Wife's, grandma's etc) would do me - but then I don't have any kids and if I did they'd likely be so ugly nobody would want to keep photos of them...
Point I'm making is that not everything has to be military grade hardened, fireproof, malware proof and hacker proof at all times..
C# has already designed away most of the tedium of C++.
|
|
|
|
|
And there's the rub: you never know how valuable your pictures are until they are gone ...
And "formalizing" backup procedures means they are more likely to be followed - which means future memories are protected as well.
Sent from my Amstrad PC 1640
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
RichardGrimmer wrote: or some photos of the kids
I have about 2TB of family pictures (my family ). It would take me probably one year non stop to watch them all, but hey, I cannot delete a single one.
|
|
|
|
|
I have about 1tb and the same problem, retirement project is to clean out the rubbish in the photo folders.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Quote: and if I did they'd likely be so ugly nobody would want to keep photos of them...
Ah, ugly kid syndrome. I wish people realized that they suffered from this plight, but rarely do they acknowledge it.
Outside of a dog, a book is a man's best friend; inside of a dog, it's too dark to read. -- Groucho Marx
|
|
|
|
|
I'm retired now, so I don't worry about preserving my employers operational data. But I do have nearly a terabyte of personal images. Images not only of children and family, but we've travelled extensively. How does one replace the images of the children growing up? Or the videos of the birth of the grandchildren? Or our visit to Normandy (Caen France), images of us shopping in Casablanca, or riding a camel with the Great Pyramid in the background, or watching penguins at Tierra del Fuego? Precious moments the we relive on occasion. Also leaves a record, a memorialization of one's life, a legacy for future generations.
|
|
|
|
|
I use both an external drive and Microsoft OneDrive for backing up my photo's.
|
|
|
|
|
|
I totally agree. The old photos will never change and if it is just for backup, I'd burn double layer Blu-rays with 50Gb on each. After the initial backup you only need to burn the new files. Copy the discs and give them out to your family. Serves as an off site backup and makes them happy.
|
|
|
|
|
A "tiny" problem is, how many will have PC readers for double layer BDs five years from now? They don't even have it today! I used to make videos of social events, but from 3-4 years ago, I increasing often am told "DVD? Noo... I haven't used that for years, my PC doesn't have it". BD never was an option. I am told to upload the video to YouTube, so they can download it from there.
For 99% of people, BD is not an option at all. Even a 32 GB USB stick is more realistic - and not really that bad, except that you might, by accident or carelessness, loose it. I tell people: Buy two 32 GB USB sticks. Copy your files to one of them, and take it to work, put it in the top drawer of your office cabinet. Every week (at least), make a new backup on the second stick, bring that one to work, and take the first stick with you home for the next generation backup.
Well, internally the procedure is somewhat more complex, but this is the essemce of it. People use USB sticks, they don't use BDs.
|
|
|
|