I want to connect this device (a RFID reader module) to my BBB, that is, I simply want them to talk (as if it was so easy, kkkk).
This RFID module has the following electrical interfaces:
UART with 3.3/5V logic levels
from 9600 to 921,600 bps; USB
2.0 full speed device port (up to
I already tried connecting it through USB but ‘lsusb’ and ‘dmesg’ shows nothing. So now I wanna try to connect it to my BBB trough UART (no USB is involved here).
That is, my plan is simply use 3 wires (GND, RX, TX) to connect one device to another since I think both UART interfaces are compatible, right? Or am I missing to verify something to ensure they are compatible (both are TTL)?
My question is, what is the simplest way to physically connect this device to BBB’s UART?
I want to know if would it be possible to use the serial debug header? That is, is this header a UART port?
Or I must configure and use some of the P8/P9 pins?
The serial debug port on the beaglebone black is a UART interface. That is, RXD/TXD + GND only.
You should be able to technically use this with your RFID device, however it may also be possible that uboot by default may cause issues, or perhaps damage to your external device at powerup / boot. It should also be possible to configure uboot to play nice with your hardware.
Probably the best / easiest way would be to use one of the other UARTs / set of pins.
Thks for answearing!
So uboot (the bootloader right?) might send bad commands to my device… well, can it really damage my device? I am just guessing …
For using UART with the P8/P9 pins do I need to go through the hassle of doing the so called device-tree-overlay?
The debug UART has both the uboot software behind it on boot, and later a linux serial console.
During boot, if your device emits any characters, this will trick uboot into putting up its menu and hanging the boot process. It will be waiting for you to make a menu choice and your device will know nothing of it.
Assuming you miss that one second window, plus all the time preceding uboot coming up under power where the uart’s fifo will be filled, then you will clear uboot. But this is too much risk.
The next phase of the boot has linux hosing its console output to the same debug port, and depending on the linux setup, you may have a serial console come up on that UART also. I do here.
So the debug uart port is difficult to use for anything but debug.
Use another UART. The device you describe may be using TTL serial, you did not mention RS-232 levels. This should be confirmed. If TTL, your device may still be at a voltage which is too high for the beaglebone to handle. Check the datasheet for 5V compatibility. I doubt its acceptable. If your device is assuredly TTL at 3.3V then it will probably work hardware wise by just hooking up the device, crossing TX with RX and tying GND to GND. The 3 wires you say. Then you have to PINMUX in the UART’s TX and RX pins, or pick a UART you know is already pinmuxed out.
I do not know that uboot would / would not damage your UART device, but I also do not know that it will not. Then as dickelbeck mentions above there are other potential pitfalls.
As for the Linux console, this could / should be configurable via inittab, but uboot I have no idea exactly what needs to be done. This would most definitely need source editing and binary recompiling.