About 18 months ago I stumbled across a source of Racal RA-1792 receivers here in the UK. Most of them were in reasonable cosmetic condition but were being "sold as seen" by the supplier. This should set alarm bells ringing in anyones head, but I like a challenge and have had quite a bit of experience with the 1792, so was confident that with time and patience they could be repaired. The second most tempting thing was the price. The seller was getting out of the Racal market and the receivers I obtained were his "last remaining stock". Another thing that should set off more warning bells...
There were quite a few surprises waiting for me when I removed the top and bottom covers of the receivers, not all of them pleasant. The receivers, it turns out, were nearly all ex RAF (I have been informed by a corespondent that they were most probably exe British Foreign & Commonwealth Office (FCO) as the RAF didn't use PICCOLO), which, if you know anything about 1792's, means they had been used as base units on fixed link duty. The main implications of which is that the SSB filters had been removed and replaced with obscure data mode filters for PICCOLO operation (340Hz isn't much good for SSB).
Secondly the seller in question had "repaired" his stock of good receivers by cannibalizing the ones I had now acquired for good panels, refitting the failed panels to my units. So, in effect nearly every module in every receiver was faulty. Luckily I already had two good receivers, one Mk3 and one Mk5 (back lit & none back lit), as a base to start with. So after much head scratching, sack loads of 6.8uF tantalum capacitors and track repairs to numerous corroded through hole plating connections on most of the processor boards I was left with Eleven "fully operational" RA-1792 receivers. When I say "fully operational", I should point out that I mean fully operational from an RF point of view. From a cosmetic point of view 99% of the receivers were completely unusable. This was due to the infamous achilies heal of the 179x series units, the LCD displays...
Anyone who owns a 1792 receiver lives in a fairly constant state of worry about their LCD displays and, or, processor cards failing. The processor cards can at least be repaired, although not always without a lot of trouble. The displays on the other hand are a different matter. The LCD displays on the 1980's era Racal receivers were "cutting edge" at the time, replacing the already reasonably well established LED's used on the previous 177x receivers.
The technology used in LCD manufacture was still relatively new in the early 80's when the 1792 first appeared, especially on large panels such as those used on the Racal. LCD displays basically consist of two glass panels with a membrane in between that holds minute quantities of the "liquid crystal" in place (at least in theory). The crystals then change their optical property depending on the electrical charge applied to them. With no voltage across the compound it is virtually clear, when voltage is applied it becomes opaque. The main problem with the early Racal displays is that the seal between the two glass panels is not all that good. This combined with the fact that liquid crystal is hygroscopic (absorb water from the atmosphere) and you are just heading for trouble. Some people have apparently had some success reforming displays by leaving them in warm dry places for extended periods, although I have never had much success with this.
So, what to do. I now had eight out of my original eleven units needing displays and displays being as easy to obtain as rocking horse droppings...
I spoke at some length to the amazingly helpful people on the RA-6790/GM Yahoo group. The 6790 being the US version of the 1792, the best thing that anyone on the group had come up with was to replace the LCD's with LED's. A really neat idea, but very time consuming and fiddly using discrete components
To that end I started looking seriously at the maintenance manual for the receivers, the relevant sections can be found here ra1792_display description.pdf and here ra1792_a9.pdf. The display description is not included in the early manual that is more commonly available. I was fortunate enough to drop on a late edition original manual that gives much more detailed operational descriptions.
A copy of the more modern Mk5 manual can be downloaded from here
It can be seen from the schematic that all the display data for the front panel originates from the A6 processor card on the data bus DB0 - DB7, with the display address information being available on N0 - N3, known as the NDA or numeric display address. Finally the whole thing is clocked by the number display strobe on pin 3. These signals are all available on the 50 way ribbon cable that connects the display PCB (A9) to the front panel memory board. Reading through the operational description it becomes clear that most of the circuitry on the front panel is just being used to decode this data and drive the now defunct displays. I therefore decided to sample the data as it enters the A9 PCB, and convert it into a format that can be used to drive a modern (off the shelf) display of the 16 x 2 or possibly 20 x 2 variety. This I decided to do with a PIC micro controller. I chose the 16F877 from Microchip for the job, mostly because I had a small amount of experience with the chip and secondly because it was cheap.
At this point I may as well confess, I am not a software engineer, I understand the concept but have never attempted more than a few flashing LED's before to entertain my nephew. So this was to be quite a challenge. If anyone wishes to modify / improve on the source code please feel free. I know it's not the most elegant in the world but it works thats the main thing. All I ask is that you keep the credits in it and hopefully keep it open source. If you want to mail me with suggestions / improvements, I can be contacted at
Please click on the thumbnail below to download a PDF copy of the schematic.
Or as an Eagle schematic file, ra1792_display.sch
Please note that the Eagle file has not been checked for errors as far as creating your own board from this file you are strictly "on your own". It is correct as a schematic diagram but I accept no liability if you should send it off and get a board made from it that does not work. So far all of my boards have been assembled on strip board. I do intend to get a small quantity of PCB's made and information will be available in due course.
Pre programmed PIC's are available (contact me on the email address above) or you can download the HEX file here rc7d.hex and program your own. The HEX file is completely self contained and does not require any INC files Etc...
The source code is available here rc7d.asm and was written in Mplab IDE but should open in any text editor.
A text file containing release notes is available here release_notes this should open in any text editor.
Older versions can be found here for people wishing to experiment.Software Archive
The Racal display data bus (DB0 - DB7) is connected to the parallel slave port (PSP) on the 16F877. This is a bi-directional port allowing the PIC to sit on any standard 8 bit microprocessor bus. The PSP is forced to be an input by pulling RD# (pin 8) high and CS (pin 10) low. The Racal address bus is connected to the GPIO port C on the PIC. This allows the code to decode what segment the sampled data applies to. Finally the WR# write line, of the PSP bus is connected to the number display strobe to allow the code to clock the data into the PIC.Output
Two standard 16 x 2 displays are connected in parallel to the GPIO B bus of the PIC running in 4 bit mode, this reduced the pin count and allowed me to stick with a 40 pin device. The two displays are selected by toggling the relevant output of GPIO A (A2 = display 1(frequency), A3 = display 2(mode)) A1 is used to toggle the write lines on both LCD's. There must have been a good reason why I didn't use A0 but I can't remember why now :-)
To download the Hitachi HD44780 data sheet click bellow;
The PIC is clocked at 20Mhz, as, originally it was clocked at 8Mhz but could not keep up with fast spinning of the frequency encoder. More efficient coding may allow for a reduction in clock frequency, but nothing in the code is super time critical so I just increased the frequency of the crystal until the displays worked OK...
The only other bits and bobs in the circuit are pretty much arbitrary values, current limiting resistors for the back lights on the displays were chosen from the data sheet, you may need to change them depending on your display manufacturer. The contrast controls are optional, you can probably get away with tying the contrast pin to 0v. I just added them so that I could match the two display levels as they sit next to each other. Pin 1 must be pulled up to prevent the unit from resetting, but the 10k value is nominal. The values of the supply decoupling capacitors were chosen to suit what I had in my junk box. It's always good to have some decoupling but the exact values aren't that important on this design.
A flowchart clarifying the software operation can be found here, Flowchart.pdf please note that this refers to version 8 software and includes a new feature to blank the CHANNEL display when not in use. This is currently work in progress and will be released when available. The flowchart depicts the new structure of the code I intend to use in the next release. It is in no way complete compared to the source code but intended as a guide only. I drew it up as an aid to understanding where the branches in the code should be placed in the next release of software and thought it may come in handy to other people.The software is split into five distinct sections, these are:
Sets up all the required files, registers, config bits and fuse settings.Main loop
This code runs all the time refreshing the display data.Interrupt
This code runs on the leading edge of the number display strobe and samples the display address and data lines of the Racal, storing the results in the digit 0 - f files to be read in by the main loop. I must give my colleague Mike Stirling the credit for sorting this bit out. I struggled with it for weeks and he did it in about fifteen minutes. Then again he is a professional software engineer...Conversion
The sampled data is converted from packed BCD to ASCII to allow it to be output to modern displays. Luckily you only need to add the number 30H to the BCD value to obtain its ASCII value so this bit turned out to be easy.Display driver
The resulting ASCII data from the conversion routine is sent to either display 1 or display 2 depending on whether it is frequency or mode data. This ended up being relatively complex due to the limited number of pins remaining on the PIC. AS the displays are running in 4 bit mode you have to send the data in two nybles, but once it works it works and I now have it as a core library to use again in the future.
Just an idea for the braver ones of you out there. The unit is basically an 8 bit logic analyzer, With a few software tweaks you could make a two in one unit that will help with fault finding on these wonderful receivers as well as allowing you to use them once you have them all running smoothly.Links
For the less bold of you out there, an Italian company has started supplying drop in replacement displays for these excelent receivers, they can be found at;http://www.1792lcd.com/
Secondly, for those of you with a failed A6A2 processor PCB, help is also at hand. Another enthusiastic RA-1792 fan has started remanufacturing these notoriously unreliable boards. They can be supplied either as blank laminates, populated boards, without CPU/SMI/EPROMS, or as fully working, populated tested boards. they can be found at;http://www.a6a2.co.uk/
I have decided to add some pictures of the rest of my radio collection, this is very much work in progress at the moment,but I thought some of you may like to have a look. To that end.
My Radio Collection
I hope you all have as much fun constructing and modifying this interface to your own needs as I did designing it. Please keep in touch and let me know how you get on. 73's for now.