Hi, Working a rapid development program requirement multiple 1Mbps 422 async, lower rate Ethernet, & low rate 232 and don’t have the luxury of time to develop a mother board.
Was going to use the RCM4200 and dev kit, but 232 on the kit is only good to 250kbps. Rather than removing jumpers, installing EXAR 1486 quad transceiver, and using Ports B, C, D (Don’t need A/D or Sflash capabilities)
does anyone know of a source for a 4200 motherboard containing only main connector, perhaps optional power supply and prototype area with equivalent size of RCM4200 board?
Thanks, Mike
The RCM4200 is a fairly new product and I have not seen any third party boards for it yet. Most third party boards are for Rabbit 2000 and 3000 based core modules. Have you considered using serial ports B, E and F instead. Port B is not connected to any transceiver and as long as you don’t use any serial flash function, it won’t enable the port in syncronous mode to talk to the serial flash. This port could be accessed on PC4 & PC5. Port E can be accessed on ports PE6 & PE7. Port F can be accessed on PC2 & PE3 (PE2 is used by the ethernet system). The PC2 pin does go to one of the RS-232 transmitters, although the output could probably drive both the RS-232 and RS-422 drivers simultaneously. If not, remove the resistor jumper at JP7 on the development board to isolate PC2 from the RS-232 chip. Serial ports E and F have an internal 4 byte buffer instead of the usual single byte buffer that might help in running the ports at the speed you desire. This should allow you to use the RCM4200 development board with a minimum of rework.
Hi Bill, Sorry for near duplicate reply - just in case-. Storms in FL - Power glitch before submitting
Based on sales recommendations I purchased a RCM4200 with a 4200 module with more to follow. I have a RCM4200 not a 4210 (I need the faster 4200 59Mhz for math & trig functions on received data) which the best I can tell has Serial Ports a,b,c,d. 4210 has Serial Port E (SDLC). Your are correct I intend to use the FIFO and DMA if not too much overhead to receive and send 1Mpbs. NOTE RCM4200 Manual: Serial Port A (PC6,PC7), SerPortB (PC4,PC5), SerPortC (PC2,PC3), SerPortD(PCO-PC1 rs232) - No Serial Port E or F.
Example 4200 IOCONFIG_SWITCHECHO.C No ports above D on 4200…
What port & where is the 4200’s SDLC as reference in the Rabbit Core 4200 manual, 019�0159 � 070928�C - section 1.1 and http://www.rabbit.com/products/rcm4200/ matrix ?
Rabbit 4000 Microprocessor User�s Manual reference Ports A-F but where is port E on the 4200?
Mike
The manual tends to keep things simple, and since the RCM4200 does not bring out port D pins because of the ADC, the manual simply states that serial ports E & F are not available. The solution I mentioned to you is stepping outside the box a bit. Actually, I slipped when talking about port B and the serial flash, it is actually serial ports C & E that are the concern. Since the synchronous clock for serial port C is driven onto PE7 (for the core module’s serial flash), we are actually stealing the use of that pin (since you stated you did not need the serial flash) to be the RXE signal. The TXE signal can be routed to PE6 with no conflicts.
Serial port F is normally not available as PE2 is used by the ethernet chip. But you can have a serial port routed to pins on two different parallel ports, and this is where I mentioned using PC2 (normally used by serial port C, again borrowed from the serial flash) as the TXF pin and using PE3 as the RXF pin. Serial port B can be used on its normal port pins of PC4 (TXB) and PC5 (RXB).
This setup will require you to have a custom initialization section which routes the signals as stated. You will need to set the port x function registers and the port x alternate low/high registers to proper values to create the routing of signals described above. The settings should be as follows:
WrPortI(PCFR, PCFRShadow, 0x54); // Sets TXA, TXB and TXF as alt. outputs
WrPortI(PCALR, PCALRShadow, 0x30); // Sets TXF output on PC2
WrPortI(PEFR, PEFRShadow, 0x40); // Sets TXE as alt. output on PE6
WrPortI(PEAHR, PEAHRShadow, 0x30); // Sets TXE output on PE6
In addition, when setting up SBCR, SECR and SFCR, make sure to specify the proper ports for the inputs
(SBCR - port C, SECR - port E, SFCR - port E)
Bill. After quality time at home with the 4000 manual and your suggestions, it all makes sense. Problem was nomenclature PPI ports vs Serial ports, RCM4200 vs 4000 and the dev board. On the right track now with low rate 232 on Serial Port B (PPI port C4/5) and 1Mbps 422 on Serial Port F via PPI Port E2 & E3.
Thanks for your guidance and patience
Mike
Glad to hear it, but I see one problem. The PPI port E2 is used for enabling the ethernet chip on the RCM4200 core module (see RCM4200 schematic). This will probably not work as the TX output of serial port F without causing ethernet problems. I had recommended routing that signal to PPI port C2 instead. This would be sharing the port output with the development board’s RS-232 driver, which may not be a problem as the port would just be driving two inputs, you would have to test it. If it is a problem, remove the resistor at JP7 on the development board to disconnect the RS-232 driver from PPI port C2. An alternative would be to use serial port E on PPI ports E6 & E7, if you can deal with the loss of the serial flash.
Yes, I forgot,
Next cut assumes no A/D, and free up PPI Port D, keep Serial Flash
RS422 for ports F,E where I need fifo.
SerPortF PC2-TXF, PE3-RXF J7 Removed for PC2 use, PC2, PE3 TO New
422 Driver
SerPortE PD6-TXE, PD7-RXE if I remove remove jp21,jp22 and route to
new 422 drive… Thoughts?
RS232s
SerPortC PC3-RXC, (PC2-TXC deallocated via J7), USE PC3-TXC
Instead, route to J7.
SerPortB PC4-TXB, PC5-RXB, SHARED WITH A/D (not required) routed to
new 232 Driver if req.
SerPortD PC0-TXD, PC1-RXD, TO 232 DRIVER - NO CHANGE
Programming / debug…
SerPortA PC6-TXA, PC7-RXA, FOR PROG AND DEBUG - NO CHANGE
Hi,
Since I don’t need the A/D now using port D.
Colored Excel spreadsheet matrix available…
Reallocated Serial Port F to d2,d3 C2, C3 to keep flash
So,
SERIAL A - C6-TX, C7-RX
SERIAL B - C4-TX, C5-RX
SERIAL C - C3-TX, C2-RX Keep or REMOVE JP7, JP10 add new 232 transciever
SERIAL D - C0-TX, C1-RX keep or REMOVE JP3, JP5, add new 232 transceiver
SERIAL E - D6-TX, D7-RX - add RS422 TRANSCIEVER
SERIAL F - D2-TX, D3-RX - “”“” “” “”
Thanks for the startup help.
This sounds great if you’ve switched to the RCM4210, but my impression was that you needed the speed of the RCM4200. On the RCM4200, parallel port D is not wired from the processor to the core module pins. The core module pins that carry port D signals on the RCM4210 are hard wired to the ADC inputs, so unless you are physically modifying the RCM4200, you can’t use parallel port D for anything. If you need to use the RCM4200, please go back and read my suggested ports.
Bill, the multiple use of documentataion for 4000, 4200, 4210 and prototype board schematic references to PDx /LNx led me to believe I could access the PD lines provided I do not utilize any A/D system calls. Sorry my bad.
We now have a need to use Serial Flash to store mission planning data associated with the 422 data stream processing / definitions. However, the Serial flash will be read at power up and never written to during main application processing. Therefore sharing C2-TX between SPC (serial port c) and SPF is doable. Alternative is to split R/W between two Serial Port (SPE -E6-TX and SPF E3-RX
232
SERIAL A - C6-TX, C7-RX Remains untouched
SERIAL B - C4-TX, C5-RX Remains
SERIAL C - C2-TX, C3-RX Shared C2 w/ SPF
SERIAL D - C0-TX, C1-RX Remains routed to 232
422 - shared C2 with flash
SERIAL F - C2-TX, E3-RX w/ 422 transceiver
OR
422 option if I need to user Serial Flash during application execution.
SERIAL E - E6-TX w/ RS422 TRANSCIEVER
SERIAL F - E3-RX “”“” “” “”
Mike