UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Explorer
Explorer
19,807 Views
Registered: ‎12-06-2007

Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good morning,

 

  For 6 months , I was trying to rectify this problem. But unable to solve it . I am using ML401 and EDK 9.2. When I wrote a code (it is below) to send and receive data from a GSM/GPS device and run it , I found out (after many debug tests) that the FPGA DOES NOT send the AT command out to GSM/GPS device but can receive respond from the GPS/GSM device. I am not sure whether my coding is wrongly written or hardware configuration is correct?

 

#include "xparameters.h"

#include "xgpio.h"

#include "xutil.h"

#include <string.h>

#include "xbasic_types.h"

#include "xstatus.h"

#include <xuartlite_l.h>

 

unsigned
char Delay (unsigned long a)

{

   unsigned long b;

    for(b=0;b<a;b++){}

   return 1;

}

 

int
main (void)

{

  print(
"AT\r");

  Delay(9999999);

 

 

  print(
"AT+CMGF=1\r");

  Delay(9999999);

 

 

  print(
"AT+CMGS=+60179310740");

  Delay(9999999);

 

 

  print(
"Notify me!");

  Delay(9999999);

 

  return 0;

}

 

 The baudrate and other configuration is set correctly. When I use PC to communicate GSM/GPS device, I need to press 'ENTER' every AT command. But when I am using FPGA, I used " \r " to enter the command ... Is it correct? 

 

  How can I solve this problem .Please reply to me as soon as possible.

 

Thank you

0 Kudos
97 Replies
Explorer
Explorer
19,779 Views
Registered: ‎04-06-2009

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

I am using two UARTs on SPARTAN3AN Starter Kit at a time. You can use the function "XUartLite_Send" directly. In polling Mode you have a restriction of 16 Bytes i.e. you can not send or receive more than 16 Bytes at a time.

 

Note: I have not configured the UART as STDIO and I am using both the UARTS in Interrupt Mode 

 

UartLite_Send(XPAR_RS232_DCE_DEVICE_ID, &RS232_DCE_UartLite,"Spartan 3AN Starter Kit"); 

 

//Send thae data of Send Buffer thru UART
void UartLite_Send(Xuint16 UartLiteDeviceId, XUartLite *UartLiteInstPtr, char * Text )
{
    XStatus status;
  int Index;
  unsigned int CharCount; //DTE_TX_CharCount or DCE_TX_CharCount
  //Get the numbers of Characters in the Text
  for(Index=0, CharCount = 0x00; Index < TEST_BUFFER_SIZE; Index++)
  {
   SendBuffer[Index] = Text[Index];
   if(Text[Index]== 0)
   {
    CharCount = Index;
    break;
   }
  }
  if(CharCount > 0)
  {
  do//Wait as BUFFER Not EMPTY 
  {
   status = Out_GPIO(XPAR_LEDS_8BIT_DEVICE_ID,8, LED_Val);
   Delay_Func(50);
   LED_Val = LED_Val ^ 0xFF;
   if((UartLiteDeviceId == XPAR_RS232_DCE_DEVICE_ID)&& (DCE_TX_Flag <= 0x00)) break;
   if((UartLiteDeviceId == XPAR_RS232_DTE_DEVICE_ID)&& (DTE_TX_Flag <= 0x00)) break; 
  }while(1);
  
  //Send the buffer using the UartLite.
  XUartLite_Send(UartLiteInstPtr, SendBuffer, CharCount);

  switch (UartLiteDeviceId)
  {
   case XPAR_RS232_DCE_DEVICE_ID:  
   DCE_TX_Flag = 0x01;
   DCE_TX_CharCount = CharCount;
   break;
   //XPAR_RS232_DCE_DEVICE_ID
   default    :   
   DTE_TX_Flag = 0x01;
   DTE_TX_CharCount = CharCount;

  }
  }

}

 

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Initialising the UART at the star up... 

 

  status = Init_UartLiteIntr ( 
            &intc,
            &RS232_DCE_UartLite,
            XPAR_RS232_DCE_DEVICE_ID,
            XPAR_XPS_INTC_0_RS232_DCE_INTERRUPT_INTR
           );
 

 

/**************************************************************************** 

* This function will initialise the UART in interrupt mode.
*
****************************************************************************/
XStatus Init_UartLiteIntr(
         XIntc *IntcInstancePtr,
         XUartLite *UartLiteInstPtr,
         Xuint16 UartLiteDeviceId,
         Xuint16 UartLiteIntrId
         )
{
    XStatus Status;
    Xuint32 Index;

  //Initialize the UartLite driver so that it's ready to use.
    Status = XUartLite_Initialize(UartLiteInstPtr, UartLiteDeviceId);
    if (Status != XST_SUCCESS)
    { return XST_FAILURE; }

  //Perform a self-test to ensure that the hardware was built correctly.
    Status = XUartLite_SelfTest(UartLiteInstPtr);
    if (Status != XST_SUCCESS)
    { return XST_FAILURE; }

    /*
     * Connect the UartLite to the interrupt subsystem such that interrupts can
     * occur. This function is application specific.
     */
    Status = UartLiteSetupIntrSystem(IntcInstancePtr,UartLiteInstPtr, UartLiteIntrId);
    if (Status != XST_SUCCESS)
    {  return XST_FAILURE; }

    /*
     * Setup the handlers for the UartLite that will be called from the
     * interrupt context when data has been sent and received,
     * specify a pointer to the UartLite driver instance as the callback
     * reference so the handlers are able to access the instance data.
     */

  switch (UartLiteDeviceId)
  {
   case XPAR_RS232_DCE_DEVICE_ID:  
   XUartLite_SetSendHandler(UartLiteInstPtr,DCE_UartLiteSendHandler,UartLiteInstPtr);
   XUartLite_SetRecvHandler(UartLiteInstPtr,DCE_UartLiteRecvHandler,UartLiteInstPtr);
   break;
   //XPAR_RS232_DTE_DEVICE_ID
   default    :   
   XUartLite_SetSendHandler(UartLiteInstPtr,DTE_UartLiteSendHandler,UartLiteInstPtr);
   XUartLite_SetRecvHandler(UartLiteInstPtr,DTE_UartLiteRecvHandler,UartLiteInstPtr);

  }

  // Enable the interrupt of the UartLite so that the interrupts will occur.
    XUartLite_EnableInterrupt(UartLiteInstPtr);
 
 
  // Disable the interrupt of the UartLite so that the interrupts will occur.
  // UartLiteDisableIntrSystem(IntcInstancePtr, UartLiteIntrId);
    return XST_SUCCESS;
}

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

/* 

* This function is the handler which performs processing to send data to the
* UartLite. It is called from an interrupt context such that the amount of
* processing performed should be minimized. It is called when the transmit
* FIFO of the UartLite is empty and more data can be sent through the UartLite.
*/

 

//For DTE Port
static void DTE_UartLiteSendHandler(void *CallBackRef, unsigned int EventData)
{
 if(DTE_TX_CharCount <= EventData)
 {
  DTE_TX_Flag = 0x00;
  DTE_TX_CharCount = 0x00;
 }
}
//---------------------------------------------------------------------------
//For DCE Port
static void DCE_UartLiteSendHandler(void *CallBackRef, unsigned int EventData)
{
 if(DCE_TX_CharCount <= EventData)
 {
  DCE_TX_Flag = 0x00;
  DCE_TX_CharCount = 0x00;
 }
}

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

//Function To SEND cARRIAGE rETURN & LINE fEED TO RS232 PORT


void Send_End_of_Text_to_RS232(Xuint16 DeviceId)
{
 char End_of_Text[3];
 XStatus status;
 
 End_of_Text[0]= 0x0D;
 End_of_Text[1]= 0x0A;
 End_of_Text[2]= 0x00; 

 if(DeviceId == XPAR_RS232_DTE_DEVICE_ID)
 {
  UartLite_Send(XPAR_RS232_DTE_DEVICE_ID, &RS232_DTE_UartLite,&End_of_Text[0]);
 }
 
 if(DeviceId == XPAR_RS232_DCE_DEVICE_ID)
 {
  UartLite_Send(XPAR_RS232_DCE_DEVICE_ID, &RS232_DCE_UartLite,&End_of_Text[0]);
 }
}

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

I'll apreciate if any one can comment on my code. Normally it is working fine without any  delay. But when I am simultaneously trying to Receive and Transmit huge data then the UART is getting hang. In that case I am taking care with delay funcion.

 

In the Function "XUartLite_Recv" you have to pass the parameter how many byte you want to receive. I am not happy with this as when I am not knowing how many Bytes I am going to receive then its not comfortable in Interrupt Mode. In that case I am setting the parameter to 1 Byte which increasing the overhead.

 

Regards,

Shantanu

 

 

 

  

Shantanu Sarkar
http://www.linkedin.com/pub/shantanu-sarkar/0/33a/335
0 Kudos
Explorer
Explorer
19,770 Views
Registered: ‎04-06-2009

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

I went through your most of the posts. It seems your UART is working fine as your FPGA is able to communicate with Hyper-terminal. I also went through the snaps you have attached. From Hardware point of view a very basic thing stroked in my mind. Though it is a very basic thing but many times we do this silly mistakes.

 

 

Are you using 1:1 cable in between PC and Modem as:

 

PC Side ------------------------------------Modem Side

9 Pin D Type ------------------------------9 Pin D Type

Pin No   ------------------------------------ Pin No

 

2 (RX)  ------------------------------------- 2 (TX)

3 (TX) -------------------------------------- 3 (RX)

5 (GND)------------------------------------ 5 (GND)

 

And also a 1:1 cable in between PC and FPGA as:

 

PC Side ------------------------------------FPGA Side

9 Pin D Type ------------------------------9 Pin D Type

Pin No --------------------------------------Pin No

 

2 (RX)  ------------------------------------- 2 (TX)

3 (TX) -------------------------------------- 3 (RX)

5 (GND)------------------------------------ 5 (GND)

 

And using the same 1:1 cable Between FPGA and Modem:

 

FPGA Side ------------------------------------- Modem Side

9 Pin D Type ----------------------------------- 9 Pin D Type

Pin No ------------------------------------------- Pin No

 

2 (TX)  ------------------------------------- 2 (TX)

3 (RX) -------------------------------------- 3 (RX)

5 (GND)------------------------------------ 5 (GND)

 

Then there will a issue and FPGA and Modem will not communicate. Here you have to use a crossed Cable.

 

 

Also try to monitor the serial Data when you are connecting the PC and Modem. There are some softwares like COMWIZARD and SerialMon. Evaluation versions are available in net. I'll suggest you to use SerialMon - Using it you can figure out the Baud rate / RS232 Settings and all the data in Hex format. Then you can check out if you are missing something in your code. There must be some small silly things which you are missing. Regarding UART your code is working fine else you have not received data using Hyper-Terminal.

 

Regards,

Shantanu

Shantanu Sarkar
http://www.linkedin.com/pub/shantanu-sarkar/0/33a/335
0 Kudos
Explorer
Explorer
19,751 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good morning

 

 

   Thank you for your reply . I really appreciate it.

 

A) The previous reply , you mentioned ......

 

"

 

And using the same 1:1 cable Between FPGA and Modem:

 

FPGA Side ------------------------------------- Modem Side

9 Pin D Type ----------------------------------- 9 Pin D Type

Pin No ------------------------------------------- Pin No

 

2 (TX)  ------------------------------------- 2 (TX)

3 (RX) -------------------------------------- 3 (RX)

5 (GND)------------------------------------ 5 (GND)

 

Then there will a issue and FPGA and Modem will not communicate. Here you have to use a crossed Cable.

 

"

 

..... and I do not understand about the crossed cable. If I want to buy the cable , how should I explain it to the vendor.

 

1) What is the specification of the crossed cable ? 

2) Does it has a particular name ?

3) Should it be null modem ?

 

B) Based on the diagram below,  ML401 only has one serial port. If I want to use another serial port (by using Expansion Header), how can I use TWO serial port as stdout & stdin? Is is possible ?

 

  If you can not answer the 2nd question , it is alright. But please provide the cable specification.... I planning to buy the cable . Please reply to me as soon as possible .

Thank you

stdout_stdin.JPG
0 Kudos
Explorer
Explorer
19,744 Views
Registered: ‎04-06-2009

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

By the name Crossed Cable I want to mean Simple null modem .

 

FPGA Side ------------------------------------- Modem Side

9 Pin D Type ----------------------------------- 9 Pin D Type

Pin No ------------------------------------------- Pin No

 

2 (TX)  -------------------------------------- 3 (RX)

3 (RX) -------------------------------------- 2 (TX)

5 (GND)------------------------------------- 5 (GND)

 

 


For 2nd Serial Port you have to use the Expansion Connector or some other free unused I/O Pin avialable in the Board. You have to use some RS232 Trancievers like MAX 3232. Pl find the datasheet as an attachment.

 

Defining your UART as STDIO - STDOUT/STDIN ---

 

I am not 100% sure, but as far I know - In a project you can can define a single UART as STDIO. When You define the UART as STDIO then you can use the commands like "printf" to send data from your UART.

 

In case you are not defining the UART as STDIO, in that case you can send or receive data using the function  XUartLite_Send() and XUartLite_Recv() respectively.

 

Presently I am working on Spartan3AN Starter Kit where I have two serial Ports and I am using both. In my project in STDIO i have selected None. And I am using the functions  XUartLite_Send() and XUartLite_Recv() to receive or transimt using both the UARTs. 

 

I'll really apreciate any experts comments regarding this from other Forum members.

 

 

Regards,

Shantanu

 

 

 

Shantanu Sarkar
http://www.linkedin.com/pub/shantanu-sarkar/0/33a/335
0 Kudos
Explorer
Explorer
19,730 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good evening,

 

     Thank you for the replied. I really really appreciate the pdf file . I have downloaded the SerialMon 1.4 . I had played around. But I am facing some problems(Please look at the diagram below) , I am not sure whether I am correct:-

 

1) Everytime I send AT command, it does not display any respond from the modem. Or I left out something. Is it normal? How should I set it to receive the respond?

 

2) After I disconnect the SerialMon and connect the Hyperterminal, it display differently  (with the 'xxxxxx' and less 'AT' than it should be). Is it error or should I ignore it ?

 

  

 

Thanks

Problem.JPG
0 Kudos
Explorer
Explorer
19,722 Views
Registered: ‎04-06-2009

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

SerialMon will run in the back end while your hyperterminal is communicating with the Modem. The purpose of Serial Mon is to Log the serial data. then you can check it out if you are missing some thing or not? Prefer to check the Hex data bcoz the ASCII format of few HEX values are not displayed or are some special character.

 

I am not sure- the xxxx... may be some garbage.

 

just one thing stricked me - in our code you are sending the commands. But where you are checking for the response from the Modem? I mean where are you receiving the data? 


 int main (void)  

{

  print(
"AT\r");

  Delay(9999999);

 

  print(
"AT+CMGF=1\r");

  Delay(9999999);

 

  print(
"AT+CMGS=+60179310740");

  Delay(9999999);

 

  print(
"Notify me!");

  Delay(9999999);

 

  return 0;

}

 


 

 

 

 

 

 

Shantanu Sarkar
http://www.linkedin.com/pub/shantanu-sarkar/0/33a/335
0 Kudos
Explorer
Explorer
19,719 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good evening ,

 

   Thank you for replying. 

"

 in our code you are sending the commands. But where you are checking for the response from the Modem? I mean where are you receiving the data? 

 

Actually

 

1) I want to receive and extract SMS data to trigger a particular LED.

For example,Let say SMS at index 6 :-

 

SMS Data              LED Trigger

      1                              1

      2                              2

      3                              3

      4                              4

 

2) And send latitude and longitude to a system

 

 

  This is my first time using SerialMon. As I read the manual ( at http://www.serialmon.com/screenshots/) I perceive that A responded to the PC (at line 2 ). I just wondered why mine has no response. I just thought my modem is not functioning. Do you have any pdf article for me to refer?

 

-------------------------------------------------------------------------------------------------------------------------------------------------

 

Tommorrow I planning to purchase the cables you recommended. Just want to make sure that I am correct, this what I am going to buy

 

Using 1:1 cable in between PC and Modem as:

 

PC Side ------------------------------------Modem Side

9 Pin D Type ------------------------------9 Pin D Type

Pin No   ------------------------------------ Pin No

 

2 (RX)  ------------------------------------- 2 (TX)

3 (TX) -------------------------------------- 3 (RX)

5 (GND)------------------------------------ 5 (GND)

 

Using 1:1 cable in between PC and FPGA as:

 

PC Side ------------------------------------FPGA Side

9 Pin D Type ------------------------------9 Pin D Type

Pin No --------------------------------------Pin No

 

2 (RX)  ------------------------------------- 2 (TX)

3 (TX) -------------------------------------- 3 (RX)

5 (GND)------------------------------------ 5 (GND)

 

Using  1:1 cable Between FPGA and Modem:

 

FPGA Side ------------------------------------- Modem Side

9 Pin D Type ----------------------------------- 9 Pin D Type

Pin No ------------------------------------------- Pin No

 

2 (TX)  -------------------------------------- 3 (RX)

3 (RX) -------------------------------------- 2 (TX)

5 (GND)------------------------------------- 5 (GND)

 

 

  I really not from enginnering background. It is a bit difficult for me to understand. Sorry if my question annoys you. 

 

 

Thank you

0 Kudos
Explorer
Explorer
19,712 Views
Registered: ‎04-06-2009

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Sorry I am not having any doc/PDF related to serialMon. I had used the trial version of Serialmon for one of my project 6 months back, thats the reason I suggested you. As its easy to log serial data using serialmon than using CRO or LA.

 

Presently what cable you are using in between PC and Modem?

And also what cable in between FPGA and PC?

 

Check out the continuity of Pin 2,3 and 5 using a DMM and let me know.

Shantanu Sarkar
http://www.linkedin.com/pub/shantanu-sarkar/0/33a/335
0 Kudos
Participant naim32
Participant
19,709 Views
Registered: ‎12-04-2008

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

HI,

 

Why dont you try the "xil_printf" command to send data instead. Im not sure I really got the problem correct, I didnt read all the replies.

 

Regards,

Naim

0 Kudos
Explorer
Explorer
10,196 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good morning,

 

   Thank you for your reply. Sorry for the delay because here already 12:30am. I tested the cables (NOT the PC , NOT the MODEM , NOT the FPGA .... ONLY FROM THE CABLES USED) for three times and the result is below (for 9 Pin D Type ) :-

 

1) Presently what cable you are using in between PC and Modem?

WORK FINE

PC                                        Modem 

 2                  =>                         2

 3                  =>                         3

 5                  =>                         5

 

2) And also what cable in between FPGA and PC?

WORK FINE 

PC                                         FPGA

 2                   =>                        3

 3                   =>                        2

 5                   =>                        5

 

 

3) I just tested between FPGA and PC

DOES NOT WORK FINE 

FPGA                                      Modem

   2                 =>                        2

   3                 =>                        3

   5                 =>                        5

 

 

     I am not from engineering background. So, I am not so sure about labeling the Tx and Rx. I just assume that from the PC the 2 is Rx and the 3 is Tx. And 5 is definitely Gnd

    I know it looks weird from your previous description, but I have tested it more than once. If I am wrong please let me know. I do not mind verifying it with my friends.

    I only have you as my tutor. Please guide me. From the description , what type of cable should I purchase for the FPGA-Modem?

 

  Please reply to me as soon as possible. 

 

Thank you

0 Kudos
Explorer
Explorer
10,189 Views
Registered: ‎04-06-2009

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)


 

1) Presently what cable you are using in between PC and Modem?

WORK FINE

PC                                        Modem 

 2                  =>                         2

 3                  =>                         3

 5                  =>                         5

 

2) And also what cable in between FPGA and PC?

WORK FINE 

PC                                         FPGA

 2                   =>                        3

 3                   =>                        2

 5                   =>                        5

 

 

3) I just tested between FPGA and PC -- What U want to mean here?????

DOES NOT WORK FINE 

FPGA                                      Modem

   2                 =>                        2

   3                 =>                        3

   5                 =>                        5

 


From the point 1 and 2 what I can conclude that you should use 1:1 cable in between FPGA and Modem. That is the same cable which you are using between PC and Modem.

 

   2                 =>                        2

   3                 =>                        3

   5                 =>                        5

 

 

From Point 3, what I understood you are using the same. Pl confirm.

 

Shantanu Sarkar
http://www.linkedin.com/pub/shantanu-sarkar/0/33a/335
0 Kudos
Explorer
Explorer
10,186 Views
Registered: ‎04-06-2009

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

1>When you are communicating with the modem using Hyperterminal - Are you using any flow control? Check the Property of the Hyperterminal.

 

2> Whether using any Hardware handshaking in between PC and Modem? - On both the 9 Pin D Type Connector check out the Pins

 

1- DCD

4 - DTR

6 - DSR

7 - RTS

8 - CTS 

 

Find out whether there is any physical connection between two pins?

 

Shantanu Sarkar
http://www.linkedin.com/pub/shantanu-sarkar/0/33a/335
0 Kudos
Explorer
Explorer
10,177 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good morning,

 

   Thank you for your reply. It was a typo error .... it is modem not PC and I used this cable to test it but it did not work . 

 

A) That is the same cable which you are using between PC and Modem?

Yes 

 

 I just tested between FPGA and Modem 

DOES NOT WORK FINE 

FPGA                                      Modem

   2                 =>                        2

   3                 =>                        3

   5                 =>                        5

 

B) When you are communicating with the modem using Hyperterminal - Are you using any flow control? Check the Property of the Hyperterminal.

 It is in the attchment.

 

C)

Whether using any Hardware handshaking in between PC and Modem? - On both the 9 Pin D Type Connector check out the Pins

 

1- DCD

4 - DTR

6 - DSR

7 - RTS

8 - CTS 

 

PC (Female)                    Modem (Male)

 1                      =>                 1 

 4                      =>                 4 

 6                      =>                 6

 7                      =>                 7 

 8                      =>                 8

 

 

D) Find out whether there is any physical connection between two pins?

 How to do this ?

 

 Please reply to me as soon as possible.

 

Thank you.

0 Kudos
Explorer
Explorer
10,176 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good morning

   Maybe my files got problem. Plese check through. 

MHS File
# ##############################################################################
# Created by Base System Builder Wizard for Xilinx EDK 9.2 Build EDK_Jm.16
# Mon Dec 15 13:46:45 2008
# Target Board:  Xilinx Virtex 4 ML401 Evaluation Platform Rev 1
# Family:  virtex4
# Device:  xc4vlx25
# Package:  ff668
# Speed Grade:  -10
# Processor: microblaze_0
# System clock frequency: 100.000000 MHz
# On Chip Memory :  16 KB
# ##############################################################################
 PARAMETER VERSION = 2.1.0


 PORT fpga_0_RS232_Uart_RX_pin = fpga_0_RS232_Uart_RX, DIR = I
 PORT fpga_0_RS232_Uart_TX_pin = fpga_0_RS232_Uart_TX, DIR = O
 PORT fpga_0_LEDs_4Bit_GPIO_IO_pin = fpga_0_LEDs_4Bit_GPIO_IO, DIR = IO, VEC = [0:3]
 PORT sys_clk_pin = dcm_clk_s, DIR = I, SIGIS = CLK, CLK_FREQ = 100000000
 PORT sys_rst_pin = sys_rst_s, DIR = I, RST_POLARITY = 0, SIGIS = RST
 PORT Push_Buttons_5Bit_GPIO_in_pin = Push_Buttons_5Bit_GPIO_in, DIR = I, VEC = [0:4]
 PORT M_Uart_TX_pin = M_Uart_TX, DIR = O
 PORT M_Uart_RX_pin = M_Uart_RX, DIR = I


BEGIN microblaze
 PARAMETER HW_VER = 7.00.a
 PARAMETER INSTANCE = microblaze_0
 PARAMETER C_INTERCONNECT = 1
 PARAMETER C_DEBUG_ENABLED = 1
 BUS_INTERFACE DLMB = dlmb
 BUS_INTERFACE ILMB = ilmb
 BUS_INTERFACE DPLB = mb_plb
 BUS_INTERFACE IPLB = mb_plb
 BUS_INTERFACE DEBUG = microblaze_0_dbg
 PORT RESET = mb_reset
END

BEGIN plb_v46
 PARAMETER INSTANCE = mb_plb
 PARAMETER HW_VER = 1.00.a
 PORT PLB_Clk = sys_clk_s
 PORT SYS_Rst = sys_bus_reset
END

BEGIN lmb_v10
 PARAMETER INSTANCE = ilmb
 PARAMETER HW_VER = 1.00.a
 PORT LMB_Clk = sys_clk_s
 PORT SYS_Rst = sys_bus_reset
END

BEGIN lmb_v10
 PARAMETER INSTANCE = dlmb
 PARAMETER HW_VER = 1.00.a
 PORT LMB_Clk = sys_clk_s
 PORT SYS_Rst = sys_bus_reset
END

BEGIN lmb_bram_if_cntlr
 PARAMETER INSTANCE = dlmb_cntlr
 PARAMETER HW_VER = 2.10.a
 PARAMETER C_BASEADDR = 0x00000000
 PARAMETER C_HIGHADDR = 0x0000ffff
 BUS_INTERFACE SLMB = dlmb
 BUS_INTERFACE BRAM_PORT = dlmb_port
END

BEGIN lmb_bram_if_cntlr
 PARAMETER INSTANCE = ilmb_cntlr
 PARAMETER HW_VER = 2.10.a
 PARAMETER C_BASEADDR = 0x00000000
 PARAMETER C_HIGHADDR = 0x0000ffff
 BUS_INTERFACE SLMB = ilmb
 BUS_INTERFACE BRAM_PORT = ilmb_port
END

BEGIN bram_block
 PARAMETER INSTANCE = lmb_bram
 PARAMETER HW_VER = 1.00.a
 BUS_INTERFACE PORTA = ilmb_port
 BUS_INTERFACE PORTB = dlmb_port
END

BEGIN xps_uartlite
 PARAMETER INSTANCE = RS232_Uart
 PARAMETER HW_VER = 1.00.a
 PARAMETER C_BAUDRATE = 9600
 PARAMETER C_DATA_BITS = 8
 PARAMETER C_ODD_PARITY = 0
 PARAMETER C_USE_PARITY = 0
 PARAMETER C_SPLB_CLK_FREQ_HZ = 100000000
 PARAMETER C_BASEADDR = 0x84000000
 PARAMETER C_HIGHADDR = 0x8400ffff
 BUS_INTERFACE SPLB = mb_plb
 PORT RX = fpga_0_RS232_Uart_RX
 PORT TX = fpga_0_RS232_Uart_TX
END

BEGIN xps_gpio
 PARAMETER INSTANCE = LEDs_4Bit
 PARAMETER HW_VER = 1.00.a
 PARAMETER C_GPIO_WIDTH = 4
 PARAMETER C_IS_DUAL = 0
 PARAMETER C_IS_BIDIR = 1
 PARAMETER C_ALL_INPUTS = 0
 PARAMETER C_BASEADDR = 0x81420000
 PARAMETER C_HIGHADDR = 0x8142ffff
 BUS_INTERFACE SPLB = mb_plb
 PORT GPIO_IO = fpga_0_LEDs_4Bit_GPIO_IO
END

BEGIN clock_generator
 PARAMETER INSTANCE = clock_generator_0
 PARAMETER HW_VER = 1.00.a
 PARAMETER C_EXT_RESET_HIGH = 1
 PARAMETER C_CLKIN_FREQ = 100000000
 PARAMETER C_CLKOUT0_FREQ = 100000000
 PARAMETER C_CLKOUT0_PHASE = 0
 PARAMETER C_CLKOUT0_GROUP = NONE
 PORT CLKOUT0 = sys_clk_s
 PORT CLKIN = dcm_clk_s
 PORT LOCKED = Dcm_all_locked
 PORT RST = net_gnd
END

BEGIN mdm
 PARAMETER INSTANCE = debug_module
 PARAMETER HW_VER = 1.00.a
 PARAMETER C_MB_DBG_PORTS = 1
 PARAMETER C_USE_UART = 1
 PARAMETER C_UART_WIDTH = 8
 PARAMETER C_BASEADDR = 0x84400000
 PARAMETER C_HIGHADDR = 0x8440ffff
 BUS_INTERFACE SPLB = mb_plb
 BUS_INTERFACE MBDEBUG_0 = microblaze_0_dbg
 PORT Debug_SYS_Rst = Debug_SYS_Rst
END

BEGIN proc_sys_reset
 PARAMETER INSTANCE = proc_sys_reset_0
 PARAMETER HW_VER = 2.00.a
 PARAMETER C_EXT_RESET_HIGH = 0
 PORT Slowest_sync_clk = sys_clk_s
 PORT Dcm_locked = Dcm_all_locked
 PORT Ext_Reset_In = sys_rst_s
 PORT MB_Reset = mb_reset
 PORT Bus_Struct_Reset = sys_bus_reset
 PORT MB_Debug_Sys_Rst = Debug_SYS_Rst
END

BEGIN xps_gpio
 PARAMETER INSTANCE = Push_Buttons_5Bit
 PARAMETER HW_VER = 1.00.a
 PARAMETER C_ALL_INPUTS = 1
 PARAMETER C_IS_BIDIR = 0
 PARAMETER C_GPIO_WIDTH = 5
 PARAMETER C_BASEADDR = 0x81400000
 PARAMETER C_HIGHADDR = 0x8140ffff
 BUS_INTERFACE SPLB = mb_plb
 PORT GPIO_in = Push_Buttons_5Bit_GPIO_in
END

BEGIN xps_uartlite
 PARAMETER INSTANCE = M_Uart
 PARAMETER HW_VER = 1.00.a
 PARAMETER C_BASEADDR = 0x84020000
 PARAMETER C_HIGHADDR = 0x8402ffff
 PARAMETER C_BAUDRATE = 9600
 PARAMETER C_USE_PARITY = 0
 PARAMETER C_ODD_PARITY = 0
 BUS_INTERFACE SPLB = mb_plb
 PORT TX = M_Uart_TX
 PORT RX = M_Uart_RX
END

 

MSS file

 


 PARAMETER VERSION = 2.2.0


BEGIN OS
 PARAMETER OS_NAME = standalone
 PARAMETER OS_VER = 1.00.a
 PARAMETER PROC_INSTANCE = microblaze_0
 PARAMETER stdout = RS232_Uart
 PARAMETER stdin = RS232_Uart
END


BEGIN PROCESSOR
 PARAMETER DRIVER_NAME = cpu
 PARAMETER DRIVER_VER = 1.11.a
 PARAMETER HW_INSTANCE = microblaze_0
 PARAMETER COMPILER = mb-gcc
 PARAMETER ARCHIVER = mb-ar
END


BEGIN DRIVER
 PARAMETER DRIVER_NAME = bram
 PARAMETER DRIVER_VER = 1.00.a
 PARAMETER HW_INSTANCE = dlmb_cntlr
END

BEGIN DRIVER
 PARAMETER DRIVER_NAME = bram
 PARAMETER DRIVER_VER = 1.00.a
 PARAMETER HW_INSTANCE = ilmb_cntlr
END

BEGIN DRIVER
 PARAMETER DRIVER_NAME = generic
 PARAMETER DRIVER_VER = 1.00.a
 PARAMETER HW_INSTANCE = lmb_bram
END

BEGIN DRIVER
 PARAMETER DRIVER_NAME = uartlite
 PARAMETER DRIVER_VER = 1.12.a
 PARAMETER HW_INSTANCE = RS232_Uart
END

BEGIN DRIVER
 PARAMETER DRIVER_NAME = gpio
 PARAMETER DRIVER_VER = 2.11.a
 PARAMETER HW_INSTANCE = LEDs_4Bit
END

BEGIN DRIVER
 PARAMETER DRIVER_NAME = generic
 PARAMETER DRIVER_VER = 1.00.a
 PARAMETER HW_INSTANCE = clock_generator_0
END

BEGIN DRIVER
 PARAMETER DRIVER_NAME = uartlite
 PARAMETER DRIVER_VER = 1.12.a
 PARAMETER HW_INSTANCE = debug_module
END

BEGIN DRIVER
 PARAMETER DRIVER_NAME = generic
 PARAMETER DRIVER_VER = 1.00.a
 PARAMETER HW_INSTANCE = proc_sys_reset_0
END

BEGIN DRIVER
 PARAMETER DRIVER_NAME = gpio
 PARAMETER DRIVER_VER = 2.11.a
 PARAMETER HW_INSTANCE = Push_Buttons_5Bit
END

BEGIN DRIVER
 PARAMETER DRIVER_NAME = uartlite
 PARAMETER DRIVER_VER = 1.12.a
 PARAMETER HW_INSTANCE = M_Uart
END


UCF file

 

############################################################################
## This system.ucf file is generated by Base System Builder based on the
## settings in the selected Xilinx Board Definition file. Please add other
## user constraints to this file based on customer design specifications.
############################################################################

Net sys_clk_pin LOC=AE14;
Net sys_clk_pin IOSTANDARD = LVCMOS33;
Net sys_rst_pin LOC=D6;
Net sys_rst_pin PULLUP;
## System level constraints
Net sys_clk_pin TNM_NET = sys_clk_pin;
TIMESPEC TS_sys_clk_pin = PERIOD sys_clk_pin 10000 ps;
Net sys_rst_pin TIG;

## IO Devices constraints

#### Module RS232_Uart constraints

Net fpga_0_RS232_Uart_RX_pin LOC=W2;
Net fpga_0_RS232_Uart_RX_pin IOSTANDARD = LVCMOS33;
Net fpga_0_RS232_Uart_TX_pin LOC=W1;
Net fpga_0_RS232_Uart_TX_pin IOSTANDARD = LVCMOS33;

#### Module M_Uart constraints
Net M_Uart_RX_pin LOC=V20;
Net M_Uart_TX_pin LOC=AA24;

#### Module LEDs_4Bit constraints

Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> LOC=G5;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> IOSTANDARD = LVCMOS25;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> PULLUP;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> SLEW = SLOW;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> DRIVE = 2;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<0> TIG;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> LOC=G6;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> IOSTANDARD = LVCMOS25;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> PULLUP;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> SLEW = SLOW;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> DRIVE = 2;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<1> TIG;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> LOC=A11;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> IOSTANDARD = LVCMOS25;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> PULLUP;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> SLEW = SLOW;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> DRIVE = 2;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<2> TIG;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> LOC=A12;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> IOSTANDARD = LVCMOS25;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> PULLUP;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> SLEW = SLOW;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> DRIVE = 2;
Net fpga_0_LEDs_4Bit_GPIO_IO_pin<3> TIG;

#### Module Push_Buttons_5Bit constraints

Net Push_Buttons_5Bit_GPIO_in_pin<0> LOC=B6;
Net Push_Buttons_5Bit_GPIO_in_pin<0> IOSTANDARD = LVCMOS25;
Net Push_Buttons_5Bit_GPIO_in_pin<0> PULLUP;
Net Push_Buttons_5Bit_GPIO_in_pin<0> SLEW = SLOW;
Net Push_Buttons_5Bit_GPIO_in_pin<0> DRIVE = 2;
Net Push_Buttons_5Bit_GPIO_in_pin<0> TIG;
Net Push_Buttons_5Bit_GPIO_in_pin<1> LOC=E9;
Net Push_Buttons_5Bit_GPIO_in_pin<1> IOSTANDARD = LVCMOS25;
Net Push_Buttons_5Bit_GPIO_in_pin<1> PULLUP;
Net Push_Buttons_5Bit_GPIO_in_pin<1> SLEW = SLOW;
Net Push_Buttons_5Bit_GPIO_in_pin<1> DRIVE = 2;
Net Push_Buttons_5Bit_GPIO_in_pin<1> TIG;
Net Push_Buttons_5Bit_GPIO_in_pin<2> LOC=A6;
Net Push_Buttons_5Bit_GPIO_in_pin<2> IOSTANDARD = LVCMOS25;
Net Push_Buttons_5Bit_GPIO_in_pin<2> PULLUP;
Net Push_Buttons_5Bit_GPIO_in_pin<2> SLEW = SLOW;
Net Push_Buttons_5Bit_GPIO_in_pin<2> DRIVE = 2;
Net Push_Buttons_5Bit_GPIO_in_pin<2> TIG;
Net Push_Buttons_5Bit_GPIO_in_pin<3> LOC=F10;
Net Push_Buttons_5Bit_GPIO_in_pin<3> IOSTANDARD = LVCMOS25;
Net Push_Buttons_5Bit_GPIO_in_pin<3> PULLUP;
Net Push_Buttons_5Bit_GPIO_in_pin<3> SLEW = SLOW;
Net Push_Buttons_5Bit_GPIO_in_pin<3> DRIVE = 2;
Net Push_Buttons_5Bit_GPIO_in_pin<3> TIG;
Net Push_Buttons_5Bit_GPIO_in_pin<4> LOC=E7;
Net Push_Buttons_5Bit_GPIO_in_pin<4> IOSTANDARD = LVCMOS25;
Net Push_Buttons_5Bit_GPIO_in_pin<4> PULLUP;
Net Push_Buttons_5Bit_GPIO_in_pin<4> SLEW = SLOW;
Net Push_Buttons_5Bit_GPIO_in_pin<4> DRIVE = 2;
Net Push_Buttons_5Bit_GPIO_in_pin<4> TIG;

 

Thank you

0 Kudos
Explorer
Explorer
10,158 Views
Registered: ‎04-06-2009

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

With ref to your reply and doc you provided, it seems no handshaking is required by the modem. I also went through the UG of MIL401 Board - In RS 232 Connector only pin 2,3 and 5 are connected so not to worry abount the hanshaking pins.The cable you are using, should work. 

Just for cross check I'll sugest you to get the cables checked physically by one of your freind who has a knowledge of hardware.

 

Regarding your MHS & MSS file. I'll go through it and let you know my views if any.

 

Shantanu  

Shantanu Sarkar
http://www.linkedin.com/pub/shantanu-sarkar/0/33a/335
0 Kudos
Explorer
Explorer
10,152 Views
Registered: ‎04-06-2009

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

 

 

I am presently doing a design using EDK9.2 in Spartan3AN Starter Kit. I am comparing your code with mine


 

MHS File

My Code

BEGIN xps_uartlite

PARAMETER INSTANCE = RS232_DCE

PARAMETER HW_VER = 1.00.a

PARAMETER C_BAUDRATE = 9600

PARAMETER C_DATA_BITS = 8

PARAMETER C_ODD_PARITY = 0

PARAMETER C_USE_PARITY = 0

PARAMETER C_SPLB_CLK_FREQ_HZ = 62500000

PARAMETER C_BASEADDR = 0x84020000

PARAMETER C_HIGHADDR = 0x8402ffff

BUS_INTERFACE SPLB = mb_plb

PORT RX = fpga_0_RS232_DCE_RX

PORT TX = fpga_0_RS232_DCE_TX

PORT Interrupt = RS232_DCE_Interrupt (Interrupt is not required in your Project)

END


 

Your Code:


 

Port 1

BEGIN xps_uartlite

PARAMETER INSTANCE = RS232_Uart (It should be according to your design)
PARAMETER HW_VER = 1.00.a
PARAMETER C_BAUDRATE = 9600
PARAMETER C_DATA_BITS = 8
PARAMETER C_ODD_PARITY = 0
PARAMETER C_USE_PARITY = 0
PARAMETER C_SPLB_CLK_FREQ_HZ = 100000000 (It should be according to your design)
PARAMETER C_BASEADDR = 0x84000000 (It should be according to your design)
PARAMETER C_HIGHADDR = 0x8400ffff
BUS_INTERFACE SPLB = mb_plb
PORT RX = fpga_0_RS232_Uart_RX
PORT TX = fpga_0_RS232_Uart_TX

END

The Address range 0x84000000 - 0x8400FFFF is only used for UART purpose. There is not address conflict. Its OK.

It seems fine...


 


 

Port 2

BEGIN xps_uartlite
PARAMETER INSTANCE = M_Uart
PARAMETER HW_VER = 1.00.a
PARAMETER C_BASEADDR = 0x84020000
PARAMETER C_HIGHADDR = 0x8402ffff
PARAMETER C_BAUDRATE = 9600
PARAMETER C_USE_PARITY = 0
PARAMETER C_ODD_PARITY = 0
BUS_INTERFACE SPLB = mb_plb
PORT TX = M_Uart_TX
PORT RX = M_Uart_RX
END

Missing -

PARAMETER C_DATA_BITS = 8
PARAMETER C_SPLB_CLK_FREQ_HZ = 100000000


 

The Address range 0x84000000 - 0x8400FFFF is only used for UART purpose. There is not address conflict. Its OK. It seems fine...


 


 


 

MSS File

My Code


 

BEGIN DRIVER

PARAMETER DRIVER_NAME = uartlite

PARAMETER DRIVER_VER = 1.12.a

PARAMETER HW_INSTANCE = RS232_DCE

END


 

Your code


 

Port 1

BEGIN DRIVER
PARAMETER DRIVER_NAME = uartlite
PARAMETER DRIVER_VER = 1.12.a
PARAMETER HW_INSTANCE = RS232_Uart
END

 

Port 2

   BEGIN DRIVER
PARAMETER DRIVER_NAME = uartlite
PARAMETER DRIVER_VER = 1.12.a
PARAMETER HW_INSTANCE = M_Uart
END


 

 

   It seems fine.

 

Regarding UCF check it out from the User Guide of the board you are using.

 

Comments:

You are using two UARTS in your project - RS232_Uart and M_Uart

Which one you are using for communicating with the Modem? If it is M_UART then there will be issue as few parameters are missing in that.

 

Shantanu

Shantanu Sarkar
http://www.linkedin.com/pub/shantanu-sarkar/0/33a/335
0 Kudos
Explorer
Explorer
10,148 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

 
0 Kudos
Explorer
Explorer
10,147 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good evening,

 

  Thank you very much. Above is my EDK9.2 code and in the attachment is some pics. Please go through, if got any error please reply to me as soon as possible. Your help is really being appreciated.  

 

 

Thank you very much.

0 Kudos
Explorer
Explorer
10,145 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good evening,

 

   In the attachment is my ISE9.2 code. The UCF is automatically generated by the EDK9.2 (above). Please check and reply me back.

Your help is really being appreciated. 

 

 

Thank you very much.

0 Kudos
Explorer
Explorer
10,745 Views
Registered: ‎04-06-2009

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

The EDK Project file you have sent (helmi.rar) differs from the MHS/MSS/UCF file which you have posted.

Any way I'll try to go thru your code for which I need 2-3 days. I have downloaded the Schematic of MIL401 board. But the readability is poor.

You just send me the user Guide or any documentaion of the board. And also you are requested to go thru the details of the modem - Pl make it sure if it needs any handshaking etc.

 

By the time try to manage a 1:1 serial cable as follows

 

FPGA                                      Modem

   2                 =>                        2

   3                 =>                        3

   5                 =>                        5

 

Make it sure the rest of the pins should be kept open.

 

After going thru the schematic I found In MIL401 they are using loopback of the hanshaking signal. I was wrong in one of my post - "I also went through the UG of MIL401 Board - In RS 232 Connector only pin 2,3 and 5 are connected so not to worry abount the hanshaking pins".

 

Shantanu

 

Shantanu Sarkar
http://www.linkedin.com/pub/shantanu-sarkar/0/33a/335
0 Kudos
Explorer
Explorer
10,741 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good evening,

 

     Thank you for you reply. Really appreciate it.

 

Board Description:-

Virtex-4

XC4VLX25

FF668DNQ0701

 

1) I have downloaded the Schematic of MIL401 board. But the readability is poor. You just send me the user Guide or any documentaion of the board. 

    

 http://www.xilinx.com/support/documentation/boards_and_kits/ml401_2_3_schematics.pdf

 

http://www.xilinx.com/support/documentation/boards_and_kits/ug080.pdf

 

http://www.xilinx.com/publications/prod_mktg/pn0010813.pdf

 

http://www.xilinx.com/support/documentation/boards_and_kits/ug078.pdf

 

 Scroll Down until you reach ML401

 

http://www.xilinx.com/support/documentation/virtex-4_boards.htm

 

2) And also you are requested to go thru the details of the modem - Pl make it sure if it needs any handshaking etc.

 OK , I will do it.

 

 

3) Any way I'll try to go thru your code for which I need 2-3 days.

Oooh ... thank you very much. I really appreciate your help. 

 

 

Thank you

0 Kudos
Explorer
Explorer
10,717 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good morning,

     I not from engineering background. In the morning, I was reading the definition of loopback and handshaking. I understood that if pin 1 ,4 and 6 get connected (based on the diagram below) , it can define as loopback. Is it true?

 Thank you

loopback.JPG
0 Kudos
Explorer
Explorer
10,715 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good evening,

 

    I went through the schematic for ML401 at this link (I had sent to you), it shows that pin 1,4,and 6 are connected. So I assumed it is loopback, is it?

 

http://www.xilinx.com/support/documentation/boards_and_kits/ml401_2_3_schematics.pdf

 

 

Thank you

loopback.JPG
0 Kudos
Explorer
Explorer
10,714 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good evening,

 

  Actually the below diagram is about the data sheet. 

 

thank you

sheet_12.JPG
0 Kudos
Explorer
Explorer
10,713 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good evening,

 

   So by using DMM, I found out that the PC and the Modem port is not loopback. Only the FPGA is loopback (diagram below).

 

PC        => Male Port

 

Modem => Female Port

 

FPGA   => Male Port

 

   If I did anything wrong please notify me.

 

Thank you very much for my help.

overall.JPG
0 Kudos
Explorer
Explorer
10,687 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good morning,

 

 More reference :-

 

         http://www.xilinx.com/products/virtex4/index.htm

 

 

Thank you

0 Kudos
Explorer
Explorer
10,675 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good evening,

 

     So sorry to disturb you. I just want to show you the specification of the GSM modem. Maybe the baudrate is the problem .....?

 

http://www.mcm-control.com/modem-g508r-p-38.html?osCsid=g42rladernd69s8qkjcagls727

 

 

http://www.tradeindia.com/selloffer/1737616/RS232-GSM-GPRS-GPS-Modem.html

 

Both are the same.

 

If you get anything , please reply to me as soon as possible.

 

 

Thank you very much for your help.

Hyper.JPG
0 Kudos
Explorer
Explorer
10,653 Views
Registered: ‎04-06-2009

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

This weekend I'll try to go through your code. On Monady I'll get back to you.
Shantanu
Shantanu Sarkar
http://www.linkedin.com/pub/shantanu-sarkar/0/33a/335
0 Kudos
Explorer
Explorer
10,645 Views
Registered: ‎12-06-2007

Re: Very Difficult , Need Aid:- FPGA Not Sending Out Data (UART Problem)

Good evening,

 

 

   Thank you for replying. While waiting for your reply , I attempted to rectify the problem. But it was not successful. Then a guy emailed me today and told me to do few things. Before I try doing it , I would like to get a view from you. It is because I believe that you are more expert in this field.

 

This what he emailed:-

 

The problem can lie in two places:

  1. The baud rate configuration is incorrect. Many modern modems rely on handshaking signals (RTS & CTS) to determine the auto-baud. There is a possibility that you are not generating these correctly on your FPGA.
  2. The Rx and Tx lines are not crossed. Possibly, the cable which you are using for your modem is meant for connecting the modem to your PC. And so is the D9 port on your virtex board.

    This is probably the configuration of the cable:



    PC Serial Port------------------Modem D9 Port | Modem Internals
    Rx ---------------------------------------Tx-------------\/---Rx
    Tx --------------------------------------- Rx------------/\---Tx

    The same cable, if used with the Virtex board will cause the Rx to connect with Rx, and Tx to connect with Tx, as shown below.

    Modem D9 Port ----------------Virtex Board D9 Port
    Tx--------------------------------------Tx
    Rx--------------------------------------Rx
    Now, this won't work.

    This is the Configuration that you require:

    Modem D9 Port ----------------Virtex Board D9 Port
    Tx----------------\/--------------------Tx
    Rx----------------/\--------------------Rx

Hope this helps,

Regards,

Debu

  

 

 I am not from engineering background. May I know what should I do? You can reply to me on Monday after checking the code. I can wait.

 

 

 

Thank you very much.

0 Kudos