FFSK with Arduino via CMX469 / FX469

Hi Guys,

I'm usually a software guy but have used various Arduinos for small simple jobs (Automated Xmas Lights, lift motor control systems) but I'm also into sending data over radio and as such am looking to get an FFSK modem IC to talk to the Arduino.

The problem being that, as a software guy, I really don't have a clue with datasheets. The CMX469 and FX469 are meant to be pin-compatible as the CMX is just the new version. The datasheet is here:

From what I can understand, I need to generate a clock in the Arduino somehow and, as the CMX469 takes TTL levels, I can just hook it up to one of the serial ports on my MEGA and shoot it data?

Anyone any ideas here or sample code / circuit diagrams of how to hook this up so with two of them and radios in between a byte in the serial debugger one side comes out the other serial debugger the other side?

As I know I'm a n00b and asking a lot I don't even mind paying someone for a bit of their time to help!

Thanks All
Adam

URL:

Had to put it in second post as not allowed to post URLs in first post.

OK,

CML also have a datasheet showing the CMX469 connected up to an IC here:
http://www.datasheetarchive.com/Indexer/Datasheet-075/DSAE007937.html

This still requires clocking, however, which is something I've no idea how to do.

I guess any IC connected to the Arduino would require this so I'd imagine it's do-able but I really have no idea! Anyone got any links to anywhere I can read about this stuff as, on this occasion, Google is not being my friend! :frowning:

Like I said previously, I need help getting the Arduino to hookup to the IC so I put a bit in the serial port on the Arduino at one end and it comes out of an Arduino the other...........

This still requires clocking, however, which is something I've no idea how to do.

Not sure what you mean. The schematic on page 9 shows that it is clocked by a crystal. However you might mean pin 13 the data clock. That can be generated by the arduino by simply putting a bit high (or low see chip data sheet) outputting the data bit and then restoring the state of the clock bit.

The data sheets are quite precise: You have to connect a crystal (4.03 MHz) and two 33pF caps.

Deriving a 1 MHz signal from the 16 MHz Arduino clock is possible, but it is biased by 1% which is considered off-limits for error free RS232 communication....

Thanks for your replies.

I really have done minimal hardware stuff before and so am pretty inept at reading datasheets!

Sorry, I was meaning the pin 13 - the data clock. I'm happy enough hooking up a crystal as defined to set the baud.

So, to send data to the modem for it to modulate, would it be something like this?

I'd imagine I'd also need to run a timer as well to sync up with the modem somehow - hence the idea of clocking, or can I just set a delay or something when I'm sending the data?

Thanks again for all your help, I'm really lost!

void SendDataToModem {
// Pin 13 is to be used for clocking on Arduino
digitalWrite(13, HIGH);
Serail2.print("A");
digitalWrite(13, LOW);
}

No that is not right. I do think you are out of your depth here and probably quite a bit deeper than can be helped on a forum.
The application not says:-

The
CMX469A can be used to transfer RS-232 data, but additional steps are required to do this. For
additional information on this topic, please review the following application note available from the
CML website: “Using an FX469 FFSK Synchronous Modem with an Asynchronous Data I/O”.

So if you want to talk to it with a serial print you will have to follow what this says. There is no need for the arduino to generate a clock for this device.
Looking at the data sheet then pin 13 is a clocked data output not a clock input.
So you need to look at that application note.