The IC-255A as a Base Unit |
My 2 Meter setup is a hamfest special. I bought a IC-255A at a ham fest. It's been a long time since I was on 2 Meters so thought it would be useful. The IC-255A had the ability to handle repeater tone access, it didn't have a built in tone generator. And, while it is intended to be mobile, I wanted to use it as a base unit in my shack. The IC-255A worked well, but I needed some extras. I had a 3-element 2 Meter Yagi, that I bought around 1967, when 2 Meters was AM. So all I needed was everything else in between. I needed a power supply, repeater tone generator, coax, antenna rotator, mast, etc...
At separate ham fests I found a Power-One MAP140-1012 switching power supply (12V/12.5A or 15V/10A), a Communications Specialists TE-32 repeater tone generator, and a old Radio Shack antenna rotator/controller (Archerotor Antenna Rotator (150-1225B)). The rotator needed a bit of work, but it's all operational now.
After I gathered all the extras that I needed, I had to figure out how add it to my operating desk, yet still make it convienent to remove it for maintenance. The shelving on my desk is 15" deep, but I wanted to minimize the horizontal space. So I thought, it might be nice if I could mount everything on a single base. Then I don't have to worry about wires.
In addition to the IC-255A, I had a Power-One MAP140-1012 switching power supply, a Communications Specialists TE-32, and a external speaker. The speaker had a long cable, so it really didn't need to be on the base with the IC-255A.
This is a relatively simple drawing that shows how I mounted my IC-255A. I had the IC-255A, a power supply, a Tone box, and a external speaker. I didn't want them to be all over the place, and the power supply was open frame, so I needed some way to mount everything.
So I looked around at what I had on hand and came up with a piece of 1/4" fine ply wood for a base. The ply wood that was 8-5/8" Wide and 15-3/16" long. The 8-5/8" side will be the front. A few quick measurements says that it should be able to fit everything I need.
The power supply that I am using is from Power-One (MAP140-1012) and has an output rating of 12V/12.5A or 15V/10A. A small control on the supply allows me to adjust it to 13.8 Volts for use with the IC-255A. At full power, the IC-255A only needs 5.5 Amps maximum, for 25 Watts output. This should give me plenty of head room. I picked up this power supply at a ham fest. It was new in the box, with instructions, and was going for only $5.00. I couldn't pass it up.
Computer Control of the IC-255A |
This page is about controlling the IC-255A 2 Meter FM Transceiver with a computer. Yes, I know this is an old relic of a radio, but it was going for cheap at a ham fest and I thought could make use of it. Plus, it's been a long time since I had any usable 2 Meter gear. There isn't a lot of information about the IC-255A, other than the user manual. I also have a fair schematic, but it's split up into four pieces, However, I was interested in the details of the 24-pin rear molex connector. There were a lot of pins on that connector, and, except for a few, I really didn't know what they do.
Pin No. | Function |
---|---|
1. | Output from squelch control stage. (+7 Volts when squelch is on) |
2. | 13.8 Volts DC in conjunction with the power switch operation (0.3A Max.) |
3. | Connected to Push-to-talk, T/R change-over switch. When grounded the set operates in the transmit mode. |
4. | Output from the receiver decctor stage. Fixed output regardless of AF output of AF Gain. |
5. | Input of Transmit MIC amplifier stage. |
6. | 8 Volt DC available when transmitting. (relay can not be directly actuated. 5mA Max.) |
7. | NC (no connection). |
8. | Ground |
9. | NC (no connection). |
10. | Output of the applied voltage to the meter. |
11. ~ 15. | NC (no connection). |
16. | Control signal (DBC) input terminal for external control. DATA BUS CONTROL |
17. | NC (no connection). |
18. | NC (no connection). |
19. | Control signal (DV)
output terminal for external control. DATA VALID |
20. | Control signal (RT) input terminal for external control. REMOTE |
21. | Data signal (DB1) input/output terminal for external control. CMOS level bidirectional data signal. Normally at logic 0 (0 VDC). |
22. | Data signal (DB2) input/output terminal for external control. CMOS level bidirectional data signal. Normally at logic 0 (0 VDC). |
23. | Data signal (DB4) input/output terminal for external control. CMOS level bidirectional data signal. Normally at logic 0 (0 VDC). |
24. | Data signal (DB8) input/output terminal for external control. CMOS level bidirectional data signal. Normally at logic 0 (0 VDC). |
On the right is a list of the 24-pin connector and the explanation. This is right from the manual, but includes added information.
However, I did manage to find an article by Curt Terwilliger, KI6J - QST, May 1981, pp30-33. The article presents a interface that uses a computer's S-100 Bus to communicate commands. The article is good to read because it does include a explanation of the signals that are used to communicate with the IC-255A.
The S-100 bus originally appeared on the MITS Altair computer and subsequently on the IMSAI 8080 system. The SS50 bus was originally incorporated in Southwest Technical Products' 6800 system.
It basically consists of a TTL to CMOS Bi-Directional converter.
Computer Control of the IC-255A - By Curt Terwilliger, KI6J - QST, May 1981, pp30-33 |
Ready for the computer age in Amateur Radio? It won't be long before many hams tie their computers to their radios. Here is an example of what we may all be doing one of these days.
If you want unlimited scanning ability, or a chance to spread spectrum techniques, or even an automated logger, build this simple interface and connect your ICOM IC-255A 2-meter FM transceiver to your computer. No modifications to the rig are required - just plug the interface into the accessory socket on the rear apron! The interface lets your computer set the frequency, check the squelch, read the frequency and activate the PTT line - all from one parallel input port and one parallel output port. And if you add a modem or TU, you have an automated ASCII station.
Inside the IC-255A
The secret of the IC-255A's versatility
is its internal microcomputer. The tuning, offset and frequency memory of the radio are
controlled by information that its internal central processing unit (CPU) gives the
synthesizer. Normally, this information is read from the front panel knobs and switches, but
ICOM also provided for a remote data input from the accessory socket. The CPU periodically scans the
socket to see if a remote control device is active, and then reads or writes data as
requested. The program that is stored in its CPU specifies the exact timing format for data exchanges.
I obtained a timing sketch by writing to the factory: unfortunately, the explanatory notes
were in Japanese! However, Mr. Don Specht of Icom Provided a most helpsul translation.
Anyway, computer signals are an international language.
The three signals that control data transfer are DATA BUS CONTROL (SBC), REMOTE (RT) and NOT DATA VALID (DV). DBC controlls the direction of data transfer: a high level signals data from remote to the rig. To send an address, the data bus is loaded, DBC is raised and then DBC is lowered. This procedure is shown in Figure 2A.
The lines RT and DV regulate the transfer of subsequent data. The remote interface writes a digit by raising DBC and placing data on the bus. It then raises RT to signal data availability. The rig lowers DV to indicate it is reading the data. The remote interfae lowers RT to signal the end of that digit, and the rig raises DV to indicate readiness for a new digit. This sequence is shown in Figure 2B.
The remote interface reads a digit by lowering DBC and raising RT. The rig places the digit on the bus and then lowers DV. The interface reads the digit and lowers RT. The rig then raises DV. This sequence is shown in Figure 2C. This type of "handshake" allows the slowest device to control the transfer, whether it is the rig or the remote interface. Thus we needn't worry about the type of computer used for remote control.
The Control Circuit
The control circuit shifts logic signals
between CMOS levels (for the ICOM) and TTL (for the computer). The four data bus signals are fed
to the input port through 4049 CMOS inverters. Output signals to the data bus are enables by the
DBC line. When DBC is high, the four AND gates pass output port data through two inverters and
a series diode to the data bus. The series diode allows the inverter output to pull up but not
to pull down. The resistors to ground (both on the interface and inside the rig) form a passive
pulldown. A similar output stage is used inside the rig. It is set to a low state when DBC is high,
allowing the interface to control the data bus without any interference.
When DBC is low, the interface data is set to all zeros, and the data drivers in the rig are enabled. THe rig can pull any line up if desired or let the lines sink low through the pull down resistors. The diodes in the output lines of the interface prevent its inverters from shorting the data bus to ground.
The DV output from the rig can only pull down. It is shunted by a pulldown resistor, which makes it inconvenient to drive a CMOS input. Therefore, a descrete transistor is used; this extra inversion causes the input por to read DV (active high) rather than DV (active low).
THe circuit in Figure 3 can be connected to any parallel port with latched output data. Seven output bits and six input bits are required. The output bits are sctive high while the input bits are active low; the input bits may be complimented in software or by an inverting input port. A suggested circuit for an S-100 parallel port is shown in Figure 4. This circuit was used in a Cromemco machine to develop the software to be described.
Some Software Examples
The BASIC program in
Table 1 is a
demonstration program of a 10-channel scan routine. The scan stops on an active channel and
resumes about three seconds after activity stops. One advantage of having a large number of
scan entries is weighting the scan sequence. For example, suppose you wanted to check the
simplex frequencies B and C occasionally. The scan sequence might then be AAAABAAAAAC to
monitor A 80% of the time and B and C 10% each.
THis program is made up of three fundamental subroutines: transmit address, receive data, and send data. Using these it is possible to then write elaborate programs. Flowcharts for these subroutines are shown in Figure 5. With these few bytes of software, some very trivial outboard hardware and a little imagination, you will be bringing your shack into the computer age. A couple of more pieces of equipment and you have an automated ASCII station, Packet, or spread spectrum, anyone?
Table 1
Program Listing For IC-255A Scan
5 REM THIS IS CROMECO 32K STRUCTURED BASIC 10 PRINT"ICOM SUPER SCAN" 20 PRINT 30 :=1 40 INPUT"ENTER SCAN FREQ. IN HERTZ (0 TO TERMINATE) =", F(I) 50 IF F(I)=0 THEN GOTO SCAN1 55 FLAG=0 60 IF(F(I)>= 143800.0) AND F(I)<=148195.0 THEN FLAG=1 70 IF NOT FLAG THEN PRINT "OUT OF RANGE.":GOTO 40 80 I=I+1 90 GOTO 40 100 *SCAN1 110 REM SCAN ROUTINE 120 LASTI=I-1 130 FOR I=1 TO LASTI 140 F=F(I)-140000.0 145 NOESC 150 GOSUB SET'FREQ 154 ESC 155 COUNT=125 156 GOSUB DELAY 160 GOSUB LISTEN 170 IF NOT ACTIVE THEN GOTO SS200 175 DCOUNT=0 180 GOSUB LISTEN 190 IF NOT ACTIVE THEN DCOUNT=DCOUNT+1 200 IF DCOUNT=100 THEN GOSUB SS200: REM NEXT CHANNEL 210 IF ACTIVE THEN DCOUNT=0 220 GOTO 180 230 *SS200 240 REM NEXT SCAN VALUE 250 NEXT I 260 GOTO 130 700 REM ICOM DRIVERS 710 REM 720 REM THIS IS AN SBASIC VERSION OF THE ICOM DRIVERS 730 REM WHICH CONSISTS OF READ AND WRITE ROUTINES 740 REM WHICH ARE CALLED FROM SBASIC BY GOSUBS. 750 *READ'FREQ 760 REM READ'FREQ RETURNS THE FREQUENCY IN A BYTE 770 REM RANGING FROM 3800 TO 8000 780 GOSUB TXADR 790 GOSUB IRCV 800 REM GET FIRST DIGIT 810 GOSUB IRCV;F=A*1000 820 REM SECOND DIGIT 830 GOSUB IRCV;F=F+A*100 840 REM GET THIRD DIGIT 850 GOSUB IRCV;F=F+A*10 860 REM GET LAST DIGIT 870 GOSUB IRCV;F=F+A 880 REM FINISHED 890 RETURN 900 *SET'FREQ 910 REM SEET FREQ SETS THE ICOM TO THE FREQ SPECIFIED.
920 REM BY 140000 KHZ PLUS FREQ F 930 GOSUB TXADR 940 GOSUB IRCV 950 REM FIRST DIGIT 960 A=INT(F/1000);GOSUB ISEND 970 F=F-A*1000 980 REM SECOND DIGIT 990 A=INT(F/100);GOSUB ISEND 1000 F=F-A*100 1010 REM THIRD DIGIT 1020 A=INT(F/10);GOSUB ISEND 1030 F=F-A*10 1040 REM LAST DIGIT 1050 A=INT(F);GOSUB ISEND 1060 RETURN 1070 *TXADR 1080 REM TXADR SEND THE 144 MHZ ID TO THE ICOM 1090 OUT 200,128/12;REM SET DBC AND SEND 0CH 1100 COUNT-32;GOSUB DELAY 1110 OUT 200,12 1120 COUNT-18;GOSUB DELAY 1130 RETURN 1140 *IRCV 1150 REM IRCV READS A BYTE FROM THE ICOM 1160 OUT 200,16;REM BIT 4 IS RT 1170 J=INP(200) 1180 IF J<128 THEN GOTO 1170 1190 J-BINAND(J,15) 1200 A=J 1210 OUT 200,0 1220 J=INP(200) 1230 IF J>=128 THEN GOTO 1220 1240 RETURN 1250 *ISEND 1260 REM ISEND TRANSMITS A BYTE TO THE ICOM 1270 OUT 200,128/A;REM FIRST SIGNAL WITH DBC 1280 COUNT=18;GOSUB DELAY 1290 OUT 200,128+16+A;REM ADD RT 1300 J=INP(200) 1310 IF J<128 THEN GOTO 1300; REM WAIT FOR DV 1320 OUT 200,A 1330 J=INP(200) 1340 IF J>=128 THEN GOTO 1330 1350 RETURN 1360 *DELAY 1370 REM ABOUT 2 MILISECOND PER COUNT 1380 FOR C=1 TO COUNT 1390 NEXT C 1400 RETURN 1410 *LISTEN 1420 REM RETURNS ACTIVE=1 IF SQUELCH BROKEN 1430 MASK=BINAND(INP(200),64);REM BIT 6 IS SQUELCH 1440 ACTIVE = NOT MASK 1450 RETURN
![]() |