Problem with EB063

For E-blocks user to discuss using E-blocks and programming for them.

Moderators: Benj, Mods

Post Reply
User avatar
AndreasR
Posts: 44
Joined: Tue Aug 02, 2011 9:27 am
Location: Germany
Has thanked: 5 times
Been thanked: 3 times
Contact:

Problem with EB063

Post by AndreasR »

Hi there,
i am completley unable to comunicate with the E-Blocks EB063 and i need help from the forum.
Following situation:
Multi programmer EB006, 4 pieces of EB063 868MHz.
I wrote a quite simple program with the latest Flowcode for pic (Flowcode v4.5.18.74).
Pic is a 16F877A.
The program should only initialize the EB063, launch to the RF and print received bytes strings or other to a EB005 LC-display.
First problem is that the component macro INIT_RF_MODULE should return a 1 if init is succesfull but everytime a 0 returns.
All the rest of the small program does not show any received RF Code.
I tried all 4 Modules.
I think the E-Block will not be initialized and so it does not work.
Please :? give me an advise where the problem is.
Please look at the attachment. The code says more than thousand words.
Attachments
RF-Test-1.fcf
Testfile for EB063
(8 KiB) Downloaded 479 times
often i ask myself:
why i´m not a gardener ?
=:-)

Sean
Valued Contributor
Valued Contributor
Posts: 548
Joined: Tue Jun 26, 2007 11:23 am
Has thanked: 6 times
Been thanked: 44 times
Contact:

Re: Problem with EB063

Post by Sean »

Hello,

I have checked your program. The connections selected for the RF component do not match either of the default jumper options. Can you confirm that the EB063 jumper is in the 'PATCH' location and that all the signal connections have been correctly made using wire links.

In receive mode, the rf transceiver will only receive signals from a compatible source - requiring matching centre frequency, Baud rate and sync pattern.

Is the transmitter also an e-blocks based system?

User avatar
AndreasR
Posts: 44
Joined: Tue Aug 02, 2011 9:27 am
Location: Germany
Has thanked: 5 times
Been thanked: 3 times
Contact:

Re: Problem with EB063

Post by AndreasR »

Sean wrote:Hello,

I have checked your program. The connections selected for the RF component do not match either of the default jumper options. Can you confirm that the EB063 jumper is in the 'PATCH' location and that all the signal connections have been correctly made using wire links.

In receive mode, the rf transceiver will only receive signals from a compatible source - requiring matching centre frequency, Baud rate and sync pattern.

Is the transmitter also an e-blocks based system?
Hello Sean,
thank you for your fast answer.
I´m not sure what do you mean.
The Data Sheet says to take Jumper Block B for a 16F877A. All Jumpers on Block B were set when i receive the E-Blocks.
Is this not correct?
What have i to do in the connections settings when i install the E-Block to Port D of the Multiprogrammer and when i take the "Default Jumper settings"?
You are right, the transmitter is not another E-Block.
The transmitter is a homeautomation switch (4-keys) from ELV Germany sending at 868MHZ.
I will try to read the sended information.
The intention is to show which key is pressed.
Is this possible?
Andreas
often i ask myself:
why i´m not a gardener ?
=:-)

Sean
Valued Contributor
Valued Contributor
Posts: 548
Joined: Tue Jun 26, 2007 11:23 am
Has thanked: 6 times
Been thanked: 44 times
Contact:

Re: Problem with EB063

Post by Sean »

Hello Andreas,

The connection jumper links on the E-blocks are used to provide default connections that are useful for most devices. In the case of the EB-063 the connections selected with the jumper in the B position are based on the hardware SPI connections of the PIC16F877A on Port C (used if Hardware SPI is selected in the RF component properties).

As your program uses Software SPI, any port and pins can be selected for the connections, however, these must still be configured correctly on the E-block.

On the EB063, the B jumper links make the following physical connections:

Edited - see below
FSEL = pin 1
CS = pin 0
SDO = pin 5
SDI = pin 4
SCK = pin 3

To use the connections currently selected in the program, the jumper would need to be in the 'Patch' position, with the connections made using single core wire links between J8 and J9.

In data mode the transceiver uses a shift register to receive bytes of data. Data will only be received if the sync pattern (configured in the RF component properties) is received first. This is used to help prevent noise from being received as unwanted data.
A busts of alternating 1s and 0s (pre-amble) is also helpful to synchronize transmit and receive timers. The modules on the EB063 transmit the pre-amble and sync pattern before sening data when in transmit mode. The devices you are trying to detect would need to transmit data using the same protocol.

The EB063 can also be used in FSEL mode (see the component properties). This bypasses all buffering and puts received signals directly onto the FSEL pin of the E-block. It might be possible to detect devices that are not compatible with the EB063 data mode by reading this pin (using the component FSK_Read macro).

User avatar
AndreasR
Posts: 44
Joined: Tue Aug 02, 2011 9:27 am
Location: Germany
Has thanked: 5 times
Been thanked: 3 times
Contact:

Re: Problem with EB063

Post by AndreasR »

Dear Sean,
thank you very much to open my eyes. :D
I was so stupid that i forgot to control the pin numbers listed in the documentation and set them in the properties dialogue of the EB063.
After correction of the pin assignments most things work fine.
Next step ist to test FSEL, because transmission of the switches ist fixed.
I will tell you and the rest of the forum if it is possible to launch the communication of the switch.
Andreas
often i ask myself:
why i´m not a gardener ?
=:-)

User avatar
JohnCrow
Valued Contributor
Valued Contributor
Posts: 1367
Joined: Wed Sep 19, 2007 1:21 pm
Location: Lincolnshire
Has thanked: 364 times
Been thanked: 716 times
Contact:

Re: Problem with EB063

Post by JohnCrow »

Sean wrote:
On the EB063, the B jumper links make the following physical connections:

FSEL = pin 1
CS = pin 0
SDO = pin 3
SDI = pin 4
SCK = pin 5
Hi Sean
I dont want to confuse anyone, but Ive just looked at the data sheet for the RF e-block and it shows the connection with jumber B as

FSEL = pin 1
CS = pin 0
SDO = pin 5
SDI = pin 4
SCK = pin 3

ie the sdo and sck are the opposite way round to your last post.
The datasheet pins also seam to tie up with the pin out on the 16F877A
Pin 18 RC3 / SCK
Pin 24 RC5 / SDO
1 in 10 people understand binary, the other one doesn't !

Sean
Valued Contributor
Valued Contributor
Posts: 548
Joined: Tue Jun 26, 2007 11:23 am
Has thanked: 6 times
Been thanked: 44 times
Contact:

Re: Problem with EB063

Post by Sean »

Thanks John.

I have edited the original post to try to avoid any confusion.

User avatar
JohnCrow
Valued Contributor
Valued Contributor
Posts: 1367
Joined: Wed Sep 19, 2007 1:21 pm
Location: Lincolnshire
Has thanked: 364 times
Been thanked: 716 times
Contact:

Re: Problem with EB063

Post by JohnCrow »

Hi
I am having the same problem as AndreasR,

I cannot get the RF eblock to work
I tried this simple program to just check if the board is initalising and it isn't

Must be something not quite right. Any suggestions please?
EB063-Init Test.fcf
(7.5 KiB) Downloaded 479 times
1 in 10 people understand binary, the other one doesn't !

Sean
Valued Contributor
Valued Contributor
Posts: 548
Joined: Tue Jun 26, 2007 11:23 am
Has thanked: 6 times
Been thanked: 44 times
Contact:

Re: Problem with EB063

Post by Sean »

Hello,

The RF component help file information appears to be out of date.

As there was no definitive way to detect successful initialization of the RF module, the initialization macro now returns an integer value containing the module's status register contents.

The returned value is dependent on the electrical and rf conditions at the time of initialization
Bits 15-11 contain latched interrupt/event flags.
Bits 8-0 are used to indicate the presence and quality of any detected signal.

The states of both of these collections of bits will vary depending on conditions.

Bits 9 and 10 should contain more reliable values and can be masked out from the return value.

Bit 9 (mask value = 512) will be set ('1') if the receive buffer is empty - as it should be immediately after initialization.
Bit 10 (mask value = 1024) will be clear ('0') if the supply voltage is within the normal operating range.

The help file information will be updated as soon as possible.

If information is required urgently, details of the RF module controller can be found in the MRF49XA data sheet available from Microchip.

User avatar
AndreasR
Posts: 44
Joined: Tue Aug 02, 2011 9:27 am
Location: Germany
Has thanked: 5 times
Been thanked: 3 times
Contact:

Re: Problem with EB063

Post by AndreasR »

Very frustrating the EB063 :(
I try a very small and stupid basic function with the macros RF_Send_Byte and RF_Receive_Byte for some days. Nothing happens, nothing works and i have no idea.
Please give me a hint.
The facts:

Sender is PIC 16F88 with crystal resonator of 6MHz, and an EB063. All built on a small vero pinboard.
Every xxx milliseconds he should send a Byte.
It seems to work correct.

Receiver is built on EB006 Board with PIC 16F877 and aother EB063.
In an endless loop a Byte should be received via RF_Receive and be shown on LCD.

But nothing happens.

Andreas
Attachments
16F877_Transmitter_Test.fcf
Used as receiver
(8.5 KiB) Downloaded 454 times
16F88-Sender-Sekundenpuls-senden-1.fcf
Sender with pulses of one second
(8.5 KiB) Downloaded 407 times
often i ask myself:
why i´m not a gardener ?
=:-)

Sean
Valued Contributor
Valued Contributor
Posts: 548
Joined: Tue Jun 26, 2007 11:23 am
Has thanked: 6 times
Been thanked: 44 times
Contact:

Re: Problem with EB063

Post by Sean »

Hello Andreas,

I have checked both of your programs, and there still seems to be a problem with the connections. The correct pins are being used for Jumper A with the 16F88, and Jumper B with the 16F877A. But in both cases the SDI and SDO pins have been swapped.

The connections displayed by Flowcode for each jumper option are shown below (the ports can be changed when using Software mode).

Jumper A:
RF_Jumper_A.JPG
RF_Jumper_A.JPG (27.37 KiB) Viewed 12318 times
Jumper B:
RF_Jumper_B.JPG
RF_Jumper_B.JPG (26.63 KiB) Viewed 12318 times

User avatar
AndreasR
Posts: 44
Joined: Tue Aug 02, 2011 9:27 am
Location: Germany
Has thanked: 5 times
Been thanked: 3 times
Contact:

Re: Problem with EB063

Post by AndreasR »

Hi Sean,
you are right if i only use the Transmitter (16F887).
I made a mistake when inserting the wireless part.
After changing SDi and SDO again nothing happens.

Then i changed the SDI and SDO Ports on the 16F88 and again nothing happens.
At the 16F88 part (1second pulse sender) i do not use the Jumper Blocks A or B because i do not connect the E-Block via Sub-D.
I use the Patch Jumper Field and connect the Block via the Pinout directly.
The connection i made is :
FSEL Port B PIN 3
CS Port B PIN 0
SDO Port B PIN 2
SDI Port B PIN 1
SCK Port B PIN 4

Is there anything wrong in my thought?
Andreas
often i ask myself:
why i´m not a gardener ?
=:-)

User avatar
AndreasR
Posts: 44
Joined: Tue Aug 02, 2011 9:27 am
Location: Germany
Has thanked: 5 times
Been thanked: 3 times
Contact:

Re: Problem with EB063

Post by AndreasR »

Hey ho seems it works :D

After i changed the SDI and SDO pins nothing happens.
Then i fingered out at the pulse generator with 16F88 that you must be extremly careful when not using the Sub-D connectors.
Noise was the problem :!:
The wires between the E-Block and the PIC are about 5cm long.
Sometimes it seems this works like an antenna on the wires between the two parts.
Andreas
often i ask myself:
why i´m not a gardener ?
=:-)

User avatar
AndreasR
Posts: 44
Joined: Tue Aug 02, 2011 9:27 am
Location: Germany
Has thanked: 5 times
Been thanked: 3 times
Contact:

Re: Problem with EB063

Post by AndreasR »

By the way,
another question to the magicians from matrix:
What´s about the switch Hardware SPI at the external properties.
When i switch it on and compile to hex then i get fllowing error:
16F88-Sender-Sekundenpuls-senden-2.c(992): error: missing semicolon
16F88-Sender-Sekundenpuls-senden-2.c failure

failure

Return code = 1
This error i get on all testfiles with any PICs as soon as i switch to hardware SPI.
Is there a declaration of this switch?
I don´t understand the text at the help file.
SPI Communications - Software allows pin connections to be defined via the component connections window.

SPI Communications - Hardware allows the SPI hardware to be used. Only the chip select pin is available for free allocation.
Thanks to matrix for your patience
Andreas
often i ask myself:
why i´m not a gardener ?
=:-)

Post Reply