Today I am going to talk a bit about the new HSDPA EU3 module communication interfaces and we will look at an example of using TCP/IP stack which is integrated into this module as it differs slightly as to what we were used to with the MC55i, XT65, TC63i and TC65i modules.
Communication Interfaces
The EU3 module has a serial port and a USB port. If you know the HC25 module, unlike this it’s possible to simultaneously use the serial port and the USB port with the EU3. In fact there are various ways to configure these interfaces. To do this we use the AT^SDPORT command (which is very important for the first contact with this module) that should be configured correctly.
With AT^SDPORT we can configure 4 modes.
Mode 1: default mode, it should only be used to configure an appropriate speed with AT+IPR and to change to SDPORT=2, SDPORT=3 or SDPORT=4
Mode 2: UART mode. We can only use the EU3 via serial port.
Mode 3: USB mode. To only use the EU3 via USB port, an application modem COM port and a virtual COM port are created. For example, this is in order to be able to send state AT commands to the modem at the same time as having established a 3G/HSDPA connection via the COM modem.
Mode 4: USB + UART mode. To be able to use the USB port in 3G/HSDPA connections and to use the UART to check the modem’s status by using AT commands.
Furthermore, as I indicated at the beginning of the post, we are going to see how to create a 3G/HSDPA connection using the modem’s internal TCP/IP stack i.e. we are going to create a socket to remote server to send/ receive data.
TCP/IP client connection example:
The first thing to do is define the connection profile with the context, e.g. 101
AT+CGDCONT=101,”ip”,”movistar.es”
OK
Note: it’s very important to use a context number between 101 and 116 as they are the most appropriate for service profiles (to create sockets). If you use values between 1 and 16 IT WILL NOT WORK as these are used with an external TCP/IP stack.
Afterwards, we simply activate the 101 context that we have just created.
AT + CGACT = 1,101
OK
After receiving the OK, the EU3 modem should be connected to the 3G/HSDPA, i.e. it should have an IP address assigned to the operator. To try it we can run the following command:
AT+CGPADDR=3
+CGPADDR: 101,”80.27.183.15″
OK
Note that we did not need to specify neither a login nor a password to initiate the 3G/HSDPA connection. In any case, if we had needed it we would have to use the AT^SGAUTH with something like this:
AT^SGAUTH=101,1,MOVISTAR,MOVISTAR
OK
So once we have the IP, we can connect to a remote server. To do so we will proceed in a similar way to what we do with the rest of the Siemens/Cinterion family (MC55i, XT65, TC63i and TC65i) configuring a service profile or in this case a TCP/IP client socket.
AT^SISS=0,”srvType”,”TCPclient”
OK
AT^SISS=0,”address”,”83.56.192.251:20010″
OK
AT^siss=0,”conID”,101
OK
We can open the socket to connect to it:
AT^siso=0
OK
If we use the trainer as a socket listener we can see how the modem has connected.
Reading/writing with a socket is the same as what we did with the MC55i, XT65, TC63i and TC65i, therefore I’m not going to expand on it. If you have any questions don’t hesitate to ask me.
Changes:
A new change in the EU3 stack is the ability to use it transparently i.e. without using AT^SISR or AT^SISW commands. In short, everything we send through the modem’s serial port is sent directly via 3G/HSPDA and everything that we receive via 3G/HSDPA is directly forwarded to the modem’s serial port i.e. transparently.
In order to do this we use the AT^SIST command (T for Transparent) after the service is opened with AT^SISO=x. As we have opened the service profile “0”…
AT^SIST=0
CONNECT
You can see that CONNECT appears, just like when you make a CSD call. From this moment, we have a transparent 3G/HSDPA connection. To exit this mode, in a similar way to CSD calls, simply send “+++” to exit command mode.
And that’s it, as you can see this EU3 module’s TCP/IP stack is somewhat different from what we were used to with the rest of the Siemens/Cinterion modules.
Now here’s my personal evaluation. The best thing about this TCP/IP stack is that you can also use a socket in transparent mode, which could be very interesting for many applications. I don’t like the fact that for now (with the current firmware), you can’t create TCP server sockets. This is because the module is really aimed at M2M applications and most of these applications use TCP/Client sockets to send data to remote servers.
Here is a last detail to point out. The EU3 Cinterion module has the same B2B connector and (almost) the same pinout as the TC63i. Therefore anyone who is designing a board for the TC63i, take a look at the application note called EU3_e-migration (part of the EU3 documentation) as it points out slight differences to take into account when changing from a TC63i to a EU3. Or rather, this document will allow you to design a board that you can use with either the TC63i or the EU3, with obvious advantages that will help you in the future. If you, like others, have any doubts about whether to use a MC55i or a TC63i in a new design, you should consider the fact that the TC63i is compatible with the EU3. It would help me decide.
I hope that you have found it interesting. Until next time. Read the rest of this entry »
Tags:
cinterion,
hsdpa,
umts