Professional Documents
Culture Documents
UART2Ethernet User Guide - VN .Rev .02
UART2Ethernet User Guide - VN .Rev .02
12/14/2009
Pages:
1/25
UART2Ethernet Manual
Cng ty:
R&P
Ni dung:
Phin bn
Rev.02
MICROSOFT WORD
S lc:
UART2Ethernet l thit b cho php bt k mt ng dng hay thit b no c cng Serial(UART) c
th kt ni vo mng Ethernet v Internet, truyn hay nhn d liu t Ethernet thong qua Serial. N l
mt thit b c lc khi xy dng ng dng c s dng truyn thng qua mng, bn c th kt ni ti
ng dng ca mnh t bt k ni no trn th gii thng qua Internet hay to mt kt ni n Server
ca bn t U2E hoc to kt ni gia 2 thit b U2E vi nhau qua mng Ethernet hay Internet. Thit b
U2E d dng c cu hnh thng qua trang Web, hay qua cng Serial. Bn c th s dng DHCP(t
ng ly IP) hay gn IP tnh cho U2E.
1. c im s b
Ngun cp 3.1V-3.6V@450mA
UART 1200~115200 Baud, mc nh 19200 Baud
Kch thc 940x1500 mil (238x381mm)
Ng vo c th cp p ti 5.5V
Date:
Pages:
12/14/2009
2/25
2. S chn
PIN 1
CFG
PIN 2
PIN 3
PIN 4
PIN 5
PIN 6
MCLR
RX
TX
PGD
PGC
PIN 7
PIN 8
VCC
GND
Date:
12/14/2009
Pages:
3/25
Figure 3 Username "admin", Password "admin" ng nhp vo Web cu hnh cho U2E
Date:
12/14/2009
Pages:
4/25
Figure 6 UART, Chn UART Baudrate (mc nh 19200, 1 bit stop, khng flow control, khng parity, data bit 8)
Date:
12/14/2009
Pages:
5/25
Date:
Pages:
12/14/2009
6/25
b. Khung d liu
Gi t thit b khc n U2E
HEADER
LEN
CMD
DATA
LEN
STATUS
DATA
S lc v m iu khin
CMD
0x01
0x81
0x02
0x82
M t
c a ch IP
Ghi a ch IP
c Subnet Mask
Ghi Subnet Mask
Date:
0x03
0x83
0x04
0x84
0x05
0x85
0x06
0x86
0x07
0x87
0x08
0x88
0x09
0x89
0x0A
0x8A
0x0B
0x8B
0x0C
0x8C
0x0D
0x8D
0x0E
0x8E
0x0F
0x8F
0x11
0x91
0x12
0x13
0x14
0xAA
12/14/2009
Pages:
c DNS Chnh
Ghi DNS Chnh
c DNS Ph
Ghi DNS Ph
c Gateway
Ghi Gateway
c trng thi DHCP Client
Tt/M DHCP Client
c Mt khu hin ti mt khu truy cp vo Web cu hnh
Ghi Mt khu mi mt khu truy cp vo Web cu hnh
c UART Baud hin thi
Ghi UART Baud mi
c trng thi cho php cp nht Dynamic DNS
Tt/M cho php cp nht Dynamic DNS
c Dynamic DNS Server hin ti
Ghi/S dng dch v Dynamic DNS Server
c Dynamic DNS Username
Ghi Dynamic DNS Username
c Dynamic DNS Password
Ghi Dynamic DNS Password
c Dynamic DNS Hostname
Ghi Dynamic DNS Hostname
c kiu lm vic ca U2E - U2E Socket Type (Client/Server)
Ghi kiu lm vic ca U2E - U2E Socket Type (Client/Server)
c a ch Server U2E s kt ni ti khi lm vic ch Client
(U2E Remote Server Address)
Ghi a ch Server U2E s kt ni ti khi lm vic ch Client
(U2E Remote Server)
c gi tr Port m U2E lng nghe/ Kt ni (U2E Port)
Ghi gi tr Port m U2E lng nghe/Kt ni (U2E Port)
Lu & Khi ng li
Ly li cu hnh mc nh
c chui U2E Netbios Name
Gi HTTP Request ti HTTP Server
S lc v trng thi
Status
0x00
0x01
0x02
7/25
M t
Khng c li, lnh thc hin thnh cng
Lnh thc hin b li
Lnh ny khng tn ti
Date:
Pages:
12/14/2009
8/25
0x81: Ghi a ch IP
0x82: Ghi Subnet Mask
0x83: Ghi DNS chnh
0x84: Ghi DNS ph
0x85: Ghi Gateway
- Tr v
HEADER LEN STATUS
0xBD
0x01 status
Date:
Pages:
12/14/2009
9/25
- Status:
- Tr v
HEADER LEN STATUS DATA
0xBD
len
status
data
- Status:
0x00 : Lnh thc hin thnh cng
0x01: Lnh thc hin b li
- Data:
0x00: DHCP, DDNS ang tt/ khng c cho php, U2E Socket Type Server
0x01:DHCP, DDNS ang bt/ c cho php, U2E Socket Type Client
LEN
0x02
CMD
cmd
DATA
data
0x86: DHCP
0x89: DDNS
0x8E: U2E Socket Type
- Data:
0x00: DHCP, DDNS ang tt/ khng c cho php, U2E Socket Type Server
0x01:DHCP, DDNS ang bt/ c cho php, U2E Socket Type Client
Date:
Pages:
12/14/2009
10/25
- Tr v
HEADER
0xBD
LEN
0x01
STATUS
status
- Status:
- 0x00 : Lnh thc hin thnh cng
- 0x01: Lnh thc hin b li
-
- Tr v
HEADER LEN STATUS DATA
0xBD
len
status
data
- Status:
0x00 : Lnh thc hin thnh cng
0x01: Lnh thc hin b li
- Data:
Chui k t
- Len: Chiu di ca data bao gm status
- V d: tr v mt khu mt nh admin
HEADER LEN STATUS
DATA
0xBD
0x06
0x00
0x61 0x64 0x6D 0x69 0x6e
Date:
Pages:
12/14/2009
11/25
Ghi mt khu mi(mt khu truy cp Web cu hnh) ,DDNS Username, DDNS
Password, DDNS Hostname, U2E Remote Server Address
HEADER LEN CMD DATA
0xBA
len
cmd data
- Cmd:
- Tr v
HEADER LEN STATUS
0xBD
0x01 status
- Status:
0x00 : Lnh thc hin thnh cng
0x01: Lnh thc hin b li
- V d: t mt khu mi admin
HEADER LEN CMD
DATA
0xBA
0x06 0x87 0x61 0x64 0x6D 0x69 0x6e
c tc Baud hin ti
HEADER LEN CMD
0xBA
0x01 0x08
- Tr v
HEADER LEN STATUS DATA
0xBD
0x02 status
data
Date:
Pages:
12/14/2009
12/25
- Status:
0x00 : Lnh thc hin thnh cng
0x01: Lnh thc hin b li
- Data:
Ghi tc Baud mi
HEADER LEN CMD DATA
0xBA
0x02 0x88 data
- Data:
- Tr v
HEADER LEN STATUS
0xBD
0x01 status
- Status:
Date:
Pages:
12/14/2009
13/25
- Status:
0x00 : Lnh thc hin thnh cng
0x01: Lnh thc hin b li
- Data:
- Tr v
HEADER LEN STATUS
0xBD
0x01 status
- Status:
c U2E Port
HEADER LEN CMD
0xBA
0x01 0x11
- Tr v
HEADER LEN STATUS DATA
0xBD
0x03 status
data
- Status:
0x00 : Lnh thc hin thnh cng
0x01: Lnh thc hin b li
- Data:
Gi tr 16 bit Port
- V d, tr v PORT 9999(DEC) = 0x270F
HEADER LEN STATUS
DATA
0xBD
0x03
0x00
0x27 0x0F
Date:
Pages:
12/14/2009
14/25
- Tr v
HEADER LEN STATUS
0xBD
0x03 status
- Status:
0x00 : Lnh thc hin thnh cng
0x01: Lnh thc hin b li
- V d, ghi gi tr PORT 9999(DEC) = 0x270F
HEADER LEN CMD DATA
0xBA
0x03 0x91 0x27 0x0F
Khi ng li , ly cu hnh mc nh
HEADER LEN CMD
0xBA
0x01 cmd
- cmd:
0x12: Khi ng li
0x13: Ly li cu hnh mc nh
5. ng dng U2E
- Hai U2E kt ni vi nhau qua mng LAN, ch Cu ni Serial
U2E_A, Socket Type Client
Date:
12/14/2009
Pages:
15/25
Date:
12/14/2009
Pages:
16/25
Figure 12 This U2E_B running like TCP Server and listen in its IP Address is 192.168.1.55
Date:
Pages:
12/14/2009
17/25
6. Mt s ng dng khc
a) ng dng trong gim st iu khin
Gi s chng ta cn mt h thng gim st v iu khin, h thng ny hot ng vi
kh nng cp nht d liu v iu khin lin tc. Thng tin thu thp c c th truy cp t
nhiu hng, nhiu kt ni. M hnh ca n nh sau.
Mi mt U2E s l mt TCP Client, kt ni n Server v truyn/nhn tt c nhng
thng tin t Thit b gim st/iu khin n Server.
Mi my tnh PC c th kt ni vi Server thng qua bt k giao thc no, HTTP, TCP,
Telnet iu khin qu trnh, monitor h thng
.
Date:
12/14/2009
Pages:
18/25
Date:
Pages:
12/14/2009
19/25
Date:
Pages:
12/14/2009
20/25
7. Mch v d
Figure 17 Kt ni vi PIC16F887
Date:
12/14/2009
Pages:
21/25
9. Phin bn
Phin bn hin ti U2E Rev.02, nhng thay i nh sau:
+ Cu hnh thng qua UART bng frame d liu nh ngha nh trn
+ Chn s 1 CFG ch c 1 chc nng duy nht vo mode cu hnh
Date:
Pages:
12/14/2009
22/25
10.
#include<htc.h>
__CONFIG(HS & WDTDIS & UNPROTECT & LVPDIS & BORDIS);
// Clock 20Mhz
#define
#define
#define
char
void
void
char
char
char
U2ESTAT
U2ECFG
U2ERESET
RB1
RB0
RB2
getch();
putch(char c);
PutFrame(const char *f);
GetFrame(char *f);
IsU2EConfig();
FrmRecv[48];
Date:
Pages:
12/14/2009
23/25
void main() {
char c;
/* Hardware initialization */
TRISC6 = 0;
TRISC7 = 1;
TRISB = 0;
TRISB1 = 1;
ANSEL = 0;
ANSELH = 0;
// UART TX pin
// UART RX pin
// PORTB Output
// And config only RB2 as input
//All PIN as Digital IO
SYNC=0;
SPEN=1;
CREN=1;
SREN=0;
//asynchronous
//enable serial port pins
//enable reception
//no effect
TX9=0;
RX9=0;
TXEN=0;
TXEN=1;
BRG16 = 1;
BRGH = 1;
SPBRG = 3;
SPBRGH = 1;
RCIF = 0;
RCIE = 0;
PEIE = 0;
GIE = 0;
//8-bit transmission
//8-bit reception
//reset transmitter
//enable the transmitter
//High speed baudrate
//19200
//Clear RX Flag
//Disable interrupts
U2ECFG = 1;
U2ERESET = 1;
will load U2E default setting)
_delay(100000);
PutFrame(SaveReboot);
_delay(10000);
Date:
12/14/2009
Pages:
24/25
Date:
12/14/2009
Pages:
25/25
*(f+i) = getch();
}
ret = 1;
gState = 0;
break;
}
return ret;
}
char IsU2EConfig() {
unsigned char i;
/**********************************************/
//Read U2E Socket Type
FrmRecv[0] = 0xFF;
while(FrmRecv[0] != 0x00) {
PutFrame(ReadU2EServ);
//Read Response Frame with Status
while(!GetFrame(FrmRecv));
}
//check if Socket Type Server, break
if(FrmRecv[1]) return 0;
/**********************************************/
//Read U2E Socket Type
FrmRecv[0] = 0xFF;
while(FrmRecv[0] != 0x00) {
PutFrame(ReadU2ERemoteServ);
//Read Response Frame with Status
while(!GetFrame(FrmRecv));
}
for(i=1; i<13; i++) {
if(FrmRecv[i] != FrmU2ERemoteServ[i+2]) return 0;
}
/**********************************************/
FrmRecv[0] = 0xFF;
while(FrmRecv[0] != 0x00) {
PutFrame(ReadU2ERemotePort);
//Read Response Frame with Status
while(!GetFrame(FrmRecv));
}
if(FrmRecv[1] != 0x27 || FrmRecv[2] != 0x0F) return 0;
return 1;
}