This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/TMS320F28335: SCI communication with Beaglebone Black

Part Number: TMS320F28335
Other Parts Discussed in Thread: C2000WARE, TMDSCNCD28335

Tool/software: Code Composer Studio

Hello,

In my project i need to do sci/uart communication between BBB and f28335 with docking station. I am using UART0 of BBB and SCI-A port on 28335. I am not receiving any data on 28335but i have checked the Rx pin of BBB with DSO. It is sending proper data. I have checked with SW1 both Off and On but facing same problem. So can you guide me regarding what's causing the problem i.e. whether there is an connection issue or not?

Thanks in Advance

Suraj

  • Suraj

    It sounds like the problem is a missing jumper on J9 on the Docking Station. You can find J9 between the JTAG header (J2) and the controlCARD connector (J1) near GPIO pin number 33. This jumper J9 connects the onboard USB-to-UART bridge RX-Slave.

    Please see the following thread:

    e2e.ti.com/.../665480

    I hope this helps. If this answers your question, please click the green "Verified Answer" button. Thanks.

    - Ken
  • Hello Ken Sir,
    I am not using USB so i think there is no need to populate the J9. I am directly connecting the UART0 pins with SCI-A pins with grounds of both system combined. Tx-Rx and Rx-Tx. Any way considering your suggestion I will check with J9 populated and get back to you. If I am wrong then guide me.

    Thanks
  • Suraj

    Could you please let me know if you are connecting to J3 pins 1 (TX) and 4 (RX) or to J4 pin 3 (GPIO29 - TX) and J5 pin 4 (GPIO28 - RX)?

    - Ken
  • SIr,
    I am connecting to J4(gpio29-Tx) and J5(gpio28-Rx) pins
  • Suraj

    The F28335 controlCARD includes a transceiver which is needed for SCI communications. Please see the controlCARD schematic:

    C\ti\c2000\C2000Ware_<version>\boards\controlCARDs\TMDSCNCD28335\F28335controlCARD_HWDevPkg_ZJZ[R2.2]\F28335_controlCARD_ZJZ_Schematic_[R2.2].pdf

    The transceiver circuit is at the bottom center. Notice that SW1 needs to be closed. Try connecting to J3 pins 1 (TX) and 4 (RX)

    I hope this helps. If this answers your question, please click the green "Verified Answer" button. Thanks.

    - Ken
  • Hello,

    According to your suggestion i connected the beaglebone black Tx and Rx pins with J3 (Rx and Tx) of 28335 with switch 1 closed. I have also made ground common. In software as I am using SCI-A (i.e. GPIO 28 and 29) i checked the waveform at GPIO 28 with DSO. But the waveform is coming inverted so i am getting wrong result. What to do now? Can i directly connect the Rx and Tx to gpio pins without going through oncard RS232? will that work?

    Thanks

    Suraj

  • Suraj,

    The good news is you are now receiving a signal. Could you please let me know if your Beaglebone has or if you are using a transceiver? Typically the RS232 transceivers invert the signal. It is common to find the transceivers on both sides of the communications link, which cancels out the inversion. If you are not using a transceiver with the Beaglebone there would be only one inversion which is not cancelled out. This would explain what you are experiencing.

    For reference, please see:

    e2e.ti.com/.../2611929

    I hope this helps. If this answers your question, please click the green "Verified Answer" button. Thanks.

    - Ken
  • Hello,

    I am not using any external transceivers. So the oncard transceiver is used here which is inverting the signal. So now I am using a inverter to get the right signal. But one strange thing is happening. The sequence is whenever i am connecting the ground of J3 with the gnd of beaglebone I am getting wrong data with some error. In the next part I am disconnecting the gnd and getting the right data in f28335. But if I change the data transmitted then also f28335 is holding the previous data irrespective of what is being transmitted until I make the ground connection again. Basically to get the right data, first I have to to make the transmission with combined ground and get wrong data and in the second step to disconnect the ground and transmit to get the right data. Can you explain me what can be done here or why this is happening? To test the communication I am now just transmitting single characters.

    Thanks

    Suraj

  • Suraj,

    I am not familiar with the BeagleBone Black, but I did find the schematic for it online. It shows that UART0 is connected to a buffer/driver, which may be part of the issue. Could you please try to use UART1 instead? According to the BBB schematic, it shows UART1 is available on expansion header P9 pins 24 and 26 (TX and RX), but please double check this. Next, on the F28335 Docking Station make sure that jumper J9 is NOT populated and on the controlCARD make sure that SW1 is OPEN. Now directly connect the BBB to the Docking Station using J4 pin 3 (GPIO29 - TX) and J5 pin 4 (GPIO28 - RX), and be sure that you have TX to RX and RX to TX for each board. I know that you tried this before, but you were using UART0. Please let me know if this works with UART1.

    I hope this helps and if this resolves your issue please click the green "Verified Answer" button. Thanks.

    - Ken
  • Hello SIr,

    According to your suggestion I connected UART1 of beaglebone with SCI-A port of f28335 directly. But I couldn't find any signal on the tx pin of UART1 of beaglebone on DSO. May be there is some problem with enabling the pin muxing etc. I tried to figure it out but no result still. Finally i solved the problem by directly connecting UART0 pins with J4 pin 3 and J5 pin 4 of f28335 and SW1 off. I think as both boards have same voltage levels at their pins so there is no need for going to a through a transceiver. Anyway my problem is solved now. 

    Thanks for your support

    Suraj