PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   PIC - Thiết kế và Ứng dụng (http://www.picvietnam.com/forum/forumdisplay.php?f=23)
-   -   SIM908 GSM/GPRS + GPS Module (http://www.picvietnam.com/forum/showthread.php?t=13608)

longtu 17-06-2012 07:24 PM

Giai thich DeleteSMS()
 
Code:

Void deleteSMS()
{
    InitBuffCom2();  //Reset receive buffSMS
    SetSearchString( OK_ );  //Nếu Delete SMS thành công, sẽ nhận được xác nhận "OK"
    fprintf(COM_GSM,"AT+CMGD=1\r"); //Lệnh AT xóa tin nhắn tại index 1.
    EnableReceivSMS();  //Cho phép nhận xác nhận từ SIM module.
    if( Check_acknowledge() > 0 )  //Acknowledge = "OK"
    {         
      return;
    }
    else                          //Acknowledge != "OK"
    {
      fprintf(COM_GPS,"ERROR: No Ack!\r\n");
      return;
    }
}


longtu 17-06-2012 07:33 PM

Xử lý tin nhăn mới.
 
Code:

while(1)
  {
      if( rx_ack )
      {
      //Xu ly tin nhan moi.
      InitBuffCom2();
      SetSearchString( CMTI_ );  //Waiting the new SMS message.
      EnableReceivSMS(); //Ready to receive the new SMS message.
      }
  }

Khi đọc tin nhắn mới tại index, các bạn nhận được data như ví dụ sau:
+CMGR: "REC UNREAD","+849xxxxxxxx","","12/05/07,23:53:49+28"\r\n
<nội dung tin nhắn>\r\n
OK\r\n

Như vậy, trong đoạn chương trình "Xử lý tin nhắn mới" các bạn chú ý sau:
- Nếu đọc thành công sẽ nhận được xác nhận: "OK".
- Dựa vào chú ý này các bạn nhận biết được việc đọc tin nhắn có thành công hay không.
- Dựa vào symbol (") để tách nội dung tin nhắn nhận được:
+ Dấu (") thứ 2 tới thứ 3: Số điện thoại gửi tin nhắn.
+ Dấu (") thứ 6 tới thứ 7: Date và time.
+ Dấu (") thứ 7 + 3 ký tự là đến: <nội dung tin nhắn>

Tôi chỉ gợi ý như vậy, các bạn tự viết code để thực hiện việc xử lý tin nhắn mới.

Thân,

hieuthai2011 19-06-2012 04:25 PM

bài viết của a long tử rất hay !!!
A ơi a có thể viết code lọc 1 vài ký tự cho mọi người xem được ko vậy !! e chưa hiểu mấy ý tưởng của a lắm mong được trợ giúp học hỏi rât nhiều !!!!hjhj

tienchuan 26-06-2012 11:31 AM

Trích:

Nguyên văn bởi hieuthai2011 (Post 72007)
bài viết của a long tử rất hay !!!
A ơi a có thể viết code lọc 1 vài ký tự cho mọi người xem được ko vậy !! e chưa hiểu mấy ý tưởng của a lắm mong được trợ giúp học hỏi rât nhiều !!!!hjhj

thnks a ấy bằng cách nhấn cảm ơn nhé các bạn :)

FUD84 28-06-2012 01:42 PM

bác longtu viết rất hay và bổ ích. Bác cho mình hỏi bác mua con battery Li-ion 3.7V 1100mA ở đâu, và cái battery holder nữa?, mà nó tích hợp cả circuit protection luôn hả bác?. Cảm ơn bác rất nhiều.

longtu 28-06-2012 02:33 PM

Trích:

Nguyên văn bởi FUD84 (Post 74828)
bác longtu viết rất hay và bổ ích. Bác cho mình hỏi bác mua con battery Li-ion 3.7V 1100mA ở đâu, và cái battery holder nữa?, mà nó tích hợp cả circuit protection luôn hả bác?. Cảm ơn bác rất nhiều.

Địa chỉ mua Battery: http://thegioipin.com.vn . Thực tế tôi sử dụng loại Polymer 3.7V 1100mA hoặc 1500mA. Nó có chừ 2 đầu ra, về chỉ việc lấy dây điện hàn vào 2 đầu ra này là sử dụng thôi.

Các bạn có thể sử dụng loại khác, Lion- battery chẳng hạn. Hơn nữa, nếu bạn cần người ta bấm lá thép để hàn trực tiếp lên PCB, người ta cũng bấm cho đấy chỉ việc thêm phí cho việc này.

Mạch protect: Bên trong Sim908 có mạch này(thông tin tôi đọc từ tài liệu Sim908).

Thân,

FUD84 30-06-2012 12:05 PM

Bác Tuân cho mình hỏi, pin bác mua có luôn đầu ra battery temperature để kết nối với chân TBAT của SIM908?.
Cảm ơn bác.

longtu 30-06-2012 03:44 PM

Trích:

Nguyên văn bởi FUD84 (Post 75548)
Bác Tuân cho mình hỏi, pin bác mua có luôn đầu ra battery temperature để kết nối với chân TBAT của SIM908?.
Cảm ơn bác.

Đã trả lời với bạn là battery tôi dùng chỉ chừa 2 đầu ra, chi việc hàn 2 dây vào là sử dụng rồi mà. Điều này có nghĩa là không có dây thứ 3 chân TEMP.

Thân,

tienchuan 30-06-2012 06:03 PM

Trích:

Nguyên văn bởi mrdongus (Post 55414)
Anh cho hỏi em. Em đã kết nối với sim908 evb kit này bằng hyperterminal như trên và chỉnh các thông số baud rate... như hướng dẫn của nhà sản xuất nhưng khi gõ chữ "at" và enter thì không hề thấy xuất hiện "OK". Như vậy PC chưa kết nối được với chip sim908 phải không anh ? Có cách nào khắc phục không anh ? Thanks

bạn ơi, cho mình hỏi là bạn mua cái KIT sim 908 ở đâu với giá của nó là bao nhiêu vậy ?
cảm ơn nhé. :)

tienchuan 04-07-2012 09:35 AM

gởi ACE 1 link tham khảo bên diễn đàn TI, tuy viết cho Stellaris nhưng dự án của mấy bạn này thấy chia sẻ cũng khá đầy đủ, có cả code C chương trình nữa, nên gởi tạm vào đây để mọi người tham khảo thêm.
@ a Tuân : cho e gởi vào luồng của a nhé.thnks a.
Code:

http://www.diendanti.com/showthread.php?263-Chia-s%E1%BA%BB-d%E1%BB%B1-%C3%A1n-Stellaris-GPS-v%E1%BB%9Bi-SIM908-giao-ti%E1%BA%BFp-th%E1%BA%BB-nh%E1%BB%9B-v%C3%A0-GUI-Google-Earth&p=888#post888

longtu 05-07-2012 09:26 AM

Có bạn email hỏi tôi như sau:
Trích:

bạn có thể cho mình xin cái hướng dẫn sử dụng modul sim908 được không?
Tôi trả lời các bạn như sau:
- Đây là một số lệnh/các bước để bắt đầu làm việc với Sim908:
Chú ý: Lắp SIM vào nhé.
1. Test Commands:
AT Command Description
AT Check communication between the module and PC/Microcontroller.
ATD<Caller Phone Number>; Call to phone number. Ex: ATD0988434887;
ATDL Reial last telephone number.
ATI Display Product Identification Information. Ex: Return:SIM900 R11.0
AT&V Display Current Configuration.
AT+GSV Display Product Identification Information. Ex: SIMCOM_Ltd - SIMCOM_SIM908 - Revision:1137B02SIM908M64_ST
AT+CSQ Signal Quality Report.Ex: +CSQ: 28,0 (<99 Signal is good)
AT+CPIN? Check Sim status. Ex: +CPIN: READY
AT+IPR? Check(Test/Set/Read) Baud rate. Ex: +IPR: 0(Auto_bauding)
AT+CSCA? SMS Service Center Address. Ex: +CSCA: "+84980200030",145
AT+CMTE? Read the temperature when the module is running. Ex: +CMTE: 0,38
AT+CGREG? Network Registration Status. Return: +CREG: 1,1 - Enable Network and Registed.
AT+CGMI Get manufacturer information. Ex: SIMCOM_Ltd
AT+CGMR Get software version. Ex: Revision:1137B02SIM908M64_ST
AT+CGSN Get device IMEI. 861001000034104
AT+COPS? Display the current network operation: +COPS: 0,0,"VNM and VIETTEL"

Trên đây là 1 số lệnh để các bạn Test việc giao tiếp giữa PC/Microcontroller với SIM908.

2. Configuration Command:
* These AT Command will be used in the first times to configuration for SIM908.
1. ATZ Reset default configuration.
2 Echo:
- ATE0 Echo Off. //Nếu muốn tắt Echo
- ATE1 Echo ON.//Nếu muốn mở Echo
3. AT+CLIP=1 Enable display phone number of calling.
4. AT&W Save Active(ATE0 and AT+CLIP=1) Profile.
5. AT+CMGF=1 SMS Text Mode.
6. New message indication:
- AT+CNMI=1,1,0,0,0 New message indication enable and select SIM memory storage.
Return only: +CMTI: "SM",<index>(+CMTI: "SM",1)
Or:
- AT+CNMI=2,0,0,0,0 New message indication enable and select SIM memory storage.
Return:+CMT: "+84988434887","","12/04/21,17:00:26+28"[Noi dung tin nhan]

7.AT+CSAS Save SMS Setting.

Thân,

p_zeus 10-07-2012 03:49 PM

các bạn cho mình hỏi sao con sim908 của mình no chạy nóng kinh khung tầm 70 độ. liệu có vấn đề ji không, mình chạy cả GPRS và GPS có ai gặp trường hợp như mình không?

canhcongphale 15-07-2012 10:11 PM

chào mọi người , cho mình moaooyj câu hỏi nhỏ con sim908 của mình đang chạy thi bông nhiên không nhận sim nưa nó chạy như thể mình không gắn sim vào vậy. có biets cách khắc phục không. phen này chăt mất toi con Sim

canhcongphale 15-07-2012 10:20 PM

lỗi khi update firmware
 
1 Attachment(s)
làm liều thử update firmware cho con sim nhưng lại bị lỗi như hình sau

danhdung18 17-07-2012 11:53 AM

có ai cải tiến cái nút bấm vào power key chưa.Mình nghĩ nếu cải tiến được thì rất tốt

semipower 30-07-2012 12:10 PM

Trích:

Nguyên văn bởi dangkhoa1011 (Post 64652)
hi ,em mới giao tiếp mới máy tính qua HyperTerminal thôi ,nhưng chưa gửi được tin nhắn ,nên anh trả lời em không hiểu lắm ^^"
em gõ lệnh AT
>at+cmgs="0945302248"
sau đó nhấn Enter thôi ,
gõ nội dung ,sau đó nhấn Esc ,nó trả về OK ,nhưng không gửi được !

Trong dòng "0945302248" bạn phải gõ theo thứ tự từ trái sang phải. Có thể bạn đã gõ 2 dấu "" trước, rồi quay lại gõ 0945302248 chăng?

dangkhoa1011 02-08-2012 12:06 PM

à mình gửi được rồi ,trước tiên phải dùng lệnh reset cài đặt tin nhắn AT+CRES ,
sau đó là cài đặt trung tâm tin nhắn AT+CSCA="+84980200030" viettel

dinale 07-08-2012 01:43 AM

con sim908 của e nhận lệnh AT đầu tiên thì trả về đúng, còn tất cả các lệnh tiếp theo đều bị lỗi ( trả về kí tự lạ). Nghĩa là sau khi power on chỉ nhận được đúng 1 lệnh AT, muốn gửi tiếp thì phải tắt đi rồi bật lại. Không biết phải cấu hình ban đầu như thế nào để nhận được nhiều lệnh AT nhỉ? E set baudrate 115200bps

kiemkhach10 10-08-2012 06:19 PM

Trích:

Nguyên văn bởi dangkhoa1011 (Post 76777)
à mình gửi được rồi ,trước tiên phải dùng lệnh reset cài đặt tin nhắn AT+CRES ,
sau đó là cài đặt trung tâm tin nhắn AT+CSCA="+84980200030" viettel

cài đặt cho sim gắn vào modul đó à bạn?
mình dùng sim vina thì cài đặt như nào?

mình cũng đang test modul với PC mà sao lại lỗi như này nhỉ?

at
OK
at+cmgs="+84986661176"
> hello
>
+CMS ERROR: 515

lỗi này là lỗi gì hả các bạn?
thank!

quocloc.pham 26-09-2012 10:24 AM

@canhcongphale Bạn thử giảm tốc độ baud và chắc rằng trong quá trình update thì tiếp xúc và nguồn của nó vẫn ok

Grjm 18-10-2012 06:45 PM

hix may quá.tìm được 2pic này như vớ đc vàng ý ToT. Em đang mày mò tìm hiểu con này để làm luận văn. Nghe bảo vẽ trên orcad sẽ dễ hơn nên đang tập vẽ orcad. Nhưng mak em tìm hoài lại ko có Sim908 trong Library ( em tập vẽ Schematic vì nghe nói chuyển wa Layout dễ hơn ). Ai có Library con Sim908 phần Capture cho em xin. Thx mọi người rất nhiều

vxd_gtvt_mylove 18-10-2012 11:00 PM

em chao a.!! em chua hiểu về cái sim 908 nay lắm.a có thể chi qua cho em sơ sơ về chức năng cơ bản của nó ko ạ?!!cảm ơn a nhiều!!

longtu 19-10-2012 09:18 AM

Sim Holder Footprint
 
Có bạn hỏi tôi footprint cho Sim holder. Tôi post lên đây để các bạn khác nếu cần.

http://www.mediafire.com/?cyty1h5j2i3zyb3

Thân,

vagabondpic 24-10-2012 02:57 AM

Trích:

Nguyên văn bởi mrdongus (Post 55414)
Anh cho hỏi em. Em đã kết nối với sim908 evb kit này bằng hyperterminal như trên và chỉnh các thông số baud rate... như hướng dẫn của nhà sản xuất nhưng khi gõ chữ "at" và enter thì không hề thấy xuất hiện "OK". Như vậy PC chưa kết nối được với chip sim908 phải không anh ? Có cách nào khắc phục không anh ? Thanks

Của mình cũng bị hiện tượng hệt như này:
Mình đã kiểm tra kết nối COM bắn lên xuống, đèn status của SIM đều OK.
Khi bắn xuống SIM908 thì thấy có led ở chân RX của SIM sáng chứng tỏ đã bắn đc xuống.
Nhưng không thấy dữ liệu đc bắn lên.
Pro nào giúp mình với.

Thanks!!

nguyenhuutien 08-11-2012 08:29 PM

chào anh, chủ đề GPS của là chủ đề rất hot hiện nay, cảm ơn anh vì đã tạo ra luồng này, em thấy rất thích thú và có nhiều ý tưởng cho lĩnh vực này. Bây giờ em củng đang nghiên cứu lĩnh vực này, em thấy trong datasheet sim908 khi giao tiếp GSM_Tx,GSM_Rx với pic thif người ta giao tiếp trực tiếp luôn chư kkhoong cần qua cầu phân áp như anh nói. cũng như anh nói giao tiếp GPS_Tx,GPS_Rx với máy tính thông qua con max232 dùng để update firmware, nên theo em nghĩ mình chỉ cần dùng loại pic co 1 bộ UART là đủ rồi.

kiemkhach10 24-11-2012 05:19 PM

Các bạn cho Minh hỏi chút.với sim 900 gì cứ cấp nguồn đầy đủ thì đèn status sẽ sáng phải ko?
Nếu cấp nguồn mà đèn status ko sáng thì do nguyên nhân gì?
Cám ơn các bạn!

pucapuca123 26-11-2012 11:12 AM

tìm ra nguyên nhân rùi. mới đầu phải để chân pwkey xuống mức 0 thì đèn status sáng và netnight nhấp nháy. nhưng sao mình đợi mãi vẫn ko thấy sim tìm được mạng nhỉ( đèn netnight nháy nhanh lắm chứ ko chậm lại )

pucapuca123 26-11-2012 11:13 AM

Trích:

Nguyên văn bởi kiemkhach10 (Post 79553)
Các bạn cho Minh hỏi chút.với sim 900 gì cứ cấp nguồn đầy đủ thì đèn status sẽ sáng phải ko?
Nếu cấp nguồn mà đèn status ko sáng thì do nguyên nhân gì?
Cám ơn các bạn!

Mới đầu phải để chân pwkey xuống mức 0 thì đèn status sáng và netnight nhấp nháy. nhưng sao mình đợi mãi vẫn ko thấy sim tìm được mạng nhỉ( đèn netnight nháy nhanh lắm chứ ko chậm lại )

light_cell 07-12-2012 08:04 PM

Anh Tuân cho em hỏi
module SIM báo cho PIC biết là có tin nhắn bằng cách nào vậy?
ý em là PIC kết nối tới chân nào của module sim để nhận biết tín hiệu mà xử lý á.
cảm ơn anh!

longtu 07-12-2012 09:59 PM

Trích:

Nguyên văn bởi light_cell (Post 79884)
Anh Tuân cho em hỏi
module SIM báo cho PIC biết là có tin nhắn bằng cách nào vậy?
ý em là PIC kết nối tới chân nào của module sim để nhận biết tín hiệu mà xử lý á.
cảm ơn anh!

Bạn và nhiều người khác nữa không chụi đọc từ đầu bài viết của tôi. Các thông tin này tôi đã nói kỹ trong các bài viết của mình:

Câu hỏi của bạn thì đọc ở đây: http://www.picvietnam.com/forum/show...8&postcount=40
////////////////////////////////////////////////////////////////////////////////////////////////////
- Đâu tiên, các bạn phải cấu hình/thiết lập nhận tin nhắn:
AT+CNMI=1,1,0,0,0 New message indication enable.
Khi đó, mỗi lần có tin nhắn mới sẽ nhận được chuỗi data qua ngắt UART như sau:
+CMTI: "SM",<index>\r\n
Chú ý:
1. Luôn bắt đầu bằng chuỗi: "+CMTI"
2. Luôn kết thúc bằng: \r\n
==>Dựa vao 1 va 2 để biết ĐÚNG là tin nhắn tới và loại bỏ những data không đúng là tin nhắn...
1 cd2ff
///////////////////////////////////////////////////////////////////////////////////////////////////

nguyenhuutien 08-12-2012 08:43 AM

chào anh longtu thấy lâu lắm rồi mới thấy anh lên diễn đàn,không biết anh đã làm xong module sim908 chưa? anh có thể cho em xin sơ đồ chân simcard trong layout được không.

light_cell 08-12-2012 12:11 PM

Trích:

Nguyên văn bởi longtu (Post 79886)
Bạn và nhiều người khác nữa không chụi đọc từ đầu bài viết của tôi. Các thông tin này tôi đã nói kỹ trong các bài viết của mình:

Câu hỏi của bạn thì đọc ở đây: http://www.picvietnam.com/forum/show...8&postcount=40
////////////////////////////////////////////////////////////////////////////////////////////////////
- Đâu tiên, các bạn phải cấu hình/thiết lập nhận tin nhắn:
AT+CNMI=1,1,0,0,0 New message indication enable.
Khi đó, mỗi lần có tin nhắn mới sẽ nhận được chuỗi data qua ngắt UART như sau:
+CMTI: "SM",<index>\r\n
Chú ý:
1. Luôn bắt đầu bằng chuỗi: "+CMTI"
2. Luôn kết thúc bằng: \r\n
==>Dựa vao 1 va 2 để biết ĐÚNG là tin nhắn tới và loại bỏ những data không đúng là tin nhắn...
1 cd2ff
///////////////////////////////////////////////////////////////////////////////////////////////////

Cảm ơn anh đã trả lời, giúp em hiểu hiểu nhiều tý rồi.:
em đọc tài liệu, nhà sản xuất nói khi module sim chưa khởi động xong thì tuyệt đối không sử dụng UART. vậy khi khởi động module sim delay 1 thời gian rồi bắt đầu gửi mã: "AT+CNMI=1,1,0,0,0" xuống module sim đúng không anh?
rồi khi có tín hiệu ngắt khi có tin nhắn thì pic thực hiện việc đọc và xử lý tin nhắn?
anh giúp em giải thích tý nữa nhé!

mrtamtran 16-01-2013 04:04 PM

TUYỆT VỜI !
Em cảm ơn anh longtu ! Diễn đàn rất cần những người như anh ! ^_^

digan 19-02-2013 05:48 PM

anh có thể port toàn bộ code gửi dữ liệu từ vi điều khiển lên sim908 để module gửi đến một số ĐT bất kỳ không

longtu 20-02-2013 01:35 PM

Trích:

Nguyên văn bởi nguyenhuutien (Post 79894)
chào anh longtu thấy lâu lắm rồi mới thấy anh lên diễn đàn,không biết anh đã làm xong module sim908 chưa? anh có thể cho em xin sơ đồ chân simcard trong layout được không.

Tiền tiem trong luồng nay, tôi dã post schematic co hình anh của sơ đồ chan Simcard và chân hàn của Simcard rồi. Ngay cả chan hàn cua Sim 908 cung có.

Thân,

longtu 20-02-2013 01:41 PM

Trích:

Nguyên văn bởi light_cell (Post 79899)
Cảm ơn anh đã trả lời, giúp em hiểu hiểu nhiều tý rồi.:
em đọc tài liệu, nhà sản xuất nói khi module sim chưa khởi động xong thì tuyệt đối không sử dụng UART. vậy khi khởi động module sim delay 1 thời gian rồi bắt đầu gửi mã: "AT+CNMI=1,1,0,0,0" xuống module sim đúng không anh?
rồi khi có tín hiệu ngắt khi có tin nhắn thì pic thực hiện việc đọc và xử lý tin nhắn?
anh giúp em giải thích tý nữa nhé!

Khi cấp nguồn cho Sim908 xong, bạn phải điều khiển chân Status để cho Sim bắt đầu hoạt động. Bạn nên thao khảo cách kết nối 1 led và chân status này như sơ đồ của tôi dã post lên đây. Khi đó chỉ cần quan sát Led này và led ở chân Netlight...

Tuy nhiên, để cho chặt chẽ và kiểm soát tốt, trong firmware, ngay đầu chương trình bạn nên làm từng bước như sau:
Ví dụ:
1. Kiểm tra giao tiếp giửa MCU và SIm908 đã tốt hay chưa? Nếu tốt thì sẽ trả về OK, ngược lại thì Error.
2. Nếu nhận được trả lời OK ở bước trước thì mới thực hiện bước 2 này, ví dụ kiểm tra tình trạng SIM...

Thân,

longtu 20-02-2013 01:46 PM

Trích:

Nguyên văn bởi digan (Post 80825)
anh có thể port toàn bộ code gửi dữ liệu từ vi điều khiển lên sim908 để module gửi đến một số ĐT bất kỳ không

Câu trả lời là không. Không phải vì tôi tiết hay muốn dấu diếm gì cả mà vì các lý do nhu sau:
1. Tôi đã trình bày các cách viết Firmware cụ thể cho từng việc như nhận SMS, gửi SMS, Kiểm tra xác nhận...rồi. Bạn chỉ cần tham khảo và sửa lại thành của mình.
2. Mỗi người có cách viết khác nhau, chỉ cần hiểu các ý chính bạn có thể tự viết được. Nhưng nếu tôi post toàn bộ lên có thể làm nhiều bạn "mờ mắt", không hiểu và không đúng trọng tâm...
3. Các bạn phải tự mình vận động, hãy biến gợi ý của tôi thành cái của bạn...

Thân,

pucapuca123 10-03-2013 11:36 PM

các bạn cho mình hỏi các reset cho modul sim với. vì mạch mình làm cứ chạy được một ngày là lại treo ko nhận được tin nhắn nữa,mình nghĩ là do modul sim bị treo nên chỉ cần reset lại modul là sẽ chạy đươc
thank mọi người!

newmoon 14-03-2013 06:05 PM

Chào anh longtu và các bạn trên diễn đàn. Mạch sim908 em thiết kế khi cắm nguồn vào status sáng bình thường, letnight chớp tắt liên tục nhưng module ko nhận sim. Em đo nguồn cấp cho sim từ chân 20 thì không có điện áp. Xử ý lỗi này như thế nào ạ. Thanks mọi người.

hoangsangbk09 08-04-2013 12:18 AM

chào các anh (chị), em đang làm đồ án thiết kế thiết bị GPS cầm tay. em định chọn modul sim908 và kit MSP-EXP430G2 không biết là có ổn không? vì con này chỉ có 1 bộ uart.xin cảm ơn các anh (chị).


Múi giờ GMT. Hiện tại là 09:12 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam