Hi people.
A serious project in mind is to configure 15 GPIO pins as an address bus. What I want is to log the sequence of addresses.
Q: can the USB port send this data to the host computer or is the RX/TX needed.
The goal is a text document listing the sequential addresses (in hex) which can get quite large.
The source of data is a controller (PK board) with old 27C512 rom. I have started a breadboard with needed translators etc, that is the easy part for me.
Next up is the programming needed to interface the PK board with host PC. That is where I am a nubie and will have a lot more questions later.
What this may resemble:
PK board >>> ESP-32 WROOM >>> USB >>> Host PC logging with terminal >>> text document.
executing code RX/TX
Any suggestions or input welcome.
TYIA
Odd topic with old school technology
-
- Posts: 9772
- Joined: Thu Nov 26, 2015 4:08 am
Re: Odd topic with old school technology
What bus speeds are we talking about here? Also, do you already have a chip in mind? I also imagine you want a full dump of literally all accesses over a long-ish (seconds to minutes to hours) of time? If you're using any ESP32 with some sort of built-in USB device, it can be configured as a full-speed USB device, which should give you something like a MByte/sec of throughput.
Re: Odd topic with old school technology
The control board is 20 year old technology with an NEC 78C10g running at 12 Mhz,
The firmware is on an external 27C512 prom. specs for the 27C512 call access time at 45ns
I haven't measured the read cycle of the operating controller. I can follow up on that if needed.
The way the controller works is after booting and restoring last state, it goes into halt where everything is tristated.
Pressing a function button, it then reads an interupt and code for that specific funtion then back to halt.
My project here, is to get a sequential list of addresses (hex word) from all the various functions between halts.
The list, I hope to port to a text document on a host PC.
Think of it as 'tracing' the address sequence. I do expect some of these lists to get quite large.
If datasheets would help, I have all that is needed and can post those.
Based on other projects I have seen, this should be a simple chore for the ESP32.
TNX
The firmware is on an external 27C512 prom. specs for the 27C512 call access time at 45ns
I haven't measured the read cycle of the operating controller. I can follow up on that if needed.
The way the controller works is after booting and restoring last state, it goes into halt where everything is tristated.
Pressing a function button, it then reads an interupt and code for that specific funtion then back to halt.
My project here, is to get a sequential list of addresses (hex word) from all the various functions between halts.
The list, I hope to port to a text document on a host PC.
Think of it as 'tracing' the address sequence. I do expect some of these lists to get quite large.
If datasheets would help, I have all that is needed and can post those.
Based on other projects I have seen, this should be a simple chore for the ESP32.
TNX
-
- Posts: 9772
- Joined: Thu Nov 26, 2015 4:08 am
Re: Odd topic with old school technology
Looking at the timing docs, it looks like the actual speed of memory accesses is about 1 to 1.3MHz. That would give you something like 16 to 20MBit/sec to parse. That's a bit too much for full-speed USB, which tops out at 12MBit/second. High-speed USB would easily capture it, chips with that aren't available yet though. So there's an issue.
You could use WiFi as an interface, though. It's probably fast enough. Note that doing the obvious thing with listening on GPIOs may not be fast enough to capture the waveforms, by the way; reading GPIOs have a fair amount of latency due to them being on the APB bus. If you use an ESP32-C6, you can use the parallel IO peripheral as it's made for this work; if you use an ESP32 you can try using the parallel mode of the I2S controller, or on an ESP32-S3 the camera/LCD module may do the trick.
You could use WiFi as an interface, though. It's probably fast enough. Note that doing the obvious thing with listening on GPIOs may not be fast enough to capture the waveforms, by the way; reading GPIOs have a fair amount of latency due to them being on the APB bus. If you use an ESP32-C6, you can use the parallel IO peripheral as it's made for this work; if you use an ESP32 you can try using the parallel mode of the I2S controller, or on an ESP32-S3 the camera/LCD module may do the trick.
Re: Odd topic with old school technology
OK, I can understand that. Scoping this out a bit, the address latch enable peaks at 900 Khz. the way this is designed, there are 3 port extenders so I would need to "NAND" the chip select and output enable to read just the addresses for the eprom.
I have the high speed WiFi6 if the ESP can match that. I will look into the ESP32-C6 as I am trying to keep this as simple as possible.
Another notion I had is the addition of an SD card to do the capturing but don't think even they would be fast enough.
Maybe a faster memory device.
You have been most helpful, thanks.
I have the high speed WiFi6 if the ESP can match that. I will look into the ESP32-C6 as I am trying to keep this as simple as possible.
Another notion I had is the addition of an SD card to do the capturing but don't think even they would be fast enough.
Maybe a faster memory device.
You have been most helpful, thanks.
-
- Posts: 1749
- Joined: Mon Oct 17, 2022 7:38 pm
- Location: Europe, Germany
Re: Odd topic with old school technology
To just get the data you're after into your PC, buying two cheap 8-bit logic analyzers will be easier and faster, probably more cost-effective, than building your own solution at the edge of what the ESPs can do...
Re: Odd topic with old school technology
I have thought of that, but not sure how I can bring the low byte + high byte together. I'll get there if it can be done.
I am impressed enough with the ESP32, experimenting should be fun and chose that over Arduino.
I am impressed enough with the ESP32, experimenting should be fun and chose that over Arduino.
Who is online
Users browsing this forum: No registered users and 34 guests