Brian,
Thanks for your reply, appreciate you taking the time to write it.
Somehow I still have this nagging feeling that we are talking slightly past each other here. Please allow me to spend a bit of time explaining exactly what my application is, then we can take it from there. It is getting late here and I’d like to give you at least a partial answer today before heading for bed.
As it happens, then I realized I was just being silly by trying to hide exactly what my project it. By its very nature then it cannot be ‘stolen’, since it wouldn’t work as a closed source system. And if somebody else start working on this before I get around to it, then it would just serve to save a lot of time and initial work for me on the prototype.
Right. Please fasten your seat belts, here we go…
Around the world there is about 1 million active radio amateurs aka. ‘hams’. Today, when a ham wish to get his hands on some radio equipment, he has the option of either buying some factory made equipment, or building his own. (Unlike the CB/walkie talkie operators we are allowed to do this).
However, for the last few decades or so, the art of analog (RF) DIY among radio amateurs has been in a steady decline. The trouble is that the corporations making and selling radio gear for the radio amateurs are all very large with vast resources available to them during development. The net result being that it is nigh impossible for almost any single individual to design or copy a complete radio, which has anywhere near the same functionality as a factory made design.
So today most new (and sometimes not so new) hams never really get started in home construction, or their experiments end up being fun little gizmo’s, which you mostly cannot really take seriously for many of the usual ham radio activities: Worldwide activity contests, long distance communication (Earth-Moon-Earth), satellites etc.
The sticky spot has always been the control of the radio. Modern radios have enourmously complex human control interfaces, [up to and including full flat panel displays on the front panel.
Yet in reality little has changed since WW-II when it comes to the actual analog radio parts and building blocks inside a communication radio. Most of what you see in a modern radio is just the result of one (or rather, usually several) powerful MCUs at work. The analog part of the radio is actually not too hard to replicate, surprising as it may seem. Yet with the tools available to the average experimenter, replicating something akin to an IC-7800 is an almost hopeless endeavour due to the software needed for the controls and dsp processing.
Many have done experiments with using MCUs and PCs to control DIY ham gear, of course. Yet mostly you end up with something way too underpowered, like when you try to use a single 20 pin PIC. Or you have your ‘radio’ [permanently tied to your PC, using that one instead for the HID. To my knowledge there are no really flexible, Open Source and thus fully modifiable radio control projects out there, in kit form or otherwise.
Now enter from stage left a little corporation called Microchip. As you will be aware, then a few years ago they released a new family of microcontroller chips.
And into this Chip, they poured all their cruelty, their malice and their will to dominate all life. One Chip to rule them all.
Ahem :shock: (Sorry, got carried away there… )
This thing has everything you need to build a radio experimenter’s dream development and experimentation platform. Plus the kitchen sink.
Main sticky point with previous MCU platforms was the immediate lack of ability to do main frequency control.
Variable frequency control in DIY radio equipment is traditionally done via a low phase noise voltage controlled oscillator (VCO). Direct digital synthesis (DDS), like used in the AD98xx and AD99xx devices, is rarely able to achieve similar levels of performance. They can be OK-ish for simple radios, but are not easily tweaked to serious, world class performance. (Sorry AD…)
However a free-running VCO rarely has the long term stability needed for a communication radio. It drifts, if slowly, so it needs to be controlled somehow.
One way of doing this is by having a MCU interface with a frequency counter. It samples the VCO for a fixed time interval, usually a fair fraction of a second, and compares the calculated VCO frequency with what the user expects, the ‘dial frequency’ if you like. The MCU then slowly adjusts a high resolution control voltage, which is fed back to the VCO to gently nudge it back on track.
On the PIC32MX plaform we have 2x 32 bit counters, which can be directly clocked at up to 40 MHz. And there are up to 5 PWM outputs, which can achieve around 18 bits of D/A precision with an update rate of a few hundred Hz. With 32 bit precision, a prescaler and a longer sampling time we can easily make accurate frequency counts up into the UHF/GHz range.
Dude! :mrgreen:
Additionally:
- Low price. Burn one out? Buy another. Need more CPU power still? Add another.
- Enough processing power to drive flat panel displays and real time analog processing.
- Integrated A/D converters, 10 bit @ 500 ksps. More than enough for audio post processing.
- I2C and SPI for high speed audio DACs and other integrated I/O devices. EEPROM can be added for saving configurations and calibration data.
- Silly amounts of memory, both RAM and program.
- More I/O pins than you can shake a stick at.
So the plan is to develop a base software platform, which allows the interested experimenter to easily integrate his PIC32 with a vast array of standard hardware interfaces, intended for radio control. There is enough program memory in the device to accomodate quite a few ‘hardware drivers’, all responding to the same basic program and communication structure. A more or less complex RTOS core will also be there to control data plus resource control, like allocating I/O pins to the different drivers. May be nice to have some form of voluntary resource control etc. (FreeRTOS? No idea yet…)
An individual experimenter now just have to choose which hardware interfaces he wishes to use/build, and write/link a relatively simple program to tie everything together. One can even imagine a number of standard configurations, where no programming is required on part of the experimenter. You just calibrate your configuration via a simple user interface using push buttons plus a frequency readout display etc.
Some of the I/O devices I have in mind are:
- Frequency counter input combined with PWM D/A output for fine grained VCO control. Main selling point of the device configuration. Theoretical frequency resolution of about 4 Hz with a linear 1 MHz VCO control range (VCO’s usually aren’t that linear though…)
- Matrix keyboard/pushbutton inputs.
- Analog/audio I/O for DPS post processing (synthetic stereo for Morse code reception? Yay! :backflip: )
- Quadrature decoder for continuous rotary controls, like frequency input.
- Simple potentiometer input for inexpensive frequency control. Combine input from two potmeters to achieve required dynamic range, as 10 bit resolution is way too little. 5 A/D channels makes this easy to do, even when combined with the need for audio input.
- LED (7 segment) and LCD (HD44780 etc.) frequency/HID readouts.
- Flat panel displays: Complex HIDs, waterfall frequency and spectrum displays etc.
- Analog meter output (PWM, serial D/A): Power and signal strength meters etc.
- Plus a few more devices, which I really wish to keep as surprises for now. :wink:
Right. This must be enough detail for starters. I will pick up on this later where I left it.
Sweet dreams everyone.
(Mike Oldfield: Ommadawn + TSoDE)](http://www.flex-radio.com/)](http://www.icomamerica.com/en/products/amateur/hf/7800/default.aspx)