Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Looking for a CPU

Status
Not open for further replies.
Nigel Goodwin said:
Check his location, he's in Spain - not the USA :D
Here's a quote from the site:
Hi! My name is Rickard Gunée and I'm a 30 years old engineer from Sweden (in northern Europe). I like to make electronic projects, a

EDIT: Ah, I see what you're getting at. The OP is from Spain. I was assuming otherwise and that he might have to convert.

Never mind :p
 
Nigel, I really don't know how it's been done, and sure, maybe I should read more, but I've seen things like the guy from the website futz posted, that generates luma in software, and the croma using different delays from invertes, which in a middle power microcontroller is quite easy in terms of performance. I think this is a good way to do it because as it is very basic, and you have to do all manually, you can learn a lot from it. Is there any better way?

I know Parallax, but I'm not interested on it. I rather a chip which can be coded in C. SX and Parallax seem quite good MCUs, but I don't want to learn a new language (I already know C/++/#, Java, Delphi, PHP, several ASM, VHDL,...), and would like to keep the effort to the lowest level, as my job does not let me much free time. Also, they are not as popular as AVR, PIC or ARM7. I need to choose the most versatile option, to take the most out of it. Have not time to learn more things! As I already worked with 16F PICs (not fast enough for me now), AVR or ARM7 seem like the best options, due to availability, prize, popularity,...

Do you guys know if there're much difference between Atmel's and LPC's ARM7 MCUs?
I've been reading the specs for some days, and find them quite similar, but maybe someone of you have some practical experience?
 
Last edited:
patroclus said:
Nigel, I really don't know how it's been done, and sure, maybe I should read more, but I've seen things like the guy from the website futz posted, that generates luma in software, and the croma using different delays from invertes, which in a middle power microcontroller is quite easy in terms of performance. I think this is a good way to do it because as it is very basic, and you have to do all manually, you can learn a lot from it. Is there any better way?

Generating luma isn't a problem, but chroma certainly is, and your 20MIPS is woefully lacking, you need to generate an ACCURATE 4.43361875MHz signal, that also has to be phase perfect - because it's the phase that determines the colour at any instant on the screen.

I would suggest a far better way is to generate RGB signals, and use a colour encoder chip to create a composite signal from it, assuming you want a low quality composite signal?.
 
Well, I didn't think about RGB.
About the croma, of course there would be an oscillator for a perfect frequency output, going through several buffers/inverters, to get about 8 or 16 different delays or phases, and then the MCU just have to select which one by driving a mux.

Anyway, I really don't know how RGB signals work, if it is easier, I should consider it...
 
patroclus said:
Well, I didn't think about RGB.
About the croma, of course there would be an oscillator for a perfect frequency output, going through several buffers/inverters, to get about 8 or 16 different delays or phases, and then the MCU just have to select which one by driving a mux.

Anyway, I really don't know how RGB signals work, if it is easier, I should consider it...

If you don't know how RGB works, perhaps you shouldn't be considering building a video generator?.

Like I said before, look at examples of how it's been done in the past 30-40 years, you appear to be trying to invent something with no idea of how it's supposed to work, and no idea of how it's been done in the past.

You might try checking Sinclair computers?, ZX80/81 and Spectrum, these did part of their video generation in software - there have also been a number of books in the distant past, like the "TV Typewriter Cookbook" and it's followup the "Cheap Video Cookbook" (I think I might even have the second one somewhere?).
 
Well, my main concern now, is not TV signal generator. So far I was focusing on other areas, and trying to find a MCU with an external memory controller. Of course video is something I'll need, and I'm actually learning about it. I read a couple of things everyday, and I already know how RGB works. And sure, it seems much easier to do in software.
By the way, I'm not trying to get a high quality result, and my main target is to learn making a very practical project. For productive work I've got my job, this is for fun ;-)
 
Well, my goal is to make a simple system, for general purpose. Yes, it may be some kind of homemade computer or video game console. I want to build this, to use all what I learned about computer architecture and electronics. I'm a electronic engineer student, in my last year, but it's very theory intensive. I know quite a lot about physics, and some areas of electronics, but from a very non-practical approach. Here in Spain, in my experience, this is the way it goes. We have some laboratories for microwaves, optical communications, microcontrollers, and FPGA, and there're few places where you can study this engineering. Almost all electronic jobs are carried out by specialized physics graduates or teleco engineers. Those not as complex, for technicians.

In short, I do know what my goals are, but I might have not explain myself very well. Imagine I want to build a homemade computer, cause I like digital electronics and architecture, and I want to really do something that works, and I'm not so much concerned about image quality or performance. And that will probably be the best description I guess :)

Sorry if it sounds so stupid :)
 
So you're basically wanting to duplicate things done back in the 1970's?, I would suggest you try and get hold of the "Cheap Video Cookbook" I mentioned, which will help you a great deal. You should probably really be looking at 1970's/80's technology as well, micro-processors rather than micro-controllers - you might try talking to Marks256 who seems to be thinking about similar old stuff, but never actually doing anything about it :D
 
Yes, that's it. :)

Indeed, my first question in this post was about a CPU :)

That's why I'm currently betting for an ARM7 or some kind of microcontroller that has an external bus interface. I work with ARM7 at work, and they're pretty good. I found so few low cost CPUs in the market (primarily Z80 based). ARM7 is good, because can be programmed in C, and packs lots of performance at low power/cost. 24F PICs and AVR are at a 20 MIPs range. Not enough if you want to generate video signal in software. Of course, Z80 is out of the game in this area.

I also know a book called The Black Art Of Video Game Console Design. The author proposes the video generation method I described, though I don't have that book, I just read some excerpts. He uses SX microcontrollers, that it's suppose to reach 80 MIPs, but are 8 bits and need to be program in ASM (it's very similar to PICs) or in a custom high level language, and requires specific programmer. Not attractive to me at first glance...

I try to do something based on 70/80's technology because modern technology is no fun anymore. Too complicated :) In this area, I rather do modifications. I already finished some cool projects, like a PC ->Super Nintendo mouse interface, using PIC, and an addon for SEGA Genesis/Megadrive that allows loading games from a compact flash card to a rewritable cartridge, and play it, as well as interfacing with a PC via parallel port, to read ans write save games, or dump cartridges, using a homemade flash expansion port adapter, and witting al software/firmware on my own. Motorola 68k CPU is quite great :)
I hope I can keep up with this new project!
 
Last edited:
Bear in mind that if your CPU is expending most of it's time generating your video signal, then it doesn't leave much time for it to be running the actual program you want.

This is why computers (and consoles) have hardware to generate the video, and even the software ones (like the Sinclair's) used some hardware as well.
 
I know, but the author of the book I mentioned, has built (and even sells in his website) videogame consoles based on SX and parallax microcontrollers, and both generate video and sound by software, relying on basic hardware like 4 bit D/A converters, leaving enough performance to make games. In fact, there's a small community that have written games for them. An ARM7 must be more than enough. Futz posted a web in which someone shows how to generate video signal using PIC and SX MCUs as well... and he even wrote some games for it.

From these things I got my inspiration... :)

The books you told me seem like impossible to get here. Maybe amazon USA. Anyway I found a review about them, very high rating indeed, but it seems it explains ways that rely on specific IC, that might be impossible to get today... also, doing it by software makes you learn all the process and not be dependent on specific hardware... if this goes on, I might design a simple video hardware in a CPLD/FPGA to aid the CPU.
 
Well, after thinking about it, I decided to keep on with Microchip, probably going for 24HJ pics,
which deliver a quite high performance of up to 40 mips, whereas many arm7 mcu will move around 50 mips.
Also, there's quite a lot of C source code available. Not sure if more or less than for pic.
The main problem I find is time. My time. Setting up all the open source software for the arm, and
some hours struggling to make it work fine (a few hours, or not so few, depending on many factors),
but basically not having a proper IDE and development software as I have for pic, is an important fact.
Many things to do, and I'd like to focus on the project.
Arm7 seems great, if you can afford a development kit, and make sure you'll have development software,
or otherwise you've got plenty of time or want to take the quest of sorting yourself out.

I didn't find a single pic with an external memory interface, neither in 18F series. So I guess I
should write a bootloader to load code from an SD card, and then reflash the internal instruction
memory.
 
patroclus said:
Well, after thinking about it, I decided to keep on with Microchip, probably going for 24HJ pics,
which deliver a quite high performance of up to 40 mips, whereas many arm7 mcu will move around 50 mips.
Also, there's quite a lot of C source code available. Not sure if more or less than for pic.
The main problem I find is time. My time. Setting up all the open source software for the arm, and
some hours struggling to make it work fine (a few hours, or not so few, depending on many factors),
but basically not having a proper IDE and development software as I have for pic, is an important fact.
Many things to do, and I'd like to focus on the project.
Arm7 seems great, if you can afford a development kit, and make sure you'll have development software,
or otherwise you've got plenty of time or want to take the quest of sorting yourself out.

I didn't find a single pic with an external memory interface, neither in 18F series. So I guess I
should write a bootloader to load code from an SD card, and then reflash the internal instruction
memory.

I know exactly what you mean. I'm trying to find ways to do a large N Fast Fourier Transform which the dsPIC can't really handle due to memory and speed constraints. But after browsing processors that can do the job (external memory, fast, etc) like the Coldfire, the development (software and hardware) tools are in the range of $1500+, and even if I could afford those, it seems that a lot of the math libraries I need to do the FFT aren't easily available (ie. cost even MORE money to get). That's not even mentioning things like having to deal with implenenting external memory and unworkable BGA packages.

For some reason I've never even considered ARM. I always look past it to the Coldfire.
 
Coldfire is a expensive solution for me :)

I know there're must be many, but do you guys know of a good resources website or forum for 16 bit PIC programming / source code ?? Something like avrfreak.

In the past, I only used Nigel's webpage, which is great to start with, by the way. From there on, I only used the datasheets.
 
patroclus said:
I know there're must be many, but do you guys know of a good resources website or forum for 16 bit PIC programming / source code ?? Something like avrfreak.

Microchips forums. AVR is only 8 bit isn't it, they wouldn't have a 16 bit forum.
 
Setting up all the open source software for the arm, and
some hours struggling to make it work fine (a few hours, or not so few, depending on many factors),
but basically not having a proper IDE and development software as I have for pic, is an important fact.

Well there are tons of tutorial on setting up Open Source for ARM; try sparkfun's tutorials, or check for them on Olimex's site. Yes, it is a lot of work and learning, however it is well worth the climb.

Rowley is offering a cheap version of their ARM tool chain for a very good price, and there is also a free Keil tool chain for ARM. Both are based on gcc.
 
Status
Not open for further replies.

Latest threads

Back
Top