Hi Bart,
just downloaded and checked through your Sensorboard v2 design 2.1
12.11.2010 5:05 in Eagle.
(maybe, it's just an unfinished symphony, don't know, please don't be
offended if so)
On the Router-Connector, you have the three pins 13, 15 and 16 connected
to the Nets RAW, AR_TXO and AR_TXI
Shouldn't they be connected to TXO and RXI respectively?
At the moment, there are no connections on the board! Also, RAW isn't
connected anywhere!
Also, please confirm / tell me wrong:
COLD is used to cold-reset the atheros from atmega
/SS is used to switch atmega into slave mode to use the SPI for the data
communication between the deamon running in openwrt and the atmega?
DE is used to switch the 485-bus read-write (you plan on doing DMX
in/out??? cool!) - correct placement of 0-Ohms provided.
RAW shall be used for?
cheers
Thomas
Hello Thomas,
This symphony is ready for a final rehearsal. Should your ear pick up any false notes, do please let us know so that we can modify the score.
1/ Indeed RAW, AR_TXO and AR_RXI are not connected on the sensor board. They are respectively the raw input voltage from the external switching adapter (should be 9V in the trial production run) and the UART Tx/Rx pins of the Atheros AR2317 on the main router board.
Should anyone feel the need for a voltage higher than the supplied 3.3V and 5V rails they can directly tap the RAW pin on their sensor board and hook it up to a linear regulator. We will have a non-populated 0 Ohm resistor on the router board to disable this pin by default. Accidentally connecting to this pin will then not cause any harm.
AR_TXO and AR_RXI can be used for obtaining a direct UART connection to the AR2317, either for console access (bootloader config, debricking, ...) or operational use.
We use a GPIO bitbanged SPI interface between AR2317 and AVR. For transmitting a message on the RS-485 interface you will put the message on the SPI bus with a routing tag. The AVR will receive the message and put it in the AVR's (!) UART Tx buffer and raise the DE line. The SPI protocol code on the AVR side is already available in the Github repo [1].
2/ Indeed COLD is meant to trigger a cold reset of the AR2317. This could be used in a scheme where the AVR is used to monitor the AR2317 via some sort of heartbeat/watchdog. This is tricky stuff however!
3/ /SS is indeed the SPI's Slave Select line. While not strictly needed (the AVR is the only slave device on the SPI bus), it does make the communication more robust. Driving the /SS high will reset the AVR's SPI send/receive logic. That way both chips will always be byte-synchronized.
4/ DE is the RS-485 driver output enable. Sensor connector pins 11/12 route the half-duplex RS-485 A/B signal lines to the screw terminal. This requires R16/R17 to be populated with a 0 Ohm resistor and R14/R15 DNL.
Populating R14/R15 with 0 Ohm,R16/R17 DNL and DE driven low will bring out the AVR's UART to the screw terminal.
[1]: https://github.com/icarus75/flukso/blob/develop/mote/v2/avr/basiciotest.c
HTH,
Bart.