Difference between revisions of "HydraNFC"

From YobiWiki
Jump to navigation Jump to search
Line 66: Line 66:
 
</source>
 
</source>
 
"h" for help, TAB for autocompletion
 
"h" for help, TAB for autocompletion
  +
==HydraBus UART==
  +
Some notes on the high speed UART:
  +
<br>USART1 (pins PA9=TX & PA10=RX) is able to run up to 10.5M bauds
  +
<br>For high baudrates you need a very recent firmware to [https://github.com/doegox/hydrafw/commit/445959f7466028048ddc0b107a8141b868342901 fix a bug] in ST drivers, otherwise only a few values will work as expected (2.1M, 2.625M, 3.5M, 5.25M)
  +
<br>Usage:
  +
uart1> speed 5000000
  +
Final speed: 4941176 bps(1.19% err)
  +
  +
  +
To use high baudrates, one can use e.g. the FTDI C32HM-DDHSL-0 cable.
  +
<br>Connection to hydrabus UART1:
  +
* yellow ADBUS1 RX - PA9 USART1 TX
  +
* orange ADBUS0 TX - PA10 USART1 RX
  +
* black GND - GND
  +
  +
From a few tests I ran with a Picoscope as independent reference to measure the actual baudrates on the wires, the FTDI works reliably up to 6.1M, then setting values such as 6.3M will actually give 8.55M and settings of 8.3M and above will be silently downgraded to 115200.
  +
  +
So one can reliably use hydrabus & FTDI at 6M bauds, maybe 8.5M if done cautiously (setting FTDI at 6.3M).
   
 
=HydraNFC=
 
=HydraNFC=

Revision as of 20:44, 20 May 2015

Some personal notes...

HydraBus

Links

Getting firmware sources

sudo apt-get install git dfu-util python python-git
cd .../path_to_hydrabus
wget http://www.bialix.com/intelhex/intelhex-1.4.zip
unzip intelhex-1.4.zip
cd intelhex-1.4
python setup.py install --user
cd .../path_to_hydrabus
wget https://launchpad.net/gcc-arm-embedded/4.7/4.7-2013-q3-update/+download/gcc-arm-none-eabi-4_7-2013q3-20130916-linux.tar.bz2
tar xjf gcc-arm-none-eabi-4_7-2013q3-20130916-linux.tar.bz2
git clone https://github.com/bvernoux/hydrabus.git hydrabus
cd hydrabus/
git submodule init
git submodule update
cd firmware/hydrafw
git submodule init
git submodule update

Compiling firmware

cd .../path_to_hydrabus
export PATH=$PATH:$(pwd)/gcc-arm-none-eabi-4_7-2013q3/bin
cd hydrabus/firmware/hydrafw
make clean
make

Flashing firmware

cd .../path_to_hydrabus
cd hydrabus/firmware/hydrafw
# Convert to DFU, now already integrated in Makefile:
# python dfu-convert.py -i ./build/hydrafw.hex ./build/hydrafw.dfu

Now connect HydraBus pin BOOT0 to 3V3 (using a dual female splittable jumper wire) to enter USB DFU and connect microUSB (USB1) to PC
Since v0.5-beta, no need for wires, just press UBTN at PowerOn/RESET:

  • ULED blinks in normal mode and stays ON in DFU mode
sudo dfu-util -a 0 -d 0483:df11 -D ./build/hydrafw.dfu

Disconnect MicroUsb cable from HydraBus and Disconnect 'BOOT0 to 3V3' and Reconnect microUSB to PC

Getting ready to use HydraBus

sudo apt-get install screen
cat |sudo tee /etc/udev/rules.d/09-hydrabus.rules << EOF
# UDEV Rules for HydraBus boards, http://www.hydrabus.com
# Avoid modem-manager to mess with this device:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", ENV{ID_MM_DEVICE_IGNORE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", MODE="0664", GROUP="plugdev"
EOF
sudo udevadm trigger

Users members of plugdev group are now ready to use HydraBus

Using HydraBus

Connect microUSB (USB1 or USB2) to PC

screen /dev/ttyACM0

"h" for help, TAB for autocompletion

HydraBus UART

Some notes on the high speed UART:
USART1 (pins PA9=TX & PA10=RX) is able to run up to 10.5M bauds
For high baudrates you need a very recent firmware to fix a bug in ST drivers, otherwise only a few values will work as expected (2.1M, 2.625M, 3.5M, 5.25M)
Usage:

uart1> speed 5000000
Final speed: 4941176 bps(1.19% err)


To use high baudrates, one can use e.g. the FTDI C32HM-DDHSL-0 cable.
Connection to hydrabus UART1:

  • yellow ADBUS1 RX - PA9 USART1 TX
  • orange ADBUS0 TX - PA10 USART1 RX
  • black GND - GND

From a few tests I ran with a Picoscope as independent reference to measure the actual baudrates on the wires, the FTDI works reliably up to 6.1M, then setting values such as 6.3M will actually give 8.55M and settings of 8.3M and above will be silently downgraded to 115200.

So one can reliably use hydrabus & FTDI at 6M bauds, maybe 8.5M if done cautiously (setting FTDI at 6.3M).

HydraNFC

HydraNFC must be plugged on the front side of HydraBus!

Links

Sniffing

  • "nfc_sniff" or press K3
  • Press K4 to interrupt

If a MicroSD is present, it will automatically save the trace in a txt file